Professional Documents
Culture Documents
Robot Navigation
Lounis Adouane
LASMEA, UBP-UMR CNRS 6602, France
Email: Lounis.Adouane@lasmea.univ-bpclermont.fr
Abstract— This paper proposes an orbital obstacle avoidance overall control architecture for navigation tasks. One part of
algorithm which permits to obtain safe and smooth robot the literature in this domain considers that the robot is fully
navigation in very cluttered environments. This algorithm uses actuated with no control bound and focuses the attention on
specific reference frame which gives accurate indication on
robot situation. The robot knows thus if it must avoid the path planning. Voronoï diagrams and visibility graphs [9] or
obstacle in clockwise or counter-clockwise direction. Moreover, navigation functions [10] are among these roadmap-based
it knows the moment to go into the orbit of the obstacle and methods. However, the other part of the literature considers
the moment to go out. These orbital behaviors are performed that to control a robot with safety, flexibility and reliabil-
using adaptive limit-cycle trajectories. The later with a specific ity, it is essential to accurately take into account: robot’s
conflicting situations module permit to prevent robot oscilla-
tions, local minima and dead ends. The proposed algorithm structural constraints (e.g., nonholonomy); avoid command
is embedded in a specific bottom-up control architecture with discontinuities and set-point jerk, etc. Nevertheless, even in
stability proof given according to Lyapunov synthesis. The this method, there are two schools of thought, one uses
overall proposed structure of control allows to decrease sig- the notion of planning and re-planning to reach the target,
nificantly the time to reach the target. In fact, according to e.g., [11] and [12] and the other more reactive (without
the proposed algorithm, robot anticipates the collisions with
obstacles according to smooth local trajectory modifications. planning) like in [13], [14] or [15]. Our proposed control
A large number of simulations in different environments are architecture is linked to this last approach. Therefore, where
performed to demonstrate the efficiency and the reliability of the stability of robot control is rigourously demonstrated
the proposed control architecture. and the overall robot behavior is constructed with modular
and bottom-up approach [16]. The proposed on-line obstacle
I. I NTRODUCTION
avoidance algorithm uses specific orbital trajectories given
Obstacle avoidance controllers have a predominating func- by limit-cycle differential equations [17], [18]. The proofs
tion to achieve autonomously and safely the navigation of of controllers stability are given using Lyapunov functions.
mobile robots in cluttered and unstructured environments. The proposed algorithm provides also several mechanisms
Khatib in [1] proposes a real-time obstacle avoidance ap- to prevent oscillations, local minima and dead end robot
proach based on the principle of artificial potential fields. situations.
He assumes that the robot actions are guided by the sum of The rest of the paper is organized as follows. Section II
attractive and repulsive fields. Arkin in [2] extends Khatib’s gives the specification of the task to achieve. The details
approach while proposing specific schema motors for mobile of the proposed control architecture are given in section
robots navigation. Nevertheless, these methods suffer from III. It presents the model of the considered robot and the
the local minima problem when for instance, the sum of implemented elementary controllers laws. Section IV gives
local gradient is null. In [3], Elnagar et al., propose to in details the proposed obstacle avoidance algorithm whereas
model the repulsive potential field characterizing obstacles section V introduces the conflicting situations management
by Maxwell’s equations which have the merit to completely module. Section VI is devoted to the description and analysis
eliminate the local minima problem. Fuzzy control is widely of simulation results. This paper ends with some conclusions
used to perform robust obstacle avoidance [4], [5]. This and further work.
formalism allows to integrate several linguistic rules to avoid
dead ends or local minima [6]. Unfortunately, its lacks of II. NAVIGATION IN PRESENCE OF OBSTACLES
stability demonstration of the applied control laws. Another
interesting approach, based on a reflex behavior reaction, The objective of the navigation task in an unstructured
uses the Deformable Virtual Zone (DVZ) concept, in which environment is to lead the robot towards one target while
a robot kinematic dependent risk zone surrounds the robot avoiding statical and dynamical obstacles. One supposes in
[7]. If an obstacle is detected, it will deform the DVZ and the the setup that obstacles and the robot are surrounded by
approach consists to minimize this deformation by modifying bounding cylindrical boxes with respectively R O and RR
the control vector. An interesting overview of other obstacle radii [19]. The target to reach is also characterized by a circle
avoidance methods is accurately given in [8]. of RT radius. Several perceptions are also necessary for the
Nevertheless, the obstacle avoidance controller is only robot navigation (cf. Figure 1):
a part of the different functions which must constitute an • DROi distance between the robot and the obstacle “i”,
Robot trajectory in the [O, X, Y] reference
RT 25
24
DPROi Target
23 13.38 15.18
11.19 16.63
(l) 8.85
18.31
RR DTOi 22 20.32
22.84
26.22
6.26
Y [m]
Robot Obstaclei influence 20
RIi 19
18
17
Obstacle Circle of
Fig. 1. The used perceptions for mobile robot navigation 16
influence
15
0 5 10 15
X [m]
• DP ROi perpendicular distance between the line (l) and (a) Without orbital algorithm
the obstacle “i”, Robot trajectory in the [O, X, Y] reference
25
• DT Oi distance between the target and the obstacle “i”.
24
Y [m]
20
18
and fast robot navigation. It will permit for example to an (b) With orbital algorithm
autonomous application of travelers transportation [20] to
have more comfortable displacements of the passengers. The Fig. 3. Robot trajectory while anticipating or not the obstacle collision
specific blocks composing this control are detailed below.
if It exists at least one constrained obstacle
A. Hierarchical action selection {i.e., DP ROi ≤ RIi (cf. Figure 1) } then
Activate obstacle avoidance controller
Most reactive approaches activate the obstacle avoidance else
controller only when the robot is close to an obstacle (i.e. Activate the attraction to the target controller
end
DROi ≤ RIi ) (cf. Figure 3(a)) [2], [21], [22], etc. In contrast, Algorithm 1: Hierarchical action selection
the proposed algorithm 1 activates the obstacle avoidance
controller as soon as it exists at least one obstacle that can
obstruct the future robot movement toward the target (i.e.
DP ROi ≤ RIi , cf. Figure 1). Thus, while anticipating the B. Elementary controllers
activation of obstacle avoidance controller (cf. Figure 3(b)), Each controller composing the control architecture
Algorithm 1 permits to decrease the time to reach the target, (cf. Figure 2) is characterized by a stable nominal law.
especially in very cluttered environments (cf. Section VI). These laws are synthesized according to Lyapunov theorem.
The proposed control architecture uses a hierarchical ac- We will present here only some details about the stability
tion selection mechanism to manage the switch between demonstration of the used laws. More details are given in
two or even more controllers. Obstacle avoidance strategy is [25]. Before describing each elementary controller, let’s show
integrated in a more global control architecture unlike what the used kinematic robot model (cf. Figure 4):
is proposed in [24]. Otherwise, the controller activations are
achieved in a reactive way as in [23] or [16]. ⎛ ⎞ ⎛ ⎞
ẋ cos θ −l2 cos θ − l1 sin θ
˙ξ = ⎜ ⎟
⎝ ẏ ⎠ = ⎝ sin θ −l2 sin θ + l1 cos θ ⎠
v
(1)
0 1 w
θ̇
Information
P1 C1
Obstacle avoidance
Sensors
Hierarchical
action
C
selection
Robot with:
P2 C2
Attraction to the target • x, y, θ: configuration state of the unicycle at the point
“Pt ” of abscissa and ordinate (l 1 , l2 ) according to the
mobile reference frame (X m , Ym ),
• v: linear velocity of the robot at the point “P t ”,
Fig. 2. Control architecture for mobile robot navigation • w: angular velocity of the robot at the point “P t ”.
Ym Xm • For the counter-clockwise trajectory motion
YA (cf. Figure 5(b)):
l1 θ
y ẋs = −ys + xs (Rc2 − x2s − ys2 )
Om (6)
l2 ẏs = xs + ys (Rc2 − x2s − ys2 )
Pt
where (xs , ys ) corresponds to the position of the
robot according to the center of the convergence circle
OA x (characterized by an R c radius). Figure 5 shows that the
XA
circle of “Rc = 1” is a periodic orbit. This periodic orbit is
Fig. 4. Robot configuration in a cartesian reference frame
called a limit-cycle. Figure 5(a) and 5(b) show the shape of
equations (5) and (6) respectively. They show the direction
of trajectories (clockwise or counter-clockwise) according
1) Attraction to the target controller: This controller to (xs , ys ) axis. The trajectories from all points (x s , ys )
guides the robot toward the target which is represented by including inside the circle, move towards the circle.
a circle of (xT , yT ) center and of R T radius (cf. Figure 1).
The used control law is a control of position at the point The proposed control law which permits to follow these
Pt = (l1 , 0) (cf. Figure 4). As we consider a circular target trajectories is an orientation control, the robot is con-
with RT radius, therefore, to guarantee that the center of trolled according to the center of its axle, i.e., while taking
robot axis reaches the target with asymptotical convergence, (l1 , l2 ) = (0, 0) (cf. Figure 4). The desired robot orientation
l1 must be ≤ RT (cf. Figure 4). θd is given by the differential equation of the limit-cycle (5)
or (6) as:
ẏs
θd = arctan( ) (7)
ẋ cos θ −l1 sin θ v v ẋs
= =M (2)
ẏ sin θ l1 cos θ w w and the error by
θe = θd − θ (8)
with M invertible matrix.
ex = x − xT
The errors of position are: We control the robot to move to the desired orientation by
ey = y − yT using the following control law:
The position of the target is invariable according to the
ėx = ẋ w = θ̇d + Kp θe (9)
absolute reference frame (cf. Figure 6) ⇒
ėy = ẏ
Classical techniques of linear system stabilization can be with Kp a constant > 0, θ̇e is given then by:
used to asymptotically stabilize the error to zero [26]. We
θ̇e = −Kp θe (10)
use a simple proportional controller which is given by:
Let’s consider the following Lyapunov function
v ex
= −KM −1 (3) V2 = 12 θe2 (11)
w ey
with K > 0. Let’s consider the following Lyapunov function V̇2 is equal then to θe θ̇e = −Kp θe2 which is always strictly
negative (so, asymptotically stable). It is to note that the
V1 = 12 d2 (4) nominal speed of the robot v when this controller is active
is a constant.
with d = e2x + e2y (distance robot-target).
3 3
ys
0 0
x x
s s
⎛ ⎞ ⎡ ⎤ ⎛ ⎞
x cos α − sin α 0 xobst −1 x (3)
⎜ y ⎟ ⎢ sin α cos α 0 yobst ⎥ ⎜ y ⎟
Obstaclei
⎝ 0 ⎠ = ⎣ ⎦ ⎝ Robot Conter-Clockwise
0 ⎠ YA
(12)
0 0 1 0
Repulsion
1 O
0 0 0 1 1 A
(2)
Conter-Clockwise
Once all necessary perceptions are obtained, one can Attraction
OA
apply the proposed orbital obstacle avoidance strategy given XA
by Algorithm 2. To obtain the set-points, it is necessary
to obtain the radius “R c ” and the direction “clockwise or Fig. 6. The 4 specific areas surrounding the obstacle to avoid
counter-clockwise” of the limit-cycle to follow. The position
Robot trajectory in the [O, X, Y] reference
V. C ONFLICTING SITUATIONS MANAGEMENT 24
23
The good performance of proposed algorithm 2 need to
manage some conflicting situations which are due to local 22
1
minima or dead ends. The rules used to avoid these situations 21
Y [m]
4.3
20 7
5.4
2
18
21
Y [m]
4.3 23
20 5.4 Obstacle 2 21.9
6.5 2 20.8
B. Rule 2 - How to avoid local minima and dead ends? 19 Robot 7.6 19.7
8.7 18.6
17.5
As given in Algorithm 2 (line 9 and 10) the direction 18 9.8
10.9
14.2 15.3
16.4
12 13.1
of the limit-cycle can be compelled to avoid conflicting 17 Robot
situations. This case is given for example when the robot trajectory
16
must avoid two or more obstacles with an overlapped region. 9 10 11 12 13 14
X [m]
15 16 17 18 19 20
6
19
the navigation of the robot), whereas ours permits switching
18 9 8 7
from one obstacle to another according to only reactive rules
17
(cf. Section III-A). 16
500
15
200
Y [m]
1
100
10
0
0 5 10 15 20 25 30 35 40
Time [s]
5
Fig. 10. Evolution of Lyapunov functions for the two used controllers
during the robot navigation.
0
0 5 10 15 20 25
X [m]
these two simulations (cf. Figure 11(a) and 11(b)) the gain
(a) With oscillations
in time is of 8% and the mean time of the 1000 simulations
Robot trajectory in the [O, X, Y] reference
25
10
24 22 25
15
9
22
Y [m]
24
1
17 8
14 23
20
Y [m]
10 7
6
18
5 19
13 4 20
5 16
11 3 18 21
14
2 16
0 1
0 5 10 15 20 25 12
X [m] 12
15
7
control is given in [15]. 6
18
19
Otherwise, to demonstrate the efficiency of the proposed 5
13 4 20
obstacle avoidance algorithm, a statistical survey was made 16