1 Introduction

The continuous increase in vehicle ownership has resulted in more serious fuel consumption and exhaust emissions, leading to energy crisis and environmental pollution [1, 2]. To tackle this problem, the development of new energy vehicles has attracted considerable attention worldwide. New energy vehicles include the pure electric vehicles (EVs) and hybrid EVs. EVs are considered to possess the ultimate drive form because of their flexible controllability, simple transmission structure, and reliable platform for the intelligent development of automobiles.

The electric drive system is the core component of the EVs and has a decisive influence on the vehicle performance. According to the power transmission routes, the drive modes of the electric drive system can be divided into centralized and distributed drives [3]. In general, the centralized drive system has only one motor as the source of power; this power is transmitted to the drive wheels through the transmission, reducer, differential, and half shafts. Because the torque balance between the coaxial drive wheels is guaranteed by the differential, the independent control of the torque of each drive wheel is difficult, and an auxiliary control device must be added to achieve the dynamics control [4]. A distributed driven EV is generally installed with at least two electric motors, with the drive torque and rotational speed of each drive wheel independently controlled by a drive motor. Hence, the active safety control performance can be improved by the coordinated distribution of the drive-wheel torque [5,6,7]. However, without a mechanical connection between the coaxial drive wheels, the distributed drive system cannot ensure that the driving torque of each wheel reaches the ideal value when any one of the drive motor fails [8, 9]; this may result in vehicle instability and a series of catastrophic consequences.

This study combined the advantages of the centralized and distributed drive systems to obtain a pure electric drive system with two drive modes called the dual-mode coupling drive system, as schematically presented in Fig. 1. By highly integrating two sets of two-speed clutchless automated mechanical transmission (AMT), this drive system can realize the conversion between centralized and distributed drives under different working conditions, and two-speed transmission can be realized; therefore, the advantages of the two drive modes can be fully utilized. However, similar to the shift process of an AMT system, the proposed system could experience comfort and reliability issues during the mode-switching process [10]; these issues must be solved.

Fig. 1
figure 1

Structure of a dual-mode coupling drive system

At present, few studies have focused on the mode-switching problem as the dual-mode coupled drive system is newly proposed; however, the mode-switching process of this system has the same characteristics as the AMT shift process, especially the clutchless AMT. Among the AMT systems, the clutchless AMT is widely used owing to the functional conflict between the motor and clutch in EVs [11,12,13]. Therefore, the research results of the AMT shifting can be used as references. Currently, the AMT shift quality can be improved using either of the following methods: (1) improving the hardware structure, e.g., development of new synchronizers or installation of clutches, and (2) designing new algorithms, e.g., optimization of control schemes. Because the time and material cost of designing hardware is higher than that of designing an algorithm, method (2) is considered more effective for improving the AMT shift quality. With the improvement in chip performance, it is feasible to use complex algorithms. Walker et al. [14,15,16] proposed a dual-motor clutchless AMT with main and auxiliary motors, in which a high-speed motor (main motor) is connected to the AMT and a low-speed and high-torque motor (auxiliary motor) is connected to the fixed gear ratio reducer. Then, the coordinated control of the speed and torque is completed to control the motors by using the improved model prediction method. Finally, the power-free interruption of the shift is realized. Although this method alleviates the interruption of the shifting power of the clutchless AMT, it increases the manufacturing cost and structural complexity. Yu et al. [17] proposed a shift control method based on a two-layer neural network estimator to improve the ability of the system to resist load disturbance; this could effectively reduce the synchronization phase time in the shift process than that required by the conventional control method. Chen et al. [18] proposed a hybrid automaton model to simulate the state change during the clutchless AMT gear mesh process and discussed the impact of cone wear on the synchronization and random meshing processes. They proposed a shift method that can improve the riding comfort and synchronizer life. Wang et al. [19] proposed a switching control scheme for position and force. The force controller was designed based on the characteristics of the phase displacement in the synchronization stage, and the sliding-mode position controller and state observer were designed for the other stages. Such a scheme can avoid a large impact at the beginning of the synchronization phase and at the end of the gear meshing process.

The review of the above-mentioned research shows that although the control algorithms can improve the AMT shift quality, the influence of the sensor signal was not analyzed. In practical applications, the sensor accuracy is affected by the working environment and production quality, and therefore, the feedback signal often has noise or errors. To solve this problem, Li et al. [20] proposed a sensor fault-tolerant control method for AMT angle-displacement sensor failure, analyzed the relationship between sleeve displacement and load torque, and built a displacement–torque table. Finally, the signal fault identification and compensation are realized after determining the fault through the look-up table and state observation. Although the previous research provides some references for the study of sensor failure during AMT shifting, the sensor interference noise and the influence of uncertainty and randomness of the system are not considered. In this study, the influence of the sensor on the mode-switching process of the dual-mode coupling drive system was analyzed, and then, an adaptive filtering method is proposed to provide a reliable reference displacement for the mode-switching control, thereby improving the quality of mode switching.

The remainder of this paper is organized as follows. Section 2 introduces the model of the mode-switching control system. Section 3 details the design of the adaptive fault-tolerant control strategy that can solve the sensor-signal noise and fault problems, and the adaptive Kalman filtering algorithm and state observer are established. In Sect. 4, the simulation based on AMEsim and MATLAB is presented, the experimental results based on an actual vehicle are discussed, and the performance of the proposed control method is analyzed. Finally, the conclusions are presented in Sect. 5.

2 Mode-Switching Control System Model

2.1 Analysis of Mode-Switching Control System

The mode-switching control system of the dual-mode coupling drive system is shown in Fig. 2, where the closed-loop system composed of solid lines represents the conventional AMT control system with only one angle-displacement sensor, θ is the actual angle-displacement, θtar is the target angle-displacement, and u is the pulse width modulation duty cycle. During the gear shift control, the angle information of the actuator is very important. The control system loses the unique reference in the case of inaccurate feedback information from the angle-displacement sensor, thus causing the gear shift to fail. To obtain additional status information of the actuator, a current sensor was added to the mode-switching control system, as shown by the dotted line in Fig. 2, where ia is the current signal. Compared with the speed and torque sensors, the current sensors have more advantages in terms of sensitivity, cost performance, and reliability. Even if the angle-displacement sensor fails during the mode-switching process, the control system can rely on the information obtained from the current sensor to complete mode switching. Therefore, in the mode-switch control system of the dual-mode coupling drive system, the use of the current sensor can solve the problem of displacement sensor failure.

Fig. 2
figure 2

Mode-switching control system

In the mode-switching process, the responsiveness of the speed and torque of the actuator drive motor must achieve good control performance. In general, a small-sized and low-power direct current (DC) motor is selected as the actuator drive motor, which can meet the power requirements of mode switching and reduce the cost of high-performance motors.

2.2 Actuator Model

The physical structure of the actuator is shown in Fig. 3a, where the DC motor is connected to the worm, and the power is transmitted to the finger through the gear mechanism. The finger then simultaneously pushes the two finger slots to control the movement of the two forks during the switching. One angle-displacement sensor was installed at the end of the rod to measure the rotating angle of the finger; the displacement of the fork can be calculated later. The schematic of the actuator is shown in Fig. 3b, where \(T_{\text{m}}\) and \(\theta_{\text{W}}\) are the torque and angle of the worm, \(J_{\text{W}}\) is the moment of inertia of the worm, \(J_{\text{G} }\) is the equivalent moment of inertia of the gear and rod, \(\theta_{\text{G}}\) is the angle of the gear, and \(m_{\text{s}}\) is the equivalent mass of the putt, finger slot, and fork. Further, \(z_{\text{s}}\) is the displacement of the two forks during mode switching, \(c_\text{W}\) and \(c_\text{G}\) are the damping coefficients of the worm and gear, respectively, and \(c_{\text{s}}\) is the damping coefficient of the sleeve.

Fig. 3
figure 3

Structure and working mechanism of the actuator

During the mode-switching process, the dynamic equation of the actuator can be expressed as

$$\left\{ {\begin{array}{*{20}l} {J_{\text{W}} \ddot{\theta }_{\text{W}} = T_{\text{m}} - c_{\text{W}} \dot{\theta }_{\text{W}} - T_{\text{GW}} } \hfill \\ {J_{\text{G}} \ddot{\theta }_{\text{G}} = T_{\text{WG}} - c_{\text{G}} \dot{\theta }_{\text{G}} - F_{\text{GS}} l_{\text{arm}} \theta_{\text{G}} } \hfill \\ {m_{\text{s}} \ddot{z}_{\text{s}} = F_{\text{GS}} - c_{\text{s}} \dot{z}_{\text{s}} - F_{\text{L}} } \hfill \\ \end{array} } \right.$$
(1)

where \(T_{\text{GW}}\) and \(T_{\text{WG}}\) are the acting and reaction torques, respectively, between the gear and worm, \(F_{\text{GS}}\) is the force between the finger and finger slot, \(l_{\text{arm}}\) is the force arm of the finger, and \(F_{\text{L}}\) represents the resistance to the two forks during the mode-switching process and is analyzed in detail in Ref. [21]. According to the mechanical characteristics of the actuator-transmission system, the following equation can be obtained:

$$\left\{ {\begin{array}{*{20}l} {z_{\text{s}} = l_{\text{arm}} \theta_{\text{G}} } \hfill \\ {\theta_{\text{W}} = \theta_{\text{G}} i_{\text{act}} } \hfill \\ {T_{\text{GW}} = {{T_{\text{WG}} } \mathord{\left/ {\vphantom {{T_{\text{WG}} } {\left( {i_{\text{act}} \eta_{\text{act}} } \right)}}} \right. \kern-0pt} {\left( {i_{\text{act}} \eta_{\text{act}} } \right)}}} \hfill \\ \end{array} } \right.$$
(2)

where \(i_{\text{act}}\) and ηact are the reduction ratio and transmission efficiency of the actuator, respectively.

During the mode-switching process, the speed and torque response of the actuator drive motor is essential to achieving good control performance. The DC motor model is established as follows:

$$\left\{ \begin{array}{ll} V_{\text{DC}} = L_{\text{a}} \dot{i}_{\text{a}} + R_{\text{a}} i_{\text{a}} + K_{\text{e}} \dot{\theta }_{\text{m}} \hfill \\ J_{\text{m}} \ddot{\theta }_{\text{m}} = K_{\text{T}} i_{\text{a}} - T_{\text{L}} \hfill \\ \end{array} \right.$$
(3)

where \(V_{\text{DC}}\) is the battery voltage, \(L_{\text{a}}\) is the inductance coefficient, \(i_{\text{a}}\) is the armature current, \(R_{\text{a}}\) is the resistance coefficient, \(K_{\text{e}}\) is the back electromotive-force coefficient, \(\theta_{\text{m}}\) is the actuator motor angle, \(J_{\text{m}}\) is the moment of inertia of the motor rotor, \(K_{\text{T}}\) is the torque coefficient, and \(T_{\text{L}}\) is the load torque of the drive motor and also is the reaction torque of the drive torque \(T_{\text{m}}\). Because the output shaft of the motor is connected to the worm, \(\theta_{\text{m}} = \theta_{\text{W}}\). By combining Eqs. (1)–(3), the mathematical equation of the actuator can be expressed as

$$\left\{ {\begin{array}{*{20}l} {V_{\text{DC}} = L_{\text{a} } \dot{i}_{\text{a} } + R_{\text{a} } i_{\text{a} } + K_{\text{E} } \dot{z}_{\text{s} } } \hfill \\ {M_{\text{E} } \ddot{z}_{\text{s} } = K_{\text{T} } i_{\text{a} } - C_{\text{E} } \dot{z}_{\text{s} } + C_{\text{F} } F_{\text{L} } } \hfill \\ \end{array} } \right.$$
(4)

where

$$\left\{ {\begin{array}{*{20}l} {K_{\text{E} } = {{K_{\text{e} } i_{\text{act}} } \mathord{\left/ {\vphantom {{K_{\text{e} } i_{\text{act}} } {l_{\text{arm}} }}} \right. \kern-0pt} {l_{\text{arm}} }}} \hfill \\ {M_{\text{E} } = \left[ {J_{\text{m} } + J_{\text{W} } + {{J_{\text{G} } } \mathord{\left/ {\vphantom {{J_{\text{G} } } {\left( {i_{\text{act}}^{2} \eta_{\text{act}} } \right)}}} \right. \kern-0pt} {\left( {i_{\text{act}}^{2} \eta_{\text{act}} } \right)}}} \right]{{i_{\text{act}} } \mathord{\left/ {\vphantom {{i_{\text{act}} } {l_{\text{arm}} }}} \right. \kern-0pt} {l_{\text{arm}} }}{ + }{{m_{\text{s} } l_{\text{arm}} } \mathord{\left/ {\vphantom {{m_{\text{s} } l_{\text{arm}} } {\left( {i_{\text{act}} \eta_{\text{act}} } \right)}}} \right. \kern-0pt} {\left( {i_{\text{act}} \eta_{\text{act}} } \right)}}} \hfill \\ {C_{\text{E} } = {{\left[ {c_{\text{W} } + {{c_{\text{G} } } \mathord{\left/ {\vphantom {{c_{\text{G} } } {\left( {i_{\text{act}}^{2} \eta_{\text{act}} } \right)}}} \right. \kern-0pt} {\left( {i_{\text{act}}^{2} \eta_{\text{act}} } \right)}}} \right]i_{\text{act}} } \mathord{\left/ {\vphantom {{\left[ {c_{\text{W} } + {{c_{\text{G} } } \mathord{\left/ {\vphantom {{c_{\text{G} } } {\left( {i_{\text{act}}^{2} \eta_{\text{act}} } \right)}}} \right. \kern-0pt} {\left( {i_{\text{act}}^{2} \eta_{\text{act}} } \right)}}} \right]i_{\text{act}} } {l_{\text{arm}} }}} \right. \kern-0pt} {l_{\text{arm}} }} + {{c_{\text{s} } l_{\text{arm}} } \mathord{\left/ {\vphantom {{c_{\text{s} } l_{\text{arm}} } {\left( {i_{\text{act}} \eta_{\text{act}} } \right)}}} \right. \kern-0pt} {\left( {i_{\text{act}} \eta_{\text{act}} } \right)}}} \hfill \\ {C_{\text{F} } = {{l_{\text{arm}} } \mathord{\left/ {\vphantom {{l_{\text{arm}} } {\left( {i_{\text{act}} \eta_{\text{act}} } \right)}}} \right. \kern-0pt} {\left( {i_{\text{act}} \eta_{\text{act}} } \right)}}} \hfill \\ \end{array} } \right.$$
(5)

According to the working characteristics of the synchronizers, following the displacement change of the sleeves \(z_{\text{s}}\), the resistance force \(F_{\text{L}}\) will change significantly. To promote the movement of the actuator, the load torque \(T_{\text{L}}\) provided by the drive motor must be changed according to the resistance force \(F_{\text{L}}\). If a load torque observer is established based on the motor current change, it can roughly judge the sleeves displacement and also can indirectly judge the angular displacement of the actuator. The observer can compensate the signal error of the angular displacement sensor of the actuator to a certain extent and can even act as a temporary substitute when it fails.

3 Adaptive Fault-Tolerant Controller Design for Mode Switching

To solve the problems of inaccurate information and failure of the angle-displacement sensor, an antinoise and sensor failure control system was designed, which includes a controller, an adaptive Kalman filter based on fuzzy rules, and a load torque state observer.

3.1 Control Strategy Design

Figure 4 shows the structural diagram of the adaptive mode-switching fault-tolerant control, where \(z_{\text{tar}} ,z_{k} ,\hat{z}_{k}\), is the target, measure and observe displacements of the splice sleeve at the time k, \(q_{k}\) is the output of fuzzy diagnosis, λ is the output of fault-diagnosis coefficient, \(\varphi\) is the difference between the measured value from the estimated value, and v reflects the change rate of the measurement displacement of the splice sleeve. The control method mainly involves a controller, a state observer, and an adaptive Kalman filter. The controller functions based on the mode-switching control algorithm, which can be referenced from many research results on AMT shift control [10, 17, 19, 21]. To reflect the effects of adaptive Kalman filtering on the mode-switching control process, the controller selects the most mature PID control in industrial applications. The state observer is used to observe the load torque and speed of the actuator motor, and the observation data provide reference information for the controller and adaptive Kalman filter. The adaptive Kalman filter diagnoses and estimates the sensor information to ensure that the controller can obtain accurate feedback values.

Fig. 4
figure 4

Control strategy

Adaptive Kalman filtering, as represented by the dashed box in Fig. 4, includes a strong tracking Kalman filter (STKF), a fuzzy logic controller, and fault detection mechanism. The STKF is an improved filtering algorithm with strong anti-model uncertainty and real-time state tracking performance. In addition, it has good applicability to uncertainty and nonlinearity during the mode-switching process [22]. A fuzzy control can describe the system through a low-order state model without affecting accuracy. In other words, for a given accuracy, a low-order model can be used for the fuzzy-adaptive Kalman filter. The fuzzy controller can effectively describe the behavior of complex systems by adjusting the parameters of the STKF in real time to ensure an effective balance between accuracy and computational burden and preventing the Kalman filter from diverging. This method has been detailed in Refs. [23, 24] and termed as fuzzy logic-based adaptive STKF. The mathematical model of the system determines the first prediction result of the Kalman filter algorithm. If the system parameters are unstable or uncertain, the mathematical model cannot be clearly expressed. Therefore, many scholars have proposed adaptive methods. Although fuzzy logic-based adaptive STKF shows a good filtering performance, its anti-interference ability and lower calculation burden make it difficult to guarantee the credibility of the filter output information after sensor failure.

With the complex driving environment around a vehicle, sensor failure must be considered. Therefore, the adaptive Kalman filter must be implemented with a fault-diagnosis module. The effects of the sensor and Kalman filter algorithm on the output results could be eliminated by removing the effect of the Kalman gain coefficient during fault occurrence. At this time, the output results of the filter represents the model-based prediction results, and this causes the filtering results to be affected by the model accuracy. The structure of the mode-switching actuator is simple, and the structural parameters can be easily obtained. Therefore, the accuracy of the model can be guaranteed. However, the change of the load torque is irregular, resulting in an inaccuracy in the model prediction; therefore, in this study, the load torque value was estimated using the state observer of the adaptive Kalman filter. The input variables of the state observer include the controller output value and current sensor signal of the actuator. Although the current signal may also comprise noise, the DC motor is a second-order system with the characteristics of a low-pass filter, and the state observer is based on the DC motor model. Hence, the signal of the current sensor can be directly used.

3.2 Design of the Adaptive Kalman Filter Algorithm

The use of the adaptive Kalman filter can eliminate the measurement noise and estimate the sleeve displacement based on the system input and estimated torque.

The prediction and measurement models of the controlled system can be expressed as follows:

$${\varvec{x}}(k + 1) = {\varvec{Fx}}(k) + {\varvec{Gu}}(k) + {\varvec{w}}(k)$$
(6)
$${\varvec{z}}(k) = {\varvec{Hx}}(k) + {\varvec{v}}(k)$$
(7)

where

$${\varvec{x}} = \left[ {\begin{array}{*{20}c} {i_{\text{a} } } \\ {\dot{z}_{\text{s} } } \\ {z_{\text{s} } } \\ \end{array} } \right],\quad {\varvec{F}} = \left[ {\begin{array}{*{20}c} {1 - (R_{\text{a} } /L_{\text{a} } )T} & {( - K_{\text{E} } /L_{\text{a} } )T} & 0 \\ {(K_{\text{T} } /M_{\text{E} } )T} & {1 - (C_{\text{E} } /M_{\text{E} } )T} & 0 \\ 0 & T & 1 \\ \end{array} } \right],{\varvec{G}} = \left[ {\begin{array}{*{20}c} T & 0 \\ 0 & {(C_{\text{F}} /M_{\text{E}} )T} \\ 0 & 0 \\ \end{array} } \right],\quad {\varvec{ H}} = \left[ {\begin{array}{*{20}c} \begin{aligned} 1 \hfill \\ 0 \hfill \\ 0 \hfill \\ \end{aligned} & \begin{aligned} 0 \hfill \\ 0 \hfill \\ 0 \hfill \\ \end{aligned} & \begin{aligned} 0 \hfill \\ 0 \hfill \\ 1 \hfill \\ \end{aligned} \\ \end{array} } \right]$$

where \({\varvec{u}}(k)\) and \({\varvec{z}}(k)\) are the duty cycle and measured value at the moment of \(t_{k} ,{\varvec{w}}(k)\) and \({\varvec{v}}(k)\) are the zero-mean Gaussian white noise with zero correlation, and they have the following relationship:

$${\varvec{E}}\left[ {w_{k} w_{i}^\text{T} } \right] = \left\{ \begin{aligned} {\varvec{Q}}, \, i = k \hfill \\ 0, \, i \ne k \hfill \\ \end{aligned} \right.$$
(8)
$${\varvec{E}}\left[ {v_{k} v_{i}^\text{T} } \right] = \left\{ \begin{aligned} {\varvec{R}}, \, i = k \hfill \\ 0, \, i \ne k \hfill \\ \end{aligned} \right.$$
(9)
$${\varvec{E}}\left[ {w_{k} v_{i}^\text{T} } \right] = 0,{\text{ for all }}i{\text{ and }}k$$
(10)

where Q and R are the variance matrices of the process and measurement noises, respectively.

Kalman filtering can be divided into two parts: state prediction and measurement update. State prediction refers to the prediction of \({\varvec{x}}(k)\) based on the previous state, \({\varvec{x}}(k - 1)\). In addition, measurement update refers to the correction of the predicted value according to the data obtained from the sensor signal. Time prediction and the updating of the covariance matrix can be equated as follows:

$${\hat{\varvec{x}}}(k|k - 1) = {\varvec{F\hat{x}}}(k - 1|k - 2) + {\varvec{Gu}}(k)$$
(11)
$${\varvec{P}}(k|k - 1) = {\varvec{FP}}(k - 1|k - 1){\varvec{F}}^\text{T} + {\varvec{Q}}_{k}$$
(12)

where \({\hat{\varvec{x}}}(k|k - 1)\) is the predicted state vector and \({\varvec{P}}(k|k - 1)\) is the prediction covariance matrix. The noise-sequence variance matrix of the system is written as

$${\varvec{Q}}_{k} = \left[ {\begin{array}{*{20}c} {q_{k} } & 0 & 0 \\ 0 & {q_{k} } & 0 \\ 0 & 0 & {q_{k} } \\ \end{array} } \right]$$
(13)

where \(q_{k}\) is the diagonal element of matrix \({\varvec{Q}}_{k}\), and the confidence between the predicted and measured values can be adjusted through \(q_{k}\). The Kalman gain matrix is calculated as follows:

$${\varvec{K}}(k) = {\varvec{P}}(k|k - 1){\varvec{H}}^\text{T} \left[ {{\varvec{R}} + {\varvec{HP}}(k|k - 1){\varvec{H}}^\text{T} } \right]^{ - 1}$$
(14)

After the Kalman filter gain coefficient is corrected, the prediction state expression is formulated as follows:

$${\hat{\varvec{x}}}(k|k) = {\hat{\varvec{x}}}(k|k - 1) + {\varvec{K}}(k)\left[ {{\varvec{z}}(k) - {\varvec{H\hat{x}}}(k|k - 1)} \right]$$
(15)

To prevent the influence of the sensor signal on the prediction results after the fault occurs, fault-diagnosis coefficient \(\lambda_{k}\) is added to the Kalman correction term in Eq. (15):

$${\hat{\varvec{x}}}(k|k) = {\hat{\varvec{x}}}(k|k - 1) + \lambda_{k} {\varvec{K}}(k)\left[ {{\varvec{z}}(k) - {\varvec{H\hat{x}}}(k|k - 1)} \right]$$
(16)

provided that \(\lambda_{k}\) satisfies the following rules:

$$\lambda_{k} = \left\{ \begin{aligned} &1{\text{ without Fault}} \hfill \\ &0{\text{ Fault}} \hfill \\ \end{aligned} \right.$$
(17)

Therefore, \({\hat{\varvec{x}}}(k|k) = {\hat{\varvec{x}}}(k|k - 1)\) when \(\lambda_{k} = 0\). The estimated result of the Kalman filter is the value predicted by the mathematical model, and it eliminates the influence of the sensor errors.

At the initial phase of the filter, \({\varvec{x}}(k|k - 1)\) and \({\varvec{P}}(k|k - 1)\) are calculated, then the correction coefficient \({\varvec{K}}(k)\) will be calculated, and finally the prediction data based on the measured data \({\varvec{z}}(k)\) will be corrected to obtain the estimated state \({\hat{\varvec{x}}}(k)\). In STKF, the scale factor is added to the mean square error matrix update, so Eq. (12) can be written as

$${\varvec{P}}(k|k - 1) = \sigma_{k} {\varvec{FP}}(k - 1|k - 1){\varvec{F}}^\text{T} + {\varvec{Q}}_{k}$$
(18)
$${\varvec{P}}(k|k) = (\varvec{I}-\varvec{K}(k)\varvec{H})+ {\varvec{P}}(k|k-1)$$
(19)

where I is the identity matrix; \(\sigma_{k}\) is the suboptimal scale factor of the time-varying filter gain, and it is formulated as follows:

$$\sigma_{k} = \left\{ \begin{aligned} \begin{array}{*{20}c} {c_{k} ,} & {c_{k} \ge 1} \\ \end{array} \hfill \\ \begin{array}{*{20}c} {1,} & {c_{k} < 1} \\ \end{array} \hfill \\ \end{aligned} \right.$$
(20)
$$c_{k} = \frac{{tr[{\varvec{N}}_{k} ]}}{{tr[{\varvec{M}}_{k} ]}}$$
(21)
$$ {\varvec{N}}_{k} = {\varvec{V}}_{k} - {\varvec{R}}_{k} - {\varvec{HQ}}_{k} {\varvec{H}}^\text{T} $$
(22)
$$\varvec{M}_k = \varvec{HFP}(k | k)\varvec{F}^\text{T}\varvec{H}^\text{T}$$
(23)

where arithmetic operator tr[·] represents the trace of a matrix; \({\varvec{N}}_{k}\) and \({\varvec{M}}_{k}\) are the intermediate variables in the calculation process [25, 26]; \({\varvec{V}}_{k}\) denotes the covariance matrix of the real output innovation, and it is estimated using Eq. (24); and \({\varvec{Q}}_{k}\) and \({\varvec{R}}_{k}\) are the values of the variance matrices of the process and measurement noises at sampling instant k.

$${\varvec{V}}_{k} = \left\{ {\begin{array}{*{20}c} {{\varvec{v}}_{0} {\varvec{v}}_{0}^\text{T} } & {k = 0} \\ {\frac{{\rho {\varvec{v}}_{k - 1} + {\varvec{v}}_{k} {\varvec{v}}_{k}^\text{T} }}{1 + \rho }} & {k \ge 1} \\ \end{array} } \right.$$
(24)

where \(\rho\) is the forgetting factor, which is usually set to 0.95 [27, 28].

The suboptimal scale factor in the STKF method is adjusted according to the updated information, and this improves the accuracy of the process and measurement models. When the information update is fast and nonlinear, i.e., \(\sigma_{k} > 1\), STKF provides an appropriate \(\sigma_{k}\) to improve the calculation model, thereby generating an accurate estimation of the sleeve displacement. In the case of regular updating speed of the measurement information, i.e., \(\sigma_{k} = 1\), STKF behaves as a standard Kalman filter algorithm to estimate the sleeve displacement. However, the measurement noise differs under complex operating conditions. The fixed values of the \({\varvec{Q}}_{k}\) and \({\varvec{R}}_{k}\) matrices of the standard Kalman filter and STKF method will not be able to accurately obtain the measurement noise. This, in turn, reduces the performance of the filter and generates errors in the estimation of the sleeve displacement.

The fuzzy logic rule is presented in Fig. 5 and Eq. (25), and it includes four processes: fuzzification, knowledge base, inference, and defuzzification.

Fig. 5
figure 5

Fuzzy logic system

$$\left\{ \begin{aligned} \varphi = z_{k} - \hat{z}_{k} \hfill \\ v = z_{k} - \hat{z}_{k}^{ - } \hfill \\ \end{aligned} \right.$$
(25)

where \(\hat{z}_{k}^{ - }\) is the measurement displacement at the previous moment.

The rule graphs were established for the fuzzification and defuzzification processes. Figure 6a, b presents the fuzzification rule graphs of \(\varphi\) and v, respectively, and Fig. 6c presents the defuzzification rule of qk (membership rule). The parameters and membership functions in the figures were obtained through expert knowledge and experiments; the final value was solved using the centroid method. According to the IF–THEN form of the fuzzy inference rules, such as when deviation value \(\varphi\) is extremely small (PS) and the moving speed v is in hours (S), the value of \(q_{k}\) is small (N).

Fig. 6
figure 6

Fuzzification and defuzzification rules

The inference rules established according to the IF–THEN form are shown in Table 1. In the inference rules, \(q_{k}\) is defined by \(\varphi\) and v; however, for \(\varphi\) or v belonging to PL, \(q_{k} = 0.\) This is because the speed of displacement change exceeds the credibility threshold of the control system, and the reliability of the sensor measured value becomes worse. The fault-diagnosis rules are also formulated based on displacement deviation \(\varphi\) and sleeve speed v, thereby obtaining the value of \(\lambda_{k}\). In the first case, when the moving speed of the sleeve is very low, the prediction result of the first step of Kalman filtering shows high reliability. Therefore, the position sensor is considered to malfunction when the moving speed of the sleeve is very low and the displacement deviation exceeds the threshold. In the second case, the position sensor was considered to malfunction when the moving speed of the sleeve was greater than the maximum speed of the system. The fault region of the sensor is depicted in Fig. 7.

Table 1 Fuzzy logic table
Fig. 7
figure 7

Sensor fault region

The flowchart of the adaptive Kalman filter algorithm is shown in Fig. 8.

Fig. 8
figure 8

Flow chart of the adaptive Kalman filtering algorithm

3.3 Design of the Load Torque State Observer

The motor model in Eq. (4) shows that the system state speed satisfies the precondition for observation; however, the load torque is not that of the system state and does not satisfy the precondition. During the mode-switching process, a drastic change of the load torque is observed in the collision process, i.e., the initial stages of the synchronization and gear meshing phases. These stages have the same characteristics of a short duration and few occurrences. Therefore, the load torque could be assumed as a constant interference term of the system, i.e., \(\text{d}T/\text{d}t = 0\). Then, armature current \(i_{\text{a} }\), load torque \(T_{\text{L} }\), and speed \(\dot{\theta }_{m}\) are used as state variables, with duty u as the input variable. The mathematical form of Eq. (4) can be rewritten as follows:

$$\left\{ {\begin{array}{*{20}l} {\dot{i}_{\text{a} } = - (R_{\text{a} } /L_{\text{a} } )i_{\text{a} } - (K_{\text{e} } /L_{\text{a} } )\omega_{\text{m} } + (V_{\text{DC}} /L_{\text{a} } )u} \hfill \\ {\dot{T}_{\text{L} } = 0} \hfill \\ {\ddot{\theta }_{\text{m} } = (K_{\text{T} } /J_{\text{m} } )i_{\text{a} } - (1/J_{\text{m} } )T_{\text{L} } }\end{array} } \right.$$
(26)

According to actual needs, current \(i_{\text{a} }\) is regarded as the output variable of the system. The state and output of the system can be formulated as

$$\left[ \begin{aligned} \dot{i}_{\text{a} } \hfill \\ \dot{T}_{\text{L} } \hfill \\ \ddot{\theta }_{\text{m} } \hfill \\ \end{aligned} \right] = \left[ {\begin{array}{*{20}c} { - R_{\text{a} } /L_{\text{a} } } & 0 & { - K_{\text{e} } /L_{\text{a} } } \\ 0 & 0 & 0 \\ {K_{\text{T} } /J_{\text{m} } } & { - 1/J_{\text{m} } } & 0 \\ \end{array} } \right]\left[ {\begin{array}{*{20}c} {i_{\text{a} } } \\ {T_{\text{L} } } \\ {\dot{\theta }_{\text{m} } } \\ \end{array} } \right] + \left[ {\begin{array}{*{20}c} {V_{\text{DC}} /L_{\text{a} } } \\ 0 \\ 0 \\ \end{array} } \right]u$$
(27)
$${\varvec{y}} = \left[ {\begin{array}{*{20}c} 1 & 0 & 0 \\ \end{array} } \right]\left[ {\begin{array}{*{20}c} {i_{\text{a} } } \\ {T_{\text{L} } } \\ {\dot{\theta }_{\text{m} } } \\ \end{array} } \right] + {\varvec{v}}_{k}$$
(28)

If Eqs. (27) and (28) are expressed as \({\dot{\varvec{x}}} = {\varvec{Ax}} + {\varvec{B}}u\) and \({\varvec{y}} = {\varvec{Cx}}\), then

$${\varvec{A}} = \left[ {\begin{array}{*{20}c} { - R_{\text{a} } /L_{\text{a} } } & 0 & { - K_{\text{e} } /L_{\text{a} } } \\ 0 & 0 & 0 \\ {K_{\text{T} } /J_{\text{m} } } & { - 1/J_{\text{m} } } & 0 \\ \end{array} } \right],{\varvec{B}} = \left[ {\begin{array}{*{20}c} {V_{\text{DC}} /L_{\text{a} } } \\ 0 \\ 0 \\ \end{array} } \right],{\varvec{C}} = \left[ {\begin{array}{*{20}c} 1 & 0 & 0 \\ \end{array} } \right]$$

A state observer must be established when the system satisfies the observation conditions. The observability matrix is one of the bases for determining the system observability. The observability matrix of the system is defined as follows:

$${\varvec{N}} = \left[ {\begin{array}{*{20}c} {\varvec{C}} \\ {{\varvec{CA}}} \\ {{\varvec{CA}}_{{}}^{2} } \\ \end{array} } \right] = \left[ {\begin{array}{*{20}c} 1 & 0 & 0 \\ { - \frac{{R_{\text{a} } }}{{L_{\text{a} } }}} & 0 & { - \frac{{K_{\text{e} } }}{{L_{\text{a} } }}} \\ {\frac{{R_{\text{a} }^{2} }}{{L_{\text{a} }^{2} }} - \frac{{K_{\text{e} } K_{\text{T} } }}{{J_{\text{m} } L_{\text{a} } }}} & {\frac{{K_{\text{e} } }}{{J_{\text{m} } L_{\text{a} } }}} & { - \frac{{K_{\text{e} } R_{\text{a} } }}{{L_{\text{a} }^{2} }}} \\ \end{array} } \right]$$
(29)

When the rank of this matrix is equal to the dimension of the state matrix, the system can be observed.

As the system has three state variables and one output variable, a two-dimensional state observer can satisfy the demand. In practical applications, the measurement of current is much easier than that of speed, and therefore, armature current \(i_{\text{a} }\) is used as the input of the state observer, and load torque \(T_{\text{L} }\) and rotating speed \(\omega_{\text{m}}\) are used as the outputs of the observer. The state matrix can be divided as follows:

$$A_{11} = - \frac{{R_{\text{a} } }}{{L_{\text{a} } }},{\varvec{A}}_{12} = \left[ {\begin{array}{*{20}c} 0 & { - \frac{{K_{\text{e} } }}{{L_{\text{a} } }}} \\ \end{array} } \right],{\varvec{A}}_{21} = \left[ {\begin{array}{*{20}c} 0 \\ {\frac{{K_{\text{T} } }}{{J_{\text{m} } }}} \\ \end{array} } \right],$$
$${\varvec{A}}_{22} = \left[ {\begin{array}{*{20}c} 0 & 0 \\ { - \frac{1}{{J_{\text{m} } }}} & 0 \\ \end{array} } \right],{\varvec{B}}_{1} = \left[ {\frac{{V_{\text{DC}} }}{{L_{\text{a} } }}} \right],{\varvec{B}}_{2} = \left[ {\begin{array}{*{20}c} 0 \\ 0 \\ \end{array} } \right],$$
$${\varvec{C}}_{1} = \left[ 1 \right],{\varvec{C}}_{2} = \left[ {\begin{array}{*{20}c} 0 & 0 \\ \end{array} } \right]$$

By assuming that the expected poles of the state observer are –a1 and –a2, the expected polynomial can be written as follows:

$$f_{0}^{*} (s) = (s + a_{1} )(s + a_{2} ) = s^{2} + (a_{1} + a_{2} )s + a_{1} a_{2}$$
(30)

Next, the feedback matrix is set as \({\varvec{L}} = \left[ {\begin{array}{*{20}c} {l_{1} } & {l_{2} } \\ \end{array} } \right]^\text{T}\), and the actual characteristic polynomial of the observer can be described as

$$f_{0}^{*} (s) = \det \left[ {s{\varvec{I}} - ({\varvec{A}}_{22} - {\varvec{LA}}_{12} )} \right]$$
(31)

Feedback matrix L can be obtained by combining Eqs. (30) and (31). The state equation of the state observer is formulated as follows:

$$\left\{ {\begin{array}{*{20}l} {{\dot{\varvec{z}}} = ({\varvec{A}}_{22} - {\varvec{LA}}_{12} ){\varvec{z}} + \left[ {({\varvec{A}}_{22} - {\varvec{LA}}_{12} ){\varvec{L}} + ({\varvec{A}}_{12} - {\varvec{LA}}_{11} )} \right]{\varvec{y}}} \hfill \\ { + ({\varvec{B}}_{2} - {\varvec{LB}}_{1} ){\varvec{u}}} \hfill \\ {{\varvec{Y}} = {\varvec{z}} + {\varvec{Ly}}} \hfill \\ \end{array} } \right.$$
(32)

where Y is the output of the state observer, \({\varvec{Y}} = [\begin{array}{*{20}c} {\hat{T}_{\text{L} } } & {\hat{\omega }_{\text{m} } } \\ \end{array} ]^\text{T}\), and \({\varvec{z}}\) is the intermediate state. By substituting the required L into Eq. (31), we can obtain the observed torque \(\hat{T}_{\varvec{L} }\) and rotating speed \(\hat{\omega }_{\text{m} }\). Poles −a1 and –a2 of the state observer affect the response time and overshoot of the observed values. During the experiment, the observer poles needed to be adjusted to achieve the best performance of the observer.

4 Analyses of the Simulation and Experimental Results

The AMEsim and MATLAB/Simulink co-simulation platform was established to verify the performance of the control method, which includes the performance of filtering the measurement noise and failure recognition capabilities of the sensor as well as the effects of redundant control strategies. The experiment was performed using a modified pure EV.

The parameters of the mentioned transmission and actuator are shown in Table 2.

Table 2 Parameters of transmission and actuator

4.1 Analysis of the Simulation Results

To distinguish different signals, the displacement signal from the angle-displacement sensor was named as the measured displacement, the displacement signal from the adaptive Kalman filter is termed as the filtering displacement, and the actual displacement of the sleeve is the actual displacement. During the signal acquisition process, the measurement noise is considered as an unavoidable problem, the cause of which includes electromagnetic interference, sensor quality, and thermal interference. Because no noise exists in the simulation, two random interference signals were added to the signal acquisition process of the angle-displacement and current sensors, with a mean of 0 and variances of 0.02 and 1, respectively. The noise signal is graphically presented in Fig. 9.

Fig. 9
figure 9

Measurement results of noise signals

To prove the performance of the adaptive Kalman filter, the mode-switching process was simulated, under the following simulation conditions:

  1. 1.

    Mode switching is performed when the vehicle speed reaches 30 km/h.

  2. 2.

    When the speed difference is ≤50 r/min, the speed adjustment is completed.

  3. 3.

    The experiment is conducted on a leveled and straight road.

As shown in Fig. 10a, the measured displacement signal shows obvious noise. The actual, measured, and filtered displacements have the same profile, indicating that the sensor is not faulty and the combined filter has good tracking ability. Figure 10b shows deviations in these three displacements, where the deviation of the measured value is between − 0.4 and 0.4 mm, and the deviation of the filter displacement is less than 0.1 mm. However, this deviation increases, as observed in Fig. 10b, with the mutations mainly occurring at 0.51, 0.57, and 0.63 s. As shown in Fig. 10a, the displacements at these moments are approximately 2.1, 6.5, and 9.1 mm, and these intervals represent the synchronization phase, gear shift phase, and completion phase, respectively. As shown in Fig. 10c, the sleeve collides with the synchronizing ring and gear, which causes the load torque of the actuator motor to be abrupt. In addition, the response speed of the observed torque experiences difficulty in keeping up with the sudden change in the actual torque, and this further increases the deviation in the observed displacement.

Fig. 10
figure 10

Simulation verification of filtering and observation effects

At present, studies on the influence of measurement noise on the shift process are lacking. However, with the gradual increase in the research on clutchless shift control, many shift control methods based on the precise displacement of the sleeve have been developed, which place strict requirements on the accuracy of the position information. For example, the first phase is set at 0–2.1 mm, the second phase is set at 2.1–4.6 mm, and the third phase is set at 4.6–9 mm. Then, the shift test is conducted, and the results of which are shown in Fig. 11. The entire shifting process is divided into the three aforementioned stages, in which the stage identification through actual and filtering displacements shows good performance. In contrast, stage identification by directly using measured displacement produces oscillations at the critical point of each stage. These oscillations can cause the controller to switch between different controls strategies, which in turn, can cause the controller to become unstable, and lower the quality of mode switching.

Fig. 11
figure 11

Identification of each stage of the shift process

In addition to the measuring noise affecting the shift quality, the fault of the angle-displacement sensor has a considerable influence. To evaluate the ability of the proposed method to solve the sensor failure, three common faults of the displacement sensor were simulated in this study: sensor dead-zone fault, open-circuit fault, and drift fault. Because of differences in equipment, open sensor failure may cause the signal to jump to a minimum or maximum value. The actual sleeve displacement, measured sensor displacement, and the output displacement of the filter are shown in Fig. 12; the three curves almost completely overlap before the fault occurs. However, the deviation between the measured and actual displacements continuously increases after the fault occurrence. Although the filtering displacement deviates from the actual displacement, the tracking of the actual displacement can be guaranteed.

Fig. 12
figure 12

Simulation results of sensor failure

In fact, the angle-displacement sensor has various types of faults in terms of mode switching; the noise and four fault types mentioned earlier are typical problems in the mode-switching process. When the problems are solved, the fault-tolerance performance of the controller would be improved. An obvious result is shown by combining Figs. 10b and 12, where the noise can be effectively removed and the four faults can be overcome. Therefore, the proposed method has reliable fault-tolerance ability.

4.2 Analysis of Experimental Results

Next, by using a vehicle, an experiment was performed based on dSPACE/MicroAutoBox, as shown in Fig. 13. The experimental setup includes four parts: a host computer, a controller, transmission equipment, and a vehicle. The angle-displacement and current sensors are installed on the mode-switching actuator to measure the position of the sleeve and current of the actuator drive motor.

Fig. 13
figure 13

Experimental platform involving a vehicle

To ensure consistency between the experimental and simulation results, the experimental conditions should be the same as described in Sect. 4.1. In the experiment, the host computer transmits control commands and records experience data. The controller quickly converts the control commands into the control signals of the dual-mode coupling drive system, thus reducing the system response delay.

The Kalman filtering algorithm must be implemented with the law of noise so that the output signals of the angle-displacement and current sensors are collected in the static state. Although the same acquisition equipment and sampling frequency are used, differences were observed in the acquisition noise between the two sensors. As shown in Fig. 14, the noise error of the displacement is between −0.1 and 0.1 mm, and the error range of the current ranges between −0.4 and 0.4 A. After calculation, the variances of the displacement and current were 0.0024 mm and 0.0466 A, respectively.

Fig. 14
figure 14

Sensor measuring noise

Figure 15 shows comparison between the measured displacement of the sleeve and the displacement observed by the filter. When the angle-displacement sensor displays no fault, the measured value is considered to be the reference displacement of the sleeve as the filter has good tracking performance. As shown in Fig. 15, the filtering of the displacement effectively removed the measurement noise.

Fig. 15
figure 15

Displacement signal after filtering

Finally, to verify the control performance of the control method after a sensor failure, three kinds of sensor failures were designed in the experiment: the sensor dead-zone, open-circuit, and drift failures. Because the generation of these kinds of faults by using hardware is difficult, a fault program was added to the acquisition method of the angle-displacement sensor signal. The results of the four types of shift fault experiments are shown in Fig. 16. Due to the comparative experiments carried out at different times, the start and end times of each failure form are different, but their respective comparisons ensure complete synchronization. In Fig. 16a, because the shifting force is greater than the demand, an impact is generated, which is affected by the mechanical clearance and deformation, resulting in the sleeve displacement greater than the ideal value 9 mm. The four experimental results show the measured and observed displacements are the same before the fault occurrence; this indicates that the filter should accurately estimate the displacement of the sleeve. When the sleeve reaches 2.5 mm, a fault occurs; the measured displacement changes according to the fault type. Although the observed displacement deviates from the actual displacement, the completion of the shift process is ensured. This deviation between the observed and actual displacements is caused by the large load torque error and model deviation. To solve this problem, the pole position of the observer and actuator structure parameters should be adjusted. This is a topic for future research.

Fig. 16
figure 16

Experimental results of sensor failures in a vehicle

5 Conclusions

This paper studies the failure of angle-displacement sensor of a dual-mode coupling drive system electric actuator, in which mode-switching control is similar to the gear shifting control of an EV with clutchless AMT. The following conclusions can be drawn:

  1. 1.

    The signal noise and functional failure of the angle-displacement sensor greatly affect the mode-switching control effect of the dual-mode coupling drive system. Through the establishment of the actuator model, the paper points out the feasibility of using the current signal of the actuator motor for displacement observation and establishes the corresponding redundant control system. It is of significant importance to improve the mode-switching quality.

  2. 2.

    An adaptive mode-switching fault-tolerant control method is proposed based on an STKF. The filtering and fault-handling functions are effectively integrated. The actual displacement can be well tracked by the observed displacement. With the designed controller, the signal noise is effectively removed and the functional faults of the angular displacement sensor is overcome.

  3. 3.

    The results of the simulation and vehicle experiments prove that the proposed control method can effectively remove the noise signal of the sensor, while still ensuring the smooth completion of the mode-switching process after encountering the common faults. This effectively improves the reliability of the mode-switching control process. The related research also provides a useful reference for improving the reliability of AMTs and other systems that need to use the angle-displacement sensor signal of the electric actuator for control.

In the experiment process, the initial displacement of the angle-displacement sensor after each power-on will be a little drifted and needs to be recalibrated. In addition, the displacement change is also affected by the supply voltage of the power, which is a big problem when doing fine control. The follow-up in-depth research will be carried out on the above problems to provide greater help to improve system reliability.