Probabilistic Robotics

Why a Robot should study Probability ?

Posted on Updated on

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.

 We can use the Markov Property to model the localization problem.Markov localization addresses the problem of state estimation from sensor data.
Markov localization is a probabilistic algorithm: Instead of maintaining a single hypothesis as to where in the world a robot might be, Markov localization maintains a probability distribution over the space of all such hypotheses. The probabilistic representation allows it to weigh these different hypotheses in a mathematically sound way.
This Markov representation is based on the famous¬†probability¬†theorem “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.
Bayes Rule

Reference

Advertisements

Uncertainty In Robotics

Posted on

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:

  1. 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:
      1. Range and  resolution of the sensor.
      2. 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.
  • 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:

Probabilistic¬†Robotics — Sebastian Thrun