**2. Node dynamic model for control**

controls for throttle/brake actuators of each vehicle [4]. These naturally lead to a hierarchical control structure, including an upper level controller and a lower level controller [5, 6]. The upper one is to retain safe and string stable operation, whereas the lower one is to track the

The upper level control of a platoon of CAVs has been investigated extensively. An earlier work done by Shladover [2] introduced many known control topics, among which the most famous is the concept of string stability. The string stability ensures that range errors decrease as propagating along downstream [7]. Stankovic et al. [8] proposed a decentralized overlap‐ ping control law by using the inclusion principle, which decomposes the original system into multiple ones by an appropriate input/state expansion. Up to now, many other upper level control topics have already been explored, including the influence of spacing policies, information flow topologies, time delay and data loss of wireless communications, etc.

The lower level controller determines the commands for throttle and/or brake actuators. The lower level controller, together with vehicle itself, actually plays the role of node dynamics for upper level control. Many research efforts have been attempted on acceleration control in the past decades, but still few gives emphasis on the request of platoon level automation. Most platoon control relies on one critical assumption that the node dynamics are homogeneous and approximately linear. Then, the node dynamics can be described by simple models, e.g. double-integrator [9, 10] and three-order model [3, 7, 8, 11]. This requires that the behaviour of acceleration control is rather accurate and consistent, which is difficult to be achieved. One is because the salient non-linearities in powertrain dynamics, both traditional [12, 13] and hybridized [14], and any linearization, will lead to errors; the other is that such uncertainties as parametric variations and external disturbances significantly affect the consistence of

One of the major issues of acceleration control is how to deal with non-linearities and uncer‐ tainties. The majority to handle non-linearities are to linearize powertrain dynamics, including exact linearization [15, 16], Taylor linearization [17] and inverse model compensation [12, 18]. Fritz and Schiehlen [15, 16] use the exact linearization technique to normalize node dynamics for synthesis of cruising control. After linearization, a pole placement controller was employed to control the exactly linearized states. The Taylor expansion approach has been used by Hunt et al. [17] to approximate the powertrain dynamics at equilibrium points. The gain-scheduling technique was then used to conquer the discrepancy caused by linearization. The inverse model compensation is widely used in engineering practice, for example [12] and [19]. This method is implemented by neglecting the powertrain dynamics. For the uncertainties, the majority rely on robust control techniques, including sliding model control (SMC) [19], **H**<sup>∞</sup> control [20, 21], adaptive control [22–24], fuzzy control [25, 26], etc. Considering parametric variations, an adaptive SMC was designed by Swaroop et al. [19] by adding an on-line estimator for vehicle parameters, such as mass, aerodynamic drag coefficient and rolling resistance. Higashimata and Adachi [20] and Yamamura and Seto [21] designed a Model Matching Controller (MMC) based controller for headway control. This design used an **H**<sup>∞</sup> controller as feedback and a forward compensator for a faster response. Xu and Ioannou [23] approximated vehicle dynamics to be a first-order transfer function at equilibrium points, and

desired acceleration by determining throttle/brake commands.

control behaviour.

40 Autonomous Vehicle

This chapter proposes a robust acceleration control method for consistent node dynamics in a platoon of CAVs. This design is able to offer more consistent and approximately linear node dynamics for upper level control of platoons even under large uncertainties, including vehicle parametric variation, varying road slop and strong environmental wind. The controlled node in the platoon is a passenger car with a 1.6 L gasoline engine, a 4-speed automatic transmission, two driving and two driven wheels, as well as a hydraulic braking system. **Figure 1** presents the powertrain dynamics. Its inputs are the throttle angle **αthr** and the braking pressure *P***brh**. Its outputs are the longitudinal acceleration *a*, vehicle velocity *v*, as well as other measurable variables in the powertrain. When driving, the engine torque is amplified by the automatic transmission, final gear, and then acts on two frontal driving wheels. When braking, the braking torque acts on four wheels to dissipate the kinetic energy of vehicle body.

**Figure 1.** Vehicle longitudinal dynamics.

## **2.1. Vehicle longitudinal dynamics**

For the sake of controller design, it is further assumed that (1) the dynamics of intake manifold and chamber combustion are neglected, and overall engine dynamics are lumped into a firstorder inertial transfer function; (2) the vehicle runs on dry alphabet roads with high road-tyre friction, and so the slip of tire is neglected; (3) the vehicle body is considered to be rigid and symmetric, without vertical motion, yaw motion and pitching motion; (4) the hydraulic braking system is simplified to a first-order inertial transfer function without time delay. Then, the mathematical model of vehicle longitudinal dynamics is

$$\begin{aligned} T\_{\rm es} &= \mathbf{MAP}(o\_{\rm c}, o\_{\rm thr}), T\_{\rm c} = \frac{1}{\tau\_{\rm c}s + 1} T\_{\rm cs}, J\_c \dot{o}\_{\rm c} = T\_{\rm c} - T\_{\rm p}, \\\\ T\_{\rm p} &= C\_{\rm TC} o\_{\rm c}^2, T\_i = K\_{\rm TC} T\_{\rm p}, T\_d = \eta\_t i\_{\rm g} i\_0 T\_i, o\_l = i\_{\rm g} i\_0 \frac{\nu}{r\_w}, \\\\ M\dot{\mathbf{v}} &= \frac{T\_{\rm d}}{r\_w} - \frac{T\_{\rm b}}{r\_w} - F\_{\rm i} - F\_{\rm i} - F\_{\rm i}, T\_{\rm b} = \frac{K\_{\rm b}}{r\_{\rm b}s + 1} P\_{\rm tat}, F\_{\rm i} = M\mathbf{g} \cdot \sin\{\rho\}, \\\\ F\_{\rm a} &= \text{sign}\left(\mathbf{v} + \mathbf{v}\_{\rm w}\right) C\_{\rm A} \left(\mathbf{v} + \mathbf{v}\_{\rm w}\right)^2, F\_{\rm f} = M\mathbf{g} \cdot f, \end{aligned} \tag{1}$$

where *ω***<sup>e</sup>** is the engine speed, *T***es** is the static engine torque, *τ***<sup>e</sup>** is the time constant of engine dynamics, **Te** is the actual engine torque, **MAP(.,.)** is a non-linear tabular function representing engine torque characteristics, *T***<sup>p</sup>** is the pump torque of torque converter (TC), *J***e** is the inertia of fly wheel, *T***<sup>t</sup>** is the turbine torque of TC, *C***Tc** is the TC capacity coefficient, *K***TC** is the torque ratio of TC, *i***g** is the gear ratio of transmission, *i***o** is the ratio of final gear, *η***T** is the mechanical efficiency of driveline, *r***w** is the rolling radius of wheels, *M* is the vehicle mass, *T***<sup>d</sup>** is the driving force on wheels, *T***<sup>b</sup>** is the braking force on wheels, *v* is the vehicle speed, *F***<sup>i</sup>** is the longitudinal component of vehicle gravity, *F***<sup>a</sup>** is the aerodynamic drag, *F***<sup>f</sup>** is the rolling resistance, *K***b** is the total braking gain of four wheels, *τ***b** is the time constant of braking system, *C***A** is the coefficient of aerodynamic drag, *g* is the gravity coefficient, *f* is the coefficient of rolling resistance, *ϕ* is the road slope and *v***wind** is the speed of environmental wind. The nominal values of vehicle parameters are shown in **Table 1**.


**Table 1.** Nominal parameters of vehicle model.

#### **2.2. Inverse vehicle model**

( )

w a

2

w

&

parameters are shown in **Table 1**.

of fly wheel, *T***<sup>t</sup>**

42 Autonomous Vehicle

( ) ( )

a wind A wind f

sign + +

**Symbol Units Nominal value**

*i*<sup>g</sup> – [2.71, 1.44, 1, 0.74]

*M* Kg 1300 *J*<sup>e</sup> kg·m2 0.21 *η*<sup>T</sup> – 0.89 *τ*<sup>e</sup> Sec 0.3 *i*<sup>o</sup> – 4.43

*r*<sup>w</sup> M 0.28 *K*<sup>b</sup> N·m/MPa 1185 *τ*<sup>b</sup> Sec 0.15 *C*<sup>A</sup> kg/m 0.2835 *f* – 0.02 *g* m/s2 9.81

**Table 1.** Nominal parameters of vehicle model.

w w b

es e thr e es e e e p e

<sup>=</sup> <sup>=</sup> = - <sup>+</sup>

t

**MAP , , , ,**

 hw

**,, , ,**

= - -- - = = × <sup>+</sup>

*T T <sup>K</sup> Mv F F F T P F Mg r r <sup>s</sup>*

*<sup>T</sup> T TJ T T <sup>s</sup>*

1 1

i a fb brk i

t

where *ω***<sup>e</sup>** is the engine speed, *T***es** is the static engine torque, *τ***<sup>e</sup>** is the time constant of engine dynamics, **Te** is the actual engine torque, **MAP(.,.)** is a non-linear tabular function representing engine torque characteristics, *T***<sup>p</sup>** is the pump torque of torque converter (TC), *J***e** is the inertia

ratio of TC, *i***g** is the gear ratio of transmission, *i***o** is the ratio of final gear, *η***T** is the mechanical efficiency of driveline, *r***w** is the rolling radius of wheels, *M* is the vehicle mass, *T***<sup>d</sup>** is the driving force on wheels, *T***<sup>b</sup>** is the braking force on wheels, *v* is the vehicle speed, *F***<sup>i</sup>** is the longitudinal component of vehicle gravity, *F***<sup>a</sup>** is the aerodynamic drag, *F***<sup>f</sup>** is the rolling resistance, *K***b** is the total braking gain of four wheels, *τ***b** is the time constant of braking system, *C***A** is the coefficient of aerodynamic drag, *g* is the gravity coefficient, *f* is the coefficient of rolling resistance, *ϕ* is the road slope and *v***wind** is the speed of environmental wind. The nominal values of vehicle

1

**, ,**

w

&

2

p TC e t TC p d T g 0 t t g 0

=== =

*<sup>v</sup> T C T K T T iiT ii <sup>r</sup>*

d b b

*F v v C v v F Mg f*

= = ×

( )

(1)

j

sin

w

**,, ,**

is the turbine torque of TC, *C***Tc** is the TC capacity coefficient, *K***TC** is the torque

One major challenge of acceleration control is the salient non-linearities, including engine static non-linearity, torque converter coupling, discontinuous gear ratio, quadratic aerodynamic drag and the throttle/brake switching. These non-linearities can be compensated by an inverse vehicle model. The inverse models of engine and brake are described by Eqs. (2) and (3), respectively [22, 31]. The design of the inverse model assumes that (i) engine dynamics, torque converter coupling, etc. is neglected; (ii) vehicle runs on dry and flat road with no mass transfer; (iii) the inverse model uses nominal parameters in **Table 1**.

$$T\_{\rm edes} = \frac{r\_w}{i\_{\rm g} i\_{\rm f} \eta\_{\rm r}} \left( M a\_{\rm des} + C\_{\rm A} \mathbf{v}^2 + M \mathbf{g} f \right), \alpha\_{\rm thads} = \text{MAP}^{-1} \left( a\_{\rm c}, T\_{\rm edes} \right), \tag{2}$$

$$F\_{\text{bdss}} = Ma\_{\text{des}} + C\_{\text{A}} \text{v}^2 + M \text{gf}, \\ P\_{\text{bdss}} = \frac{1}{K\_{\text{bdss}}} F\_{\text{bdss}}, \tag{3}$$

where *a***des** is the input for the inverse model, which is the command of acceleration control, *T***edes**, *α***thrdes**, *F***bdes** and *P***brkdes** are corresponding intermittent variables or actuator commands. Note that throttle and braking controls cannot be applied simultaneously. A switching logic with a hysteresis layer is required to determine which one is used. The switching line for separation is not simply to be zero, i.e. *a***des = 0**, because the engine braking and the aerodynamic drag are firstly used, and followed by hydraulic braking if necessary. Therefore, the switching line is actually equal to the deceleration when coasting, shown in **Figure 2**. The use of a hysteresis layer is to avoid frequent switching between throttle and brake controls.

**Figure 2.** Switching between throttle and brake controls.
