# Probabilistic Robotics

### Why a Robot should study Probability ?

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 *

*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.

*probability distribution*over the space of all such hypotheses. The probabilistic representation allows it to weigh these different hypotheses in a mathematically sound way.

**Bayes Theorem**“(see the figure below) ,so in the next post we will talk more about this theorem and show how it is very powerful to solve the uncertainty localization problem.

## Reference

- 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

### Uncertainty In Robotics

# Scientific Definition

Assume that we want to make a scientific definition for word “ROBOTICS”, we can simply say:

Robotics is the Science of perceiving and manipulating the physical world through

computer-controlled mechanical devices.

**Robotics Systems Examples:**

- Arms that are used in assembly lines
- Autonomous vehicles
- Actuated arms that can assist surgeons
- Warrior Robots

Robotics Systems have in common that they are situated in the physical world, perceive their environments through sensors, and manipulate their environment through things that move.

hence, the main goal in building any robotics system is to develop a robust software that enables the robot to treat with the numerous challenges arising in unstructured and dynamic environments.

from this sense we got the concept of Uncertainty, this uncertainty comes from the lack of information available to the robot in order to make some task, there are five different factors that affect on the Uncertainty of robots:

- Environment
- from the above mentioned examples, the degree of uncertainty in assembly lines in very small as the environment is well-structured somehow, in contrast the autonomous vehicles on highways.

- Sensors
- Sensors are considered as the five senses of robots to collect information about the environment, there are two primary factors that affect on the limitations of sensors:
- Range and resolution of the sensor.
- The noise that affect on the measurements

- for example ultrasonic sensor, the measurements of ultrasonic are very poor in accuracy in contrast the accuracy of laser sensors.

- Sensors are considered as the five senses of robots to collect information about the environment, there are two primary factors that affect on the limitations of sensors:
- Robots
- Robot actuation involves motors that are, at least to some extent, unpredictable, due effects like control noise and wear-and-tear. Some actuators, such as heavy-duty industrial robot arms, are quite accurate. Others, like low-cost mobile robots, can be extremely inaccurate.

- Models:
- Models are inherently inaccurate. Models are abstractions of the real world. As such, they only partially model the underlying physical processes of the robot and its environment. Model errors are a source of uncertainty that has largely been ignored in robotics, despite the fact that most robotic models used in state-or-the-art robotics systems are rather crude.

- Computation:
- Robots are real-time systems, which limits the amount of computation that can be carried out. Many state-of-the-art algorithms are approximate, achieving timely response through sacrificing accuracy some of these algorithms are in the reference of the post.

References: