1 Introduction

Compared with a traditional vehicle, the main advantage of distributed drive electric vehicle (DDEV) is that more actuators can be controlled, and this advantage provides a possibility to achieve better stability performance [1, 2]. In the past few decades, the studies of vehicle stability have become an active area in the automotive field [3]. However, the stability performance of DDEV is usually affected by the unknown fault, especially the actuator fault [4, 5].

In general, the actuator fault occurring on the steering system or in-wheel motor may result in unwanted effect and jeopardize of the vehicle motion [6, 7]. When a fault occurs on the in-wheel motor or steering system, the faulty wheel or faulty steering system may fail to provide the expected torque or expected steering angle, respectively [8, 9]. In these cases, the difficulty of stability control of DDEV is increased. Therefore, the fault-tolerant controller has been proposed to overcome the effect of fault in the actuator of vehicle [10, 11]. In detail, the actuator fault type is usually divided into loss-of-effectiveness actuator fault and struck at a fixed-level actuator fault [12]. Dual-motor controller control system architectures for loss-of-effectiveness actuator fault is adopted [13]. Aiming to reduce the struck at a fixed-level actuator fault, analytical redundancy-based methods are proposed [14].

For the fault-tolerant method, many control algorithms have been designed. The sliding mode controllers are designed to solve the problems of longitudinal velocity, lateral velocity and yaw rate, respectively [15]. The structural recoverability algorithm has been proposed to solve the redundancy actuator fault efficiently [16]. As an efficient method, the adaptive control is designed for active fault diagnosis [17]. For solving the actuator fault with external disturbance and parameter uncertainty, the robustness H \({\infty }\) controller has been utilized [18]. However, most of the above-mentioned fault-tolerant controllers are only designed for one special fault status. Therefore, the stability of DDEV under various fault status is difficult to be guaranteed.

To solve the various fault status problem, a novel MMFTCS is proposed. The MMFTCS integrates an operating status recognizer and a fault-tolerant controller set, and both of two parts are designed based on multiple model method. The main merits of this work cover the following points:

  1. (1)

    To classify the different fault status, the operating status of DDEV can be divided into eight typical operating modes, including a normal mode and seven fault modes.

  2. (2)

    To distinguish current status accurately, the matching degree between current operating status and typical operating mode set is represented as the weight coefficient, in the operating status recognizer.

  3. (3)

    The fault-tolerant controller set is designed for each typical operating mode to deal with the different actuator faults problem, and realized by the linear-quadratic regulation-based model predictive controller (LQR-MPC).

  4. (4)

    To guarantee the practicability to each typical operating mode and to realize smooth switching, the weighted outputs of the fault-tolerant controller constitute the control output of MMFTCS.

The organization of this paper is presented. In Sect. 2, the system model is built and the control problems are stated. In Sect. 3, both the implementation and the robustness analysis of MMFTCS are presented. Section 4 gives the simulation results to validate the performance of MMFTCS. Finally, the conclusions are summarized in Sect. 5.

2 System modelling and steering performance analysis

In this section, the vehicle, tyre and actuator fault models are established, respectively. The symbols and definitions of DDEV are listed in Table 1.

Table 1 Symbols of vehicle model

2.1 Vehicle model with various actuators

The vehicle model with various actuators is established based on two-degree-of-freedom (2DOF) plane as shown in Fig. 1 [19]. The coupling problems of longitudinal, lateral and vertical dynamic are ignored.

$$\begin{aligned} {\dot{\beta }}=\frac{F_{yf}+F_{yr}}{mv}-\gamma \end{aligned}$$
(1)
$$\begin{aligned} {\dot{\gamma }}=\frac{F_{yf}\cdot l_{f}-F_{yr}\cdot l_{r}+M_{z}}{I_{z}} \end{aligned}$$
(2)

where \({M_{z}=\frac{l_{f}+l_{r}}{2}(-F_{xfl}+F_{xfr}-F_{xrl}+F_{xrr})}\).

Fig. 1
figure 1

The 2DOF vehicle model

2.2 Tyre model with various actuators

The tyre model with various actuators is formulated based on the magic model, which integrates the driving system and steering system [20].

$$\begin{aligned} F_{i}=\varGamma \sin (\varOmega \arctan (X-\varUpsilon (\varPhi X-\arctan (\varPhi X)))) \end{aligned}$$
(3)

where \({\varPhi }\), \({\varOmega }\), \({\varGamma }\) and \({\varUpsilon }\) are the stiffness, shape, peak and curvature factors, respectively. X is the input variable of tyre model.

2.2.1 Driving system

In general, \({F_{x}}\) is formulated as a linear approximation according to the magic model (3). The expression of \({F_{x}}\) can be simplified as (4):

$$\begin{aligned} F_{xi}=C_{ki}\cdot \kappa _{i}, i=fl,fr,rl,rr \end{aligned}$$
(4)

where \({C_{ki}=F_{zi}\cdot (p_{Kx1}+p_{Kx2}\cdot df_{z})\cdot \exp(p_{Kx3}\cdot df_{z})}\). \({p_{Kx1}}\) , \({p_{Kx2}}\) and \({p_{Kx3}}\) are fitting coefficients. \({F_{z}}\) is the tyre vertical load.

To calculate the required motor torque, a torque balance equation is formed for each tyre without considering the vehicle vertical load transfer [21]. Therefore, \({F_{x}}\) of a single tyre is calculated as \({F_{x}=\frac{1}{4}m{\dot{v}}}\), and the relationship between \({\kappa }\) and T is expressed as:

$$\begin{aligned} \dot{\kappa _{i}}=\left( \frac{4\cdot (\kappa _{i}+1)}{m\cdot v}+\frac{(\kappa _{i}+1)^{2}\cdot r^{2}}{J\cdot v}\right) \cdot C_{ki}-\frac{(\kappa _{i}+1)^{2}\cdot r\cdot T_{i}}{J\cdot v} \end{aligned}$$
(5)

2.2.2 Steering system

Here, \({F_{yf}}\) and \({F_{yr}}\) are linear functions of \({\alpha _{f}}\) and \({\alpha _{r}}\) [21], respectively. After linear approximation, the expression for \({F_{y}}\) can be simplified as (6):

$$\begin{aligned} F_{yj}=C_{j}\cdot \alpha _{j},j=f,r \end{aligned}$$
(6)

By assuming that \({v_{x}}\) is equal to v, then,

$$\begin{aligned} \dot{\alpha _{f}}&= {} \frac{F_{yf}+F_{yr}}{mv}-\frac{v}{l_{f}+l_{r}}\cdot (\alpha _{f}-\alpha _{r}-\delta _{f}+\delta _{r})\nonumber \\&+\,\frac{l_{f}}{vI_{z}}\cdot (l_{f}F_{yf}-l_{r}F_{yr}+M_{z})-\dot{\delta _{f}} \end{aligned}$$
(7)
$$\begin{aligned} \dot{\alpha _{r}}&= {} \frac{F_{yf}+F_{yr}}{mv}-\frac{v}{l_{f}+l_{r}}\cdot (\alpha _{f}-\alpha _{r}-\delta _{f}+\delta _{r})\nonumber \\&-\,\frac{l_{r}}{vI_{z}}\cdot (l_{f}F_{yf}-l_{r}F_{yr}+M_{z})-\dot{\delta _{r}} \end{aligned}$$
(8)

Here, \({\alpha }\) of two front/rear tyres are equal to each other, and \({\delta _{f}}\) of two front tyres are equal to each other. To achieve good control performance, the reference model has be established [19, 20].

2.3 Actuator fault model

Generally, the DDEV has to face different fault status caused by various actuator faults [22]. The two most common types of actuator faults, i.e. loss-of-effectiveness fault and the fault makes an actuator’s control effect stuck at fixed level, are studied for the steering system and driving system of DDEV. The actuator fault is modelled in a generalized way as:

$$\begin{aligned} u_{s}=\sigma _{s}\cdot u_{ds}+\triangle u_{s},s=1,2,3,4,5,6 \end{aligned}$$
(9)

For the normal operating mode, \({\sigma _{s}=1}\) and \({\triangle u_{s}=0}\). If steering system gets stuck at a fixed level, \({\sigma _{p}=c, p=1,2}\) with c being a constant; thus, \({0< \sigma _{p} < 1}\) and \({\triangle u_{p}= 0}\). For the steering system loss-of-effectiveness fault, \({\triangle u_{p}=0}\) is defined and the parameter \({\sigma _{p}}\) satisfies \({0< \sigma _{p} < 1}\). The definition of faulty in-wheel motor is the same as the faulty steering system. When the stuck at a fixed-level fault occurs to in-wheel motor, the torque of the faulty in-wheel motor can be written as \({T=T_{d}+\triangle T}\) with \({T_{d}}\) being the desired motor torque of the faulty motor and \({\triangle T}\) being the stuck torque. When a loss-of-effectiveness fault occurs to in-wheel motor, \({T=\sigma _{q}\cdot T_{d}}\) is defined with \({0< \sigma _{q} < 1, q=3,4,5,6}\).

2.4 Control problem formulation

The analysis of the stability of DDEV is summed up as two problems:

  1. (1)

    Different kinds of fault status problem. Each kind of fault status of DDEV may include different kinds of actuator faults, including the loss-of-effectiveness fault and struck at a fixed-level fault. However, the type of faults status is usually uncertain, and the fault-tolerant controller should be designed independently for different actuator faults to guarantee the stability of DDEV [23]. Besides, the normal status of DDEV should be considered in this analysis. Therefore, the stability control problem can be summarized as the various fault status problem, and the fault-tolerant problem needs to be investigated based on multiple model method [24].

  2. (2)

    Switching problem between various operating status. The DDEV usually works under various operating status, including normal and fault status. Conventional stability control strategies cannot achieve stable switching between different operating status [25]. The direct switching between various operating status is also unstable.

3 The multiple model-based fault-tolerant control system

The proposed MMFTCS includes an operating status recognizer and a fault-tolerant controller set, and its structure is shown in Fig. 2, the operating status recognizer is designed to distinguish normal or fault status using fuzzy logic, the fault-tolerant controller set is proposed to achieve optimal fault-tolerant control and smooth switching, and the robustness analysis of the MMFTCS is presented. The advantages of MMFTCS are presented as:

  1. (1)

    To distinguish normal or fault status accurately, a fuzzy logic strategy is designed to realize model matching, with the characteristic of being suitable for solving the problem of nonlinear and various variables, in the operating status recognizer.

  2. (2)

    To solve the multiple constrained optimal control problem of the various actuator faults, a novel LQR-MPC is designed for this complex and fast sampling system, in the fault-tolerant controller set.

  3. (3)

    To guarantee the practicability to each typical operating mode, and to achieve smooth switching, the output of MMFTCS is computed by the weighted signal of each LQR-MPC, using the weight coefficient.

    Fig. 2
    figure 2

    The structure of the MMFTCS for DDEV

3.1 Design of the operating status recognizer

To distinguish normal or fault status accurately, the operating status recognizer is designed based on multiple model method. (1) In Sect. 3.1.1, the operating status of DDEV is analyzed and summarized as eight typical operating modes, including a normal mode and seven fault modes. A typical operating mode set is established to describe the characteristic of the corresponding typical operating mode accurately. (2) In Sect. 3.1.2, the matching degree between current operating status and typical operating mode set is analyzed and represented as the weight coefficient and calculated by fuzzy logic.

3.1.1 The establishment of typical operating mode set

The offline typical operating mode set is established for evaluating the characteristic of DDEV. The main merits of the selected variables \({\beta }\), \({\alpha _{f}}\) and \({\kappa _{fl}}\) include: (1) they both have significant differences under different operating status; (2) the error between the actual value and reference model varies within a fixed interval under one special operating status; (3) they can represent the yaw, lateral and longitudinal stability of DDEV comprehensively.

The steps of the establishment of typical operating mode set are shown as:

Step 1 Obtain the parameters of various operating status.

Under different operating status, \({\sigma _{s}}\) and \({\triangle u_{s},s=1,2,3,4,5,6}\) are different. The parameters of various fault status are set according to experiences as shown in Table 2.

Table 2 The parameters of various kinds of operating status

The possible combinations of the actuator faults are calculated as \({2^{3}=8}\), and the number of the normal status is 1. When a loss of-effectiveness fault occurs to steering system, \({\sigma _{p}=5, p=1,2}\) and \({\triangle u_{p}=0}\).

Step 2 Test the performance of various fault status.

The simulations are carried to investigate the performance under specific fault status. Obviously, \({\beta }\), \({\alpha _{f}}\) and \({\kappa _{fl}}\) can represent the yaw, lateral and longitudinal stability of DDEV, respectively. As shown in Fig. 3, the values of \({\beta }\), \({\alpha _{f}}\) and \({\kappa _{fl}}\) have significant differences under different operating status. The error \({\triangle \beta }\) between actual \({\beta }\) and reference model \({\beta _{r}}\) varies within fixed interval under one special operating status, and \({\triangle \alpha _{f}}\) and \({\kappa _{fl}}\) are the same. Therefore, various operating status can be represented by \({\triangle \beta }\), \({\triangle \alpha _{f}}\) and \({\kappa _{fl}}\).

Step 3 Obtain the classification of typical operating modes.

The performance of eight typical operating modes is shown in Table 3.

Table 3 The performance of eight typical operating modes

Also, the characteristics of the steering system struck at a fixed level and driving system normal operating mode and the steering system struck at a fixed level and driving system loss-of-effectiveness operating mode are very similar. The details of this phenomenon are explained in Fig. 4. Thus, the number of fault mode is seven and the number of normal mode is one.

Fig. 3
figure 3

The tests under eight typical operating modes

Fig. 4
figure 4

The tests under steering system struck at a fixed level and in-wheel motor normal/loss of effectiveness

3.1.2 The fuzzy logic-based model matching

The fuzzy logic strategy is applied to weight coefficient calculation and beneficial to the practical application for the proposed MMFTCS [26].

The input variables of fuzzy logic are actual operating status \({[\triangle \beta , \triangle \alpha _{f}, \kappa _{fl}]^{T}}\) and typical operating mode \({[\triangle \beta _{m}, \triangle \alpha _{fm}, \kappa _{flm}]^{T}}\). The output variables are membership values \({\theta _{t},t=1,2,3,4,5,6,7,8}\). Fuzzy inference technique via Mamdani method is adopted due to its simple structure [27]. The membership functions for \({\triangle \beta }\), \({\triangle \alpha _{f}}\) and \({\kappa _{fl}}\) are set, as shown in Fig. 5. \({\triangle \beta }\) is divided into three levels in Fig. 5a: small (S), medium (M) and big (B). \({\triangle \alpha _{f}}\) is divided into five levels in Fig. 5b: very small (VS), small (S), medium (M), big (B) and very big (VB). \({\kappa _{fl}}\) is divided into two levels in Fig. 5c: medium (M) and big (B). The membership value \({\theta }\) is divided into eight levels in Fig. 5d: very small (VS), medium small (MS), small (S), medium (M), big (B), medium big (MB), very big (VB) and super big (SB). The membership functions of the eight membership values \({\theta _{t},t=1,2,3,4,5,6,7,8}\) are identical. Table 4 shows the rule set in the fuzzy inference system (FIS). The rule set includes \({2\times 3\times 5= 30}\) rules.

Table 4 The fuzz logic rule set
Fig. 5
figure 5

The membership functions

Normalization is carried out to calculate the weight coefficients \({\lambda _{t}}\), where \({t=1,2,3,4,5,6,7,8}\) represent eight typical operating modes. Here, \({\sum _{t=1}^{t=8}\lambda _{t}=1}\) and \({\lambda _{t}\in [0,1]}\).

$$\begin{aligned} \lambda _{t}=\frac{\theta _{t}}{\sum _{t=1}^{t=8}\theta _{t}} \end{aligned}$$
(10)

where \({\theta _{t}}\) is membership value of eight typical operating modes.

3.2 Design of the fault-tolerant controller set

To deal with the stability problem in the operating status detected by the operating status recognizer, and to achieve smooth switching, the fault-tolerant controller set is designed.

3.2.1 The discrete state-space model and objective functions

The method of solving the stability problem is to tune the values of \({\beta }\), \({\gamma }\), \({\alpha _{f}}\), \({\alpha _{r}}\) and \({\kappa }\) within the stable range. In the discrete state-space model, the state variables are defined as \({x=[\beta ,\gamma ,\alpha _{f},\alpha _{r},\kappa _{fl},\kappa _{fr},\kappa _{rl},\kappa _{rr}]^T}\), and the control variables are defined as \({u=[\delta _{f},\delta _{r}, T_{fl},T_{fr},T_{rl},T_{rr}]^T}\).

$$\begin{aligned} \begin{aligned} x(k+m\mid k)&=f^{k}(x(k+m-1\mid k),u(k+m-1\mid k))\cdot T_{s}\\&+x(k+m-1\mid k),0\le m \le \xi -1 \end{aligned} \end{aligned}$$
(11)

Then, the discretization of state-space model is defined as:

$$\begin{aligned} {x_{1}(k+1)}&= {} T_{s}\cdot \frac{F_{yf}(x_{1}(k),x_{2}(k),u_{1}(k))}{mv}\nonumber \\&\quad +x_{1}(k)+T_{s}\cdot \frac{F_{yr}(x_{1}(k),x_{2}(k),u_{2}(k))}{mv} \end{aligned}$$
(12)
$$\begin{aligned} x_{2}(k+1)&= {} T_{s}\cdot \frac{l_{f}\cdot F_{yf}(x_{1}(k),x_{2}(k),u_{1}(k))}{I_{z}}-T_{s}\cdot \nonumber \\&\quad \frac{l_{r}\cdot F_{yr}(x_{1}(k),x_{2}(k),u_{2}(k))}{I_{z}}\nonumber \\&+\,T_{s}\cdot \frac{M_{z}}{I_{z}}+x_{2}(k) \end{aligned}$$
(13)
$$\begin{aligned} x_{3}(k+1)&= {} T_{s}\cdot \frac{F_{yf}(x_{1}(k),x_{2}(k),u_{1}(k))}{mv}+x_{3}(k)+T_{s}\cdot \nonumber \\&\quad \frac{F_{yr}(x_{1}(k),x_{2}(k),u_{2}(k))}{mv}\nonumber \\&-\frac{T_{s}\cdot v}{l_{f}+l_{r}}\cdot (x_{3}(k)-x_{4}(k)-u_{1}(k)+u_{2}(k))\nonumber \\&\quad -\dot{u_{1}}(k)+\frac{T_{s}\cdot l_{f}}{vI_{z}}\cdot (l_{f}F_{yf}\nonumber \\&-l_{r}F_{yr}+\frac{u_{3}(k)+u_{4}(k)+u_{5}(k)+u_{6}(k)}{r}) \end{aligned}$$
(14)
$$\begin{aligned} x_{4}(k+1)&= {} T_{s}\cdot \frac{F_{yf}(x_{1}(k),x_{2}(k),u_{1}(k))}{mv}+x_{4}(k)+T_{s}\cdot \nonumber \\&\quad \frac{F_{yr}(x_{1}(k),x_{2}(k),u_{2}(k))}{mv}\nonumber \\&-\frac{T_{s}\cdot v}{l_{f}+l_{r}}\cdot (x_{3}(k)-x_{4}(k)-u_{1}(k)+u_{2}(k))\nonumber \\&\quad -\dot{u_{2}}(k)-\frac{T_{s}\cdot l_{r}}{vI_{z}}\cdot (l_{f}F_{yf}\nonumber \\&-l_{r}F_{yr}+\frac{u_{3}(k)+u_{4}(k)+u_{5}(k)+u_{6}(k)}{r}) \end{aligned}$$
(15)
$$\begin{aligned} x_{n}(k+1)&= {} \left(\left(\frac{4\cdot (x_{n}(k)+1)}{m\cdot v}+\frac{(x_{n}(k)+1)^{2}\cdot r^{2}}{J\cdot v}\right)\cdot \right. \nonumber \\&\quad \left. C_{n} \cdot T_{s}+1\right)\cdot x_{n}(k)\nonumber \\&-\frac{(x_{n}(k)+1)^{2}\cdot r\cdot T_{s}}{J\cdot v} \cdot u_{n-2}(k),n=5,6,7,8 \end{aligned}$$
(16)

To solve the optimal control problem, the objective function of the LQR-MPC \({J_{mpc}}\) is formulated based on discrete form, as shown in three parts as: (a) To make \({\beta }\), \({\gamma }\), \({\alpha _{f}}\), \({\alpha _{r}}\) and \({\kappa }\) track the required reference model quickly as: \({J_{1}=\parallel x(k)-R_{r}(k) \parallel _Q^2}\), where Q plays regulatory role in tracking the expectations to maintain vehicle stable. \({R_{r}}\) denotes the reference model. (b) To compensate the feedback error \({e(k)=y(k)-R_{r}(k)}\) as: \({J_{2}=\parallel y(k)-R_{r}(k) \parallel _R^2}\), where R is weight matrix to minimizing the feedback error. (c) To enforce the control variables within the stable range as: \({J_{3}=\parallel u(k) \parallel _F^2}\).

$$\begin{aligned} \begin{aligned} J_{mpc}(x(k),u(k))&= J_{1}+J_{2}+J_{3}=\parallel x(k)-R_{r}(k) \parallel _Q^2\\ {}&+\parallel y(k)-R_{r}(k) \parallel _R^2+\parallel u(k) \parallel _F^2 \end{aligned} \end{aligned}$$
(17)

3.2.2 The design of LQR-MPC

A total of eight LQR-MPCs are designed for these typical operating modes, including a normal mode and seven fault modes. The designed LQR-MPC is implemented as [28,29,30]: The LQR method is applied to deal with the loss-of-effectiveness fault \({\sigma }\) and to obtain optimal control variables. The MPC-based observer is designed to deal with the struck at a fixed-level fault \({\triangle u(k)}\).

To obtain the optimal control variables u(k), the state feedback law is adopted [31], and the LQR is adopted to obtain the state feedback matrix K. At time instant k, the state feedback law is as:

$$\begin{aligned} u(k)=K\cdot x(k) \end{aligned}$$
(18)

where the optimal state variable x(k) is obtained by solving \({min\frac{1}{2}x^{T}Hx+f^{T}x}\). The objective function of the LQR is designed as \({{\dot{x}}^{T}P{\dot{x}}+x^{T}Px+x^{T}K^{T}RK}\) \({x+x^{T}Qx=0}\), where \({K=R^{-1}(B\sigma )^{T}P}\) and \({\sigma }\) is incorporated, and thus \({\sigma }\) can be tolerated in the LQR-MPC.

To estimate \({\triangle u(k)}\), an MPC-based observer is proposed in the LQR-MPC. The estimation capacity of MPC can be utilized for fault estimation [32]. The system (1216) can be reformulated as:

$$\begin{aligned} {\hat{x}}(k+1)&= {} A\cdot {\hat{x}}(k)+B\cdot \sigma (k) \cdot u_{d}(k)+B\cdot \hat{\triangle u}(k) \end{aligned}$$
(19)
$$\begin{aligned} {\hat{y}}(k)&= {} C\cdot {\hat{x}}(k) \end{aligned}$$
(20)

where \({{\hat{y}}(k)}\) is the estimated output when actuator fault is considered. The \({{\hat{x}}(k)}\) is acquired by using (20) recursively. The error between the estimated output \({{\hat{y}}(k)}\) and the actual output of y(k) can be used by the MPC-based observer to estimate \({\triangle u(k)}\). Therefore, minimization of the objective function is reformulated into the optimization problem: \({J_{\rm obs}(x(k),u_{{\rm obs}}(k))=\parallel {\hat{y}}(k)-y(k)\parallel _S^2}\), where the weighted matric S is chosen as a matrix with suitable dimensions. The observer input \({u_{{\rm obs}}(k)}\) is obtained and \({u_{{\rm obs}}(k)=\sigma (k) \cdot u_{d}(k)+\hat{\triangle u}(k)}\). Here, \({\sigma (k)}\) is set to be 1, which means that the loss-of-effectiveness fault is ignored. \({\hat{\triangle u}(k)}\) can be estimated as:

$$\begin{aligned} \hat{\triangle u}(k)=u_{{\rm obs}}(k)-u_{d}(k) \end{aligned}$$
(21)

where \({u_{d}(k)}\) is obtained by x(k) as previously described. In this way, \({\hat{\triangle u}(k)}\) can be estimated, and \({\triangle u(k)}\) can be tolerated effectively.

In the LQR-MPC, the optimal command signal is applied to the process only during the following sampling interval:

$$\begin{aligned} y(k+m\mid k)&= {} C \cdot f^{k}(x(k+m-1\mid k),u(k+m-1\mid k)) \cdot T_{s}\nonumber \\&+C \cdot x(k+m-1\mid k) ,1\le m\le \rho \end{aligned}$$
(22)

where \({\rho }\) is defined as predictive horizon and \({\xi =\rho =2}\).

3.2.3 Weighed output of the MMFTCS

To solve the problem of guaranteeing the practicability to each typical operating mode, and to achieve smooth switching, the weighting method is adopted in the MMFTCS [25].

At each sampling time k, the weight coefficients of current operating status \({\lambda _{t}(k)}\), and the optimal outputs of the fault-tolerant controller \({u_{t}(k)}\) have been calculated, where \({t=1,2,3,4,5,6,7,8}\) represent eight typical operating modes. In addition, the output of each LQR-MPC is the discrete value. The weighted outputs of LQR-MPC constitute the control output of MMFTCS as:

$$\begin{aligned} u(k)=\sum _{t}^{t=8}\lambda _{t}\cdot u_{t}(k),t=1,2,3,4,5,6,7,8 \end{aligned}$$
(23)

where \({u_{t}(k)}\) is optimal control output calculated by LQR-MPC of tth typical operating mode and \({\lambda _{t}}\) is the weight coefficient of tth typical operating mode.

3.3 Robustness analysis of MMFTCS

Considering the following function, it is assumed that \({V(x)>0}\) as:

$$\begin{aligned} V(x)=x^{T}\phi x>0 \end{aligned}$$
(24)

As \({u=-(R^{-1}B^{T}\phi )x}\) is assumed, a positive definite matrix \({\phi }\) is assumed to satisfy: \({\frac{\text {d}(x^{T}\phi x)}{\text {d}t}=-x^{T}(Q+(R^{-1}B^{T}\phi )^{T}R(R^{-1}B^{T}\phi ))x}\). Then, it is expanded as the Riccati function (25):

$$\begin{aligned}&(A-B(R^{-1}B^{T}\phi ))^{T}\phi +\phi (A-B(R^{-1}B^{T}\phi ))\nonumber \\&\quad +(R^{-1}B^{T}\phi )^{T}R(R^{-1}B^{T}\phi )+Q=0 \end{aligned}$$
(25)

where Q and R are weight matrices in the objective function (17).

As matrices Q, B and R are known. When matrix \({\phi }\) satisfies (24) and (25) simultaneously, it is proved to be satisfied as:

$$\begin{aligned} \frac{\text {d}(x^{T}\phi x)}{\text {d}t}=-x^{T}(Q+(R^{-1}B^{T}\phi )^{T}R(R^{-1}B^{T}\phi ))x<0 \end{aligned}$$
(26)

As a result, the Lyapunov function can be solved and matrix \({\phi }\) is adopted at the state of the control horizon. In the experiment, the values of matric \({\phi }\) can be obtained over the sampling horizon. Therefore, the robustness of the MMFTCS is guaranteed.

4 Simulation comparison and analysis

To verify the performance of the proposed MMFTCS, comprehensive simulation under MATLAB environment is conducted. The simulation is evaluated on an eight-degrees-of-freedom (8DOF) simulation platform, as shown in Fig. 6.

4.1 Parameter and test environment settings

(1) Parameter setting of vehicle model

The values of parameters in vehicle model are set in Table 1.

(2) Parameter setting of the MMFTCS

The values of parameters in the MMFTCS are set as: \({T_{s}=5\times 10^{-2}}\), \({Q=10^{4}\times {\rm diag}(1,1,1,1,1,1,1,1)}\), \({R=10\times {\rm diag}(1,1,1,1,1,1,1,1)}\), \({S=10\times }\) diag(1, 1, 1, 1, 1, 1, 1, 1), \({F=10\times {\rm diag}(1,1,1,1,1,1)}\). \({C}=\hbox {diag}(1:1:1:1:1:1:1:1)\). \({\phi }\) is varied because of the various kinds of operating status. For example, the \({\phi }\) at sampling point 100 is shown as (27).

$$\begin{aligned} \phi =\begin{bmatrix} {\begin{matrix} -1.1142&{}0.2038&{}-3.3252&{}4.3199&{}-0.0235&{}0.0235&{}-0.0234&{}0.0234 \\ -1.2607&{}0.2328&{}-0.1264&{}0.02079&{}-0.0109&{}0.0109&{}-0.0108&{}0.0108 \\ 0.8420&{}-0.1637&{}1.9990&{}-2.5480&{}0.0158&{}-0.0159&{}0.0158&{}-0.0158 \\ -1.1045&{}0.2147&{}-2.5480&{}3.2645&{}-0.0205&{}0.0205&{}-0.0204&{}0.0204 \\ -0.0230&{}0.0045&{}-0.0434&{}0.0561&{}-4284&{}3856&{}3839&{}3840 \\ 0.0230&{}-0.0045&{}0.0434&{}-0.0561&{}3856&{}-4329&{}3840&{}3840 \\ -0.0229&{}0.0044&{}-0.0432&{}0.0559&{}-3839&{}3840&{}-2853&{}3824 \\ 0.0229&{}-0.0044&{}0.0432&{}-0.0559&{}3840&{}3840&{}3824&{}2880 \end{matrix}} \end{bmatrix} \end{aligned}$$
(27)
Fig. 6
figure 6

The 8DOF vehicle model

  1. (3)

    Test environment setting

In this work, two typical tests are carried out in Table 5. The results are compared with the performance of one general MPC, which means that only one model predictive controller is adopted to realize stable steering of vehicle [16]. The stable range of DDEV is obtained by the constraints of vehicle.

Table 5 Test environment setting

4.2 Test 1

The simulation results under Test 1 are shown in Figs. 7 and 8.

By the MMFTCS, the values of \({\lambda _{t}(k)}\) which can represent each kind of operating status are changed correspondingly with the switching of the operating status. \({\gamma }\) tracks reference curve well with the error less than 0.002 rad/s. \({\alpha _{f}}\) and \({\alpha _{r}}\) are kept within the stable range. \({\alpha _{f}}\) tracks reference model well with the error less than 0.005 rad. The curve of \({\alpha _{r}}\) is close to the reference model. The switching performance of \({\alpha _{f}}\) and \({\alpha _{r}}\) between operating status is stable. \({\kappa }\) is constrained in the stable range. T is constrained in the stable range. T at the right tyres is larger than that at the left tyres when the vehicle turns left. The reason is that the tyre yaw moment is generated from tyre yaw motion.

By the MPC, the maximum tracking error of \({\gamma }\) is about 0.05 rad/s. The maximum tracking error of \({\alpha _{f}}\) is about 0.015 rad. The switching performance of \({\alpha _{f}}\) and \({\alpha _{r}}\) is instable at sampling points 60, 100 and 120. The performance of \({\kappa }\) and T is over the stable ranges. As previously described, the five kinds of operating status are the same.

4.3 Test 2

Fig. 7
figure 7

The stability performance of DDEV by the MMFTCS under Test 1

Fig. 8
figure 8

The stability performance of DDEV by the MPC under Test 1

The simulation results under Test 2 are shown in Figs. 9 and 10.

Fig. 9
figure 9

The stability performance of DDEV by the MMFTCS under Test 2

Fig. 10
figure 10

The stability performance of DDEV by the MPC under Test 2

By the MMFTCS, \({\lambda _{t}(k)}\) can represent each kind of operating status accurately. \({\gamma }\) is kept within the stable range with the error less than 0.001 rad/s. Also, the switching performance of \({\gamma }\) between operating status is smooth, with less oscillatory behaviour. \({\alpha _{f}}\) tracks reference model well with the error less than 0.002 rad. Both \({\alpha _{f}}\) and \({\alpha _{r}}\) are kept within the stable range. \({\alpha _{f}}\) and \({\alpha _{r}}\) change smoothly between operating status. \({\kappa }\) is constrained in the stable range. It can be revealed that T is constrained in the stable range. T at the right tyres is larger than that at the left tyre when the vehicle turns left.

Conversely, by the MPC, the switching performance of \({\gamma }\) is instable at sampling points 135 and 300. The maximum tracking error of \({\alpha _{f}}\) is about 0.015 rad. Additionally, the switching performance of \({\alpha _{f}}\) and \({\alpha _{r}}\) is instable at sampling points 135, 245 and 300. \({\kappa }\) and T are over the stable ranges.

5 Conclusions

This paper proposes a novel MMFTCS to deal with various kinds of fault status problem. The robustness of the proposed MMFTCS has been verified. The simulation results show the fault-tolerant performance of the proposed control system. The MMFTCS can also accurately keep the vehicle within the stable range to ensure the stability of DDEV. Moreover, the switching performance between operating status is stable. As a result, the optimal fault-tolerant control and smooth switching performance under various kinds of operating status can be achieved by the MMFTCS efficiently.