Combined Path-Following and Obstacle Avoidance Control of A WheeledRobot
Combined Path-Following and Obstacle Avoidance Control of A WheeledRobot
Rene Zapata
Combined
Pascal Lepinay Path-following and
Université Montpellier II
161, rue Ada 34392 Montpellier Cedex 5 Obstacle Avoidance
{lapierre, zapata, lepinay}@lirmm.fr
Control of a Wheeled
Robot
361
362 THE INTERNATIONAL JOURNAL OF ROBOTICS RESEARCH / April 2007
the centre of the path curvature where the virtual target is lo- which repels the robot, and an attractive field located on the
cated. This is in contrast with the results described by Micaeli goal. The main difficulty with this method is the design of
and Samson (1993) for example, where only local convergence an artificial potential function without undesired local min-
is proven. To the best of the authors’ knowledge, the idea of ima. Elnagar and Hussein (2002) propose to model the poten-
exploring the extra degree of freedom that comes from control- tial field using Maxwell’s equations that completely eliminate
ling the motion of a virtual target along a path appeared for the the local minima problem, with the condition that an a pri-
first time in the work of Aicardi et al. (1995) for the control ori knowledge of the environment is available. These methods
of wheeled robots. This idea was later extended to the control are generally computationally intensive. Iniguez and Rossel
of marine craft in the work of Aicardi et al. (2001). However, (2002) propose a hierarchical and dynamic method that works
none of these addresses the issues of vehicle dynamics and pa- on a no regular grid decomposition, simple and computation-
rameter uncertainty. Furthermore, the methodologies adopted ally efficient, both in time and memory. Ge and Cui (2000)
by Aicardi et al. (1995, 2001) for control system design build address the problem of the adaptation of the potential field
on entirely different techniques that required the introduction magnitude, in order to avoid the problematic situation where
of a nonsingular transformation in the original error space. the goal is too close to an obstacle, inducing an inefficient
iii) It combines path-following control and obstacle avoid- attractive field, termed Goals Non-reachable with Obstacles
ance. Nearby. The work of Louste (1999) tackles the problem of
In this paper, controller design builds on the work reported coupling a path-planning method, based on viscous fluid prop-
in Micaeli and Samson (1993) on path-following control and agation, with nonholonomic robot kinematics restrictions. An-
relies heavily on Lyapunov-based and backstepping techniques other approach, based on a reflex behavior reaction, uses the
(Krstić et al. 19951 Fierro and Lewis 1997) in order to extend Deformable Virtual Zone (DVZ) concept, in which a robot
kinematic control laws to a dynamic setting. In Soetanto et kinematic dependent risk zone is located surrounding the ro-
al. (2003) parameter uncertainty is considered within a frame- bot. Deformation of this zone is due to the intrusion of prox-
work by augmenting Lyapunov function candidates with terms imity information. The system reaction is made in order to
that are quadratic in the parameter error. For the sake of clar- reform the risk zone to its nominal shape, implicitly moving
ity, in this paper, we do not extend the dynamic control with away from obstacles (Zapata 2004).
the parameter uncertainty robust scheme.
1 4 1 4
Serret–Frenet frame 3F4. The signed curvilinear abscissa of P 0 s1
2 5 2
along the path is denoted s. Clearly, Q can either be expressed 2 5 2 y 5
as q = 1X2 Y2 03 in a selected inertial reference frame 3I4 or as 1c 9 r 5 2 0 593 1 5
6
3 6
1s1 2 y1 2 03 in 3F4. Stated equivalently, Q can be given in 1X2 Y 3 74 5 cc 1s37s 0
or 1s1 2 y1 3 coordinates (see Figure 1). Let the position of point
P in 3I4 be vector p. Let 1 4
6cc 1s37s y1
1 4 2 5
2 5
cos 4 c sin 4 c 0 5 2 cc 1s37s s1 52
2 5 3 6
2
R 5 3 6 sin 4 c cos 4 c 0 5 0
6
0 0 1
equation (2) can be rewritten as
be the rotation matrix from 3I4 to 3F4, parameterized locally by 1 4 1 4
X7 s7 11 6 cc 1s3y1 3 8 s71
the angle 4 c . Define 1 c 5 47 c . Then, 2 5 2 5
2 5 2 5
7 R 2 Y7 5 5 2 y71 8 cc 1s37s s1 55
3 6 3 6
8 1c 5 47 c 5 cc 1s37s
(1) 0 0
9 c7c 1s3 5 gc 1s37s
Solving for s71 and y71 yields
where cc 1s3 and gc 1s3 5 dcdsc 1s3
denote the path curvature and 7 1 4
its derivative, respectively. The velocity of P with respect to
X7
s71 5 cos 4 c sin 4 c 3 6 6 s7 11 6 cc y1 3
3I4 can be expressed in 3F4 to yield 8 Y7
1 4 1 4 (2)
s7 X7
dp 2 5 y71 5 6 sin 4 c cos 4 c 3 6 6 cc s7 s1 5
52 5
3 0 65
9
Y7
dt F
0
At this point it is important to notice that in Micaelli and Sam-
It is also straightforward to compute the velocity of Q in 3I4 as son (1993), s1 5 0 for all t, since the location of point P is
defined by the projection of Q on the path, assuming the pro-
dq dp dr jection is well defined. One is then forced to solve for s7 in the
5 8 R61 8 R61 11c 9 r3 equation above. However, by doing so 1 6 cc y1 appears in the
dt dt dt
denominator, thus creating a singularity at y1 5 c1c . As a result,
I I F
where r is the vector from P to Q. Multiplying the above equa- the control law derived in Micaelli and Samson (1993) requires
tion on the left by R gives the velocity of Q in 3I4 expressed in that the initial position of Q be restricted to a tube around
1
3F4 as the path, the radius of which must be less than cc2max , where
dq dp dr
cc2max denotes the maximum curvature of the path. Clearly,
R 5 8 8 1c 9 r this constraint is very conservative since the occurrence of a
dt I dt F dt F
large cc2max in only a very small section of the path will im-
Using the relations pose a rather strict constraint on the initial vehicle position, no
matter where it starts with respect to that path.
1 4
X7 By making s1 not necessarily equal to zero, a virtual target
2 5 that is not coincident with the projection of the vehicle on the
dq 2 5
5 2 Y7 5 2 path is created, thus introducing an extra degree of freedom for
dt I 3 6
controller design. By specifying how fast the newly defined
0 target moves, the occurrence of a singularity at y1 5 c1c is
1 4 removed. The velocity of the unicycle in the 3I4 frame satisfies
s71 the equation
dr 2 5
5 2 5
3 y71 6 2 1 4 1 4
dt F X7 cos 4 m
0 3 65u3 6 (3)
Y7 sin 4 m
and
Lapierre, Zapata, and Lepinay / Combined Path-following and Obstacle Avoidance Control of a Wheeled Robot 365
where 4 m and u denote the yaw angle of the vehicle and its A.1. 91y1 2 u3 is a bounded differentiable function with respect
body-axis speed, respectively. Substituting (3) in (2) and in- to y1 and 9102 u3 5 0. This function will be called in the
troducing the variable 4 5 4 m 6 4 c gives the kinematic model sequel ‘approach angle’.
of the unicycle in 1s2 y3 coordinates as
7 A.2. y1 u sin 91y1 2 u3 02 y u5
s71 5 67s 11 6 cc y1 3 8 u cos 4
8 A.3. lim t u1t3 5 05
y71 5 6cc s7 s1 8 u sin 4 (4)
In the V1 Lyapunov function adopted, the first term 12 1s12 8
9 47 5 6 6 c s7 y12 3captures the distance between the vehicle and the path,
m c
which must be reduced to 0. The second term aims to shape
where 1m = 47 m . the approach angle 4 5 4 m 6 4 c of the vehicle to the path as a
function of the ‘lateral’ distance y1 and speed u, by forcing it
to follow a desired orientation profile embodied in the function
2.1.2. Dynamics. Problem Formulation
9. See Samson and Ait-Abderrahim (1991), where the use of a
The dynamical model of the unicycle is obtained by augment- 9 function of this kind was first proposed.
ing (4) with the equations Assumption A515 specifies that the desired relative heading
7 vanishes as y1 goes to zero, thus imposing the condition that
8 u7 5 F the vehicle’s main axis must be tangential to the path when the
1
(5) lateral distance y1 is 0. Assumption A525 provides an adequate
9 67 5 67 6 c s 6 g s7 2
m c c reference sign definition in order to drive the vehicle to the
path (turn left when the vehicle is on the right side of the path,
where 67 m 5 N2 and 1 and 2 are the mass and the moment and turn right in the other situation). Finally, Assumption A535
of inertia of the unicycle, respectively. Let FP F and N P F be states that the vehicle does not tend to a state of rest. The need
the path-following control inputs, the forward force and the for these conditions will become apparent in the development
angular torque, respectively. that follows. The derivative of V1 can be easily computed to
With the above notation, the problem under study can be give
formulated as follows:
1
Given a desired speed profile u d 1t3 7 u min 7 0 for the vehicle V71 5 s1 s71 8 y1 y71 8 14 6 93147 6 93
7
speed u, derive a feedback control law for FP F and N P F to 8
drive y1 , 4 , and u 6 u d asymptotically to zero. 5 s1 1u cos 4 6 s7 11 6 cc y1 3 6 s7 cc y1 3
1
2.2. Nonlinear Controller Design 8 y1 u sin 4 8 14 6 93147 6 97 3
8
This section introduces a nonlinear closed loop control law to
1
steer the dynamic model of a wheeled robot described by (4) 5 s1 1u cos 4 6 s7 3 8 y1 u sin 9 8
and (5) along a desired path. Controller design builds on pre- 8
vious work by Micaeli and samson (1993) on path-following sin 4 6 sin 9
control and relies heavily on backstepping techniques. 14 6 93 47 6 97 8 8 y1 u 5
4 69
Let the ideal (also called virtual) “kinematic control laws” for
2.2.1. Kinematic Controller design
s and 4 be defined as
The analysis that follows is inspired by the work in Samson 7
s7 5 u cos 4 8 k1 s1
and Ait-Abderrahim (1991) and Micaelli and Samson (1993) 8
on path-following control for kinematic models of wheeled ro- 47 5 97 6 8 y1 u sin 44 69
6sin 9 (7)
bots. Recall from the problem definition in the previous sec-
9 6k 14 6 935
tion that the main objective of the path-following control law 2
is to drive y1 and 4 to zero. Starting at the kinematic level,
these objectives can be embodied in the Lyapunov function where k1 and k2 are positive gains. Then,
candidate (Micaelli and Samson 1993). 14 6 932
V71 5 6k1 s12 8 y1 u sin 9 6 k2 05 (8)
1 2 1 8
V1 5 1s1 8 y12 3 8 14 6 91y1 2 u332 (6)
2 28
Note the presence of the term y1 u sin 9 in the previous equa-
where 8 is a positive gain, and it is assumed that tion and how assumption A525 is justified.
366 THE INTERNATIONAL JOURNAL OF ROBOTICS RESEARCH / April 2007
where the f 1 153 and f 2 153 are defines in equation (14) and k1 , as a DVZ surrounding the vehicle. Deformation of this risk
k2 , k3 , k4 and k9 are arbitrary positive gains, drives y1 , s1 and zone is due to the intrusion of proximity information and
4 asymptotically to zero. thus controls the robot reactions. This DVZ characterizes the
deformable zone geometry, and depends on the robot veloci-
Proof: The key steps in the proof can be briefly described as
ties (forward and rotational velocities, u and r). Briefly, the
follows: let V2 be the Lyapunov function candidate expressed
risk zone, disturbed by obstacle intrusion, can be reformed by
in equation (11). The kinematic control expression (16) yields
acting on the robot velocities. For a complete exposition of the
V72 0. Since V72 is negative semi-definite and bounded be-
DVZ principle, the reader is referred to Zapata (2004).
low, V2 is bounded and has a well defined limit. Therefore,
s1 , y1 , 4 and u are bounded, since 9 and u d are assumed to be
bounded. Considering the previous equations, it is straightfor- 3.1. DVZ Principle
ward to show that s71 , y71 , 47 and u7 are bounded as well. Direct
derivation allows one to compute the second derivative of V2 , General statement
and prove it is bounded. Therefore, V72 is uniformly continuous A rigid body R representing a controlled robot is moving
and application of Barbalat’s lemma implies that V72 tends to 0 among obstacles in 12 . The 2-dimensional vector U 5 [u r]T
as t tends to . Consider now the expression for V72 in (13). is the generalized momenta consisting of the translational and
Since V72 is a sum of negative terms and tends to 0 as t goes to rotational velocities of the robot. It characterizes the motion
, we conclude that s1 , y1 , 14 6 93, , and 1u 6 u d 3 tend to of R. Furthermore, we will assume that the robot R can be
zero as well. That is, the robot asymptotically converges to the controlled by the derivative 5 U7 of this vector.
path. Informally, we define a controlled DVZ, h , as any DVZ
Remarks: The proposed solution consists in a ‘fox–rabbit’ which depends on the vector U characterizing the motion of
problem where the rabbit is really cooperative since it adjusts R. This functional dependence will appear more clearly in
its own velocity to help the convergence, through the expres- Section 3.2, after parameterization of the DVZ:
sion: h 5 1U 35 (17)
s7 5 u cos 4 8 k1 s1 5
If we let 3 5 1h 2 3 be an ordered pair of two DVZ of
The first term u cos 4 is the projection of the vehicle (fox) onto
R (the first one being a controlled DVZ), we define the defor-
the path where the virtual target (rabbit) is located. The sec-
mation of the DVZ h with respect to as the functional
ond term is necessary to ensure the convergence of s1 to 0,
difference of and h :
making the virtual target asymptotically converge to the clos-
est point with respect to the vehicle current position. In the 5 6 h 5 (18)
problem statement, the condition u d u min 7 0 has been im-
posed (implicitly covering the assumption A.3). Then the ve- We assume that the robot can perceive distances in all di-
hicle will not stay at rest and will effectively converge to the rections of space. We also assume that the set of maximum
path. The consequence of this is that the virtual target also distances that can be perceived by R and the set of actually
will not stay at rest, since 4 and s1 are guaranteed to converge perceived distances are also two DVZ surrounding R respec-
to zero, and u 7 0, for all t. Then, the path-following prob- tively named Sensor boundary and Information boundary (and
lem, as described here can never degenerate to a pose regula- respectively denoted and ). The deformation I of with
tion problem, for which Brockett’s limitations are inevitable. respect to is given by I 5 6 .
The assumption that the variables 4 , s1 , y1 , cc and gc are well Let I , be a DVZ which depends on the Sensor boundary
defined implies that there is a path parameterization that allows deformation I :
one to compute the path curvature cc 1s3 and its spatial deriv- I 5 1I 35 (19)
ative gc 1s3, for all s denoting the current curvilinear abscissa
The deformation of the DVZ h with respect to I can
of the virtual target. Moreover, this implies that the system is
be written:
equipped with a sensor suite that allows computation of the ro-
bot situation in the Serret–Frenet frame, i.e. the variables 4 , s1 5 I 6 h 5 1I 3 6 1U 35 (20)
and y1 .
For a given point M on R, the deformation vector 1M3
depends on the intrusion of proximity information I 1M3, in
3. Obstacle Avoidance Algorithm the rigid body workspace, and on the controlled DVZ h .
Figure 2 shows these different DVZ.
This section presents an obstacle avoidance algorithm based Parameterization
on the use of a continuous Deformable Virtual Zone (DVZ). Equation (20) is a functional equation that has to be parame-
The main idea is to define the robot/environment interaction terized in order to be differentiable and to lead to the “usable”
368 THE INTERNATIONAL JOURNAL OF ROBOTICS RESEARCH / April 2007
equation (22). For instance, it can be spatially sampled along Fig. 3. Implementation of the function (and projection).
the directions of the real sensors. In this case, it becomes an s-
dimensional vectorial equation where s is the number of prox-
imity sensors. It can also be evaluated as a polar signature and 3.2. The Controlled DVZ
therefore parameterized. In the case of simple mobile robots,
the DVZ can be parameterized by simple shapes like ellipsoids In order to acquire an analytical expression for the polar sig-
(see 3.2). nature of the controlled DVZ, expressed in the robot frame
centered on R, we consider an elliptic shape. Let P 5 [x y]T
Differentiation be a point on the ellipse with axis cx and c y . If we assume
By differentiating Equation (20) with respect to time, we get: that the proper reference frame of the DVZ is translated from
its center by a vector a 5 [ax a y ]T , its equation in the robot
7 5 6 U [] 8 I []
(21) frame is given by:
where U and I are the differentiation operators with respect x 8 ax 2
y 8 ay 2
Using the definition of dh 13 5 x 2 8 y 2 , we can write:
x 1
5 dh 13 (27)
y 2
0. Then the dynamic obstacle avoidance control is written as where rd 5 6K r 1 6 d 31J4 6 d 3 8 cc s7 8 97 , K u and K r
7 are arbitrary positive gains. At this stage one should note that
8 FO A 5 1 6K u Ju 6 F Rob5el u u
J this solution does not prevent the forward velocity u from be-
(42)
9 N 5 2 17r 6 K 1r 6 r 33 ing null, and thus a poor convergence rate around the path.
OA d r d
We therefore propose another control version that avoids these
where K r and K u are arbitrary positive gains, 1 and 2 are the drawbacks, but also loses any mathematical proof of conver-
mass and moment of inertia of the vehicle, and rd 5 6K r J4 I . gence.
Lapierre, Zapata, and Lepinay / Combined Path-following and Obstacle Avoidance Control of a Wheeled Robot 371
with a positive forward velocity u 7 u min 7 0, outside the Table 2. The chosen control parameters.
corner situation. This guarantees the well posedness of the
expressions (43), (44) and (45). Then the global control (48) is K rP F 5 051 K uP F 5 1 K rO A 5 0501 K uO A 5 051
well posed in any situation. Table 1(c) describes the evolution K d 5 10 d 5 0501 K I 5 100 ud 5 1
of the forward velocity while encountering a corner situation. cx 5 100 cmin 5 10 K uC O R N E R 5 051 rc 5 1
x
The increase in the intrusion ratio induces a decreasing for-
ward velocity, down to u min 5 052m5s 61 , while the obstacle
is present on the left and right side of the robot (l r 7 0).
The robot is then controlled according to (47), where rcorner is
driven by the sign of d . This allows the system to be driven 5.1. Simulation Results
away from the path, thus guaranteeing the system skirts the
obstacle. Table 1(d) shows the evolution of the virtual target We have implemented the algorithm on a unicycle simulator
(‘rabbit’) along the path, where its backward movement to- developed with Matlab. The control parameters are chosen
wards the closest point on the path is seen, while the robot is according to Table 2. The results are displayed in Table 3.
skirting the obstacle. Table 2(a) shows the path and obstacles definitions. The ro-
bot is of the unicycle type, on which a 32-proximity-sensors
belt is mounted, displayed as surrounding radial rays of length
defined by the nominal DVZ. Table 2(b) indicates a corner sit-
5. Results uation, in which we see the reduction of the DVZ due to the
decreased forward velocity. Table 2(c) shows the system after
The previous solution implicitly requires an estimation of 7 the switch from corner situation to nominal control. Finally,
in the computation of FO A . The numerical derivation of the Table 3(d) displays the global trajectory the system has made.
sensor information induces noise amplification and will not
provide an accurate estimation of . 7 Therefore, we degrade
the previous solution at a kinematic level, that does not require
7 Moreover, the considered robot (cf. Fig-
the estimation of . 5.2. Experimental Results
ure 5) accepts as control inputs the desired velocities u and r,
and its rapid actuator response (combined with its light mass
and inertia) allows implementation of a kinematic controller We have implemented the control algorithm of equations (49)
without degrading the overall performance. on the Pekee robot from the Wany company. This robot is
7 driven by two independent wheels and carries a 16-infrared-
8 r 5 r O A 8 f 13r p f proximity- sensors belt, see figure 5, and is controlled via a
(49) Mitsubishi M16C family micro-controller. The complete algo-
9 u 5 u O A 8 f 13u p f rithm, equations (49), was first implemented on an embedded
PC daughterboard, and the test results are displayed in Figure
where 6 describing the odometric trajectory of the robot. Since the
7 navigation system is based only on odometric information, the
r P F 5 97 6 K rP F 14 6 93 8 cc s7 real trajectory is not significant in the demonstration of the va-
t lidity of our approach. The robot clearly avoids the obstacle
u P F 5 0 1u7 d 6 K uP F 1u 6 u d 33dt and returns to the nominal path without requiring switching
8
s7 5 u cos 4 8 ks s1 (50) control. This is valid in this particular situation where the cor-
ner situation does not occur. Some chattering behavior has
r O A 5 6K rO A 1 6 d 31Jr 6 d 3 8 cc s7 8 97 to be filtered out by gain tuning according to the Pekee ro-
9 u 5 t 16K O A J 1 6 3 6 F r ob5el u3dt5 bot capabilities. Figure 7 shows the evolution of the forward
OA 0 u u d J u
velocity. The black dots denote the desired velocity when no
obstacle is detected, the stars indicates the evolution of the for-
The DVZ guidance functions are chosen according to (25). ward velocity in the presence of obstacles. A second stage
The other functions are chosen according to the following consisted in simplifying the algorithm complexity (including
definitions: trigonometric look-up tables) in order to reduce the compu-
7 tational burden, and implementation of the solution directly
8 d 5 K d tanh d 14 6 93 on the M16C micro-controller onboard the vehicle. The tests
(51)
9 f 13 5 1 displayed similar vehicle behavior, since the sensor (US and
18K odometry) accuracy did not allow demonstration of the reac-
tivity benefits of the low level implementation.
Lapierre, Zapata, and Lepinay / Combined Path-following and Obstacle Avoidance Control of a Wheeled Robot 373