ControlEng. Practice, Vol. 4, No. 8, pp. 1045-1051, 1996 Copyright © 1996 Elsevier Science Ltd Printed in Great Britain. All rights reserved 0967-0661/96 $15.00 + 0.00
Pergamon
PII:S0967-0661 (96)00104-9
LOCAL CONTROLLER NETWORK FOR AUTONOMOUS VEHICLE STEERING K.J. Hunt, R. Haas and J.C. Kalkkuhl Daimler-Benz Research and Technology, Alt-Moabit 96A, D-10559 Berlin, Germany (hunt@dbresearch-berlin de)
(Received January 1996; in final form June 1996)
A b s t r a c t . In this work a smoothly interpolating controller for autonomous vehicle steering is proposed. The paper concentrates on dealing with the parameter uncertainty which is introduced by variable speed. A further primary goal is the development of a non-linear controller in which the speed of response is dependent on the distance from the lane centre. A smoothly switching (interpolating) controller is employed where switching depends on the measured speed, and also on the deviation from course setpoint. In this way parameter variations caused by varying speed can be taken into account, and the trade-off between comfort and safety is also explicitly addressed; a higher gain is associated with larger tracking errors to ensure fast recovery from dangerous deviations (safety), while low gain is used when the tracking error is 'small' (comfort). K e y w o r d s . Automotive control, non-linear control, non-linear models, interpolation, autonomous vehicles
ture only one uncertain parameter remains (mass) and a robust control design is performed to ensure a desired degree of stability and performance in the face of assumed mass variations. An alternative control approach was taken by Mecklenburg el al. (1992) who designed a neural-network-based controller by optimising a non-linear cost function.
1. INTRODUCTION In this work a smoothly interpolating controller for autonomous vehicle steering is proposed. The objective is to have the vehicle follow a desired path by appropriately altering the steering angle. Additional constraints may also be applied to other states in the system.
This work concentrates on dealing with the parameter uncertainty introduced by variable speed, and considers mass to be constant. A smoothly switching (interpolating) controller is employed, where switching depends on the measured speed, and also on the deviation from the course setpoint. The controller structure employed, the local controller network (LCN), is reminiscent of gain scheduling (Rugh, 1991) but is more general in a number of respects, including the following ones:
The dynamics of lateral vehicle motion in response to applied steering inputs are quite well understood. A detailed description of this is given in (Mitschke, 1990), and simplified models suitable for robust controller synthesis are described by (Ackermann, 1993). The large-signal non-linear dynamic model is quite complex and must be simplified for the purposes of controller design. As shown by Ackermann, a small-signal deviation model still presents something of a challenge as it is a linear system with time-varying parameters (see Section 2). The parameters of the linear model depend on a number of physical constants, and also on the vehicle mass and speed. Ackermann proposes a control structure having two parts: a decoupling compensator, and a variable gain part in which the control gains depend continuously on the measured speed. With this struc-
(1) The control performance does not need to be designed to be invariant to the operating point. Different control objectives can be defined for the operating points. (2) The local controllers designed for each operating point can be heterogeneous, i.e., they need not have the same structure. 1045
1046
K.J. Hunt et al.
.......
y ¢ fl 6 v m a k
o
Fig. 1. Control of lateral vehicle position The first of these points is exploited here, in that a higher gain is associated with larger tracking errors to ensure fast recovery from dangerous deviations (safety), while low gain is used when the tracking error is 'small' (comfort).
offset from the lane center yaw angle. side slip angle steer angle velocity vehicle mass wheel base lateral friction coefficient.
described In contrast to the models in (Ackermann, 1.993) it is assumed that the yaw acceleration ~b can be ignored. The system output is the offset y. The control input is the steering angle 6. The steering angle is normally established by an integrating actuator. The control signal for the system u is therefore related to the steering angle by = u.
(3)
Although it is assumed in this paper that mass is constant, the effect of possible variations in vehicle mass can be taken care of either by assuring that the local controller designs are sufficiently robust against this uncertainty, or by introducing the mass itself as a further scheduling variable (in this case a measure or estimate of mass would be required).
Combining the two preceeding equations the transfer-function between the input u (physically, rate of change of steering angle 5) and output y (physically, offset y) is obtained as
Further details on the general properties of the local controller network can be found in the references (Zbikowski et al., 1994; Hunt and Johansen, 1996). The local model network structure was applied to the problem of modelling longitudinal vehicle dynamics in (Hunt et al., 1996a). The relationship between the controller structure presented here and fuzzy control is detailed in (Hunt et al., 1996b; Hunt et al., 1995).
It is important to note that the coefficients of the polynomials in this transfer-function depend on the vehicle speed v.
v(*) k (, + T ) u(s---) = -m " (s + ~ ]s s"
(4)
A discrete-time version of (4) has the form y(t) = q - ~ B ( q - ~ l ' v ( t ) ) utt~ A(q_t;v(t)) , ,,
(5)
where A and B are polynomials in the delay operator q - l , whose coefficients depend on the speed U.
2. LATERAL VEHICLE DYNAMICS
3. SWITCHING CONTROLLER
This section gives a very brief outline of the lateral vehicle dynamics. It is based upon (Ackermann, 1993), where a simplified version of the comprehensive model of Mitschke (1990) is presented. The main variables used in the model are depicted in Fig. 1. A linearised state-space model for the lateral vehicle dynamics is given by
9 = v(¢ + #)
(11
a
8=---
771 l)
where
a
6
(2)
STRUCTURE: LCN 3.1 Control performance specification There is a variety of possible requirements for the lateral control performance (Ackermann, 1993; Mecklenburg et al., 1992). In this work the primary requirement is to keep the vehicle 'close' to the lane centre, i.e., the offset should be small. This requirement is, however, qualified by the following comfort/safety trade-off: (1) Large offsets should be rejected very quickly, at the possible expense of passenger comfort (large lateral acceleration should be tolerated). (2) When the offset is small, the steering activity should be low to ensure comfort (small
Controller for Autonomous Vehicle Steering offsets are tolerable in this case, while lateral acceleration is low).
for all v. With this constraint the following is obviously true:
This performance specification clearly requires a non-linear control strategy. It is shown below how the smooth switching strategy proposed directly addresses these requirements.
3.2 Local model network: L M N This section describes the time-varying lateral vehicle dynamics as a smoothly interpolating network of time-invariant linear models. Such a structure is known as a local model network, and further general details can be found in (J.ohansen and Foss, 1992; Johansen and Foss, 1993; Zbikowski et al., 1994; Hunt et al., 1996a). If a number, n,, of fixed-speed operating points v(t) = vi (i . . . . . n~) is defined, then the transfer-flmction (5) becomes time-invariant with a family of constant polynomials Ai, Bi associated with each operating point vi. For small-signal deviations at each vi
1047
n~
y(t) = E p ~ ( v ( t ) ) y ( t ).
(12)
i----1
Since pV is near 1 when v is close to vi, y in the right-hand-side of (12) can be substituted with some Yi which is a good local approximation to y near the i-th operating point. The approximate model then becomes Yt v
y(t) = E P f ( v ( t ) ) y i ( t
).
(13)
i=1
A suitable Yi is given by (8), i.e.,
y (t) = er
(14)
The local model network (LMN) for the system can now be written nv
y(t) = ¢T E P v ( v ( t ) ) O i .
(15)
i=1
y(t)-
q- Bi
(6)
Ai(q_l )
The polynomials Ai and Bi have the form
Ai(q -1) = 1 + ailq -1 + ... + ainuq -nu, Bi(q -1) = bio + bilq -1 + . . . + bin~q -n",
(7)
In this form it is clear to see that the LMN smoothly interpolates the local LTI models, as defined by the parameters 0i, using the speeddependent validity functions p~(v(t)). See (Hunt et al., 1996a) for an application of the LMN structure to the modelling of longitudinal vehicle dynamics.
and the system model can now be written in regression format as
v(t)
=
ero
(8)
3.3 Local controller network
(9)
Adaptation to speed only. First, adaptation of the controller to variations in speed only is considered. The conflicting requirements of the offset regulation are dealt with later.
where ¢ ( t - 1) = [-y(t - 1 ) , . . . - y(t - nu),. ..
- d),...u(t
- d-,<)]r,
Oi = [ a i l , . . . ainu, bio,.., bin,] T.
(10)
The aim now is to establish a more widely valid model by smoothly joining together ('interpolating') the LTI operating-point models. To this end a validity function p~' (v(t)) which determines the validity of the i-th local model, given the current operating condition v(t), is associated with each operating point vi. The nv validity functions are defined such that at the operating point vi, pV(v(t)) is equal to 1, while p~ tends in some smooth fashion to zero as v moves away from vi. Furthermore, the p~ are constrained to satisfy
As described in the previous section there are nv LTI models corresponding to each speed operating point v(t) = vi. In a similar way to gain scheduling, an LTI compensator can be designed for each model using some synthesis method. A local control signal for the i-th operating point is given by
= ci(¢°).
(16)
In this equation, Ci is some control function and ¢~ is the controller information vector. The information available to the controller will typically include the measured output and some reference (command) signal which is denoted as r(t). A local LTI compensator can then in general be described aS
Ep{(v i=1
)= 1
(11)
,,i(t) = G ( ¢ c) = ¢cr0 ,
(17)
1048
K.J. Hunt et al.
where 0~ contains the local controller parameters. A general two-degrees-of-freedom controller might have the form (see Section 3.4) Co(t) = [ - y ( t ) . . . ...-
y(t - n g ) , - u ( t - 1 ) . . .
for all y.
q
n h ) , r ( t ) . . . r ( t - - n~)]T,(18)
u(t-
0~ = [gi0... ging, h i 1 . . , hi,~,
Sio... sin,] T.(19) i
In the local model network the functions p~ determine the validity of the local models as speed varies. Since the local controllers are directly associated with the local models it is logical to measure the validity of each local controller with the same validity functions. The local controller outputs can then be interpolated in the same way as the local models. The local controller network (LCN) follows, in analogy with (13) or (15), as nn
=
(t).
(20)
i=1
With the LTI controllers of (17) the LCN becomes
p7
lane olfsel y
Fig. 2. Partition of speed and lateral offset The final step is to formulate 2-dimensional validity functions which combine the univariate validities p~ and pC. A natural way to do this, and one which maintains the partition of unity property ((11),(22)) is to form the tensor product of the univariate validity functions. The i j - t h 2-D validity function is defined as
The control performance requirements outlined in Section 3.1 dictate that the controller should also be nonlinear with respect to the magnitude of the offset from the road centre. The LCN structure is now expanded to deal with this additional requirement. Adaptation to both speed and offset.
The offset is given by the system output y(t). For a given speed v(t) = vi, a family of controllers are designed whose speeds of response (gains) depend on the offset magnitude ly(t)l. Specifically, with each speed operating point v(t) = vi is associated a number, n~, of offset operating points ly(t)l -- y~, j = 1 . . . n ~ . There is now a twodimensional operating point vector, denoted @(t), which is @(t) = Iv(t), [y(t)l] T, and a matrix of local controllers over this operating space has been defined. The total number of local LTI controllers is denoted by no, and is given by n¢ = n,n~. For each speed vi the ne offset-dependent controllers are assigned a validity which depends on the offset magnitude, and these are denoted by p$(ly(t)l), j = 1 . . . n ~ . The validity functions are defined in a similar way to those for the speed dimension; they are equal to 1 at the operating points yj, and decrease smoothly to zero otherwise. Additionally, it is required that
~-'~ p.~(lyl)= 1
(23)
(21)
i----1
j=l
0
p,j(v(t), ly(t)l) = p~(v(t))p~(ly(t)l),
7%v
u(t) =
0
~pee~ v
(22)
with i and j running over i = 1 . . . nv, j = 1 . . . he. This matrix of validity functions can be arbitrarily lined up over a linear index k, whereby the association of validity functions with the matrix of operating points must be maintained. This will define the final validity functions pk(v(t), ly(t)l), where k = 1 . . . n o (recall that nc = n~nc). A typical partition of the operating space is shown in Fig. 2 where the validity functions for a partition with six local controllers are plotted. With each operating point ~k is associated a local LTI controller Ck, defined by uk(t) = ck(¢
= ¢cT01,
(24)
and k = 1 ... no. The final local controller network then follows as ~c
u(t) =
(25) k=l
With the LTI controllers of (24) the LCN becomes nc
ly(t)l)Ol.
u(t) =
(26)
k=l
3.4 Local controller design A single LTI controller for the system (5) may be defined as u(t) -
1
H(q_l) (S(q-1)r(t) - G(q-1)y(t)).(27)
Controller for AutonomousVehicle Steering This is a completely general two-degrees-oh freedom structure. The polynomials G, H and S have the form G(q -1) = go + glq -1 + . . . + gn~q - ~ , (28) H ( q -~) = l + h~q - l + . . . + hn~q -nh.
(29)
S(q -1) --- so + slq - l + . . . + sn,q - n ' ,
(30)
and these are to be determined in the control design. Note that in this formulation the notional design model (A, B) may be the actual plant model augmented by frequency-dependent loop-shaping terms (such as integral action). Equation (27) can be rearranged as u(t) = - H ' ( q - 1 ) u ( t )
- G(q-1)y(t) +...
(31)
... + S(q-1)r(t),
where H ' ( q -1) = H(q -1) - 1. For the local controller network (26) n~ local LTI controllers are required. Using the previous expression, the n~ Local control signals can be expressed as ,,(t)
=
- G,(q-')y(t) .
.
.
+...
+
(32)
with k = 1...n~. This can be written exactly in the regression form previously used in (24), i.e., uk(t) = c k ( ¢
1049
the Sk are chosen from steady-state requirements using =
B~(1) '
(34)
3.5 Stability considerations The smooth switching involved in the non-linear LCN strategy raises complex issues of closedloop stability. These questions are investigated in depth in (Hunt and Johansen, 1996) and (Johansen, 1996), and only the main results are summarised here. These references show that the LCN strategy achieves approximate feedback linearisation. Moreover, the approximation error is shown to scale with the granularity of the scheduling space decomposition. The granularity is quantified by the maximum distance from any state to the nearest operating point. The main result is that closed-loop stability is achieved provided that the number of operating points is sufficiently large (i.e. provided the decomposition has sufficient granularity), and the scheduling variables are chosen such that the non-linearities are captured. For the class of systems having no zerodynamics, it is further shown that there is no restriction on the rate of change of the scheduling variables since the full structure of the local dynamics can be specified.
= ¢cTo
4. SIMULATION RESULTS
where ¢c and t~ are given by (18) and (19). Any LTI control design method having the above structure can be employed. The final choice will depend on the specific problem at hand. For the experiments reported in Section 4, a standard LQoptimal design approach was used for each local controller (Hunt, 1989). In general, though, any design method for the local model (Ak, Bk) of equation (6) will lead to a notional local control loop having the characteristic polynomial A~l(q -1) given by A k H k + q - d B k G k = ACkI.
(33)
The appropriate A~l could be set by optimal methods as in the experiments below, or could be set directly to achieve a given set of time-domain performance criteria. It is important to note that by defining local control specifications through the A~l, the overall control performance will not necessarily be invariant to changes in the scheduling vector ~. This fact, among others, distinguishes the LCN approach from the less flexible gainscheduling method. Having chosen A~l the design equations (33) are solved n~ times for the controller polynomials (Gk, Hk), k = 1 . . . no. Finally,
This section presents some simulation results which demonstrate the LCN design procedure. For the local controllers standard LQ-optimal methods were employed. First, the difficulty of attempting to control the system with a fixed linear controller is illustrated. A linear controller was designed for an operating speed of 10m/s. The regulator works well in a small neighbourhood around 10m/s. However, the performance quickly deteriorates for higher or lower speeds. This effect is shown in Fig. 3 where the response to an initial offset of lm is simulated. The car operates at a speed of 20m/s. Although reasonable offset correction was still achieved, the control input was unacceptably oscillatory. Note that for speeds higher than 24m/s the controlled system becomes unstable. The non-linear LCN controller which was designed for this problem corresponds to the partition shown in Fig. 2. To illustrate the technique, three arbitrary speed operating points were chosen (v = 10,20 and 30). For each speed, two controllers were designed: one for offsets above 0.5m (validity function centre 0.75m) and one
K.J. Hunt et al.
1050
| ... 1
,
,
I
,
,
,
,
....
L~ o.s ~°, ".... %
--0 5
0
t (sl
i ~;'~.' ~=: .... I
1
2
3
4
t 0.1
,
,
5
6
7
Is]
,
l,_oo=H~ 0
1
2 t
Id
Fig. 3. Fixed linear controller designed for v = 10m/s, actual car speed is 20m/s 1" I
.
.
.
0
.
+- . . . . .
--O5
t
0.05
I
,
,
,
= 1
= 2
= 3
l+l
-0.! -0.151 0
Fig. 5. Gain adaptation for different tracking errors. Solid line - fixed fast controller, dotted line - fixed slow controller, dashed line- LCN controller in Fig. 5. It is clear that the LCN controller is identical to the fast controller until the system enters the low offset region. At that point the LCN response switches smoothly to the slower controller and this results in less active control action with more overshoot. According to the specifications, the overshoot is tolerable since it is assumed that offsets less that 0.5m are 'safe'. For tighter safety requirements the transition point between fast and slow controllers (which is 0.5m in the example) could be reduced.
t
Fig. 4. Disturbance rejection performance, LCN controller, v - 10m/s (solid line), v = 20m/s (dashed line), v = 30m/s (dotted line) for offsets less than 0.5m (validity function centre 0.25m). There are therefore a total of six local controllers. For the high-offset regions the LQ controller weights were set to give a much faster response than in the low-offset region. For the different speed settings the weights were chosen to give similar closed-loop properties at each speed. The controller's response for this LCN system was consistent over all speeds. This is illustrated in Fig. 4, where the controller is simulated for varying speeds of v = 10m/s, v = 20m/s and v = 30m/s. The gains are interpolated to achieve robust performance over the full range of operating speeds, based on the validity functions depicted in Fig. 2. As expected, a higher control angle is required at lower speeds. In order to illustrate the effect of interpolation with respect to offset, three controllers were simulated for a speed of 10m/s: the LCN controller with interpolation, a fixed controller corresponding to the high-offset region (i.e. a fast controller with high gain), and a fixed controller corresponding to the low-offset region (i.e. a slow controller with lower gain). The results are depicted
5. CONCLUSIONS This paper presented a smoothly switching controller for autonomous vehicle steering (lateral motion control). The switching procedure is based on both vehicle speed and lateral offset. The important aspect of this work is the use of the scheduling procedure to fulfil a non-linear design requirement for a non-linear plant. For safety reasons, high offsets (large tracking errors) are left quickly by employing a high-gain controller, whereas low gains are used when offsets are small. The design can be readily applied to a variety of other plants where steering comfort and safety requirements represent conflicting design aspects. Future work on this problem will be concerned with experimental evaluation of the proposed control procedure.
6. REFERENCES Ackermann, J. (1993). Robuste Regelung. Springer-Verlag. Berlin. Hunt, K. J. (1989). Stochastic Optimal Control Theory with Application in Selftuning Control. Vol. 117 of Lecture Notes in Control and Information Sciences. SpringerVerlag. Berlin.
Controller for AutonomousVehicle Steering Hunt, K. J., R. Haas and M. Brown (1995). On the functional equivalence of fuzzy inference systems and spline-based networks. International Journal of Neural Systems 6(2), 171-184. Hunt, K. J. and T. A. Johansen (1996). Adaptive local controller networks. Int. J. Control. Submitted for publication. Hunt, K. J., J. C. Kalkkuhl, H. Fritz and T. A. Johansen (1996a). Constructive empirical modelling of longitudinal vehicle dynamics using local model networks. Control Engineering Practice 4(2), 167-178. Hunt, K. J., R. Haas and R. Murray-Smith (1996b). Extending the functional equivalence of radial basis function networks and fuzzy inference systems. Trans. IEEE on Neural Networks 7(2). Johansen, T. A. (1996). Approximate feedback linearisation using gain scheduling. Submitted for publication. Johansen, T. A. and B. A. Foss (1992). A
1051
NARMAX model representation for adaptive control .based on local models. Modelling, Identification and Control 13(1), 25-39. Johanse n, T. A. and B. A. Foss (1993). Constructing NARMAX models using ARMAX models. Int. J. Control58(5), 11251153. Mecklenburg, K., T. Hrycej, U. Franke and H. Fritz (1992). Neural control of autonomous vehicles. In: Proc. IEEE Vehicular Technology Conference, Denver, USA. Mitschke, M. (1990). Dynamik der Kraftfahrzeuge: Band C, Fahrverhalten. Springer-Verlag. Berlin. Rugh, W. J. (1991). Analytical framework for gain scheduling. IEEE Control Systems Magazine 11, 79-84. Zbikowski, R., K. J. Hunt, A. Dzielifiski, R. Murray-Smith and P. J. Gawthrop (1994). A review of advances in neural adaptive control systems. Int. J. Neural Systems. Submitted for publication.