Copyright © IFAC Advances in Automotive Control. Ascona. Switzerland. 1995
DYNAMIC NONLINEAR CONTROL FOR A PLATOON OF CARS A.D. NDOUDI-LIKOHO· and C. CANUDAS de WIT· ·In.titut N4tion41 Po,technique de Greno6/e, LtJ6or4toire d'Autom4tiq"e de Greno6/e, B .P . ,46, 38,402 S4int-M4rtin-d'Here., Fr4nce, E-m4il. : 4ngeO/4g.grenet.jr, c4nud4.0/4g.grenet.jr
Abstract. In this paper is presented a control approach for a set of unconnected C&rS arranged in a platoon-like fashion using the "follow-the-leader" principle. The main goal of this work is the simultaneous longitudinal and lateral dynamic control of a platoon of C&rS . Application of a such control scheme would be useful in many nowadays public traffic transportation programs. This control is a dynamic extension of a previous work on nonlinear control for a convoy-like vehicle (Canudas and NDoudi-Likoho, 1994), applied to four-wheeled vehicles. The asymptotical convergence of the following cars towards the "leader's" path is established and simulation results are presented. Keywords. Dynamic nonlinear control, Nonholonomic constraint, Public transportation, Multibody mobile robot, Back-stepping
1. INTRODUCTION
by the leading car. To some extent this problem can be understood as a multi body path following problem, involving simultaneous longitudinal and lateral control of the platoon .
The control law presented here is motivated by the recent research of solutions to face the issues of highway traffic congestion and safety. Some vast studies were carried out in the framework of the California Program on Advanced Technology for the Highway (PATH) (Shladover et al., 1991) and also in the french Praxitele program (Daviet and Parent, 1993). The longitudinal control of a platoon of cars was investigated in (Shladover et al., 1991 ; Sheikholeslam and Desoer, 1990; Daviet and Parent, 1993), and the lateral control was investigated in (Peng and Tomizuka, 1990) and also in (Shladover et al., 1991), both for a dynamic model of the cars. Some feasibility studies were presented in (Shladover et al., 1991; Kehtarnavaz et al., 1990; Gage and Pletta, 1987) on the data processing and communication between the platoon 's cars.
The "follow-the-leader" problem for a set of physically connected two-wheel driven mobile robots (train-like vehicle) was first studied in (Canudas et al., 1994), using a kinematic model. This idea was then extended to the case of a set of unconnected two-wheel driven carts in (Canudas and NDoudi-Likoho, 1994). The present case is a dynamic extension of the previous work, applied to a set of four-wheeled cars. The control law is derived along the lines of the Back-stepping ideas (Kokotovic, 1992), resulting in a lateral and longitudinal control of the platoon. The paper is organized as follows . In section 2, dynamic equations of the platoon and reference platoons are derived . In section 3 the control design is considered and the stability analysis is presented. Simulation results are presented in section 4.
This paper proposes a control law for a set of cars that is intended to move in a platoon-like fashion . In the considered set, one of the cars, the first in the platoon's motion direction, is defined as the platoon's "leader" and is assumed to be an autonomous one. The ''follow-the-leader'' principle consists in controlling the other cars (the "followers" ) such that they track the path produced by the leading car with a regulated distance between them . The resulting surface swept by the whole platoon will then be close to the surface swept
2. MODELLING 2.1. Problem description
The platoon consists of N four-wheeled front wheel driven and steered cars. The leading car in the platoon is regarded as an autonomous one. 203
The absolute position and orientation of the leading car are assumed to be measured by means of appropriate sensors (system detection, GPS or others). For control purpose of the followers only the relative distances and relative orient at ions between the platoon's cars will be used, so the absolute location of the followers is not required. The mid-point of the leading car's rear axle defines a path P, which is a subspace of the motionplane. This path is in consequence not known in advance and, hence, requires to be numerically reconstituted in real time.
\
\ \
The platoon being assumed to move on a rough horizontal surface with relatively low driving speeds, for practical purposes inertia, centrifugal and other forces are chosen to be neglected. The bandwidth of the steering actuator is considered to be substantially high with respect to the bandwidth of the driving speed. Thus, the followers' accelerations and steering wheels' rotational velocities are considered as being the effective control inputs of the platoon. The control problem is then to design a feedback control law for each car, so the mid-points of the followers' rear axle follow the path generated by the leading car with a given distance between them.
\ \
\ \
Fig. 1. Two-car pla.toon's coordina.tes.
where the nonholonomic constraint associated to each car is:
2.2. Platoon Model
Zi sinOi -
Consider the two-car platoon shown on Fig. 1, where the position (Zi' Yi) of the i-car corresponds to the mid-point of its rear axle. The angle Oi is the orientation of the i-car relative to the z-axis; ~i is the steering wheels' orientation relative to the car's longitudinal axis. The leading car is indexed with i = 1 and the last car with i N . The steering wheels' rotational velocity is denoted as Wi, and the driving speed and acceleration respectively as Vi and ai . I is the distance between the car's rear and front axles. The relative orientations between the two successive (i - 1)- and i-cars are given by the angles ai and Pi; the distance between their mid-points, di, is given by:
ai =
Yi
Vi cos ~i sin Oi,
~i
= T sin ~i' = Wi,
Vi
=
Oi
Oi-l -
Pi
= 0,
i E [1, N].
(3)
atan2(Yi - Yi-l,Zi - Zi-l), (4) (5)
Therefore, the control law can be derived from the model described in the state-vectors Zi, avoiding the measure of the absolute location of the followers. The derivation of (1), (4) and (5) gives the dynamic model of the platoon in the new zcoordinates:
Each i-car is described by the state-vector qi = [Zi' Yi, Oi, ~i, vif. Then the dynamic model of the cars that takes into account the Rollingwithout-slipping condition is given by:
= Vi cos ~i cos Oi ,
Yi COSOi
Some variables of the dynamic equations can be eliminated by introducing the nonholonomic constraint. For the longitudinal control of each ifollower car the distance d i is considered as an additional state variable. Thus, the whole platoon can be completely described and located using the state-vectors Zi = [ai, di , Pi, ~i , Vi]T (i E [2, N]) along with ql, where ai and Pi are defined as:
=
Zi
\d2
(2)
ai, 204
ai
Vi-I. g( ai, di, Pi, ~ i,Vi ) + -/-sm~i_l' (6)
di
h(ai' di, Pi, ~i, V;),
/3i
g( ai, di , Pi , ~i, Vi)
~i
Wi,
(9)
Vi
ai,
(10)
+ ~i
(7)
sin ~i ,
(8)
where -1
.
d; {Vi-1 cos tPi-1 sm O'i -Vi cos tPi sin .8i},
(11)
Vi-1 cos tPi-1 cos O'i -Vi COStPi COS.8i .
(12)
2.3 . Reference Model
Car3
The leading car's path 'P is used to generate a dynamic reference model along which the system states should be stabilized. A natural way to define this reference model would be to place a platoon of reference cars lying on the path 'P, separated by a distance d,. (see Fig. 2, vir-tual reference car) . However, this definition has a drawback of high possibility of error propagation. An alternative is to define an independent reference car for each individual car in the platoon, located as close as possible to the path 'P, with the same orientation as the virtual reference car as suggested in (Canudas et al., 1994). Note that the virtual and the real reference cars coincide only for the second platoon's car. An illustration for a Three-car platoon is shown in Fig. 2.
", \
\
Leader's Path /
Fig. 2. Three-car platoon's configurations.
where
) _ ~ sin(.8i,. - O'i,.) f( A.,.. , po .,. - d,. P cos i,.
The present dynamic reference model generation algorithm can be briefly summarized as follows:
1. Generate the reference path 'P,.(Z1, yd to be followed, using the previous leading car's positions. 2. Place the virtual reference cars on the path 'P,.(Z1 , yd with the desired distance d,. between them. The longitudinal axis of each virtual reference car coincides with the tangent of the path 'P,.(Z1,Y1). 3. Place the reference cars. Each i-reference car has the same orientation as the corresponding i-virtual one, but is virtually connected to the (i - I)-car.
3. FEEDBACK CONTROL DESIGN In this section is presented the control design. Only two inputs are available for each car : Wi and ai . The control problem is then to derive a feedback law for all the Wi'S and ai's so that the system state-vector Zi = (ai, di , .8i , tPi , Vi f tend asymptotically to the reference state-vector Zi,. = (O'i,., d,., .8i,., tPi,., Vi,.)T .
This results in the following reference model (with
3.1. Main result
di ,. = 0) :
Pi,.
tPi,. Vi,.
The and tem (17)
= Vi-1 cos tPi- d( O'i,. , .8i,.) Vi-1 . tP +-1sm i-1,
(14)
Vi-1 costPi-d(O'i,.,.8i,.) Vi,. . tP +-1sm i,.,
(15)
= Wi,. , = ai,. ,
(18)
The reference cars are thus independent among them. This way to generate the reference model was found to be more suitable for control design, has the advantage of reducing the error propagation and hence improves the transient responses.
There is an holonomic constraint between the (i1)-car and the i-reference car given by
O'i,.
0
following theorem presents the main results the feedback control law. Consider the sysdynamics (6)-(10), the reference model (14)and the following controller: Wi = -k~~i - anli - dn2i
-~i~i + ~di'
(16)
ai
-k" Vi - ait9li - d i t9 2i
-~iI.li
(17) 205
(19)
+ Vi,
(20)
{3di = atan2 {6mi, 6ni} , arctan {
tPdi
~i } ,
Vdi = 6V m; +n;, I{)i =
(21)
Vi-1 . A. +-1- Sm'l'i-1
-kaai
(22)
h( 0i, (3di, d i , tPdi, Vdi)
-kddi .
(24) (25)
tPi = Vi cos tPi sin«(3;/2 + (3di )1]«(3i), sin {3di tP 1? 1i d;-cos di,
(26)
~i =
Vi
{II -
cos(tP;/2 + tPdi)
sin {3i
--;rJJi =
sin tP di
cos tP di .
13
(31)
i,
m;
=
Vi-1 COStPi-1 {sinai + d;f(air,{3ir)} -dikaai, (32)
ni
=
Vi-1 COStPi-1 cosai + kddi ,
ni =
(35) 11" 11"
sin(b/2)
(36)
k~
-kddi .
(43)
ai = -kaai + (3il{)i + Jnli + vi1?li,
(46)
cl;
(47)
-kddi + (3itPi + Jn2i + vi1?2i,
{-2
1 °i + di2i + V2i = 2
(37)
b/2
> 0, kd > 0, kfJ > 0,
=
> 0, kv > O.
~isintPi-~di(48)
In a second step tPdi and Vdi should be defined so as to stabilize the subsystem (ai, di , (3;) in the ideal case (Ji = 0 and Vi = 0), together with the "input" constraint (41) . For this, consider the Lyapunov function for this subsystem given by
(34)
/3-2} i .
(49)
The time derivative of this function evaluated along the solution ofthe error dynamics equations (46)-(48) is
where ai=ai-air, di=di-dr, (3i={3i-{3di, Ji = tPi - tPdi and Vi = Vi - Vdi;
ka
di
(3i = g(oi,di,{3i,tPi,Vi) +
,
6 _ { 1, if latan2{ mi, nil - {3ir I ~ - -1, if latan2{m;, nil - (3irl >
1](b)
(33)
/3.
-0-;r-V 6 Vm; + n; ,
(42)
with the functions I{)i, 1'1i, 1?1i, tPi, 1'2i and 1?2i as defined before in (24)-(29). The error dynamics is obtained from equations (39)-(45), (6)-(8), (11)-(12), (14) and (18):
Vi-1 A.. I{ T cos 'l'i-1 sm ai + di -ail{)i - ditPi - kfJ(3i sin {3i./2 c m i + n i2}
-kaai,
g( ai, (3di, di, tPdi, Vdi) + (3il{)i +Jn1i + vi1?li, (44) h(Zi) = h(ai, (3di, di, tPdi, Vdi) + (3itPi +Ji1'2i + vi1?2i, (45)
with
mi
=
g(Zi)
}sin(tP;/2 + tPd;) 1](tPi), (30)
-I-+~sm
ai
However, since in general (3i:f 0, tPi:f 0 and Vi :f 0, error terms result from these differences:
(29)
Vi cos (3di sin(Ji/2 + tPdi)1](Ji),
(40)
The ideal case «(3i = 0, Ji = 0 and Vi = 0) yields a stable closed-loop system in the (ai, d i )coordinates, i.e.
(27) 1?2i = - cos {3di cos tPdi, -Vi d; sin (3di sin(tPi/2 + tPdi)1](tPi), (28) 1'li 1'2i
(39)
The {3di defined as in (21) satisfies equations (39)(40), provided that tPdi and Vdi are related by the relation VdicostPdi=ni. (41)
(23)
~: cos tPi cos«(3;/2 + (3di)1]«(3i),
+ air,
.
2-2
V2i = -kaa i - kdd i - { Vd· +{3i g(Oi, (3i, di,tPdi, Vdi) + sin tPdi
-f
(38)
=
-~di
Then the complete system error state Zi [ai, d i , (3i, Ji, Vi]T tends asymptotically to zero.
+ ail{)i + ditPi}
(50)
Introducing in (50) the constraint (41) and the definitions of tPdi and Vdi given by (22)-(23) gives (51)
3.2. Proof (aJ Error dynamics. In the first step the states {3i, Vi and tPi are seen as being the control inputs (noted as (3di, Vdi and tPdi) to stabilize simultaneously ai and di in the case {3i = {3di, Vi = Vdi and tPi = tPdi. Thus, {3di should be designed as satisfying the following equations:
In the non-ideal case, when Ji:f 0 and Vi:f 0, error terms result from these differences: Vi.
A.
«(.l d
A.
9 (Zi) + lsm'l'i = 9 0i, pi, i, 'l'di, Vd;)
Vdi . A. +-1- sm 'l'di - ail{)i -ditPi + Ji€i + ViJJi .(52) 206
ka = 0.5, kd k" = 2.
with the functions {i and JJi as defined before in (30)-(31) . The complete error system dynamics can now be written as: ai di /3 i
-kaai
=
wi-4>di, ai - Vdi .
(56) (57)
~i Vi
=
(b) Stability analysis. The final step consists in finding the real control inputs Wi 'S and Vi'S such as to stabilize the complete error system dynamics. Consider the following Lyapunov function:
V
=
= 2.5,
k~
= 15
and
=
[Iff3tJ CB
~
~ . ear3 (to) /· 2
/
'
ref· ear3 (t.)
(58)
-1.
The time derivative of this function evaluated along the solution of the error system dynamics equations with Wi and ai as defined in (19) and (20) is
-12
d (t·
. ..
[ffID
o
i=2
ear2 (to)
.......
.··d
1 ~ (2 12 2 L...J ai + di + (3i-2 + tPi-2 + Vi2) 411z112 .
kp
The leading car starts from Ql(O) = (0,0,0,0,0) . With a desired driving speed Vdl = 2.78 m (10 km/h), the leading car first describes a curve of radius p = 5 m up to the orientation (h = 225 0 , and then describes another curve of radius p -8 m up to 81 -90 0 • The platoon starts with non-zero initial conditions (see Fig. 3), that IS: IIz(O)II:f; 0; d2 (0) > d,. and d3 (0) < d,., ai(O) :f; O.
+ /3il;'i + ~iili + Vi!?li, (54) -kddi + /3itPi + ~n2i + Vi!?2i, = -kp/3i - ail;'i - ditPi + ~i{i + viJJd55)
=
(53)
= 1,
-10
2
1
01
earl (to)
.••.•. •.•
lffEID
[F81] ref. ear2 (t.) x(m)"
..
-2
0
2
Fig. 3. Simula.tion of a. 3-car pla.toon: initial configura.tion.
The Fig. 4 shows the platoon's configurations at different times (to 0 s, tl 19.25 sand t2 = 28.75s). The Fig. 5.a shows the curves of
=
=
(59) = Os tJ = 19.25s t1 = 28.75s
5 r t.
where
earl (t,)
;
(60)
Or
Therefore, (58) and (59) lead to IIz(t)1I2 ~ IIz(0)1I 2e-A: o l
.
(61)
Finally, from (61), IIz(t)1I tends asymptotically to zero. As a consequence of this, from equations (21 )-(23) Hm {tan (3di } =
tan (3i,.,
(62)
lim {tan tPdi}
tan 4>i,.,
(63)
Vi,. ,
(64)
1-00 1-00
lim
1-00
{Vd;}
and hence (3i - (3di - (3i,., tPi - 4>di - 4>i,. and Vi - Vdi - Vi,. ·
15 vIm)
10
5
6
Fig. 4. Simula.tion of a. 3-ca.r pla.toon: motion .
4. SIMULATION RESULTS
the cars' driving speeds (Vi), and Fig. 5.b illustrates the distance error (di ). Fig. 5.c shows the lateral deviation of the followers from the leading car's path. The deviations and the distance errors don't exceed 4cm after 10s of motion. Thevariations of the steering wheels ' orientations (4);)
Simulations were done using MATLAB . Here are presented the simulation results for a 3-car platoon, performed with a time integration interval llt = 25 ms. The main parameters are: 1= 2.70m, d,. = 7.05m. The control gains are: 207
are shown on the Fig. 5.d. The Fig. 5.e shows the error aj. 5. CONCLUSION A dynamic feedback control, that solves the "follow-the-Ieader" problem for a platoon of cars using the Back-stepping ideas, has been presented. This control was proved to ensure uniform convergence of the error system states in different situations. A shot video showing some interesting platoon's motion sequences will be presented during the lecture.
,1
,..
Ur.V~--------~----------------~
U 2, 't. v
.
I \ . : ",
II~V'~,~.,~~,,-.~:~~~'~~------------~
"I
-
...Eft. .!
-
VJ
°0~--~6----~----~--~--------~ 10 16 20 _Itee)
a)
6. REFERENCES Canudas, de Wit C., A.D . NDoudi-Likoho and A. Micaelli (1994). Feedback control for a trainlike vehicle. In: ProC. Conference on Robotic and Automation. Vol. 1. pp . 14-19. Canudas, de Wit C. a.nd A.D. NDoudi-Likoho (1994) . Nonlinear control for a convoy-like vehicle. In: proc. 4th Symposium on Robot Control (IFAC, Ed.). Vol . 1. pp . 257-262. Daviet, P. and M. Parent (1993). Contr6le longitudinal d'un train de vehicules. In: Automatique pour les Vehicu/es Terrestres. pp. 187196. Gage, D.W. and J.B. pletta (1987). Ground vehicle convoying. In: Mobile Robots II (Society of Photo-optical Instrumentation Engineers (SPIE), Ed.). Vo!. 852. pp. 319-328. Kehtarnavaz, N., J.S. Lee and N.C. Griswold (1990). Vision-based convoy following by recursive filtering. In: Proc. American Control Conference. Vo!. 1. pp. 268-273. Kokotovic, P. (1992). The joy of feedback : Nonlinear and adaptive. Control Systems magazine 12,7-17. Bode Prize Lecture. Peng, H. and M. Tomizuka (1990) . Vehicle lateral control for highway automation . In: Proc. American Control Conference. Vo!. 2. pp. 788794. Sheikholeslam, S. and C.A. Desoer (1990) . Longitudinal control of a platoon of vehicles. In : Proc. A merican Control Conference. Vo!. 1. pp. 291-296. Shladover, S.E., C.A. Desoer, J .K. Hedrick, M. Tomizuka, J. Walrand, W.B . Zhang, D.H. McMahon, H. Peng, S. Sheikholeslam and N. McKeown (1991). Automatic vehicle control developments in the PATH program. IEEE Transaction on Vehicular Technology 40(1), 114-130.
:dJ
~~--~6----~1~0----7.16~---2O~------~ _Itee)
b)
c)
10
6
0
16 _Itee)
20
215
d) ~-
115,
",a
"'0..4
~Q.3 ~-' ~\
j
gQ2 a1'~\ 0.1 ", ........ 0 0
6
:..:~
10
16 _Itee)
20
e) Fig. 5. Simula.tion of a. 3-ca.r pla.toon: main curves.
208