**3. MMS-based acceleration control**

The Multi Model Switching (MMS) control is an efficient way to control plants with large model uncertainties and linearization errors, especially sudden changes in plant dynamics [27–30]. The overall range of plant dynamics is covered by a set of models instead of a single one, and then a scheduling logic switches the most appropriate controller into the control loop. The speed of adaptation and transient performance can be significantly improved by the instan‐ taneous switching among candidate controllers [29, 30]. Another benefit of MMS control is its potential to enclose the input-output behaviours to a required small range. **Figure 3** shows the MMS control structure for vehicle acceleration tracking, where *a***des** and *a* are the desired and actual longitudinal acceleration respectively, *αthrdes* and *Pbrkdes* are throttle angle and braking pressure respectively, which are the control inputs of a vehicle. It consists of the vehicle itself (**V**), the inverse model (**I**), a supervisor (**S**) and a controller set (**C**). The inverse model **I** is used to compensate for the non-linearities of powertrain; **I** and **V** together constructs the plant for MMS control. The combination of **I + V** tends to have large uncertainties, but is divided into small ones under the MMS structure. Such a configuration is able to maintain a more accurate and consistent input–output behaviour even under a large model mismatch.

**Figure 3.** MMS control of vehicle acceleration.

#### **3.1. Model set to separate large uncertainty**

For the MMS control, **I** and **V** are combined together to form a new plant, whose input is desired acceleration and output is actual acceleration. Its major uncertainties arise from the change of operating speed, i.e. *v* ∈ℝ<sup>1</sup> , the parameter variation, i.e. *<sup>θ</sup>* <sup>=</sup> *<sup>M</sup>* , *<sup>η</sup><sup>T</sup>* , *<sup>τ</sup>e*, *Kb* ∈ℝ<sup>4</sup> . and the external disturbance, i.e. *<sup>d</sup>* <sup>=</sup> *<sup>φ</sup>*, *<sup>v</sup>*wind ∈ℝ<sup>2</sup> . Their uncertain range is *v* ∈ *v*min, *v*max , *θ* ∈ *θ*min, *θ*max and *d* ∈ *d*min, *d*max . The main idea is to use multiple linear models, i.e. *Pi* (*s*), *i* =1, ⋯, *N* , to separate such large uncertainties into small ones, and accordingly design multiple feasible **H**∞ controllers, i.e. *Ci* (*s*), *i* =1, ⋯, *N* , for each model with smaller uncertainty. The range of vehicle speed, *v* ∈ℝ, is equally divided into five points, i.e. (*v*min, 3*v*min + *v*max <sup>4</sup> , 2*v*min + 2*v*max <sup>4</sup> , *v*min + 3*v*max <sup>4</sup> , *<sup>v</sup>*max), and the range of *<sup>θ</sup>* ∈ℝ<sup>4</sup> and *d* ∈ℝ<sup>2</sup> are each separat‐ ed into three points, i.e. (*θ*min, *θ*min + *θ*max <sup>2</sup> , *θ*max), and (*d*min, *d*min + *d*max <sup>2</sup> , *d*max), respectively. Their combination is set as a candidate for model identification. Totally, there are 5×3(4+2) =3465 candidate models. The 3465 models can be straightforwardly regarded as a multiple model set. Its shortcoming is that some of these models are quite closed to each other, which naturally leads to many redundant controllers (a waste of computing and storage resources). To reduce the model number, some close models are grouped and covered by an uncertain model. Hence, these 3465 models are clustered into four groups, which are covered with four uncertain models *Pi* (*s*), *i* =1, ⋯, *N* , shown in **Figure 4**.

**3. MMS-based acceleration control**

44 Autonomous Vehicle

**Figure 3.** MMS control of vehicle acceleration.

change of operating speed, i.e. *v* ∈ℝ<sup>1</sup>

multiple feasible **H**∞ controllers, i.e. *Ci*

*Pi*

**3.1. Model set to separate large uncertainty**

the external disturbance, i.e. *<sup>d</sup>* <sup>=</sup> *<sup>φ</sup>*, *<sup>v</sup>*wind ∈ℝ<sup>2</sup>

The Multi Model Switching (MMS) control is an efficient way to control plants with large model uncertainties and linearization errors, especially sudden changes in plant dynamics [27–30]. The overall range of plant dynamics is covered by a set of models instead of a single one, and then a scheduling logic switches the most appropriate controller into the control loop. The speed of adaptation and transient performance can be significantly improved by the instan‐ taneous switching among candidate controllers [29, 30]. Another benefit of MMS control is its potential to enclose the input-output behaviours to a required small range. **Figure 3** shows the MMS control structure for vehicle acceleration tracking, where *a***des** and *a* are the desired and actual longitudinal acceleration respectively, *αthrdes* and *Pbrkdes* are throttle angle and braking pressure respectively, which are the control inputs of a vehicle. It consists of the vehicle itself (**V**), the inverse model (**I**), a supervisor (**S**) and a controller set (**C**). The inverse model **I** is used to compensate for the non-linearities of powertrain; **I** and **V** together constructs the plant for MMS control. The combination of **I + V** tends to have large uncertainties, but is divided into small ones under the MMS structure. Such a configuration is able to maintain a more accurate

and consistent input–output behaviour even under a large model mismatch.

For the MMS control, **I** and **V** are combined together to form a new plant, whose input is desired acceleration and output is actual acceleration. Its major uncertainties arise from the

*θ* ∈ *θ*min, *θ*max and *d* ∈ *d*min, *d*max . The main idea is to use multiple linear models, i.e.

(*s*), *i* =1, ⋯, *N* , to separate such large uncertainties into small ones, and accordingly design

, the parameter variation, i.e. *<sup>θ</sup>* <sup>=</sup> *<sup>M</sup>* , *<sup>η</sup><sup>T</sup>* , *<sup>τ</sup>e*, *Kb* ∈ℝ<sup>4</sup>

(*s*), *i* =1, ⋯, *N* , for each model with smaller uncertainty.

. Their uncertain range is *v* ∈ *v*min, *v*max ,

. and

**Figure 4.** Frequency responses of four linear models. (a) Model *P*1(*s*), (b) Model *P*2(*s*), (c) Model *P*3(*s*) and (d) Model *P*4(*s*).

The model set **P**={*Pi* (*s*), *i* =1, ⋯, *N* } is defined to have identical structure with a multiplicative uncertainty:

$$P\_i\left(\mathbf{s}\right) = G\_i\left(\mathbf{s}\right) \left[1 + \Delta\_i W\left(\mathbf{s}\right)\right],\\G\_i\left(\mathbf{s}\right) = k\_{\text{Gi}}\left(\mathbf{s} + p\_{\text{G}}\right)^{-1},\\i = 1 \cdots N,\tag{4}$$

where *Gi* (*s*) is the nominal models listed in **Table 2**, *W*(*s*) is the weight function for uncertainty, Δ*i* is the model uncertainty, satisfying:

$$\left\|\Delta\_{i}\right\|\_{o}^{s} < 1, i = 1\cdots N,\tag{5}$$

where ∥ ⋅∥*<sup>∞</sup>* **<sup>δ</sup>** is the induced norm of **L**<sup>2</sup> *δ* norm of signals expressed as

$$\left\|\mathbf{x}(t)\right\|\_{2}^{\delta} = \sqrt{\int\_{0}^{t} \mathbf{e}^{-\delta(t-\tau)} \left|\mathbf{x}(t)\right|^{2} d\tau},\tag{6}$$

where *δ* >0 is a forgetting factor, and **x**(*t*) is a vector of signals.


**Table 2.** Nominal models of node dynamics.

### **3.2. Synthesis of the MMS controller**

The main idea of this chapter is to use multiple uncertain models to cover overall plant dynamics, and so the large uncertainty is divided into smaller ones. Because the range of dynamics covered by each model is reduced using multiple models, this MMS control can greatly improve both robust stability and tracking performance of vehicle acceleration control. This MMS controller includes a scheduling logic **S**, multiple estimators **E** and multiple controllers **C**. The module **E** is a set of estimators, which is designed from model set **P** and to estimate signals *a* and *z*. Note that *z* is the disturbance signal arising from model uncertainty and it cannot be measured directly. The module **S** represents the scheduling logic. Its task is to calculate and compare the switching index of each model *Ji* (*i* =1, ⋯, *N* ), which actually gives a measure of each model uncertainty compared with current vehicle dynamics. **S** chooses the most proper model (with smallest measure) and denoted as *σ*. The module **C** contains multiple robust controllers, also designed from **P**. The controller whose index equals *σ* will be switched into loop to control acceleration. The signal *a*ref is the desired acceleration.

The scheduling logic is critical to the MMS controller, because it evaluates errors between current vehicle dynamics and each model in **P**, and determines which controller should be chosen. The controller index *σ* is determined by:

Robust Accelerating Control for Consistent Node Dynamics in a Platoon of CAVs http://dx.doi.org/10.5772/63352 47

$$
\sigma = \arg\min\_{i=1,\cdots,4} J\_i(t). \tag{7}
$$

Intuitively, *Ji* (*t*) is designed to measure the model uncertainty σ*<sup>t</sup>* , and so the estimator set **E**={*Ei* , *i* =1, ⋯, *N* } is designed to indirectly measure σ*<sup>i</sup>* as follows:

$$\begin{aligned} \overset{\circ}{z}\_i &= -\frac{k\_{\text{G}}}{\Lambda(s)} W(s) a\_{\text{des}}, \stackrel{\circ}{a}\_i = \\ \frac{k\_{\text{G}}}{\Lambda(s)} a\_{\text{des}} &+ \frac{\Lambda(s) - (s + p\_{\text{G}})}{\Lambda(s)} a, i = 1, \dots, 4, \end{aligned} \tag{8}$$

where Λ(*s*) is the common characteristic polynomial of **E**, *a* ^ *i* and *z* ^ *<sup>i</sup>* are the estimates of *a* and *z* using model *Pi* . It is easy to know that the stability of estimators can be ensured by properly selecting Λ(*S*). Subtracting Eq. (8) with Eq. (4) yields the estimation error of *a*:

$$\dot{e}\_{l} = \dot{a}\_{l} - a = -\frac{k\_{\rm Gl}}{\Lambda \left( s \right)} W \left( s \right) \Delta\_{l} a\_{\rm des} = \dot{\Delta}\_{l} \dot{z}\_{l} \,. \tag{9}$$

Then, the switching index *Ji* (*t*) is designed to be

where *Gi*

46 Autonomous Vehicle

where ∥ ⋅∥*<sup>∞</sup>*

is the model uncertainty, satisfying:

**<sup>δ</sup>** is the induced norm of **L**<sup>2</sup>

Δ*i*

*Gi*

(*s*) 8.15

*s* + 3.333

**Table 2.** Nominal models of node dynamics.

**3.2. Synthesis of the MMS controller**

(*s*) is the nominal models listed in **Table 2**, *W*(*s*) is the weight function for uncertainty,

norm of signals expressed as

t

0.75 *s* + 3.333

0.22 *s* + 3.333

(*i* =1, ⋯, *N* ), which actually gives

2 ( )

The main idea of this chapter is to use multiple uncertain models to cover overall plant dynamics, and so the large uncertainty is divided into smaller ones. Because the range of dynamics covered by each model is reduced using multiple models, this MMS control can greatly improve both robust stability and tracking performance of vehicle acceleration control. This MMS controller includes a scheduling logic **S**, multiple estimators **E** and multiple controllers **C**. The module **E** is a set of estimators, which is designed from model set **P** and to estimate signals *a* and *z*. Note that *z* is the disturbance signal arising from model uncertainty and it cannot be measured directly. The module **S** represents the scheduling logic. Its task is

a measure of each model uncertainty compared with current vehicle dynamics. **S** chooses the most proper model (with smallest measure) and denoted as *σ*. The module **C** contains multiple robust controllers, also designed from **P**. The controller whose index equals *σ* will be switched

The scheduling logic is critical to the MMS controller, because it evaluates errors between current vehicle dynamics and each model in **P**, and determines which controller should be

*<sup>δ</sup>*

¥ D<= **, ,** <sup>L</sup> (5)

(6)

1 1 *<sup>i</sup> i N*

d

*δ*

0 () e () , - - <sup>=</sup> ò *t <sup>t</sup> t t d* d t

**x x**

2

**No. 1 2 3 4**

4.5 *s* + 3.333

where *δ* >0 is a forgetting factor, and **x**(*t*) is a vector of signals.

to calculate and compare the switching index of each model *Ji*

chosen. The controller index *σ* is determined by:

into loop to control acceleration. The signal *a*ref is the desired acceleration.

$$J\_i\left(t\right) = \left(\left\|e\_i\left(t\right)\right\|\_2^s\right)^2 - \left(\left\|\hat{z}\_i\left(t\right)\right\|\_2^s\right)^2, i = 1, \cdots, 4. \tag{10}$$

Since the system gain from *z* ^ *<sup>σ</sup>*(*t*) to *eσ*(*t*) can be bounded by **S**, *z* ^ *<sup>σ</sup>*(*t*) and *eσ*(*t*) can be treated as the input and output of an equivalent uncertainty. Considering Eq. (8), **E** is rewritten into

&

$$\begin{aligned} \mathbf{x}\_{\text{E}} &= \mathbf{A}\_{\text{E}} \mathbf{x}\_{\text{E}} + \mathbf{B}\_{\text{E}1} a\_{\text{des}} + \mathbf{B}\_{\text{E}2} a \\ \vdots \\ a\_{l} &= \mathbf{C}\_{\text{E}1} \mathbf{x}\_{\text{E}}, z\_{l} = \mathbf{C}\_{\text{E}2} \mathbf{x}\_{\text{E}}, \end{aligned} \tag{11}$$

where *AE*, *BE*1, *BE*2, *CE*11, *CE*12, *CE*13, *CE*14, *CE*21, *CE*22, *CE*23, *CE*24 are matrices with proper dimensions. By selecting weighting function as *W*p(*s*)=(0.1*s* + 1.15) /*s*, the required tracking performance becomes:

$$\left\|q\left(t\right)\right\|\_{2}^{s} < \gamma \left\|a\_{\text{ref}}\left(t\right)\right\|\_{2}^{s},\tag{12}$$

where *a*ref is the reference acceleration, *q* =*W*p(*s*)*e*a and *e*<sup>a</sup> =*a*ref−*a*, , which is expected to converge to zero. Substituting *a* = *a* ^ *<sup>σ</sup>* −*eσ* and Eq. (12) to Eq. (11), we have,

$$\mathbf{x} = \mathbf{A}\_{\sigma}\mathbf{x} + \mathbf{B}\_{1}\mathbf{e}\_{\sigma} + \mathbf{B}\_{2}a\_{\text{des}} + \mathbf{B}\_{3}a\_{\text{ref}} \tag{13}$$

$$\begin{aligned} \mathbf{z}\_{\sigma} &= \mathbf{C}\_{1\sigma} \mathbf{x}, \boldsymbol{q} = \mathbf{C}\_{2\sigma} \mathbf{x} + D\_{\mathfrak{p}} \mathbf{e}\_{\sigma} + D\_{\mathfrak{p}} \mathbf{a}\_{\text{ref}}, \mathbf{e}\_{\mathfrak{a}} = \mathbf{0}, \\ \mathbf{C}\_{3\sigma} \mathbf{x} &+ \mathbf{e}\_{\sigma} + \mathbf{a}\_{\text{ref}}, \end{aligned}$$

where **A***<sup>σ</sup>* = **A**<sup>E</sup> + **B**E2**C**E1*<sup>σ</sup>* 0 <sup>−</sup>**C**E1*<sup>σ</sup>* <sup>0</sup> , **B**<sup>1</sup> <sup>=</sup> <sup>−</sup>**B**E2 <sup>−</sup><sup>1</sup> , , **B**<sup>2</sup> <sup>=</sup> **<sup>B</sup>**E1 <sup>0</sup> , **B**<sup>3</sup> <sup>=</sup> <sup>0</sup> <sup>1</sup> , **C**1*<sup>σ</sup>* <sup>=</sup> **<sup>C</sup>**E2*<sup>σ</sup>* <sup>0</sup> , **C**2*<sup>σ</sup>* <sup>=</sup> <sup>−</sup>0.1**C**E1*<sup>σ</sup>* 1.15 , **<sup>C</sup>**3*<sup>σ</sup>* <sup>=</sup> <sup>−</sup>**C**E1*<sup>σ</sup>* <sup>0</sup> , **D**<sup>31</sup> =1, **x**<sup>=</sup> **x**E *xp* are system matrices with proper dimensions. The required robust controller set can be designed by numerically solving the following LMIs:

$$\begin{array}{c} \begin{array}{c} \cdot\\ \cdot \end{array} \cdot \begin{array}{c} \cdot\\ \cdot \end{array} \cdot \begin{array}{c} \cdot\\ \cdot \end{array} \cdot\\ \left(\begin{array}{c} \cdot\\ \mathbf{A}\_{i} + \mathbf{A}\_{\delta i} + \mathbf{B}\_{2}\,\mathbf{D}\_{i}\,\mathbf{C}\_{\mathrm{N}i} \end{array} \right)^{\top} & \mathbf{1}\_{2}\mathbf{A}\_{\delta i} + \mathbf{A}\_{\delta i}^{\top}\mathbf{P}\_{2} + \mathbf{B}\_{i}\,\mathbf{C}\_{\mathrm{N}i} + \mathbf{C}\_{\mathrm{N}i}^{\top}\mathbf{B}\_{i} \\\\ \left(\begin{array}{c} \mathbf{B}\_{2}\,\mathbf{D}\_{i} + \mathbf{B}\_{1} \end{array} \right)^{\top} & \left(\begin{array}{c} \mathbf{P}\_{2}\mathbf{B}\_{1} + \mathbf{B}\_{i} \end{array} \right)^{\top} \\\\ \left(\begin{array}{c} \mathbf{B}\_{2}\,\mathbf{D}\_{i} + \mathbf{B}\_{3} \end{array} \right)^{\top} & \left(\begin{array}{c} \mathbf{P}\_{2}\mathbf{B}\_{1} + \mathbf{B}\_{i} \end{array} \right)^{\top} \\\\ \left(\begin{array}{c} \mathbf{B}\_{2}\,\mathbf{D}\_{i} + \mathbf{B}\_{3} \end{array} \right)^{\top} & \mathbf{C}\_{2}\begin{array}{c} \mathbf{D}\_{i} + \mathbf{B}\_{i} \end{array} \right)^{\top} \\\\ \mathbf{C}\_{i}\begin{array}{c} \mathbf{C}\_{i} \\\\ \mathbf{C}\_{i} \end{array} \end{array} \end{array} \tag{14}$$

$$\begin{bmatrix} \* & \* & \* \ast \\ \* & \* & \* \ast \\ -\beta^2 \mathbf{I} & 0 & \* \ast \\ 0 & -\gamma^2 \mathbf{I} \ast \ast \\ 0 & 0 & \mathbf{I} \, 0 \\ D\_\rho & D\_\rho & 0 \, \mathbf{I} \end{bmatrix} < 0, i = 1, \dots, 4, \begin{bmatrix} \mathbf{P}\_1 & \mathbf{I} \\ \mathbf{I} & \mathbf{P}\_2 \end{bmatrix} > 0,$$

where β < 1 is a positive constant, **A***δ<sup>i</sup>* =**A***<sup>i</sup>* + 0.5*δ***I**, symbol "\*" represents the symmetrical part. Then the controller set **C** is

$$\mathbf{C} = \left\{ K\_i : \stackrel{\circ}{\mathbf{X}\_C} = \mathbf{A}\_{Ci} \mathbf{X}\_C + \mathbf{B}\_{Ci} \mathbf{e}\_a \atop a\_{\text{dev}} = \mathbf{C}\_{Ci} \mathbf{X}\_C + \mathbf{D}\_{Ci} \mathbf{e}\_a \right\}. \tag{15}$$

The matrices in Eq. (15) are calculated as:

( ) ref ( ) 2 2 *qt a t* <sup>&</sup>lt; , d

*<sup>σ</sup>* −*eσ* and Eq. (12) to Eq. (11), we have,

=++ + 1 2 des 3 ref

 s

,

<sup>−</sup><sup>1</sup> , , **B**<sup>2</sup> <sup>=</sup> **<sup>B</sup>**E1

robust controller set can be designed by numerically solving the following LMIs:

<sup>T</sup> <sup>T</sup> <sup>T</sup>

*i i i i i i ii i i*

d

% % % %

**A A B DC PA A P BC C B**

<sup>T</sup> 2 1

<sup>T</sup> 2 3

1 1 <sup>2</sup>

**C P <sup>C</sup>**

ù ú ú

ú ú û

**I I**

*<sup>i</sup> <sup>i</sup>*

0, 1, ,4, 0, <sup>0</sup>

L


**I P I I I P**

*i*

2 3 2 2 33

 d

T T T 11 2 2

<sup>ê</sup> æ ö <sup>ê</sup> ç ÷ + + +++ <sup>ê</sup> è ø <sup>ê</sup> æ ö <sup>ê</sup> ç ÷ <sup>+</sup> æ ö <sup>ê</sup> <sup>+</sup> è ø ç ÷ <sup>ê</sup> è ø æ ö <sup>ê</sup> ç ÷ <sup>+</sup> æ ö <sup>ê</sup> <sup>+</sup> è ø ç ÷ <sup>ê</sup> è ø <sup>ê</sup>

\* <sup>é</sup>

% %

*ea a*

1 2 p p ref a

= = ++ =

*z q De Da e*

 ss

, ,

<sup>0</sup> , **B**<sup>3</sup> <sup>=</sup> <sup>0</sup>

where *a*ref is the reference acceleration, *q* =*W*p(*s*)*e*a and *e*<sup>a</sup> =*a*ref−*a*, , which is expected to converge

g

to zero. Substituting *a* = *a*

48 Autonomous Vehicle

where **A***<sup>σ</sup>* =

^

**A**<sup>E</sup> + **B**E2**C**E1*<sup>σ</sup>* 0

d

**<sup>C</sup>**3*<sup>σ</sup>* <sup>=</sup> <sup>−</sup>**C**E1*<sup>σ</sup>* <sup>0</sup> , **D**<sup>31</sup> =1, **x**<sup>=</sup>

ê ê ë &

\$

<sup>−</sup>**C**E1*<sup>σ</sup>* <sup>0</sup> , **B**<sup>1</sup> <sup>=</sup> <sup>−</sup>**B**E2

ê + ++

 d

d

*i i i i*

**A P PA B C C B**

**x**E *xp*

2 1

*i*

**BD B**

%

%

2 3

*i*

**BD B**

2 1

2

b

2

*\*\* \*\**

\*

*\* \*\* \* \* \*\**

0

0 0 0 0

g

*p p*

*D D*

*i*

**C P**

s

s

**C x**

s

3 ref

 s

+ +

s

*e a*

**Cx C x**

 d

(12)

<sup>1</sup> , **C**1*<sup>σ</sup>* <sup>=</sup> **<sup>C</sup>**E2*<sup>σ</sup>* <sup>0</sup> , **C**2*<sup>σ</sup>* <sup>=</sup> <sup>−</sup>0.1**C**E1*<sup>σ</sup>* 1.15 ,

(14)

**x Ax B B B** (13)

are system matrices with proper dimensions. The required

T T

%

**PB B**

**PB B**

*i*

%

*i*

1

**C**

1

2

*i*

T

T

$$\begin{split} \mathbf{D}\_{Ci} = \dot{\mathbf{D}} \iota, \mathbf{C}\_{Ci} &= \left( \dot{\mathbf{C}}\_{l} - \mathbf{D}\_{Ci} \mathbf{C}\_{3i} \mathbf{P}\_{l} \right) \left( \mathbf{M}^{\top} \right)^{-1}, \mathbf{B}\_{Ci} \\ &= \mathbf{N}^{-1} \left( \dot{\mathbf{B}}\_{l} - \mathbf{P}\_{2} \mathbf{B}\_{2} \mathbf{D}\_{Ci} \right), \end{split} \tag{16}$$

$$\mathbf{A}\_{Ci} = \mathbf{N}^{-1} \left[ \mathbf{A}\_i - \mathbf{P}\_2 \left( \mathbf{A}\_{\delta i} + \mathbf{B}\_2 \mathbf{D}\_{Ci} \mathbf{C}\_{\mathcal{H}} \right) \mathbf{P}\_1 \right] \left( \mathbf{M}^\top \right)^{-1}$$

$$-0.5 \delta \mathbf{I} - \mathbf{B}\_{Ci} \mathbf{C}\_{\mathcal{H}} \mathbf{P}\_1 \left( \mathbf{M}^\top \right)^{-1} - \mathbf{N}^{-1} \mathbf{P}\_2 \mathbf{B}\_2 \mathbf{C}\_{Ci}, \ i = 1, \dots, 4, \dots$$

where **M** and **N** are the singular value decomposition of **I**−**P**1**P**2. The controller set **C**, solved by LMIs Eq. (14), is listed as follows:

$$\mathbf{C} = \left\{ K\_1(s), K\_2(s), K\_3(s), K\_4(s) \right\}$$

$$\begin{split} K\_{\text{i}}(\text{s}) &= \frac{137.1 \text{(s+4.9)} \text{(s+3.133)}}{\text{s} \, (\text{s+41.85}) \text{(s+45.70)}}, K\_{\text{z}}(\text{s})\\ &= \frac{233.4 \text{(s+4.9)} \text{(s+3.133)}}{\text{s} \, (\text{s+80.06}) \text{(s+21.42)}}, \end{split} \tag{17}$$

$$\begin{aligned} K\_{\sf s} \left( \mathbf{s} \right) &= \frac{\sf 573.0 \left( \mathbf{s} + 4.9 \right) \left( \mathbf{s} + 3.133 \right)}{\mathbf{s} \left( \mathbf{s} + 29.63 \right) \left( \mathbf{s} + 99.30 \right)}, & K\_{\sf s} \left( \mathbf{s} \right) \\ &= \frac{283.4 \left( \mathbf{s} + 4.9 \right) \left( \mathbf{s} + 3.133 \right)}{\mathbf{s} \left( \mathbf{s} + 54.15 \right) \left( \mathbf{s} + 19.89 \right)} \end{aligned}$$

#### **4. Simulation results and analyses**

To validate the improvements MMS controller for tracking of acceleration, two other control‐ lers are designed, i.e. a sliding mode controller (SMC), and a single **H**∞ controller.

#### **4.1. Design of SMC and H∞ controllers**

It is known that SMC has high robustness to uncertainties. It is designed based on the nominal model *G*M(*s*)=0.33 / (*s* + 0.33). The sliding surface is selected to be

$$\text{se}(t) = a - a\_{\text{ref}}, \text{ s} = \bigvee\_{0} e(t)dt + \lambda e(t), \tag{18}$$

where *λ* >0. The reaching law is designed to be *s* ̇ = −*ks* + *η*sgn(*s*), where *k* < 0 and *η* >0. Then the sliding mode controller is

$$a\_{\rm des} = \frac{\pi\_i}{\lambda k\_i} \left[ \lambda \, a\_{\rm ref} + \lambda \frac{1}{\pi\_i} a - e - ks + \eta \text{sgn}(s) \right] \tag{19}$$

**H***∞* control is another widely used and effective approach to deal with model uncertainties. Here, a model matching control structure is applied to balance between robustness and fastness. The uncertain model of vehicle dynamics used for design of **H***∞* controller is

$$P(s) = \frac{0.3s + 1}{0.2s^2 + 0.6s + 1} \left( 1 + \frac{5.2s + 5}{2s + 10} \Delta \right), \left\| \Delta \right\|\_{s} < 1\tag{20}$$

The referenced acceleration response dynamics is *G*M(*s*)=1 / (*s* + 1). Then, the feed-forward controller designed by the model matching technique is

$$C\_{\rm F} \left( s \right) = \frac{0.2 \,\mathrm{s}^2 + 0.6 \,\mathrm{s} + 1}{0.3 \,\mathrm{s}^2 + 1.3 \,\mathrm{s} + 1} \tag{21}$$

The feedback controller designed by the **H***∞* control method is

$$\begin{aligned} &C\_{\rm B}(s) \\ &= \frac{6.5493(s+5)(s+6)\left(s^2+3s+5\right)}{s\left(s+10.39\right)\left(s+4.74\right)\left(s^2+7.049s+14.03\right)} \end{aligned} \tag{22}$$

This **H***∞* controller is numerically solved by the Matlab command *mixsyn*(), with the weighting function *W*p(*s*)=(0.1*<sup>s</sup>* <sup>+</sup> 1.15)*<sup>s</sup>* <sup>−</sup><sup>1</sup> .

#### **4.2. Simulations and analyses**

**4. Simulation results and analyses**

50 Autonomous Vehicle

**4.1. Design of SMC and H∞ controllers**

where *λ* >0. The reaching law is designed to be *s*

sliding mode controller is

To validate the improvements MMS controller for tracking of acceleration, two other control‐

It is known that SMC has high robustness to uncertainties. It is designed based on the nominal

̇

<sup>1</sup> sgn( ) é ù = + -- + ê ú ë û

**H***∞* control is another widely used and effective approach to deal with model uncertainties. Here, a model matching control structure is applied to balance between robustness and

> 0.3 1 5.2 5 <sup>1</sup> , <sup>1</sup> 0.2 0.6 1 2 10 ¥ + + æ ö <sup>=</sup> + D D< ç ÷ ++ + è ø

The referenced acceleration response dynamics is *G*M(*s*)=1 / (*s* + 1). Then, the feed-forward

0.2 0.6 1 0.3 1.3 1 + + <sup>=</sup> + +

( )( )( ) ( )( )( )

*s s ss*

2 6.5493 5 6 3 5 10.39 4.74 7.049 14.03

2

l

 h

*s s P s ss s* (20)

*s s C s s s* (21)

(22)

(18)

= −*ks* + *η*sgn(*s*), where *k* < 0 and *η* >0. Then the

(19)

( ) ref ( ) ( ) 0 =- = + , , ò *t e t a a s e t dt e t*

lers are designed, i.e. a sliding mode controller (SMC), and a single **H**∞ controller.

model *G*M(*s*)=0.33 / (*s* + 0.33). The sliding surface is selected to be

des ref

*k* t

l

( ) <sup>2</sup>

controller designed by the model matching technique is

The feedback controller designed by the **H***∞* control method is

( )

B

*C s*

& *<sup>i</sup>*

*i i*

ll

*a a a e ks s*

 t

fastness. The uncertain model of vehicle dynamics used for design of **H***∞* controller is

( ) <sup>2</sup> F 2

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

*ss s s s*

A naturalistic acceleration from real traffic flow is used as the reference acceleration. This naturalistic acceleration profile is from driver experiment data, which lasts around 50 min totally and is shown in **Figure 5**. The maximum and minimum desired acceleration is about 1.1 m/s2 and −1.8 m/s<sup>2</sup> , respectively and the vehicle speed varies in the range of 0–33 m/s. This condition can cover a wide range of vehicle dynamics.

**Figure 5.** *Reference accele*ration and *speed*. (a) *Accele*ration a*nd* (b) *Veh*icle speed.

Two groups of simulations are conducted: (a) nominal condition; and (b) uncertain condition. Under the nominal condition, all vehicle parameters are shown in **Table 1** and there is no road slope and wind. Under the uncertain condition, the disturbed parameters are vehicle mass, road slope and wind. The maximum value of vehicle mass is used, i.e. *M* = 1600 kg. The disturbance of road slope is a sinusoidal signal:

$$
\varphi = \varphi\_{\text{max}} \cdot \sin\left(\frac{2\pi}{T\_{\text{slope}}} \cdot t\right) \tag{23}
$$

where φmax = 5 deg, and *T*slope = 50 sec. The disturbance of wind is a periodic triangular signal:

$$\nu\_{\rm wind} = 2 \frac{\nu\_{\rm wmax}}{T\_{\rm wind}} t - \nu\_{\rm wmax}, t \in [0, T\_{\rm wind}), \tag{24}$$

where *v*wmax = 10 m/s, and *T*wind = 40 sec.

The simulations results are shown in **Figures 6** and **7**, and to show clearly, only the responses from 0 to 500 sec are plotted as a demonstration. From **Figure 6(a)** and (**b**), under the nominal condition, all three controllers can track the reference acceleration accurately. With the uncertainties, it is found that from **Figure 7(a)** and (**b**) the tracking capability of SMC and *H*<sup>∞</sup> controller decreases obviously while MMS can still ensure acceptable tracking error. Though switching of controller occurs at both nominal and uncertain conditions (**Figure 6(e)** and **Figure 7(e)**), the control input of MMS behaves continuously and there is no obvious sudden change (**Figure 6(c)** and **Figure 7(c)**). Another concern that must be explained is the spike of acceleration shown in **Figure 6(b)** and **Figure 7(b)**. This is mainly caused by the impact of powertrain when gear switches. A more appropriately designed transmission model could improve the gear-shifting quality.

**Figure 6.** Results under normal condition. (a) Acceleration tracking error, (b) acceleration, (c) throttle control, (d) gear position and (e) switching signal.

Robust Accelerating Control for Consistent Node Dynamics in a Platoon of CAVs http://dx.doi.org/10.5772/63352 53

The simulations results are shown in **Figures 6** and **7**, and to show clearly, only the responses from 0 to 500 sec are plotted as a demonstration. From **Figure 6(a)** and (**b**), under the nominal condition, all three controllers can track the reference acceleration accurately. With the uncertainties, it is found that from **Figure 7(a)** and (**b**) the tracking capability of SMC and *H*<sup>∞</sup> controller decreases obviously while MMS can still ensure acceptable tracking error. Though switching of controller occurs at both nominal and uncertain conditions (**Figure 6(e)** and **Figure 7(e)**), the control input of MMS behaves continuously and there is no obvious sudden change (**Figure 6(c)** and **Figure 7(c)**). Another concern that must be explained is the spike of acceleration shown in **Figure 6(b)** and **Figure 7(b)**. This is mainly caused by the impact of powertrain when gear switches. A more appropriately designed transmission model could

**Figure 6.** Results under normal condition. (a) Acceleration tracking error, (b) acceleration, (c) throttle control, (d) gear

improve the gear-shifting quality.

52 Autonomous Vehicle

position and (e) switching signal.

**Figure 7.** Results under disturbed condition. (a) Acceleration tracking error, (b) acceleration, (c) throttle control, (d) gear position and (e) switching signal.

A more deep simulation is conducted to analyse the influences of uncertain level on the tracking ability of acceleration and gear shifting behaviours. At this condition, the level of uncertainty is increased step by step and the relationship between the uncertain level and model uncertainties is described by:

$$\begin{split} M &= 1200 \text{ kg} + 40 \text{kg} \cdot \text{s}, \ \rho\_{\text{max}} \\ &= 1 \text{ deg} \cdot \text{s}, \upsilon\_{\text{wmax}} = 2 \frac{\text{m}}{\text{s}} \cdot \text{s}, \end{split} \tag{25}$$

where *ε* represents the level of uncertainty, with maximum mass 1600 kg, maximum road slope 10 deg, and maximum wind speed 20 m/s (when ε = 10). ε = 0 implies that there is no model uncertainty. The root mean square error (RMSE) of acceleration is used to measure the capability of tracking. **Figure 8** presents the RMSE of acceleration error and the number of gear shifting per minute (denoted as *Ngear/min*). In nominal condition, the RMSE of acceleration error of the three robust controllers is almost the same. As the uncertainty level increases, the tracking capability of the SMC and *H<sup>∞</sup>* quickly drops, whereas the MMS still holds acceptable accuracy. **Figure 8(b)** is used to release the concern that the MMS might largely increase the number of gear shifting because of its switching structure.

**Figure 8.** Performances under different uncertain levels.
