Predictive Active Steering Control for Autonomous Vehicle Systems

14
IEEE TRANSACTION OF CONTROL SYSTEMS TECHNOLOGY, VOL. , NO. , JANUARY 2007 1 Predictive Active Steering Control for Autonomous Vehicle Systems P. Falcone, F. Borrelli, J. Asgari, H. E. Tseng, D. Hrovat Abstract—In this paper a Model Predictive Control (MPC) approach for controlling an Active Front Steering system in an autonomous vehicle is presented. At each time step a trajectory in assumed to be known over a finite horizon, and an MPC controller computes the front steering angle in order to follow the trajectory on slippery roads at the highest possible entry speed. We present two approaches with different computational complexities. In the first approach we formulate the MPC prob- lem by using a non-linear vehicle model. The second approach is based on successive on-line linearization of the vehicle model. Discussions on computational complexity and performance of the two schemes are presented. The effectiveness of the proposed MPC formulation is demonstrated by simulation and experimental tests up to 21 m/s on icy roads. Index Terms—Model Predictive Control, Vehicle Dynamics Control, Autonomous Vehicles. I. I NTRODUCTION Recent trends in automotive industry point in the direction of increased content of electronics, computers, and controls with emphasis on the improved functionality and overall system robustness. While this affects all of the vehicle areas, there is a particular interest in active safety, which effectively complements the passive safety counterpart. Passive safety is primarily focused on the structural integrity of vehicle. Active safety on the other hand is primarily used to avoid accidents and at the same time facilitate better vehicle controllability and stability especially in emergency situations, such as what may occur when suddenly encountering slippery parts of the road [10]. Early works on active safety systems date back to the eighties and were primarily focused on improving longitudinal dynamics part of motion, in particular, on more effective brak- ing (ABS) and traction control (TC) systems. ABS systems increase the braking efficiency by avoiding the lock of the braking wheels. TC systems prevent the wheel from slipping and at the same time improves vehicle stability and steerability by maximizing the tractive and lateral forces between the vehicle’s tire and the road. This was followed by work on different vehicle stability control systems [34] (which are also known under different acronyms such as Electronic Stability Program, ESP, Vehicle Stability Control, VSC, Interactive Ve- hicle Dynamics, IVD, and Dynamic Stability Control, DSC). Essentially, these systems use brakes on one side and engine P. Falcone and F. Borrelli are with the Dipartimento di Ingegne- ria, Universit` a degli Studi del Sannio, 82100 Benevento, Italy, E-mail: {falcone,francesco.borrelli}@unisannio.it J. Asgari, E. H. Tseng and D. Hrovat are with Ford Research Laboratories, Dearborn, MI 48124, USA, E-mail: {jasgari,htseng,dhrovat}@ford.com Manuscript received May 26, 2006; revised January xx, 2007. torque to stabilize the vehicle in extreme limit handling situations through controlling the yaw motion. In addition to braking and traction systems, Active Front Steering (AFS) systems make use of front steering command in order to improve lateral vehicle stability [1], [2]. Moreover, the steering command can be used to reject external desta- bilizing forces arising from µ-split, asymmetric braking or wind [21]. Four Wheel Steer (4WS) systems follow similar goals. For instance, in [3] the authors present a decoupling strategy between the path following and external disturbances rejection in a four wheel steering setup. The automatic car steering is split into the path following and the yaw stabiliza- tion tasks, the first is achieved through the front steering angle, the latter through the rear steering angle. Research on the AFS systems has also been approached from an autonomous vehicle perspective. In [16] an automatic steering control for highway automation is presented, where the vehicle is equipped with magnetic sensors placed on the front and rear bumpers in order to detect a lane reference im- plemented with electric wire [13] and magnetic markers [36]. A more recent example of AFS applications in autonomous vehicles is the “Grand Challenge” race driving [5], [30], [23]. In this paper, it is anticipated that the future systems will be able to increase the effectiveness of active safety interventions beyond what is currently available. This will be facilitated not only by additional actuator types such as 4WS, active steering, active suspensions, or active differentials, but also by additional sensor information, such as onboard cameras, as well as infrared and other sensor alternatives. All these will be further complemented by GPS information including pre- stored mapping. In this context, it is possible to imagine that future vehicles would be able to identify obstacles on the road such as an animal, a rock, or fallen tree/branch, and assist the driver by following the best possible path, in terms of avoiding the obstacle and at the same time keeping the vehicle on the road at a safe distance from incoming traffic. Additional source of information can also come from surrounding vehicles and environments which may convey the information from the ve- hicle ahead about road condition, which can give a significant amount of preview to the controller. This is particularly useful if one travels on snow or ice covered surfaces. In this case, it is very easy to reach the limit of vehicle handling capabilities. Anticipating sensor and infrastructure trends toward in- creased integration of information and control actuation agents, it is then appropriate to ask what is the optimum way in controlling the vehicle maneuver for a given obstacle avoidance situation. We assume that a trajectory planning system is available and

description

Predictive Active Steering Control for Autonomous Vehicle Systems

Transcript of Predictive Active Steering Control for Autonomous Vehicle Systems

Page 1: Predictive Active Steering Control for Autonomous Vehicle Systems

IEEE TRANSACTION OF CONTROL SYSTEMS TECHNOLOGY, VOL. , NO. , JANUARY 2007 1

Predictive Active Steering Control for AutonomousVehicle Systems

P. Falcone, F. Borrelli, J. Asgari, H. E. Tseng, D. Hrovat

Abstract—In this paper a Model Predictive Control (MPC)approach for controlling an Active Front Steering system in anautonomous vehicle is presented. At each time step a trajectoryin assumed to be known over a finite horizon, and an MPCcontroller computes the front steering angle in order to followthe trajectory on slippery roads at the highest possible entryspeed. We present two approaches with different computationalcomplexities. In the first approach we formulate the MPC prob-lem by using a non-linear vehicle model. The second approachis based on successive on-line linearization of the vehicle model.

Discussions on computational complexity and performanceof the two schemes are presented. The effectiveness of theproposed MPC formulation is demonstrated by simulation andexperimental tests up to 21 m/s on icy roads.

Index Terms—Model Predictive Control, Vehicle DynamicsControl, Autonomous Vehicles.

I. INTRODUCTION

Recent trends in automotive industry point in the directionof increased content of electronics, computers, and controlswith emphasis on the improved functionality and overallsystem robustness. While this affects all of the vehicle areas,there is a particular interest in active safety, which effectivelycomplements the passive safety counterpart. Passive safety isprimarily focused on the structural integrity of vehicle. Activesafety on the other hand is primarily used to avoid accidentsand at the same time facilitate better vehicle controllabilityand stability especially in emergency situations, such as whatmay occur when suddenly encountering slippery parts of theroad [10].

Early works on active safety systems date back to theeighties and were primarily focused on improving longitudinaldynamics part of motion, in particular, on more effective brak-ing (ABS) and traction control (TC) systems. ABS systemsincrease the braking efficiency by avoiding the lock of thebraking wheels. TC systems prevent the wheel from slippingand at the same time improves vehicle stability and steerabilityby maximizing the tractive and lateral forces between thevehicle’s tire and the road. This was followed by work ondifferent vehicle stability control systems [34] (which are alsoknown under different acronyms such as Electronic StabilityProgram, ESP, Vehicle Stability Control, VSC, Interactive Ve-hicle Dynamics, IVD, and Dynamic Stability Control, DSC).Essentially, these systems use brakes on one side and engine

P. Falcone and F. Borrelli are with the Dipartimento di Ingegne-ria, Universita degli Studi del Sannio, 82100 Benevento, Italy, E-mail:{falcone,francesco.borrelli}@unisannio.it

J. Asgari, E. H. Tseng and D. Hrovat are with Ford Research Laboratories,Dearborn, MI 48124, USA, E-mail: {jasgari,htseng,dhrovat}@ford.com

Manuscript received May 26, 2006; revised January xx, 2007.

torque to stabilize the vehicle in extreme limit handlingsituations through controlling the yaw motion.

In addition to braking and traction systems, Active FrontSteering (AFS) systems make use of front steering commandin order to improve lateral vehicle stability [1], [2]. Moreover,the steering command can be used to reject external desta-bilizing forces arising from µ-split, asymmetric braking orwind [21]. Four Wheel Steer (4WS) systems follow similargoals. For instance, in [3] the authors present a decouplingstrategy between the path following and external disturbancesrejection in a four wheel steering setup. The automatic carsteering is split into the path following and the yaw stabiliza-tion tasks, the first is achieved through the front steering angle,the latter through the rear steering angle.

Research on the AFS systems has also been approachedfrom an autonomous vehicle perspective. In [16] an automaticsteering control for highway automation is presented, wherethe vehicle is equipped with magnetic sensors placed on thefront and rear bumpers in order to detect a lane reference im-plemented with electric wire [13] and magnetic markers [36].A more recent example of AFS applications in autonomousvehicles is the “Grand Challenge” race driving [5], [30], [23].

In this paper, it is anticipated that the future systems will beable to increase the effectiveness of active safety interventionsbeyond what is currently available. This will be facilitatednot only by additional actuator types such as 4WS, activesteering, active suspensions, or active differentials, but alsoby additional sensor information, such as onboard cameras, aswell as infrared and other sensor alternatives. All these willbe further complemented by GPS information including pre-stored mapping. In this context, it is possible to imagine thatfuture vehicles would be able to identify obstacles on the roadsuch as an animal, a rock, or fallen tree/branch, and assist thedriver by following the best possible path, in terms of avoidingthe obstacle and at the same time keeping the vehicle on theroad at a safe distance from incoming traffic. Additional sourceof information can also come from surrounding vehicles andenvironments which may convey the information from the ve-hicle ahead about road condition, which can give a significantamount of preview to the controller. This is particularly usefulif one travels on snow or ice covered surfaces. In this case, itis very easy to reach the limit of vehicle handling capabilities.

Anticipating sensor and infrastructure trends toward in-creased integration of information and control actuationagents, it is then appropriate to ask what is the optimumway in controlling the vehicle maneuver for a given obstacleavoidance situation.

We assume that a trajectory planning system is available and

Page 2: Predictive Active Steering Control for Autonomous Vehicle Systems

IEEE TRANSACTION OF CONTROL SYSTEMS TECHNOLOGY, VOL. , NO. , JANUARY 2007 2

we consider a double lane change scenario on a slippery road,with a vehicle equipped with a fully autonomous guidancesystem. In this paper we focus on the control of the yaw andlateral vehicle dynamics via active front steering. The controlinput is the front steering angle and the goal is to follow thedesired trajectory or target as close as possible while fulfillingvarious constraints reflecting vehicle physical limits and designrequirements. The future desired trajectory is known only overfinite horizon at each time step. This is done in the spirit ofModel Predictive Control, MPC [14], [26] along the lines ofour ongoing internal research efforts dating from early 2000(see [7] and references therein).

In this manuscript two different formulations of the ActiveFront Steering MPC problem will be presented and compared.The first one follows the work presented in [7] and uses anonlinear vehicle model to predict the future evolution of thesystem [26]. The resulting MPC controller requires a non-linear optimization problem to be solved at each time step.We will show that the computational burden is currently anobstacle for experimental validation at high vehicle speed.The second formulation tries to overcome this problem andpresents a sub-optimal MPC controller based on successiveon-line linearization of the non-linear vehicle model. This islinearized around the current operating point at each timestep and a linear MPC controller is designed for the resultinglinear time-varying (LTV) system. The idea of using timevarying models goes back to the early seventies in the processcontrol field although it has been properly formalized onlyrecently. Studies on LTV or Linear Parameter Varying MPCschemes can be found in [9], [18], [20], [22], [35]. Amongthem, the work in [18], [20] is the closest to our approachand it presents an MPC scheme for scheduled LTV modelswhich has been successfully validated on a Boeing aircraft. Ingeneral, the performance of such scheme is highly dependanton the nonlinearities of the model. In fact, as the state andinput trajectories deviate from the current operating point, themodel mismatch increases. This can generate large predictionerrors with a consequent instability of the closed loop system.We will show that, in our application, a state constraint can beintroduced in order to significantly enhance the performanceof the system. Experimental results show that the vehicle canbe stabilized up to 21 m/s on icy roads. Finally, an LTV MPCwith a one step control horizon is presented. This can be tunedin order to provide acceptable performance and it does notrequire any complex optimization software.

We implemented the MPC controllers in real-time on apassenger car, and performed tests on snow covered and icyroads. The last part of the paper describes the experimentalsetup and presents the experimental and simulation results ofthe proposed MPC controllers. It should be noted that ourearly work in [7] focuses on the vehicle dynamical model andon simulation results of the nonlinear MPC scheme only.

The paper is structured as follows. Section II describesthe used vehicle dynamical model with a brief discussion ontire models. Section III introduces a simplified hierarchicalframework for autonomous vehicle guidance. The contributionand the research topic of this paper are described in detailsand put in perspective with existing work and future research.

Section IV formulates the control problem when the non-linearand the linear prediction models are used. The double lanechange scenario is described in Section V, while in SectionVI the experimental and simulation results are presented. Thisis then followed by concluding remarks in Section VII whichhighlight future research directions.

II. MODELING

This section describes vehicle and tire model used for sim-ulations and control design. This section has been extractedfrom [7] and it is included in this manuscript for the sakeof completeness and readability. We denote by Fl, Fc thelongitudinal (or “tractive”) and lateral (or “cornering”) tireforces, respectively, Fx, Fy the forces in car body frame, Fz

the normal tire load, I the car inertia, X , Y the absolute carposition inertial coordinates, a, b the car geometry (distanceof front and rear wheels from center of gravity), g thegravitational constant,m the car mass, r the wheel radius, s theslip ratio, vl, vc the longitudinal and lateral wheel velocities,x, y the local lateral and longitudinal coordinates in car bodyframe, x the vehicle speed, α the slip angle, δ the wheelsteering angle, µ the road friction coefficient and ψ the headingangle. The lower scripts (·)f and (·)r particularize a variableat the front wheel and the rear wheel, respectively, e.g. Flf isthe front wheel longitudinal force.

A. Vehicle Model

A “bicycle model” [25] is used to model the dynamics ofthe car under the assumption of a constant tire normal load,i.e., Fzf

, Fzr= constant. Figure 1 depicts a diagram of the

vehicle model, which has the following longitudinal, lateraland turning or yaw degrees of freedom:

mx = myψ + 2Fxf+ 2Fxr

, (1a)

my = −mxψ + 2Fyf+ 2Fyr

, (1b)

Iψ = 2aFyf− 2bFyr

. (1c)

Fig. 1. The simplified vehicle “bicycle model”.

The vehicle’s equations of motion in an absolute inertialframe are

X = x cosψ − y sinψ, Y = x sinψ + y cosψ. (2)

Page 3: Predictive Active Steering Control for Autonomous Vehicle Systems

IEEE TRANSACTION OF CONTROL SYSTEMS TECHNOLOGY, VOL. , NO. , JANUARY 2007 3

The wheel’s equations of motion describe the lateral (orcornering) and longitudinal wheel velocities:

vlf = vyfsin δf + vxf

cos δf , (3a)

vlr = vyrsin δr + vxr

cos δr, (3b)

vcf= vyf

cos δf − vxfsin δf , (3c)

vcr= vyr

cos δr − vxrsin δr, (3d)

where δf and δr are front and rear wheel steering angle,respectively, and:

vyf= y + aψ vyr

= y − bψ, (4a)

vxf= x vxr

= x. (4b)

The following equations hold for rear and front axes byusing the corresponding subscript for all the variables. Lon-gitudinal and lateral tire forces lead to the following forcesacting on the center of gravity:

Fy = Fl sin δ + Fc cos δ, Fx = Fl cos δ − Fc sin δ. (5a)

Tire forces Fl and Fc for each tire are given by

Fl = fl(α, s, µ, Fz), Fc = fc(α, s, µ, Fz), (6)

where α, s, µ, Fz are defined next. The tire slip angle αrepresents the angle between the wheel velocity vector vf

and the direction of the wheel itself, and can be compactlyexpressed as:

α = arctanvc

vl. (7)

The slip ratio s is defined as

s ={s = rω

vl− 1 if vl > rω, vl �= 0 for braking

s = 1 − vl

rω if vl < rω, ω �= 0 for driving,(8)

where r and ω are the radius and the angular speed ofthe wheel respectively. The parameter µ represents the roadfriction coefficient and is assumed equal for front and rearwheels. Fz is the total vertical load of the vehicle and isdistributed between the front and rear wheels based on thegeometry of the car model (described by the parameters a andb):

Fzf=

bmg

2(a+ b), Fzr

=amg

2(a+ b). (9)

The nonlinear vehicle dynamics described in equations (1)-(9), can be rewritten in the following compact from:

dt= fs(t),µ(t)(ξ(t), u(t)) (10)

where the dependence on slip ratio s and friction coefficientvalue µ at each time instant has been explicitly highlighted.The state and input vectors are ξ = [y, x, ψ, ψ, Y, X]′ andu = δf , respectively. In this manuscript δr is assumed to bezero at any time instant.

Model (10) captures the most relevant nonlinearities asso-ciated to lateral stabilization of the vehicle. The next sectionbriefly describes the models of tire forces Fl and Fc.

B. Tire Model

With exception of aerodynamic forces and gravity, all of theforces which affect vehicle handling are produced by the tires.Tire forces provide the primary external influence and, becauseof their highly nonlinear behavior, cause the largest variationin vehicle handling properties throughout the longitudinal andlateral maneuvering range. Therefore, it is important to usea realistic nonlinear tire model, especially when investigatinglarge control inputs that result in response near the limits ofthe maneuvering capability of the vehicle. In such situations,the lateral and longitudinal motions of the vehicle are stronglycoupled through the tire forces, and large values of slip ratioand slip angle can occur simultaneously.

Most of the existing tire models are predominantly “semi-empirical” in nature. That is, the tire model structure is deter-mined through analytical considerations, and key parametersdepend on tire data measurements. Those models range fromextremely simple (where lateral forces are computed as afunction of slip angle, based on one measured slope at α = 0and one measured value of the maximum lateral force) torelatively complex algorithms, which use tire data measuredat many different loads and slip angles.

In this paper we use a Pacejka tire model [4] to describethe tire longitudinal and cornering forces in (6). This isa complex, semi-empirical nonlinear model that takes intoconsideration the interaction between the longitudinal forceand the cornering force in combined braking and steering.The longitudinal and cornering forces are assumed to dependon the normal force, slip angle, surface friction coefficient,and longitudinal slip. Figure 2 depicts longitudinal and lateralforces versus longitudinal slip and slip angle, for fixed valuesof the friction coefficients. We remak that the front tire of the“bicycle” model represents the two front tires of the actualcar.

−30 −20 −10 0 10 20 30

−4000

−2000

0

2000

4000

Fl, F

c [N

]

Tire slip ratio [%]

Tire forces as a function of longitudinal slip, with zero slip angle and µ = [0.9, 0.7, 0.5, 0.3, 0.1]

Fl − longitudinal force

Fc − lateral force

−40 −30 −20 −10 0 10 20 30 40

−4000

−2000

0

2000

4000

Fl, F

c [N

]

Tire slip angle [deg]

Tire forces as a function of slip angle, with zero slip ratio and µ = [0.9, 0.7, 0.5, 0.3, 0.1]

Fl − longitudinal force

Fc − lateral force

Fig. 2. Longitudinal and lateral tire forces with different µ coefficient values.

III. HIERARCHICAL FRAMEWORK FOR AUTONOMOUS

GUIDANCE

In this section we borrow the simplified schematic ar-chitecture in Figure 3 from the aerospace field [8], [24],

Page 4: Predictive Active Steering Control for Autonomous Vehicle Systems

IEEE TRANSACTION OF CONTROL SYSTEMS TECHNOLOGY, VOL. , NO. , JANUARY 2007 4

[31], in order to explain our approach and contribution. The

Trajectory-Mode

Generator

Trajectory

UpdateInner-Loop Control

u Vehicle

and Enviroment

State Estimator

Parameter Estimator

Low-Level Control System

Mode of operation

precomputed off-lineTrajectory-Mode

Replanning

y

Fig. 3. Simplified Architecture for Fully-Autonomous Vehicle GuidanceSystem

architecture in Figure 3 describes the main elements of an au-tonomous vehicle guidance system and it is composed of fourmodules: the trajectory/mode generator, the trajectory/modereplanning, the low-level control system, and the vehicleand the environmental model. The trajectory/mode planningmodule pre-computes off-line the vehicle trajectory togetherwith the timing and conditions for operation mode change.In the aerospace field, examples of operation mode selectioninclude aeroshell parachute deployment or heatshield release,in the automotive filed this could include switching betweentwo or more types of energy source (i.e., gas, electricity,hydrogen) or (in a very futuristic scenario) morphing betweendifferent vehicle shapes.

The trajectory and the mode of operation computed off-line can be recomputed on-line during the drive by the trajec-tory/mode replanning module based on current measurements,at fixed points or on the occurrence of certain events (suchas tracking errors exceeding certain bounds, hardware failure,excessive wind, the presence of a pop-up obstacle).

The low-level control system commands the vehicle actua-tors such as front and rear steering angles, four brakes, enginetorque, active differential and active suspensions based onsensor measurements, states and parameters estimations andreference commands coming from the trajectory/mode replan-ning module. Such reference commands can include lateraland longitudinal positions, pitch, yaw and roll rates. The low-level control system objective is to keep the vehicle as close aspossible to the currently planned trajectory despite measure-ment noise, unmodeled dynamics, parameteric uncertaintiesand sudden changes on vehicle and road conditions which arenot (or not yet) taken into account by the trajectory replanner.In particular, when a vehicle is operating near its stabilitylimit, these additional noises, disturbances and uncertaintiesmust be considered, possibly through detecting the vehicle’sinternal state, and compensated for. For example, if rear tiressaturates, a skillful driver would switch his/her steering inputfrom the usual steering command for trajectory followingto a counter-steering one for stabilizing the vehicle. It isconceivable that an automated steering would not produce thenecessary stabilizing counter-steer if the commanded steeringis only a function of the desired trajectory and vehicle’s currentposition and heading (without considering additional vehicledynamic states).

We remark that the scheme in Figure 3 is an oversimplifiedscheme and that additional hierarchical levels could be present

both in the trajectory/mode replanning module and in the low-level control system module. The union of the first threemodules is often referred to as Guidance and NavigationControl System (GNC system).

Typically the trajectory replanner and the low-level controlsystem modules do not share the same information on environ-ment and vehicle. For instance, the replanning algorithms canuse information coming from cameras or radars which maynot be used at the lower level. Also, typically, the frequencyat which the trajectory replanning module is executed islower than the one of the lower level control system. Thedesign of both modules makes use of vehicle and environmentmodels with different levels of detail. The fidelity of thedynamical model used for the design of the two modules isdictated, among many factors, by a performance/computationalresource compromise and in the literature there is no acceptedstandard on this. One of the possible control paradigms for thetwo modules consists in using a high-fidelity vehicle modelfor designing the lower level controller while the trajectoryplanner relies on a rougher/less detailed dynamical model ofthe vehicle. Clearly, the higher the fidelity of the models usedat the higher level is, the easier the job for the lower levelcontrol algorithm becomes.

Studies on GNC algorithms vary in (i) the focus (trajectoryreplanner and/or the low-level control system) (ii) the type ofvehicle dynamical model used, (iii) the type of control designused, and (iv) inputs and sensors choice.

In [23] the trajectory replanner module is based on areceding horizon control design. The planning problem isformulated as a constrained optimization problem minimizinga weighted sum of arrival time, steering and accelerationcontrol efforts. The vehicle model is a simple rear-centeredkinematic model with acceleration, speed, steering, steeringrate and rollover constraints. The lower level control moduleuses two separated PIDs to control longitudinal and lateraldynamics. The longitudinal controller acts on throttle andbrakes while the lateral controls on the steering angle.

The GNC architecture in [30] is similar to [23]. Thetrajectory planning task is posed as a constrained optimizationproblem. The cost function penalizes obstacles collision, dis-tance from the pre-computed offline trajectory and the lateraloffset from the current trajectory. At the lower level, a PIcontroller acts on brakes and throttle to control the longitudinaldynamics. A simple nonlinear controller, instead, is used tocontrol the lateral dynamics through the steering angle. Detailson the vehicle dynamical model used in [30] are not disclosed.In [29] a scheme similar to the one in [23] is used to designa GNC systems for for a flight control application.

In [33], an explicit MPC scheme has been applied at thelower level control to allocate four wheel slips in order to geta desired yaw moment. The steering angle is not controlled.

In this article we assume that the path can be generated withtwo different methods. In the first, the trajectory is establishedby simply driving a test vehicle slowly along the desiredpath, e.g. a double lane change manoeuvre. The actual pathis recorded by differential GPS and then used as desired pathfor subsequent tests at higher speed. This method has beenused in [34] to generate the reference path for a steering

Page 5: Predictive Active Steering Control for Autonomous Vehicle Systems

IEEE TRANSACTION OF CONTROL SYSTEMS TECHNOLOGY, VOL. , NO. , JANUARY 2007 5

robot on high µ. In this case no trajectory replanning isneeded and the contribution of the work presented in thispaper is to facilitate systematic and repeatable tests of safetycritical emergency manoeuvres during limit conditions, suchas obstacle avoidance manoeuvres on slippery surfaces, i.e.snow and ice. In the second method, we assume that atrajectory replanning module is available and the trajectoryis recomputed at a less frequent rate than the frequency of thelower level controller. For both cases, we focus on the lowerlevel control design by means of nonlinear and LTV MPC forthe specific scenario of an active steering system.

As suggested in [28], there is a significant challenge in-volved in obtaining the steering required to accomplish thelimit maneuver considered in this paper while maintainingvehicle stability. By focusing on the lower level MPC con-troller, we also believe that the resultant steering may mimica skillful driver who takes the full vehicle dynamic statesinto account. Compared to the lower level control algorithmspresented in the aforementioned literature, our approach (i) ismodel based and uses the vehicle model (10) and the highlynonlinear Pacejka tire model described in Section II-B, (ii)includes constraints on inputs and states in the control design,(iii) is systematic and multivariable and can accommodatenew actuators and higher fidelity models. Moreover we haveexperimentally validated the controller presented in this paperswith a dSPACETM AutoBoxTM system which is a standardrapid prototyping system used in automotive industries [11].

IV. ACTIVE STEERING CONTROLLER DESIGN

In this section we introduce the control design procedurefor the proposed path following problem via an active steeringsystem.

Desired references for the heading angle ψ, the yaw rate ψand the lateral distance Y define a desired path over a finitehorizon. The nonlinear vehicle dynamics (10) and the Pacejkatire model are used to predict the vehicles behavior, and thefront steering angle δf is chosen as control input. The rearsteering angle is assumed to be zero δr = 0, the tire slip ratiossf and sr are measured and the road friction µ is estimatedat each time instant. The approach used in [6] can be usedfor the online estimation of µ.

A Model Predictive Control (MPC) scheme is used to solvethe path following problem. The main concept of MPC is touse a model of the plant to predict the future evolution ofthe system [6], [14], [17], [26], [27]. At each sampling time,starting at the current state of the vehicle, an open-loop optimalcontrol problem is solved over a finite horizon. The open-loopoptimal control problem minimizes the deviations of the pre-dicted outputs from their references over a sequence of futuresteering angles, subject to operating constraints. The resultingoptimal command signal is applied to the process only duringthe following sampling interval. At the next time step a newoptimal control problem based on new measurements of thestate is solved over a shifted horizon.

In the following two different formulations of the ActiveFront Steering MPC problem will be presented. Section IV-Adescribes the first MPC formulation as presented in the prelim-inary work [7]. There, the non-linear vehicle model (10) and

the Pacejka tire model are used to predict the future evolutionof the system. The minimization of a quadratic performanceindex, subject to the non-linear vehicle dynamics, is a non-linear optimization problem. Such optimization problem issolved on-line, at each time step. This can be computationallydemanding, depending on the vehicles states and constraints.The second formulation presented in Section IV-B tries toovercome this problem. A linear time-varying (LTV) approx-imation of vehicle model (10) and the Pacejka tire model areused to predict the future evolution of the system. This leadsto a sub-optimal LTV MPC controller. In this case, a timevarying convex quadratic optimization problem is formulatedand solved at each time step, leading to the reduction of thecomputational burden with an acceptable loss of performance.We will show that the MPC performance is enhanced byincluding a constraint on the tire slip angle which stabilizesthe vehicle at high speed.

A. Non-Linear Model Predictive Control (NL MPC)

In order to obtain a finite dimensional optimal controlproblem we discretize the system dynamics (10) with a fixedsampling time Ts:

ξ(k + 1) = fdts(k),µ(k)(ξ(k),∆u(k)), (11a)

u(k) = u(k − 1) + ∆u(k), (11b)

where the ∆u formulation is used, with u(k) = δf (k),∆u(k) = ∆δf (k).

We define the following output map for yaw angle andlateral position states:

η(k) = h(ξ(k)) =[0 0 1 0 0 00 0 0 0 1 0

]ξ(k). (12)

and consider the following cost function:

J(ξ(t),∆Ut) =Hp∑i=1

∥∥∥ηt+i,t − ηref t+i,t

∥∥∥2

Q+

Hc−1∑i=0

‖∆ut+i,t‖2R

(13)where, η = [ψ, Y ] and ηref denotes the corresponding refer-ence signal. At each time step t the following finite horizonoptimal control problem is solved:

min∆Ut

J(ξt,∆Ut) (14a)

subj. to ξk+1,t = fdtsk,t,µk,t

(ξk,t,∆uk,t), (14b)

ηk,t = h(ξk,t) (14c)

µk,t = µt,t, sk,t = st,t (14d)

k = t, . . . , t+Hp (14e)

δf,min ≤ uk,t ≤ δf,max (14f)

∆δf,min ≤ ∆uk,t ≤ ∆δf,max, (14g)

uk,t = uk−1,t + ∆uk,t, (14h)

k = t, . . . , t+Hc − 1 (14i)

∆uk,t = 0, k = t+Hc, . . . , t+Hp (14j)

ξt,t = ξ(t), (14k)

where ∆Ut = [∆ut,t, . . . ,∆ut+Hc−1,t] is the optimizationvector at time t, ηt+i,t denotes the output vector predicted

Page 6: Predictive Active Steering Control for Autonomous Vehicle Systems

IEEE TRANSACTION OF CONTROL SYSTEMS TECHNOLOGY, VOL. , NO. , JANUARY 2007 6

at time t + i obtained by starting from the state ξt,t =ξ(t) and applying to system (11)-(12) the input sequence∆ut,t, . . . ,∆ut+i,t. Hp and Hc denote the output predictionhorizon and the control horizon, respectively. We useHp > Hc

and the control signal is assumed constant for all Hc ≤ t ≤Hp. We assume slip and friction coefficient values constantand equal to the estimated values at time t over the predictionhorizon (constraint (14d)).

In (13) the first summand reflects the penalty on trajectorytracking error while the second summand is a measure of thesteering effort. Q and R are weighting matrices of appropriatedimensions.

We denote by ∆U∗t � [∆u∗t,t, . . . ,∆u

∗t+Hc−1,t]

′ the se-quence of optimal input increments computed at time t bysolving (14) for the current observed states ξ(t). Then, thefirst sample of ∆U∗

t is used to compute the optimal controlaction and the resulting state feedback control law is

u(t, ξ(t)) = u(t− 1) + ∆u∗t,t(t, ξ(t)) (15)

At the next time step t + 1 the optimization problem (14) issolved over a shifted horizon based on the new measurementsof the state ξ(t+ 1).

B. Linear Time-Varying Model Predictive Control (LTV MPC)

Let t be the current time and ξ(t), u(t− 1) be the currentstate and the previous input of system (11)-(12), respectively.We consider the following optimization problem:

min∆Ut,ε

Hp∑i=1

∥∥∥δηt+i,t − δηref t+i,t

∥∥∥2

Q+ (16a)

Hc−1∑i=0

‖δut+i,t‖2R + ρε

subj. to δξk+1,t = Atδξk,t + Btδuk,t, (16b)

δαk,t = Ctδξk,t + Dtδuk,t (16c)

δηk,t =

[0 0 1 0 0 00 0 0 1 0 00 0 0 0 1 0

]δξk,t (16d)

k = t, . . . , t+Hp

uk,t = u(t− 1) + δuk,t, (16e)

ut−1,t = u(t− 1), (16f)

∆uk,t = uk,t − uk−1,t, (16g)

δf,min ≤ uk,t ≤ δf,max, (16h)

∆δf,min ≤ ∆uk,t ≤ ∆δf,max, (16i)

k = t, . . . , t+Hc − 1δαmin − ε ≤ δαk,t ≤ δαmax + ε, (16j)

k = t, . . . , t+Hp

∆uk,t = 0, k = t+Hc, . . . , t+Hp (16k)

ε ≥ 0 (16l)

δξt,t = 0 (16m)

where ∆Ut � [δut,t, . . . , δut+Hc−1,t]′ and model (16b)-(16c) is obtained by linearizing model (11) at each timestep t around the point ξ(t), u(t − 1), for the estimateds(t), µ(t). The variables δη = [δψ, δψ, δY ] and δηref denote

the outputs of the linearized system and the correspondingreference signal, respectively. The variable δα denotes thetire slip angle variation and it is an additional output of thelinearized model which is only constrained and not tracked.Inequalities (16j) are soft constraints on the tire slip angleand ε is a slack variable. The term ρε in (16b) penalizes theviolation of the constraint on the slip angle and ρ is a weightcoefficient.

The optimization problem (16) can be recast as a quadraticprogram (QP) (details can be found in [7]). We denote by∆U∗

t � [δu∗t,t, . . . , δu∗t+Hc−1,t]

′ the sequence of optimal inputdeviations computed at time t by solving (16) for the currentobserved states ξ(t). Then, the first sample of ∆U∗

t is usedto compute the optimal control action and the resulting statefeedback control law is

u(t, ξ(t)) = u(t− 1) + δu∗t,t(t, ξ(t)) (17)

At the next time step t + 1 the optimization problem (16)is solved over a shifted horizon based on the new measure-ments of the state ξ(t + 1) and based on an updated linearmodel (16b)-(16d) computed by linearizing the nonlinear ve-hicle model (11) around the new state, slip ratio, road frictioncoefficient and previous input.

We remark that the model (11) is linearized around anoperating point that, in general, is not an equilibrium point.Therefore, the Linear Time-Invariant (LTI) model (16b)-(16d)at time t is used to predict the state and the output deviationsfrom the trajectories ξt(k), αt(k), ηt(k) for k = t, . . . , t+Hp,respectively, computed by solving (11) with ξ(t) as initialcondition and u(k) = u(t − 1) for k = t, . . . , t + Hp. Ac-cordingly, the optimization variables [δut,t, . . . , δut+Hc−1,t]represent the input variation with respect to the previous inputu(t− 1).

Alternatively, the vehicle model (11) can be linearizedaround a nominal input unom(k) and state trajectory ξnom(k).In this case, equation (16e) would become uk,t = unom(k) +δuk,t and the optimization variables [δut,t, . . . , δut+Hc−1,t]would represent the input variations around the nominal input.This approach requires a nominal input and state trajectory,i.e., unom(k) and ξnom(k). Such trajectory could be computedfrom the higher level replanning algorithm described in Sec-tion III or from the lower level MPC controller. We remarkthat in this case a Linear Time-Varying (LTV) model overthe prediction horizon (At,k,Bt,k, Ct,k,Dt,k), k = t, . . . , t +Hp − 1 could be used at each time step t instead of the LTImodel (16b)-(16d).

An MPC scheme similar to the one presented in this papercan be found in [19], [20] and [18]. In these works a similarMPC formulation is used. A LTI prediction model is used topredict the behavior of the system over the prediction horizon.The LTI model is updated according to the values of flightcondition dependent scheduling parameters. In [19], [20] theLTI model is obtained by interpolation over a pre-computeddatabase of linearized models, while in [18] the LTI modelis obtained by linearizing the nonlinear kinematics around thecurrent measurements.

When evaluating the online computational burden of theproposed scheme, in addition to the time required to solve

Page 7: Predictive Active Steering Control for Autonomous Vehicle Systems

IEEE TRANSACTION OF CONTROL SYSTEMS TECHNOLOGY, VOL. , NO. , JANUARY 2007 7

the optimization problem (16), one needs to consider the re-sources spent in computing the linear models (At,Bt, Ct,Dt)in (16b)-(16c) and translating (16) into a standard QP problem.Nevertheless, for the proposed application, complexity of theMPC (16)-(17) greatly reduces compared to the NLMPCpresented in IV-A. This will be shown for a specific scenarioin Sections VI-A and VI-B.

The stability of the presented control scheme is difficultto prove even under no model mismatch and it is a topic ofcurrent research. Also, robustness of nonlinear MPC schemesis an active area of research by itself. An analytical andmeaningful study of the robustness of the proposed schemewould be even more difficult. The uncertainty of the tirecharacteristics and the road condition are often difficult todescribe with a mathematical formalism which is realistic andnot too conservative.

It should be noted that in the MPC scheme (16)-(17), theintroduction of the state constraints (16j) is needed in orderto obtain an acceptable performance and it is a contributionof this manuscript. As shown next in section VI-A, suchconstraint arises from a careful study of the closed loopbehavior of the nonlinear MPC presented in section IV-A. Infact, extensive simulations have shown that the nonlinear MPCnever exceeds certain tire slip angles under stable operations.By removing the constraints (16j) the performance of the LTVMPC controller (16)-(17) is not acceptable and the systembecomes unstable at high vehicle speeds. In fact, a simplelinear model is not able to predict the change of slope in thetires characteristic (see Figure (2)). To overcome this issue weincluded constraints (16j) in the optimization problem, in orderto forbid the system from entering a strongly nonlinear andpossibly unstable region of the tire characteristic. In particular,by looking at the tire characteristics in Figure 2, it is clear thata linear approximation of the tire model around the origin isno longer valid if the slip angle exceeds certain bounds. Ledby this observation and by a study on the closed loop behaviorof the nonlinear MPC presented in IV-A, we included theconstraints (16j) in the optimization problem. In particular, fora given µ, the tire slip angle is constrained in the mostly linearregion of the lateral tire force characteristic. By no means doesthe constraints (16j) enforce the dynamical system to operatein a linear region: system nonlinearities (11) and longitudinaltire nonlinearities are still relevant when constraints (16j) areincluded in the MPC formulation.

Note that the constraints (16j) are implicit linear constraintson state and input and they can be handled systematically onlyin an MPC scheme. A soft constraint formulation is preferredto a hard constraint in order to avoid infeasibility. In fact,during experiments the tire slip angle is estimated from IMUand GPS measurements. Acceleration measurements are noisyand GPS signal can be lost. Moreover, as shown in (3) and (7),the tire slip angle depends on the steering angle. The latter, asexplained in Section V-B, in our experimental setup is affectedby the driver’s imposed steering angle.

An additional tracking error on yaw rate is included inthe performance index of the LTV MPC problem (16)-(17)(compare equation (16d) to (12)). Extensive simulations haveshown that this additional term significatively improves the

performance of the LTV MPC controller (16)-(17).

V. DOUBLE LANE CHANGE ON SNOW USING ACTIVE

STEERING

The MPC steering controllers described in Sections IV-Aand IV-B have been implemented to perform a sequence ofdouble lane changes at different entry speeds. This test repre-sents an obstacle avoidance emergency maneuver in which thevehicle is entering a double lane change maneuver on snow orice with a given initial forward speed. The control input is thefront steering angle and the goal is to follow the trajectory asclose as possible by minimizing the vehicle deviation from thetarget path. The experiment is repeated with increasing entryspeeds until the vehicle loses control. The same controller canbe used to control the vehicle during different maneuvers indifferent scenarios [21].

The simulation and experimental results will be presentedin Section VI. Next we describe the reference generation andpresent the experimental setup in Section V-B.

A. Trajectory generation

The desired path is described in terms of lateral positionYref and yaw angle ψref as function of the longitudinalposition X:

ψref (X) =dy1

2(1 + tanh(z1)) − dy2

2(1 + tanh(z2))

(18a)

Yref (X) = arctan

(dy1

(1

cosh(z1)

)2( 1.2dx1

)− (18b)

dy2

(1

cosh(z2)

)2( 1.2dx2

))

where z1 = 2.425 (X − 27.19)− 1.2, z2 = 2.4

21.95 (X − 56.46)−1, 2, dx1 = 25, dx2 = 21.95, dy1 = 4.05, dy2 = 5.7.

The reference trajectories (18a)-(18b), can be used directlyonly in the nonlinear MPC formulation, being a nonlinearfunction of the longitudinal distance X . In the LTV MPCformulation, we generate the reference trajectories from (18a)and (18b) by assuming that the vehicle will travel a portionof the desired path at a constant speed in the next Hp steps.

Because of the assumption on constant travel velocity, themethod for generating the trajectory described above can affectthe performance of the closed loop system. In particular, inextreme handling situations, when the tracking errors are largedue to spinning or side skidding, the computed reference couldlead to aggressive maneuvers. As explained in Section III,more accurate methods could be used in order to generate asmoother reference for the LTV MPC scheme by taking intoaccount the state of the vehicle.

B. Experimental Setup Description

The MPC controllers presented in Sections IV-A and IV-Bhave been tested through simulations and experiments onslippery surfaces. The experiments have been performed ata test center equipped with icy and snowy handling tracks.

Page 8: Predictive Active Steering Control for Autonomous Vehicle Systems

IEEE TRANSACTION OF CONTROL SYSTEMS TECHNOLOGY, VOL. , NO. , JANUARY 2007 8

The MPC controllers have been tested on a passenger car,with a mass of 2050 Kg and an inertia of 3344 Kg/m2. Thecontrollers were run in a dSPACE Autobox system, equippedwith a DS1005 processor board and a DS2210 I/O board, witha sample time of 50 ms.

We used an Oxford Technical Solution (OTS) RT3002sensing system to measure the position and the orientationof the vehicle in the inertial frame and the vehicle velocitiesin the vehicle body frame. The OTS RT3002, is housed in asmall package that contains a differential GPS receiver, InertialMeasurement Unit (IMU), and a DSP. It is equipped with asingle antenna to receive GPS information. The IMU includesthree accelerometers and three angular rate sensors. The DSPreceives both the measurements from the IMU and the GPS,utilizes a Kalman filter for sensor fusion, and calculate theposition, the orientation and other states of the vehicle suchas longitudinal and lateral velocities.

The car was equipped with an Active Front Steering (AFS)system which utilizes an electric drive motor to change therelation between the hand steering wheel and road wheel an-gles. This is done independently from the hand wheel position,thus the front road wheel angle is obtained by summing thedriver hand wheel position and the actuator angular movement.Both the hand wheel position and the angular relation betweenhand and road wheels are measured. The sensor, the dSPACEAutobox and the actuators communicate through a CAN bus.

The autonomous steering test is initiated by the driver witha button. When the button is pushed, the inertial frame inFigure 1 is initialized as follows: the origin is the currentvehicle position, the axes X and Y are directed as the currentlongitudinal and lateral vehicle axes, respectively. Such inertialframe becomes also the desired path coordinate system. Oncethe initialization procedure is concluded, the vehicle executesthe double lane change maneuver.

During the experiment the hand wheel may deviate from itscenter position. This is caused by the difficulty the driver canhave in holding the steering still, which was needed to facili-tate autonomous behavior with that particular test vehicle. Inour setup this is treated as a small bounded input disturbance.Furthermore, noise may affect the yaw angle measurementdue to the single antenna sensor setup. Compared to a dualantenna setup, a single antenna system has to learn the vehicleorientation and/or coordinate during vehicle motion. When thevehicle stands still the yaw angle is computed by integratingthe yaw rate measurement from the IMU. This might causethe presence of a small offset in the orientation measurement,while traveling at low speed or being still. The effects of bothinput disturbance and measurement noise will be clear later inthe presented experimental results.

VI. PRESENTATION AND DISCUSSION OF RESULTS

In the next section three types of MPC controllers will bepresented. These controllers have been derived by the MPCproblem formulations presented in sections IV-A and IV-B andwill be referred to as Controller A, B and C:

• Controller A. Nonlinear MPC (14)-(15) with the follow-ing parameters

– T = 0.05s, Hp = 7; Hc = 3; δf,min=-10 deg, δf,max=10 deg, ∆δf,min=-1.5deg, ∆δf,max=1.5 deg, µ = 0.3,

– Q =(

500 00 75

), R = 150

• Controller B. LTV MPC (16)-(17) with the followingparameters

– T = 0.05s, Hp = 25; Hc = 10, δf,min=-10 deg, δf,max=10 deg, ∆δf,min=-0.85deg, ∆δf,max=0.85 deg, µ = 0.3,αmin = −2.2deg, αmax = 2.2deg

– weighting matrices Q = 200 0 0

0 10 00 0 10

, R = 5 · 104, ρ = 103

• Controller C same as Controller B with Hc = 1.

Next the results obtained with the three controllers will bedescribed and a comparison between the simulation and theexperimental results will be given for each of them. Theactual road friction coefficient µ was set manually and constantfor each experiment depending on the road conditions. Thischoice was driven by the study of the controller closed-loop performance independently from the µ estimation andits associated error and dynamics. For each controller moresimulation, experiments and comments can be found in [12].

A. Controller A

The controller (14)-(15) with the parameters defined inSection VI has been implemented as a C-coded S-Functionin which the commercial NPSOL software package [15] isused for solving the nonlinear programming problem (14). Thechoice of NPSOL has been motivated by its performance andthe availability of the source C code.

Limited by the computational complexity of the nonlinearprogramming solver and the hardware used, we could performexperiments at low vehicle speeds only. In fact, as the entryspeed increases, larger prediction and control horizons arerequired in order to stabilize the vehicle along the path.Larger prediction horizons involve more evaluations of theobjective function, while larger control horizons imply a largeroptimization problem (14). In Table I we report the maximumcomputation time required by the controllers A and B tocompute a solution to the problems (14) and (16), respectively,when the maneuver described in Section V is performed atdifferent vehicle speeds. The selected control and predictionhorizons in Table I are the shortest allowing the stabilizationof the vehicle at each speed. The results have been obtainedin simulation with a 2.0 GHz Centrino-based laptop runningMatlab 6.5.

During experiments, the maximum iterations number inNPSOL bas been limited in order to guarantee real-timecomputation. The bound was selected after preliminary testson the real-time hardware.

In Figure 4 the simulation results for a maneuver at 7 m/s arepresented. In Figure 5 the corresponding experimental resultsare presented. In the upper plot of Figure 5-b the dashedline represents the steering action from the driver (i.e. the

Page 9: Predictive Active Steering Control for Autonomous Vehicle Systems

IEEE TRANSACTION OF CONTROL SYSTEMS TECHNOLOGY, VOL. , NO. , JANUARY 2007 9

x Controller A Comp. time Controller B Comp. time[m/s] [s] [s]

10 0.15 (Hp = 7,Hc = 2) 0.03 (Hp = 7, Hc = 3)15 0.35 (Hp = 10,Hc = 4) 0.03 (Hp = 10, Hc = 4)17 1.3 (Hp = 10,Hc = 7) 0.03 (Hp = 15, Hc = 10)

TABLE IMAXIMUM COMPUTATION TIME OF THE CONTROLLERS A AND B

PERFORMING A DOUBLE LANE CHANGE MANEUVER AT DIFFERENT

VEHICLE SPEEDS.

4 6 8 10 12 14 16 18 20 22−2

0

2

4

Y [m

]

SimulationReference

4 6 8 10 12 14 16 18 20 22−20

−10

0

10

ψ [d

eg]

SimulationReference

4 6 8 10 12 14 16 18 20 22−10

−5

0

5

10

d ψ

/dt [

deg/

s]

Time [s]

(a) Lateral position (Y ), yaw angle (ψ) and yaw rate ψ.

4 6 8 10 12 14 16 18 20 22−5

0

5

δf [

deg]

4 6 8 10 12 14 16 18 20 22−1

0

1

∆ δ

f [de

g]

4 6 8 10 12 14 16 18 20 220

2

4

6

Time [s]

Sol

ver

outp

ut fl

ag

(b) Front steering angle (δf ), change in front steering angle(∆δf ) and NPSOL output flag.

Fig. 4. Simulation results at 7 m/s entry speed. Controller A describedin Section VI-A

input disturbance) that, in this test, is negligible. The actualRoad Wheel Angle (RWA) is the summation of the RWAfrom MPC controller and the steering action from the driver.In lower plots of Figures 4-b and 5-b, the NPSOL outputflag is reported. In our tests the flag assumed the values0, 1, 4 and 6. The value 0 is returned when an optimalfeasible solution is found. The value 1 is returned when thesolver does not converge to a feasible solution. The value4 indicates that the limit on the iteration number has beenreached and a feasible but non-optimal solution has beenfound. The value 6 indicates that the solution does not satisfythe optimality conditions [15]. In simulation and experimentaltests the solver often reaches the selected iteration limit andreturns a suboptimal solution. Yet, because of the low vehiclespeed, the performance associated to the suboptimal solution

is excellent.By comparing the lateral position and yaw angle in the

simulation and the experiment, we can conclude that thematching between simulation and experimental results is verygood. The tracking errors are very small and reported inTable II, where ψrms and Yrms are the root mean squaredyaw angle and lateral position tracking errors, respectively.The values of ψmax and Ymax are the maximum trackingerrors on the same variables.

ψrms Yrms ψmax Ymax

[deg] [m] [deg] [m]Simulation 1.05 · 10−1 6.36 · 10−4 4.20 3.82 · 10−1

Experiment 2.26 · 10−1 3.50 · 10−3 6.99 7.43 · 10−1

TABLE IISIMULATION RESULTS. CONTROLLER A PRESENTED IN SECTION VI-A.

RMS AND MAXIMUM TRACKING ERRORS AT 7 M/S.

By comparing the simulated and the experimental steeringcommand, we notice the presence of an unmodeled ratesaturation in the steering response. In fact, the actual roadsteering angle variation is smaller than the selected ∆δf,max

in (14g). This can be observed in Figure 5-b, between 12and 14 s, where the desired change in the steering angle waslimited to ∆δf,max = 1.5deg, while the actual road wheelsteering angle increased at a slower rate. This led to a largertracking error in the experiment during the second lane changecompared to the simulations.

The experimental results 10 m/s in [12] show that thecontroller is not able to stabilize the vehicle and, around 13s, the vehicle starts to skid. The controller fails because thenon-linear solver does not converge to a feasible solution.

An analysis of simulation results shows that the solverdoes not converge because of the limit on the number ofiterations. The work presented in [7] has shown that, the NL-MPC controller is able to perform the maneuver at 10 m/s orhigher speed if the solver maximum iteration number is notlimited.

Finally, in order to better motivate the introduction ofthe constraints (16j) in the MPC formulation presented inSection IV-B, in Figure 6 we report the simulation results of anonlinear MPC at 17 m/s on snow. We observe that, due to theknowledge of the tire characteristics, the controller implicitlylimits the front tire slip angle (αf ) in the interval [−3,+3] deg.As shown in the Figure 2, this is within the linear regionof the tire characteristic for a snow covered road (µ = 0.3).The results in Figure 6 have been obtained by Controller Ausing the same tuning parameters of Controller B presented inSection VI. In particular, a prediction horizon of 25 steps anda control horizon of 10 steps have been selected. The steeringangle has been constrained within the interval [−10, 10] deg,while the steering rate in [−0.85, 0.85] deg. We also point outthat no constraint on the front tire slip angle has been used.

Extensive simulations have shown that this phenomenon canalways be observed in extreme conditions under operationsand led us to the use of the constraint (16j) in the LTV MPCformulation (16).

Page 10: Predictive Active Steering Control for Autonomous Vehicle Systems

IEEE TRANSACTION OF CONTROL SYSTEMS TECHNOLOGY, VOL. , NO. , JANUARY 2007 10

4 6 8 10 12 14 16 18 20−2

0

2

4

Y [m

]

ActualReference

4 6 8 10 12 14 16 18 20

−20

−10

0

10

ψ [d

eg]

ActualReference

4 6 8 10 12 14 16 18 20−20

−10

0

10

20

d ψ

/dt [

deg/

s]

Time [s]

(a) Lateral position (Y ), yaw angle (ψ) and yaw rate ψ.

4 6 8 10 12 14 16 18 20−5

0

5

δf [

deg]

RWA from MPCDriver

4 6 8 10 12 14 16 18 20

−1

0

1

∆ δ

f [de

g]

4 6 8 10 12 14 16 18 200

2

4

6

Time [s]

Sol

ver

outp

ut fl

ag

(b) Front steering angle (δf ), change in front steering angle(∆δf ) and NPSOL output flag.

Fig. 5. Experimental results at 7 m/s entry speed. Controller Adescribed in Section VI-A

0 1 2 3 4 5 6 7 8−2

−1

0

1

2

3

4

Y [m

]

ActualReference

0 1 2 3 4 5 6 7 8−4

−2

0

2

4

αf [

deg]

Time [s]

Fig. 6. Simulation results of the controller A at 17 m/s.

B. Controller B

The controller (16)-(17) with the parameters defined inSection VI has been implemented as a C-coded S-Function,using the QP solver routine available in [32]. Such routineimplements the Dantzig-Wolfe’s algorithm, has a good per-formance and its source C code is publicly available. Wedo not report the solver output flag since the solver always

4 6 8 10 12 14 16 18

−2

0

2

4

Y [m

]

SimulationReference

4 6 8 10 12 14 16 18

−10

0

10

ψ [d

eg]

SimulationReference

4 6 8 10 12 14 16 18−20

−10

0

10

20

d ψ

/dt [

deg/

s] SimulationReference

(a) Lateral position (Y ), yaw angle (ψ) and yaw rate ψ.

4 6 8 10 12 14 16 18−4

−2

0

2

δf [

deg]

4 6 8 10 12 14 16 18

−0.2

0

0.2

∆ δ

f [de

g]

4 6 8 10 12 14 16 18−4

−2

0

2

4

Time [s]

αf [

deg]

SimulatedConstraints

(b) Front steering angle (δf ), change in front steering angle(∆δf ) and front tire slip angle αf .

Fig. 7. Simulation results at 10 m/s entry speed. Controller Bdescribed in Section IV-B

converged to an optimal solution. At each time step, the linearmodel (16b)-(16c) is obtained by analytic differentiation of thenonlinear vehicle model (11) and a numeric linearization ofthe Pacejka tire model.

We remark that the computation burden of this LTV MPCcontroller is reduced significantly compared to the controllerpresented in section VI-A, as demonstrated by the computationtimes reported in Table I.

Figure 7 depicts simulation results at the entry speed of10 m/s. Table III summarizes the tracking errors obtained insimulation for entry speeds of 10 to 21.5 m/s. In Figure 7-a one can observe: (i): an undershoot in the lateral positionand (ii): steady state errors in both lateral position and yawangle. Moreover, the steady state values of the position and theyaw angle are not coherent, being the lateral position constantand yaw angle non zero. These phenomena are generatedby an orientation error, detected in the experimental dataand introduced in the presented simulations in order to fairlycompare the simulation and the experimental results. For eachsimulation the introduced orientation error is reported in thelast column of Table III. The orientation error is due to ameasurement offset in the yaw signal coming from the OTSsensor. The effects of this error will be clarified and describedin detail in Section VI-C. In the lower plot of Figure 7-b thefront tire slip angle is reported.

Page 11: Predictive Active Steering Control for Autonomous Vehicle Systems

IEEE TRANSACTION OF CONTROL SYSTEMS TECHNOLOGY, VOL. , NO. , JANUARY 2007 11

x µ ψrms Yrms ψmax Ymax ∆[m/s] [deg] [m] [deg] [m] [deg]10 0.3 0.39 1.77 · 10−2 7.20 0.96 2.615 0.3 0.41 2.56 · 10−2 8.17 1.25 2.6719 0.3 0.42 3.03 · 10−2 10.15 1.58 2.33

21.5 0.25 0.68 5.41 · 10−2 11.61 2.11 2.85

TABLE IIISIMULATION RESULTS. CONTROLLER B PRESENTED IN SECTION VI-B.

RMS AND MAXIMUM TRACKING ERRORS AS FUNCTION OF VEHICLE

LONGITUDINAL SPEED.

4 6 8 10 12 14 16

−2

0

2

4

Y [m

]

ActualReference

4 6 8 10 12 14 16

−10

0

10

ψ [d

eg]

ActualReference

4 6 8 10 12 14 16−20

−10

0

10

20

d ψ

/dt [

deg/

s]

Time [s]

ActualReference

(a) Lateral position (Y ), yaw angle (ψ) and yaw rate ψ.

4 6 8 10 12 14 16

−4

−2

0

2

4

δf [

deg]

RWA from MPCDriver

4 6 8 10 12 14 16

−0.5

0

0.5

∆ δ

f [de

g]

4 6 8 10 12 14 16−4

−2

0

2

4

Time [s]

αf [

deg]

ActualConstraints

(b) Front steering angle (δf ), change in front steering angle(∆δf ) and front tire slip angle αf .

Fig. 8. Experimental results at 10 m/s entry speed. Controller Bdescribed in Section VI-B

In Figure 8 the experimental results at 10 m/s are presented.By comparing these results with the simulations at the samespeed shown in Figures 7(a) and 7(b), we observe a goodmatching between experiments and simulations. We also ob-serve a chattering phenomenon in the signals ∆δf and δf .This is a function of the MPC tuning and of the constraints∆δf,max and ∆δf,min. No additional effort has been spent inreducing such phenomenon since it is mostly filtered by thevehicle response and not felt by the driver.

For all experimental results presented in the following, theslip angle has been computed using the experimental data andthe equations (3), (4) and (7).

In Figure 9 the experimental results at 19 m/s are presented.By comparing the lateral positions in Figures 8-a and 9-a at 10

4 5 6 7 8 9 10 11 12 13

−2

0

2

4

Y [m

]

ActualReference

4 5 6 7 8 9 10 11 12 13

−10

0

10

ψ [d

eg]

ActualReference

4 5 6 7 8 9 10 11 12 13−40

−20

0

20

40

d ψ

/dt [

deg/

s]

Time [s]

ActualReference

(a) Lateral position (Y ), yaw angle (ψ) and yaw rate ψ.

4 5 6 7 8 9 10 11 12 13

−2

0

2

δf [

deg]

RWA from MPCDriver

4 5 6 7 8 9 10 11 12 13

−0.5

0

0.5 ∆

δf [

deg]

4 5 6 7 8 9 10 11 12 13−4

−2

0

2

4

Time [s]

αf [

deg]

ActualConstraints

(b) Front steering angle (δf ), change in front steering angle(∆δf ) and front tire slip angle αf .

Fig. 9. Experimental results at 19 m/s entry speed. Controller Bdescribed in Section VI-B

m/s and 19 m/s respectively, we observe a larger error in thelateral position at 19 m/s, between 6 and 8 s at the beginningof the second lane change. A postprocessing of experimentaldata and the analysis of simulation data have shown that theconstraint (16j) on the tire slip angle corresponds to an implicitconstraints on the maximum steering action which decreaseswith the higher longitudinal vehicle speeds. The commandedwheel steering angle when the slip angle is at its lower bound(-2.2 deg) decreases with the vehicle longitudinal speed.

We remark that, in almost all experimental tests, the tireslip angle violates its constraint in small amount. This is inagreement with the use of soft constraint and makes the systemrobust to driver steering action, as it can be seen in Figure 9between 8 and 9 s.

The presented experimental results are summarized in theTable IV. The comparison between simulation and experi-mental results, in Tables III and IV respectively, demonstratesthat, in spite of a significant model mismatch at high speeds,vehicle stability is achieved in all experimental tests. This isenforced by the constraints (16j) which mitigates the effectof model uncertainties. The mismatch between the closed andthe open loop behavior resides in the uncertainty in the tirecharacteristics. Such mismatch led to a conservative choicefor the slip angle constraints in the experimental tests. Asa direct consequence, the steering angle has been implicitly

Page 12: Predictive Active Steering Control for Autonomous Vehicle Systems

IEEE TRANSACTION OF CONTROL SYSTEMS TECHNOLOGY, VOL. , NO. , JANUARY 2007 12

3 4 5 6 7 8 9 10

−2

0

2

4

Y [m

]

ActualReference

3 4 5 6 7 8 9 10

−10

0

10

ψ [d

eg]

ActualReference

3 4 5 6 7 8 9 10−40

−20

0

20

40

d ψ

/dt [

deg/

s]

Time [s]

ActualReference

(a) Lateral position (Y ), yaw angle (ψ) and yaw rate ψ.

3 4 5 6 7 8 9 10

−2

0

2

δf [

deg]

RWA from MPCDriver

3 4 5 6 7 8 9 10

−0.5

0

0.5

∆ δ

f [de

g]

3 4 5 6 7 8 9 10−4

−2

0

2

4

Time [s]

αf [

deg]

ActualConstraints

(b) Front steering angle (δf ), change in front steering angle(∆δf ) and front tire slip angle αf .

Fig. 10. Experimental results at 21.5 m/s entry speed. Controller Bdescribed in Section VI-B

x µ ψrms Yrms ψmax Ymax

[m/s] [deg] [m] [deg] [m]10 0.3 0.53 1.28 · 10−2 8.21 0.815 0.3 1.172 4.64 · 10−2 14.71 2.5119 0.3 1.23 7.51 · 10−2 16.38 3.10

21.5 0.25 1.81 1.11 · 10−1 19.02 2.97

TABLE IVCONTROLLER B PRESENTED IN SECTION VI-B. EXPERIMENTAL RMS

AND MAXIMUM TRACKING ERRORS AS FUNCTION OF VEHICLE

LONGITUDINAL SPEED

overconstrained in experiments at high vehicle speed with aconsequent performance degradation. This can be observed inthe experimental tests at the second lane change, where theerror in the lateral position becomes large compared to thesimulation results.

By comparing the experimental and the simulation resultsat 10 m/s in the Tables III and IV respectively, it can beobserved that the experimental RMS lateral error is lowerthan the corresponding simulative result. In fact, a differentequilibrium point is reached in the two cases. The followingsection clarifies the cause of mismatch between simulative andexperimental equilibrium point.

As remarked in previous sections the controller B perfor-mance degrades when the constraint (16j) on the tire slip angle

is removed. In this case, extensive simulations have shown thatthe LTV MPC controller is able to stabilize the vehicle onlyup to 10 m/s.

C. Steady state errors

In this section we will explain the initial undershoot inthe lateral position and the steady state errors in both lateralposition and yaw angle observed in the presented exper-imental results of Controller B. As previously mentioned,both phenomena are caused by an offset on the orientationmeasurement. Figure 11 reproduce the scenario: the axes xact

and yact are the actual longitudinal and lateral vehicle axesrespectively, while xlea and ylea are the vehicle axes as learnedby the OTS sensor.

Because of a positive orientation error, at the beginningof the test the sensor measures a zero yaw angle while theactual vehicle longitudinal axis points rightwards, as shown inFigure 11-a. This explains the initial undershoot in the lateralposition. At the end of the maneuver (position A in Figure 11-a) the vehicle is actually going straight, as confirmed by theconstant lateral position and zero steering angle, while themeasured nonzero yaw angle is exactly the orientation error,as illustrated in Figure 11-a.

Consider Figures (8)-(10), in spite of the steady state errorson both lateral position and yaw angle, the MPC controllerdoes not attempt to reduce the errors on tracking variables.The explanation is simple: because of the offset on the yawmeasurement, any attempt to reduce the yaw angle (lateralposition) tracking error would imply an increase of the lateralposition (yaw angle) tracking error according to model (2).Since the proposed MPC does not contain any integral action,the steady state equilibria which can be observed in Fig-ures (8)-(10) are the closed loop optimal equilibria for thedesigned MPC. The simulation results in Figure (7) reproducesexactly the steady-state offset observed in experiments andconfirm our explanation. We remark that an MPC controllerwith integral action on the tracking errors would have led toan instable vehicle behavior. In fact, due to the inconsistencybetween the orientation and position measurements, a zerosteady state orientation error would have implied a diverginglateral position.

D. Controller C

The controller (16)-(17) with the parameters defined inSection VI has been implemented as a C-coded S-Function,by using a very simple QP solver for a two dimensionalproblem. Since Hc = 1, the two optimization variables arethe commanded steering variation and the slack variable. Weimplemented a tailored QP solver.

The plot of the simulation results are not included in thismanuscript because of lack of space. We only report, inTable V, the tracking errors at 10 m/s, 17 m/s and 21 m/sentry speeds. The experimental results of controller A at 17m/s the same entry speeds are summarized in Table VI, theresults at 17 m/s are presented in Figure 12

The plots results do not show any orientation error, beingthe experiments performed in a day different from experiments

Page 13: Predictive Active Steering Control for Autonomous Vehicle Systems

IEEE TRANSACTION OF CONTROL SYSTEMS TECHNOLOGY, VOL. , NO. , JANUARY 2007 13

Fig. 11. Effects of the orientation error on lateral position and yaw angle.a) undershoot in the lateral position, b) steady state error on lateral positionand yaw angle.

of controller B. It is interesting to observe that, even if thecontrol horizon has been tightened significantly, the controlleris still able to stabilize the vehicle, even at high speed, andthe tracking errors do not increase significantly compared toController B.

In order to fairly compare controller B and C, the orientationoffset observed during experimental tests of controller B havebeen reproduced in simulations of controller C. The trackingerrors for such simulations are reported in Table V. Comparethe tracking errors of controllers B and C in Tables III and V,respectively. It can be noticed that controller C performsslightly worse than controller B. However, as confirmed bythe experimental tests, it is able to stabilize the vehicle athigh speed. We emphasize that such MPC controller can beimplemented on a low-cost hardware and its code can be easilyverified. The maximum number of operation at each time stepis also easily computed whereas this can be very difficult forController B and C.

x µ ψrms Yrms ψmax Ymax

[m/s] [deg] [m] [deg] [m]10 0.3 4.40 · 10−1 2.30 · 10−2 7.98 1.0715 0.3 4.76 · 10−2 3.56 · 10−2 9.56 1.5019 0.3 5.09 · 10−1 4.68 · 10−2 11.61 1.8921 0.25 7.20 · 10−1 7.70 · 10−2 12.26 2.34

TABLE VSUMMARY OF SIMULATION RESULTS, CONTROLLER C PRESENTED IN

SECTION VI-D. SIMULATIVE RMS AND MAXIMUM TRACKING ERRORS AS

FUNCTION OF VEHICLE LONGITUDINAL SPEED. THE ORIENTATION

ERRORS IN TABLE III HAVE BEEN REPRODUCED.

4 6 8 10 12 14

−2

0

2

4

Y [m

]

ActualReference

4 6 8 10 12 14

−10

0

10

ψ [d

eg]

ActualReference

4 6 8 10 12 14

−20

−10

0

10

20

d ψ

/dt [

deg/

s]

Time [s]

ActualReference

(a) Lateral position (Y ), yaw angle (ψ) and yaw rate ψ.

4 6 8 10 12 14

−2

0

2

δf [

deg]

RWA from MPCDriver

4 6 8 10 12 14

−0.5

0

0.5

Time [s]

∆ δ

f [de

g]

4 6 8 10 12 14−4

−2

0

2

4

Time [s]

αf [

deg]

ActualConstraints

(b) Front steering angle (δf ), change in front steering angle(∆δf ) and front tire slip angle αf .

Fig. 12. Experimental results at 17 m/s entry speed. Controller Cdescribed in Section VI-D

x µ ψrms Yrms ψmax Ymax

[m/s] [deg] [m] [deg] [m]10 0.2 9.52 · 10−1 5.77 · 10−2 13.12 3.2817 0.25 8.28 · 10−1 2.90 · 10−2 12.26 1.8121 0.2 1.037 7.66 · 10−2 12.49 3.20

TABLE VISUMMARY OF EXPERIMENTAL RESULTS, CONTROLLER C PRESENTED IN

SECTION VI-D. RMS AND MAXIMUM TRACKING ERRORS AS FUNCTION

OF VEHICLE LONGITUDINAL SPEED.

VII. CONCLUDING REMARKS AND FUTURE WORK

We have presented a novel MPC-based approach for activesteering control design. Experimental results showed thatdouble lane change maneuvers are relatively easily obtained asa result of the MPC feedback policy, leading to the capabilityof stabilizing a vehicle with a speed up to 21 m/s on slipperysurfaces such as snow covered roads.

There are three main contributions of this manuscript.These are associated with the three type of MPC controllerswhich have been designed and experimentally tested. First,a nonlinear MPC has been designed and implemented on arapid prototyping systems. Because of computational burden,experimental tests could be performed only at low vehiclespeed on the available hardware. Yet, to the best of our

Page 14: Predictive Active Steering Control for Autonomous Vehicle Systems

IEEE TRANSACTION OF CONTROL SYSTEMS TECHNOLOGY, VOL. , NO. , JANUARY 2007 14

knowledge, for the first time a nonlinear MPC scheme hasbeen implemented on a dSPACETM rapid prototyping systemto control the vehicle dynamics of an autonomous passengercar with a frequency of 20 Hz. Secondly, a linear time varying(LTV) MPC has been designed and implemented. The use ofa state and input constraint on the tire slip angle has beenproposed in order to stabilize the vehicle at high speeds.Its effectiveness has been shown through simulations andexperiments. Both approaches suffer from the difficulty inverifying the optimization code and computing the worst casecomputational time. The third and last contribution overcomesthese issues and it is represented by an LTV MPC controllerof low order which shows acceptable performance and can beeasily implemented in a low cost hardware.

The results presented here open the route to interestingand challenging research activities, which are the currenttopic of ongoing work. From a computational point of view,we are improving and testing several nonlinear optimizationalgorithms which can enlarge the range of conditions forwhich a nonlinear MPC becomes real-time implementable.From a control design point of view, we are studying newcontrol paradigms in order to achieve similar performanceto the nonlinear MPC with a significant reduction of thecomputational burden. We are also studying the stability andthe robustness of the proposed LTV MPC scheme. From anapplication point of view, we are increasing the number ofcontrol inputs and working on multivariable vehicles dynamiccontrol schemes controlling steering, brakes and throttle.

REFERENCES

[1] J. Ackermann, D. Odenthal, and T. Bunte. Advantages of active steeringfor vehicle dynamics control. In 32nd International Symposium onAutomotive Technology and Automation, Vienna, Austria, 1999.

[2] J. Ackermann and W. Sienel. Robust yaw damping of cars with front andrear wheel steering. IEEE Trans. Control Systems Technology, 1(1):15–20, March 1993.

[3] J. Ackermann, W. Walter, and T. Bunte. Automatic car steering usingrobust unilateral decoupling. In International Conference on Advancesin Vehicle Control and Safety, Genoa, Italy, 2004.

[4] E. Bakker, L. Nyborg, and H. B. Pacejka. Tyre modeling for use invehicle dynamics studies. SAE paper # 870421, 1987.

[5] R. Behringer, B. Gregory, V. Sundareswaran, R. Addison, R. Elsley,W. Guthmiller, and J. Demarche. Development of an autonomous vehiclefor the DARPA Grand Challenge. In IFAC Symposium on IntelligentAutonomous Vehicles, Lisbon, July 2004.

[6] F. Borrelli, A. Bemporad, M. Fodor, and D. Hrovat. An MPC/hybridsystem approach to traction control. IEEE Trans. Control SystemsTechnology, 14(3):541–552, May 2006.

[7] F. Borrelli, P. Falcone, T. Keviczky, J. Asgari, and D. Hrovat. MPC-based approach to active steering for autonomous vehicle systems. Int.J. Vehicle Autonomous Systems, 3(2/3/4):265–291, 2005.

[8] PC. Calhoun and EM. Queen. Entry vehicle control system design for themars smart lander. In AIAA Atmospheric Flight Mechanics Conference,AIAA 2002-4504, 2002.

[9] L. Chisci, P. Falugi, and G. Zappa. Gain-scheduling MPC of nonlinearsystems. International Journal of Robust and Nonlinear Control,13:295–308, 2003.

[10] T. Costlow. Active Safety. Automotive Engineering International, 2005.[11] dSPACE GmbH. dSPACE Autobox, 2006.[12] P. Falcone, F. Borrelli, J. Asgari, H. Eric Tseng, and D. Hrovat. Predic-

tive active steering control for autonomous vehicle systems. Technicalreport, Universita del Sannio. Diaprtimento di Ingegneria., January 2007.http://www.grace.ing.unisannio.it/publication/416.

[13] R. E. Fenton, G. C. Melocik, and K. W. Olson. On the steering ofautomated vehciles: Theory and experiments. IEEE Trans. ControlSystems Technology, AC-21:306–315, 1976.

[14] C.E. Garcia, D.M. Prett, and M. Morari. Model predictive control:Theory and practice-a survey. Automatica, 25:335–348, 1989.

[15] P. Gill, W. Murray, M. Saunders, and M. Wright. NPSOL – NonlinearProgramming Software. Stanford Business Software, Inc., MountainView, CA, 1998.

[16] J. Guldner, W. Sienel, H. S. Tan, J. Ackermann, S. Patwardhan, andT. Bunte. Robust automatic steering control for look-down referencesystems with front and rear sensors. IEEE Trans. Control SystemsTechnology, 7(1):2–11, January 1999.

[17] D. Hrovat. MPC-based idle speed control for IC engine. In ProceedingsFISITA 1996, Prague, CZ, 1996.

[18] T. Keviczky and G. J. Balas. Flight test of a receding horizon controllerfor autonomous uav guidance. In Proc. American Contr. Conf., Portland,Oregon, 2005.

[19] T. Keviczky and G. J. Balas. Receding horizon control of an f-16 aircraft:a comparative study. Control Engineering Practice, 14(9):1023–1033,September 2006.

[20] T. Keviczky and G. J. Balas. Software-enabled receding horizon controlfor autonomous UAV guidance. AIAA Journal of Guidance, Control,and Dynamics, 29(3), May-June 2006.

[21] T. Keviczky, P. Falcone, F. Borrelli, J. Asgari, and D. Hrovat. Predictivecontrol approach to autonomous vehicle steering. In Proc. AmericanContr. Conf., Minneapolis, Minnesota, 2006.

[22] M. V. Kothare, B. Mettler, M. Morari, P. Bendotti, and C. M. Falinower.Level control in the steam generator of a nuclear power plant. IEEETrans. on Control System Technology, 8(1):55–69, January 2000.

[23] T. B. Foote L. B. Cremean, J. H. Gillula, G. H. Hines, D. Kogan, K. L.Kriechbaum, J. C. Lamb, J. Leibs, L. Lindzey, C.E. Rasmussen, A.D.Stewart, J.W. Burdick, and R.M. Murray. Alice: An information-richautonomous vehicle for high-speed desert navigation. In Submitted toJournal of Field Robotics., 2006.

[24] W.M. Lu and D.S. Bayard. Guidance and control for mars atmosphericentry: Adaptivity and robustness. Technical report, JPL TechnicalReport, 1997.

[25] D. L. Margolis and J. Asgari. Multipurpose models of vehicle dynamicsfor controller design. SAE Technical Papers, 1991.

[26] D.Q. Mayne, J.B. Rawlings, C.V. Rao, and P.O.M. Scokaert. Con-strained model predictive control: Stability and optimality. Automatica,36(6):789–814, June 2000.

[27] M. Morari and J.H. Lee. Model predictive control: past, present andfuture. Computers & Chemical Engineering, 23(4–5):667–682, 1999.

[28] E. Ono, S. Hosoe, H. D. Tuan, and S. Doi. Bifurcation in vehicledynamics and robust front wheel steering control. IEEE Trans. onControl System Technology, 6(3):412–420, May 1998.

[29] J. Hauser R. M Murray, A. Jadbabaie, M. B. Miliam, N. Petit, W. B.Dunbar, and R. Franz. Online control customization via optimization-based control. In T. Samad and G. Balas, editors, Software-EnabledControl: Information Technology for Dynamical Systems. IEEE Press,2003.

[30] M. Montemerlo S. Thrun, H. Dahlkamp, D. Stavens, A. Aron, J. Diebel,P. Fong, J. Gale, M. Halpenny, G. Hoffmann, K. Lau, C. Oakley,M. Palatucci, V. Pratt, P. Stang, S. Strohband, C. Dupont, L.-E. Jen-drossek, C. Koelen, C. Markey, C. Rummel, J. van Niekerk, E. Jensen,P. Alessandrini, G. Bradski, B. Davies, S. Ettinger, A. Kaehler, A. Ne-fian, and P. Mahoney. Stanley, the robot that won the darpa grandchallenge. In Journal of Field Robotics. Accepted for publication., 2006.

[31] RRS. Smith, K. Mease, DS. Bayard, and DL. Farless. Aeromaneuveringin the martian atmosphere: Simulation-based analyses. AIAA JournalSpacecraft and Rockets, 37(1):139–142, 2000.

[32] Inc. The MathWorks. Model Predictive Control Toolbox, 2005.[33] P. Tøndel and T. A. Johansen. Control allocation for yaw stabilization in

automotive vehicles using multiparametric nonlinear programming. InProc. American Contr. Conf., 2005.

[34] H. E. Tseng, J. Asgari, D. Hrovat, P. Van Der Jagt, A. Cherry, andS. Neads. Evasive maneuvers with a steering robot. Vehicle SystemDynamics, 43(3):197–214, March 2005.

[35] Z. Wan and M. V. Kothare. Efficient scheduled stabilizing modelpredictive control for constrained nonlinear systems. InternationalJournal of Robust and Nonlinear Control, 13:331–346, March–April2003.

[36] W. Zhang and R. E. Parsons. An intelligent roadway reference systemfor vehicle lateral guidance/control. In Proc. American Contr. Conf.,pages 281–286, San Diego, California, 1990.