Professional Documents
Culture Documents
Motion Control For Mobile Robot PDF
Motion Control For Mobile Robot PDF
Maher Khatib
Laboratoire d'Automatique et d'Analyse des Systemes
LAAS-CNRS
7, Avenue du Colonel Roche
31077 Toulouse Cedex 4 - France
Contents
Introduction 1
I Collision-free movement 4
1 Collision-free movement 5
1.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
1.2 Reactive movement methods . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
1.2.1 Potential eld . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
1.2.2 Heuristic approaches . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
1.3 Task potentials . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
1.4 Potential methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
1.4.1 Potential wells . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
1.4.2 Repulsive force in
uence . . . . . . . . . . . . . . . . . . . . . . . . . . 11
1.4.3 Nonholonomic point robot . . . . . . . . . . . . . . . . . . . . . . . . . 12
1.5 Mobile robot command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
1.6 The \Rotational-Potential" . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
1.7 Collision-free navigation system . . . . . . . . . . . . . . . . . . . . . . . . . . 19
1.7.1 System denition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
1.7.2 Obstacles representation . . . . . . . . . . . . . . . . . . . . . . . . . . 19
1.7.3 Potential functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
1.7.4 Calculation of forces . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
1.7.5 Forces in movement . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
1.7.6 Local minima detection . . . . . . . . . . . . . . . . . . . . . . . . . . 25
1.8 Experimentations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
1.9 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
2 Collision-free path tracking 29
2.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
2.2 The problem's formalization . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
2.2.1 Action insertion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
i
Contents ii
II Sensor-based motion 46
3 Sensor-based actions 47
3.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
3.2 The \Task Potential" . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
3.3 From Task Potential to sensor-based action . . . . . . . . . . . . . . . . . . . . 50
3.3.1 Movement to contact . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
3.3.2 Parallelize . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
3.3.3 Wall follow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
3.4 Discussion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
4 Application to planning with uncertainty 71
4.0.1 Denition of the system SB CM . . . . . . . . . . . . . . . . . . . . . . . 72
4.0.2 SB CM system integration . . . . . . . . . . . . . . . . . . . . . . . . . . 77
4.1 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
ii
6.4.2 Stability . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112
6.5 Bubble band behavior examples . . . . . . . . . . . . . . . . . . . . . . . . . . 112
7 Bubble band execution 116
7.1 Approximation by Bezier Polynomials . . . . . . . . . . . . . . . . . . . . . . 116
7.2 Parameterization of Bezier Polynomials . . . . . . . . . . . . . . . . . . . . . 123
7.3 A proposed Execution Controller . . . . . . . . . . . . . . . . . . . . . . . . . 127
7.4 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131
Conclusion 133
Annexes 135
A Hilare2 architecture 136
A.1 Control architecture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136
A.2 Module notion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136
A.2.1 Generic module structure . . . . . . . . . . . . . . . . . . . . . . . . . 137
A.2.2 Communication . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137
A.2.3 Module generator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138
A.2.4 Module example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138
A.3 Functional architecture of Hilare2 . . . . . . . . . . . . . . . . . . . . . . . . . 140
B Perception 142
B.1 Ultrasonic sonars . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142
B.2 Segmentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143
B.3 Laser range nder . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145
C Stability 148
C.1 Control point stability . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148
C.2 Stability under a constant force . . . . . . . . . . . . . . . . . . . . . . . . . . 149
C.3 Forces to displacement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 150
References 152
List of Figures
1.1 Potential distribution example for an obstacle and a goal. . . . . . . . . . . . . . . . 6
1.2 Comparison between la classical potential method and the generalized potential method 7
1.3 Potential well. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
1.4 Passage near an obstacle. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
1.5 Control point. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
1.6 Rotational potential formulation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
1.7 Repulsive potential function distribution . . . . . . . . . . . . . . . . . . . . . . . . . 17
1.8 The norm of F . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
1.9 Rotational-Potential extension eect. . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
1.10 Rotational-Potential extension eect. . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
1.11 Avoidance system denition. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
1.12 Obstacles representation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
1.13 Rt Cam Attractive potential and force. . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
1.14 Dierent potential functions. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
1.15 Obstacle avoidance: eect of the dynamic adaptation of the clearing distance. . . . . 26
1.16 Obstacle avoidance: passage between two obstacles. . . . . . . . . . . . . . . . . . . . 26
1.17 Obstacle avoidance: rotational potential eect. . . . . . . . . . . . . . . . . . . . . . . 27
1.18 Obstacle avoidance: local minimum due to the re
ection of several ultrasonic echos. . 28
2.1 Architecture of Rt Pt Camsystem. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
2.2 Trajectory memorizing idea. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
2.3 The dierent states of the Rt Pt Camsystem. . . . . . . . . . . . . . . . . . . . . . . . . 34
2.4 The passage between the dierent states of the system Rt Pt Cam. . . . . . . . . . . . . 36
2.5 Virtual perception. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
2.6 Virtual measure. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
2.7 Example: virtual ultrasonic measures issued from bitmap calculus. . . . . . . . . . . . 39
2.8 Simulation: Virtual ultrasonic measures with(out) a detection cone. . . . . . . . . . . 40
2.9 Matching two segments.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
2.10 Evolution of the term oc . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
2.11 Obstacles avoidance during path tracking. . . . . . . . . . . . . . . . . . . . . . . . . 42
2.12 The eect of the dynamic modication of the clearing distance during path tracking. . 43
2.13 Path tracking: Leaving the Salle. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
2.14 Path tracking: Entering the Salle. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
iv
List of Figures v
v
List of Figures vi
vi
B.5 Laser range nder of Hilare2. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145
Introduction
Mobile robot autonomous navigation
Navigation is the most fundamental task of an autonomous mobile robot without which noth-
ing else may be accomplished. Navigation designs a set of operating systems permitting the
robot to reach a distant goal - which may be expressed in a diverse ways - and this indepen-
dently of the various situations which it may encounter. Even though these considerations
may seem trivial at rst hand, let us consider their implications.
Generally, a goal is not directly accessible or even identiable and navigation must be an
incremental process consisting of determining and joining appropriate intermediate goals in
order to converge towards its destination. This navigation in composed of several phases: In
function of its xed objective and the present diculties, the system must determine what
information it needs for the accomplishment of the task as well as the means of gathering
it (Active perception). An analysis of this perceptual data is then used to build a usable
environment model (Modeling). To be able to move, the robot and if possible the destination
should be localized in the environment model (Localization). It uses the some local (itera-
tive) or global approach to decide of the itinerary to take, the trajectory to follow and the
conditions to impose of the right accomplishment of the task in function of the environment
diculties (Motion planning). Only then can the robot accomplish its mission by executing
the commands corresponding to the planned motion. These commands are usually accom-
panied by sensor feedback on certain environment characteristics which may be provoked
by the sudden apparition of an obstacle and may require some modication of the nominal
plan of movement (Execution). Nevertheless, this modication must not violate the plan:
The execution must be permanently controlled and may induce a new iteration of the whole
process before even arriving at the rst intermediate goal. In order to avoid the costly reex-
aminations, the plan must present some execution
exibility and the execution must try to
adapt itself dynamically to local changes.
The articulation and the organization of these dierent phases was the object of numerous
studies. In this memory, we will be mostly interested in two of these phases and to the strong
interactions binding them: Motion planning and execution. The union of both procedures is
used to propose an answer to the general problem of collision-free motion generation.
This problem is (too) much studied in two separate directions motion planning and reac-
tive movement.
In a motion planning approach, the movement is totally planned and thus \xed" before
execution. The planning is based upon a model of the environment and of the robot. Its
most renowned advantage is its powerful ability of nding solutions in extremely complex
environments In fact, displacement in geometrically constrained or topologically complex
1
Introduction 2
environments may necessitate ne local planning while keeping in view the global context.
Nevertheless, this means predictions based on models which are only approximations and
on the behavior of the robot which could but be full of uncertainty and imprecision. Such
prediction leads inevitably to execution failure especially in the constrained environments
which justify a priori this approach: A planning independent of execution could never be
robust.
Inversely, reactive approaches, produce sure movement based on sensor data acquired
during execution. Thus, the system produces simple models enabling dynamic correction
and guaranteeing collision-free movement. Nevertheless, this limited environment perception
and local strategy does not guarantee the global accomplishment of the task even when a
path exists.
That is why solutions integrating both approaches has become a priority. This does
not mean a simple chaining of planning and execution which could only lead to repetitive
execution failure and thus to numerous iteration planning/execution. It also means a complete
reanalysis of the situation implying perception, modeling and localization to reset the context
and avoid the same error of execution (looping).
These several remarks give birth to a new problem of collision-free motion generation.
The role and properties of both planning and execution must be redened and communication
and shared information must be reexamined. This is context of the present work.
Memory organization
After an analysis of actions necessary for the execution and a formalization of actions based
on the notion of potential eld, we present three major approaches which satisfy planning and
reactive control. These procedures constitute a part of a generic autonomous mobile robot
control architecture and are illustrated by experiments. The memory is structures in three
parts:
The rst part presents the basic displacement actions of which a mobile robot must
dispose and propose a rst method to integrate planning and execution.
The rst chapter is reserved to displacement or re
ex actions: Purely reactive actions of
local collision avoidance. These actions are constructed on the classical potential method. The
advantages and inconveniences of this method which covers the rest of the work will then be
discussed. This analysis will bring about a new formalism of potential functions which will
be developed in the context of non-holonomic mobile robots. The eciency of this method
will be illustrated by some experiments which will recall the necessity of a planning phase.
Based upon these \primitive" functions, we show in the second chapter the possibility of
developing a relatively simple planning/execution procedure which enables sure and coherent
movement. This general system whose structure will be introduced, permits a \better"
controlled tracking of planned trajectories while avoiding local obstacles. This system enables
the transmission of environment model information to the execution in order to ameliorate the
robot behavior. In spite of a great execution
exibility, the results point out the limitations
of purely geometric planning.
The second part propose a new architecture between planning and execution con-
tributing to a robust system. This system considers both model and execution uncertainty.
Planning with uncertainty does not look for the determination of a geometric trajectory but
for the denition of successive environment relative actions. This supposes more elaborate
2
Introduction 3
actions which explicitly consider the environment constraints and which could be expressed
in a higher level of abstraction.
The specication and the functionality of these actions will be developed in the third chap-
ter. These actions called sensor-based actions are equally based upon the potential method
but use a richer and more powerful formalism called task potential. Three fundamental actions
corresponding to dierent instantiations of this task potential will be presented.
The fourth chapter is dedicated to an integrated system which include these actions and
an uncertainty planner. A big variety complex task navigation experiments show the system
eciency.
The third and last part propose method which is dierent from the other two. For
though it is also based upon the potential method, it integrates more narrowly planning and
reactivity. This is the elastic band method. Planning may be reduced to a classical path
research. This path is only considered to be a topological guide during execution. Based
upon an environment model transmitted by the planner and on perception data acquired
during execution the elastic band changes the path dynamically in reaction of obstacles while
respecting the topological properties of the original path: The robot does not get lost.
The fth chapter present this technic and extends it to non-holonomic robots by taking
into account kinematic constraints. Nevertheless, the trajectory being redened dynamically,
a curvature control problem occurs: The trajectory is only feasible by a robot of null steering
radius. Anyway, the curvature discontinuities mean unsatisfactory trajectory. The last two
chapters will tackle this problem.
Thus, in the sixth chapter, this method is enriched by another notion: That of a bubble.
A bubble corresponds to the accessibility domain around the current conguration of a robot
taking into account the presence of obstacles and the kinematic constraints of the robot. It
is dened with the help of a distance function issued from a metric space compatible with
the kinematic constraints of the robot. This is a very general notion. We have instantiated it
with the Reeds & Shepp metric which corresponds to non-holonomic vehicles with minimum
steering radius (e.g. a car). This bound the curvature but does not solve its discontinuity.
The produced trajectory must then be smoothed.
The last chapter propose nally a complete integration of this approach. The trajectories
are smoothed using Bezier curves. The whole is integrated in an execution system called
kinan which takes into account the time constraints from planning to control. Experimental
results will be presented and commented.
3
Part I
Collision-free movement
4
Chapter 1
Collision-free movement
1.1 Introduction
Mobile robot movement between congurations may be classied into one of three principal
classes:
Planied movement: Robot displacement is xed at planning level. This displacement
can be described in dierent ways: A list of references1 , a trajectory, a sequence of
(geometric) primitives, : : : The robot executes this movement with no environment
perceptual feedback.
Reactive movement: Using its perceptual system to gather information on the environ-
ment, the robot moves around while avoiding collision.
Reactive planied movement: The robot adapts the planning level displacement refer-
ence to the environment state, updated by perceptual feedback. The robot executes
the planied movement.
In this chapter several approaches to reactive movement are developed and their advantages
and inconveniences are discussed. Then, we concentrate on the classical potential method
thus presenting the ameliorations we eectuated on it through the rotational potential. Last
of all, we present the integration of this extended method in a collision-free reactive navigation
system.
5
1.2. REACTIVE MOVEMENT METHODS 6
Obstacle
Goal
6
1.2. REACTIVE MOVEMENT METHODS 7
Goal Goal
Figure 1.2: Comparison between la classical potential method and the generalized potential
method
which varies in a continuous way. This force generates a continuous trajectory (gure 1.2. In
the case of the realized potential method, when the robot approaches the obstacle, avoidance
time decreases and thus the repulsive force increases to push the robot away. When this
last turns, the velocity is oriented in the direction opposite to the obstacle diminishing thus
the repulsive potential and orienting the potential gradient towards the goal. The robot re-
approaches the obstacle and the repulsive force increases again, : : : This generates oscillations
which can be neutralized only by using a dynamic command exploiting the robot inertia
instead of a kinematic command.
This method ameliorates the robot behavior in certain congurations enabling it to
manver near the obstacle slowly (to eliminate the oscillations dynamic control is unavoid-
able2 ). Nevertheless, this method suers from the same classical problem of potential wells.
[Borenstein 91] uses an intermediate solution between planning and an avoidance system,
and proposes a method consisting of a local heuristic choice based on a bidimesional grid
modeling the environment. This representation is derived from the certitude grid concept
developed by [Moravec 85] where each case contains a probability value of the presence of
an obstacle updated by perception measures. A polar histogramme is constructed around
the robot (which is always at the center of the grid) representing the polar densities of the
obstacles. The sector associated to the least density closest to the goal direction is chosen.
The grid is thus able to give a movement direction. Even though this technic is adapted to
all sensors, it presents some disadvantages:
Model limitations may lead to oscillations, thus loss of interest in large environments.
Cycle time is rather elevated.
Robot control algorithm still to be dened.
De Luca et Oriolo propose [De Luca 94] an incremental planner based on the notion of
vortex eld to generate collision-free movement for a circular nonholonomic robot. A vortex
eld is generated using the rotational of a potential led instead of the negative gradient, thus
necessitating the denition of a sense of rotation around the obstacles. The planner generates
initially a holonomic displacement which is transformed into a velocity command executable
by the robot. When the robot is engaged into a passage between two obstacles initially away
from each other in order to permit the movement, a risk of collision remains present if the
distance between the two obstacles becomes smaller than the width of the robot. This is due
to the fact that a vortex eld does not guarantee non-collision. Such a situation generates in
the classical method a local minimum (which is always preferable to collision). Consequently,
an obligatory minimum distance (superior to the width of the robot) is necessary to engage a
displacement between obstacles. Another inconvenience is the fact that the rotation direction
2 This is not always easily accomplished for mobile robots
7
1.3. TASK POTENTIALS 8
Discussion
We consider that the advantage of reactive movement is the security of execution. Neverthe-
less, the control of a programmable mobile robot capable of deliberate actions must to be
wholly reactive. That is why the reactive level should respect the constraints imposed on it by
superior levels. Its decision capacity, thus, must not exceed local reaction. Of the examined
approaches, the potential eld method presents the clearest theoretical and methodological
frame and the most rigorous. The principle of this method may be considered as a \natural
re
ex" to collision. It implies a direct application of the control without demanding heuristics
or suppositions on the environment structure. This method is thus chosen to be the basis on
which to tackle the problem of collision-free mobile robot navigation [M. Khatib 95].
8
1.4. POTENTIAL METHODS 9
F = F g + FO (1.2)
where:
9
1.4. POTENTIAL METHODS 10
which is a positive quadratic function whose rst derivative is continuous and whose only
minimum is null on X = Xg . kg is the gain factor. Consequently the potential UO (X) will be
dened in a way to keep the articial potential U (X) positive, continuous, derivable, whose
only minimum is zero on X = Xg 4. Similarly the function UO (X) must itself be continuous,
non negative, derivable. Also its value must tend to innity when approaching the surface of
the obstacle.
Its in
uence should also be restricted to a neighborhood of the obstacle (up to a distance
d0 from the obstacle which should always be smaller than the least distance between the
obstacle and the goal), in order to prevent the modication of the global minimum of the
attractive potential function. This function will thus be dened on two distance intervals
while insuring a second derivability. Our choice is:
( 1 ( 1 ? 1 )2
UO (X) = 2 d d0 if d < d0, (1.5)
0 else-wise.
where d0 , the in
uence distance, depends on the maximum velocity and deceleration capacity
of the robot. d is the distance between the robot and the obstacle O and the gain of the
function.
Having xed the expressions Ug (X) and UO (X), the induced forces could now be calcu-
lated by applying the gradient on the equation 1.4 on the page before:
X n
FO = FOi (1.9)
i=1
4 We put aside for the moment the local minima!
5 Here these are ultrasonic measures or laser 2D sections
10
1.4. POTENTIAL METHODS 11
where n is the number of obstacles. The resultant force applied on the control point is:
Obstacle
Goal
11
1.5. MOBILE ROBOT COMMAND 12
P’
P q
N
R2
O d0
R1
potential parameters are constants. On the other hand, if R1 could be modied in order
not to exceed the line N (becoming thus R2), the in
uence zone of this obstacle (which does
not really bother the trajectory) is now separated from the trajectory and the robot is not
in
uenced. How our extension deal with this problem will be discussed in section 1.6.
12
1.5. MOBILE ROBOT COMMAND 13
that two of the three parameters, the position [x; y ]T , can be directly controlled. There exists
feedback control with exponential convergence towards these parameters. Even more, if the
position of a point which is not on the motor wheels axe is controlled these laws guarantee
the convergence of the orientation towards a constant which is tangent to the trajectory
during the execution.
yr
d xr
Rr
i Pc
yg j
E Or
r
Rg
Og xg
Figure 1.5: Control point.
Consider the origin point Or of the local cart of the robot (g. 1.5), E being the distance
between the two wheels, r the wheels radius, Pc a point on the x-axis xr a distance d o the
origin Or . We can write the equation system for this robot in the xed frame Rg as follows:
V Og =Rr = ??!
?! ! Rr =Rg ^ ?
V Or =Rg ? ?! O?? !
r Og (1.11)
13
1.5. MOBILE ROBOT COMMAND 14
Note that when d ! 0 the system is no more controllable, for the carte can no longer
move in the direction of wheels axis (a non-exponential convergence can be proved on a set
of invariance I ).
This behavior is similar in the point of view of classical mechanics: An external force
applied on a point on the wheels axis has a singular component, that which is parallel to the
axis.
Note: [Samson 93] propose an other approach for the stabilization of the control of a mobile
nonholonomic robot. This approach concerns the instationary state feedback control where
the feedback depends upon the time as well as the state of the system.
B Based upon this result, we dene in our case a control point on the robot and we apply
the resultant of the dierent forces on this point. We will show in annex C the stability of
our system in the absence of obstacles by a Lyapunov candidate function.
We conserve in our formalism the same attractive potential and we propose in the next
paragraph a formalization of the repulsive potential which introduces parameters which en-
ables the taking into account of the form of the robot.
14
1.6. THE \ROTATIONAL-POTENTIAL" 15
Rr i x
Vs
d d0
So
Ro
O
Figure 1.6: Rotational potential formulation.
Consider the frame Rr centered on the robot such as the x-axis which corresponds to the
robot direction is perpendicular to the wheels axis (gure 1.6). Note ~{ the unitary vector in
this direction. Let So be a segment delimiting the obstacle represented in the frame Rr and
let Vs be its direction vector. The angle is dened to be:
s ~{)
= Arcsin K(V jVsj (1.15)
to the robot. It may happen that when a robot enters the obstacle in
uence area without
any modication on its movement. A small modication of the orientation (and eventually
of the distance) may sometimes be sucient to annulate the obstacle eect.
If d represents the smallest distance to the segment So and if d0 is the associated clearing
distance we dene the function p1 as:
2
p1 (X) = 21 k1 1d ? d1 ;
0
and the function p2 as:
0 0 1
F(X) = B C
@ k1 y1 ? d1c
y2 + k22 (d0 ? y ) A ; if d < d0, 0 else. (1.18)
?k2(d0 ? y)2
The Fy term represents the force generating the displacement of the mobile frame Rr in
the y-direction of the frame Ro . This component depends on the distance to the obstacle (y
in this frame), but also on the term 2 , for the linear part of this component which represents
the robot orientation with respect to the obstacle. This last term changes only the intensity
7 The function is traced for d negative as well as positive.
16
1.6. THE \ROTATIONAL-POTENTIAL" 17
U (X)
d
d0
Figure 1.7: Repulsive potential function distribution
of the force and not its direction being a mere scalar. It is null when the robot is parallel to
the obstacle.
The component F represents the couple around the rotation center of the robot. The
sign of the correction generated by the couple depends on the orientation whereas the
intensity depends equally on the distance to the obstacle.
The norm of the force F is shown in the gure 1.8 on the following page. It is to be noted
that this norm is null on the line y = d0 , innitismal on the line = 0 in the neighborhood
of d0 and innite on the obstacle surface. This insures the non-collision even for null.
Having dened the repulsive potential function for one obstacle, we are going to gener-
alize it for m obstacles. Consider m segments representing m obstacles, calculate the forces
associated to each segment (Fi(X); 8i 2 f1; : : : ; mg). The total repulsive forces is:
X
m
F = Fi (1.19)
i=1
Adding the attractive force, the resultant is:
Fc = Fg + F (1.20)
Analysis: The advantage of this formalism to the classical ons is the dynamic regulation
of the clearing distance d0 in function of the geometric state (Robot $ Obstacles). In the
classical method, the distance associated to a xed equipotential is the same for all obstacles.
17
1.6. THE \ROTATIONAL-POTENTIAL" 18
θ y
d0
In the rotational method this distance varies with the orientation of the robot. Nevertheless,
p1 guarantees always the non-collision near the obstacles surface. This regulation presents a
net amelioration to the movement in situations where the classical method fails.
© Oper © Oper
B
A B
A
Obstacle Obstacle
© Oper © Oper
A A
Obstacle Obstacle
B B
Obstacle Obstacle
19
1.7. COLLISION-FREE NAVIGATION SYSTEM 20
Rg
Rr , E, rr , rl
pi
M
R tCam
X
U G
criterium:
1X
m
d2j
m j=1
where is the representative limit of a point variance8 and dj the orthogonal distance between
the point mj and the segment under construction. The segmentation algorithm is presented
in the annex B.
© Oper
Rg
Rr Pi
Si
20
1.7. COLLISION-FREE NAVIGATION SYSTEM 21
Let Mp be the set of points not used in the segmentation, we consider each point as
a punctual obstacle with no orientation. The potential function associated to this set is
presented in section 1.7.3.
The importance of these measures is related to the sensor used. In the ultrasonic sonar
for instance the treatment of these points is important because of the relatively small number
of measures and of the loss of measures due to re
ection specularity, thus leading to the loss
of a segment.
pxd?2 +xRg 2
!
Fg = ?Kg d:
= ?Kg p 2 d 2 @@X (1.21)
pyd?2 +ygR2 d +R
R does not depend on dg , thus, pdd2gg+R2 tend towards 1 when dg tends towards innity.
This term being increasing in [0; 1[, for dg > dm :
Potential
Potential
y
Force Force
0
0 x
This force is constant for distances greater than the limit distance and tends to zero as
the robot approaches the goal. The control of this (constant) force will be developed in the
annex C.
The gure 1.13 shows the distribution of the attractive potential and its associated force
in a given direction.
Repulsive potentials
The Rotational-Potential approach requires an attractive potential as in the classical method,
though it requires two repulsive potentials. In the equation 1.16 on page 16, the function
p1(x) dominates in the neighborhood of the surface of the obstacle in order to avoid collision,
while the function p2 (x) dominates near the clearing distance d0 and being dependent on 2
is orientation dependent. Its role is to correct the movement.
These two potential functions must:
be positive, continuous and derivable on the interval d 2 [0; d0];
have one and only one minimum when d = d0;
be null for d > d0;
tens to innity when d ! 0.
The predominance between the functions is controlled by the gain factors. Still the form
of the functions (quadratic, logarithmic, parabolic, : : : ) is also signicant.
Figure 1.14 on the next page shows an example of the variation of three functions. Note
particularly the dominance intervals of the dierent functions.
22
1.7. COLLISION-FREE NAVIGATION SYSTEM 23
2
(d - d0)
2
(log d - log d0)
2
(1/d - 1/d0)
0 d0
d
Figure 1.14: Dierent potential functions.
In the system Rt Cam w2e have chosen the expression given in paragraph 1.6 to represent
the repulsive potential associated to segments. Thus:
2p (X) + p (X) if d < d0,
U (X) = 0
2 1
else-wise.
where
2
p1 (X) = 21 k1 1d ? d1 ;
0
1
p2(X) = 2 k2 (d ? d0)2 :
The parameter is not dened in the case of point obstacles. Thus we dene the function
U p (X) by:
p (X) + p (X) if d < d0,
U p(X) = 0
1 2
else-wise.
current segment. The resultant repulsive force is represented thus by the equation 1.19 on
page 17.
The force generated by the set of obstacle points is represented by the equation 1.8 on
page 10.
X_ = vR
_ = !
where v; ! are the linear and angular speeds respectively. The movement equations of the
control point are:
q = X + dc R
q_ = X_ ? dc!R
where R = (sin ; ? cos )T .
Consider now the resultant force F = (Fx ; Fy )T which expresses the sum of the attractive
and the repulsive forces. We propose the following command law for the linear and the angular
speeds:
v = v FT R
! = ?! FT R
where v ; ! are positive gains. We will develop the stability proof of this law in annex C.
The maximum linear and angular speeds and accelerations being given at the entry of the
system, we realize the saturation of the command by:
24
1.8. EXPERIMENTATIONS 25
ZT
S = v:dt (1.23)
0
The potential well signal is produced if this displacement is inferior to the minimum
displacement Smin .
1.8 Experimentations
We have integrated the system Rt Cam in the functional architecture of the robot Hilare2 in the
form of a module (Avoid). This module is treated as an example in the annex A. We present
here some experiments that illustrate the eects of the rotational potential.
Figure ( 1.15 on the next page) shows, as a rst experiment, a simple obstacle avoidance.
One should note the modication of the clearing distance during the avoidance phase. This is
due to the correction of the orientation of the robot as soon as it detected the obstacle. The
non-collision is assumed by the potential p1(X) which is dominant in the region at a distance
inferior to dnc (equation 1.17 on page 16) from the obstacle. The advantage of this method
is the realization of a minimal change of orientation to avoid the obstacle. This is not an
absolute solution but is ameliorates the behavior of the robot in a multitude of situations.
In gure ( 1.16 on the next page) we can see the same eect. Here the modication of the
clearing distance of the rst obstacle facilitates the avoidance of the second obstacle.
On gure ( 1.17 on page 27), we present an experience realized with the classical potential
( = 1 always) as well as with the rotational potential. We use in both cases the same clearing
distance d0. The robot being initially at a distance inferior to d0, in the case of the classical
method the robot realizes an unnecessary movement away from the obstacle whereas in the
rotational method the obstacle has almost no eect on the behavior of the robot.
25
1.8. EXPERIMENTATIONS 26
© Oper
RIA(0,0)
Figure 1.15: Obstacle avoidance: eect of the dynamic adaptation of the clearing distance.
© Oper
RIA(0,0)
Figure 1.18 on page 28 shows a failure of obstacle avoidance. A local minimum is encoun-
tered during clearance. The gure shows clearly the reason the this block which is due to a
cloud of ultrasonic echoes forming a virtual wall in front of the robot. This is a problem of
26
1.8. EXPERIMENTATIONS 27
© Oper
RIA(0,0)
Classical potential
© Oper
RIA(0,0)
Rotational potential
multiple re
ections of the echoes. We present in annex B the acquisition module of ultrasonic
measures (US) and its two acquisition modes.
27
1.9. CONCLUSION 28
© Oper
RIA(0,0)
Goal
Figure 1.18: Obstacle avoidance: local minimum due to the re
ection of several ultrasonic
echos.
1.9 Conclusion
The potential method and its extension oer us a formal basis to realize a reactive system for
collision-free movement. Several experiments enabled us to demonstrate the eciency and
the capacity of this method as well as its deciency and its limits. In fact, potential eld
control increased considerably the capacity of low level execution. Even more, the rotational
potential method, by taking into account the particularity of the robot and its state, made its
behavior more coherent in face of situation which should have blocked the classical method.
Also, the dynamic adaptation of the clearing distance and the conditions it imposes on the
potential gains, simplies the determination of these gains. In the same way, the attractive
potential function which was proposed enabled, on the one hand, a better equilibrium of
gains and, on the other hand, its renders the behavior of the robot independent whether it
is near the goal or away from it.
From command point of view, the potential method brings an important advantage. The
resultant force contains all the necessary information to dene a realistic and satisfactory
command algorithm.
The problem of local minima represents the major handicap of this method. We think
that the only way to tackle this at execution level is by the detection of this event. We
consider that the treatment of this blocking which is a rare event is of the resort of planning
or higher level decision.
The extension we have proposed to the potential method presents an ecient obstacle
avoidance system which will be extensively used in the following chapters.
28
Chapter 2
Collision-free path tracking
2.1 Introduction
In paragraph (x 1.7 on page 19), we have presented the direct application of the potential
method and proposed an extension to collision-free reactive navigation (system Rt Cam ). This
application supposes a xed position in the plane. Hence, the robot tries to reach it without
keeping a trace of the path it is following. In fact the robots movement is purely dynamic and
depends wholly on the instant state while deciding of the next elementary movement. Such a
system is only a primary solution to the navigation problem, powerless before complex tasks
in over-constrained environments. Moretheless, it is subject to potential wells. All this tends
to enhance the advantage of planning.
To construct a plan, a capacity to predict the future state of the robot and the environment
is needed. This capacity relies heavily on the knowledge of the environment model. The
planied trajectory depends, thus, on the quality of such a knowledge. While executing, the
open-loop displacement of the robot on the trajectory bears constantly the risk of collision.
This is due to the robot movement uncertainty as well as to errors related to the original
model, not to mention that, in an evolutive environment, unexpected obstacles may aect
the execution and lead to a failure.
Even more, planning usually produces trajectories using a constant minimal clearing
distance global to all parts of the trajectories. If the choice of this distance is based on exe-
cution parameters, such as maximum velocity and acceleration, its value may over-constrain
planning for some trivial situations. Otherwise, if this distance is relatively small, a minor
deviation risks collision.
In this context, an open-loop execution of a trajectory does not seem a robust solution.
This leads us to put forward a collision-free path tracking system, controlling, securing
and adapting the execution and making it more robust.
State of art
Several works treated the \strict" path tracking problem. Generally, solutions consisted to
join a sequence of positions fPig without stopping the robot (taking the robot kinematics into
29
2.2. THE PROBLEM'S FORMALIZATION 30
account). Thus the problem is reduced to the production of a trajectory (consigns) realizable
by a non-holonomic mobile robot. For example, Kanayama and Hartman [Kanayama 89], join
the congurations two at a time by cubic spirals whose radii are superior to those obtained
by clothodes.
Delingette and co. [Delingette 91] generalized this method by using \intrinsic splines"
whose curvature is a polynomial function of the curvilinear abscissa to limit the curvature
and introduce control points. We can mention also the works of Segovia and co. [Segovia 91]
that use Bezier curves, of [Nelson 89] that dene curves whose radius is a polynomial function
of the polar angle, and of [Chochon 83] that uses a succession of segments and of clothodes.
In [Fleury 95], S. Fleury treats the problem by considering cusp points on the trajectory.
The tracking is realized by dening trajectories composed of segments, arcs, clothodes and
anticlothodes. The anticlothodes are circle inductions whose radius vary proportionally to
the trajectory tangent angle (x 2.2.1).
Nevertheless, few works study the problem of collision-free path tracking. In [Green 94],
the authors develop an algorithm for a planar robot by dening a feedback command law.
This command integrate obstacle avoidance during tracking by minimizing an error function
dened between the obstacles and xed points on the robot. This algorithm seems interesting
even though the fact that the regulation is purely on the position (x; y; ) may lead to a drift
on the original trajectory even away from obstacles. We can also mention other works such
as [Khoumsi 88] which uses successive circle arcs.
In chapter 5 we present a new concept to tackle the problem of reactive execution of
trajectories. Here, we will introduce a formalism and develop a set of functionalities integrated
in our collision-free path tracking system.
30
2.2. THE PROBLEM'S FORMALIZATION 31
Planification
Trajectory
Vmax
dt Pilot
Amax
Consign Perception
Consign
Data
Command Functionality
Ci
Obstacle
. ...
..
.
f(t)
Cj
31
2.2. THE PROBLEM'S FORMALIZATION 32
The robot moves on a trajectory by following the consigns f (t) generate by the pilot
(gure 2.2 on the page before) when it meets with an obstacle (which was either unseen or
not correctly modeled) at time t0 . The consigns Ci generated from this moment onwards
enter in the obstacle in
uence zone. A repulsive force is then induced which obliges the robot
to modify its movement to avoid the obstacle. But the goal moves always in the obstacle. The
robot will thus oscillate while trying to reach the goal and consider itself in a dead-lock. The
main reason of this behavior is the abstraction of the trajectory's geometry. Nevertheless,
the reason of this abstraction is to make this problem simple and real-time applicable.
Here, we propose an intermediate solution based on the partial memorization of the
trajectory before and throughout the execution in a way to keep a further piece of the
trajectory at hand. Such a knowledge of the near future makes it possible to develop a
dynamic goal research system. In our example (gure 2.2), the knowledge of a forward piece,
enables a better choice of an intermediate goal (such as consigns Cj ), thus avoiding the
obstacle in a better way.
3jR0T d(S(t); S )dt ; 8 2 R+: This condition generates a displacement on S(t) while
minimizing the drift from the original curve S (t). In case of a deviation due to the
presence of an obstacle, the robot should rejoin the original trajectory as soon as possible
after accomplishing the avoidance in order to minimize . In fact this value is a surface
area corresponding dierence between the two curves. A null value expresses thus the
over-lapping of both of them.
2.2.3 Algorithms
In this paragraph, we present the group of algorithms that we have proposed in order to build
the system.
Attraction point
Having dened the sliding trajectory, f(t), we present the attraction point research algorithm.
Let q = f(s)8s 2 [0; T 0] be a conguration on the curve f(s), with
s = t ? T1 ) f(0) = f (t ? T1)
where T1 id the moment corresponding to the rst conguration of the sliding trajectory on
the global trajectory.
We distinguish three possible states of the Rt Pt Cam system:
33
2.2. THE PROBLEM'S FORMALIZATION 34
Nominal state: The robot is on the global trajectory. Let p(t) be the position of the robot
and Fr (t) the repulsive force associated to the obstacles at time t. The system then
satises the following conditions:
p(t) = f(0) (2.2)
Fr (t) = 0
The rst equality expresses that, in nominal execution mode, the memorized piece
\slides" ahead of the robot, and thus the robot position occupies the rst conguration
on f(t). The repulsive force is also null. The attraction point is then:
q = f(ds) (2.3)
This equation governs the perfect execution of the trajectory. ds is the time increment
relative to the sliding trajectory that corresponds to the instant t + dt on the global
trajectory f (t).
− q −
p(t) = f(0) − − f(s)
q = f(ds) f(s)
ll
li q
p(t) p(t)
p(t)
Nominal Avoidance Smoothing
parameter is called the anticipation distance which reserves a distance on the trajectory
to make the successful avoidance of the obstacle surer. This is done by attracting the
robot by a point representing a more suitable topological evolution of the trajectory.
q takes the last conguration on the sliding trajectory when the projection condition is
not satised.
Smoothing state: This state is always preceded by an avoidance state during which the
repulsion force is neutralized and the robot tries to rejoin the trajectory. The system
satises, thus, the conditions:
p(t) 6= f(s) 8s 2 [0; T 0] (2.6)
Fr (t) = 0
In order to nd an attraction point q the rst conguration q = f(s) corresponding to
the robots position projection along the velocity vector (gure 2.3 on the page before,
\smoothing"), which is dierent from the previous state. Still we use a notion similar
to the anticipation distance which is used to realize a special smoothing enabling the
robot to come tangentially on the trajectory.
The attraction point q is determined by:
(
q= f(s + s~); j s~ 2 [s; T 0 ? s]; is (p(t) ? f(s)):f_(s) = 0; (2.7)
f(T 0) else-wise.
and: Z s+~s
ll = f_(t)dt
s
where ll is the value of the smoothing distance dened by the parameter s~.
The state change condition when reaching the trajectory is:
d(p(t); f (t)) < T ; T ! 0
where T is an innitismal positive constant.
One should note that the sliding trajectory memorization in the last two states (avoidance
and smoothing) continues from the instance T1 where the robot leaves the trajectory. Other-
wise, the length of the sliding trajectory may increase in this case and the congurations on
the beginning of the trajectory are not freed.
System states
The formalism presented in the previous paragraph characterizes the passage conditions be-
tween the dierent states of the system Rt Pt Cam . gure 2.4 on the following page shows the
changes of state in function of the variation of the repulsive force Fr and the position of the
robot relative to the trajectory.
35
2.3. ENVIRONMENT MODEL INTEGRATION 36
Normal Fr = 0
N(p(t) − f(t)) < ε T
State
Avoidance
Fr = 0
State
Figure 2.4: The passage between the dierent states of the system Rt Pt Cam .
36
2.3. ENVIRONMENT MODEL INTEGRATION 37
Environment Model
Sensor
Model Position
Virtual
Perception
Virtual measures
37
2.3. ENVIRONMENT MODEL INTEGRATION 38
S
vs i dc
p dl
d2 c
p
l
Dc
D
l
d1
σ
u
q v
represents the shooting distance), with the segment Si (gure 2.6). To calculate this measure
this intersection should be veried The distance Dl to the intersection point p1 and the the
intersection conditions are given by:
D = K(u ^ vs ) 6= 0 ;
= K(uD^v) 2 ]0; 1[ ;
Dl = K(vDs ^v) 0 :
where K : R3 ! R is a function returning the z component of the vectorial product and
2]0; 1[ expresses the intersection condition.
In the case of the ultrasonic sonar, the detection cone opening 2 (gure 2.6) denes an
angular sector limits by two half lines d1; d2. This complicates the intersection test, because
the exact calculus necessitates multiple intersection tests in order to deduce the intersection
result. Nevertheless, the sampling of the angular sector by several half lines may simplify
the problem and give a suciently representative solution for this application. Suppose
that the sampling gives three half lines d1; dl; d2 (the two extremities and the center). The
intersection test is satised if one of the half lines intercept the segment and the distance
is thus the shortest distance of interception. Note, that in case of gure 2.6, the returned
distance is Dl where as the real shortest distance returned by the sensor will do Dc . In fact,
we do not want to model by this system the used sensors. We want to generate even exact
measures corresponding to the model each cycle of time. These measures are used by the
reactive system to realize matching tests.
We could remark that the algorithms complexity id m n where m is the number of dis-
tance calculations for a segment and n i the number of segments in the model. Consequently,
for a number m constant, the treatment time becomes a function of the complexity of the
model (which varies in function of the application) and thus the time bound is not known in
advance. In this context and in order to limit this time the following idea is proposed:
Before execution, the model is projected in a global map represented by a bitmap, the
position of the robot is updated in this map and the virtual measures are dynamically
calculated in this map.
38
2.3. ENVIRONMENT MODEL INTEGRATION 39
© Oper
Environment model
Figure 2.7: Example: virtual ultrasonic measures issued from bitmap calculus.
39
2.3. ENVIRONMENT MODEL INTEGRATION 40
For a certain choice of the acquisition and sampling parameters, the number of measures,
m, to calculate is constant. Since the calculation of a distance measure in a bitmap is
bounded, the global time does not depend on m and it is thus bounded.
The interest of this representation is in the generation of the number of necessary measures
in each cycle. The quality of these measures depend on the sampling of the bitmap. (This
should be taken into account in parameters matching in what follows.)
Figure 2.7 on the page before shows the robot position in the polygonal environment with
measures issued from bitmap calculus.
Note: The integration of this virtual perception enables the denition of virtual obstacles
which will be taken into account during execution. This is a typical tool for dening virtual
corridors around the trajectory in order to control some how the behavior of the reactive
system. On the other hand, this perception can be used eciently to produce a simulation
tool whose sensor model can be ameliorated using noise as well as specularity test.
© Oper © Oper
2.3.2 Matching
sv
d1 ε d
s 2
(Ι) s
, sv εθ
(ΙΙ) d1
s εd d
2
40
2.3. ENVIRONMENT MODEL INTEGRATION 41
for a robot without any notion of memory. This operation is very sensible to the precision of
the position of the robot in the global frame.
Once the real and virtual segment sets obtained, matching is done in the following way:
Let s; sv be vectors representing a real and a virtual segment respectively (gure 2.9 on
the page before, I) and satisfy the condition s sv 0. The two robots are said to be matched
if
j K(s2^d1) j + j K(sv2^d2) j s (jsv j + jsj);
jd1j + jd2j jsv j + jsj + 2d;
jcos?1( jssvvjjssj )j :
where s ; d; are positive constants having the same signicance as in paragraph 2.3.1). The
rst condition bounds the surface between the two vectors, this limit depends on the lengths
of the two segments and the sapling step of the bitmap. The second condition bounds the
maximum distance between the two segments (gure 2.9 on the preceding page, II). The third
condition is a collinearity condition, the maximum angle between the segments is determined
by the constant .
As for the point obstacles, a distance test is enough to match them. They have the
convenient property of being ordered the same way in both sets.
doc = dp + oc
where oc is a positive error constant, while the distance associated to unknown obstacles is
determined in function of the maximal velocity and acceleration on the trajectory. Let Ts be
the time necessary to decelerate from maximal speed to zero, this distance is:
41
2.3. ENVIRONMENT MODEL INTEGRATION 42
εoc
max
min
© Oper
Goal
42
2.3. ENVIRONMENT MODEL INTEGRATION 43
© Oper
Goal
Figure 2.12: The eect of the dynamic modication of the clearing distance during path
tracking.
© Oper
43
2.4. DISCUSSION 44
© Oper
the trajectory. This is due to the rotational potential that aligned the robot to the wall
neutralizing thus the repulsive potential.
In order to show the eect of the projection on the trajectory, we have assigned an
important value to the parameter m (x 2.2.2 on page 32) which permits a big drift from the
original trajectory. We have also modied the position on the robot (on the x-axis of the
global frame of the Salle). Thus, the planned trajectory passes through an obstacle. Figure
2.15 shows the consequent behavior of the track algorithm. The system Rt PtCam maintains
the avoidance state while projecting itself on the trajectory. This is possible because of the
sliding trajectory issued from the memory. Finally the attraction point is attached to the goal
position and a local minimum is encountered thus leading the execution to a failure.
2.4 Discussion
The conception of the system Rt Pt Cam as proposed here ameliorates the behavior of the
reactive system during execution. standardizing the entry of the system enables the treatment
of all sorts of trajectories without demanding the knowledge of the several primitives used
by the planner. Also, the memorization of the trajectory and the notion of sliding trajectory
ameliorates notably the avoidance behavior in case the Rt Cam system fails.
The integration of virtual perception enabled the dynamic adaptation of the clearing dis-
tance and thus a better behavior in constrained zones. Finally, this virtual perception is a
powerful simulation utility that we have ameliorated further by using sensor models including
44
2.4. DISCUSSION 45
© Oper
1 A European project ESPRIT III; MARTHA: Mobile Autonomous Robots for Transportation and Handling
Applications.
45
Part II
Sensor-based motion
46
Chapter 3
Sensor-based actions
3.1 Introduction
The execution plan generated by a planning level varies according to the type and strategy
of the planner. An execution plan based on the generation of movement in free-space may
be:
A sequence of (reachable) congurations.
A trajectory composed of a sequence of geometric primitives. (broken lines, segments,
arcs, clothoids, anticlothoids, : : : )
A parametric analytic function. (Bezier, spline, : : : )
We have seen in the preceding chapter that trajectory execution is not secure without the
passage by a reactive control system insuring non-collision in real-time. In fact the interest
of such a system resides on the security of execution and the coherence of the execution with
the generated plan is not guaranteed. Not taking into account the uncertainties related to
the environment real model and the robots movement may lead to an execution failure.
In such a context, the combination of free-space movement and sensor-based movement in
the planning strategy is unavoidable. This condition is in fact sine qua non for the security of
the execution as well as for the generated plan to be properly executed when taking account
of uncertainties.
Several approaches were proposed in literature to treat the dierent aspects of the prob-
lem of sensor-based actions and displacements. These approaches are dierentiated by the
perception type, on one hand, and by the actions complexity, on the other.
Using the notion of task function proposed in [Samson 90b] in the working context de-
scribed in [Espiau 92] concerning active vision, [Rives 93, Pissard-Gibollet 93, Pissard-Gibollet 95]
proposed system of sensor-based movement by visual feedback of a mobile platform. Several
sensor referenced tasks such as wall following, door facing, : : : , were treated. An interesting
aspect of this system is the addition of liberty degrees related to perception, which enables the
creation of a convenient cooperation between the mobile platform and the sensor feedback.
The task is then programmed as a set of task functions (sensor-based actions) sequenced and
controlled by the system orccad [Coste-Maniere 92].
47
3.1. INTRODUCTION 48
In fact, the core of these works concerns the execution of a task modeled by regulating to
zero some task function which expresses the drift between the nal and the current perception
states. The nal state is thus predetermined in the camera frame before execution, which
signies a transformation of a 3D space to a 2D image for an initial predened conguration
for the couple robot-camera. The non existence of parallel treatment of task functions, makes
it impossible to handle \relatively complex" tasks involving actions that could not be realized
in a simple sequence. Thus, to follow a wall while avoiding obstacles (if possible) must be
expressed in a single task function or a single automate combining both actions. In fact,
a sequential transition between the two separated task functions (wall follow and obstacle
avoidance) does not guarantee the accomplishment of the global task.
Using the same formalism of the task function, [J. Koseck 96] proposes a mobile robot
displacement system with visual feedback. The environment is a graph whose knots represent
the dierent congurations corresponding to the robot landmark relative locations . In this
graph, the arcs represent the command strategy moving the robot from one location to the
other. The navigation is then a sequence of positioning tasks. Even though it is well known
in literature [Bouilly 95a], this navigation approach presents an interesting idea concerning
environment representation. Its most important inconvenience is the preliminary construction
of links between the robot positions associated with landmarks and the nal perception state.
And also in a restrictive navigation capacity due to obligatory passages by xed position
congurations.
In a specic domain related to sensor-based road follow applications, Dickmanns proposed
in [Dickmanns 89, Dickmanns 95] a visual feedback root follow system. The basic idea is a
local analysis of the environment ahead of the vehicle used to plan the next trajectory. The
environment model is thus constructed locally. Several procedures to recognize objects and
humans are also developed. Nevertheless, this method does not treat a genuine feedback
sensor motion since there is no relation between the censorial feedback and the trajectory
command.
In the Wall Follow action context, [van Turennout 92] proposed a feedback control algo-
rithm using ultrasonic sensors1. This algorithm is based upon wall distance measure cor-
rection as well as on the estimated orientation between successive measures. Orientation
calculation is simple and sensible to error because it is based upon elementary displacements
of the robot between measures and upon the measures themselves. The least error on mea-
surements may lead to big variations of the orientation. Even more, this algorithm does not
treat the problems related to the presence of obstacles.
In the same domain, Ando [Ando 95], proposes a wall follow algorithm while taking into
account the ultrasonic measures specularity. This algorithm does not represent a real sensor
feedback control, for the movement is realized by a sequence of locomotion primitives such
as segments, rotations, arcs, : : : . These primitives are updated every 3cm. Consequently,
the passage between two primitives such as (segment $ arc) without a smoothing algorithm
generates a command discontinuity (except if one passed by a stop). The algorithm should
also be redened for dierent placements of sensors.
Through a new formalization of Task Potential, we present in this chapter the applicability
of the potential method in the context of sensor-based command. On this formalization, we
develop several feedback actions used in robotics. Then we present the eciency and the
utility of these actions in the context of planning with uncertainty.
1 The author announces that the use of several sensors is more ecient though he does not treat this case.
48
3.2. THE \TASK POTENTIAL" 49
49
3.3. FROM TASK POTENTIAL TO SENSOR-BASED ACTION 50
Let Fi (t); t 2 [0; T ]; i 2 [0; : : : ; n] be scalar functions of time, positive and monotonous.
Let q 2 <n be the robot conguration vector. Let Pi (q) be positive dierential convex
potentials. The potential P (q; t) issued from a linear application of the form:
X
P (q; t) = Fi(t)Pi(q); 8t 2 [0; T ] (3.1)
i
is a convex potential whose unique solution, qm , veries:
@ P jq ;t=T = 0
@q m
Proposition: The realization of the task control may be expressed by the decent of the gradient
of a potential function P (q; t); t 2 [0; T ], composed linearly of several convex potential
functions whose coecients are scalar functions of time, positive and monotonous.
Proof: According to convex analysis, a linear composition of convex functions is a convex
functions [Gamkerlidze 80]. Thus P has for each t 2 [0; T ] a unique minimum. The task to
realize corresponds to the global minimum at t = T .
If the linear application id a pure convex composition, we write:
X
Fi(t) = 1; 8t 2 [0; T ]
Fi(t) 2 [0; 1]; 8t 2 [0; T ]
In fact, the convexity condition insures the uniqueness of the solution for all t and the
monotony of the functions Fi (t) guarantees the asymptotic convergence of this solution as t
tends towards T .
Corollary: This linear composition may be stationary or evolutionary in time; the coecients
may be constant.
Example: Let P be given by:
P = f (t)(q ? q1)2 + (1 ? f (t))(q ? q2)2
where q1 ; q2 are two xed congurations. Let f (t) be an increasing function such that f (0) =
0; f (T ) = 1. The minimum of P at time t = 0 is the conguration q = q2 whereas the
minimum as (t ! T ) id the conguration q = q1 , consequently the asymptotic stability of
the system is insured by the function (q ? q1 )2.
We develop, in the following paragraphs several applications based on the Task Potential
in order to show the interest of this formalism.
50
3.3. FROM TASK POTENTIAL TO SENSOR-BASED ACTION 51
Action's denition:
Let Rg (Oxy ) be a global frame in the operational space related to the conguration space
A <3, X = (xy)T be the robot conguration vector and O the set of stationary objects
in A. Suppose that v1 ; v2 are two vectors determining an angular sector
relative to the
robot centered on its x-axis (gure 3.1). Let d : A O
! <+ be a function returning the
shortest distance between the robot and the set O
O, the restriction of O to the sector
.
If the robot is at the origin of the frame Rg (X = 0), and if its velocity is null, we generate
an action Advance to Contact described by the curve S (t); t 2 [0; T ] such that:
{O}
V2
dc
X S(t)
Y
Ω V1
Rg
S (0) = S_ (0) = 0 1j
fS [0; T ]g\ O = ; 2j
d(S (T ); O
) = dc 3j
d(S (t); O
) 6= dc 8t 2 [0; T [ 4j
y_ (t) = _(t) = 0 5j
where dc is a positive constant representing the distance to contact.
The rst condition determines the initial state of the robot. The non-collision on the
whole of the trajectory is insured by the condition 2j. At time t = T , the condition 3jmeans
that the shortest distance between the robot and the set of obstacles O
is the distance to
contact dc . (This distance is xed by the user.) The uniqueness of the conguration S (T )
which ends the curve (displacement) is expressed in the condition 4j. The movement is
characterized by the condition 5jthat expressed an displacement in a strait line.
51
3.3. FROM TASK POTENTIAL TO SENSOR-BASED ACTION 52
Task Potential:
We dene, now, the Task Potential which will realize the action. Let d be the vector corre-
sponding to the closest point in
and ~i be the unitary vector on the x-axis. We dene the
distance dx as being the norm of the projection of the vector d on the x-axis. Then:
dx = dT ~i
and thus the distance to contact on this axis becomes:
dcx = jddxj dc
The Task Potential necessary for the realization of this task must be convex, non negative,
innite on the objects and nil for dx = dcx . its derivative should be negative on the interval
]0; dcx[ (obstacles repulsion), positive on the interval dx > dcx (goal attraction) and constant
for dx dm (saturation of the attractive force). Here dm is the maximum measurable
distance.. We give the expression of the dierent functions which build this potential:
P1 (dx) = 2 ( d1 ? d1 )2
x cx
k c
P (d ) = (d ? d )2
2 x 2 x cx
P3 (dx) = kc m(d ? dcx ) ? k2c m 2
where, kc are positive gains, with m = dm ? dcx . The Task Potential id then:
8 P + P 8d 2 [0; d ];
< 1 2 x cx
P (dx) = : P2 8dx 2]dcx; dm]; (3.2)
P3 8dx > dm:
P is a convex function (since its epigraph is convex [Gamkerlidze 80]) which is non negative
derivable. Its unique minimum dcx = dx is null (gure 3.2 on the next page). The force issued
from it is: 8 1 1
>< d2 ( dx ? dcx ) + kc(dcx ? dx) ~i 8dx 2 [0; dcx];
Fc = > kc(dcx ? dx) ~i 8dx 2]dcx; dm];
: kc(dcx ? dm) ~i 8dx > dm:
The force vector being thus on the x-axis, it will lead the robot to minimize the oset
dx ? dcx by simulating a pure linear accumulation. In order to realize the asymptotic stability,
we add on the command level a dissipative force proportional to the velocity v . We have thus:
Fc = (Fc ? kv v)~i
where kv is a positive gain constant. Fc is the command force.
52
3.3. FROM TASK POTENTIAL TO SENSOR-BASED ACTION 53
P(d)
-F(d)
0 d0 dm
d
Execution control:
rst, we introduce the following parameters:
Lm 2 <+ : the maximum constant displacement on the curve S (t) while the robot must
nd the contact (dcx = dx ).
lm (t): a time function representing the oset between the real robot displacement at
time t and the maximal length Lm allowed to look for contact. this function is given
by: L ? R t jS_ (t)jdt; if L ? R t jS_ (t)jdt > 0;
lm (t) = 0 m 0 m
elsewise.
0
Analysis:
In fact, the use of the control function is the continuous neutralization of the force when the
robot realizes a long displacement (superior to Lm ) without succeeding in the research of
53
3.3. FROM TASK POTENTIAL TO SENSOR-BASED ACTION 54
f =1
lm
λ = 10
λ =1
L =l ∆lm
m
the contact (the potential minimum). the parameter is determined in function of the cycle
time and of a dissipative factor kv . This determines in its tour the prole of the robot stop
in case of a failure. In practice, its value must me relatively high in order to keep a unitary
value of the function for a displacement length l near Lm . Figure ( 3.3) shows the the eect
of .
In the same way, we can dene a control function to terminate the execution if the robot
realizes a displacement l > Lblind during which the perception did not detect any object.
The length Lblind is xed in function of the maximum length Lm and in function of the used
sensor.
We have made the hypothesis that objects are stationary in this action denition. This is
only necessary to guarantee the non-collision since there is no complete treatment of all the
objects in the set O
which is the set of objects not contained in the sector
. Nevertheless,
in practice, we dene a purely repulsive potential (equation 1.16 on page 16) associated to
the set of measures in O
. Consequently condition 5jis no longer satised.
Experimentation:
We show in gure 3.4-I- the track of the execution of the action Advance to Contact. The
measures are issued from ultrasonic sensors (see annex B). Note the linear speed prole during
execution in gure 3.4-II-, the acceleration phase is purely linear due to the force saturation
(constant force ) constant acceleration ) linear slope). In the deceleration phase, the
linearity is lost. This is due to the variation of the force according to sensor feedback. The
acceleration is thus no longer constant . We have associated in this experiment a big value
to Lm , thus the force annulation depends wholly on dx ? dcx .
Utility:
Typically, in planning with uncertainty, the planner searches to generate displacement to
minimize the robots uncertainty. gure 3.5 on the following page shows the eect that
Advance to Contact may have on the evolution of the uncertainty. If Ua is the uncertainty
matrix on the position of the robot, the planner veries the non-collision given the uncertainty
and generates this action. In the nal state, the obstacle being localized by the segment S
and the distance d, the uncertainty along the x-axis as well as the orientation can be reduced
(the matrix Ua ). Note that the uncertainty on the y-axis increases.
54
3.3. FROM TASK POTENTIAL TO SENSOR-BASED ACTION 55
-I-
Speed
Velocity (m/secs)
Time (secs)
-II-
Figure 3.4: -I- Action Advance to Contact execution trace, -II- speed corresponding to the
execution.
Ua U*a d
y S
o x
55
3.3. FROM TASK POTENTIAL TO SENSOR-BASED ACTION 56
\
Note: The denition of the zone
using the two vectors v1; v2, determines the robot move-
ment direction. The angular opening of the sector is v1 ; v2 2 [0; ].
3.3.2 Parallelize
The aim of this elementary sensor-based action is to position the robot parallel to a wall by
pure rotation maneuvering.
Action's denition:
Here we use the same denition as in paragraph (x3.3.1) and suppose the angular sector
centered on the y-axis. Also the parameter is dened as in paragraph (1.6). Supposing that
the position of the robot is at the origin of the frame Rg (X = 0), we generate a Parallelize
action described by the curve S (t); t 2 [0; T ] dened by:
Γα
X V2
Y α
Rg Ω
V1
S (0) = 0 1j
fS [0; T ]g \ O = ; 2j
(T ) = 0 3j
x_ (t) = y_ (t) = 0 4j
The rst two conditions have the same signicance as in the previous paragraph. The
condition 3jexpresses the nal state of the robot relative to the object (which has some
notion of orientation). The generation of a pure rotation is assumed by condition 4j.
Task Potential:
We give the expression of the Task Potential that realizes this action:
P = 21 k2
56
3.3. FROM TASK POTENTIAL TO SENSOR-BASED ACTION 57
Execution control:
O1
Y θ min X
O2
fθ (t) = 1
λ =1
λ = 10
∆θ = θmin ∆θ (t)
Analysis:
The parameter min is given by an upper level (the planner). An erroneous value of this
parameter together with a high value of may generate an oscillation at the end of this
phase. min must have a value at which the couple ? has always the same sign as ? .
The convex composition enables the realization of the functionalities of this action in a
continuous way and makes possible, in the same way as in the case of Advance to Contact, to
start the execution before the localization of the object.
Experimentation:
gure 3.9-I- show the execution trace of the action Parallelize. dierent parameters are unused
by the command. These are presented in gure 3.9-II-3 where:
W Is the angular velocity !(t) during execution.
Alpha id the parameter and DTheta is the angle (t).
Torque Alpha represents the part ?kf (t) of the command ? and Torque Theta rep-
resents ? .
3 In the gure the values of these parameters before execution are meaningless
58
3.3. FROM TASK POTENTIAL TO SENSOR-BASED ACTION 59
-I-
w
1.4 Alpha
Torque_Alpha
Command Parameters
1.2 DTheta
Torque_Theta
1
0.8
0.6
0.4
0.2
3 4 5 6 7 8 9
Time (secs)
-II-
Figure 3.9: -I- Parallelize execution trace, -II- the prole of the dierent command parameters.
59
3.3. FROM TASK POTENTIAL TO SENSOR-BASED ACTION 60
Utility:
As for Advance to Contact, relative to uncertainty planning, this command enable the po-
sitioning of the robot in a precise position relative to an object (e.g. wall) before chaining
successive follow commands.
Action denition:
We use the set O, the parameter , and the robot conguration X given in the paragraphs
(x3.3.1 and 3.3.2).
Let Rw (Oxy ) be a frame associated with a segment S fO; xpg such as shown in gure 3.10.
Let d be the distance from the center of the robot to the segment, y = d. If dw is the required
follow distance and if represents the segment orientation an the robot frame, a Wall Follow
action represented by the curve S (t) = [x(t)y (t)(t)]T ; t 2 [0; T ] such that:
S (tm )
PX
Fx
Pc
y S (t) xP
= ? x
Py
Fy
y=d S
dw
Rw
O
Figure 3.10: Wall Follow action.
S (0) = X0 1j
fS [0; T ]g\ O = ; 2j
9tm 8t > tm ; y(t) = dw (t) = 0 3j
x_ (t) > 0; 8t < 0
T 4j
xp
1
S (T ) = XT = @ dw A ; S_ (T ) = 0 5j
0
is generated.
The rst condition represents the initial state of the robot in the frame Rw . The non-
collision is guaranteed by the second condition all along the curve S (t). The condition 3j
characterize the robot conguration relative to the wall to follow after an interval of time
60
3.3. FROM TASK POTENTIAL TO SENSOR-BASED ACTION 61
xed by tm (gure 3.10 on the preceding page). The movement direction and the requirement
of a longitudinal velocity component are expressed by the condition 4j. The nal state of the
action is precised by the last condition.
Task Potential:
The basic idea behind this action is to apply an attractive force in the direction of the x-axis,
function of the distance xp ? x(t), where xp is the abscissa of the edge of the segment S . This
force Fx is issued from a potential dened on the x-axis with a minimum at x(t) = xp . The
traversal correction (on the y-axis) of the follow distance dw is realized by another potential
dened on this axis function of the distance y (t) ? dw . Also the orientation of the robot is
controlled by a rotational potential P , function of the parameter which represents the
wall orientation. The couple will also contribute to optimize the distance to the wall. The
interest of this last potential shall be discussed in paragraph Sensor problems.
we present (in a semantic way) on gure 3.10 on the page before the two potentials Px
and Py with their minima. Note that the potential Py tends to innity on the walls surface
in order to guarantee the non-collision.
Note: We will analyze this actions stability, since its realization is based on the composi-
tion of potentials dened on dierent degrees of freedom of a nonholonomic robot.
Here are the dierent potentials that realize this task:
Px = k2x (x ? xp)2
8
< ky (y ? d )2 + 1 ? 1 2 ;
w if y < dw
Py = : 2
ky (y ? d )2 ;
2 y dw (3.4)
2 w else-wise.
P = 2k 2
Figure 3.11: The potential distribution for the command Follow Wall.
61
3.3. FROM TASK POTENTIAL TO SENSOR-BASED ACTION 62
where kx; ky ; k; are positive gain constants. The Task Potential is thus:
P = P x + Py + P
the expression is the calculated:
0 ?kx(x ?xp)
1
F =B @ ?ky (y ? dw ) + y1 ? d1w y12 C
A
?k
If an important distance x (which is expected in this action) is supposed, we present
in gure 3.11 on the preceding page the distribution of this potential in function of the
variation of y and . Note that the only minimum is at the conguration x; y = dw ; = 0.
This potential tends towards innity on the surface of the wall. Note also that the part of
the y-component that guarantees the non-collision is null when y > dw .
The asymptotic stability of this force is insured by the addition of a dissipation and thus
the force becomes:
F = F ? K X_
where K is a diagonal matrix of the form:
0k 0 0 1
x_
K = @ 0 ky_ 0 A
0 0 k_
where kx_ ; ky_ ; k_ are positive dumping gain constants. In fact these constants depend upon
the proportional gain constants of the dierent components of the force F . We shall show
this dependency in the study of the stability of the system.
Stability:
In order to simplify the presentation of this study, we will suppose that the action to realize
id the following of a semi-line with constant velocity. This means a the stabilization of
the components y; of the vector X. Then we will consider only the linear part of the y
component of the force for the quadratic part does not have an eect on the correction of the
distance from the wall4 .
We will study the stability of the control point Pc of the robot (gure 3.10 on page 60)
under the in
uence of a force F, given by:
c ? k x_
F = ?ky y ?x_ ky_ y_
We will show afterwards the convergence of the robot conguration X under the nonholonomic
constraints. We will consider dw = 0.
Let q = [qx qy ]T be the vector which determines the position of the command point Pc
which is at a distance dc 6= 0 from the center of the robot and which satises the following
relations:
x = qx ? dc cos
y = qy ? dc sin (3.5)
4 The quadratic part insure the non-collision with the surface of the wall.
62
3.3. FROM TASK POTENTIAL TO SENSOR-BASED ACTION 63
The point q, being at a non null distance from the center of the robot, may be considered
as a holonomic point and thus be controllable by dynamic feedback [d'Andrea Novel 92,
d'Andrea-Novel 95]. When considering a unitary mass centered on this point, we can describe
its movement by:
q = F
The resolution of this dierential equation is direct and gives us the expressions q(t); q_ (t); q (t),
functions of the initial state and of time.
Once this equation is derived 3.5 on the preceding page, the expressions of the velocity
of the center of the robot are:
x_ = q_x + dc ! sin
y_ = q_y ? dc! cos (3.6)
and the nonholonomic system equations are:
x_ = v cos
y_ = v sin (3.7)
_ = !
where v; ! are the linear and angular velocities of the robot respectively. These can be
expressed using the velocity of the control point in the following way:
v = q_x cos + q_y sin
! = ?d1 (q_x sin ? q_y cos ) (3.8)
what interests us is the convergence of towards zero when qy converges to zero. This
implies the convergence of y towards zero according to the equation 3.5.
The initial orientation of the robot 0 being known, the evaluation of can be expressed
by a limited development of order one of the expression of ! which gives:
(tn+1 ) = (tn ) + t_(tn) + o(t)
where o(t) ! 0 j t ! 0. This evolution can be expressed in the form of a sequence:
= ? t (q_ sin ? q_ cos )
n+1 n d x n y n
with:
! cdkt j t ! 1
x_
If veries the condition (0 < 1), which is veried in the practice, then for all in the
compact set A dened by:
A = ] ? 2 ; 2 [
f () represents a lipschtzian (noted LipC )5 function for it veries the following property:
jf (2) ? f (1)j C j2 ? 1 j ; C 2 <+ (3.10)
According to the theorem of the xed value, the application f is contractant if and only
if it is LipC for at least one C 2]0; 1[, then f have one and only one xed point (i.e. x such
thatf (x) = x).
Proof: According to th nite increase theorem:
jf (2) ? f (1)j j2 ? 1jMax
2A
jf 0()j
whence:
jf (2) ? f (1)j j2 ? 1j(1 ? Min
2A
j cos j)
the term = Min
2A
j cos j is positive and superior to zero, then the previous equation becomes:
jf (2) ? f (1)j (1 ? )j2 ? 1j
with C = 1 ? 2 ]0; 1[, which implies:
n ! j f () = ) = 0 (3.11)
The property 3.11 that converges towards and that according to 3.9 on the page
before, this value must be zero.
Bounding of speed and acceleration: The control of the command point Pc must respect the
maximum velocity and acceleration constraints of the robot. According to equation 3.8 on
the preceding page, we can write these bounding relations by:
v = Mv (jq_ j)
! = d1 M! (jq_ j)
v_ = Mv_ (jqj + jq_ j)
!_ = 1d M!_ (jqj + q_ j)
This means that the bounding of the speeds is guaranteed by the bounded velocity of the
control point and same-wise for the acceleration.
5 A dierentiable lipschitzian function has bounded derivatives.
64
3.3. FROM TASK POTENTIAL TO SENSOR-BASED ACTION 65
Execution control:
The preceding formulation enabled us to prove the convergence of this action guided by the
Task Potential towards a robot state relative to the wall. Nevertheless it is oversimplied in
real execution context. In practice, the type of the sensor used may impose certain conditions
on the initial state of the robot. (This is the case of ultrasonic sensors.) Also, the wall to
follow may be composed of several segments. (Some may even be separated.) We will discuss
these points and develop solutions for them.
αm
Problem of openings.
The consequence of this problem is directly on the attraction potential Px. An opening in
the wall corresponds to the end of a segment. The potential minimum of Px will be thus
placed on this vertex. The evident solution of this problem is to detect the collinearity of the
two segment around the opening (x 2.3.2 on page 40), and to approximate them by a single
one. This supposes the existence of a parameter that determines the maximum length of
an opening. Also is supposed the detection of the opening and both surrounding segments.
Some times (e.g. ultrasonic sensors) this is dicult to detect. In order to make the operation
more robust it is necessary to determine the dierent control parameters that enable the
specication of the form of action to realize. These parameters are naturally issues from a
level of planning that characterizes the behavior of the action and the conditions related to
execution. We present in chapter 4 a global denition of dierent feedback actions in the
context of a system of navigation with uncertainty. We show equally several experiments in
cooperation with the planner PWU developed by [Bouilly 95a].
65
3.4. DISCUSSION 66
Collision avoiding:
One of the fundamental interests of the Task Potential formulation is the possibility of taking
obstacles into account permanently. The additivity of convex potentials enables us always
to associate a repulsive potential function of a minimum distance from the robot and to add
this potential to the Task Potential. The global convergence is no longer insured in the case
when local minima appear but the task becomes more feeble.
In order to introduce the collision avoidance in this action, we reconsider the denition of
the angular sector
made for the action Parallelize. We dene the distance de : AO
! <+
that returns the shortest distance between the robot and the objects
. We associate to this
distance a repulsive potential that insures non-collision.
Experimentation:
Figure 3.13-I- show the execution trace of the action Wall Follow. The follow distance is
xed to half a meter. The linear and angular speed proles as well as the distance to wall
are presented in gure 3.13-II-. We can note that the angle of approach is constant which is
due to the equilibrium between the couples and y . In this example the gain constant k
is more important than ky . In gure 3.14-I-, -II-, we present the same example but for an
angle of approach which is more important. consequently the correction in distance is faster.
We can also note the important angular acceleration generated by the couple near the
follow distance.
Figures 3.15, 3.16 show two examples of wall follow in presence of obstacles. Due to the
fact that the rst obstacle (gure 3.15 on page 68) is found near the wall, it is practically
considered as a part of a segment of the wall. The second obstacle on the side opposite to
the wall obliges the robot to violate the follow distance in order to avoid collision. A local
minimum may occur with an obstacle whose position makes avoidance impossible.
Analysis:
In the practical context of the usability of this command, the recognition of the wall must
not be an ambiguous operation. As we have noted earlier, the sensor type and its degree
of perception impose an \correct" initial state of the robot relative to the wall. Also, the
constraints relative to sensors impose conditions on the form of the wall. fro example a
wall composed of segments with acute angles between them may be too constraining for this
action. We represent in chapter 4 how we resolve such problems.
3.4 Discussion
The formalism of the Task Potential enables the conception of relatively complex sensor-
based actions which increases considerably the capacity of the reactive level in the global
robot architecture and which makes execution more ecient. It guarantees the convergence
of realizable tasks by exploiting the properties of convex potentials. It is also capable of
permanently taking into account obstacles which makes execution more robust.
This formalism enabled us to realize several sensor-based actions other than those devel-
oped in this chapter:
Corridor Follow This action is an extension of the action Wall Follow. It consists to generate a
66
3.4. DISCUSSION 67
-I-
1.4
d
1.2
Velocities & Distance
W
1 V
0.8
0.6
0.4
0.2
0
-0.2
0 10 20 30 40
Time (secs)
-II-
Figure 3.13: -I- Execution trace of the action Wall Follow, -II- corresponding parameters
prole.
67
3.4. DISCUSSION 68
-I-
1.4
d
1.2
Velocities & Distance
W
1 V
0.8
0.6
0.4
0.2
0
-0.2
0 10 20 30 40
Time (secs)
-II-
Figure 3.14: -I- Execution trace of the action Wall Follow, -II- corresponding parameters
prole.
68
3.4. DISCUSSION 69
displacement along a corridor while minimizing its distance to the potential minimum.
Figure 3.17 shows the prole of this action.
© Oper
69
3.4. DISCUSSION 70
which serve as primitives to be used in the denition of a Task Potential. A system could
be imagined that builds potentials corresponding to a task by using the task denition and
these primitives.
In the next chapter a sensor-based navigation system with uncertainty is presented. It
uses the dierent actions dened in this chapter and proves their utility and eciency.
70
Chapter 4
Application to planning with uncertainty
In the context of planning, we presented in paragraph 3.1 the problem of cohesion between
execution and planning. The use of planning strategies based on uncertainty evaluation
represents an ecient solution that makes execution more solid. Several approaches were
developed in literature concerning the generation of execution plans taking into account
uncertainty[Alami 94, Bouilly 95a, Collin 95, De la Rosa 96]1.
In the context of this work, experiments were eectuated of the navigation with uncer-
tainty system SB CM, from which a relation was established with the planner PWU in order to
validate the eciency of our dierent sensor-based actions.
Bouilly proposed [Bouilly 95a, Bouilly 95b] an approach based on the propagation of a
potential function in a bitmap taking into consideration the accumulation of uncertainty
related to the robot displacement. The method proposed a propagation strategy parallel to
the potential taking thus into account all the zone of possible relocalization and covering the
totality of free-space. A geometric analysis is then realized on the environment in order to
determine the possible displacements in the contact space. This analysis consider equally the
relocalization on the dierent vertexes belonging to this space. The planner (PWU) generated
thus a sequence of displacement primitives containing sensor-based actions, relocalizations
and free-space movement.
71
Chapter 4. Application to planning with uncertainty 72
3 3
Init
3
2 1
3
2 Goal
2
sists of using movements in contact-space which implies sensor-based actions. The decrease
in uncertainty apported by these actions makes it possible to reach the goal safely.
The method being based upon the propagation of a numerical uncertainty potential in
a bitmap, the path produced is initially in the form of a sequence of congurations. These
are labeled according to the nature of space to which they belong (free or contact space).
This information enables the deduction of a set of actions composing the plan (free-space
movement, sensor-based motion, relocalization, : : : ) and to provide the dierent parameters
necessary to their execution.
72
Chapter 4. Application to planning with uncertainty 73
Mission
Environment
Robot Answer
Controller
Answer S/C/A
Sequencer PWU
SBM
Command Request
Answer
Motors Lecture
Actions denition
y y
y
y
x x
∆Θ y ∆Θ
x
∆Θ ∆L r y
x
x
x
a b c
Figure 4.3: Free-space displacement.
Free-space displacement
SBC TRUN(): is a pure rotation command around the center of the robot which is
equally the middle point of the wheels axis (gure 4.3-a).
SBC MOVE(; L): is a relative displacement command. The rotation is executed
before the displacement and the sign of the parameter L determines the direction of
the movement (4.3-b).
SBC ARC(; r; u): is a relative displacement command on an arc of circle of radius r,
determines the angular variation and u the direction of the movement (4.3-c).
These dierent actions belong naturally to the basic functionality of our experimental
robot Hilare architecture (see annex A).
Sensor-based actions
SBC MOVE TO CONTACT( Lmax ; dc; d; u): brings the robot from free-space to contact space
(x 3.3.1 on page 51). Lmax is the maximum distance permitted for the robot to cover
73
Chapter 4. Application to planning with uncertainty 74
y
y
y
x
L_max θ
x side Θ max
dc x
a b
y y
x L1 L2 x
d_w
y
x
∆Θ
y
x
c
Figure 4.4: Sensor-based actions.
without nding contact, dc determines the contact distance with an error d , u is the
direction of the movement (gure 4.4-a).
SBC PARALLELIZE (min ; s): in a command in contact space to be parallel to an object
(a wall) which represents contact (x 3.3.2 on page 56). min expresses a minimal
rotation before getting parallel and s determines on which direction the robot should
have the object (4.4-b).
SBC WALL FOLLOW (walls): is an action composed of a sequence of wall follow by a list
walls. The structure of each element of this list is dened by:
SBC ONE WALL (s; dw ; L1; L2; vertex): s determines the side on which to nd the
wall and dw is the distance to respect. L1 is the distance to move before the
apparition of the rst vertex while L2 is the maximum distance to move before
nding a vertex gure 4.4-c). Vertexes are described by a structure vertex.
SBC VERTEX (type; ; action): type 2 [Convex; Concave; None] determines the
type of the vertex and the angle between the surrounding two walls. action 2
[End Follow, Switch Wall, Switch Side] characterizes the behavior of the com-
mand associated to a vertex.
The parameters L1 ; L2 re
ect in a direct way the evolution of the uncertainty related to
the displacement along the wall. L1 expressed the displacement during which, taking
into account the uncertainty, the robot can never detect the vertex. In the same way
L2 expresses the displacement at the end of which the robot has completely passed the
vertex.
74
Chapter 4. Application to planning with uncertainty 75
Related to the denition of a vertex, the type None is used in case of an associated action
corresponding to a dynamic change of side which corresponds to the action Switch Sides.
On the other hand the action End Follow is always associated to the last wall on the
list.
An execution plan is thus a sequence of dierent actions The control parameters cor-
respond to error answers which come from execution level SBM and are interpreted in the
control level.
Particularly, in what concerns the action SBC WALL FOLLOW this denition requires an
adaptation of the action Wall Follow with respect to the one presented in paragraph 3.3.3
on page 60. We will develop in the next paragraph this adaptation in the formalism of Task
Potential.
75
Chapter 4. Application to planning with uncertainty 76
where xs (t) represents the abscissa of the vertex at time t, kwf is a positive gain and is a
time constant that determines the transition slope. The convex composition is thus:
P = (1 ? fwf (t))Pwf + fwf (t)Psw
In the same way the transition between this phase and the next wall follow is eectuated
by the function:
k
fsw (t) = sw (1 ? e?j?(t)j ) ofj ? (t)j > 0;
0 elsewise;
with: Zt
(t) = !(t)dt
0
fsw (t) is a positive monotonous and irreversible function of time, ksw is a positive gain and
is the same as before. (t) represent the angular variation realized at time t. The instance
0 in this integral is the moment when xs (t) becomes zero.
In case the dynamic localization of the vertex is not realizable, its detection is an event
done only once. We dene thus the potential:
Psw = (((xx??xx0))2++((yy??yy0))2?+R2)
2 2 22
0 0 r
whose minimum is on a circle with center (x0; y0) and radius R (gure 4.6 on the next page3).
The circle center occupies the position of the vertex at the moment it was detected and the
radius R has the same value given previously. The denominator enables this potential to
increase explosively for value near the vertex and is a positive constant that permits to
adjust the gain between the potentials Pwf and Psw . The transitions between the potential
functions is done the same way as before.
This method supposes, of course, a xed local frame at the moment of vertex detection
in which the robot position is updated during the transition phase. The vertex should be
localized at the moment when its abscissa is the closest to zero in this frame. Equally, an
error on this localization or on the parameter can constrain the execution during this
phase. Still the non-collision potential together with wall follow potential can compensate
the localization error.
Attraction: In the beginning of this paragraph, we have pointed out the problem relative
to vertex attraction potential. In fact, the potential Px as dened in paragraph 3.3.3 is
necessary for the termination of the action. (For the last wall in the sequence). Nevertheless,
the distance associated to this potential in the case of consecutive walls is the remaining
distance in order to cover a distance equal to the sum of the lengths of the walls.
Another solution is void-attraction. For this we use a denition similar to that of the
distance d presented in paragraph 3.3.1.
Vertex detection: We will develop more thoroughly the dierent aspects related to perception
in annex B. In fact this aspect is narrowly related to the sensors of which we will consider
two cases: laser and ultrasonic.
3 The gure shows the potential on an interval d = ! R, d being the distance to the wall.
76
Chapter 4. Application to planning with uncertainty 77
Wall changement
Wall follow
77
Chapter 4. Application to planning with uncertainty 78
Experimentation
Mission: LMS5
Here we show the eect of taking into account the uncertainty in the navigation strategy.
The mission consists in moving the robot from the point Init to the point Goal. The start
uncertainty being small the planner generate a sequence of displacements in free-space (gure
4.7a).
78
Chapter 4. Application to planning with uncertainty 79
This mission realizes a relatively long displacement. Figure 4.8a shows the rst part of
this mission.
The robot, before the panning phase, is localized by an extern instrument. (A camera
on the roof localized a specic motif placed on the robot.) This task was to go from the
conguration A to the conguration B. Table 4.2 shows the actions sequence generated by
the planner.
1 SBC MOVE( = ?1:58; L = 1:74)
2 SBC TURN( = :87)
3 SBC MOVE TO CONTACT(Lmax = :75; dc = :07; d = :1; Foreward)
4 SBC TURN( = 0:34)
5 SBC ARC( = :35; r = 1:05; Foreward)
SBC WALL FOLLOW
6 Wall1(Right; dw = :34; L1 = 2:6; L2 = :87; = ?1:51; Convex; Switch Wall)
Wall2(Right; dw = :34; L1 = 5:22; L2 = :38; = ?1:57; Convex; Switch Wall)
Wall3(Right; dw = :34; L1 = :29; L2 = 0:; = 0:; None; End Follow)
7 SBC ARC( = :34; r = 1:05; Foreward)
8 SBC TURN( = :43)
9 SBC MOVE TO CONTACT(Lmax = :27; dc = :07; d = :1; Foreward)
10 SBC TURN( = ?:43)
11 SBC ARC( = ?0:34; r = 1:05; Foreward)
12 SBC WALL FOLLOW
Wall1(Left; dw = :34; L1 = 14:11; L2 = 2:70; = 1:57; Convex; End Follow)
13 SBC MOVE( = 0:; L = :43)
14 SBC ARC( = 0:34; r = 1:05; Foreward)
15 SBC MOVE MoveMove1 ( = ?0:02; L = :60)
2 ( = 0:46; L = :27)
79
4.1. CONCLUSION 80
This mission shows the link between the task and the model environment. The controller
uses two models to compose this mission. Figures 4.9 on page 83a, b show the execution of
this mission.
4.1 Conclusion
The dierent sensor-based actions developed in the Task Potential formalism created a rich and
solid basis to establish a robust navigation system. The planning, especially with uncertainty,
and the primitives set we have dened, were an ecient unit on which relatively complex
displacement tasks were and can be built. We have pointed out by numerous experiments
the simplicity and thus the eciency of the realization of a displacement task in dierent
environments by the bias of our navigation system.
Moretheless, these dierent sensor-based actions were put in service in the context of
Project Inter-prc CHM, PRC-IA thus demonstrating, via an important number of experiments,
its eciency and
exibility.
From the point of view of construction, we would like to emphasize the sensibility of this
approach to the several parameters attached to forces (e.g. proportional gains, dissipation,
: : : ). Nevertheless, The choice of these constants is not wholly empiric being for the most
part dependent upon each other. Also the domain of each variable on which depend the
forces is completely determined by the robot and sensor limits. Still we think it important
to try optimizing th parameters in function of these limits and of the nature of the task.
80
4.1. CONCLUSION 81
© Oper
RIA (0, 0)
Junior
Init
Hilare2−bis
Goal
© Oper
-a-
RIA (0, 0)
Junior
Init
Hilare2−bis
Goal
© Oper
-b-
RIA (0, 0)
Junior
Init
Hilare2−bis
Goal
-c-
Figure 4.7: Experiment LMS.
81
4.1. CONCLUSION 82
© Oper
RIA (0, 0)
Hilare2−bis
Note1
Note2
© Oper
-a-
RIA (0, 0)
Hilare2−bis
Note1
Note2
-b-
Figure 4.8: Experiment HVL.
82
4.1. CONCLUSION 83
© Oper
© Oper
a
b
Figure 4.9: HVTL: Execution trace.
83
Part III
84
Chapter 5
The elastic band
5.1 Introduction
We will develop in this chapter a new way of combining planning and reactivity. As we have
seen in chapter 2, the execution of a planned trajectory should be realized in a reactive
system to avoid collision. This represents eectively a common solution to the problem. In
our approach the robot was always obliged to minimize the drift from the original trajectory
even while avoiding obstacles.
Dierent approaches exist in the literature. Krogh and Thorpe [Krogh 86] proposed
to replace the planned trajectory by critical points. The articial potential eld method
[O. Khatib 86] is then applied to move the robot between these points. The drawback of this
method is that the robot does not move on the original trajectory, which makes robot control
between such points more dicult.
Choi introduced [Zhu 89] a channel concept to represent the environment. A channel
is dened by a sequence of adjacent congurations in free-space joining the initial and the
goal congurations. A potential eld is dened to guide the robot along the channel to the
goal position. Unfortunately, the out-line construction of channels prevents the taking into
account of subsequent changes in the environment. (e.g., if all the obstacles disappear the
robot will not go straightforwardly to the goal.) Also, the channel being constructed before
execution, the evolution of the environment may render its boundaries too constraining.
In fact, this last point is an important problem in the control architecture of a robot.
The liberty of the reactive system depends on that given by superior levels in the control
hierarchy. It is not always recommended for the robot to drift from its trajectory to go in a
direct line to the goal even though it may be possible and realizable. (This is true for example
in a multi-robot coordination). We will suppose in this chapter and the next the possession
of a total liberty of movement in the free-space. When the obstacles are immobile, the class
of homotopy of the trajectory is of course preserved.
In this context, Quinlan and Khatib [Quinlan 93, Quinlan 92] proposed a dynamic trajec-
tory modication concept called the elastic band, which consists in maintaining a permanent
exible path between the initial and goal congurations. Here, a path is a sequence of cong-
urations in free-space. Internal forces are dened on such sequences to optimize the path and
85
5.2. THE ELASTIC BAND 86
guarantee its connectivity. External forces, due to obstacles, are applied to keep a collision-
free path. Thus, global information about the elastic band evolution have an eect on the
local behavior of the robot. Being dened for holonomic robots, an implementation of the
original elastic band method proved to be inadapted to non-holonomic mobile robots. We
have thus tried to adapt it to such robots. In this chapter we present a modied method and
point out its advantages and drawbacks. Then we introduce the notion of a bubble. In the
next chapter, we present a new formalism of this concept in a Reeds & Shepp metric system
taking into account the kinematic constraints of the robot.
fact that this does not change the energy of the elastic band. This phenomenon occurs when
some zone have a greater energy than the surrounding ones. The restriction force is given by:
Fconst(s) = ? Fext0 2p p0
0
kp k
This force is necessary only to constrain the movement of particles along the elastic band
and have no eect on the energy of the band. This is why they cannot be derived from
potentials.
Finally, the resultant force on each particle generates a displacement proportional to this
force. This is written as:
@ p / F:
@t
The movement of particles must always guarantee the connectivity of the band. For this,
a procedure of creation and elimination of particles in put in place.
qi?1 qi
Fint
qi+1
Figure 5.1: The internal force of contraction.
This force generates a contraction between particles. The corresponding potential is
given for the continuous model by the equation 5.1 on the preceding page. This internal
potential becomes:
mX
?1
Pint(q1; : : : ; qm) = kqi+1 ? qik
i=1
87
5.2. THE ELASTIC BAND 88
The contraction force exercised on the particle qi is then the negative gradient of this
potential on qi which gives:
q ?q q ? ? q
Fint(i) = i+1 i i 1 i
kqi+1 ? qik + kqi?1 ? qik
where 1 < i < m, considering the congurations q1 et qm xed.
This equation expresses the nature of the (uniform) stress along the band. Each particle
tries of attract its two direct neighbors
The external forces:
If is the distance between two successive congurations (which correspond the s)
the potential given by the equation 5.2 on page 86 becomes:
X
m
Pext(q1; : : : ; qm) = Pext(qi):
i=1
This potential depends linearly on which could have a unitary value. The potential
Pext is chosen to satisfy the conditions of a repulsive potential (x 1.4 on page 9). It is
of the form:
kp (d ? d )2
if d < d0 ;
Pext(q) =
0
2 0
else-wise.
where kp is a positive repulsion gain. The distance d depends on the conguration q
and expresses the shortest distance between it and the obstacles. The force associated
on this potential is then:
?k JT (d ? d ) @d
if d < d0 ;
Fext (q) = p x 0 @x
0 else-wise.
where x is the nearest point on the obstacles relative to the robot occupying the con-
guration q and Jx T is the Jacobian matrix associated to the point x. The force Fext
is thus proportional to the value (d ? d0) and is ported by the unitary vector @@dx 1 .
The forces exerted on the band being dened, we characterize now the movement of each
particle exposed to these forces.
q0 = q + F (5.3)
This method of displacement is an explicit application of the method of Euler which does
not guarantee the stability of the band. Quinlan [Quinlan 95] proposes a method of repetitive
1 This vector is only unitary if the distance is Euclidean or normed.
88
5.3. THE MDT 89
minimization to choose one of the best congurations of the neighborhood. The minimization
here concerns the external potential energy. Such a procedure is costly in time and may loop
indenitely. We will present an implementation not sensible to this problem.
Moretheless, the movement of a particle should guarantee the connectivity of the band
as well as the non-collision of the new conguration. A rst implementation considered the
movement in a regular bitmap. This implied that the distance between two particles should be
strictly inferior to 2 . Consequently, if a particle eectuates a displacement that separates
it from its neighbor a new particle is created in an intermediate conguration. Thus the
connectivity is respected. In the same way if the new conguration of a particle is the same
as one of its neighbors, the particle is eliminated.
In implementing the bitmap version of the elastic band we have supposed a circular robot.
gure 5.2 on the next page shows the eects of the dierent force applications. The initial
trajectory is given by a planner (5.2-a). This trajectory is optimized and smoothed once the
internal and external forces are applied (5.2-b, -c). The band is deformed by the presence
of unexpected obstacles which could be eventually movable (5.2-d). Figures (5.2-e, -f) the
concatenation and the optimization of the new trajectory while the band is deformed to avoid
an obstacle.
It should be noted that the optimization and the deformation of the band does not change
the homotopy class of the initial trajectory. In fact the liberty of deformation of the elastic
band must be controlled. It depends greatly on the position of the detected obstacle and on
the current position of the robot on the band. In practice, the localization of an obstacle
in done in a position relatively near the robot, thus deforming the band. Nevertheless, the
violation of the clearing distance which is expressed by an increase in the internal energy of
the band expresses a failure. On the other hand if the perception enables the localization of
obstacles away from the robot, the consequent deformation propagates the long of the band
and modies eventually the execution.
Discussion The previous formalism of the elastic band enables the optimization and the
execution of a holonomic trajectory in an ecient collision-free way. Figure 5.3 on page 91
shows the real form of the elastic band issued from this implementation. In fact we consider
only the position (x; y ) of a mobile robot. The band creates an optimized sequence of robot
positions which the execution may interpolate by some curve. One of the most important
advantages of the method is its reactivity to unexpected obstacles. Nevertheless, during exe-
cution or when concatenating a new trajectory, the deformation of the band must guarantee
that the positions generated may always be interpolated and executed. This is not the case
of the current formalism for the particles move in a holonomic way.
The problem related to the holonomic displacement of a particle has its origin in the
initial formulation of the method. An elastic object may be deformed, within its domain of
elasticity, in any shape or form. Particularly the curvature may not be continuous. To solve
this, we imagined a solid elastic band, in which the particles are subject in addition to the
contraction force to a resistance torque called MDT2 against bending just as that applied on
an iron bar. This model will be developed in the following paragraph.
89
5.3. THE MDT 90
-a- -b-
-c- -d-
-e- -f-
Figure 5.2: The dierent states of the elastic band. -a- The initial trajectory, -b- The appli-
cation of contraction forces, -c- The application of the repulsive forces, -d- The deformation
of the band in presence of an unexpected obstacle, -e- Concatenation of a new trajectory, -f-
Final state of the band.
90
5.3. THE MDT 91
© Oper
ys
xs
Rs
C Vi i
s qi
qi+1
91
5.3. THE MDT 92
? ?
k 2
Pmdt(q) = 0mdt (sign() ? ) ; ifelse-wise.
jj > ,
where 2 R+ represent the angle at which the potential becomes zero, kmdt is a positive
gain and sign : R ! f1; ?1g is a function returning the sign of . gure 5.5 shows the form of
this potential function. The parameter is dynamically calculated in function of the oset
s between the two particles. For small values of s, the relation is given by:
= R s
min
where Rmin is the steering radius expressing the maximum curvature along the band.
The application of the operator ?r on this potential gives us the torque to apply on the
conguration q which is:
?k
mdt sign()(sign() ? ) @ q ; if jj > ;
@
Fmdt = ?rPmdt(q) = 0 else-wise,
with
2 Material resistance torque
92
5.3. THE MDT 93
@ = 1 ? sin :
@q s cos
q
ys Vi Frdm
>0
xs
Frdm
<0
Rs q
Vi
jVij = s
Figure 5.6: The MDT force issued from the potential in function of .
@
@q represents the direction of the force vector Fmdt . Note that this force is perpendicular
to the vector Vi and that its direction depend on the term ?sign() (gure 5.6). This force
corresponds to a torque that acts to bound the angular dierence . Similarly, we apply this
force starting from the end position in order to guarantee the goal orientation continuity.
All together, each particle is exposed to the following forces:
A contraction force which tends to minimize the drift from a line segment joining the
two neighboring particles.
A resistance force controlling the curvature at the present conguration.
An external force due to obstacles guaranteeing non-collision.
Particles displacement
The dierent forces applied on the band are issued from potential functions. These forces
are thus conservative and have a periodic stability. To have an asymptotic stability we add
a dissipative term to the force. Thus each particle converges as well as the whole band. This
idea was previously proposed in [Quinlan 92], but in their context, the particle displacement
methods used is not stabilized by the addition of such a dissipative force. The reason for this
is the non taking into account of the speed of the particles.
In our case, we consider the displacement if a particle generated by the acceleration
resulting from the force resultant. Thus, we conserve the information on the current velocity
of a particle making the dissipative force eect more real. The particle displacement becomes:
q0 = q + 21 Fdt2 + q_ dt (5.4)
where 2 R+ is a positive term expressing the mass and dt is the update period of the band
state. q_ is the current velocity of the particle and F is the bound total force applied on it.
This force is given by:
F(q) = Fint + Fmdt + Fext ? kv q_
where kv is the positive dissipative gain.
93
5.3. THE MDT 94
© Oper © Oper
© Oper
-a- © Oper
-b-
-c-
© Oper
-d-
Solution
-e-
Figure 5.7: Integration of the MDT torque in the elastic band. -a- The holonomic elastic
band, -b- the application of the dierent forces and of the force MDT, -c- The elastic band
deformation under the eect of an unexpected obstacle, -d- curvature violation when the robot
approaches the goal, -e- A possible solution.
95
5.3. THE MDT 96
an unknown obstacle after leaving the rst known obstacle. The ultrasonic measures are
dynamically injected in the \bitmap" producing thus a deformation of the band under the
eect of the repulsive force (gure 5.3-e).
Figure 5.9 on page 98 shows the dierent traces of the whole execution: laser points,
segments, robot position and ultrasonic echoes.
3 We insist on the fact that this should be decided by the upper levels in the architecture.
96
5.3. THE MDT 97
-a- -b-
-c- -d-
-e-
Figure 5.8: Experimentation of the elastic band. -a- Bitmap construction, -b- Initial tra-
jectory, -c- Trajectory optimization and smoothing, -d- Initial elastic band, -d- Nominal
execution of the elastic band, -e- Elastic band deformation to avoid an unexpected obstacle
during execution.
97
5.3. THE MDT 98
Figure 5.9: Laser points, segmentation, ultrasonic echoes and execution trace.
98
Chapter 6
Nonholonomic bubble band
q
dt(q; p) = (qx ? px)2 + (qy ? py )2:
During rotation, the distance covered by every point depends on its distance from the center
of the robot. Thus, the maximum distance is that of the most eccentric point, at a distance
r from the center. This covered distance is:
dr (q; p) = rjq ? p j:
The maximum distance covered by a point on the robot is the sum of these two distances.
The bubble B (q; d) is then dene by:
B(q; d) = fp : dt + dr < dg:
A bubble
Obstacle
d
y
Robot
r
x
y
d0 < d 1 < d 2 d = d2
d = d1
d = d0
2
2 1 x
1
Bubbles
101
6.2. METRIC STRUCTURE 102
(1) C jC S
2
(3) C jS
(2) C jC
102
6.2. METRIC STRUCTURE 103
Consequently, the iso-distance balls were geometrically constructed [Vendittelli 96], and
a distance between a conguration and a line segment was then developed and expressed
analytically. This distance is noted
dcs : (R2 S 1) (R2 R2) ?! R+ :
We have thus three distance functions. One, a true distance, is dened on the cong-
uration space transforming it to a metric space; the second, a distance between points in
the real space and the conguration space; the last, a distance between segments in the real
space and points in the conguration space. The last two distances are used in calculations
between the robot and the obstacles.
y
S1
1j
S3
d
d
S2 3j
2j
v 2 v
u x
Discussion
Our objective is to reconstruct the elastic band by replacing the particles by bubbles compat-
ible with the movement of car-like robots. The use of these bubbles is the possible decrease
on the number of treated entities and the permanent and automatic existence of a feasible
path even if the band is deformed. In the next paragraphs we give the proof of this property
and develop the dierent parts of this new formalism.
Denition 6.3.2 Two bubbles B (p; r) and B (q; s) are said to be connected if
B(p; r) \ B(q; s) 6= :
Proposition 6.3.1 Two bubbles B (p; r) and B (q; s) are connected if and only if
dcc (p; q) r + s:
Proposition 6.3.2 Let B (p; r) and B (q; s) be two connected bubbles. The Reeds and Shepp
path,
[p; q], connecting the two centers is wholly included in the union of the bubbles.
[p; q] x
B (q; s0 )
p
B (q; s)
B (p; r)
This proposition enables us to prove the existence of a feasible path from the initial
conguration to the nal conguration by nding a sequence of connected bubbles joining
both congurations.
6.3.2 Forces
The forces applied to the bubbles are, as before, of two essential types. The external forces
due to the repulsion of the obstacles and the internal forces which work to keep the bubbles
connected, as long as possible, and optimize the form of the band.
Internal Forces
The internal forces are functions of the successive congurations expressed using the metric
distance between congurations. In this way the particularities of the conguration space
and thus of the robot constraints, being inherent to this metric are easily expressed.
How should the bubbles interact with each other? This is a crucial question because once
the inter-bubble interactions determined, they can be translated into potential elds, which in
their turn determine the internal forces of the bubble band. In this subsection B (pi?1 ; ri?1),
B(pi ; ri) and B(pi+1 ; ri+1) are three consecutive bubbles in a bubble band.
Firstly, adjacent bubbles should remain connected. That is
d+cc (pi) = dcc (pi; pi+1) ri + ri+1 ? c : (6.1)
for some small c 2 R+ .
Secondly, adjacent bubbles should not overlap too much lest the band tends to be over
charged uselessly with bubbles, with consequent eects on the eciency of the method.
Thus
d+cc (pi) = dcc (pi; pi+1 ) ri + ri+1 ? o ; (6.2)
for some small o 2 R+ greater than c .
Finally the band should tend to contract. Away from the obstacles it should even be
a straight band. Thus a middle bubble should try to place itself on the path joining
its two neighbors. If
[pi?1; pi+1 ] R2 S 1 is the path between the centers pi?1 and
pi+1 then:
dcc (pi ;
[pi?1; pi+1]) ;
for some small 2 R . More explicitly, If
p [pi?1; pi+1 ] : [0; 1] ?! R2 S 1 is a
+
parameterization of
[pi?1; pi+1 ], pi should be close to the point
p [pi?1 ; pi+1](~ri)
on the path, where r~i = ri?r1i+?r1i+1 is the radius-weighed barycenter of pi?1 and pi+1 .
Thus:
d
cc (pi ) = dcc (pi ;
p[pi?1 ; pi+1](~ri)) : (6.3)
106
6.3. NONHOLONOMIC BUBBLE BAND 107
Using the constraints 6.1 to 6.3 and noting d?cc (pi ) = d+cc (pi?1 ), the following potential
elds are deduced
Pf (pi) = K2f d+cc(pi) ? (ri + ri+1) + c d+cc(pi) ? (ri + ri+1) + o
Pb(pi) = K2b d?cc (pi) ? (ri?1 + ri) + c d?cc(pi) ? (ri?1 + ri) + o (6.4)
Kc
2
Pc(pi) = 2 dcc(pi) :
where, Kf , Kb and Kc are positive constants. Pf is called the forward connection potential,
with next bubble, Pb the backward connection potential and Pc the contraction potential.
Let Pi the total internal potential be:
Pi = P f + P b + P c :
Then, the internal force is
Fi(pi) = ?rPi(pi):
As an example, let us calculate the force due to the forward connection potential
?rPf (pi) = d+cc(pi) ? (ri + ri+1) + c +2 o @@p d+cc(pi)
i
The rst factor is the magnitude of the force. This magnitude becomes null when the
distance
d+cc (pi) = (ri + ri+1) ? c +2 o (6.5)
is in the middle of the region between disconnection and overlapping. The second factor is
the direction of the force. It will be discussed in the subsection 6.3.2.
External Forces
The bubble band should alway evolve in free-space. In presence of mobile or immobile obsta-
cles some interaction should take place to guarantee a collision-free band. These interactions
are performed by external repulsive forces, function of the distance to obstacles. These forces
can be simply issued from repulsive potential elds such as developed in chapter 1. The
repulsive potential is thus:
1
Pr(pi) = P0;r (pi) + Pr (pi); ifotherwise,
dOcs (pi ) dc ,
2
where
Pr1(pi) = K2r (dOcs(pi) ? dc)2;
K
1 1
2
1
Pr (pi) = 2 dO (p ) ? d
2
cs i c
with Kr K1 . Here dOcs (pi ) = dcs (pi ; O), O being the set of obstacles. This choice was
motivated by two reasons. The rst part, Pr1, which dominates near the equilibrium point,
generates a linear force in that region which easily tuned. The second part, Pr2, however,
insures non collision near the obstacle border. In fact, it tends to 1 as the band approaches
this surface.
107
6.3. NONHOLONOMIC BUBBLE BAND 108
Direction of forces
The application of the ?r operator to derive the force expressions from the previously dened
potentials, brings us to calculate @d@ pcs where p is the conguration that varies. In fact, this
last expression gives the direction of the force. Unlike the Euclidean distance, the car-like
compatible dcs , dened previously, have no normalized dierentials. They contribute thus
to the magnitude of the force. As well, they do not vary smoothly with p, with consequent
eects on stability.
108
6.3. NONHOLONOMIC BUBBLE BAND 109
© Oper © Oper
-a- -b-
© Oper © Oper
-c- -d-
© Oper
-e-
Figure 6.7: Continuity and discontinuity of th direction of the repulsive force.
Figures 6.7-a- and 6.7-b- show a discontinuity in the direction of the force between the
domains 2jand 3j. This is an inherent discontinuity to Reeds and Shepps paths. Figures 6.7-
c- and 6.7-d- show another type of discontinuity that arises. This one is due to the non-
convexity of the ball in the Euclidean plane. In the ve gures is only shown the x and y
components of the force.
109
6.4. CREATION AND MODIFICATION OF A BUBBLE BAND 110
B (pi+1 ; ri+1) p
i+1
pi+1
B (pi+1 ; ri+1)
pi+ 1
2
pi
B (pi+ 21 ; ri+ 12 )
B (pi ; ri)
110
6.4. CREATION AND MODIFICATION OF A BUBBLE BAND 111
To prevent the creation-elimination loop from endlessly creating and eliminating the same
bubble, the following condition should be satised
o > c : (6.6)
This condition expresses a Hysteresis function that governs the creation-elimination pro-
cedure. Note that the elimination test may be applied to all the succeeding bubbles in order
to detect a loop (gure 6.9) and remove it if desired1 .
© Oper
Possible path.
p5
p4
p3
p2
Obstacle
p1
111
6.5. BUBBLE BAND BEHAVIOR EXAMPLES 112
greatest bubble centered at the rst conguration in the sequence. The sequence is then
scanned to nd the last conguration which still belongs to the last constructed bubble. If
B(pi ; ri) is the lastly created bubble. The condition for pi+1 to be the center of the next
bubble is then:
dcc (pi; pi+1) < ri
This conguration is thus taken to be the center of the following bubble which also has
the maximum size:
ri+1 = dOcs(pi+1 )
where O is the set of obstacles.
The previous step is repeated till the goal, last conguration, is found to belong to a
bubble. A last xed bubble is created around the goal even though this last is found in the
previous bubble.
This method insures the connectivity of the bubble band, as well as its total presence in
free-space while making it redundant, obliging the center of each bubble, but the rst, to
belong to its previous neighbor. Nevertheless, this redundancy is not an inconvenience, for
after the rst application of elimination algorithm and of the contraction forces, the band
will become spacious.
6.4.2 Stability
The evolution of the bubbles in the band is governed by conservative forces issued from
convex potential elds. For contraction forces, the potential elds are functions of the metric
distance which is a true distance and conserves thus the convexity property. These potential
elds have thus a unique minimum. Using the same displacement method described by the
equation ( 5.4 on page 93), we add a dissipative force to that issued by the potentials and
obtain:
Fi (pi) = ?rPi(pi) ? kp_ i p_ i
where kp_ i is a positive constant gain.
For obstacles repulsion forces, the potential elds are functions of the point to congura-
tion distance
p which is not a true distance. In fact, this distance presents a problem for lengths
inferior to 2R, as discussed in the sub-section 6.3.2. This is due to the discontinuity of the
dierential of this distance and to the fact that the shortest paths, whose length denes the
distance, does not have the property: All sub-paths of shortestp paths are shortest paths. In
fact, in domains 1jand 2j, sub-paths of length inferior to 2R may not be shortest paths.
To guarantee
p the convergence of the bubble band we impose thus a minimum radius,
Rmin = 2R, on the bubbles.
also that these forces modify the size of the bubbles under contraction eects. The obstacles
repulsion is then applied (x 6.3.2 on page 107) provoking a clearance of bubbles and a greater
space in each (gure 6.13 on the following page).
Nevertheless, the band reacts to unexpected obstacles (gure 6.14 on page 115), by de-
forming the band. The trace of the robot along the trajectory is presented in gure ( 6.15
on page 115). Note that the entire trajectory in included in the union of the bubbles.
© Oper
Figure 6.11: Bubble band creation and the rst feasible trajectory.
113
6.5. BUBBLE BAND BEHAVIOR EXAMPLES 114
© Oper
© Oper
Figure 6.13: Application of internal and external forces and clearance from obstacles.
114
6.5. BUBBLE BAND BEHAVIOR EXAMPLES 115
© Oper
© Oper
115
Chapter 7
Bubble band execution
In this chapter is developed the aspects related to the execution of the trajectory issued from
the bubble band.
We have seen in the last chapter that the path produced by the bubble band passes
by all the bubbles joining the initial to the goal congurations by a sequence of arcs and
segments. The path to execute is thus the concatenation of the Reeds and Shepp paths
f
[pi; pi+1]; i = 1 : : :n ? 1g between the centers of the n bubbles. Each of these paths is a
set of arcs and segments and its curvature is thus discontinuous forcing the robot to stop at
the end of each part.
Several methods are being used currently to smooth these paths such as the use of
clothodes proposed in [Fleury 95] to join segments to arcs. In our case the curve after
being smoothed must belong to the union of bubbles and thus to the free-space. Also, for
reasons related to execution control (synchronization problems between tasks with dierent
cycle periods detailed in paragraph 7.3 on page 127) the parameterization of the part to be
executed must be global and not incremental. These two reasons brought us to adopt Bezier
curves. The advantage of Bezier polynomials is that they can be wholly dene in a convex
envelop as well as their derivatives. We can thus guarantee that the path executed lies in the
union of the bubbles, thus in free-space. As well, the velocity and acceleration on these curves
are bounded, for each belongs to a convex envelop of a nite number of constant vectors.
The only measure that cannot be bounded is the curvature. Here we choose a set of
control points to insure that the curvature lies in the neighborhood of R, the steering radius.
i=0
116
7.1. APPROXIMATION BY BEZIER POLYNOMIALS 117
where t 2 [t ; t ] and
i f
n
n?i
B[ti ; tf]ni(t) = i (t ? t) (t ? t ) ;
i for i = 0 : : :n.
f i
where
k p = fk p0 ; : : : ; k pn?k g; (7.4)
the nite dierences k pi being dened in the following way
0 pi = pi ;
k pi = k?1 pi+1 ? k?1 pi :
A Bezier curve BP [p; [ti; tf]] can be split into two Bezier curves BP [p0; [ti; ts]] and
BP [p00; [ts; tf]] such that
BP [p0; [ti; ts]](t)= BP [p; [ti; tf]] 8t 2 [ti; ts]; (7.5)
BP [p00; [ts; tf]](t)= BP [p; [ti; tf]] 8t 2 [ts; tf]:
Here
p0 = f0ti;ts;tf p0; : : : ; nti;ts;tf p0g and p00 = fnti;ts;tf p0; : : : ; 0ti;ts;tf pn g:
(7.6)
where the convex combinations kti ;ts ;tf are dened in the following way
0ti ;ts ;tf pi = pi ;
? ti k?1 p + tf ? ts k?1 p :
kti ;ts ;tf pi = tts ?
f it ti ;ts;tf i+1 t ? t ti ;ts ;tf i
f i
Bezier curves are invariant by geometric transformations such as translation, rotation
and scaling. That is if T is such a transformation,
T BP [p; [ti; tf]] = BP [T p; [ti; tf]]: (7.7)
117
7.1. APPROXIMATION BY BEZIER POLYNOMIALS 118
118
7.1. APPROXIMATION BY BEZIER POLYNOMIALS 119
p3
p1 = p 2
Bezier
Convex Envelop
Arc
p0
To clarify this, let us consider an arc of center (0; 0)T and radius 1 whose two extremities
are (1; 0)T , corresponding to the angle 0, and (cos ; sin )T , corresponding to the angle .
This is not a restriction because of the invariance of Bezier curves (equation 7.7 on page 117).
The two extremities are (equation 7.8 on the page before)
1 cos
p0 = 0 and p3 = sin ;
and the other two points are (equation 7.9 on the preceding page)
1 cos + sin
p1 = and p2 = sin ? cos :
The parameters and determine the curvatures at the extremities. These curvatures are
(equation 7.12)
i = 32 1 ? cos 2? sin and f = ? 23 1 ? cos 2? sin :
When both curvatures are null
= = cossin + 1 :
In fact the two triplets fp0 ; p1; p2g and fp1; p2; p3g should each be collinear, and thus p1 = p2
(gure 7.1).
This approximation has two drawbacks. In order to smooth the edges of the arc, the
curvature at the middle tends to increase a lot. It is at least 2.5 times greater than the
curvature of the original arc (gure 7.4 on page 122). Since the two middle points enter
in the calculation of curvature of both extremities it is not easy to determine their values
for arbitrary curvatures. The rst drawback is due to the lack of supplementary degrees
119
7.1. APPROXIMATION BY BEZIER POLYNOMIALS 120
p5
p4
p3
Arc
Convex Envelop
p2
Bezier
p1
p0
of freedom that can be manipulated to control the curvature and the second is due to the
fewness of the control points. These reasons bring us to approximate the arcs by Bezier
curves of greater order.
Here we propose an approximation with six control points Bezier curves. For reasons of
clarity, we shall base our discussion on the previously dened arc. The two points at each
extremity are determined by the relations 7.8, 7.9, 7.10 and 7.11 (replacing the indexes 2 and
3 by 4 and 5). This gives us
p0 = 10 and p5 = cos sin (7.13)
and
1 cos + sin
p1 = and p4 = sin ? cos : (7.14)
The expressions for the curvatures at the two extremities being dependent on three dierent
control points each, we have
1 ? sin cos + sin + sin( + )
p2 = + cos and p3 = sin ? cos ? cos( + )
(7.15)
where the six parameters are related by the expressions of the curvatures
i = 54 sin
2
and = 4 sin :
f 5 2 (7.16)
The geometric interpretation of these parameters is the following. On the one hand,
is the distance between p0 and p1 , is the distance between p1 and p2 and is the angle
between the lines p0 p1 and p1 p2. On the other, is the distance between p5 and p4 , is the
distance between p4 and p3 and is the angle between the lines p4 p5 and p3 p4 (gure 7.3
on the next page).
Once and are determined by equations 7.16, we are left with four parameters, , ,
and , to control the curvature bounds.
120
7.1. APPROXIMATION BY BEZIER POLYNOMIALS 121
p5
p4
p3
p2
p5
p4 p1
p0
p3
121
7.1. APPROXIMATION BY BEZIER POLYNOMIALS 122
(t) (t)
t t
Figure 7.4: Curvature of the four and six control points Bezier approximation of an arc.
where 0 00
(t) = jjBP [p](t)0 BP 3[p](t)jj ;
jjBP [p](t)jj
and is the arc angle.
This optimization problem has not been solved yet. For the mean time, we use values of
and that bounds the curvature to 45 where is the curvature of the arc ( = R1 if R is
the steering radius).
Figures 7.4 shows the variation of the curvature for four control points and six control
points Bezier approximations of arcs with null initial and nish curvatures. These surfaces
are functions of t and the arc length . The horizontal plane in both gures represents the
constant curvature of the arc. A good approximation should exceed this value as little as
possible.
A segment being the convex envelop of its extremities is exactly parameterized by a Bezier
curve of order 2 whose two control points are the two extremities.
A complete Reeds and Shepp path approximated by Bezier curves is shown in gures 7.5.
In gure -a- arcs are approximated by four control points Bezier curves while in gure -b-
they are approximated by six control points Bezier curves. Segments are approximated by
two points Bezier curves in both gures.
122
7.2. PARAMETERIZATION OF BEZIER POLYNOMIALS 123
© Oper © Oper
Start Start
4−Bezier Arc Approximation
6−Bezier Arc Approximation
4−Bezier Arc Approximation 6−Bezier Arc Approximation
-a- -b-
Figure 7.5: Path approximation by Bezier curves.
Thus, to guarantee that the velocity does not exceed vm, ' should verify
@' vm
(s) 8s 2 [si; sf]:
@s 5 max jjqi jj ;i=0:::4
A similar reasoning can also be applied to bound the acceleration, the angular velocity and
the angular acceleration.
We have tried several functions ' including
123
7.2. PARAMETERIZATION OF BEZIER POLYNOMIALS 124
_ (t) _ (t)
_ (t)
(t) (t)
(t)
t t t
-a- -b- -c-
Figure 7.6: Dierent ' functions.
In the cubic polynomial case, this determines the four polynomial coecients. The re-
maining unknown is the parameterization time s = sf ? si . This is determined by xing
the maximum of the rst derivative
max @'
@s (s) = 'm: (7.18)
s2[si ;sf ]
This condition tends to optimize the execution time.
In the two piece-cubic spline the condition 7.18 becomes
@' (s ) = ' and @ 2 ' (s ) = 0; (7.19)
@s s m @s2 s
where ss is the spline control time, i.e. the time when the two polynomial pieces join. We
have up to now six conditions, and since we have seven unknowns (the ve spline coecients,
s and ss ) we add the following condition
(ss ? si )('m ? 'f ) = (sf ? ss )('m ? 'i ); (7.20)
This guarantees that ss is in [si; sf ] and thus the monotonous character of '.
In the three-piece cubic spline the condition 7.19 is again changed. Now we have two
spline control times (ss1 and ss2 ) and we are interested in splines where the middle piece is
linear thus
@' (s ) = @' (s ) = ' and @ 2' (s ) = @ 2' (s ): (7.21)
@s s1 @s s2 m @s2 s1 @s2 s2
The condition 7.20 becomes
(ss1 ? si )('m ? 'f) = (sf ? ss2 )('m ? 'i) (7.22)
124
7.2. PARAMETERIZATION OF BEZIER POLYNOMIALS 125
and
ss2 ? ss1 = p(sf ? si ); (7.23)
where p is an arbitrary constant in [0; 1].
The constant p used in equation 7.23 xes the importance of time to be passed on the
linear (middle) piece. The bigger it is the lesser time is given to initial and nal accelerations.
In fact, when it is equal to 1, the rst derivative of ' is discontinuous at the extremities.
When it is equal to 0, we get the two-piece spline. This constant should be xed according
to the maximum acceleration of the robot.
The conditions 7.20 and 7.22 present a problem when 'i or 'f is equal to 'm because
then one of the control times is undetermined. Thus they are modied to
(ss ? si ) 'm ? b'i ? (1 ? b)'f = (sf ? ss ) 'm ? (1 ? b)'i ? b'f (7.24)
and
(ss1 ? si ) 'm ? b'i ? (1 ? b)'f = (sf ? ss2 ) 'm ? (1 ? b)'i ? b'f ;
(7.25)
where b is an arbitrary constant in [0; 1] which should be as small as possible.
© Kinan
Linear Vel
t
Angular Vel
t
Linear Acc
t
Angular Acc
Figure 7.7: Velocity and acceleration proles for polynomially parameterized 2- and 4-Bezier
approximation of a path.
Figures 7.7 to 7.10 on page 127 show the proles of the linear and angular speeds and
accelerations for the dierent approximations and parameterizations discussed in this section.
These proles correspond to the example shown in gures 7.5 on page 123. From them we
can remark several facts.
125
7.2. PARAMETERIZATION OF BEZIER POLYNOMIALS 126
© Kinan
Linear Vel
t
Angular Vel
t
Linear Acc
t
Angular Acc
Figure 7.8: Velocity and acceleration proles for 3-spline parameterized 2- and 4-Bezier ap-
proximation of a path.
© Kinan
Linear Vel
t
Angular Vel
t
Linear Acc
t
Angular Acc
Figure 7.9: Velocity and acceleration proles for polynomially parameterized 2- and 6-Bezier
approximation of a path.
126
7.3. A PROPOSED EXECUTION CONTROLLER 127
© Kinan
Linear Vel
t
Angular Vel
t
Linear Acc
t
Angular Acc
Figure 7.10: Velocity and acceleration proles for 3-spline parameterized 2- and 6-Bezier
approximation of a path.
Arc four control points Bezier approximation leads to a more important excess in angu-
lar speed than six points Bezier approximation for the three types of parameterization.
In fact, this is inherent to its incapacity to control its maximum curvature.
Three-piece spline parameterization leads to better execution times. This is due to its
capacity to reach higher speeds and maintain them longer. Its maximum is spread on
the middle segment instead of being bound to a single point.
The nal speed of a Bezier curve is null in two cases: at a cusp point and at the end.
Otherwise it is determined by the parameterization in order to limit the linear and
angular accelerations.
The maximum speed is dependent on the length of the Bezier curve. This is also due
to bounding the accelerations.
For a more complete analysis see [M. Khatib 96].
127
7.3. A PROPOSED EXECUTION CONTROLLER 128
B (p1 ; r1) p2
B (p1 ; r0) p1 p
1
B (p2 ; r2)
B (p1 ; r1)
To x a piece of length l in B (p1 ; r1) on the Reeds and Shepp path joining p1 with the
center p2 of the second bubble B (p2 ; r2), we set two bubbles each at an extremity of this
part. The rst bubble, B (p1 ; r0), will have a radius r0 = l + c , and the second bubble,
B(p1 ; r1), will have a radius r1 = R1 ? l insuring thus the connectivity and the existence in
free-space.
Our Bezier approximation method approximates an elementary piece (an arc or a segment)
at a time. It does not approximate a concatenation of several elementary pieces (such as an
arc followed by a segment or two successive arcs with opposite centers, : : : ) This is why when
a part of a path is xed its length l should be less than the length of the rst elementary
piece `p. Still this length should be enough for the robot to stop in case of emergency. Then
the initial velocity of this part vi (which is the nal velocity of the previous part) should be
bound in function of `p. Suppose that this is true. Then we should have
l = 23 avi `p :
m
This is not all the truth, since a thought should be given to next piece. In fact, the robot
should always have the greatest speed that its capacity and the paths form allow. Then the
remaining length `p ? l on the elementary piece should be greater than the minimal length
in which the robot can stop completely if it started this piece with the maximum speed vm .
If this is not veried l is taken to be `p . More concisely
1. l = 32 avi `p .
m
128
7.3. A PROPOSED EXECUTION CONTROLLER 129
can aord according to the approximation of the current part and the length of the following
elementary piece of the path.
Here is the complete execution controller. The behavior of the Command will be discussed
afterwards.
Initialization Let the initial speed vi = 0, reset the initial time si and send track request to
Command.
Main Loop
1. Terminate if the Reeds and Shepp path on the poster of Bubble Band is empty.
2. Read the rst two elementary pieces
[p1; p2] and
[p2; p3] if they exist or the
only one
[p1; p2] from the Bubble Band. Here an elementary piece is an arc or a
segment.
3. Fix a part
[p1; p1] on
[p1; p2].
4. The next is elementary piece is
[p1; p2] if p1 6= p2 or
[p2; p3] else-wise.
5. Request from Bezier the approximation and parameterization of
[p1; p1] using
the next elementary piece to determine the nal speed.
6. Read the parameterized curve
p [p1; p1] from Bezier. Note vf its nal speed and
sf its expected nal execution time.
7. If vf is null proceed to step 10.
8. Fix a second part
[p1; p2] on the next elementary piece with initial speed vf .
9. Request from Bezier the approximation and the parameterization of
[p1; p2] with
null nal speed.
10. Read the current execution time sc from Command.
11. If si ? sc > proceed to step 1.
12. Request from Bubble Band to advance the initial point to p2 .
13. Write the parameterized curve(s) on the poster and set vi to vf and si to sf .
14. loop: proceed to step 1.
The Command is activated by the track request. It waits till one or two new parameterized
curves are written on the poster of the Execution Controller. The execution of the rst
parameterized curve is started if the last one ends with a null speed. While executing a
curve, the Command updates robot state and especially the current execution time in its
poster. If the rst curve is terminated and the poster of the Execution Controller is not
updated the second curve is executed if it exists and the track request is terminated.
Figure 7.12 on the next page shows the parameterizations of a sequence of split pieces
of a Reeds and Shepp curve. Two parameterizations are shown for each piece, one for the
nominal execution and the other with null nal speed.
Discussion
The gure 7.13 on the following page shows the control architecture of Kinan1 system imple-
mentation.
1 Kinematics Integrated in Non-holonomic Autonomous Navigation
129
7.3. A PROPOSED EXECUTION CONTROLLER 130
© Kinan
Linear Vel
t
Angular Vel
t
Linear Acc
t
Angular Acc
Figure 7.12: Velocity and acceleration proles for a split 3-spline parameterized 2- and 6-
Bezier approximation of a path.
Planner
Environment
Execute Path
Execution
Controller
Smooth Advance Concatenate
RS Path Measures
Command Read
Robot State
Write
Command
Motor Data
Functionality
130
7.4. CONCLUSION 131
This Execution Controller is not wholly implemented yet.We still think that this archi-
tecture and execution controller algorithm present an ecient structure to combine low and
high level modules with dierent time requirements in a real-time environment.
© Oper
0.4
0.2
-0.2
>19.3, 0<
-0.4
15 20 25 30 35
vOdo
Time (secs) wOdo
© Oper
Linear & Angular Velocities
0.2
>17, 0<
-0.2
-0.4
4 6 8 10 12 14 16 18 20 22
vOdo
Time (secs) wOdo
Figure 7.14: Two, four and six control points Bezier curves sequence execution with corre-
sponding speed proles.
The implementation of Bezier module on the robot Hilare2 shows that the use of Bezier
curves of order 4 produce smoother speed proles (gure 7.14)2 This is due to easiness with
which arc approximation extremity speeds are linked to those of adjoining segments. On the
other hand the speed decrease in the middle of the arc approximation. In the case of Bezier
approximations of order 6 the parameterization tries always to reach the maximum velocity
in the middle of the arc approximation. where the curvature is almost constant. Nevertheless,
the extremity speeds are smaller than before. Still a better approximation of the arc, in the
case of order 6 Bezier curves, leads to shorter execution time.
7.4 Conclusion
This part of the memory presents a new method to combine planning and reactive control
for a non-holonomic mobile robot with minimum steering radius. This method integrates the
2 Note that Hilare2 has no minimum steering radius.
131
7.4. CONCLUSION 132
majority of the functions considered important in a reactive system such as: obstacle avoid-
ance, trajectory execution and integration of environment model information. Moretheless,
this method have the advantage of a capacity of optimization and smoothing such that it
accepts infeasible initial trajectories.
The Reeds & Shepp metric and its shortest distance to obstacles enables the denition of
bubbles for car-like robots. This incites the development of potential functions on this metric
and the study of the of their gradient behavior.
The bubble band developed here, provide a feasible dynamically modiable collision-free
trajectory. Though this trajectory is incompatible with robot kinematics other than geometric
constraints, a powerful parameterization algorithm is proposed to satisfy these constraints.
Two types of approximation and three types of parameterization are developed and tested
aboard the platform Hilare2.
Finally, an execution system (Kinan) is proposed for the implementation of the dierent
algorithms encountered in this part. An execution controller as well as the other activities of
the system are designed to combine low and high execution levels with dierent cycle periods.
132
General conclusion
The work presented in this memory contributes to mobile robots movement feedback control.
This contribution is a part of a decision control architecture of an autonomous mobile robot
Hilare. The presented studies treat dierent natures of interaction between planning and
execution of movement. The proposed solutions tackle the problem according to three axes:
Re
ex execution of movement
On the basis of purely reactive local avoidance actions, we have developed using the
formalism of potential method, with the extensions developed in this work, a reactive
system dedicated to the collision-free execution of trajectories. This system integrates,
via virtual perception also introduced in this work, information locally describing the
environment model. It enables more adapted reactivity and satisfactory behavior.
This method demonstrated the eciency of reactive execution and its role in the se-
curity of execution. We cite here several experiments realized in the context of the
project MARTHA concerning multi-robot coordination showing thus the necessity of
such a reactivity and the increase of performance it provides in global coordination
process execution. Even though it contributed to compensate the model and motion
incertainity, frequent relocalizations are needed by the system which treats only ge-
ometric and absolutely referenced information (e.g. a trajectory, a goal position, an
environment model, : : : ). Thus the limitations of the system for complex and long
tasks.
Sensor-based execution of movement
The task potential formalism proposed next, provides the necessary theoretical context
for the study and development of several important sensor-based actions of which the
most signicant were mentioned (and some developed) in this manuscript. Via these
elementary actions and an execution controller, a link between planning with incertain-
ity and movement was established and a robust displacement system by sensor-based
actions in presence of incertainity was dened. This system was implemented on the
Hilare2 robot and a number of complex tasks demonstrated the cohesion of the method
and the security of navigation. The developed system is but a demonstration of the
approach consisting of integrating planning to execution. Taking into account incer-
tainity provides the navigation system with supplementary advantages. Nevertheless,
a more simple planning or a direct use of an operator (RALPH) remains possible since
the movement is based on sensor feedback.
Execution and optimization of movement by thought re
ex actions
The elastic band technic present in the third part of this work presents a new method-
ology linking planning and execution. Thought reactivity combines the taking into
133
7.4. CONCLUSION 134
134
Annexes
135
Appendix A
Hilare2 architecture
We will introduce here the control architecture of the Hilare2 robot on which we have imple-
mented all the algorithms and methods developed in this work.
136
A.2. MODULE NOTION 137
Control Functional
SDI SDI
Asynchronous
events
by all but
structure...
of this poster
the others
and which is readable
of the
the with
components
others
difficulty for you !of the
structure... but with
difficulty for you !
Treatment
functions
A.2.2 Communication
We access the dierent services oered by the modules via requests. These are asynchronous
events associated with necessary parameters which enable the starting, interruption and
alternating treatments. A service ends by the emission of a reply to the client. A reply is
itself and asynchronous event which mark the end of the treatment. This reply is associated
with a execution state and eventually a numerical result. This communication mechanism of
type client/server is represented in gure A.2 on the next page.
Note that through this mechanism a module may send an intermediate reply to a corre-
sponding request. Nevertheless, the end of the treatment and the resulting state are sent via
the nal reply. For example, the sensor-based actions controller developed and presented in
chapter 4 use this mechanism to manage and inspect the execution.
On the other hand, during execution, the treatments may need to access or produce data
(e.g. current position, ultrasonic measures, : : : ). This uses another communication protocol
which consists of exporting these data to a structured common memory zones called posters.
This is how the module Avoid access the current robot position by a simple memory read of
a poster updated by the locomotion module Loco.
137
A.2. MODULE NOTION 138
Module or
CLIENT Executive or
Operator
request reply
(parameters) (results, state)
service
SERVER
Module
robotPositionPoster Reference
avoidRefPoster
Reference Avoid
trackedRefPoster Segments
Mesures Reelles avoidSegmentsPoster
et virtuelles
usEchosPoster locoTrack
usVirEchosPoster locoTrackStop
138
A.2. MODULE NOTION 139
Module entry
The module Avoid is initialized as a client to the following modules:
{ Loco: The locomotion has the charge of servoing the robot, estimating its position
via odometry and manage other locomotion related services.
{ US: The module of ultrasonic measures acquisition manage a belt of 32 sonars
distributed on the periphery of the robot. This module programs the sensors
excitation rhythm and calculate many representations of the ultrasonic measures
which are updated in a poster called usEchos.
{ US VIR: The module of virtual ultrasonic measures produced from a world model
and the current position of the robot in the same formats as the module US. These
data are stocked in the poster usVirEchos. Several control requests are available
to set the calculus mode (polygonal, bitmap), the sensors model (detection cone,
range, : : : ) and other parameters (noise, specularity, : : : ).
The module Avoid calculates a reference which it exports to a poster avoidRef, tracked
by the module Loco through the request locoTrack.
Module services Avoid module has lter behavior. It modies the input reference into another
reference of the same type but guaranteeing non-collision. If avoidance is deactivated
via the request avoidOnOff, the module output will be simply its input.
The entry reference may be a xed position transmitted by the request avoidGoto or
a evolutionary reference updated in the poster trackedRef specied by the request
avoidTrack. Both modes represent the systems Rt Cam and Rt Pt Cam developed in chap-
ters 1 and 2.
The module oer other elementary actions such as: sensor-based rotation (avoidTurn),
sensor-based guard function (avoidGard) and leave obstacles function avoidGetOut).
Also, several control requests are available to condition the behavior of the module. For
example, the request avoidSetMemLength xes the minimum length of the trajectory
to buerize before execution in mode avoidTrack).
piloAvoidOn
Pilo Request
usEchos piloRef
Read poster
US avoidTrack
Write poster
Avoid Poster
avoidRef
US VIR locoTrack
usVirEchos Loco
locoPosition
Figure A.4: Control and data
ux during the execution of a trajectory while avoiding obstacles.
gure A.4 shows the cooperation between the modules US, US VIR, Loco, Pilo and
Avoid when Pilo is required to execute a trajectory with obstacle avoidance. The module
139
A.3. FUNCTIONAL ARCHITECTURE OF HILARE2 140
Pilo produces references which are ltered by the module Avoid according to the proximity
data from the modules US et US VIR. They are then transmitted to the module Loco.
Loca2d Locext
Dock MP
PWU
US_VIR US
Pilo SBC Band
Laser
Avoid
Loco
Figure A.5: Most of the modules constituting the functional architecture of the robot Hilare2.
We present on gure A.5 the majority of modules integrated in the functional architecture of
the robot Hilare2. The arrows show the reactions client/server between modules.
These modules are:
Loco: Position estimation and robot servoing [Fleury 96].
Pilo: Parameterization and execution of trajectories [Fleury 96].
Loca2d: 2D Modeling and landmark localization [Bulata 96].
Locext: Absolute localization by external cameras [Fleury 96]
Laser: 3D range laser image acquisition [Camargo 92].
US: Ultrasonic sensing [Camargo 91].
US VIR: Virtual ultrasonic sensing (x 2.3.1 on page 37).
Avoid: Real-time obstacle avoidance (chapters 1 and 2).
SBC: Sensor-based command (chapter 3).
Band: Elastic band (chapter 5).
PWU: Planning with uncertainty controller (chapter 4).
Dock: Robot docking and motion under extremal constraints.
MP: Motion planner based on the method proposed in [Laumond 94] implemented by
T. Simeon, L. Aguirar and R. Alami at LAAS-CNRS.
This set of modules is embarked aboard the robot Hilare2 and run under the real-time
140
A.3. FUNCTIONAL ARCHITECTURE OF HILARE2 141
operating system VxWorks. The modules mark with a thick frame are those we developed
and implemented. Some are treated in this manuscript.
141
Appendix B
Perception
We present in this annex the proximity sensors with which the robot Hilare2 is equipped and
which were used all along the experimentation.
25 4
24 5
23 6
22 7
21 8
20 9
19 10
18 17 16 15 14 13 12 11
142
B.2. SEGMENTATION 143
the other receives ultrasonic waves. These sensors can be translated and rotated on the belt.
0
30 30
Attenuation (dB)
10
60 60
20
30
90 90
Sensing module
The module US in the functional architecture of Hilare2 governs the programming and acqui-
sition of the ultrasonic sonars. The acquisition is realized by a permanent activity updating
every 50ms the acquisition measures (under several forms) in the poster usEchos as well as
the position of the robot at the time of the acquisition. The acquisition parameters of each
sensor are dynamically programmed by control requests provided by the module (e.g. number
of impulses, inhibition window width, activation/deactivation, : : : ).
We distinguish two acquisition modes which can be activated on selected sensors:
Select: Selective acquisition mode. One sensor is activated at a time. This mode
is interesting when associating a monitoring task for one sensor (e.g. wall extremity
detection) and be able by ne algorithms to detect multiple re
ections This is possible
because the other sonars emit nothing but are synchronized (by a top timer) to be in
a state of reception.
Simult: Simultaneous acquisition mode where all the sonars are excited at the same
time. This mode has the particularity of increasing the emission energy and is used to
detect objects otherwise dicult to detect in selective mode (e.g. chair legs, corners,
: : : ).
The module may also realize a sequencing of the two types of acquisition by scanning
successively all the sensors of a preselected set in selective mode.
In order to generalize the algorithms using ultrasonic sonars, the module provides the
sensor positions by control requests2 and all the current acquisition parameters.
B.2 Segmentation
Ultrasonic measures are approximated by segments using the least square method in th
following specic algorithm.
2 These are the physical positions on the belt which necessitates an update exclusive to the module.
143
B.2. SEGMENTATION 144
© Oper
Plane
circular object
Unlike laser point, ultrasonic points are dicult to approximate. This is due to their
fewness and their sensibility to continuity tests. We were thus brought to the use of the
following algorithm. Consider a nite number of segments corresponding to the dierent
sides of the robot (here 4 segments). A set of measures are selected with a gradient verifying
an upper limit. Some sensors up to a certain percentage can be without measures and a
minimum number of accepted measures is imposed. A segment approximating the resulting
measures in the least square sense is calculated (gure B.3).
This algorithm produces approximative information on the orientation of an obstacle
other than plane obstacles.
Now, suppose that the detected object is a wall. We can correct the orientation error of
the segment due to rebound by the following algorithm.
Wall
l2
l1
d
c1 c2
d l1tg2
where d is the distance between the sensors c1 and c2 (gure B.4). In stead of detecting t2 ,
we detect t02 :
144
B.3. LASER RANGE FINDER 145
t02 = 1v l1 1 + cos12 :
tg2 = 1 ? t01
t2
After the correction of the orientation, a new segment is calculated whose orientation id
and whose distance is calculated using the nearest measure. This insures a preservative
measure.
Miroir
Site
AU . R
D
r
ST IEG
R EL
IA
Laser
Platine
145
B.3. LASER RANGE FINDER 146
Vertex detection
While discussing the action Wall Follow, we have presented in paragraph ( 3.3.3 on page 65)
the problem of dynamically localizing a vertex during the robot displacement along the wall.
Concerning this problem, we have implemented three methods to accomplish this detection.
Note that the sensor-based actions are encapsulated in the module SBC of the functional
architecture of Hilare2.
Sensing on the
y The module Laser has a 2D section permanent acquisition mode whose
parameters are dened in the client module. The module updates a specic poster which
contains the measures and the position of the robot during that last acquisition3 .
Posters have the advantage of being dated which permits the realization of segmentation
only after each new acquisition. Since the robot position during acquisition is available, each
servoing period the extracted segment are recalculated in the local frame of the robot and a
new segmentation is only realized each acquisition period4 .
The segments extracted at each acquisition period are matched together to replace even-
tual collinear segments by only one (x 2.3.2 on page 40). A vertex is localized by either the
point of intersection of two segments with a sucient angular dierence or by the extremity
of one segment in which case the vertex in always convex5 . In this case the angular variation
of the vertex could not be matched (the second segment being invisible). We could, never-
theless, verify its type and its belonging to the assigned region dened by the distance L2
(x 3.3.3 on page 65).
The robot attraction being a function of the abscissa of the vertex, an important number
of experiments conrmed that the use of this method either imposes a small execution speed
or a a greater acquisition sector and thus a slow acquisition.
A new acquisition was thus implemented6 to be treated in the next paragraph.
servoied acquisition This mode consists of controlling the axis of the laser range nder in a
given direction while sending laser shots. The azimuthal angle is updated in a poster dened
by the client module. The shot measure an d the current azimuthal angle are written in a
poster belonging to the module Laser.
Here, the vertex detection idea is to use the segments orientation obtained by the ultra-
sonic sonars and determine in the case of a convex vertex, the distance and the extremity
by laser shots normal to the segments. In the case of a concave vertex, the distance to the
frontal segment give the distance to the vertex. Thus, the approximative position of the
vertex is determined by the segment(s) issued from ultrasonic measures and updated rapidly.
3 Here, we consider that all the measures are acquired at the same position though the displacement of the
robot during acquisition is taken into consideration.
4 Segmentation is rather fast for the acquisition sector is relatively small.
5 Figure 4.5 on page 75 show the labeling convention of vertexes.
6 The module Laser is realized by M. Herrb.
146
B.3. LASER RANGE FINDER 147
This position attracts the robot, while an exact detection of the vertex is conrmed by a dis-
continuity of the last shots in the convex case and by a more precise measure in the concave
case.
Note that the stop position of the robot relative to a concave vertex is dened by the
distance to the frontal segment before the robot.
Selective ultrasonic measures In fact, the two precedent modes are eectively used to detect
the vertex to terminate the action. Nevertheless, for intermediate vertexes, we have remarked
that detection by ultrasonic sonars is sucient to realize the wall switch because the action
does not end at the vertex and the robot can consequently correct the distance and orientation
to the following wall.
The realization of this detection is done by a monitoring program, in selective mode, on
the appropriate sensors. In this case module US alternate every period between between
the two modes of acquisition. Detection is activated by a nal request from the module US
signaling the activation of monitoring. This method necessitates too acute or open vertexes.
Thus a minimum angular variation is required between successive walls. Otherwise both wall
are considered one.
For example, in the case of SB CM system, the controller imposes on the planner parameters
including the minimum angular variation and the planner respects this while generating its
plan (x 4.0.2 on page 77).
147
Appendix C
Stability
X_ = vR
_ = ! (C.1)
The control point motion equations are:
q = X + dc R
q_ = X_ ? dc!R (C.2)
sin
with R = ? cos .
The command law is:
v = v FT R
! = ?! FT R (C.3)
with v ; ! 2 R+ . F is the resultant force to apply on the control point q. The repulsive
force being local, we prove the stability in absence of obstacles. Consequently, the force F
becomes:
F = ?kg (q ? qg )
where kg 2 R+ .
We prove the system stability C.1 for the control law C.3 using the next Lyapunov function:
L = 12 (q ? qg )T (q ? qg )
148
C.2. STABILITY UNDER A CONSTANT FORCE 149
(X_ T ? dc ! R T ) (q ? qg ) < 0
(v RT ? dc ! R T ) (q ? qg ) < 0
Replacing v and ! by the control law C.3 and writing L_ in the form:
L_ = Z1 + Z2 < 0;
where
Z1 = v FT RRT (q ? qg )
Z2 = dc! FT R R T (q ? qg )
We develop then the terms Z1 and Z2 writing the force expression:
Z1 = ?v kg (q ? qg )T RRT (q ? qg );
Z2 = ?dc! kg(q ? qg )T R R T (q ? qg):
The sum of these expressions is then:
?
Z1 + Z2 = ?(q ? qg)T v kgRRT + dc! kg R R T (q ? qg ):
This expression is of the form ?xT Mx where x 2 R2 and M is a 2 2 square matrix.
This matrix being denite positive | its eigenvalues are v kg and dc ! kg | the sum Z1 + Z2
and thus the Lyapunov function are strictly negative. You may remark that this is only true
when dc is strictly positive. If it is null, only the weak Lyapunov property is veried and no
asymptotic convergence is guaranteed.
F t+v
x_ = m 0
where v0 is the initial speed of the particle. Note that the term x_ increase linearly with time.
To bound this speed we add a dissipative term to the force proportional to the term x_ and
in the opposite direction. Solving this new dierential system gives:
F ?F ?kv
x_ = k + k + v0 e m t
vF v vk ?kv
x = m ? 0m v e m t
where kv represents the dissipation gain. The bounds of the speed and the acceleration are
then:
lim x_ = kF
t!1 v
lim
t!1
x
= 0
We can bound the speed and control the time constant kmv by the two parameters kv and m.
v
U= w (C.8)
and the wheels speed dierence is:
v = E:w
2 (C.9)
where E is on the wheels axis. The velocity applied to the wheels is thus:
! v+v
!
= r = R (C.10)
!l v?r v
Rl
where (Rr ; Rl) are the radii of the right and left wheels respectively. The wheels displacement
is thus:
Dd = !r dt (C.11)
Dg = !l dt
The curvilinear displacement and the orientation dierence become:
S = Dd +
2
Dg
(C.12)
= Dd ?EDg
Finally, the new position of the robot is:
151
References
[Alami 93a] R. Alami, R. Chatila & B. Espiau. Designing an intellingent control architec-
ture for autonomous robots. In International Conference on Advance Robotics.
ICAR'93, Tokyo (Japon), November 1993.
[Alami 93b] R. Alami, R. Chatila & B. Espiau. Designing an intellingent control architec-
ture for autonomous robots. In International Conference on Advanced Robotics.
ICAR'93, Tokyo (Japon), Novomber 1993.
[Alami 94] R. Alami & T. Simeon. Planning robust motion strategies for a mobile robot.
In IEEE International Conference on Robotics and Automation, San Diego Cal-
ifornia, (USA), pages 1312{1318, 1994.
[Alami 95] R. Alami, L. Aguilar, H. Bullata, S. Fleury, M. Herrb, F. Ingrand, M. Khatib
& F. Robert. A General Framework for Multi-Robot Cooperation and its Im-
plementation on a Set of Three Hilare Robots. In International Symposium on
Experimental Robotics, Stanford, California, (USA), June 1995.
[Ando 95] Y. Ando & S. Yuta. Following a Wall by an Autonomous Mobile Robot with a
Sonar-Ring. In IEEE, International Conference on Robotics and Automation,
Nagoya, Aichi (Japan), pages 2599{2606, 1995.
[Bauzil 91] G. Bauzil, R. Ferraz De Camargo, C. Lemaire & G. Vialaret. Robot Mobile Hi-
lare II: description du materiel. Technical report 91234, LAAS-CNRS, Toulouse,
1991.
[Bennamoun 91] M. Bennamoun, A. A. Masoud, A.Ramsay & M. M. Bayoumi. Avoidance
of Unknown Obstacles Using Proximity Fields. In IEEE International Workshop
On Intelligent Robots and Systems, Osaka, (Japan), 1991.
[Borenstein 91] J. Borenstein & Y. Koren. The VectorField Histogram - Fast Obstacles
Avoidance for Mobile Robots. In IEEE Transactions on Robotics and Automa-
tion, 1991.
[Bouilly 95a] B. Bouilly & T. Simeon. A sensor-based motion planner for mobile robot
navigation with uncertainty. In L. Dorst, M.V. Lambalgen & F. Voorbraak,
editeurs, Reasoning with uncertainty in robotics, pages 235{247. Springer, 1995.
[Bouilly 95b] B. Bouilly, T. Simeon & R. Alami. A numerical technique for planning motion
strategies of a mobile robot in presence of uncertainty. In IEEE, International
Conference on Robotics and Automation, Nagoya, Aichi (Japan), pages 1327{
1332, 1995.
152
References 153
[Bulata 96] H. Bulata & M. Devy. Modelisation Orientee Objet pour la Localisation d'un
Robot Mobile en Milieu Structure. In 10eme Congres Reconnaissance des Formes
et Intelligence Articielle (RFIA'96), Rennes (France), jan 1996.
[Camargo 91] R. Ferraz De Camargo. Architecture Materielle et Logicielle pour le Con-
tr^ole de l'Execution d'un Robot Mobile Autonome. PhD thesis, Universite Paul
Sabatier, (LAAS-CNRS), Toulouse (France), 1991.
[Camargo 92] R. Ferraz De Camargo, S.Fleury & M.Herrb. HILARE 2. Guide d'utilisation.
Technical report 92452, LAAS-CNRS, 1992.
[Chatila 90] Raja Chatila & Rogerio Ferraz De Camargo. Open Architecture Design and
Inter-task/Intermodule Communication for an Autonomous Mobile Robot. In
IEEE International Workshop on Intelligent Robots and Systems (IROS '90),
Tsuchiura (Japan), July 1990.
[Chatila 93] R. Chatila. Representation + Reason + Reaction ! Robot Intelligence. In 6th
International Symposium on Robotics Research. ISSR, Hidden Valley (Pennsyl-
vania, USA), October 1993.
[Chochon 83] H. Chochon & B. Leconte. Etude d'un module de locomotion pour un robot
mobile. Rapport de n d'etude ENSAE, Laboratoire d'Automatique et d'Analyse
des Systemes (C.N.R.S.), Toulouse (France), June 1983.
[Collin 95] I. Collin. Planication de t^aches-robots pour robots mobiles en environnement
structure. PhD thesis, Universite de Technologie de Compiegne, Compiegne
(France), 1995.
[Coste-Maniere 92] E. Coste-Maniere, B. Espiau & D. Simon. Reactive object in a task
level open controller. In IEEE International Conference on Robotics and Au-
tomation, Nice, (FRANCE), pages 2732{2737, May 1992.
[d'Andrea Novel 92] B. d'Andrea Novel, G. Bastin & G. Campion. Dynamic Feedback
Linearization on Nonholonomic Wheeled Mobile Robots. In IEEE International
Conference on Robotics and Automation, Nice, (FRANCE), pages 2527{2532,
May 1992.
[d'Andrea-Novel 95] B. d'Andrea-Novel, G. Campion & G. Bastin. Control of Nonholo-
nomic Wheeled Mobile Robots by State Feedback Linearization. The International
Journal of Robotics Research, 1995.
[De la Rosa 96] F. De la Rosa, C. Laugier & J. Najera. Robust path planning in the plane.
IEEE Transactions on Robotics and Automation, vol. 12, no. 2, pages 347{352,
1996.
[De Luca 94] A. De Luca & G. Oriolo. Local incremental planning for nonholonomic mobile
robots. In IEEE International Conference on Robotics and Automation, San
Diego California, (USA), pages 104{110, 1994.
[Delingette 91] H. Delingette, M. Herbert & K. Ikeuchi. Trajectory generation with curva-
ture constraint based on energy minimization. In IEEE International Workshop
On Intelligent Robots and Systems, Osaka, (Japan), 1991.
153
References 154
[Dickmanns 89] E.D. Dickmanns & T. Christians. Relative 3D-State Estimation for Au-
tonomous Visual Guidance of Road Vehicles. In Intelligent Autonomous Systems
(IAS'2), Amsterdam (Netherlands), pages 683{693, 1989.
[Dickmanns 95] E.D. Dickmanns. Performance Improvements for Autonomous Road Ve-
hicles. In Intelligent Autonomous Systems (IAS'4), Karlsruhe (Germany), pages
2{14, 1995.
[Espiau 92] B. Espiau, F. Chaumette & P. Rives. A new approach to visual servoing in
robotics. IEEE Transactions On Robotics and Automation, vol. 8, no. 3, pages
313{326, June 1992.
[Fiorot 89] J. Fiorot & P. Jeannin. Courbes et surfaces rationelles. Masson, Paris, 1989.
[Fleury 94] S. Fleury, M. Herrb & R. Chatila. Design of a Modular Architecture for Au-
tonomous Robot. In IEEE International Conference on Robotics and Automa-
tion, San Diego California, (USA), 1994.
[Fleury 95] S. Fleury, P. Soueres, J.-P. Laumond & R. Chatila. Primitives for Smoothing
Mobile Robot Trajectorie. IEEE Transactions on Robotics and Automation,
vol. 11, no. 3, pages p.441{448, June 1995.
[Fleury 96] S. Fleury. Architecture de contr^ole distribuee pour robots autonomes: principes,
conception et applications. PhD thesis, Universite Paul Sabatier, Fevrier 1996.
[Gamkerlidze 80] R. V. Gamkerlidze. Analysis ii - convex analysis and approximation
theory. Springer-Verlag, 1980.
[Giralt 93] G. Giralt, R. Chatila & R. Alami. Remote Intervention, Robot Autonomy,
And Teleprogramming: Generic Concepts And Real-World Application Cases.
In IEEE International Workshop on Intelligent Robots and Systems (IROS '93),
Yokohama, (Japan), pages 314{320, July 1993.
[Green 94] D.N. Green, J.Z. Sasiadek & G.S. Vukovich. Path Traking, Obstacle Avoidance
and Position Estimation by an Autonomous, Wheeled Planetary Rover. In IEEE
International Conference on Robotics and Automation, San Diego California,
(USA), pages p. 1300{1305, 1994.
[J. Koseck 96] J. Koseck. Visually guided navigation. In International Symposium on
INTELLIGENT ROBOTIC SYSTEMS-SIRS, pages 301{308, July 1996.
[Kanayama 89] Y. Kanayama & B. Hartman. Smooth local planning for autonomous ve-
hicles. In Proc. IEEE International Conference on Robotics and Automation,
Scottsdale, (USA)., 1989.
[Khoumsi 88] A. Khoumsi. Pilotage, asservissement sensoriel et localisation d'un robot
mobile autonome. PhD thesis, Universite Paul Sabatier, Toulouse, France, 1988.
[Krogh 84] B. H. Krogh. A Generalised Potential Field Approch to Obstacle Avoidance
Control. In Robotics Research: The Next Five Years and Beyond, SME Confer-
ence Proceedings, Bethlehem, PA, 1984.
[Krogh 86] B.H. Krogh & C.E. Thorpe. Integrated path planning and dynamic steering
control for autonomous vehicles. In Proc. IEEE International Conference on
Robotics and Automation, San Francisco (USA)., 1986.
154
References 155
[Laumond 93] J.-P. Laumond & P. Soueres. Metric induced by the shortest paths for a
car-like mobile robot. In IEEE International Workshop On Intelligent Robots
and Systems, Yokohoma, (Japan), 1993.
[Laumond 94] Jean-Paul Laumond, Paul E. Jacobs, Michel Tax & Richard M. Murray.
A Motion Planner for Nonholonomic Mobile Robots. IEEE Transactions On
Robotics and Automation, vol. 10, no. 5, pages 577{590, Oct. 1994.
[M. Khatib 95] M. Khatib & R. Chatila. An extended potentiel eld approach for mobile
robot sensor-based motions. Intelligent Autonomous Systems (IAS'4), Karlsruhe
(Germany), pages 490{496, 1995.
[M. Khatib 96] M. Khatib & H. Jaouni. Kinematics Integrated in Non-holonomic Au-
tonomous Navigation. Technical report 96346, LAAS-CNRS, September 1996.
[Moravec 85] H. P. Moravec & A. Elfes. High Resolution Maps from Wide Angle Sonar. In
IEEE International Conference on Robotics and Automation, San Louis, (USA),
1985.
[Nelson 89] W. Nelson. Continuous-Curvatures Paths for Autonomous Vehicules. In
Proc. IEEE International Conference on Robotics and Automation, Scottsdale,
(USA)., pages p. 1260{1264, 1989.
[O. Khatib 80] O. Khatib. Commande dynamique dans l'espace operationnel des robots
manipulateurs en presence d'obstacles. PhD thesis, Ecole Nationale Superieure
de l'Aeronautique et de l'Espace, Toulouse, France, 1980.
[O. Khatib 86] O. Khatib. Real-time obstacle avoidance for manipulators and mobile
robots. The International Journal of Robotics Research, vol. 5, no. 1, pages
90{98, 1986.
[Perebaskine 92] V. Perebaskine. Une architecture modulaire pour le contr^ole d'un
robot mobile autonome. PhD thesis, Universite Paul Sabatier, (LAAS-CNRS),
Toulouse (France), 1992.
[Pissard-Gibollet 93] R. Pissard-Gibollet. Conception et Commande par Asservissement
Visuel d'un Robot Mobile. PhD thesis, L'Ecole des Mines de Paris, Dec. 1993.
[Pissard-Gibollet 95] R. Pissard-Gibollet & P. Rives. Applying Visual Servoing Tech-
niques to Control a Mobile Hand-Eye System. In IEEE, International Conference
on Robotics and Automation, Nagoya, Aichi (Japan), May 1995.
[Quinlan 92] S. Quinlan & O. Khatib. Towards Real-Time Execution of Motion Tasks. In
R. Chatila & G. Hirzinger, editeurs, Experimental Robotics 2. Springer-Verlag,
1992.
[Quinlan 93] S. Quinlan & O. Khatib. Elastic bands: connecting path planning and control.
In IEEE International Conference on Robotics and Automation, Atlanta, (USA),
1993.
[Quinlan 95] S. Quinlan. Real-Time Collision-Free Path Modication. PhD thesis, Stan-
ford University, CS Departement, January 1995.
[Reeds 90] J.A. Reeds & L.A. Shepp. Optimal paths for a car that goes both forwards and
backwards. Pacic Journal Mathematics, vol. 145, no. 2, pages 367{393, 1990.
155
References 156
156