In the previous post, we mentioned that one of the most challenges that face any robot in the real world is the uncertainty. So in this post we will try to go deeper in this problem and try to propose an introduction to a powerful solution called “Probabilistic Robotics”.
Can anyone answer the question mentioned in the title, “Why a Robot should study Probability?” The answer is very obvious: The Robot has an exam tomorrow 🙂 . I’m kidding of course not, In order to answer this question we have first to talk about the classical usual approach for robotics systems and why we cannot use it to solve the uncertainty problem.
The designer of the robot has his own human conception of the environment. This conception may be expressed in very abstract terms using analytic, geometric and symbolic descriptions:
- Analytic functions to encode the laws of physics
- Geometric language to describe the shapes of the objects and their positions and movements in the 3 dimensions space.
- Symbolic notation to name objects and concepts.
The programmer, in some sense, imposes his own model of the environment to the robot when using these terms in his programs, (see Figure 1). Everything is fine with this approach as long as the environment is not too complex. For instance, in the field of industrial robotic, the environment of the robot may be controlled and kept simple enough to build model using this kind of descriptions.
By “autonomous robotics” we mean precisely, cases where the environment may not be constrained. In these cases the classical technique just described run into some very serious troubles. The principal difficulty is a very classical artificial intelligence issue known as the “symbol grounding” problem. The robot has to bridge the gap between the raw signals coming from its sensors and the abstract model used in its programs.
In practice, it means that the robot should be able to reason using uncertain knowledge (Noisy Sensors) and using incomplete knowledge.
The basic idea is to invert the process by which the programmer imposes his conception of the environment to the robot. We want the robot to build its own “internal representations” of the environment and to propose these “models” to the programmer as the basic programming tools (see Figure 2).
To reach this new robotics approach to solve the uncertainty problem, we can rely on the “Probability as logic” theorem. By inference we mean simply: deductive reasoning whenever enough information is at hand to permit it; inductive or probabilistic reasoning when – as is almost invariably the case in real problems – all the necessary information is not available. Thus the topic of “Probability as Logic” is the optimal processing of uncertain and incomplete knowledge.
So, What is Probabilistic robotics ?
Probabilistic robotics is a new approach to robotics that pays tribute to the uncertainty in robot perception and action. The key idea of probabilistic robotics is to represent uncertainty explicitly, using the calculus of probability theory. Put differently, instead of relying on a single “best guess” as to what might be the case in the world; probabilistic algorithms represent information by probability distributions over a whole space of possible hypotheses. By doing so, they can represent ambiguity and degree of belief in a mathematically sound way, enabling them to accommodate all sources of uncertainty mentioned in this post. Moreover, by basing control decisions on probabilistic information, these algorithms degrade nicely in the face of the various sources of uncertainty described above, leading to new solutions to hard robotics problems.
For Example:- Localization Problem
Let us illustrate the probabilistic approach with a motivating example: mobile robot localization. Localization is the problem of estimating a robot’s coordinates in an external reference frame from sensor data, using a map of the environment. The specific localization problem studied here is known as global localization, where a robot is placed somewhere in the environment and has to localize itself from scratch. In the probabilistic paradigm, the robot’s momentary estimate (also called belief) is represented by a probability density function over the space of all locations. This is illustrated in the first diagram in the below figure, which shows a uniform distribution (the prior) that corresponds to maximum uncertainty. Suppose the robot takes a first sensor measurement and observes that it is next to a door. The resulting belief, shown in the second diagram in the below figure, places high probability at places next to doors and low probability elsewhere. Notice that this distribution possesses three peaks, each corresponding to one of the (indistinguishable) doors in the environment. Furthermore, the resulting distribution assigns high probability to three distinct locations, illustrating that the probabilistic framework can handle multiple, conflicting hypotheses that naturally arise in ambiguous situations. Finally, even non-door locations possess non-zero probability. This is accounted by the uncertainty inherent in sensing: With a small, non-zero probability, the robot might err and actually not be next to a door. Now suppose the robot moves. The third diagram in the below figure shows the effect of robot motion on its belief, assuming that the robot moved as indicated. The belief is shifted in the direction of motion. It is also smoothed, to account for the inherent uncertainty in robot motion. Finally, the fourth and last diagram in the below figure depicts the belief after observing another door. This observation leads our algorithm to place most of the probability mass on a location near one of the doors, and the robot is now quite confident as to where it is.
- Representing Robot/Environment Interactions Using Probabilities: the “Beam in the Bin” Experiment – Pierre BESSIÈRE, Eric DEDIEU & Emmanuel MAZER – 1994
- Probabilistic Robotics — Sebastian Thrun
- Markov localization