trajectory planning and sliding-mode control based trajectory-tracking for cybercars

16
See discussions, stats, and author profiles for this publication at: https://www.researchgate.net/publication/228634486 Trajectory planning and sliding-mode control based trajectory-tracking for cybercars ARTICLE in INTEGRATED COMPUTER AIDED ENGINEERING · JANUARY 2006 Impact Factor: 4.7 CITATIONS 31 READS 40 2 AUTHORS: R. Solea Universitatea Dunarea de Jos Galati 40 PUBLICATIONS 127 CITATIONS SEE PROFILE Urbano Nunes University of Coimbra 198 PUBLICATIONS 2,173 CITATIONS SEE PROFILE Available from: Urbano Nunes Retrieved on: 05 February 2016

Upload: independent

Post on 13-Nov-2023

0 views

Category:

Documents


0 download

TRANSCRIPT

Seediscussions,stats,andauthorprofilesforthispublicationat:https://www.researchgate.net/publication/228634486

Trajectoryplanningandsliding-modecontrolbasedtrajectory-trackingforcybercars

ARTICLEinINTEGRATEDCOMPUTERAIDEDENGINEERING·JANUARY2006

ImpactFactor:4.7

CITATIONS

31

READS

40

2AUTHORS:

R.Solea

UniversitateaDunareadeJosGalati

40PUBLICATIONS127CITATIONS

SEEPROFILE

UrbanoNunes

UniversityofCoimbra

198PUBLICATIONS2,173CITATIONS

SEEPROFILE

Availablefrom:UrbanoNunes

Retrievedon:05February2016

Galley Proof 24/11/2006; 14:09 File: ica250.tex; BOKCTP/ p. 1

Integrated Computer-Aided Engineering 13 (2006) 1–15 1IOS Press

Trajectory planning and sliding-mode controlbased trajectory-tracking for cybercars

Razvan Solea and Urbano Nunes∗Institute of Systems and Robotics, University of Coimbra, Polo II, 3030-290 Coimbra, PortugalTel.: +351 239 796200; Fax: +351 239 406672; E-mail: [email protected]

Abstract. Fully automatic driving is emerging as the approach to dramatically improve efficiency (throughput per unit of space)while at the same time leading to the goal of zero accidents. This approach, based on fully automated vehicles, might improve theefficiency of road travel in terms of space and energy used, and in terms of service provided as well. For such automated operation,trajectory planning methods that produce smooth trajectories, with low level associated accelerations and jerk for providinghuman comfort, are required. This paper addresses this problem proposing a new approach that consists of introducing a velocityplanning stage in the trajectory planner. Moreover, this paper presents the design and simulation evaluation of trajectory-trackingand path-following controllers for autonomous vehicles based on sliding mode control. A new design of sliding surface isproposed, such that lateral and angular errors are internally coupled with each other (in cartesian space) in a sliding surfaceleading to convergence of both variables.

1. Introduction

The number of accidents generated by road transportis a dramatic social problem requiring urgent and effec-tive solutions. Improvements in vehicle quality havehelped to increase safety and capacity, but as vehiclesafety and traffic engineeringhas improved, the propor-tion of accidents due to driver error has increased witha result that automotive engineering has focused on ac-cident mitigation rather than avoidance. The introduc-tion of safer vehicles has sometimes been associatedwith greater accident frequency, particularly involvingvehicle-pedestrian conflicts where drivers are encour-aged to take greater risks as a result of their perceivedinvulnerability. It is now recognized that the limitingfactor for further improvement is the poor performanceof the human driver. Fully automatic driving is emerg-ing as the approach to dramatically improve efficiencywhile at the same time leading to the goal of zero ac-cidents. In this context, a new approach for mobilityproviding an al ternative to the private passenger car,by offering the same flexibility but with much less nui-

∗Corresponding author.

sances, is emerging, based on fully automated vehicles,named cybercars [4,9].

Although motion planning of mobile robots and au-tonomous vehicles has been thoroughly studied in thelast decades, the requisite of producing trajectories withlow associated accelerations and jerk is not easily trace-able in the technical literature. This paper addressesthis problem proposing an approach that consists ofintroducing a velocity planning stage to generate ad-equate time sequences to be used in the interpolatingcurve planners. In this context, we generate speed pro-files (linear and angular) that lead to trajectories re-specting human comfort. The need of having travelcomfort in autonomous vehicle’ applications, like incybercars [4], motivated our research on the subject ofthis paper.

Additionally, trajectory tracking control strategiesare here proposed using sliding mode control (SMC)techniques.

Trajectory tracking control means tracking referencetrajectories predefined or given by path planners. It hasbeen widely studied and various effective methods andtracking controllers have been developed (e.g. [1,2,5,11,13]). The model-based tracking control approach-

ISSN 1069-2509/06/$17.00 2006 – IOS Press and the author(s). All rights reserved

Galley Proof 24/11/2006; 14:09 File: ica250.tex; BOKCTP/ p. 2

2 R. Solea and U. Nunes / Trajectory planning and sliding-mode control

Fig. 1. A possible velocity planning for one path segment.

es can be divided into kinematic and dynamic basedmethods.

According to different control theories, a more elab-orate category in the sense of kinematic methods canbe grouped in five sets [13]: (1) sliding mode basedapproaches, (2) input-output linearization based ap-proaches, (3) fuzzy based approaches, (4) neural net-work based approaches, and (5) backstepping based ap-proaches. Among all of these kinematic-based meth-ods, considering the stability of tracking control laws,the hardware computation load and the maneuverabil-ity in practice, tracking control law designed by slid-ing mode technology has been proved one of the bestsolutions.

Sliding mode control (SMC) is a special discontin-uous control technique applicable to various practicalsystems [12]. The main advantages of using SMCinclude fast response, good transient and robustnesswith respect to system uncertainties and external dis-turbances. Therefore, it is attractive for many highlynonlinear uncertain systems [10].

Aguilar et al. [1] determined a variable structure con-trol with sliding mode to stabilize the vehicle’s mo-tion around the reference path (path-followingcontrol).Yang and Kim [11] proposed a sliding mode controllaw for solving trajectory tracking problems of non-holonomic mobile robots in polar coordinates. A newSMC kinematic controller defined in polar coordinates,for trajectory-tracking in the context of wheeled mobilerobots, is described in [2]. In the proposed method,two controllers are designed to asymptotically stabilizethe tracking errors in position and heading direction,respectively.

2. Trajectory planning

Trajectory planning for passenger’s transport vehi-cles must generate smooth trajectories with low asso-ciated accelerations and jerk. Lateral and longitudinalaccelerations depend on the linear speed:

aT =dv

dt(1)

aL =dθ

dt· v = k · v2 (2)

thus, the trajectory planning must perform not only theplanning of the curve (spatial dimension) but also thespeed profile (temporal dimension).

The ISO 2631-1 standard [8] (Table 1) relates com-fort with the overall r.m.s. acceleration, acting on thehuman body, defined as:

aw =√k2

x · a2wx + k2

y · a2wy + k2

z · a2wz (3)

whereawx, awy, awz, are the r.m.s. accelerations onx,y, z axes respectively, andkx, ky, kz, are multiplyingfactors. For a seated personkx = ky = 1.4, kz = 1.For motion on thexy-plane,awz = 0. The vehicleframe is chosen so that thex−axis andy−axis arealigned with the longitudinal and lateral directions ofthe trajectory, respectively.

Using Table 1 and Eq. (3), for “not uncomfortable”accelerations, the longitudinal and lateral r.m.s. accel-erations must be less than 0.24 m/s2. This value al-lows defining the reference speeds, and consequentlythe time values. The reference velocity at the final point

Galley Proof 24/11/2006; 14:09 File: ica250.tex; BOKCTP/ p. 3

R. Solea and U. Nunes / Trajectory planning and sliding-mode control 3

0 10 20 30 40 50 60

0

10

20

30

40

50

60

a(3,7,0)b(20,7,0)

c(22,9,pi/2)

d(24,18,pi/2)

e(24,20,0)

f(38,20,0)

g(40,22,pi/2)

h(40,31.2,pi/2)i(42,34,pi/8)

j(47,42,pi/2)

k(38,51,pi)

l(30,46,3 *pi/4)

m(27.2,44,pi)

n(4,44,pi)

o(2,42,−pi/2)

p(2,20,−pi/2)

Path [m]

Fig. 2. Path planning example using quintic polynomial curves.

Table 1ISO 2631-1 STANDARD

Overall ConsequenceAcceleration

aw < 0.315 m/s2 Not uncomfortable0.315 < aw < 0.63 m/s2 A little uncomfortable0.5 < aw < 1 m/s2 Fairy uncomfortable0.8 < aw < 1.6 m/s2 Uncomfortable1.25 < aw < 2.5 m/s2 Very uncomfortableaw > 2.5 m/s2 Extremely uncomfortable

of a segmentk (defined by two consecutive waypointsi andi+ 1), can be calculated as

vi+1 = vi ± awx · tk, awx � 0.24 m/s2 (4)

tk = ti+1 − ti =√

2 · sk

awx(5)

wheresk is the length of the segment. A path betweenthe initial and the final point is formed as a series ofpath segments (each segment connects two consecutivewaypoints). We choose for Eq. (5) the maximum valueof awx (awx = 0.24 m/s2) to obtain a minimal valuefor tk.

The problem: Given a set of waypoints, find controlinputsv(t), ω(t) such that the vehicle starting from anarbitrary initial extended state:

pa = [xa ya]T = [x(0) y(0)]T ; θa = θ(0);va = v(0); va = v(0);ωa = ω(0); ωa = ω(0);

reaches the arbitrary final extended state:pw = [xw yw]T = [x(tfin) y(tfin)]T ; θw =

θ(tfin);vw = v(tfin); vw = v(tfin);ωw = ω(tfin); ωw =

ω(tfin).crossing all the given waypoints. The comfort of humanbody constraint

aw < 0.4 m/s2 (6)

is to be satisfied.The algorithm:

– Step 1: Determine a path connectingpa (startpoint) withpw (final point)

pk(u) =[xk(u)yk(u)

](7)

=[c0k + c1k · u+ c2k · u2 + . . .d0k + d1k · u+ d2k · u2 + . . .

]

wereu ∈ [0, 1], andcik anddik, i = 1, 2, . . . areconstants to be found function of the type of thecurve (e.g. cubic splines, trigonometric splines orquintic splines).

Galley Proof 24/11/2006; 14:09 File: ica250.tex; BOKCTP/ p. 4

4 R. Solea and U. Nunes / Trajectory planning and sliding-mode control

0 50 100 150−0.2

0

0.2

0.4

0.6

0.8

1

1.2

1.4

1.6

1.8Linear velocity [m/s]

Time [s]

b

c

d

e

f

g

h

i

j

k

l

m

n

o

p a

0 50 100 150−0.8

−0.6

−0.4

−0.2

0

0.2

0.4

0.6Angular velocity [rad/s]

Time [s]

a b c

d e

f g

i

j k l

m

n o ph

Fig. 3. Linear and angular velocities for path example.

0 50 100 150

−0.5

−0.4

−0.3

−0.2

−0.1

0

0.1

0.2

0.3

0.4

0.5

Lateral acceleration [m/s2]

Time [s]

pon

m

lkji

h

gf

ed

cba

0 50 100 150

−0.5

−0.4

−0.3

−0.2

−0.1

0

0.1

0.2

0.3

0.4

0.5

Longitudinal acceleration [m/s2]

Time [s]

p

o

n

m

l

k

j

i

h

g

f

e

d

c

b

a

Fig. 4. Lateral and longitudinal accelerations for path example.

Determine the lengthsk for each path segment,

sk(u) =∫ 1

0

‖pk(ξ)‖ · dξ (8)

and the curvaturekck(u) for each path segment,

kck(u) =xk(u) · yk(u) − xk(u) · yk(u)√

x2k(u) + y2

k(u)(9)

– Step 2: Eachvk(t) are generated with five properlyjoined spline curves(j = 1, 2, . . .5) like in [6]:

vj(t) = a1j + 2a2j · t+ 3a3j · t2,(10)

t ∈ [0, tj],5∑

j=1

tj = tk

where coefficientsaij are defined in [3]. The gen-

Galley Proof 24/11/2006; 14:09 File: ica250.tex; BOKCTP/ p. 5

R. Solea and U. Nunes / Trajectory planning and sliding-mode control 5

Fig. 5. Bicycle model Eq. (12).

Fig. 6. Lateral, longitudinal and orientation error (trajectory- track-ing).

erated velocity isC1 and strictly positive for anyt ∈ [0, tk]. The number of curves is suggested bypractical reasonings (the smoothness of the veloc-ity profile increases with the number of curves).An example of the velocity profile (for one pathsegment) is shown in Fig. 1.

– Step 3: The angular velocity functionsωk(t) ∈ C1

are defined according to:

ωk(t) := vk(t) · kk(sk)|sk(t)=

∫t

0vk(ξ)dξ

(11)

wherekk(sk) is the curvature expressed as a func-tion of the arc lengthsk(t).

– Step 4: Calculate the r.m.s. accelerationawk foreach path segment using Eqs (1), (2) and (3).

Table 2Trajectory planning algorithm

1. calculatexk(u) andyk(u) for each path segment (Eq. 7).2. calculate the lengthsk(u) for each path segment (Eq. 8).3. calculate the curvature for each path segment (Eq. 9).4. calculate the timetk for each path segment (Eq. 5).5. calculate velocity at each waypointvi (Eq. 4).6. repeat (for each path segment)

(a) calculate the curvature,kk(sk(t))(b) calculatevk(t)

(b1) if min(vk(t)) < 0 then decrease the final velocityvi+1

and go to (b).(c) calculate the angular velocityωk(t) (Eq. 10).(d) find the overall rms accelerationawk (Eq. 3).(e) if awk > 0.4 m/s2 then increase the time (tk).

7. until awk < 0.4 m/s2.

Table 3Length, time and r.m.s. acceleration values for each path segment

no sk tk awxk awyk awk

[m] [s] [m/s2] [m/s2] [m/s2]

1 17.0000 15.4500 0.2071 0.0000 0.28992 3.19000 5.1600 0.0750 0.2025 0.30243 9.0000 8.6600 0.1806 0.0000 0.25284 3.1900 5.1600 0.1070 0.2106 0.33075 14.0000 11.8000 0.2152 0.0000 0.30136 3.1900 5.1600 0.0444 0.1978 0.28387 9.1800 8.7500 0.1818 0.0000 0.25458 3.6700 5.5300 0.0846 0.1593 0.25259 10.2200 9.2300 0.1795 0.1816 0.357510 14.3500 10.9400 0.1210 0.2126 0.342411 9.8700 9.0700 0.0493 0.1344 0.200412 3.5600 5.4500 0.1034 0.1320 0.234813 23.1800 18.9000 0.1089 0.0000 0.152414 3.1900 5.1600 0.1636 0.2326 0.398215 22.0000 20.6400 0.1715 0.0000 0.2401

Total r.m.s acceler. 0.1537 0.1209 0.2737

sfin = 148.7900 m.tfin = 145.0600 s.

IF awk > 0.4 m/s2 THEN change the time forthat segment and go to step 2.

If the r.m.s. acceleration is not under0.4 m/s2 fora given path segment the time for that segment is in-creased (an increase of 10% has been used). Using theproposed algorithm (summarized in Table 2) a path,respecting comfort of human body, is obtained.

Consider the example depicted in Fig. 2 where thelarger circles represent waypoints(a, b, . . . , p). Eachwaypoint is defined by a position, in meters, and anorientation, in radians.

Figures 2–4 show results of the application of theproposed trajectory planning algorithm satisfying thecomfort condition Eq. (6). From Fig. 4 we observe thatthe maximum absolute values for lateral and longitudi-nal accelerations are both below 0.51 m/s2.

Galley Proof 24/11/2006; 14:09 File: ica250.tex; BOKCTP/ p. 6

6 R. Solea and U. Nunes / Trajectory planning and sliding-mode control

Fig. 7. Lateral and orientation errors for path-following: left) without look-ahead distance; rigth) with look-ahead distance.

Fig. 8. Simulation model block diagram.

Table 3 summarizes the results of the applied trajec-tory planning algorithm: length, time and r.m.s. ac-celeration values for each path segment. Three ac-celeration components are considered: lateral, longi-tudinal and overall acceleration. In accordance withthe 6th column of Table 3,awk satisfies Eq. (6),i.e. aw < 0.4 m/s2. This value is in the range of “Alittle uncomfortable” (see Table 1).

3. Sliding mode control design

The research in the area of Sliding Mode Control(SMC) was initiated about 50 years ago. In the last twodecades this control methodology has been receivinggreat attention from the international control commu-nity with widespread use in many applications.

The scope of sliding mode control studies embraces:

– mathematical methods of discontinuous differen-tial equations;

– design of manifolds in the state space and discon-tinuous control functions enforcing motions alongthe manifolds;

– implementation of sliding mode controllers andtheir applications to control of dynamic plants.

The first problem concerns development of the toolsto derive the equations governing sliding modes andthe conditions for this motion to exist. Formally mo-tion equations of SMC do not satisfy the conventionaluniqueness-existence theorems of the ordinary differ-ential equations theory. The sliding mode existenceproblem is studied in terms of the stability theory. Slid-ing mode control algorithms are efficient when con-trolling nonlinear dynamic plants of high dimensionoperating under uncertainty conditions.

The main requirement in the design is that the con-trol should satisfy the reaching condition, which inturn guarantees the existence of sliding mode on theswitching manifold. Additional requirements includefast reaching and low chattering.

Galley Proof 24/11/2006; 14:09 File: ica250.tex; BOKCTP/ p. 7

R. Solea and U. Nunes / Trajectory planning and sliding-mode control 7

0 50 100 1500

0.2

0.4

0.6

0.8

1

1.2

1.4

1.6

1.8

2Linear velocity [m/s]

Time [s]

desiredreal

0 50 100 150−60

−40

−20

0

20

40

60Steering [deg]

Time [s]

desiredreal

Fig. 9. Linear velocity and steering angle for trajectory-tracking controller without initial pose error.

0 50 100 150−0.05

−0.04

−0.03

−0.02

−0.01

0

0.01

0.02

0.03

0.04Lateral and Longitudinal errors [m]

Time [s]

xe

ye

0 50 100 150−3

−2

−1

0

1

2

3

4Orientation error [deg]

Time [s]

Fig. 10. Lateral, longitudinal and orientation errors for trajectory-tracking controller without initial pose error.

Lyapunov method is usually used to determine thestability properties of an equilibrium point withoutsolving the state equation. LetV (x) be a continuouslydifferentiable scalar function defined in a domainDthat contains the origin. A functionV (x) is said tobe positive definite ifV (0) = 0 andV (x) > 0 forx ∈ D andx �= 0. A generalized Lyapunov function,that characterizes the motion of the state trajectory tothe sliding surface, is defined in terms of the surface.For each chosen switched control structure, one choos-es the “gains” so that the derivative of this Lyapunovfunction is negative definite, thus guaranteeing motionof the state trajectory to the surface.

3.1. Sliding mode trajectory-tracking control

It is supposed that a feasible desired trajectory forthe vehicle is pre-specified by a trajectory planner. Theproblem is to design a robust controller so that thevehicle will correctly track the desired trajectory undera large class of disturbances.

We consider as a motion model of a vehicle the fol-lowing simplified nonholonomic system:

xr(t) = vr(t) · cos θr(t)yr(t) = vr(t) · sin θr(t)θr(t) = vr

l · tanφr(t)(12)

where (see Fig. 5)xr andyr are the Cartesian coor-dinates of the rear axle midpoint,vr is the velocity of

Galley Proof 24/11/2006; 14:09 File: ica250.tex; BOKCTP/ p. 8

8 R. Solea and U. Nunes / Trajectory planning and sliding-mode control

0 50 100 150−0.6

−0.4

−0.2

0

0.2

0.4

0.6

0.8Lateral accelerations [m/s2]

Time [s]

realdesired

0 50 100 150−0.8

−0.6

−0.4

−0.2

0

0.2

0.4

0.6Longitudinal accelerations [m/s2]

Time [s]

realdesired

Fig. 11. Lateral and longitudinal accelerations for trajectory-tracking controller without initial pose error.

0 10 20 30 40 50 600

10

20

30

40

50

60Path [m]

(1,9,pi/8)

Fig. 12.xy-plot of the vehicle path for trajectory-tracking controller with initial pose error (xr(0) = 1, yr(0) = 9, θr(0) = π/8).

this midpoint,θr is the vehicle’s heading angle,l is

the inter-axle distance, andφr the front wheel angle,

which is the control variable to steer the vehicle. In

this paper, the kinematic bicycle model is considered

(see Figs 5–7). The trajectory tracking errors can be

described by (xe, ye, θe). The aim is to design a stable

controller with commands (vc, φc).

The error vector for trajectory-tracking is easily ob-

tained from Figs 5 and 6,

xe

ye

θe

=

cos θd sin θd 0− sin θd cos θd 0

0 0 1

·

xr − xd

yr − yd

θr − θd

(13)

where(xd, yd, θd) denotes the virtual car pose. Thecorresponding error derivatives are

xe = −vd + vr · cos θe + ye · vd

l · tanφd

ye = vr · sin θe − xe · vd

l · tanφd

θe = vr

l · tanφr − vd

l · tanφd

(14)

wherevd andφd are the heading speed and desiredfront wheel angle, respectively.

Galley Proof 24/11/2006; 14:09 File: ica250.tex; BOKCTP/ p. 9

R. Solea and U. Nunes / Trajectory planning and sliding-mode control 9

0 50 100 1500

0.2

0.4

0.6

0.8

1

1.2

1.4

1.6

1.8Linear velocity [m/s]

Time [s]

desiredreal

0 50 100 150−100

−80

−60

−40

−20

0

20

40

60Steering [deg]

Time [s]

desiredreal

Fig. 13. Linear velocity and steering angle for trajectory-tracking controller with initial pose error.

0 50 100 150−3

−2

−1

0

1

2

3Lateral and Longitudinal errors [m]

Time [s]

ye

xe

0 50 100 150−40

−30

−20

−10

0

10

20

30

40Orientation error [deg]

Time [s]

Fig. 14. Lateral, longitudinal and orientation errors for trajectory-tracking controller with initial pose error.

In this paper it is assumed that|θe| < π/2, whichmeans that the vehicle orientation must not be perpen-dicular to the desired trajectory.

The typical sliding surface(s) is [10]:

s = ˙x+ k · x (15)

where

x = x− xdesired (16)

In case of ideal sliding mode:

s = ˙x+ k · x = 0, s = ¨x+ k · ˙x = 0 (17)

In other words it means that the state trajectoriesof the controlled plant satisfies the equations = 0.

For all practical purposes the existence condition ismathematically expressed as:

s · s < 0 (18)

In physical sense it means that sliding mode exists ifin the vicinity of the switching lines = 0, the tangent orthe velocity vector of the state trajectory points towardsthe switching line.

A new design of sliding surface is proposed, suchthat lateral error,ye, and angular error,θe, are internallycoupled with each other in a sliding surface leading toconvergence of both variables. For that purpose thefollowing sliding surfaces are proposed:

s1 = xe + k1 · xe (19)

Galley Proof 24/11/2006; 14:09 File: ica250.tex; BOKCTP/ p. 10

10 R. Solea and U. Nunes / Trajectory planning and sliding-mode control

0 50 100 150−0.6

−0.4

−0.2

0

0.2

0.4

0.6

0.8Lateral accelerations [m/s2]

Time [s]

realdesired

0 50 100 150−1

−0.5

0

0.5

1

1.5Longitudinal accelerations [m/s2]

Time [s]

realdesired

Fig. 15. Lateral and longitudinal accelerations for trajectory-tracking controller with initial pose error.

0 50 100 150−40

−30

−20

−10

0

10

20

30

40

50

60Steering [deg]

Time [s]

desiredreal

0 50 100 150−0.6

−0.4

−0.2

0

0.2

0.4

0.6

0.8Lateral accelerations [m/s2]

Time [s]

Fig. 16. Steering angle and lateral acceleration for path-following without initial pose error.

s2 = ye + k2 · ye + k0 · sgn(ye) · θe (20)

In trajectory-tracking exist three variables (xe, ye,θe) and just two control variables, which implies thatwe have only two sliding surfaces. We chose to coupleye andθe in one sliding surface. The condition un-der which the state will move toward and reach a slid-ing surface is called a reaching condition. A practicalgeneral form of the reaching law is

s = −Q · g(s) − P · sgn(s) (21)

where

Q=[q1 00 q2

], qi > 0, P =

[p1 00 p2

],

pi > 0, i = 1, 2.

sgn(s) =[sgn(s1)sgn(s2)

], g(s) =

[g1(s1)g2(s2)

],

si · gi(si) > 0, gi(0) = 0

Various choices of Q and P specify different rates fors and yield different structures in the reaching law.

Three practical special cases of Eq. (21) are givenbelow:

1. constant rate reaching

s = −P · sgn(s) (22)

Galley Proof 24/11/2006; 14:09 File: ica250.tex; BOKCTP/ p. 11

R. Solea and U. Nunes / Trajectory planning and sliding-mode control 11

0 50 100 150−0.035

−0.03

−0.025

−0.02

−0.015

−0.01

−0.005

0

0.005

0.01Lateral error [m]

Time [s]0 50 100 150

−10

−8

−6

−4

−2

0

2

4

6

8Orientation error [deg]

Time [s]

Fig. 17. Lateral and orientation errors for path-following without initial pose error.

0 50 100 1500

0.2

0.4

0.6

0.8

1

1.2

1.4

1.6

1.8

2Linear velocity [m/s]

Time [s]

desiredreal

0 50 100 150−100

−80

−60

−40

−20

0

20

40

60Steering [deg]

Time [s]

desiredreal

Fig. 18. Linear velocity and steering angle for Chwa trajectory-tracking controller (see [2]).

This law forces the switching variables to reachthe switching manifold at a constant rate|si| =−pi, i = 1, 2.

2. constant plus proportional rate reaching

s = −Q · s− P · sgn(s) (23)

By adding the proportional rate term−Q · s, thestate is forced to approach the switching mani-folds faster whens is large.

3. power rate reaching

s = −Q · |s|α · sgn(s), 0 < α < 1. (24)

This reaching law increases the reaching speedwhen the state is far away from the switching

manifold, but reduces the rate when the state isnear the manifold.

In this work the second reaching law Eq. (23) wasselected. From the time derivative of Eqs (19) and (20)and using (23), results

s1 = xe + k1 · xe = −q1 · s1 − p1 · sgn(s1) (25)

s2 = ye + k2 · ye + k0 · sgn(ye) · θe(26)

= −q2 · s2 − p2 · sgn(s2)

From Eqs (14), (25) and (26), and after some math-ematical manipulation, we get the commands:

Galley Proof 24/11/2006; 14:09 File: ica250.tex; BOKCTP/ p. 12

12 R. Solea and U. Nunes / Trajectory planning and sliding-mode control

0 50 100 150−0.01

−0.008

−0.006

−0.004

−0.002

0

0.002

0.004

0.006

0.008

0.01Lateral and Longitudinal errors [m]

Time [s]

xe

ye

0 50 100 150−1.5

−1

−0.5

0

0.5

1

1.5Orientation error [deg]

Time [s]

Fig. 19. Lateral and orientation errors for Chwa trajectory-tracking controller (see [2]).

0 50 100 150−0.6

−0.4

−0.2

0

0.2

0.4

0.6Lateral accelerations [m/s2]

Time [s]

realdesired

0 50 100 150−6

−4

−2

0

2

4

6

8Longitudinal accelerations [m/s2]

Time [s]

realdesired

Fig. 20. Lateral and longitudinal accelerations for Chwa trajectory-tracking controller (see [2]).

vc =1

cos θe· (−q1 · s1 − p1 · sgn(s1)

−k1 · xe − ωd · ye − ωd · ye (27)

+vr · θe · sin θe + vd)

φc=arctan(l

vr·ωd+

l

vr ·(vr ·cos θe+k0 ·sgn(ye))

·(−q2s2 − p2sgn(s2) − k2 · ye (28)

−vr · sin θe + ωd · xe + ωd · xe))

Let us defineV = 12 · sT · s as a Lyapunov function

candidate, therefore its time derivative is

V = s1 · s1 + s2 · s2= s1 · (−q1 · s1 − p1 · sgn(s1))

+s2 · (−q2 · s2 − p2 · sgn(s2))

= −sT ·Q · s− p1 · |s1| − p2 · |s2|For V to be negative semi-definite, it is sufficient to

chooseqi andpi such thatqi, pi > 0.

3.2. Sliding mode path-following control

In path-following, the control objective is to ensurethat the vehicle will correctly follow the reference path.For this purpose, both the lateral error,ye, and the orien-

Galley Proof 24/11/2006; 14:09 File: ica250.tex; BOKCTP/ p. 13

R. Solea and U. Nunes / Trajectory planning and sliding-mode control 13

tation error,θe, must be minimized. It is supposed thata feasible desired path for the vehicle is pre-specifiedby a trajectory planner.

For the path-followingwithout look-ahead(Lh = 0)(see Fig. 7) the error vector is:

[ye

θe

]=

[− sin θd cos θd 00 0 1

]·xr − xd

yr − yd

θr − θd

(29)

The lateral error,ye, is defined as the distance be-tween the vehicle control point (CP) and the closestpoint along the desired trajectory. The correspondingerror derivatives are:{

ye = vr · sin θe

θe = θr = vr

l · tanφr(30)

Defining the control point CP (see Fig. 7) at a dis-tanceLh �= 0 in front of the vehicle (called look-aheaddistance), Eq. (29) becomes:[

ye

θe

]=

[− sin θd cos θd 00 0 1

]

·xr − xd + Lh · cos θr

yr − yd + Lh · sin θr

θr − θd

and {ye = vr · sin θe + Lh · vr

l · tanφr · cos θe

θe = θr = vr

l · tanφr(31)

In this paper it is assumed that|θe| < π/2, whichmeans that the vehicle orientation must not be perpen-dicular to the desired trajectory.

We propose a new design of sliding surface such thatlateral error,ye, and angular variable,θe are internallycoupled with each other in a sliding surface leading toconvergence of both variables. For that purpose thefollowing sliding surface is proposed:

s = ye + k · ye + k0 · sgn(ye) · θe (32)

In path-followingexist two variables (ye, θe) and justone control variable, which implies that we have onlyone sliding surface. We chose to coupleye andθe inone sliding surface.

By choosing the second reaching law Eq. (23),

s= ye + k · ye + k0 · sgn(ye) ·(33)

θe = −Q · s− P · sgn(s)

From Eqs (31) and (33), the steering control law isobtained as

φc =arctan(l

vr·−Qs−P sgn(s)−kvr sin θe

vr · cos θe + k0 · sgn(ye)

)(34)

For the case of using look-aheadLh:

φc =l · cos2(φr)

vr · Lh · cos θe· (−Q · s− P · sgn(s)

−k · ye − vr · θe · cos θe + +Lh · θ2e (35)

· sin θe − k0 · sgn(ye) · θe)

Let us defineV = 12 · s2 as a Lyapunov function

candidate, therefore its time derivative is

V = = s · s= s · (ye + k · ye + k0 · sgn(ye) · θe)

= s · (−Q · s− P · sgn(s))

= −Q · s2 − P · s2

|s|For V to be negative semi-definite, it is sufficient to

chooseQ andP such thatQ,P � 0.

4. Simulation results

In this section, simulation results of the proposedmethods are presented. The simulation model blockdiagram is shown in Fig. 8. The following transferfunctions were employed:

Hφ =φr

φc=

ω2n

s2 + 2 ·D · ωn · s+ ω2n

;(36)

Hv =vr

vc=

10.25 · s+ 1

with D = 0.7 andωn = 2π · 5 Hz.The reference trajectory was generated using the tra-

jectory planner, described in Section 1 (we consideredthe example illustrated in Fig. 2). Design parameters ofEqs (19), (20), (25), (26), (32) and (33) arek 0 = 0.05,k1 = 0.25, k = k2 = 0.5, p1 = 1, p2 = 1, q1 = 1andq2 = 1. The signum functions in the control inputsEqs (25), (26) and (33) and sliding surfaces Eqs (25),(26) and (33) were replaced by saturation functionswith ±0.5 thresholds, to reduce the chattering phe-nomenon. Also, input disturbances were chosen to beGaussian random noise with zero mean and variance0.05. The look-ahead distance for path-following con-trol isLh = 1.5 m.

Figures 9–11 show the results for trajectory-trackingcontrol without initial pose error where it is shown thatthe achieved linear velocity follows the reference ve-locity, both accelerations (lateral and longitudinal) fol-low the reference accelerations, and the tracking errorsconverge to zero.

Galley Proof 24/11/2006; 14:09 File: ica250.tex; BOKCTP/ p. 14

14 R. Solea and U. Nunes / Trajectory planning and sliding-mode control

Table 4Simulation results for the trajectory-tracking and path-following controllers

A B C D E F G

Max. Longit. Error [m] 0.0478 2.0000 0.0030 − − − 0.0067r.m.s. Longit. Error [m] 0.0173 0.2694 0.0009 − − − 0.0013Max. Lateral Error [m] 0.0144 2.0063 0.0628 0.0341 0.0771 0.0435 0.0074r.m.s. Lateral Error [m] 0.0039 0.2656 0.0206 0.0099 0.0240 0.0954 0.0014Max. Angular Error [rad] 0.0671 0.6407 0.0954 0.1443 0.2032 0.1378 0.0185r.m.s. Angular Error [rad] 0.0063 0.0763 0.0152 0.0360 0.0619 0.0350 0.0037Max. Lateral Accel. [m/s2] 0.6071 0.6044 0.6071 0.6758 0.6873 0.3493 0.5704r.m.s. Lateral Accel. [m/s2] 0.1242 0.1274 0.1289 0.1185 0.1545 0.1197 0.1219Max. Longit. Accel. [m/s2] 0.5541 1.4226 0.5095 0.5081 0.5081 0.5081 7.5701r.m.s. Longit. Accel. [m/s2] 0.1662 0.1694 0.1514 0.1537 0.1537 0.1537 0.2303Overal r.m.s. Accel. [m/s2] 0.2904 0.2968 0.2784 0.2716 0.3050 0.2727 0.3648

Figures 12–15, for trajectory-tracking control withinitial pose error (xr(0) = 1, yr(0) = 9, θr(0) = π/8),show that the car retrieve the initial difference (xe =−2, ye = 2) quickly (∆t ≈ 20 s), and that the trackingerrors converge to zero. The trajectory-tracking taskmust perform not only the tracking of the path seg-ment (spatial dimension) but also doing it following aspecified speed profile (temporal dimension).

Figures 16–17 show that path-following perfor-mance for reference trajectory (see Fig. 2) is satisfac-tory. The lateral and orientation errors also convergeto zero. In the path-following task, the lateral error,y e,is defined as the distance between the vehicle controlpoint and the closest point along the vehicle desiredtrajectory as illustrated in Fig. 7.

Table 4 summarizes results of simulations for thefollowing cases:

1. Trajectory-tracking A. without initial pose error;B. with initial pose error (xr(0) = 1, yr(0) = 9,θr(0) = π/8); C. with disturbance – Gaussianrandom noise with zero mean and variance 0.05.

2. Path-followingD. without initial pose error;E. with disturbance – Gaussian random noise withzero mean and variance 0.05;F. with look-ahead distance (Lh = 1.5 m) andwithout initial pose error.

3. Trajectory-tracking for Chwa controller (see Sec-tion 4.1)G. without initial pose error.

For trajectory-tracking the lateral and orientation er-rors are less than the errors for path-following, but ther.m.s. accelerations (lateral and longitudinal) are worse(the trajectory-tracking controller is more “nervous”).The overall r.m.s accelerations, for all our cases (Ato F), are under0.315 m/s2 (“not uncomfortable”, seeTable 1). Moreover, in all our cases r.m.s lateral and

longitudinal accelerations are less than0.24 m/s2 (seeSection 2).

Sliding mode control algorithms are efficient whencontrolling nonlinear dynamic plants operating underperturbations (see case C and E). Moreover, the sim-ulation results show that good performances are stillobtained even when a large initial pose error is applied.

4.1. Experimental comparison

The Chwa SMC controller [2] was simulated, for thesake of comparison with our trajectory-tracking con-troller, using the same simulation model block diagramshown in Fig. 8. In order to have the data of bothcontrollers in the same coordinates, the polar trackingerrors of the Chwa controller were transformed intoCartesian tracking errors.

In Figures 18–20, performance of the Chwa trajec-tory-tracking controller is shown. The lateral and ori-entation errors are, in this case, lower than in our con-troller (Figs 9–11), but the longitudinal acceleration isworse. The r.m.s. values concerning Chwa controllerare shown in column G of Table 4, and the correspond-ing values, for our trajectory-tracking controller, ap-plied in similar situation, are shown in column A. Theoverall r.m.s. acceleration of Chwa controller is higherthan for our SMC controller (25% more, approximate-ly). We also notice some high values (peak values) ofthe maximum longitudinal acceleration in the case ofChwa controller.

5. Conclusion

For autonomous vehicle, trajectory planning meth-ods that produce smooth trajectories, with low levelassociated accelerations and jerk for providing humancomfort, are required. This paper addresses this prob-

Galley Proof 24/11/2006; 14:09 File: ica250.tex; BOKCTP/ p. 15

R. Solea and U. Nunes / Trajectory planning and sliding-mode control 15

lem proposing a new approach that consists of introduc-ing a velocity planning stage in the trajectory planner.Moreover, this paper describes a strategy for trajectory-tracking and path-following control of vehicles. A newdesign of sliding surface is proposed, such that lateraland angular errors are internally coupled with each oth-er in a sliding surface leading to convergence of bothvariables. The main advantages of using SMC includefast response, good transient and robustness with re-spect to system uncertainties and external disturbances.Simulation results showed the effectiveness of the pro-posed trajectory planning algorithm.

Acknowledgements

This work was supported in part by ISR-Coimbra andFCT (Portuguese Science and Technology Foundation),under contract NCT04: POSC/EEA/SRI/58016/2004.The first author benefited a research fellowship alsofrom FCT, contract: SFRH/BD/18211/2004.

References

[1] L.E. Aguilar, T. Hamel and P. Soueres, Robust path followingcontrol for wheeled robots via sliding mode techniques,Intel-ligent Robots and Systems – IROS ’97 3 (1997), 1389–1395.

[2] D. Chwa, Sliding-mode tracking control of nonholonomicwheeled mobile robots in polar coordinates,IEEE Transac-tions on Control Systems Technology 12 (2004), (637–644).

[3] J.J. Craig,Introduction to Robotics: Mechanics and Control,Addison-Wesley, Reading, Massachusetts, 1986.

[4] Cybercars. Cybernetic techologies for the car in the city, [on-line], www.cybercars.org.

[5] R. Fierro and F.L. Lewis,Control of a nonholonomic mobilerobot: backstepping kinematics into dynamics, 34th Confer-ence on Decision and Control, 2005, New Orleans, 252–261.

[6] C. Guriano, Lo Bianco, A. Piazzi and M. Romano, Velocityplanning for autonomous vehicles,IEEE Intelligent VehiclesSymposium (2004), Parma, 413–418.

[7] C. Guriano, Lo Bianco, A. Piazzi and M. Romano, Smoothmotion generation for unicycle mobile robots via dynamic pathinversion,IEEE Transactions on Robotics 15 (2004), 884–891.

[8] ISO, Mechanical vibration and shock – Evaluation of humanexposure to whole body vibrations – Part 1: General require-ments,ISO 2631-1 (1997).

[9] M. Parent, G. Gallais, A. Alessandrini and T. Chanard, Cy-bercars: review of first projects,Ninth Int Conf on AutomatedPeople Movers (2003), Singapore.

[10] J.J.E. Slotine and W. Li,Applied Nonlinear Control, Prentice-Hall Inter. Ed., 1991.

[11] J.M. Yang and J.H. Kim, Sliding mode control for trajecto-ry tracking of nonholonomic wheeled mobile robots,IEEETransactions on Robotics and Automation 15 (1999), (578–587).

[12] K.D. Young, V.I. Utkin and U. Ozguner, A control engineer’sguide to sliding mode control,IEEE Transactions on ControlSystems Technology 7 (1999), 328–342.

[13] G.F. Yuan, Tracking control of a mobile robot using neuraldynamics based approaches,Masters Abstracts International39 (2001), 1437.