Keywords

1 Introduction

Roll Stability Control (RSC) has been developed to mitigate rollover accidents in vehicles. Previous works have used different RSC methods such as differential braking, four-wheel steering, or active stabilizers in order to design rollover controllers to achieve the desired vehicle behavior [1, 2].

Control architectures connect their components with in-vehicle communication networks that present delays during the communication. These delays can compromise the accuracy of the computed control signals, which might harm the vehicle stability [3]. Moreover, in order to avoid the network saturation, it is interesting to include an event-triggering mechanism, to neglect non-relevant data to be transmitted [4]. This also reduces the update frequency of the actuators, and decreases the possibility of chattering.

Actuator faults can lead to poor ride quality or even unstable vehicle behavior [5]. In order to overcome this problem, it is possible to design robust fault-tolerant controllers considering the fault of the actuator as a linear parameter varying (LPV) on the system [6].

Motivated by the aforementioned reasons, this work presents an LMI-Based \(H_\infty \) state-feedback fault-tolerant controller for a Roll Stability Control (RSC) system. The proposed controller has been validated under different test scenarios in CarSim.

2 Vehicle Model

The state space model for the vehicle roll is presented as follows [2]

$$\begin{aligned} {\left\{ \begin{array}{ll} \dot{x} (t) = Ax(t) + B u_f(t) + B_d \omega (t)\\ y(t) = C_1 x(t)\\ z(t) = C_2 x(t) \end{array}\right. } \end{aligned}$$
(1)

with the states vector

$$\begin{aligned} x(t) = \begin{bmatrix} \phi (t) \\ \dot{\phi }(t) \end{bmatrix} \end{aligned}$$
(2)

\(\phi \) and \(\dot{\phi }\) represent the roll angle and roll rate of the vehicle. Respectively. \(u_f\) is the actual anti-roll moment applied to the vehicle, z is the controlled output vector and y is the measured output of the system. In order to avoid vehicle rollover, both roll angle and rate are considered as control outputs to minimize. Roll angle can be measured with a dual antenna, while roll rate can be measured with an IMU. The disturbance vector is chosen as

$$\begin{aligned} \omega (t) = \begin{bmatrix} a_y(t)\\ \phi _r(t) \end{bmatrix} \end{aligned}$$
(3)

where \(a_y(t)\) is the lateral acceleration of the vehicle and \(\phi _r\) is the road bank angle. The system matrices are

$$\begin{aligned} A &= \begin{bmatrix} 0 &{} I\\ \frac{m \cdot g \cdot h_{cr} - K_r}{I_{xx}} &{} \frac{-C_r}{I_{xx}}\end{bmatrix}, \quad B = \begin{bmatrix} 0 \\ \frac{1}{I_{xx}} \end{bmatrix} \\ B_d &= \begin{bmatrix} 0 &{} 0\\ \frac{m \cdot h_{cr}}{I_{xx}} &{} \frac{m \cdot h_{cr} \cdot g}{I_{xx}} \end{bmatrix}, \quad C_1 = \begin{bmatrix} 1 &{} 0\\ 0 &{} 1\end{bmatrix}, \quad C_2 = \begin{bmatrix} 1 &{} 0\\ 0 &{} 1 \end{bmatrix} \nonumber \end{aligned}$$
(4)

All the vehicle parameters are listed in Table 1. The relation between the control signal and the actual control input to the system is expressed as

$$\begin{aligned} u_f(t) = F(\rho ) u(t) \end{aligned}$$
(5)

where u is the control signal computed by the controller and F represents the effectiveness of the actuation. Since there is only one control signal at this case, the fault behaviour is modelled as

$$\begin{aligned} F(\rho ) = \rho (t), \quad \rho (t) = \frac{u_f(t)}{u(t)} \end{aligned}$$
(6)

It is assumed that \(\rho \) has known bounds

$$\begin{aligned} \underline{\rho } \le \rho (t) \le \overline{\rho } \end{aligned}$$
(7)

and can be expressed as

$$\begin{aligned} \rho (t) = \underline{\rho } a_1(\rho ) + \overline{\rho } a_2(\rho ) \end{aligned}$$
(8)

with

$$\begin{aligned} a_1(\rho ) = \frac{\overline{\rho } -\rho (t) }{\overline{\rho } - \underline{\rho }}, \quad a_2(\rho ) = 1 - a_1(\rho ) \end{aligned}$$
(9)

the system (1) is now expressed as the polytope

$$\begin{aligned} {\left\{ \begin{array}{ll} \dot{x} (t) = Ax(t) + \sum _{j = 1}^2 a_j(\rho ) B F_j u(t) + B_d \omega (t)\\ y(t) = C_1 x(t)\\ z(t) = C_2 x(t) \end{array}\right. } \end{aligned}$$
(10)

3 In-Vehicle Network Communication

The sensors sample the measurement output signal y at a frequency \(f_s\). These are wire connected to the controller and it can be assumed no communication delay between them. Once a measurement signal is obtained, the controller generates a control signal \(u(lh) \ (j \in \mathbb {N^*})\) which is evaluated by the event-triggering mechanism; deciding whether to discard it or to update the anti-roll moment applied to the system. By triggering the control signal, the update frequency of the applied anti-roll moment is lowered, which also reduces the network communication resources needed and avoids its saturation. The data transmission is done in a single-packet manner, with no packet dropouts or disorders. Nevertheless, network communication delays are unavoidable. Since the network communication is discrete, a ZOH generates a continuous signal by holding the triggered data until a new packet is received. The information from the ZOH is received by the actuators which provide the anti-roll moment to stabilize the vehicle.

4 Control Design with Robustness Against the Effect of Event-Triggering and Delays

Through this section, an \(H_\infty \) event-triggered fault-tolerant controller is designed for the system (1).

The control order given to the actuator is obtained with the state-feedback fault-tolerant controller

$$\begin{aligned} u(t) = u(i_kh) = K(\rho ) x(i_kh), \quad t \in [t_k,t_{k+1}) \end{aligned}$$
(11)

The event-triggering mechanism consists of a register and a comparator. A register stores the last released packet information \((i_k,u(i_kh)) \ (k \in \mathbb {N^*})\) and a comparator checks whether to consider or to neglect the current sampled packet \((i_k + j, u(i_kh + jh))\) depending on the following triggering condition

$$\begin{aligned} \begin{Vmatrix} u(i_k h + jh) - u(i_k h) \end{Vmatrix}_2 \le u_{th}^2 \end{aligned}$$
(12)

where \(u_{th}\) is an user defined threshold.

Following [6], let

$$\begin{aligned} \sigma _k = \min \begin{Bmatrix}j \left| \ t_k + jh \ge t_{k+1}, \ j \in \mathbb {N^*} \right. \end{Bmatrix} \end{aligned}$$
(13)

realize that \(\sigma _k \ge 1\) as \(t_k < t_{k + 1}\). Now the interval \([t_k,t_{k+1})\) is split into

$$\begin{aligned}{}[t_k,t_{k+1}) = \bigcup _{j = 1}^{\sigma _k} I_j \end{aligned}$$
(14)

where

$$\begin{aligned} I_j &= [t_k + (j-1) h,t_k + j h), \ j = 1,2,\dots ,\sigma _k - 1\\ I_{\sigma _k} &= [t_k + (\sigma _k - 1)h,t_{k+1}) \end{aligned}$$

Consider a delay function \(\eta (t)\) and a triggering error function \(e_t(t)\) on the interval \([t_k,t_{k+1})\) as

$$\begin{aligned} \eta (t) &= {\left\{ \begin{array}{ll} \begin{matrix} t - i_k h, &{} t \in I_1\\ t - i_k h - h, &{} t \in I_2\\ \vdots \\ t - i_k h - (\sigma - 1) h, &{} t \in I_{\sigma _k} \end{matrix} \end{array}\right. }\end{aligned}$$
(15)
$$\begin{aligned} e_t(t) &= {\left\{ \begin{array}{ll} \begin{matrix} u(i_k h) - u(i_k h), &{} t \in I_1\\ u(i_k h) - u(i_k h + h), &{} t \in I_2\\ \vdots \\ u(i_k h) - u(i_k h + (\sigma _k - 1)h), &{} t \in I_{\sigma _k} \end{matrix} \end{array}\right. } \end{aligned}$$
(16)

expanding the control signal (11) with (15) and (16)

$$\begin{aligned} u(t) = u({i_k}h) = e_{t}(t) + K(\rho ) y(t -\eta (t)) \end{aligned}$$
(17)

In order to get rid of delay terms, now define

$$\begin{aligned} e_y(t) = y(t - \eta (t)) - y(t) \end{aligned}$$
(18)

the Eq. (17) is equal to

$$\begin{aligned} u(t) = K(\rho )x(t) + K(\rho )e_y(t) + e_t(t) \end{aligned}$$
(19)

therefore the system (10) is now expressed as

$$\begin{aligned} {\left\{ \begin{array}{ll} \dot{x} (t) = \begin{pmatrix} A + \sum _{j = 1}^2 a_j(\rho ) B F_j K_j \end{pmatrix}x(t) + B_d \omega (t) + B_e \tilde{e}(t)\\ y(t) = C_1 x(t)\\ z(t) = C_2 x(t) \end{array}\right. } \end{aligned}$$
(20)

where

$$\begin{aligned} \tilde{e}(t) = \begin{bmatrix} F(\rho )K(\rho )e_y(t)\\ F(\rho )e_t(t) \end{bmatrix}, \ B_e = \begin{bmatrix} B & B \end{bmatrix} \end{aligned}$$

and \(K_j, \ (j = 1,2)\) are the controller gain matrices to be designed by solving the following theorem.

Theorem 1

For given scalars q, \(r > 0\), the networked control system (20) is asymptotically stable and robust under the \(H_\infty \) criteria if there exist some scalars \(\gamma _1 > 0\), \(\gamma _2 > 0\), real symmetric matrix \(X > 0\), and matrix Y of appropriate dimensions, such that the following LMIs hold

$$\begin{aligned} \begin{bmatrix} sym\begin{Bmatrix} AX + B V \end{Bmatrix} &{} B_e &{} B_d &{} X C_2^T\\ * &{} -\gamma _1^2 I &{} 0 &{} 0\\ * &{} * &{} -\gamma _2^2 I &{} 0\\ * &{} * &{} * &{} -I \end{bmatrix} < 0&\\ \begin{bmatrix} -rX &{} qX + AX + B Y\\ * &{} -rX \end{bmatrix} < 0& \nonumber \end{aligned}$$
(21)

Proof

System stability is analyzed under the Lyapunov criteria. Consider the quadratic formula

$$\begin{aligned} V(t) = x^T(t)Px(t) > 0 \end{aligned}$$
(22)

where \(P>0\). The time derivative of V(t) is

$$\begin{aligned} \dot{V}(t) = sym \begin{Bmatrix}x^T(t) P \dot{x}(t)\end{Bmatrix} \end{aligned}$$
(23)

The robustness of the closed loop system defined in (20) is dependent on two different disturbances. To analyze the control performance, two \(H_\infty \) indexes \(\gamma _1\) and \(\gamma _2\) are considered such that

$$\begin{aligned} \begin{Vmatrix} z^T(t)z(t) \end{Vmatrix}_2 < \gamma _1^2 \begin{Vmatrix} \tilde{e}^T(t) \tilde{e}(t) \end{Vmatrix}_2 + \gamma _2^2 \begin{Vmatrix} \omega ^T(t)\omega (t) \end{Vmatrix}_2 \end{aligned}$$
(24)

By merging (23) and (24), the system (20) is asymptotically stable with \(H_\infty \) performance if the following inequality satisfies [7]

$$\begin{aligned} \dot{V}(t) + z^T(t)z(t) - \gamma _1^2 \tilde{e}^T(t) \tilde{e} - \gamma _2^2 \omega ^T(t) \omega < 0 \end{aligned}$$
(25)

The Eq. (25) can be expressed as

$$\begin{aligned} \begin{bmatrix} x(t)\\ \tilde{e}(t)\\ \omega (t) \end{bmatrix}^T \begin{bmatrix} \Gamma &{} P &{} P B_d\\ * &{} -\gamma _1^2 &{} 0\\ * &{} * &{} -\gamma _2^2 \end{bmatrix} \begin{bmatrix} x(t)\\ \tilde{e}(t)\\ \omega (t) \end{bmatrix} < 0 \end{aligned}$$
(26)

with

$$\begin{aligned} \Gamma = sym\begin{Bmatrix} PA + P B F(\rho ) K(\rho ) \end{Bmatrix} + C_2^T C_2 \end{aligned}$$

Now apply the Schur complement to (26) to separate the term \(C_2^T C_2\) and then pre and post multiply with \(diag\{P^{-1},I,I,I\}\). Then, perform the following changes of variable

$$\begin{aligned} X = P^{-1}, \ Y = F(\rho ) K(\rho ) P^{-1} \end{aligned}$$
(27)

Now the expression in (26) is equivalent to the first LMI in (21).

As the system is open-loop stable already, it is important to restrict the pole placement during the control design. With the pole placement consideration, is possible to alter the response of the system, in order to reach steady-state faster. It is assured that the poles of the closed-loop system are inside the region D(qr) of disk shaped centred at q with radius r if [8]

$$\begin{aligned} \begin{bmatrix} -rP &{} qP + PA_{cl}\\ * &{} -rP \end{bmatrix} < 0 \end{aligned}$$
(28)

Apply the congruent transformation \(diag\{P^{-1},P^{-1}\}\) to (28) to obtain the second LMI in (21).

All the LMIs from (21) have been derived, hence the proof is complete. \(\blacksquare \)

5 Simulation Results

The proposed controller is designed and exploited through this section. A solution to the LMIs in (21) is found using the robust control toolbox from MATLAB. Once a feasible solution is found, the controller is validated through simulating full-vehicle non-linear dynamics with CarSim. The reason to choose CarSim is that it allows to demonstrate that the controllers can work properly with a high-order model although the control algorithm was defined under a low-order model. The model parameters for the system (1) are listed at Table 1.

Table 1. Vehicle parameters

The fault boundaries have been defined as \(\overline{\rho } = 1\) and \(\underline{\rho } = 0.5\). The fault behaviour is simulated as a sinusoidal wave, with

$$\begin{aligned} \rho (t) = \frac{(\overline{\rho } + \underline{\rho })}{2} + \frac{(\overline{\rho } - \underline{\rho })}{2} sin(t) \end{aligned}$$
(29)

The vehicle states are measured and sampled with a frequency of \(100 \, Hz\). Network delays are bounded with \(\tau _m = 10 \ ms\) and \(\tau _M = 20 \, ms\). A fixed triggering threshold has been defined as \(u_{th} = 200 \, Nm\)

By solving the conditions in Theorem 1, a feasible solution for the fault-tolerant event-triggered controller is found as

$$\begin{aligned} \Theta = {\left\{ \begin{array}{ll} \gamma _1 = 0.681\\ \gamma _2 = 5.297\\ K_1 = [-20664.21 &{} -4368.63 ]\\ K_2 = [-41328.42 &{} -8737.27 ]\\ \end{array}\right. } \end{aligned}$$
(30)

In order to quantify the control performance, RMS and maximum values of the dynamic variables of the vehicle were calculated. To study the possibility of rollover, the normalized load transfer (NLT) is calculated over time for both axles. This variable is an adequate index to evaluate roll stability control performance, as it guarantees vehicle adherence to the road as long as NLT absolute value is less than 1. The NLT is calculated as follows:

$$\begin{aligned} NLT_f = \frac{\Delta F_{z_f}}{F_{z_f}}, \ NLT_r = \frac{\Delta F_{z_r}}{F_{z_r}} \end{aligned}$$
(31)

where \(F_{z_f}\) and \(F_{z_r}\) represent the total load on the front and rear tyres, respectively. Their stationary values are:

$$\begin{aligned} F_{z_f} = \frac{l_r \cdot m \cdot g}{l_f + l_r}, \ F_{z_r} = \frac{l_f \cdot m \cdot g}{l_f + l_r} \end{aligned}$$
(32)

while \(\Delta F_{z_f}\) and \(\Delta F_{z_r}\) are the lateral load transfer values for the front and rear axle, respectively. These are dependent on the roll angle of the vehicle, and calculated as:

$$\begin{aligned} \Delta F_{z_f} = \frac{K_{r_f} \phi }{t_f}, \ \Delta F_{z_r} = \frac{K_{r_r} \phi }{t_r} \end{aligned}$$
(33)

where \(K_{r_f}\), \(K_{r_r}\) are the stiffness coefficients of the front and rear axles.

In order to evaluate the performance of the controller through CarSim, the following experiments have been set:

  1. 1.

    A double lane change at a constant speed of 100 km/h on dry pavement.

  2. 2.

    A J-Turn at increasing speed of 5 km/h per second on a circular path with a radius of curvature of 150 m.

Fig. 1.
figure 1

Double lane change simulation results. (a) Longitudinal speed, (b) Lateral acceleration, (c) NLT of the front axle, (d) NLT of the rear axle, (e) Control signal, (f) Triggering instants.

Fig. 2.
figure 2

J-Turn simulation results. (a) Longitudinal speed, (b) Lateral acceleration, (c) NLT of the front axle, (d) NLT of the rear axle, (e) Control signal, (f) Triggering instants.

For every experiment, three different vehicle suspensions were considered:

  1. 1.

    Passive suspension (Passive).

  2. 2.

    Active suspension with non fault-tolerant robust controller (NFT).

  3. 3.

    Active suspension with robust fault-tolerant controller designed following Theorem 1 (Proposed).

Simulation results are despicted in Figures 1 and 2, where it can be seen that the proposed control method enhances the ride safety compared to the passive suspension and non fault-tolerant controller, as NLT is reduced over time for both axles of the vehicle. The consideration of an event-triggering mechanism retrieves an average Transmission Rate of \(2.85\%\).

6 Conclusions

This paper presents a fault-tolerant event-triggered robust strategy for Roll Stability Control. Lyapunov stability is considered to analyze the system evolution. \(H_\infty \) criteria guarantees that the solution is robust against delays and triggering errors. As the system is open-loop stable, a pole-placement criteria has been considered with the aim of enhancing the time response.

It is proved that roll behaviour can be enhanced towards a non controlled vehicle. Moreover, this adds the capability of performing more severe maneuvers, without losing control of the vehicle. This is analyzed in terms of the NLT, which returns a maximum value over 0.7 for the passive vehicle, while remaining close to 0.5 for the best controlled system. The use of an event-triggering mechanism reduces the network communication load in over \(97\%\).