Sensing & estimation
The ability to use sensors to “understand” the environment, and to adapt to changes in that environment, is, by definition, mandatory for any “intelligent” robotic system. Over the years, a (relatively limited) number of sensors have become “standard” in robotics applications. Their physical principles are explained elsewhere, while this chapter describes how the sensors are applied in robotics applications. So, the bulk of this chapter is about sensor processing algorithms, and not on the sensor hardware. That sensor processing reduces, to a large extent, to estimation of the structure and the parameters in the world and interaction models used in the robot controller.
Every model-based sensor processing is prone to so-called brittleness: the outcome of the processing algorithm only makes sense as long as all assumptions behind the model are satisfied. As soon as the sensor inputs come from a situation that was not foreseen in the model, the outcome of the sensor processing can become dangerously misleading. So, a really intelligent sensor processing system is able to detect when the world is acting “outside of” the models. An alternative (pragmatic but not “intelligent”) approach is to use only robust sensor processing: its outcome is useful and safe, regardless of the interactions with the world.
One identifies the following major sensing and estimation categories:
-
Motion estimation. This involves both the sensing of the robot's own motion (i.e., the motions allowed by its kinematics), and the motion of objects in the environment. Because these two types of motions have very different types of models, also the sensors and sensor processing algorithms used to estimate those motions are very different. But, basically, the sensor processing boils down to some sort of “parameter estimation” within the given mathematical model. (This includes the use of “implicit” models such as neural networks.)
-
Localization and recognition. This sensing and estimation activity is complementary to motion estimation: after separating the “moving” objects from the “stationary” objects, the robot should find out where exactly it is positioned with respect to the static objects. Basically, this corresponds to a “pattern recognition” type of sensor processing: which combination of available modelling primitives fits best to what the sensors can “see”.
-
Model and map building. This is one step further in the “hierarchy” of robot controllers: when the controller is able to estimate motion and to localize itself within its environment, it can start to make a map of that environment by itself, based on an (possibly implicitly) given set of map building primitives.
-
Interaction estimation.
-
Human intent estimation.
-
Task sequencing monitoring.