*Article* **Fault-Tolerant Model Predictive Control Algorithm for Path Tracking of Autonomous Vehicle**

#### **Keke Geng 1,\*, Nikolai Alexandrovich Chulin <sup>2</sup> and Ziwei Wang <sup>1</sup>**


Received: 29 June 2020; Accepted: 28 July 2020; Published: 30 July 2020

**Abstract:** The fault detection and isolation are very important for the driving safety of autonomous vehicles. At present, scholars have conducted extensive research on model-based fault detection and isolation algorithms in vehicle systems, but few of them have been applied for path tracking control. This paper determines the conditions for model establishment of a single-track 3-DOF vehicle dynamics model and then performs Taylor expansion for modeling linearization. On the basis of that, a novel fault-tolerant model predictive control algorithm (FTMPC) is proposed for robust path tracking control of autonomous vehicle. First, the linear time-varying model predictive control algorithm for lateral motion control of vehicle is designed by constructing the objective function and considering the front wheel declination and dynamic constraint of tire cornering. Then, the motion state information obtained by multi-sensory perception systems of vision, GPS, and LIDAR is fused by using an improved weighted fusion algorithm based on the output error variance. A novel fault signal detection algorithm based on Kalman filtering and Chi-square detector is also designed in our work. The output of the fault signal detector is a fault detection matrix. Finally, the fault signals are isolated by multiplication of signal matrix, fault detection matrix, and weight matrix in the process of data fusion. The effectiveness of the proposed method is validated with simulation experiment of lane changing path tracking control. The comparative analysis of simulation results shows that the proposed method can achieve the expected fault-tolerant performance and much better path tracking control performance in case of sensor failure.

**Keywords:** autonomous vehicle; model predictive control; path tracking control; fault detection and isolation

#### **1. Introduction**

Fault signal detection and isolation, as well as fault-tolerant control systems, are important contents in the research field of autonomous vehicle and prerequisites for ensuring the driving safety in complex traffic scenarios. The failure of autonomous vehicles mainly occurs in the process of sensing information acquisition and motion state transmission. Fault detection and isolation algorithms are widely used in various unmanned systems, such as ground autonomous vehicles [1], underwater robots [2], and autonomous helicopters [3]. For autonomous vehicle systems, fault signal detection and isolation algorithms play an important role in autonomous environment perception, decision making, and motion control. In order to effectively detect and isolate fault signals and perform stable motion control, many schemes and technologies have been proposed, which can be divided into: the nonlinear algorithms [4] and the linear algorithms [5,6]. With the continuous development of autonomous vehicle technology, the types and number of on-board sensors also continue to increase, and the fault sensor signals have become the main reason for vehicle failure [7–9].

Sensor failure detection and isolation based on model information is a commonly used method [10]. Marzat J. and Avram R.C. et al. proposed sensor fault detection and isolation algorithms using control model information [11] and sliding mode observer [12], respectively. The evaluation and performance of model-based fault detection and isolation algorithms always depend on the accuracy of the system model used. Because the vehicle is a highly coupled and complex nonlinear system, it is impossible to obtain some vehicle parameters accurately, and the vehicle system model established always has uncertainty. In order to better detect faults and isolate fault signals at the site, some methods and strategies that are not model-based are proposed. Methods such as fuzzy logic [13,14], neural network [15,16], and Kalman filter [17] are used to estimate uncertain parameters in nonlinear systems. The performance of model-based fault detection and isolation methods rely on accurate linear system modeling. For the nonlinear systems [18], satisfactory results cannot be obtained by using these methods. However, the model-based methods that require less calculation and real-time performance are also better. Therefore, those model-based methods are still widely used in solving real engineering problems.

Recently, model-based fault detection and isolation algorithms for vehicle systems have been extensively studied. In particular, Chamseddine [19] used a sliding mode observer based on a quarter car model to detect sensor failures in vehicle systems. Although fault detection algorithms are robust to interferences, additional sensors such as displacement sensors are still used to replace the commonly used sensor configurations in the commercial vehicles [20]. In References [21,22], the parity check space method, which is typical model-based method, is proposed for fault detection. The applicability and stability of the model-based fault detection and isolation algorithms are usually poor because of the model uncertainty, interference, and sensor noise. In addition, few scholars have studied fault signal detection and isolation algorithms for robust path tracking control autonomous vehicles.

In order to overcome these limitations, this paper proposes a robust fault-tolerant model predictive control algorithm for path tracking of autonomous vehicle. The nonlinear single-track dynamic vehicle model is established as the research object and the linearization is carried out by using Taylor expansion. The model predictive control algorithm is designed for lateral path tracking control of autonomous vehicle. A fault signal detection and isolation algorithm is proposed and its implementation process can be described as follows: first, based on the output error covariance and weighted data fusion method, the optimal motion state information of the autonomous vehicle is obtained. Then, we designed a fault signal detector, composed of a main Kalman filter, three sub-Kalman filters, two state Chi-square detectors, and residuals Chi-square detectors, with fault signal detection matrix as output. Finally, the fault signal matrix is constructed as a diagonal matrix, which will be multiplied by the sensor signal matrix and the weight coefficient matrix to realize fault signal isolation. The single lane changing path tracking control simulation results confirmed the effectiveness of the proposed method in this paper.

The flowchart of the fault-tolerant model predictive control algorithm designed in this paper is shown in Figure 1. Vehicle motion status information can usually be obtained by GPS combined navigation system, visual odometer, and LIDAR SLAM. These sensors and algorithms together form an on-board perception system.

The rest of this paper is organized as follows. In Section 2, the vehicle dynamic model is established and model linearization process is described. In Section 3, the constraints and objective functions are constructed, and the path tracking control algorithm based on model predictive control is designed. In Section 3, the multi-sensor information fusion algorithm, fault signal detection algorithm, and isolation algorithm are described. Section 4 presents experimental verification using lane changing path tracking scenario. Conclusions are given in Section 5.

**Figure 1.** The flowchart of the fault-tolerant model predictive control algorithm.

#### **2. Modeling and Problem Linearization**

The impacts of the vehicle suspension characteristics are relatively small in relation to the research content of vehicle motion control. In this work, the vehicle-tire model is selected, which means no in-depth research on the characteristics of vehicle suspension. At the same time, the dynamic model established in this paper is mainly used to design the predictive model in the model predictive controller. It is required to simplify as much as possible on the basis of more accurately describing the vehicle's dynamic characteristics and reducing the amount of calculation. The following idealized assumptions are first proposed when performing dynamic modeling: (1) Ignoring road fluctuations and assuming that the vehicle is always driving on a flat road without vertical motion; (2) Ignoring suspension motion and the effect of the suspension structure on the coupling relationship; (3) The load movement of the front and rear axles is not considered, and the left and right transfer of the load is ignored; (4) Only the tire cornering characteristics are considered, and the vertical and horizontal coupling relationships are ignored; (5) Mechanical effects of steering system are also ignored. In this paper, a 3-degree-of-freedom single-track vehicle dynamics model is constructed, including longitudinal motion, lateral motion, and yaw (see Figure 2).

**Figure 2.** Schematic of the single-track vehicle model.

The longitudinal force, lateral force, and yaw motions of the vehicle can be written as:

$$\begin{cases} m(\ddot{\mathbf{x}} - \dot{\mathbf{y}}\dot{\boldsymbol{\varphi}}) = \boldsymbol{\Sigma} \cdot \mathbf{F}\_x = 2\boldsymbol{F}\_{lf}\cos\delta\_f - 2\boldsymbol{F}\_{cf}\sin\delta\_f + 2\boldsymbol{F}\_{lr} \\ m(\ddot{\mathbf{y}} + \dot{\mathbf{x}}\dot{\boldsymbol{\varphi}}) = \boldsymbol{\Sigma} \cdot \mathbf{F}\_y = 2\boldsymbol{F}\_{lf}\sin\delta\_f - 2\boldsymbol{F}\_{cf}\cos\delta\_f + 2\boldsymbol{F}\_{cr} \\\ I\_z \ddot{\boldsymbol{\varphi}} = \boldsymbol{\Sigma} \cdot \mathbf{M}\_z = 2\boldsymbol{L}\_f \Big(\mathbf{F}\_{lf}\sin\delta\_f + \mathbf{F}\_{cf}\cos\delta\_f\Big) - 2\boldsymbol{L}\_r \mathbf{F}\_{cr} \end{cases} \tag{1}$$

where *m* is the vehicle mass; ϕ is the yaw angle; *x* and *y* are the longitudinal and lateral position, respectively; δ*<sup>f</sup>* is the front wheel rotation angle; *Iz* is the *z*-axis moment of inertia; *Fx* is the total longitudinal force on the vehicle; *Fy* is total lateral force on the vehicle; *Mz* is the total yaw moment on the vehicle; *Fc f* , *Fcr* are the lateral forces on the front and rear tires of the vehicle, and are related to the corner stiffness and corner angle of vehicle tires; *Fl f* , *Flr* are longitudinal forces on the front and rear tires of the vehicle, which are related to the longitudinal stiffness and slip rate of the tire; *Fx f* , *Fxr* are the forces on the front and rear tires in the *x* direction; *Fy f* , *Fyr* are the forces on the front and rear tires in the *y* direction; *Lf* and *Lr* are the distances from the front and rear axis to the center of mass.

According to Equation (1), the vehicle dynamics model involves vehicle tire forces. The longitudinal and lateral forces are related to vertical load, road friction coefficient, slip rate, and tire corner angle:

$$\begin{cases} \quad \mathcal{F}\_l = f\_l(\mathcal{F}\_z, s\_\prime \mu, \alpha) \\ \quad \mathcal{F}\_c = f\_c(\mathcal{F}\_z, s\_\prime \mu, \alpha) \\ \quad s = \begin{cases} rw\_l/v - 1, \ (v > rw\_{l\prime}, v \neq 0) \\ 1 - rw\_l/v, \ (v < rw\_{l\prime}, w\_l \neq 0) \\ \alpha = \tan^{-1}(v\_\varepsilon/v\_l) \end{cases} \end{cases} \tag{2}$$

where *Fz* is the vertical load; *s* is the slip rate; μ is the road surface adhesion coefficient; α is the tire cornering angle; *wt* is the wheel speed; *r* is the wheel radius; *vl* is the longitudinal speed; and *vc* is the lateral speed, which can be expressed by *vx* and *vy*:

$$\begin{cases} \upsilon\_l = \upsilon\_y \sin \delta\_y + \upsilon\_x \cos \delta\_y \\ \upsilon\_\varepsilon = \upsilon\_y \cos \delta\_y - \upsilon\_x \sin \delta\_y \end{cases} \tag{3}$$

Generally, the tire speed of a vehicle is difficult to obtain directly, which can be obtained by calculating the vehicle speed:

$$\begin{cases} v\_{yf} = \dot{y} + L\_f \dot{q} \\ v\_{yr} = \dot{y} - L\_r \dot{q} \\ v\_{xf} = \dot{x} \\ v\_{xr} = \dot{x} \end{cases} \tag{4}$$

When constructing the vehicle dynamics model, the front and rear axle load movements have been ignored. Therefore, the vertical load on the front and rear wheels of the vehicle can be calculated as:

$$\begin{cases} \begin{array}{l} \mathrm{F}\_{zf} = \mathrm{L}\_{r}\mathrm{mg} / \left( 2\mathrm{L}\_{f} + 2\mathrm{L}\_{r} \right) \\ \mathrm{F}\_{zr} = \mathrm{L}\_{f}\mathrm{mg} / \left( 2\mathrm{L}\_{f} + 2\mathrm{L}\_{r} \right) \end{array} \tag{5}$$

Generally, a vehicle in a stable driving state has a small variation angle and a slip rate. According to the Semi-Empirical Tire-Model [23], we know that the tire dynamics, including the tire longitudinal force, the tire lateral force, and the tire aligning torque, have obvious nonlinear characteristics, but the simulation results in References [24,25] show that the tire forces can be approximated by a linear equation when the longitudinal slip rate and the tire variation angle change in a small range. In addition, there are a large number of trigonometric functions in the vehicle dynamics model. Since each angle involved in the dynamics model is in a small angle interval, each trigonometric function can satisfy the following approximate conditions: *cos*θ ≈ 1, *sin*θ = 0, *tan*θ = θ. After introducing the corner stiffness, corner angle, longitudinal stiffness, and slip rate, the tire force of the vehicle can be expressed as:

$$\begin{cases} F\_{lf} = \mathcal{C}\_{lf} \mathbf{s}\_f \\ F\_{lr} = \mathcal{C}\_{lr} \mathbf{s}\_r \\ F\_{cf} = \mathcal{C}\_{cf} \Big[ \delta\_f - \left( \dot{\mathbf{y}} + L\_f \dot{q} \right) / \dot{\mathbf{x}} \Big] \\ F\_{cr} = \mathcal{C}\_{cr} (L\_f \dot{q} - \dot{\mathbf{y}}) / \dot{\mathbf{x}} \end{cases} \tag{6}$$

where *Cc f* , *Ccr* are the lateral stiffness of the front and rear tires; *Cl f* , *Clr* are the longitudinal stiffness of the front and rear tires; *Sf* , *Sr* are the slip ratio of the front and rear tires.

Nonlinear vehicle dynamics model can be written as:

$$\begin{cases} \ddot{\mathbf{x}} = \dot{y}\dot{q} + (2/m) \Big[ \mathbf{C}\_{lf}\mathbf{s}\_f - \mathbf{C}\_{cf} \Big[ \delta\_f - \left( \dot{y} + \mathbf{L}\_f \dot{q} \right) / \ddot{\mathbf{x}} \Big] \delta\_f + \mathbf{C}\_{lr} s\_r \Big] \\ \ddot{y} = -\dot{x}\dot{q} + (2/m) \Big[ \mathbf{C}\_{lf}\mathbf{s}\_f \delta\_f + \mathbf{C}\_{cf} \Big[ \delta\_f - \left( \dot{y} + \mathbf{L}\_f \dot{q} \right) / \ddot{\mathbf{x}} \Big] - \mathbf{C}\_{cr} \Big( \dot{y} - \mathbf{L}\_r \dot{q} \Big) / \dot{\mathbf{x}} \Big] \\ \dot{\boldsymbol{\varrho}} = \dot{\boldsymbol{\varrho}} \\ \ddot{\boldsymbol{\varrho}} = \begin{pmatrix} 2L\_f/L\_z \Big] \Big[ \mathbf{C}\_{lf}\mathbf{s}\_f \delta\_f + \mathbf{C}\_{cf} \Big[ \delta\_f - \left( \dot{y} + \mathbf{L}\_f \dot{q} \right) / \ddot{\mathbf{x}} \Big] \Big] + \left( 2L\_r/I\_z \right) \mathbf{C}\_{cr} \Big( \dot{y} - L\_r \dot{q} \Big) / \ddot{\mathbf{x}} \\ \dot{Y} = \dot{x}\sin\boldsymbol{\varrho} + \dot{y}\cos\boldsymbol{\varrho} \end{cases} \end{cases} \tag{7}$$

For the convenience, <sup>ξ</sup>*dyn* <sup>=</sup> . *x*, . *y*,ϕ, . ϕ, *X*,*Y <sup>T</sup>* are system state quantities and *udyn* <sup>=</sup> <sup>δ</sup>*<sup>f</sup>* is the system control quantity.

#### *Linearization of Vehicle Dynamics Model*

For autonomous vehicle, the lateral motion control is to control the front wheel rotation angle, and then realize path tracking. Therefore, this paper selects path tracking as the ultimate goal of autonomous vehicle lateral control, and the tracking accuracy as the main indicator to measure the performance of the control system. Model predictive control can be divided into linear time-varying model predictive control (LMPC) [26] and nonlinear model predictive control (NMPC) [27]. Compared with NMPC, the LMPC uses the linear predictive model and has better real-time performance, which is a very important character for the motion control of autonomous vehicles. Thus, the LMPC is used in this work.

The vehicle model established in this work is a nonlinear model, which needs to be linearized. The state quantity and control quantity of the system satisfy the following relationship:

$$
\dot{\xi}\_r = f(\xi\_r, u\_r) \tag{8}
$$

Perform Taylor expansion at (ξ*r*, *ur*), retain the first-order terms, and ignore the higher-order terms, we get:

$$\dot{\boldsymbol{\xi}} = f(\boldsymbol{\xi}\_{r}, \boldsymbol{u}\_{r}) + \left. \frac{\partial f}{\partial f \boldsymbol{\xi}} \right|\_{} \boldsymbol{\xi} = \boldsymbol{\xi}\_{r} \quad \left( \boldsymbol{\xi} - \boldsymbol{\xi}\_{r} \right) + \left. \frac{\partial f}{\partial \boldsymbol{u}} \right|\_{} \boldsymbol{\xi} = \boldsymbol{\xi}\_{r} \quad \left( \boldsymbol{u} - \boldsymbol{u}\_{r} \right) \\ \boldsymbol{u} = \boldsymbol{u}\_{r} \quad \quad \boldsymbol{u} = \boldsymbol{u}\_{r} \end{aligned} \tag{9}$$

The formula can be transformed into:

$$\dot{\xi} = f(\xi\_r, \mu\_r) + f\_f(\xi)(\xi - \xi\_r) + f\_f(\mu)(\mu - \mu\_r) \tag{10}$$

where *Jf*(ξ) and *Jf*(*u*) are the Jacobian matrixes of *f* relative to ξ and *u*, respectively.

Subtract the formula to get: .

$$\overline{\xi} = A(t)\overline{\xi} + B(t)\overline{\mu} \tag{11}$$

The linearized system equation can be written as:

$$\begin{cases} \dot{\xi} = A(t)\xi(t) + B(t)u(t) \\ y = \mathbb{C}\xi(t) \end{cases} \tag{12}$$

where *A*(*t*) = ∂ *f*/∂ξ, *B*(*t*) = ∂ *f*/∂*u*, *C* = (0, 0, 0, 0, 1, 0) *<sup>T</sup>*, and:

$$A(t) = \begin{bmatrix} -\frac{2C\_{cf}\dot{\phi}\_{f-1}\left(\dot{y}\_{f} + \dot{y}\_{f}\right)}{m\_{1}^{2}} & \dot{\eta}\_{f} + \frac{2C\_{cf}\dot{\phi}\_{f-1}}{m\_{2}} & 0 & \dot{y}\_{f} + \frac{2C\_{cf}\dot{\phi}\_{f-1}\dot{y}\_{f}}{m\_{1}^{2}} & 0 & 0\\ \frac{2\left[C\_{f}\left(\dot{y}\_{f} + \dot{y}\_{f}\right) - C\_{cf}\left(\dot{\phi}\_{f} - \dot{y}\_{f}\right)\right]}{m\_{1}^{2}} - \dot{\eta}\_{f} & -\frac{2\left[C\_{cf} + C\_{cf}\right]}{m\_{2}} & 0 & -\dot{\eta}\_{f} + \frac{2\left(C\_{cf}\dot{\phi}\_{f} - C\_{f}\dot{I}\_{f}\right)}{m\dot{\eta}\_{f}} & 0 & 0\\ 0 & 0 & 0 & 1 & 0 & 0\\ \frac{2\left[C\_{cf}\left(\dot{y}\_{f} + \dot{y}\_{f}\right) - C\_{cf}\left(\dot{\phi}\_{f} - \dot{y}\_{f}\right)\right]}{l\dot{\eta}\_{f}^{2}} & \frac{2\left(C\_{cf}\dot{\phi}\_{f} - C\_{f}\dot{I}\_{f}\right)}{l\dot{\eta}\_{f}} & 0 & \frac{2\left(C\_{cf}\dot{\phi}\_{f}^{2} + C\_{cf}\dot{I}\_{f}\right)}{l\dot{\eta}\_{f}} & 0 & 0\\ \cos\left(\dot{\eta}\_{f}\right) & -\sin\left(\dot{\eta}\_{f}\right) & -\dot{x}\_{f}\sin\left(\dot{\eta}\_{f}\right) - \dot{y}\_{f}\cos\left(\dot$$

$$B(t) = \begin{bmatrix} -\frac{2\mathbb{C}\_{\varepsilon f}}{m} \Big( 2\delta\_{f, t-1} - \frac{\dot{y}\_t + L\_f \dot{\varphi}\_t}{\dot{x}\_l} \Big) & \frac{2\Big( \mathbb{C}\_{lf}\varepsilon\_f + \mathbb{C}\_{\varepsilon f} \Big)}{m} & 0 & \frac{2\mathbb{L}\_f \Big( \mathbb{C}\_{lf}\varepsilon\_f + \mathbb{C}\_{\varepsilon f} \Big)}{m} & 0 & 0 \end{bmatrix} \tag{14}$$

Discrete the above formula using the first-order difference quotient method to obtain the discrete state space equation:

$$\begin{cases} \, \, \xi(k+1) = A(k)\xi(k) + B(k)u(k) \\ \, \, \zeta(k) = C\xi(k) \end{cases} \tag{15}$$

where *A*(*k*) = *I* + *TA*(*t*), *B*(*k*) = *I* + *TB*(*t*), and T is sampling time.

After introducing the incremental model, the state-space equation can be written as:

$$\begin{cases} \Delta \xi(k+1) = A(k)\Delta \xi(k) + B(k)\Delta u(k) \\ \zeta(k) = C\Delta \xi(k) \end{cases} \tag{16}$$

#### **3. Model Predictive Controller for Vehicle Lateral Motion Control**

#### *3.1. Construct the Objective Function*

This paper uses the following objective function:

$$J(k) = \sum\_{i=1}^{N\_p} \left\| \Delta \eta (k + i \vert k) \right\|\_{Q}^{2} + \sum\_{i=1}^{N\_c - 1} \left\| \Delta u (k + i \vert k) \right\|\_{\mathcal{R}}^{2} + \rho \varepsilon^2 \tag{17}$$

where ρ is the weight coefficient; ε is the relaxation factor; *Np* is the prediction time domain and *Nc* is the control time domain; Q is the state weighting matrix; R is the control weighting matrix; Δη(*k* + *i k*) is output deviation; and Δ*u*(*k* + *i k*) is control deviation.

Since the vehicle dynamic model is used and the number of constraints is increased, in order to avoid the occurrence of no optimal solution, a relaxation factor ε is added to the objective function.

#### *3.2. Construct the Constraints*

The most prominent feature of the model predictive control is that it can easily handle the multi-constraint problem. In order to ensure that the reference path can be smoothly tracked, this paper uses the front wheel declination constraint, the front wheel declination incremental constraint, and the tire lateral angle dynamic constraints.

#### 3.2.1. Front Wheel Declination and Its Incremental Constraints

Restrictions on the front wheel deflection angle and front wheel deflection angle of the vehicle can be set according to the actual physical parameters of the vehicle. The control quantity constraint expression is:

$$
\mu\_{\min}(k+t) < \mu(k+t) < \mu\_{\max}(k+t), \, k = 0, 1, \dots, N-1 \tag{18}
$$

The expression of the incremental constraints is:

$$
\Delta u\_{\min}(k+t) < \Delta u(k+t) < \Delta u\_{\max}(k+t), \; k = 0, 1, \cdots, N-1 \tag{19}
$$

In the objective function and constraints, the optimized variable is the control quantity increment in the control time domain. Therefore, the control variable must first be converted into the matrix form of Δ*u*.

The relationship between the control increment and the control quantity can be obtained:

$$\begin{cases} u(t+1) = \Delta u(t) + u(t) \\ u(t+2) = \Delta u(t+1) + \Delta u(t) + u(t) \\ \dots \\ u(t+N) = \Delta u(t+N-1) + \Delta u(t+N-2) + \dots + \Delta u(t) + u(t) \end{cases} \tag{20}$$

Convert Equation (18) to *U*min ≤ *A*Δ*U* + *Ut* ≤ *U*max, where:

$$A = \begin{bmatrix} 1 & 0 & \cdots & 0 \\ 1 & 1 & \cdots & 0 \\ \vdots & \vdots & & \vdots \\ 1 & 1 & \cdots & 1 \end{bmatrix}, \Delta U = \begin{bmatrix} \Delta u\_{\min}(t+1) \\ \Delta u\_{\min}(t+2) \\ \vdots \\ \Delta u\_{\min}(t+N) \end{bmatrix}\_{N \times 1}, \mathcal{U}\_t = \begin{bmatrix} u(t) \\ u(t) \\ \vdots \\ u(t) \end{bmatrix}\_{N \times 1} \tag{21}$$

The constraints of control quantity and control increment ensure that the control output generated by the model prediction controller is physically achievable, but for driving safety and comfort, the dynamic constraints of the vehicle also need to be introduced.

#### 3.2.2. Dynamic Constraint of Tire Cornering

The vehicle sideslip due to wet or slippery roads may cause various accidents. Therefore, it is particularly important to increase vehicle dynamics constraints and reduce the possibility of vehicle sideslip.

The sideslip of the vehicle is closely related to the tire slip angle. When the vehicle runs straight on a horizontal road, the tire slip angle α = 0; when the tire is elastically deformed by lateral force without lateral slip, α ≤ α*max*; when the tire is subjected to excessive lateral force, the vehicle slips, α > α*max*. It can be concluded that the slip angle of the vehicle tire directly reflects whether the vehicle is slipping, and limiting the tire slip angle limits the occurrence of sideslip.

Since the established vehicle dynamics state-space equation does not take the tire slip angle as a state quantity and cannot directly constrain the tire slip angle, this paper needs to find the relationship between the tire slip angle α and the state quantity ξ*(k,t)*. The relationship is to restrain the tire slip angle by imposing a specific relationship constraint on the state quantity.

By Equations (2)–(4), the available tire front and rear wheel angles are:

$$\begin{cases} \alpha\_f = \left( \dot{y} + L\_f \dot{q} \right) / \dot{x} - \delta\_f\\ \alpha\_I = \left( \dot{y} - L\_I \dot{q} \right) / \dot{x} \end{cases} \tag{22}$$

Using ξ*dyn* as the state quantity and *udyn* as the control quantity, linearize the above formula to obtain:

$$\begin{cases} \alpha = E\xi(k,t) + F u\_{dyn}(k,t) \\\ E = \begin{bmatrix} \frac{1}{\bar{x}} & -\frac{\bar{y} + L\_f \bar{\varphi}}{\bar{x}^2} & 0 & \frac{L\_f}{\bar{x}} & 0 & 0 \\\ \frac{1}{\bar{x}} & -\frac{\bar{y} - L\_f \bar{\varphi}}{\bar{x}^2} & 0 & -\frac{L\_f}{\bar{x}} & 0 & 0 \end{bmatrix} \tag{23}$$

where <sup>α</sup> = α*<sup>f</sup>* , α*<sup>r</sup> <sup>T</sup>* is the tire corner angle matrix, *<sup>F</sup>* <sup>=</sup> [−1, 0] *<sup>T</sup>* is the direct transfer matrix, and E is the output matrix.

Based on the above objective function and constraints, the optimization problem of the controller can be described as:

$$\begin{cases} \min\_{\Delta\ell I, \varepsilon} \sum\_{i=1}^{N\_p} \left\lVert \Delta\eta (t+i|t|) \right\rVert\_Q^2 + \sum\_{i=1}^{N\_c-1} \left\lVert \Delta u (t+i|t|) \right\rVert\_R^2 + \rho \varepsilon^2\\ \quad \Delta\ell I\_{\min} \le \Delta\ell I \le \Delta\ell I\_{\max} \\ \Delta\ell I\_{\min} \le A\Delta\ell I + \mathcal{U}\_f \le \Delta\ell I\_{\max} \\ \alpha\_{\min} \le \Delta\alpha \le \Delta\alpha\_{\max} \\ \varepsilon \ge 0 \end{cases} \tag{24}$$

Solving the above formula can get the incremental sequence of control input in each control time domain:

$$
\Delta \mathcal{U}'(k) = \left[ \Delta u^\*(k/k), \Delta u^\*(k+1/k), \dots, \Delta u^\*(k+N-1/k) \right] \tag{25}
$$

Apply the first element of the incremental sequence to the controller as the actual input increment:

$$
\mu(k/k) = \mu(k-1) + \Delta\mu^\*(k/k)\tag{26}
$$

Repeating the above process, the optimal control input to the front wheel angle can be obtained.

3.2.3. Multi-Sensor Information Data Fusion and Fault Signal Isolation

If multi-sensors are used to measure one vehicle motion parameter, we can fuse the outputs of all sensor system using the weight assignment method [28], which can be written as follows:

$$O = \text{WMI} = [w\_1, w\_2, \dots, w\_n] \text{diag}[m\_1, m\_2, \dots, m\_n] \begin{bmatrix} i\_1, i\_2, \dots, i\_n \end{bmatrix}^T \tag{27}$$

where *O* is the result of data fusion; *W* = [*w*1, *w*2, ··· , *wn*] is the weight matrix; *I* = [*i*1, *i*2, ··· , *in*] *<sup>T</sup>* is outputs of each sensor; *n* is the number of sensors; and *M* is fault detection matrix.

The principle of the method can be written as follows:

$$\begin{cases} w\_j = 1/\left[\sigma\_j^2 \sum\_{i=1}^n \left(1/\sigma\_i^2\right)\right] \\ \sum\_{i=1}^n w\_j = 1 \end{cases} \tag{28}$$

where σ*<sup>i</sup>* and σ*<sup>j</sup>* are the output error dispersion of the *i*-th and *j*-th sensors; *i*, *j* = 1, 2, ... *n*.

The true values of vehicle motion states cannot be obtained, and the traditional methods determine the average value of the different sensors outputs as the true value. However, these methods are not suitable in our situation, since different sensors in different conditions can give a deliberately low accuracy or even failure; due to this reason, the average value may have a large difference with the true value, which is extremely harmful to vehicle safety.

If at moment *k*, the sensor *j* gives the measured value *Tj*(*k*), then:

$$\begin{cases} \Delta T\_{\bar{j}}(k) = T\_{\bar{j}}(K) - \stackrel{\circ}{T}\_{\bar{j}}(k) \\ \Delta \overline{T}\_{\bar{j}} = \frac{1}{N} \sum\_{k=1}^{N} \Delta T\_{\bar{j}}(k) \\ \sigma\_{\bar{j}}(k) = \frac{1}{N} \sum\_{k=1}^{N} \left[ \Delta T\_{\bar{j}}(k) - \Delta \overline{T}\_{\bar{j}} \right]^2 \end{cases} \tag{29}$$

where Δ*Tj*(*k*) is the measurement error of the *j*-th sensor at time *k*; Δ*Tj* is the average value of the *j*-th sensor at moment *k*; σ*j*(*k*) is the variance of the output error of the *j*-th sensor at time *k*; *T*ˆ *<sup>j</sup>*(*k*) is prognostic assessment obtained using the Kalman filter; *N* is the number measurements from each sensor.

Since the following filtering process includes the isolation of unreliable data sources and error correction, we can approximately consider the estimated information as the true value.

#### *3.3. Fault Signal Detector Design*

Figure 3 shows the block diagram of proposed faults signals detector.

**Figure 3.** The block diagram of proposed faults signals detector.

Each filter in this detector is standard, we take the Sub\_Kalman\_Filter\_1 for GPS signal channel as an example. The state vector and measurement vector can be written as:

$$\begin{cases} X\_{\rm GPS} = \left[ \Delta \dot{x}, \Delta \dot{y}, \Delta q \gamma, \Delta \dot{q}, \Delta X, \Delta Y \right] \\\ Y\_{\rm GPS} = \Delta q \end{cases} \tag{30}$$

The state-space and measurement-space equations of Kalman Filter from moment *k* − 1 to moment *k* can be written as:

$$\begin{cases} X\_{\rm GPS,k} = F\_{\rm GPS,k} X\_{\rm GPS,k-1} + w\_{\rm GPS,k} \\ \ Y\_{\rm GPS,k} = H\_{\rm GPS,k} X\_{\rm GPS,k} + v\_{\rm GPS,k} \end{cases} \tag{31}$$

where *FGPS*,*<sup>k</sup>* is the state transition matrix, *WGPS*,*<sup>k</sup>* is the process noise, *HGPS*,*<sup>k</sup>* is the measurement transition matrix, and *vGPS*,*<sup>k</sup>* is the measurement noise.

The equations of Kalman Filter can be written as:

$$\begin{cases} \overset{\circ}{X}\_{\text{GPS,jk}-1} = F\_{\text{GPS},k} \overset{\circ}{X}\_{\text{GPS},k-1} \text{|}{\text{K}} - 1\\ \overset{\circ}{P\_{\text{GPS},jk}-1} = F\_{\text{GPS},k} P\_{\text{GPS},k-1} \text{|}{\text{K}} - \overset{\circ}{T}\_{\text{GPS},k}^{T} + Q\_{\text{GPS},k} \\ \overset{\circ}{X}\_{\text{GPS},k} = P\_{\text{GPS},k|k-1} \overset{\circ}{H}\_{\text{GPS},k}^{T} \left(H\_{\text{GPS},k} P\_{\text{GPS},k|k-1} + R\_{\text{GPS},k}^{T}\right)^{-1} \\ \overset{\circ}{X}\_{\text{GPS},k|k} = X\_{\text{GPS},k|k-1} + K\_{\text{GPS},k} \left(Y\_{\text{GPS},k} - H\_{\text{GPS},k} X\_{\text{GPS},k|k-1}\right) \\ P\_{\text{GPS},k|k} = \left(I - K\_{\text{GPS},k} H\_{\text{GPS},k}\right) P\_{\text{GPS},k|k-1} \end{cases} \tag{32}$$

where *PGPS*,*k*|*<sup>k</sup>* is covariance matrix, *KGPS*,*<sup>k</sup>* is the gain matrix, *QGPS*,*<sup>k</sup>* is the process noise covariance matrix, and *RGPS*,*<sup>k</sup>* is the measurement noise covariance matrix.

The equation of state propagator can be written as:

$$\begin{cases} \overset{\circ}{X}\_{i,k|k-1} = F\_{i,k} \overset{\circ}{X}\_{i,k-1|k-1} \\ P\_{i,k|k-1} = F\_{i,k} P\_{i,k-1|k-1} F\_{i,k}^T + Q\_{i,k} \end{cases}, \ i = 1, 2 \tag{33}$$

The χ<sup>2</sup> test method is widely used to detect faults in stochastic dynamic systems based on correspondence between the observed and reference signals [29]. This method can be divided into three types: χ<sup>2</sup> test for residual error; χ<sup>2</sup> test for state with a single state propagator; χ<sup>2</sup> test for state with double state propagators. These methods have their own advantages and disadvantages:

(1) If the test statistics are calculated using the residual error, it is almost impossible to detect the fault in the state transfer process, although the fault of the sensors can be easily detected;

(2) If the test statistics are calculated using the state vector, it is possible to detect the fault in the state transfer process and to evaluate the fault of the sensor indirectly. If only one state propagator is used for correction of the state prediction error, the error accumulates and may diverge with time increases;

(3) If two state propagators are used and alternately reset the outputs, then accumulation of errors can be avoided. However, for this method, if *M* sub-filters are used, then *2M* state propagators should be used, which not only complicates the structure of the algorithm but also affects the speed of calculations.

It can be seen that these methods have their advantages and disadvantages. In this work, a novel robust fault detector is proposed with a structure that simultaneously implements a χ<sup>2</sup> test for residual error and a χ<sup>2</sup> test for state. Double state propagators are used only for the main Kalman filter (see Figure 3), which allows to simplify the structure of the algorithm and increase the speed of calculations. As an example, Figure 4 shows the diagram of the Fault\_Dignal\_Detector\_1.

**Figure 4.** The diagram of the Fault\_Signal\_Detector\_1.

As long as one test channel detected a fault, it can be considered as fault signal. In addition, since the state vectors of all filters are the same, we use only two state propagators. Derive the state χ<sup>2</sup> test with two state propagators and define error state vectors as:

$$\begin{cases} \ \ \ \varepsilon\_{i,k} = X\_k - \stackrel{\cdot}{X}\_{i,k} \\ \ \ \ \varepsilon\_{\text{GPS},k} = X\_k - X\_{\text{GPS},k} \end{cases} \tag{34}$$

where *Xk* is true state vector, <sup>ˆ</sup> *XGPS*,*<sup>k</sup>* is estimation from Sub\_Kalman\_Filter\_1 for GPS signal channel, and <sup>ˆ</sup> *Xi*,*<sup>k</sup>* is estimation error from state propagator *i*. In this paper, we consider the following variable to detect fault signal from Sub\_Kalman\_Filter\_1 for GPS signal channel:

$$
\hat{\boldsymbol{\beta}}\_{\text{GPS},k} = \boldsymbol{\varepsilon}\_{i,k} - \boldsymbol{\varepsilon}\_{\text{GPS},k} = \hat{\boldsymbol{X}}\_{\text{GPS},k} - \hat{\boldsymbol{X}}\_{i,k} \tag{35}
$$

The variance of this variable can be written as:

$$T\_{\rm GPS,k} = \mathbb{E}\left[\boldsymbol{\rho}\_{\rm GPS,k}^{\rm T}\boldsymbol{\rho}\_{\rm GPS,k}^{\rm T}\right] = \mathbb{E}\left\{\boldsymbol{e}\_{\rm GPS,k}\boldsymbol{e}\_{\rm GPS,k}^{\rm T} - \boldsymbol{e}\_{\rm GPS,k}\boldsymbol{e}\_{\rm i,k}^{\rm T} - \boldsymbol{e}\_{\rm i,k}\boldsymbol{e}\_{\rm GPS,k}^{\rm T} + \boldsymbol{e}\_{i,k}\boldsymbol{e}\_{i,k}^{\rm T}\right\} = \boldsymbol{P}\_{\rm GPS,k} - \boldsymbol{P}\_{\rm GPS\\_i,k} - \boldsymbol{P}\_{i,\rm GPS,k} + \boldsymbol{P}\_{i,k} \tag{36}$$

where *PGPS*\_*i*,*<sup>k</sup>* and *Pi*\_*GPS*,*<sup>k</sup>* is the cross-covariance.

We set the same initial conditions for the Sub\_Kalman\_Filter\_1 for GPS signal channel and the state propagator *i*, then we can obtain *PGPS*\_*i*,*<sup>k</sup>* = *Pi*\_*GPS*,*<sup>k</sup>* = *Pi*,*k*, therefore, the variance can be written as:

$$T\_{GPS,k} = P\_{GPS,k} - P\_{i,k} \tag{37}$$

Define the fault detection function:

$$
\lambda\_{\rm GPS,k} = \beta\_{\rm GPS}^T T\_{\rm GPS,k}^{-1} \beta\_{\rm GPS} \tag{38}
$$

The fault decision criteria can be written as:

$$\begin{cases} \lambda\_{\text{GPS},k} \ge \varepsilon\_{\beta\prime} \text{ fault} \\ \lambda\_{\text{GPS},k} < \varepsilon\_{\beta\prime} \text{ no fault} \end{cases} \tag{39}$$

where the threshold εβ is determined by the function of false alarm rate based on statistical results.

In this paper, we use the state χ<sup>2</sup> test with two state propagators. The working principle can be described as follows: during period *tk* a fault occurs and the switch *K*<sup>1</sup> is located at position " *L*1", switch *K*<sup>2</sup> is located at position " *L*2", the output of State\_Propagator\_1 is uncorrected due to this fault, but the output of State\_Propagator\_2 is obtained using the previous correct state, which can be used for fault correction. During period *tk*+1, errors in State\_Propagator\_1 are corrected using the outputs of Kalman filter. After a time period Δ*t*, the *K*<sup>1</sup> switch is located at position "*L*2", the switch *K*<sup>2</sup> is located at position "*L*1", and the State\_Propagator\_2 is used to correct the fault.

Test χ<sup>2</sup> residual error of Sub\_Kalman\_Filter\_1 can be written as:

$$d\_{\rm GPS,k} = \Delta\varphi\_{\rm GPS,k} - \Delta\hat{\varphi}\_{i,k} \tag{40}$$

Covariance residual error:

$$\mathcal{S}\_{\rm GPS,k} = H\_{\rm GPS,k} P\_{\rm GPS,k} H\_{\rm GPS,k}^T + R\_{\rm GPS,k} \tag{41}$$

Define the fault detection function:

$$
\gamma\_{\rm GPS,k} = d\_{\rm GPS,k}^T S\_{\rm GPS,k}^{-1} d\_{\rm GPS,k} \tag{42}
$$

Fault decision criteria can be written as:

$$\varepsilon \left\{ \begin{array}{c} \gamma\_{\text{GPS},k} \ge \varepsilon\_{d\prime} \text{ fault} \\ \gamma\_{\text{GPS},k} < \varepsilon\_{d\prime} \text{ no fault} \end{array} \right. \tag{43}$$

where the threshold ε*<sup>d</sup>* is determined by the function of false alarm rate based on statistical results.

If the state χ<sup>2</sup> test or the residual error χ<sup>2</sup> test detected a fault, then *mg* = 0, otherwise *mg* = 1.

#### **4. Simulation Experiment Verification and Discussion**

#### *4.1. Working Conditions Description*

In order to verify the feasibility and effectiveness of the proposed method, the Driving Scenario Designer was used to build a simulated driving environment with two straight lanes, and the reference path and yaw angle were collected, as shown in Figure 5a. The system model was built in the Matlab/Simulink environment.

**Figure 5.** Driving scenario and reference path: (**a**) driving scenario; (**b**) reference path.

In Figure 5a, the simulation vehicle starts from the right lane and then changes lanes to the left. From Figure 5b, we can observe that the simulation vehicle is initially located at *x* = −10, *y* = 0, and then changes lanes at *x* = 0, *y* = 0. The lane changing process is completed at *x* = 80 m, and the position of the center of mass on the *Y*-axis reaches *y* = 4 m.

Figure 6a shows the values of vehicle yaw angle obtained by different sensors in the simulation process. Figure 6b shows the reference yaw angle of the vehicle and the yaw angle after data fusion.

**Figure 6.** The yaw angle: (**a**) yaw angle detected using different sensors; (**b**) the reference and fused yaw angle.

The horizontal axis represents time, and the vertical axis represents the values of yaw angle. It can be seen that from moment 0s to 3s, the measured values of Vision, GPS, and LIDAR systems are similar. In the simulation process, we assume that the GPS signal has interfered from 3 to 6 s, and the obtained yaw angle value has a large deviation. After 6s, the GPS signal returns to normal.

It can be seen that the fused yaw angle is always less than the value of the reference yaw angle before 2.3s and the fused yaw angle is greater than the value of the reference yaw angle between 2.3s to 5s. According to the trend of the two curves in the image, we know that the path tracking control performance of straight line is significantly better than the curve line during the process of lane change.

The type of simulated autonomous vehicle used in our paper is passenger car. The simulation environment and initial simulation condition settings are shown in Table 1:


**Table 1.** The simulation parameters.

#### *4.2. E*ff*ectiveness of the Proposed Method*

The yaw angle errors are shown in Figure 7.

**Figure 7.** The yaw angle errors.

It can be seen that except GPS, the deviation between other measurement data and reference value is extremely small, and their absolute values are not more than 0.01 rad. However, when it comes to GPS data, the deviation is about 0.7rad at 3s, which is unacceptable considering the maxim yaw angle about 0.09 rad.

Figure 8 shows the value of simultaneous interpreting of three different sensors based on Chi-square test.

**Figure 8.** Yaw test statistic of: (**a**) state Chi-square test; (**b**) residuals Chi-square test.

Figure 8a is the value obtained by state chi-square test, and Figure 8b is the value obtained by residuals error chi-square test. In Figure 8a, the calculated values λ of state chi-square test of Vision, GPS, and LIDAR channels are very small, which are always below the order of magnitude 10<sup>−</sup>7, when all sensor systems work without fault. In contrast, when the fault of GPS signal occurs, the calculated values of state chi-square test of GPS channel sharply increase at 3s, reaching more than the order of magnitude 5<sup>×</sup> 10−6. In Figure 8b, the calculated values <sup>γ</sup> of state residuals test of Vision, GPS, and LIDAR channels are generally not exceed 2 <sup>×</sup> 10<sup>−</sup>8, when all sensor systems work without fault. However, in the period of 3s-5s, when the GPS signal has fault, the calculated values γ of residuals error chi-square test of GPS signal channel is much higher, and even reaches more than 5 <sup>×</sup> <sup>10</sup>−<sup>7</sup> at 3 s.

Figure 9a shows the lateral position changes of the vehicle obtained by Vision, GPS, and LIDAR sensor systems. Figure 9b shows the reference lateral position of the vehicle and the lateral position after data fusion.

**Figure 9.** The lateral position: (**a**) lateral position detected using different sensors; (**b**) the reference and fused lateral position.

It can be seen from Figure 9 that the lateral position obtained by GPS signal has obvious deviation in the time period of 3-6s, and the lateral position obtained by multi-sensor data fusion method is basically consistent with the reference lateral position. However, a small deviation between the reference and fused lateral position still exists due to the performance of path tracking controller.

Figure 10 shows the deviation of the measured lateral position by different sensor systems.

**Figure 10.** The lateral position error.

It can be seen from Figure 10 that the measurement deviations of vision and LIDAR have remained at a very small range, while the measurement error of GPS data gradually increases from about 1.5m to more than 3m in the period of 3-6s due to sensor failure. Considering that the lane width is only 4m, the GPS sensor fault is unacceptable and needs to be isolated.

Figure 11 shows the value of the fault detection function calculated by chi-square test for different sensor systems. Figure 11a shows the value obtained by state chi-square test and Figure 11b shows the value obtained by residuals chi-square test.

**Figure 11.** Lateral position test statistic of: (**a**) state Chi-square test; (**b**) residuals Chi-square test.

In Figure 11a, it can be seen that the calculated values of λ state chi-square test of vision and LIDAR channels are very small, basically below 2 <sup>×</sup> <sup>10</sup><sup>−</sup>5, occasionally exceeding the order of magnitude 10−5, but they are still extremely small. Comparatively, the data of GPS channel reaches the order magnitude of 10−<sup>3</sup> at 3 s, or even more than 10−<sup>2</sup> at 6 s, which is much larger than that of vision and LIDAR channels. In Figure 11b, the calculated value <sup>γ</sup> of vision channel reaches about 1 <sup>×</sup> 10−<sup>6</sup> at the initial stage but always below the order magnitude of 10−<sup>6</sup> in the following time. The calculated value γ of GPS data is extremely large from 3 s to 6 s, reaching the order magnitude of 10−<sup>3</sup> due to the GPS sensor failure. The calculated values <sup>γ</sup> of LIDAR data fluctuate greatly, but they are all below 1 <sup>×</sup> <sup>10</sup><sup>−</sup>5, which is also a reasonable interference situation.

From the above description and analysis of Figure 7 to Figure 11, it can be seen that the proposed method can detect the fault signal robustly when the sensor failure occurs.

Figure 12 shows the simulation results of path tracking control with and without fault isolation. The three curves in Figure 12a represent the reference lateral position, after fault isolation and before fault isolation. Figure 12b shows the lateral position error before and after fault isolation in the simulation process. From Figure 12a,b, it can be seen that without fault isolation, it is almost impossible to realize the path tracking control due to sensor faults. After fault isolation, the deviation between the actual lateral position and the reference lateral position is maintained within a very small range,

which validates the effectiveness of the proposed fault-tolerant MPC algorithm for path tracking of autonomous vehicle.

**Figure 12.** The path tracking control simulation results: (**a**) the lateral position changes; (**b**) the lateral position error before and after fault isolation; (**c**) the yaw angle changes; (**d**) the yaw angle error before and after fault isolation.

Figure 12c,d show the yaw angle obtained before and after fault isolation and the yaw angle error with respect to the reference values. From Figure 12c,d, it can be seen that with fault isolation, actual yaw angle of vehicle almost coincides with the reference yaw angle, while without fault isolation the yaw angle error is extremely large after 1s. From Figure 12d, the yaw angle error without fault isolation can reach—0.5 rad to 1.1 rad, while the reference value of yaw angle is always below 0.1rad, which means yaw angle error without fault isolation may reach 5–10 times more than the reference, and vehicle cannot track the reference path under this condition, which may lead to serious consequences. On the contrary, after fault isolation processing, the yaw angle error is always below 0.02 rad, which is extremely small for path tracking control.

#### *4.3. Discussion of the Background and Outcomes of Our Work*

With the continuous increasing requirements for the safety and environmental adaptability of autonomous vehicles, the on-board environmental perception systems have become more and more complex, and the types and numbers of sensors have also increased. The risk of sensor failures is also increased, which has a serious impact on vehicle safety. Therefore, the detection of faulty sensor signals and fault-tolerant control mechanism is very important to autonomous driving safety. In our work, we established a single-track 3 DOF vehicle dynamics model and based on this model, a fault-tolerant model predictive control method was developed. Our motivation for designing this algorithm is to enable the autonomous vehicle to effectively detect and isolate the fault signal and to perform robust longitudinal path tracking motion control when the sensor failure occurs.

In order to verify the effectiveness of the method proposed in this paper, we set up a single lane changing path tracking control condition in Driving Scenario Designer. The vehicle motion state information, such as the lateral position and yaw angle, can be obtained by the GPS integrated navigation system, LIDAR perception system, and visual perception system. We assume that there is interference in the simulation environment, which causes the GPS signal to be temporarily lost. The description and analysis of simulation results show that the proposed fault-tolerant MPC algorithm can effectively detect the fault signal when the sensor failure occurs. The value of fault detection functions of fault yaw angle signal and fault lateral position signal is 10 and 100 times, respectively, more than that of normal signals. This means that we can easily detect the fault signal by setting the appropriate threshold and generate the corresponding fault detection matrix. The fault isolation is accomplished in the process of data fusion, which is one of the innovations of our work. With the fault signal isolation, the path tracking control performance of autonomous vehicle can be significantly improved, further confirming the effectiveness and robustness of the proposed algorithm in this work.

#### **5. Conclusions**

In this paper, a novel and robust fault-tolerant model predictive control algorithm was proposed, which can be used for robust vehicle lateral motion control in case of sensor failures. First, by constructing the objective function and considering dynamic constraints, the linear time-varying model predictive control algorithm for path tracking control of vehicle was designed. Second, an improved weighted data fusion algorithm was proposed for multi-sensor information fusion and fault signal isolation. Then, based on Chi-square detectors and Kalman filters, we designed a novel fault signal detection algorithm, which can produce the fault detection matrix used in data fusion algorithm for fault signal isolation. Finally, a lane changing path tracking control simulation was carried out for validation of the effectiveness and correctness of the proposed algorithm. The simulation results show that the proposed algorithm can efficiently detect the fault signal. After the fault signal isolation, the reference path can be effectively tracked by using the proposed fault-tolerant MPC algorithm. In further studies, this method can be combined with reinforcement learning to improve fault detection and isolation performance. We will explore the effectiveness of the proposed method for fault detection in electronic fuel injection system, automatic steering control system, suspension systems, etc. Meanwhile, we will extend our fault-tolerant model predictive control algorithm into the fault diagnosis fields that are out of the real driving environment, for instance, fault diagnosis in complex driving scenarios and strong environmental noise conditions. In addition, considering the longitudinal speed changes and the adaptive MPC algorithm can be used to improve the path tracking performance of motion controller. It is worth noting that we approximately use the fused multi-sensor data as the real motion states of vehicle, which means that when faults occur to most or all sensors, our proposed method is invalid. In addition, the robustness is weak by using the thresholds to detect the fault signal in our method. For solving these two problems, using the convolutional neural network to automatically extract the features of the fault detection function and detect the sensor fault could be a reliable solution.

**Author Contributions:** In this article, the author's contributions are shown below: Methodology, K.G.; writing—original draft preparation, Z.W.; project administration, N.A.C.; data curation, Z.W.; investigation, K.G.; resources, K.G. All authors have read and agreed to the published version of the manuscript.

**Funding:** The research is supported by the National Key Research and Development Program of China (Grant No. 2016YFD0700905), National Natural Science Foundation of China (Grant No. 51905095), and National Natural Science Foundation of Jiangsu Province (Grant No. BK20180401).

**Conflicts of Interest:** The authors declare no conflict of interest.

#### **References**


© 2020 by the authors. Licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution (CC BY) license (http://creativecommons.org/licenses/by/4.0/).

*Review*
