Motion Planning with Uncertainty
Sources of Uncertainty
- Incompleteness of world model: E.g., one or several obstacles
are not part of the robot's model of the world.
E.g.: Mobile robot entering a new environment.
- Unaccurate world model: E.g., the location of an obstacle
is known within some tolerances.
E.g.: Mobile robot navigating in a familiar environment.
- Uncertainty in sensing: Sensed data are not accurate.
E.g.: Mobile robot localization, part mating in assembly.
- Uncertainty in control: The robot does not exactly follow
a commanded path.
E.g.: Mobile robot navigation, manipulator arm performing
operations requiring high precision.
Motion Planning with Incomplete Knowledge of Workspace
Approaches:
- Track obstacles' boundaries, Bug algorithms of [Lumelsky].
Reference:
Lumelsky. Algorithmic Issues of Sensor-Based Robot
Motion Planning. Proc. 26th Conf. on Decision and Control Los
Angeles, CA, pp. 1796-1801.
- Track steepest descent of a potential field with a
repulsive component derived from sensed obstacles [Khatib].
- Iterate sense/plan/execute [Chatila]
Motion Planning with Uncertainty in Control and Sensing
Motion command
Assume the robot is a point in the plane.
A motion command M consists of two parts:
- The control part, which specifies how the robot
should move, e.g., a commanded velocity v.
- The termination condition, which specifies when the motion
should stop. The termination condition is a boolean function
(predicate) of the elapsed time and the sensing history since the
beginning of the motion.
The execution of the command M leads the robot to move with a velocity
v' that is, at each time, slightly different of v (uncertainty in
control), both in orientation and in modulus.
Furthermore, during motion, sensing is imperfect. For example, at any
one time, the actual and measured positions of the robot may differ
slightly.
Motion planning problem
Given:
- An initial region I in which the robot is known to be
prior to executing a motion plan,
- A goal region G in which we want the robot to be when the
motion plan has been executed,
- Bounds on the control ans sensing errors,
Compute:
A motion plan (e.g., a sequence of motion commands) whose execution
guarantees that the robot starting from anywhere withing I will stop
in G (guaranteed plan).
A word on Terminology
Error: Difference between actual and commanded of sensed value.
Uncertainty: Distribution of errors.
We will assume that all errors are uniformly distributed over a closed
and bounded domain (e.g., an interval, a disc).
Subproblems of Planning with Uncertainty in Control and Sensing
- Identify a set of states relevant to the problem.
- Select motion commands to transit from states to states.
- Design termination conditions to recognize achievement of states.
All three subproblems interact. They cannot be solved in isolation.
Notion of a Preimage
The preimage of a goal G for a motion command M is a subset P
(ideally the largest) such that executing M from anywhere in P
guarantees that the robot will stop in G.
References:
Lozano-Perez, Mason, and Taylor. Automatic Synthesis of
Fine-Motion Strategies for Robots. Int'l J. of Robotics
Research, 3(1), 3-24, 1984.
Preimage Backchaining
Planning technique that consists of computing preimages of the goal
region G and, recursively, preimages of previously computed preimages,
until one preimage contains the initial region I.
Preimage backchaining raises the following computational isues:
- Computation of maximal preimages for given commanded velocities.
- Choice of commanded velocities.
- Generation of conditional plans.
Termination Condition
The size of a preimage depends on whether
the termination condition uses:
- Elapsed time, or not.
- Sensing history, or not.
and on whether its definition embeds knowledge of the initial state
(preimage itself) and final state.
Simple problem
(just to check your understanding!)
A robot represented by a point moves along a line, with imperfect
velocity control and imperfect position sensing.
Since the robot moves along a line, there is no uncertainty in the
direction of the velocity, but there is uncertainty e in the
velocity modulus, i.e., if |v| is the modulus of the commanded
velocity, the modulus of the actual velocity is at any time contained
in the interval [|v|-e,|v|+e].
The uncertainty on position sensing is d, i.e., if the robot
senses that it is at abscissa x along the line, it may actually
be anywhere in [|x|-d,|x|+d].
The goal is defined to be the interval [3,4].
Is the half-line x <= 4 a preimage of this goal?
If yes, what is the termination condition?
Answer
Preimage Computation: Kernel/Backprojection Approach
Principle: Break the dependence between the preimage
and the termination condition.
But ... the computed preimage is not the largest in general.
Two steps in the computation