Keywords

1 Introduction

The driving state information such as the longitudinal and lateral speed of the car and the side angle of the center of mass are important parameter variables for dynamic control and active safety control. Accurate state information can improve the control of the entire vehicle, so that the vehicle can still maintain good stability and safety under extremely severe working conditions. Driving state estimation plays a decisive role as a key part in these closed-loop controls, and its study is the basis and premise for the further development of active safety technology in the future. At present, there are three main methods for obtaining driving state information: one is to directly use the corresponding sensor for measurement, which is limited by the cost of the equipment and is only suitable for use in laboratories and some special scenes. One method is to use the wheel speed sensor and integrate the steering wheel corner information directly converted to get the driving status information. This method has a large error, so it is difficult to apply it to vehicle dynamics control. Another is the use of low-cost vehicular sensors, combined with dynamics theory based on algorithmic model estimation research, which is the most effective and most suitable method for application in dynamic control at present. Reference [1] designed a vehicle state estimation algorithm based on Cubature Kalman filter (CKF) theory, and the sensor signals such as steering wheel angle, longitudinal/lateral acceleration are used as the input of the algorithm model to estimate the vehicle speed, yaw rate and centroid sideslip angle. Reference [2] proposes a vehicle state estimator based on extended Kalman filtering, which uses a dynamic vehicle model to determine the longitudinal and lateral speeds and yaw rate of the vehicle, and the effectiveness is verified through experiments under different excitations. In Ref. [3], the method of combining dynamic model and kinematic model is used to estimate the vehicle motion based on the extended Kalman filter theory, and the effectiveness of the algorithm is verified by the actual data collected from the conventional urban road. In Ref. [4], a vehicle state parameter estimation algorithm is designed based on the adaptive unscented Kalman filtering algorithm. By combining fuzzy control theory with unscented Kalman filtering, according to different driving conditions, the value of the measurement error matrix can be adaptively adjusted to improve the accuracy of the estimation. Reference [5] introduces a genetic algorithm based on the basis of unscented Kalman filter (UKF) to achieve the purpose of self-adaptive adjustment of noise matrix and achieve a more accurate estimate of the driving state of conventional front-wheel steering vehicles. The literature [6] first designed an algorithm for estimating the driving state of a vehicle based on CKF theory, and on this basis, designed an algorithm for estimating the pavement adhesion coefficients, which was fused together in series and directly updated in real time using the square root of the covariance matrix. This improves the accuracy, stability and timeliness of the estimation.

Federal Kalman Filter (FKF) is gradually developed from the basis of decentralized filtering. It is mostly used in the field of military navigation that requires high accuracy and robustness. It has only been gradually applied in the automotive field in recent years. It usually consists of two filter structures, one is a number of sub filter structures and the other is the primary filter structure. The core idea is the principle of “information allocation”, where the global state information and the system noise matrix are dispersed and assigned to each sub-filter, and then integrate the estimated information of each sub-filter through the main filter to achieve the optimal fusion estimation. This structure does not change the unique form of the sub-filter algorithm, which makes it flexible and fault-tolerant in design [7]. In order to improve the estimation accuracy of the algorithm and ensure the real-time nature of the algorithm, the fusion reset structure is selected and designed using two sub-filters and a master filter. The Cubature Kalman filter algorithm is used for the time update and measurement update in each sub-filter. This combined approach takes full advantage of their respective advantages, which can make the process noise change adaptively in the estimation process, that is, the statistical parameters of the process noise are constantly corrected in real time as the working conditions change at different moments, thus effectively solving the problem of estimation results divergence [8], which not only has good fault tolerance and stability, but also improves the estimation accuracy of the algorithm.

2 Vehicle Estimation Model

2.1 Distributed-Drive Electric Vehicle Dynamics Model

Vehicle dynamics model represents the mathematical relationship between different parametric variables during the motion of a vehicle and is the basis for designing the vehicle state and parameter estimation algorithm. For distributed-drive electric vehicles, the three-degree-of-freedom vehicle estimation model is built based on the traditional two-degree-of-freedom modeling method [9], considering the timeliness of the entire estimation algorithm and the motion of the three aspects of longitudinal, lateral and transverse pendulum. The model assumes the following.

  1. (1)

    The origin of coordinates coincides with the mass centre.

  2. (2)

    It is assumed that the vehicle consists of a rigid body and four wheels that are controlled independently of each other.

  3. (3)

    Assuming that the mechanical characteristics of the tires are the same.

  4. (4)

    Ignore the function of the suspension system.

The vehicle model is shown in Fig. 1.

Fig. 1
figure 1

Vehicle dynamics estimation model

In Fig. 1, a and b are the distance from the center of mass to the front and rear axles, \(t_{f}\) and \(t_{r}\) are the distance between the front and rear wheel track, \(v_{ij}\) is the wheel center speed, \(\delta_{ij}\) is the four-wheel angle obtained directly by the steering motor, \(F_{x\_ij}\) is the longitudinal force of the tire, \(F_{y\_ij}\) is the lateral force of the tire, and \(\alpha_{ij}\) is the lateral deflection of the tire. Among them, \(i\) represents the front or rear wheel and \(j\) represents the left or right wheel.

The vehicle dynamics model equations are shown in (1), (2), (3):

$$\mathop u\limits^{.} = a_{x} + vr$$
(1)
$$\mathop v\limits^{.} = a_{y} - ur$$
(2)
$$\mathop r\limits^{.} = \frac{1}{{I_{z} }}\Gamma$$
(3)

where, \(v\) and \(u\) are the longitudinal/lateral speed, \(a_{x}\) and \(a_{y}\) are the longitudinal/lateral acceleration, \(r\) is the angular velocity of the sway, \(I_{z}\) is the inertia of the car around the z axle and \(\Gamma\) is the yaw moment.

The formulas for calculating \(a_{x}\), \(a_{y}\) and \(\Gamma\) from the dynamic model are shown in (4), (5), and (6).

$$\begin{aligned} a_{x} & = \frac{1}{m}\left( {F_{x\_fl} \cos \delta_{fl} - F_{y\_fl} \sin \delta_{fl} } \right. \\ & \quad + F_{x\_fr} \cos \delta_{fr} - F_{y\_fr} \sin \delta_{fr} \\ & \quad + F_{x\_rl} \cos \delta_{rl} + F_{y\_rl} \sin \delta_{rl} \\ & \quad \left. { + F_{x\_rr} \cos \delta_{rr} + F_{y\_rr} \sin \delta_{rr} } \right) \\ \end{aligned}$$
(4)
$$\begin{aligned} a_{y} & = \frac{1}{m}\left( {F_{x\_fl} \sin \delta_{fl} + F_{y\_fl} \cos \delta_{fl} } \right. \\ & \quad + F_{x\_fr} \sin \delta_{fr} + F_{y\_fr} \cos \delta_{fr} \\ & \quad { - F}_{x\_rl} \cos \delta_{rl} + F_{y\_rl} \sin \delta_{rl} \\ & \quad \left. { - F_{x\_rr} \cos \delta_{rr} + F_{y\_rr} \sin \delta_{rr} } \right) \\ \end{aligned}$$
(5)
$$\begin{aligned} \Gamma & = a\left( {F_{x\_fl} \sin \delta_{fl} + F_{y\_fl} \cos \delta_{fl} } \right) \\ & \quad - \frac{{t_{f} }}{2}\left( {F_{x\_fl} \cos \delta_{fl} - F_{y\_fl} \sin \delta_{fl} } \right) \\ & \quad + a\left( {F_{x\_fr} \sin \delta_{fr} + F_{y\_fr} \cos \delta_{fl} } \right) \\ & \quad + \frac{{t_{f} }}{2}\left( {F_{x\_fr} \cos \delta_{fr} - F_{y\_fr} \sin \delta_{fr} } \right) \\ & \quad + b\left( {F_{x\_rl} \cos \delta_{rl} - F_{y\_rl} \sin \delta _{rl} } \right) \\ & \quad - \frac{{t_{r} }}{2}\left( {F_{x\_rl} \cos \delta_{rl} + F_{y\_rl} \sin \delta_{rl} } \right) \\ & \quad + b\left( {F_{x\_rr} \cos \delta_{rr} - F_{y\_rr} \sin \delta_{rr} } \right) \\ & \quad + \frac{{t_{r} }}{2}(F_{x\_rr} \cos \delta_{rr} + F_{y\_rr} \sin \delta_{rr} ) \\ \end{aligned}$$
(6)

where, the lateral deflection angle, line speed and normal reaction force of the four wheels are calculated as shown in (7), (8) and (9).

$$\begin{array}{*{20}c} {\alpha_{fl,fr} = \delta_{fl,fr} - \arctan \left( {\frac{v + ar}{{u \pm \frac{{t_{f} }}{2}r}}} \right)} \\ {\alpha_{rl,rr} = \delta_{rl,rr} - \arctan \left( {\frac{ - v + br}{{u \pm \frac{{t_{r} }}{2}r}}} \right)} \\ \end{array}$$
(7)
$$\begin{array}{*{20}c} {v_{fl,fr} = \sqrt {{\left( {u \pm \frac{{t_{f} }}{2}r} \right)}^{2} + {(v + ar)}^{2} } } \\ {v_{rl,rr} = \sqrt {{\left( {u \pm \frac{{t_{r} }}{2}r} \right)}^{2} + {(v - br)}^{2} } } \\ \end{array}$$
(8)
$$\begin{array}{*{20}c} {F_{z\_fl,fr} = \left( {\frac{1}{2}mg \pm ma_{y} \frac{h}{{t_{f} }}} \right)\frac{b}{l} - \frac{1}{2}ma_{x} \frac{h}{l}} \\ {F_{z\_rl,rr} = \left( {\frac{1}{2}mg \pm ma_{y} \frac{h}{{t_{r} }}} \right)\frac{b}{l} + \frac{1}{2}ma_{x} \frac{h}{l}} \\ \end{array}$$
(9)

where, \(F_{z\_ij}\) is the normal reaction of the ground to the wheels, \(m\) is the mass of the vehicle, \(l\) is the wheelbase and \(h\) is the height of the center of mass.

The four-wheel longitudinal force can be calculated by formula (10).

$$F_{{x\_ij}} = \frac{{T_{{ij}} - J_{{ij}} \cdot \mathop {\omega _{{ij}} }\limits^{ \cdot } }}{{R_{e} }}$$
(10)

where, \(T_{ij}\) is the driving torque of the four wheels, \(J_{ij}\) represents the moment of inertia of the four wheels, \(\mathop {\omega _{{ij}} }\limits^{ \cdot }\) represents the angular acceleration of the four wheels.

2.2 Calculation of Lateral Forces

The Dugoff tire model [10] is used to calculate the lateral forces of the four wheels, the equation is shown in (11).

$$F_{y\_ij} = \mu_{\_ij}F_{z_{\_ij}} {\text{C}}_{y} \frac{{\tan \left( {\alpha_{{{\text{ij}}}} } \right)}}{1 - \lambda_{\_ij}}f\left( L \right)$$
(11)

where, \(\mu_{\_ij}\) is the pavement adhesion coefficient, \(C_{y}\) is the tire cornering stiffness, \(\lambda_{\_ij}\) is the longitudinal slip rate.

$$f(L) = \left\{ {\begin{array}{*{20}l} {L \cdot (2 - L),} \hfill & {L < 1} \hfill \\ {1,} \hfill & {L \ge 1} \hfill \\ \end{array} } \right.$$
(12)
$$\begin{aligned} L = & \frac{1}{{\sqrt[2]{{C_{x}^{2} \lambda_{\_ij}^{2} + C_{y}^{2} {\tan }^{2} \alpha_{{{\text{ij}}}} }}}}\left( {1 - \lambda_{\_ij} } \right) \\ & \quad \times \left( {1 - \varepsilon \cdot u \cdot \sqrt {C_{x}^{2} \lambda_{\_ij}^{2} + C_{y}^{2} {\tan }^{2} \alpha_{{{\text{ij}}}} } } \right) \\ \end{aligned}$$
(13)

where, \(C_{x}\) is the longitudinal stiffness of the tire and \(\varepsilon\) is the velocity impact factor.

The corresponding slip rate equation for braking and driving is shown in (14).

$$\begin{array}{*{20}c} {\begin{array}{*{20}c} {\lambda_{ij} = \frac{{R_{e} \omega_{ij} - v_{ij} }}{{v_{ij} }} = \frac{{R_{e} \omega_{ij} }}{{v_{ij} }} - 1 < 0} & \quad {(\text{brake})} \\ \end{array} } \\ {\begin{array}{*{20}c} {\lambda_{ij} = \frac{{R_{e} \omega_{ij} - v_{ij} }}{{R_{e} \omega_{ij} }} = 1 - \frac{{v_{ij} }}{{R_{e} \omega_{ij} }} > 0} & \quad {(\text{drive})} \\ \end{array} } \\ \end{array}$$
(14)

3 Design of Vehicle Driving State Estimation Algorithm

3.1 Principle of Vehicle Driving State Estimation

The driving state estimation schematic diagram of distributed drive electric vehicle is shown in Fig. 2. It can be seen from the figure that the signal collected by the vehicle sensor through the vehicle network mainly includes the longitudinal acceleration \(a_{x}\), lateral acceleration \(a_{y}\), yaw rate \(\gamma\), four-wheel corner \(\delta_{ij}\), four-wheel speed \(\omega_{ij}\) and four-wheel drive torque \(T_{ij}\). These sensor signals are used as signal inputs of the two sub-filters, the main filter and the Dugoff tire model in the vehicle’s driving condition estimator, while setting a fixed value for the road adhesion coefficient as another signal input of the Dugoff tire model. The lateral force of the tire is output through the solution of the tire model, and the longitudinal force calculation module converts the collected four-wheel drive torque directly into the longitudinal force of the four wheels, in order to reduce the error of the tire model itself on the calculation of the tire force. The obtained tire force is used as another input of the two sub-filters and the main filter in the vehicle driving condition estimator. The main filter is initialized after receiving these signals, and the default value of the information distribution coefficient is zero. The driving state, covariance matrix, and process noise matrix are assigned to each sub-filter simultaneously, and each sub-filter integrates the received sensor signal and the assigned signal. First complete the time update to obtain the priori state estimate, then complete the measurement update according to the respective measured values to obtain the posterior local estimate, and then pass these data together to the main filter for integration to complete the global optimal estimate. At the same time, the optimal estimate is used as the output and the information of each sub-filter is allocated again according to a specific allocation principle, so as to complete an iteration. With the continuous iteration of time, a closed-loop system is formed in the vehicle driving state estimator. At the same time, the global optimal estimation value is fed back to the tire model and its parameters are constantly corrected to form a closed loop system, which completes the accurate estimation of the vehicle driving state.

Fig. 2
figure 2

Estimation schematic

3.2 Vehicle Driving State Estimation Algorithm

The specific process of the estimation algorithm is shown in formula (15) to formula (31).

  1. (1)

    Information distribution process

The traveling state variables, the error covariance matrix, and the system process noise covariance matrix are first assigned to each sub-filter by the main filter according to the information allocation principle.

$$\hat{X}_{si,k - 1} = X_{sf,k - 1}$$
(15)
$$P_{si,k - 1}^{ - 1} = \beta_{si} P_{sf,k - 1}^{ - 1}$$
(16)
$$Q_{si,k - 1}^{ - 1} = \beta_{si} Q_{sf,k - 1}^{ - 1}$$
(17)

where, \(\beta_{si}\) is the driving state information distribution coefficient, where \(i = 1,2\) (i.e. two sub-filters), according to the information conservation principle, there is \(\beta_{s1} + \beta_{s2} = 1\).

  1. (2)

    Time update process

The time update is performed independently in each driving state sub-filter.

① Decomposition the covariance matrix \(P_{s,k - 1}\) by SVD method.

$$P_{s,k - 1} = A_{s,k - 1} \Lambda_{s,k - 1} A_{s,k - 1}^{T}$$
(18)

where, \(A_{s,k - 1}\) is the feature matrix corresponding to the driving state covariance matrix \(P_{s,k - 1}\), \(\Lambda_{s,k - 1} = diag[S_{s1,k - 1}^{2} ,S_{s2,k - 1}^{2} \ldots ,S_{sn,k - 1}^{2} ]\), where \(S_{si,k - 1}^{2}\) is the square root of the eigenvalue corresponding to \(P_{s,k - 1}\).

② Calculate the cubature point of the previous moment.

$$X_{sj,k - 1} = A_{si,k - 1} S_{si,k - 1} \xi_{j} + \hat{X}_{s,k - 1}$$
(19)

where, \(i = 1,2 \ldots n\), \(n\) is the dimension of the driving state variable, \(\xi_{j}\) is the cubature point, and \(\xi_{j} = \sqrt{\frac{m}{2}} \left[ 1 \right]_{j}\), where \(j = 1,2 \ldots m\), \(m\) is the number of cubature points and the size is two times the dimension of the driving state variable, \(\left[ 1 \right]_{j}\) represents the jth cubature point element. In this paper, the number of vehicle driving state variables is \(n = 6\), then the cubature point set is:

$$\left\{ {\left[ \begin{gathered} 1 \hfill \\ 0 \hfill \\ 0 \hfill \\ 0 \hfill \\ 0 \hfill \\ 0 \hfill \\ \end{gathered} \right],\left[ \begin{gathered} 0 \hfill \\ 1 \hfill \\ 0 \hfill \\ 0 \hfill \\ 0 \hfill \\ 0 \hfill \\ \end{gathered} \right],\left[ \begin{gathered} 0 \hfill \\ 0 \hfill \\ 1 \hfill \\ 0 \hfill \\ 0 \hfill \\ 0 \hfill \\ \end{gathered} \right],\left[ \begin{gathered} 0 \hfill \\ 0 \hfill \\ 0 \hfill \\ 1 \hfill \\ 0 \hfill \\ 0 \hfill \\ \end{gathered} \right],\left[ \begin{gathered} 0 \hfill \\ 0 \hfill \\ 0 \hfill \\ 0 \hfill \\ 1 \hfill \\ 0 \hfill \\ \end{gathered} \right],\left[ \begin{gathered} 0 \hfill \\ 0 \hfill \\ 0 \hfill \\ 0 \hfill \\ 0 \hfill \\ 1 \hfill \\ \end{gathered} \right],\left[ \begin{gathered} - 1 \hfill \\ 0 \hfill \\ 0 \hfill \\ 0 \hfill \\ 0 \hfill \\ 0 \hfill \\ \end{gathered} \right],\left[ \begin{gathered} 0 \hfill \\ - 1 \hfill \\ 0 \hfill \\ 0 \hfill \\ 0 \hfill \\ 0 \hfill \\ \end{gathered} \right],\left[ \begin{gathered} 0 \hfill \\ 0 \hfill \\ - 1 \hfill \\ 0 \hfill \\ 0 \hfill \\ 0 \hfill \\ \end{gathered} \right],\left[ \begin{gathered} 0 \hfill \\ 0 \hfill \\ 0 \hfill \\ - 1 \hfill \\ 0 \hfill \\ 0 \hfill \\ \end{gathered} \right],\left[ \begin{gathered} 0 \hfill \\ 0 \hfill \\ 0 \hfill \\ 0 \hfill \\ - 1 \hfill \\ 0 \hfill \\ \end{gathered} \right],\left[ \begin{gathered} 0 \hfill \\ 0 \hfill \\ 0 \hfill \\ 0 \hfill \\ 0 \hfill \\ - 1 \hfill \\ \end{gathered} \right]} \right\}$$

③ Calculate the cubature point of the system equation after iteration.

$$X_{sj,k/k - 1}^{*} = f\left( {X_{sj,k/k - 1} ,U_{k} } \right)$$
(20)

④ Estimate the state prediction value after time update.

$$\hat{X}_{s,k/k - 1} = \sum\limits_{j = 1}^{m} {\frac{1}{m}X_{sj,k/k - 1}^{*} }$$
(21)

⑤ Predicted value of the estimated error covariance matrix.

$$P_{s,k/k - 1} = \sum\limits_{j = 1}^{m} \frac{1}{m} X_{sj,k/k - 1}^{*} X_{sj,k/k - 1}^{*T} - \hat{X}_{s,k/k - 1} \hat{X}_{s,k/k - 1}^{T} + Q_{s}$$
(22)

where, \(Q_{s}\) is the noise covariance matrix during the driving process.

  1. (3)

    The process of updating the vehicle’s driving condition measurement

Measurements are updated individually in each driving state sub-filters.

① The predicted covariance matrix \(P_{s,k/k - 1}\) is decomposed by the SVD method.

$$P_{s,k/k - 1} = A_{s,k/k - 1} \Lambda_{s,k/k - 1} A_{s,k/k - 1}^{T}$$
(23)

② Calculate cubature points.

$$X_{sj,k/k - 1} = A_{si,k/k - 1} S_{si,k/k - 1} \xi_{j} + \hat{X}_{s,k/k - 1}$$
(24)

③ Calculate new cubature points based on measured variables.

$$Z_{sj,k/k - 1} = h\left( {X_{sj,k/k - 1} ,\hat{X}_{sj,k/k - 1} ,U\left( k \right)} \right)$$
(25)

④ Mean values for volume points.

$$\hat{Z}_{sj,k/k - 1} = \sum\limits_{j = 1}^{m} \frac{1}{m} Z_{sj,k/k - 1}$$
(26)

⑤ Calculate the variance of new interest.

$$P_{szz,k/k - 1} = \sum\limits_{j = 1}^{m} \frac{1}{m} Z_{sj,k/k - 1} Z_{sj,k/k - 1}^{T} - \hat{Z}_{s,k/k - 1} \hat{Z}_{s,k/k - 1}^{T} + R_{s}$$
(27)

where, \(R_{s}\) is the noise covariance matrix of driving state measurement.

⑥ Calculate cross-covariance.

$$P_{sxz,k/k - 1} = \sum\limits_{j = 1}^{m} \frac{1}{m} X_{sj,k/k - 1} Z_{sj,k/k - 1}^{T} - \hat{X}_{s,k/k - 1} \hat{Z}_{s,k/k - 1}^{T}$$
(28)

⑦ Calculate filter gain.

$$K_{s,k} = P_{sxz,k/k - 1} P_{szz,k/k - 1}^{ - 1}$$
(29)

⑧ Estimated state after correction for measured variables.

$$\hat{X}_{s,k} = \hat{X}_{s,k/k - 1} + K_{s,k} \left( {Z_{s,k} - \hat{Z}_{s,k/k - 1} } \right)$$
(30)

⑨ Corrected error covariance matrix.

$$P_{s,k} = P_{s,k/k - 1} - K_{s,k} P_{szz,k/k - 1} K_{s,k}^{T}$$
(31)
  1. (4)

    Information fusion process for vehicle driving status

The local estimated values of each sub-filter in the vehicle driving state are fused through the main filter to obtain a global optimum estimate.

$$P_{sf,k}^{ - 1} = P_{s1,k}^{ - 1} + P_{s2,k}^{ - 1}$$
(32)
$$\hat{X}_{sf,k} = P_{sf,k}^{ - 1} \left( {P_{s1,k}^{ - 1} \hat{X}_{s1,k} + P_{s2,k}^{ - 1} \hat{X}_{s2,k} } \right)$$
(33)

Establish the state and measurement equations of the nonlinear system and give the parameters contained in each variable. The formula is shown in (34):

$$\begin{array}{*{20}c} {\dot{X}_{s,k} = f\left( {X_{s,k} , U_{s,k} , w_{k} } \right)} \\ {Z_{s,k} = h\left( {X_{s,k} , v_{k} } \right)} \\ \end{array}$$
(34)

The state variables of the two sub-filters are:

$$X_{si,k} = \left[ {u,v,a_{x} ,a_{y} ,\gamma ,\Gamma } \right]$$

The measured variable of sub-filter 1 in the driving state estimator is:

$$Z_{s1,k} = \left[ {a_{x} ,a_{y} ,\gamma } \right]$$

The measured variable of sub-filter 2 in the driving state estimator is:

$$Z_{s2,k} = \left[ {a_{y} ,\gamma } \right]$$

The estimator control input variable is:

$$U_{k} = \left[ {\delta_{fl} ,\delta_{fr} ,\delta_{rl} ,\delta_{rr} ,\omega_{fl} ,\omega_{fr} ,\omega_{rl} ,\omega_{rr} } \right]$$

where, \(\delta_{ij}\) is four-wheel corner, which is calculated according to certain rules by collecting steering wheel corner signals from sensors.

The determination of information distribution coefficients is a key issue in the design of the federated filter. The reasonable selection of information distribution coefficients between primary and sub-filters can effectively improve the algorithmic estimation accuracy and fault detection sensitivity of sub-filters, so as to ensure the optimization of the global estimation. Given that the covariance matrix reflects the estimation accuracy of each sub-filter to a great extent, it is used as an indicator to calculate the information distribution factor. This paper uses Eq. (35) for distribution.

$$\beta_{i} = \frac{{tr\left( {p_{i} } \right)}}{{tr\left( {p_{1} } \right) + tr\left( {p_{2} } \right)}}$$
(35)

where, \(tr\left( {p_{i} } \right)\) is the trace of the error covariance matrix and the initial value of the information distribution coefficient is set as \(\beta_{1} = \beta_{2} = 0\).

4 Simulation Verification

In order to verify the feasibility and reliability of the proposed estimation algorithm, the corresponding algorithm model is built under Matlab/Simulink environment, and co-simulation with CarSim, then evaluate the estimation effect of the estimation algorithm on the nonlinear driving state of the vehicle. Set the corresponding test condition and select the low adhesion double shift line test condition. Some parameters of the vehicle model are shown in Table 1.

Table 1 Partial parameters of the vehicle model

For this simulation, the parameters are selected as follows: constant speed is 25 km/h, pavement adhesion coefficient is 0.2, and sampling is a fixed step length of 0.01 s. The initial values of the two sub-filters are selected as follows.

$$\begin{gathered} X_{s1,0} = \left[ {25/3.6,0,0,0,0,0} \right] \hfill \\ P_{s1,0} = eye(6) \hfill \\ Q_{s1,0} = eye(6) * 1000 \hfill \\ R_{s1.0} = diag\left( {\left[ {0.01,1,1} \right]} \right) * 0.1 \hfill \\ \end{gathered}$$
(36)
$$\begin{gathered} X_{s2,0} = \left[ {25/3.6,0,0,0,0,0} \right] \hfill \\ P_{s2,0} = eye(6) \hfill \\ Q_{s2,0} = eye(6) * 1000 \hfill \\ R_{s2.0} = diag\left( {\left[ {0.1,1} \right]} \right) * 0.01 \hfill \\ \end{gathered}$$
(37)

The experimental results are shown in Figs. 3 and 4. The sensor signals collected by the distributed drive electric vehicle are shown in Fig. 3, and the longitudinal/sideways velocity and yaw rate after adding noise to the CarSim simulation output are shown in (a), (b) and (c), respectively. In Fig. 3, (d), (e), and (f) are the sensor signals of four-wheel corner, driving torque, and wheel speed, respectively. Figure 4 shows the comparison curve between the estimated vehicle driving state obtained by the estimation algorithm and the actual value of the vehicle driving state output from the CarSim simulation. Figure 4a shows the comparison curve between the estimated longitudinal speed of the vehicle and the actual value output from the vehicle model. The estimated value is better consistent with the actual value in terms of accuracy and real-time, and has good stability. Figure 4b shows the comparison curve between the estimated lateral speed of the vehicle and the actual value of the vehicle model output. The maximum error between the estimated value and the actual value is about 0.1%, which has good real-time performance and stability. Figure 4c shows a comparison curve between the estimated centroid sideslip angle of the vehicle and the actual values output from the whole vehicle model, where the estimated value is tracked steadily in real time and with high estimation accuracy.

Fig. 3
figure 3

Sensor signal

Fig. 4
figure 4

Vehicle driving state simulation output

5 Conclusion

  1. (1)

    A distributed driving electric vehicle driving state estimation algorithm is investigated. A federal Kalman filter is selected to design the vehicle driving state estimator, and two sub-filters and a master filter are used to improve the stability, error tolerance, and estimation accuracy of the whole algorithm. In order to further improve the estimation accuracy, the sub-filter is designed based on the Cubature Kalman filter theory.

  2. (2)

    Matlab/Simulink is used to implement modular programming. At the same time, the vehicle simulation model is built, and then the estimation algorithm is verified in conjunction with the CarSim simulation platform. The simulation results show that the algorithm has a good effect on the response, stability and accuracy of the driving state estimation.