Multibody Syst Dyn (2009) 22: 245-267 DOI 10.1007/s11044-009-9164-4

Advances in the development of a virtual car driver

M. Thommyppillai • S. Evangelou • R.S. Sharp

Received: 3 April 2008 / Accepted: 2 June 2009 / Published online: 17 June 2009 © Springer Science+Business Media B.V. 2009

Abstract Fundamental approaches to modeling the control of a car by a driver are reviewed briefly. The context of the work presented is explained. Then previous research on the application of optimal linear preview control to aspects of driving road vehicles is extended. This prior research treated the tracking of a roadway by a vehicle and driver at constant forward speed and the tracking of a speed demand while running straight. The two previously separate problems are now combined, so that longitudinal and lateral path demands are considered in parallel. A new feature is that low-pass filters are included in the driver modeling to represent driver bandwidth limitations. This feature enables the finding of the influence of the driver's control bandwidth on the optimal strategies and on the closed-loop system performance, by way of frequency-response calculations. A new optimal preview control toolbox is employed. Simulations of the virtual driver-controlled car are shown to demonstrate the closed-loop system following longitudinal and lateral position demands.

Keywords Road vehicle • Car • Driver • Preview • Tracking control • Optimal • Simulation

1 Introduction

The work described is part of a research programme to create a practical virtual racing driver. Practicality implies both fast computation and the ability to fully exploit the potential performance of a realistic contemporary high-level racing car. The part of the program considered

M. Thommyppillai (El) • S. Evangelou

Electrical and Electronic Engineering and Mechanical Engineering, Imperial College, London SW7 2AZ, UK

e-mail: mark.thommyppillai@imperial.ac.uk S. Evangelou

e-mail: s.evangelou@imperial.ac.uk R.S. Sharp

Mechanical, Medical and Aerospace Engineering, Faculty of Engineering and Physical Sciences, University of Surrey, Guildford GU2 7XH, UK e-mail: robinsharp@waitrose.com

here involves the extension of previous separate works on longitudinal control [27, 29] and lateral control [25, 26, 28, 30, 34] to combined longitudinal and lateral controls. Recent work on the computation of optimal linear H2 preview controls, including the writing of a MATLAB Toolbox [11, 12]; see http://code.google.com/p/preview-control-toolbox/, is also newly exploited.

It has become the conventional wisdom that effective driving involves using information from ahead of the vehicle for control purposes [10, 14, 17], so-called preview, model predictive or receding-horizon control [4, 5]. At the level of common experience, one only has to imagine trying to drive in the dark with headlights which illuminate the road only to the side of one's vehicle, to appreciate the loss of facility implied by lack of preview information.

Although nonlinear model predictive control (NMPC) theory has been developed and used extensively [4, 5, 20, 21], general truths about optimal preview control come more readily from linear theory. Among these truths are:

1. beyond a preview extent that is problem-dependent, the returns available from increasing the preview available diminish towards zero. Thus, it is possible to approximate the controlled system quality obtainable with infinite preview to an arbitrarily small degree by using finite-horizon control;

2. tight controls can be designed by weighting tracking accuracy highly and control power only a little, and conversely. Optimal linear preview control is not one scheme but is one of a whole family of schemes, for a given problem;

3. tight control can be characterized as requiring relatively short previews and yielding relatively large control efforts and conversely;

4. optimal linear quadratic preview controls for time-invariant systems are of state-feedback form and can be found off-line. The state which is fed back is that of the plant augmented with a shift register or delay-line, thus involving the preview information;

5. near-perfect tracking occurs with optimal linear systems within a frequency range that extends as the control tightness increases.

The dynamics of a racing car can be described as follows. Primary interest from a control viewpoint is in the longitudinal and lateral dynamics. Longitudinal control is mainly exercised by throttle and brake controls, while lateral control comes from the steering system. It is conventional to think of the throttle displacement, the brake pedal pressure and the steering wheel displacement as being the significant control inputs. The longitudinal dynamics are simpler than the lateral dynamics [25-30, 34] but both must be considered together in treating the general manoeuvring problem. The dynamic characteristics of the race-car vary strongly with speed. Within an operating range around the straight-running state, a linear representation of a (good) car is expected to be accurate. As manoeuvring severity increases, tyre shear forces saturate in a smooth and progressive manner. Near to saturation, shear forces depend on the frictional coupling between the tyres and the ground and longitudinal and lateral forces are in competition for the available friction. Controls derived assuming linearity are expected to work well for gentle manoeuvring and not so well for limit operation. A racing driver can be expected to know the dynamics of his/her car perfectly. Optimality of controls is vital. Robustness is not so important.

Neglecting practical issues relating to computing time, standard NMPC theory would provide virtual racing driver designs straightforwardly [18]. Such theory involves the para-metrization of the path ahead of the vehicle and of the control history within the preview/control horizon. Then at each computational step, a high-dimension nonlinear optimization problem has to be solved on-line. Convergence to the global optimum is not guaranteed and results are largely hidden from view. From any solution obtained, only the first

step is used for control. The process is slow and extravagant. Compromise between accuracy of solution and speed of computation is essential.

Methods for simplifying NMPC calculations include:

1. shortening the preview and control horizons. Such shortening reduces the dimension of the optimization problem and thereby speeds it up. However, using foreshortened previews may spoil the results, even yielding instability for the controlled system [4, 5]. In the limit, single-point preview and a single control level may be employed but the results are likely to be poor [10];

2. linearizing the plant model to ease the computation of controls [14];

3. using a simplified plant model for control-design purposes [3, 6-9]. The simplified-plant-model approach is especially attractive if an approximation to the plant having particular simplifying characteristics can be found. For example, a kinematic vehicle, with pure-rolling tyres, may allow its states and inputs to be deduced from a knowledge of its outputs and their derivatives, so-called differential flatness [6-9]. Basing the control system design on a very simplified plant appears to be risky. Nevertheless, many examples of successful (virtual) tracking events incorporating such simplifications can be found in the literature. It should be noted, however, that modest tracking capabilities are easy to realize, while racing-driver performance levels are very high and will not be achieved readily.

In the view of the authors, an optimal racing lap is one in which the driver always operates the car in the neighborhood of a trim state. This suggests that a good way to obtain the desired balance between speed of computation and vehicle control capability is to employ off-line-computed optimal linear controls, with adaptation to deal with the progressive and smooth saturating nonlinearity of the car. In this schema, the theoretical driver pulls from memory a control design that is appropriate to current operating conditions, which we imagine is exactly what real drivers do. Each control design is optimal for a trim, which is close in state-vector terms to the current state of the vehicle. However, adaptation of the controls to the operating circumstances is not discussed further in this paper. That topic is covered elsewhere [35, 36]. Here, previous work on small-perturbation dynamics is developed through a car model which incorporates both throttle and steering actuators, with saturating engine and tyre shear force capabilities, and a control objective that includes longitudinal and lateral path tracking quality, according to a time schedule, together with control power minimization. Trim states, about which small perturbations are considered, include both straight-running, involving left/right symmetry, and cornering conditions without symmetry.

Although high-performance is the main aim, we take the opportunity to include driver response delay in the model, by incorporating second order Butterworth low-pass filters within throttle and steering actuators. Performance degradation associated with driver shortcomings is of interest in the engineering of production cars [14, 17, 37] and slowing of driver actions surely represents one such degradation. This inclusion affords a new opportunity to study the influence of driver delays on the optimal control laws and the closed-loop system performance.

In the next section, the car model is described. This is followed by a brief outline of the optimal preview control theory employed. Then we describe the use of open-loop simulation runs to find trim or dynamic equilibrium states for the vehicle, both for straight-running where left/right symmetry exists and for cornering, where the symmetry is broken. Optimal controls for both classes of trim state are discussed and the influences of driver lags highlighted. Simulations of the closed-loop longitudinal and lateral path-tracking system are described and finally conclusions are drawn.

2 Vehicle model

The car model is built using the multibody-modeling software VehicleSim®, formerly called AutoSim [15, 22, 33]; also see http://www.carsim.com. The starting point for any VehicleSim-based model building is an inertial reference frame. The first added body is allowed to move with up to six degrees of freedom with respect to the inertial frame. Children bodies of this, or any other body present, can be added, with a description of the freedoms permitted to this new body, relative to its parent body. In the nominal configuration of the system, the point common to both parent body and child body, names for the mass, and inertia elements etc. need to be defined. The symbolic equations of motion are derived via Kane's equations, which are based on the principle of virtual power [23]. Points can be defined in bodies. These are most often fixed points in the bodies to which they belong but they may be specified as "moving," with their locations specified by coordinates in a defined reference system. Forces with given magnitudes and directions can be applied to points and reacted to choice. Alternatively, a strut following a force law can be defined as acting between two points, in which case, the direction of the force is that of the line joining the points. Moments with magnitudes and directions can be defined as acting between bodies.

New state variables can be added to a model and they can be made integral functions of existing variables. Differentials with respect to time and partial differentials of variables can be defined. Abs, ifthen, max, min, and sign functions can be used, allowing discontinuous actions, like tyres leaving the ground and limit stops being contacted, to be modeled easily. The analyst can define how discontinuous functions are to be differentiated. Alternatively, the model can be made continuous for linearization purposes by restricting its range of operation.

Equations are prepared in the form:

in which S and M are matrices, v is a vector function, q is the generalized displacement vector, u is the generalized speed vector and f is the force vector. Equation (1) defines the geometric relationships between the generalized coordinates and generalized speeds, while (2) defines the equations of motion. These equations, required parameter values and desired outputs can be written by VehicleSim into a simulation code, with the aid of a "C" or "FORTRAN" compiler, or they can be linearized for small perturbations about a general trim state and written into a MATLAB "M"-file. Typically, for linear analysis, the nonlinear simulation program is used to find trim states and the equilibrium values of states and inputs are passed to MATLAB to set up the numerical state-space form of the linear system equations.

The car model consists of the bodies and freedoms shown in Fig. 1. The chassis has all six degrees of freedom. Each wheel is suspended by a transverse swing axle, having a pivot axis location which is quite general, allowing the representation of any desired small-perturbation lateral properties. Geometric parameters are chosen to position the suspension roll centers [2] at ground level in the nominal state. The longitudinal properties are simple. The suspension geometry is illustrated by Fig. 2, while a side-view of the car is shown in

Each front wheel steers around a nominally vertical axis, with a small offset, the mechanical trail, forwards from the wheel center. A simple steering system includes a steering wheel, whose displacement is given by the output of the relevant low-pass filter. The steering wheel displacement combines with the pinion rotation to determine the torque in the

[S(q, t)]q = v(q, u, t) kinematics, [M(q, t)]U = f(q,u,t) dynamics

(1) (2)

Fig. 3.

inertial body

rear i- s: translate (x, y, z); rotate (z, y, x)

Ihc: rotate (x) rhc: rotate (x)

Iwhl: rotate (y)

rwhl: rotate (y)

pinion: rotate (x)

steer angle demand

Ip_butter2

throttle pedal

displacement demand

engine map

same torque to each rear wheel

Imb: rotate (x)

Ihc: rotate (z)

Iwhl: rotate (y)

Ip_butter2

steering wheel: linked to pinion by

rotate (x) torsion rod

rmb: rotate (x)

rhc: rotate (z)

rwhl: rotate (y)

Fig. 1 Bodies and freedoms included in car model. Low-pass filters associated with throttle and steering actuators, to represent driver response delays are also shown. mb means "massless body." hc means "hub carrier" and whl means "wheel." The steering wheel is linked to the pinion by a torsion rod, which in turn, is linked to the front hub carriers by torsion springs through a gear ratio. l means "left" and r means "right"

Fig. 2 Diagrammatic view of car suspension from rear. The instantaneous center of rotation of each wheel is at ground level on the car's center-line

Fig. 3 Diagrammatic view of car from the right side

steering column, with the pinion linking to each front hub carrier through a gear ratio and torsion rod.

The throttle pedal displacement is treated like the steering wheel angle, with the pedal displacement combining with the engine speed to yield an output torque, that is divided equally between the rear wheels. In the linear model, pedal displacement and steer angle demands are the inputs. Front and rear anti-roll bars are included and simple aerodynamic drag, 0.5CdpAV2, and lift forces, 0.5CifpAV2 and 0.5ClrpAV2, act on the chassis. Cd, Cf and Clr are coefficients, p is air density and V is the car speed. Bump-steer is included at each wheel station, to the extent that suspension displacement influences the lateral slip ratio

z 6000

(1) 4000

o 2000

■o -2000

O) -4000

-Fz = 2000 N

....... Fz = 4000 N

-----Fz = 6000 N

---Fz = 8000 N

longitudinal slip ratio

8000 6000 4000

- -4000

-8000 -0

/ 's---------

■ ---/ -Fz = 2000 N

------ y _ _ __ ~ / .......Fz - 4000 N -----Fz = 6000 N ---Fz = 8000 N

lateral slip ratio

Fig. 4 Longitudinal (left) and lateral (right) tyre forces associated with variations in load and longitudinal or lateral slip ratio respectively, for zero camber angle. Tyre parameters used come directly from [32]

for the appropriate tyre, thereby affecting the tyre force system. Parameter values specifying the car and tyres in detail represent a typical contemporary European family saloon. Car parameters are given in Table 1.

Tyre shear forces and moments are represented by a combined-slip model that uses a combination of the well-known "Magic Formula" [16] and normalization [24, 31, 32]. The model deals realistically with completely general running conditions. Pure-slip longitudinal and lateral forces are illustrated in Fig. 4.

The engine torque output, x, is described by throttle-opening and engine-speed functions of "Magic Formula" form:

X = —- sin[arctan(Btdg — Et(ßtdg — arctan(B(dg)))] x sin[Cs arctan(Bsa — E- B- rn — arctan(Bsffi>)))]

in which Bs, Cs, Ds and Es are engine-speed-shaping and Bt and Et are throttle-opening-shaping parameters, dg is the throttle opening ratio and rn is the engine speed in rad/s. Engine torque output is limited to positive values and is shown in Fig. 5 as a function of speed and throttle opening. If the throttle opening becomes negative, proportional braking torques are applied to each road wheel in the ratio 58% front, 42% rear. Left and right wheels are treated equally with respect to braking.

3 Optimal linear preview control theory

In studies of preview steering control already completed, a linear vehicle model is arranged to include the absolute lateral displacement of its reference point as a state and to have steering torque or steering displacement as a primary control input. The model is put into discrete-time form, using a time step of T say. Through each time step, the vehicle travels VT where V is the specified speed. A roadway lateral profile is defined by discrete points VT apart longitudinally in the inertial reference system, so that all the road profile points in front of the vehicle approach it by VT through each time step. In this inertial reference system, illustrated in Fig. 6, the road dynamics are those of a shift register or delay line and the equations describing these dynamics are of the same form as the equations of the vehicle. The two sets of equations are combined to yield a composite system, with its state-vector

Table 1 Symbols and parameter values of the car

Parameter

Symbol

Value, SI units

Chassis

Mass center Trail

Wheelbase Front half-track Rear half-track

{xg,yg,Zg) t I

1355.6

(0.291, 0, -0.576)

0.0192

0.7375

Isxx 0 Isxz "343.6 0 -98.0"

Inertias Isyy 0 2152.1 0

_ sym Iszz _ 2208.5

Hub carrier (each)

Mass mhc 30

Inertias (ihx, Îhy, ihz) (0.77, 0.1, 0.77)

Road wheel (each)

Radius r w 0.3

Spin inertia lwhly 0.653

Aerodynamics

Drag coefficient Cd 0.35

Lift coefficient Cf 0.1

Lift coefficient Clr 0.16

Cross-section A 2.0

Air density p 1.227

Stiffnesses

Steering column kst 1500

Pinion to wheel kp 15000

Front suspension kfsus 19480

Rear suspension krsus 16800

Tyre (each) ktyr 180000

Front sway bar kfsb 11000

Rear sway bar krsb 5000

Damper coefficients

King-pin Cst 10

Pinion cpin 16

Front suspension cfsus 1500

Rear suspension crsus 1500

Tyre (each) Ctyr 800

Miscellaneous

Pinion spin inertia 'pin 0.1

Steer ratio Gr 15.35

Crank/car speed ratio Gc 11.72

Front roll steer ratio f -0.0262

Rear roll steer ratio zr 0.0087

300 400

speed (rad/s)

Fig. 5 Engine torque output as a function of engine speed and throttle opening. Parameter values are Bs = 0.0014, Cs = 1.6, Ds = 100000, Es = -8, Bt = 1.8, Et = -12; see (3)

fixed x-axis

Yr3 Yr4

car yri Yr2 road

fixed y-axis

Fig. 6 Diagrammatic representation of a car tracking a road at constant speed, with the whole system referenced to ground. Such a description implies that the road sample values pass through a serial-in, parallel-out shift register operation at each time step. The dynamics of the shift register are easy to specify mathematically

having a partition for the vehicle and a partition for the road. At this first stage, there is no coupling between the parts.

Suppose the discrete-time linearized vehicle equations are:

xv(k + 1) = Av x v(k) + B„ t (k), (4)

yv(k) = Cv x v(k) (5)

with discrete-time counter k, vehicle state vector x v and control input t , and let the road equation be

nr(k + 1) = Ar nr(k) + Br nrn(k) (6)

with (2n x 1) road state nr and road sample values that enter the system at time kT being the (2 x 1) nrn, 2 being the number of previewable disturbances and n being the number of preview steps included. In the present case, the input is

t(k) = [dg es]T (7)

dg being throttle pedal displacement and 9s being steering wheel angle. nrn here represents both x-displacement and y-displacement demands.

To represent the road shift register process, Ar is (2n x 2n) and has the form:

02 I2 02

02 02 I2

02 02 02

02 02 02

and Br, corresponding to the two previewable disturbances, is (2n x 2) and has the form:

0 0 0 0 0 0 ... 1 0 0 0 0 0 0 0 ... 0 1

Here, 02 is a (2 x 2) zero matrix while I2 is a (2 x 2) identity matrix.

Combining vehicle and road equations together, the full dynamic system is defined by

xv(k + 1) nr(k + 1)

X V (k

t (k) +

which takes the standard discrete-time form:

z(k + 1) = Az(k) + Bu(k) + Enrn(k),

Vrn(k)

y(k) = Cz(k). (12)

If nrn contains samples from two uncorrelated white-noise random sequences, the timeinvariant optimal control which minimizes a quadratic cost function J, given that the pair (A, B) is stabilizable and that the pair (A, C) is detectable [1], is

u* (k) = Kz(k) (13)

where K = -(R + BTPB)-1BTPA, given that the cost function J is

J = lim VizT(k)Qz(k) + uT(k)Ru(k)} (14)

and P satisfies the matrix-difference-Riccati equation:

P = ATPA - ATPB(R + BTPB)-1BTPA + Q. (15)

Here, Q = CTqC and q is a diagonal weighting matrix, diag[q^ q2,...], with terms corresponding to the number of performance aspects contributing to the cost function, and R is a (2 x 2) diagonal weighting on the control inputs, throttle pedal displacement, and steering wheel angle. C is chosen such that the quadratic term zT(k)Qz(k) in the cost function J penalizes the sum of the squares of the differences between the (x, y) coordinates of the car's reference point and the corresponding (x, y) of the road, over the optimization horizon. Since there are only these two aspects of performance in the cost, q is (2 x 2).

Calculation of the optimal controls is nontrivial [11, 12]. In previous work involving only a single input signal, a method described in [13, 19, 29, 30, 34] was employed but it is now preferred to use Hazell's MATLAB Toolbox. The Toolbox requires only the setting up of

shift register; n = 14

car states

Fig. 7 Structure of the two-control, x- and y-input preview tracking system. xdem and ydem are the pre-viewable longitudinal and lateral displacement signals. Ki represents the full car-state feedback, while K2 represents the preview control, in the form of feedback of the shift register states

the standard state-space (A, B, C, D) matrices, the setting of weights on tracking errors and control efforts, and the calling of special functions, for the optimal controls to be revealed. The problem structure and optimal controls are illustrated in Fig. 7. The preview gains K2 inevitably fall to zero as the preview distance increases, so that the number of preview points included can be chosen, by trials, so that effectively the full benefit available is obtained. This is referred to as "full" preview. Only full preview control is of interest in the present context.

4 Optimal controls

Examples of optimal controls are shown in this section. Each set of controls generated requires choices of:

1. the trim state from which small perturbations are considered to occur;

2. the time step to be used in the problem discretization;

3. x- and y-tracking error weights;

4. control power weights relating to throttle displacement demand and steering wheel angle demand;

5. the number of preview points to be used. In this work, the last is always chosen, by trials, to give full preview.

With the following somewhat arbitrary choices, sampling interval = 0.01 s, straight-running at 35 m/s, x-weight and y-weight of 50; throttle displacement weighting 50 and steer angle weighting 1, the main feedback controls for driver filter bandwidths, , of 3.15, 12.6, and 50.4 rad/s are shown in Fig. 8. The left/right symmetry of the straight-running trim state is matched by symmetry in the feedback gains, shown in connection with variables 2 and 3 and with 4 and 5 in the lower part of the figure. The symmetry implies complete decoupling at first order of the longitudinal and lateral problems, so that x-errors lead to zero preview gains in respect of the steering system and y-errors lead to zero preview gains relating to the throttle control. Such preview gains are shown in Fig. 9.

Feedback gains are influenced systematically but not dramatically by the control bandwidth. The gains are usually largest for the slowest-responding "driver." Preview controls change only a little with changes to the driver bandwidth when the driver dynamics are fast

Gas pedal displacement feedback gains

Steer angle feedback gains

!■ _!■ __

W =3.15 I n

1 w =12.6 J n

lw =50.4

123456789

variable number

Fig. 8 Main feedback control gains for a representative straight-running trim state at 35 m/s, with Q = [50 0; 0 50] and R = [50 0; 0 1] and three values for the driver filter cut-off frequency, an. Variables fed back to the throttle demand are: 1 = body pitch angle, 2 = throttle filter "position", 3 = throttle filter "velocity", 4 = vehicle speed. Variables fed back to the steering demand are: 1 = body roll angle, 2 = front right suspension deflection, 3 = front left suspension deflection, 4 = rear right suspension deflection, 5 = rear left suspension deflection, 6 = steer filter "position", 7 = steer filter "velocity", 8 = lateral velocity, 9 = yaw velocity

relative to those of the car. As the driver becomes slower than the car, the gain sequence is "stretched" longitudinally. More preview is utilized to compensate for the system delay, which result can be expected intuitively.

Results belonging to a cornering trim state are now generated. The trim state chosen is for a speed of 17.54 m/s, a lateral acceleration of 7.22 m/s2 and a body roll angle of -6.46°. Tyre loads, lateral forces, normalized slips, longitudinal slip ratios, and lateral slip ratios for the trim state are shown in Table 2. The tyre shear-force model has the potentially useful property that the normalized slip is directly related to the adhesion utilization, that is, the extent to which the tyre to road friction is being used. Peak shear force is obtained for the tyre-normalized-slip parameter kn = 2.325 [32], so that the front right (inside) tyre, with normalized slip 5.644, is operating on the declining part of the shear-force curve. It is peripheral to the present purpose but the trim condition shows the case for anti-Ackermann steering geometry, which would allow the adhesion utilization of the two front tyres to be more nearly equal.

The left/right symmetry has gone, so the longitudinal and lateral problems are cross-coupled and the optimal controls are more complex than before; see Figs. 10 and 11. The control computations involve the same weightings as above, with = 12.6 rad/s. The high

Gas pedal preview gains relating to x errors

Steer angle preview gains relating to y errors

preview point

Fig. 9 Preview gains for straight-running trim at 35 m/s, with Q = [50 0; 0 50] and R = [50 0; 0 1] and three values for the driver filter cut-off frequency, an. Steering gains for x-errors and throttle gains for y-errors are zero by symmetry. These are omitted from the figures in the interests of clarity

Table 2 Tyre loads, tyre side-forces, normalized slips, long-slips and side-slips for cornering trim state at 17.54 m/s speed and 7.22 m/s2 lateral acceleration. ).n is normalized slip, k is longitudinal slip ratio, a is lateral slip ratio

Tyre load Side-force K a

Front right 828 N 731 N 5.644 0 0.2220

Front left 7531 N 6268 N 2.382 0 0.2141

Rear right 1790 N 1240 N 1.340 0.0329 0.0505

Rear left 4226 N 2690 N 0 8440 0.0096 0.0488

gain associated with pitch angle feedback to steer angle is surprising. Throttle displacements in response to lateral position errors are not much smaller than those deriving from longitudinal errors. The extent of the steer angle desired in response to a longitudinal position error is quite large for this particular trim state, involving high lateral acceleration.

The tracking capabilities of the closed-loop system can be demonstrated by calculating frequency responses [27, 29, 30]. We imagine demanding a small-amplitude sinusoidal perturbation on the steady motion in longitudinal or lateral direction and calculate the sustained response of the driver-controlled system to such a demand. The frequency of the perturbation is varied over a range and the calculations repeated. Results are represented in Bode

2 0 -2 ç -4

-8 -10 -12

I -40 o>

-60 -80

Fig. 10 Main feedback control gains for a representative cornering trim state at 17.54 m/s speed and 7.22 m/s2 lateral acceleration, with Q = [50 0; 0 50] and R = [50 0; 0 1]. Variables fed back to the throttle demand are: 1 = body bounce displacement, 2 = body pitch angle, 3 = body roll angle, 4 = throttle filter "position," 5 = forward velocity, 6 = lateral velocity, 7 = bounce velocity, 8 = yaw velocity, 9 = pitch velocity. Variables fed back to the steering demand are: 1 = body bounce displacement, 2 = body pitch angle, 3 = body roll angle, 4 = front right suspension deflection, 5 = front left suspension deflection, 6 = rear right suspension deflection, 7 = rear left suspension deflection, 8 = forward velocity, 9 = lateral velocity, 10 = bounce velocity, 11 = yaw velocity, 12 = pitch velocity

diagram form, showing gain and phase against circular frequency. The input to the closed-loop system is at the furthest extent, from the car of the preview. That is, it is at the preview horizon. The car is required to track what the driver can see at the horizon. It will take some time for the car to arrive at the preview horizon, so that perfect tracking is indicated by a gain of unity and a phase lag corresponding to the transport delay. This phase lag amounts to 180nT rn/n°, where n is the number of preview points, T the discrete time step, and rn is the circular frequency of the perturbation. Results are shown firstly for perturbations from a straight-running trim state with speed of 35 m/s, driver filter bandwidths of 3.15, 12.6 and 50.4 rad/s, Q = [50 0; 0 50] and R = [50 0; 0 1] and 500 preview points, Figs. 12 and 13. Figure 12 relates to the longitudinal response of the car to an x-displacement demand, while Fig. 13 relates to the lateral response to a y-displacement demand.

Longitudinally the tracking is perfect for frequencies below 0.4 rad/s and there are no significant differences between the three systems until the input frequency is 2 rad/s. Then the slowest system attenuates the input more than the others. The system phase lag is the same as the transport lag until the input frequency reaches 2 rad/s. Laterally, the bandwidth is greater, with almost perfect tracking for input frequencies below 1 rad/s. The slowest

Gas pedal displacement feedback gains

123456789

Steer angle feedback gains

1 2 3 4 5 6 7 8 9 10 11 12

variable number

Preview gains relating to x errors

-0.01 -0.02 -0.03

-Gas pedal

---Steer angle

-0.04L

50 100 150 200 250 300 350 400 450 500

0.005 0

-0.005

c -0.01 '<0

-0.015 -0.02 -0.025 -0.03

0 50 100 150 200 250 300 350 400 450 500

preview point

Fig. 11 Preview gains for the cornering trim state at 17.54 m/s and lateral acceleration of 7.22 m/s2, with Q = [50 0; 0 50] and R = [50 0; 0 1]. a>n = 12.6 rad/s. The tyre forces are near to saturation for this trim state

Preview gains relating to y errors

- \ -- " - \ y \ / - \ / \ -Gas pedal ---Steer angle -

circular frequency (rad/s)

Fig. 12 Longitudinal frequency responses for driver-controlled car linearized around a straight-running trim state at 35 m/s, with Q = [50 0; 0 50], R = [50 0; 0 1] and 500 preview points, for three driver bandwidths

Fig. 13 Lateral frequency responses for driver-controlled car linearized around a straight-running trim state at 35 m/s, with Q = [50 0; 0 50], R = [50 0; 0 1] and 500 preview points, for three driver bandwidths

system is not as good as the other two again beyond about 3 rad/s. As in the longitudinal case, attenuation is a greater problem than phase distortion.

Secondly, the influence of the control tightness on the closed-loop system bandwidth is illustrated by Figs. 14 and 15. Here, the conditions are the same as for Figs. 12 and 13 except that the driver-filter bandwidth is fixed at 12.6 rad/s and cases Q = [50 0; 0 50], Q = [500 0; 0 500] or Q = [5000 0; 0 5000] are treated.

If the tracking-error weights are increased beyond Q = [5000 0; 0 5000], little change in performance occurs. Tight control will enable perfect tracking longitudinally for circular frequencies below about 1.5 rad/s and laterally for circular frequencies below about 3 rad/s. For higher frequencies than these, some attenuation will occur, with lesser problems associated with phase distortion.

5 Tracking simulation results

To demonstrate the application of the optimal preview controls, tracking longitudinal and lateral position target sequences by the driver-controlled car are simulated. Each sequence is designed such that the car remains reasonably close to the trim state used in the generation of the controls installed. The chosen trim involves straight-running and is that employed, with = 12.6 rad/s, to yield the corresponding results of Figs. 8 and 9. Such a trim state implies zero steer angle demand, side-slip and yaw rate, zero out-of-plane displacements and a throttle displacement demand sufficient to maintain the speed against aerodynamic

circular frequency (rad/s)

Fig. 14 Longitudinal frequency responses for driver-controlled car linearized around a straight-running trim state at 35 m/s, with filter bandwidth 12.6 rad/s, 500 preview points and R = [50 0; 0 1], for three levels of control tightness

Fig. 15 Lateral frequency responses for driver-controlled car linearized around a straight-running trim state at 35 m/s, with filter bandwidth 12.6 rad/s, 500 preview points and R = [50 0; 0 1], for three levels of control tightness

V • T

current x-axis

M&-Xrl

current y-axis

Fig. 16 Illustration of control calculations for simulations in which the trim state involves straight running. Points marked "x" are the points that the car's reference point would pass through if the trim controls were applied. The points marked "o" are those specified in the path demand. Both sets of points are for time intervals T. Preview errors used for control calculations are shown as (xri, yri) pairs

drag. It also implies the car position and attitude angle at intervals of T, the discrete-time interval, over the preview horizon, were the trim controls to be maintained. In a simulation run, the differences between the car states and the trim states are used for feedback control and the distances between the demanded path points and those points implied by the trim state are used for preview control. Both of these controls are added to the trim values to yield the total.

Tracking a generally curved path is only feasible if the controls are transformed from the inertial reference system in which they were established to the local reference system of the car [25, 26, 28, 30, 34]. The x- and y-path data points describing the intended trajectory in absolute terms are therefore transformed, at each time step in the simulation, into a driver's-view frame, accounting of course for the current vehicle position. Clearly, the transformation has to be done on-line. At each time step, the reference axes for the motion are relocated at the car, which automatically zeros the displacements of the car, xc, yc and ; see Fig. 6. The loss of the corresponding feedback terms from the controls is exactly compensated by the changes which occur in the preview errors due to the repositioning of the axes, when full preview is utilized. The control calculation process is illustrated by a snapshot of the car and road at a general point along the trajectory in Fig. 16.

The first tracking test involves a lane change manoeuvre, shown in the first part of Fig. 17. The car starts at the origin, parallel to the x-axis, at its trim speed of 35 m/s. The x-data points describing the road are equispaced in time, while the y-data points are obtained by smoothing a ramp/step sequence implying two sharp 5° direction changes with a fourth-order low-pass Butterworth filter. The speed demand, originally 35 m/s throughout the simulation, therefore, varies a little near the direction-change stages. The controls installed are those obtained with Q = [500 0; 0 500] and R = [50 0; 0 1] with 500 preview points. Aspects of the simulation results are shown in Figs. 18 and 19.

The tracking errors occurring in the lane change manoeuvre are near to zero in the y-direction and reach to 0.0013 m in the x-direction, with 0.08 rad maximum steering wheel angle being employed, yielding a maximum lateral acceleration less than 1 m/s2. The throttle opening varies a little around the trim value of 0.1 of full range and the car speed varies from 35 to 35.12 m/s. The transient response to the initial direction change is not completely over before the second direction change is required, so the later part of the manoeuvre is not just a mirror-image of the first.

In the second test, the car slows from its initial speed in order to traverse a hair-pin bend; see the second part of Fig. 17. Then, it speeds up again. The car starts from the origin and

Lane change

1000|-■-T-T-T-j-r-

900 •

700 •

¿600 * X •

75 500 ■

O400 '

300 . 200 * 100 J

O'—•-'-'-'-

0 5 10 15 20

Global Y (m)

Fig. 17 Paths used for tracking tests showing points at 2 s intervals along them

Hair-pin

100 200 300 400 Global Y (m)

Fig. 18 Time histories of steering and throttle controller demands and the delayed driver responses to these demands in tracking the lane change. Note that no braking is necessary in this case

Fig. 19 Tracking errors for the lane change, using the same trim state for control design as in Figs. 8 and 9 with rnn = 12.6 rad/s and Q = [500 0; 0 500]

1 °-1 2 0.05

-°-050 10 20 30 40 50 60 70

Time (s)

Fig. 20 x- and y-tracking errors for the hair-pin

initially follows a path parallel to the x-axis at its trim speed of 35 m/s. After 10 s, while still traveling in a straight line, the car decelerates to approximately 22 m/s in 6 s until it reaches the corner entry point. It then continues to decelerate for another 4 s to 15 m/s while following the first quadrant of the hair-pin, which has a constant radius of 140 m. The speed is then held constant until the apex of the corner is reached. After the apex, the car accelerates back to its trim speed of 35 m/s in 25 s, this time tracking a constant radius of 250 m, eventually exiting the corner and traveling in a straight line. In contrast to the lane change, the path does not contain smooth transition curves which would reduce the need for high-bandwidth system performance. Selected results are shown in Figs. 20-24.

Tracking errors in the x-direction vary from -0.04 to 0.16 m, while those in the y-direction range over -0.04 to 0.06 m. The steering control range is -0.2 to 0.7 rad, while the throttle opening goes from 0 to 0.3 and the brakes are applied for a period of about 10 s. The car body rolls in a somewhat oscillatory fashion with maximum roll angle about 3.5°. The body also pitches significantly with about one half of the roll amplitude; see Fig. 22. Tyre loads are shown in Fig. 23 and the shear forces developed by the left-front and right-rear tyres are plotted in Fig. 24. Modest braking forces from the tyres correspond to the braking-control input. The balanced braking system and the free differential gear included in the car's final drive imply that the left-rear tyre longitudinal force is substantially equal to that for the right-rear tyre.

h_I_I_I_I_

0 5 10 15 20

Time (s)

I / i ! I I I I I

—x tracking error ~ ---y tracking error .

V ^ / «. \

--^...........•<'

m 0. o

Steering demand from controller Steering response of driver after delay

f\ - - -Throttle response of driver after delay / \ —Braking response of driver after delay

Time (s)

Fig. 21 Time histories of steering, throttle, and brake controller demands (and the delayed driver responses to these demands) required to track the hair-pin

i i i i i i

i» ** i i i I i' ' i 1 1 —Pitch -Roll

30Time (s)40

Fig. 22 Selected motions for the hair-pin, using the same trim state for control design as in Figs. 8 and 9 with = 12.6 rad/s and Q = [500 0; 0 500]

Z 5000

£2 4000 o

^ 3000 2000 (

—Left-front ---Right-front

^-- 1» ft-

—Left-rear ---Right-rear

0 10 20 30Time(s)40

Fig. 23 Time histories of tyre loads when tracking the hair-pin

2000 1000

1 1 1 1 _ h , ! ! / - ' ' 's* 1 _ Left-front longitudinal ---Left-front lateral

_Right-rear

longitudinal ---Right-rear lateral

0 10 20 30Time(s)40 50 60 70

Fig. 24 Time histories of left front and right rear tyre shear forces when tracking the hair-pin

6 Conclusion

The work described is motivated by a desire to construct a perfect virtual racing driver, initially, for a flat and level circuit. The strategy used involves the adaptive employment of linear optimal preview controls. Prior research has shown how such controls can be found and applied when only one-dimensional tracking is required. Here, the previous work is extended to the parallel two-dimensional x- and y-tracking problem for a representative production car with realistic tyre forces. Optimal controls are shown for each of two trim states, one involving straight-running with the left/right symmetry of the problem reflected in the de-coupling of the controls, the other involving cornering, where there is no symmetry and the controls are cross-coupled. Throttle and steering actuators are given second-order-lag dynamics to represent driver response-speed limitations and the influence of the bandwidth on the optimal controls is illustrated. Two simulations of combined x- and y-tracking by a representative optimal driver and car show typical motions and demonstrate the good operation of the closed-loop system. Manoeuvre severity has been deliberately restricted in the cases covered, in recognition of the limitations of linear controls. More severe manoeuvring, with high quality, are possible with adaptive employment of linear optimal preview controls.

Acknowledgement The authors are pleased to acknowledge financial support from the UK Engineering and Physical Sciences Research Council and WilliamsF1. We are grateful to Andrew Hazell for making his Toolbox available for use and for advice on using it well.

References

1. Anderson, B.D.O., Moore, J.B.: Optimal Control: Linear Quadratic Methods. Prentice-Hall, Englewood Cliffs (1989)

2. Dixon, J.C.: Tires, Suspension and Handling, 2nd edn. SAE, Warendale (1996)

3. Edelmann, J., Plöchl, M., Reinalter, W., Tieber, W.: A passenger car driver model for higher lateral accelerations. Veh. Syst. Dyn. 45(12), 1117-1129 (2007)

4. Findeisen, R., Allgöwer, F.: An introduction to nonlinear model predictive control, In: Scherer, C.W., Schumacher, J.M. (eds.) The Impact of Optimisation in Control. Dutch Institute of Systems and Control, pp. 3.1-3.45 (2001)

5. Findeisen, R., Imsland, L., Allgöwer, F., Foss, B.A.: State and output feedback nonlinear model predictive control: An overview. Eur. J. Control 9(2-3), 179-195 (2003)

6. Frezza, R., Beghi, A.: Simulating a motorcycle rider. In: Kang, W. (ed.) New Trends in Nonlinear Dynamics and Control. Springer, Berlin (2003)

7. Frezza, R., Beghi, A.: A virtual motorcycle driver for closed-loop simulation. IEEE Control Syst. Mag. 26(5), 62-77 (2006)

8. Frezza, R., Minen, D.: A new model based driver program for virtual cars in closed loop simulation. In: The Dynamics of Vehicles on Roads and on Railway Tracks, Milan, Italy (2005)

9. Frezza, R., Beghi, A., Saccon, A.: Model predictive and hierarchical control for path following with motorcycles: Application to the development of the pilot model for virtual prototyping. In: Proceedings of 43rd IEEE Conference on Decision and Control, Atlantis, Paradise Island, Bahamas, pp. 767-772 (2004)

10. Guo, K., Guan, H.: Modelling of driver/vehicle directional control system. Veh. Syst. Dyn. 22(3-4), 141-184 (1993)

11. Hazell, A.: Discrete-time optimal preview control. Ph.D. thesis, Imperial College London (2008)

12. Hazell, A., Limebeer, D.J.N.: A design framework for discrete-time H2 preview control, Trans. ASME, J. Dyn. Syst. Meas. Control (2008, in review)

13. Louam, N., Wilson, D.A., Sharp, R.S.: Optimisation and performance enhancement of limited bandwidth active suspensions for automobiles under preview of the road. Veh. Syst. Dyn. 21(1), 39-63 (1992)

14. MacAdam, C.C.: Understanding and modelling the human driver. Veh. Syst. Dyn. 40(1-3), 101-134 (2003)

15. Mousseau, C.W., Sayers, M.W., Fagan, D.J.: Symbolic quasi-static and dynamic analyses of complex automobile models. In: Sauvage, G. (ed.) Proc. 12th IAVSD Symposium on the Dynamics of Vehicles on Roads and on Tracks, pp. 446-459. Swets and Zeitlinger, Lisse (1992)

16. Pacejka, H.B.: Tyre and Vehicle Dynamics. Butterworth Heinemann, Oxford (2002). ISBN 0-7506-51415

17. Plöchl, M., Edelmann, J.: Driver models in automobile dynamics application. Veh. Syst. Dyn. 45(7-8), 699-741 (2007)

18. Prokop, G.: Modelling human vehicle driving by model predictive on-line optimisation. Veh. Syst. Dyn. 35(1), 19-35 (2001)

19. Prokop, G., Sharp, R.S.: Performance enhancement of limited bandwidth active automotive suspensions by road preview. IEE Proc. Control Theory Appl. 142(2), 140-148 (1995)

20. Qin, S.J., Badgwell, T.A.: A survey of industrial model predictive control technology. Control Eng. Pract. 11(7), 733-764 (2003)

21. Rawlings, J.B.: Tutorial overview of model predictive control. IEEE Control Syst. Mag. 38-52 (2000)

22. Sayers, M.W.: Vehicle models for rts applications. Veh. Syst. Dyn. 32(4-5), 421-438 (1999)

23. Schiehlen, W.O.: Multibody system dynamics: Roots and perspectives. Multibody Syst. Dyn. 1(2), 149-188(1997)

24. Sharp, R.S.: Testing and improving a tyre shear force computation algorithm. Veh. Syst. Dyn. 41(3), 223-247 (2004)

25. Sharp, R.S.: Driver steering control and a new perspective on car handling qualities. J. Mech. Eng. Sci. 219(C8), 1041-1051 (2005)

26. Sharp, R.S.: Optimal linear time-invariant preview steering control for motorcycles. In: Bruni, S., Mastinu, G.R.M. (eds.) The Dynamics of Vehicles on Roads and on Railway Tracks. Supplement to Vehicle System Dynamics, vol. 44, pp. 329-340. Taylor and Francis, London (2006)

27. Sharp, R.S.: Application of optimal preview control to speed tracking of road vehicles. J. Mech. Eng. Sci. 221(12), 1571-1578 (2007)

28. Sharp, R.S.: Motorcycle steering control by road preview. Trans. ASME, J. Dyn. Syst. Meas. Control 129(4), 373-381 (2007)

29. Sharp, R.S.: Optimal preview speed-tracking control for motorcycles. Multibody Syst. Dyn. 18(3), 397411 (2007)

30. Sharp, R.S.: Optimal stabilisation and path-following controls for a bicycle. J. Mech. Eng. Sci. 221(4), 415-428 (2007)

31. Sharp, R.S., Bettella, M.: On the construction of a general numerical tyre shear force model from limited data. Proc. I. Mech. E. Part D, J. Automob. Eng. 217(3), 165-172 (2003)

32. Sharp, R.S., Bettella, M.: Tyre shear force and moment descriptions by normalisation of parameters and the "magic formula". Veh. Syst. Dyn. 39(1), 27-56 (2003)

33. Sharp, R.S., Evangelou, S., Limebeer, D.J.N.: Multibody aspects of motorcycle modelling with special reference to autosim. In: Ambrosio, J.A.C. (ed.) Advances in Computational Multibody Systems, pp. 4568. Springer, Dordrecht (2005)

34. Sharp, R.S., Valtetsiotis, V.: Optimal preview car steering control. In: Lugner, P., Hedrick, K. (eds.) ICTAM Selected Papers from 20th International Congress. Supplement to Vehicle System Dynamics, vol. 35, pp. 101-117. Swets and Zeitlinger, Lisse (2001)

35. Thommyppillai, M., Evangelou, S., Sharp, R.S.: Car driving at the limit by adaptive linear optimal preview control. Veh. Syst. Dyn. (2009). doi:10.1080/00423110802673109

36. Thommyppillai, M., Evangelou, S., Sharp, R.S.: Rear-heavy car control by adaptive linear optimal preview, Veh. Syst. Dyn. (2009, in press)

37. Ungoren, A.Y., Peng, H.: An adaptive lateral preview driver model. Veh. Syst. Dyn. 43(4), 245-259 (2005)