IMU-Based Automated Vehicle Slip Angle and Attitude Estimation Aided by Vehicle Dynamics

The slip angle and attitude are vital for automated driving. In this paper, a systematic inertial measurement unit (IMU)-based vehicle slip angle and attitude estimation method aided by vehicle dynamics is proposed. This method can estimate the slip angle and attitude simultaneously and autonomously. With accurate attitude, the slip angle can be estimated precisely even though the vehicle dynamic model (VDM)-based velocity estimator diverges for a short time. First, the longitudinal velocity, pitch angle, lateral velocity, and roll angle were estimated by two estimators based on VDM considering the lever arm between the IMU and rotation center. When this information was in high fidelity, it was applied to aid the IMU-based slip angle and attitude estimators to eliminate the accumulated error correctly. Since there is a time delay in detecting the abnormal estimation results from VDM-based estimators during critical steering, a novel delay estimation and prediction structure was proposed to avoid the outlier feedback from vehicle dynamics estimators for the IMU-based slip angle and attitude estimators. Finally, the proposed estimation method was validated under large lateral excitation experimental tests including double lane change (DLC) and slalom maneuvers.


Introduction
Automated driving technology has attracted much attention recently [1]. Implementing high-level automated driving technology in on-road vehicles needs to address many cutting-edge issues. Among them, accurate sideslip angle and attitude are highly significant [2]. For example, image processing and feature recognition could be aided by the external pitch and roll angle of the vehicle body [3]. Also, sideslip angle and attitude are prerequisites for determining vehicle location [4]. From the perspective of vehicle dynamics control, slip angle, which has been researched for more than 20 years, is the basis for vehicle steering behavior control [5,6].
Unfortunately, commercial devices such as the RT3000 from OxTS [7] or the S-Motion from Kistler [8], which can measure vehicle slip angle and attitude, are too expensive to be used for commercial vehicles and are usually used only for experimental measurement purposes. The RT3000 is a GNSS/INS integration system which can estimate the vehicle velocity in navigation coordinates. Then the slip angle can be estimated by projecting the vehicle velocity in navigation coordinates onto the vehicle body coordinates. The S-Motion is an optical sensor to measure the slip angle. A more feasible way is to use an estimation technique by fusing information from different sensors of an intelligent vehicle. Usually, these sensors include lidars, radars, cameras, inertial measurement units

Methods
The holistic structure of the proposed estimation method in this paper is shown in Figure 1. The proposed estimation architecture is divided into two parts: the delayed estimator and the predictor. The delayed estimator contains two parts: the two IMU-based estimators, used to estimate velocity and attitude respectively, and the two VDM-based estimators, used to estimate longitudinal velocity and pitch angle and lateral velocity and roll angle respectively. In normal driving condition which can be determined by the , the feedback as measurement in Kalman filter from the VDM-based velocity and attitude estimators can remove the accumulated error of the IMU-based velocity and attitude estimators. In critical driving conditions such as fast steering or hard braking, the precision of the VDM-based estimation method is reduced significantly due to the model discrepancy. At this time, the IMU-based estimator should be insulated from the VDM-based estimator. However, the time delay needs to be detected to determine when to start the insulation, since the determination can only be made after the critical driving condition occurs. Therefore, those estimators are delayed to allow synchronization. In other words, those estimators are for estimating ( )

Vehicle-Dynamics-Model-Based Velocity Estimator
This section shows the estimation methods of lateral velocity, roll angle, longitudinal velocity, and pitch angle by vehicle dynamics.

Vehicle Kinematic Model
The kinematic model of the center of rotation is described by Equation (1):

Vehicle-Dynamics-Model-Based Velocity Estimator
This section shows the estimation methods of lateral velocity, roll angle, longitudinal velocity, and pitch angle by vehicle dynamics. The kinematic model of the center of rotation is described by Equation (1): where v x , v y , and v z are longitudinal, lateral, and vertical velocity in vehicle body coordinates; a x_kine , a y_kine , and a z_kine are kinematic acceleration of the vehicle body; and . ϕ, . θ, and . ψ are roll, pitch, and yaw angular velocity, respectively. However, due to the suspension, implementing the IMU at the rotation center is not possible, since there is a lever arm between the IMU and the rotation center. The lever arm will influence the measurement in the accelerometer when the vehicle body rotates. The lever arm should be estimated and then the convective acceleration should be removed from the acceleration. The convective acceleration is computed by Equation (2): where a x_compen , a y_compen , and a z_compen are the compensated acceleration and L offset_x , L offset_y , and L offset_z are the lever arms in the x, y, and z directions, respectively; and .. ψ are the roll, pitch, and yaw angular acceleration, respectively.
Then we have the acceleration of the center of rotation of the body as Equation (3), where a x s a y s a z s T is the output of the accelerometer in x, y, and z directions, respectively: a x_compen a y_compen a z_compen Gravity will also contribute to the measurement in the accelerometer due to roll and pitch variation.
The acceleration in body coordinate a x b a y b a z b T is given by Equation (4): where g is gravity.
The velocity v x_VDvy_VDvz_VD T and kinematic acceleration .v z_VD T could also be estimated from the vehicle dynamics (Equations (5), (9), (10), (25), and (26)). Based on this motivation, we can separate out the gravity component from the accelerometer to estimate the roll and pitch angles through Equation (6) to aid the IMU-based attitude estimator: is the angular velocity output from the gyroscope in the x, y, and z directions, respectively.
where the subscript of bg means the acceleration due to gravity in body coordinate. With the gravity component in acceleration, the roll angle ϕ VD and pitch angle θ VD can be computed as Equation (7):

Longitudinal Velocity and Its Acceleration Estimation
There is much research about longitudinal velocity estimation based on vehicle dynamics and wheel dynamics. In this part, the wheel speed from the driven wheel is used to estimate the longitudinal velocity and longitudinal acceleration. In normal driving conditions, this wheel speed is accurate as the real longitudinal velocity, while in braking conditions, if the braking force is large, the wheel speed may diverge due to the tire slip. Thanks to the IMU-based attitude and velocity estimators, in strong braking conditions, the feedback from vehicle dynamics is cut off and the longitudinal velocity can be estimated with relatively high precision.

• Longitudinal velocity estimation
The wheel model is shown in Figure 2. ω is rotation speed of the wheel and r is tire radius. The longitudinal velocityv x_VD can be estimated from the wheel speed of the driven wheel as Equation (9): The subscripts rl and rr mean rear left and rear right, ω is the wheel speed, r is the tire radius, and b r is the rear wheel base.
where the subscript of bg means the acceleration due to gravity in body coordinate. With the gravity component in acceleration, the roll angle VD φ and pitch angle VD θ can be computed as Equation (7): 3.

Longitudinal Velocity and Its Acceleration Estimation
There is much research about longitudinal velocity estimation based on vehicle dynamics and wheel dynamics. In this part, the wheel speed from the driven wheel is used to estimate the longitudinal velocity and longitudinal acceleration. In normal driving conditions, this wheel speed is accurate as the real longitudinal velocity, while in braking conditions, if the braking force is large, the wheel speed may diverge due to the tire slip. Thanks to the IMU-based attitude and velocity estimators, in strong braking conditions, the feedback from vehicle dynamics is cut off and the longitudinal velocity can be estimated with relatively high precision. •

Longitudinal velocity estimation
The wheel model is shown in Figure 2. ω is rotation speed of the wheel and r is tire radius. The longitudinal velocity can be estimated from the wheel speed of the driven wheel as The subscripts rl and rr mean rear left and rear right, ω is the wheel speed, r is the tire radius, and r b is the rear wheel base.

Kinematic longitudinal acceleration estimation
With the estimated longitudinal velocity, we can estimate the kinematic longitudinal acceleration to estimate the pitch angle. We assume that the longitudinal velocity can be described by a fourth-order Taylor series at t moment. Then, we have: With the estimated longitudinal velocity, we can estimate the kinematic longitudinal acceleration to estimate the pitch angle. We assume that the longitudinal velocity can be described by a fourth-order Taylor series at t moment. Then, we have: where . v x_VD , ..
v x_VD , and ... v x_VD are the first-order, second-order, and third-order derivatives of longitudinal speed; w 1 ∼ w 4 are Gaussian white noise; t is the time step; and O is the high-order term, which is ignored.
Remarks: Since the longitudinal acceleration is controlled by the driver, there would not be very high-order dynamics in the longitudinal velocity, and we make this assumption about the longitudinal velocity.
Then, we have the discrete form of Equation (10). The system equation is given by Equation (11) and the measurement equation is given by Equation (12), where η means the measurement noise: With different driving conditions such as passing deceleration strips or slipping, the noise in the wheel speed sensor changes a lot. The measurement noise covariance of wheel speed sensor output should be adapted with different driving conditions, which would enhance the dynamic performance of the filter. Then, the innovation adaptive estimation (IAE)-based Kalman filter mentioned in Section 3.1.3 is applied to estimate the longitudinal acceleration.
• Feedback flag for IMU-based estimator When a vehicle brakes hard, the tires will slip and the accuracy of the longitudinal velocity will drop fast. At this time, we need to detect this moment and insulate the feedback from the VDM-based longitudinal velocity estimator to the IMU-based longitudinal velocity estimator. Here, we design some feasible rules to set up the feedback flag for the IMU-based estimator.
Define a x_dev as: The mechanism of the feedback flag for the IMU-based longitudinal velocity and pitch angle estimator is shown in Figure 3. When the acceleration is smaller than a threshold value, Flag v x_VD is set up to detect the hard braking operation. When the expectation and variance of a x_dev are larger than the threshold value, Flag v x_VD is set up. a x s _Thresh , a x_Thresh , a x_EThresh , and a x_VarThresh are the threshold values that need to be tuned in the application. tire slip is very small, which means Equation (9) has high precision. This accurate longitudinal velocity and pitch angle is enough to remove the accumulated error. Thus, the threshold value in Figure 3 could be set strictly to detect abnormal values of the longitudinal velocity and pitch angle estimated from vehicle dynamics. Since this mechanism is only effective when the tires have already slipped, if we use this flag to cut off the feedback to the IMU-based longitudinal velocity and attitude estimators, the IMU-based longitudinal velocity and attitude estimators have already been injected with polluted longitudinal velocity and pitch angle. In other words, this flag is too late to cut off the feedback, or there is a delay in the flag. Therefore, in order to synchronize, we delay the IMU-based estimator. As for the flag, we set up a new flag as Equation (14): This operation would guarantee the exact time to cut off the feedback, and we could use the longitudinal velocity and pitch angle from the vehicle dynamics estimator to assist the IMU-based attitude and longitudinal velocity estimator safely. In the end, the IMU-based estimator would output the delayed state.

Estimation Algorithm
In order to eliminate the random noise of the process model and measurement model, an IAE-based Kalman filter is proposed to estimate the velocity and attenuate the influence of the measurement outlier from the VDM-based estimator. The basic Kalman filter process is shown in Figure 4, where subscript k means the k moment, | 1 k k − means prediction of k moment from k−1 moment, | k k means prediction after correction at time k, A is the system matrix, x is the state, P is the state error covariance, Q is the covariance of the system noise, Γ is the input matrix of the input noise, dt is the sample time, C is the measurement matrix, R is the covariance of measurement, G is the Kalman gain, and z is the measurement. Essentially, the longitudinal velocity and pitch angle estimated from vehicle dynamics help to remove the accumulated error of the IMU-based estimator. Under normal driving conditions, the tire slip is very small, which means Equation (9) has high precision. This accurate longitudinal velocity and pitch angle is enough to remove the accumulated error. Thus, the threshold value in Figure 3 could be set strictly to detect abnormal values of the longitudinal velocity and pitch angle estimated from vehicle dynamics.
Since this mechanism is only effective when the tires have already slipped, if we use this flag to cut off the feedback to the IMU-based longitudinal velocity and attitude estimators, the IMU-based longitudinal velocity and attitude estimators have already been injected with polluted longitudinal velocity and pitch angle. In other words, this flag is too late to cut off the feedback, or there is a delay in the flag. Therefore, in order to synchronize, we delay the IMU-based estimator. As for the flag, we set up a new flag as Equation (14): where Flag τ v x_VD is delayed by τ from Flag v x_VD . This operation would guarantee the exact time to cut off the feedback, and we could use the longitudinal velocity and pitch angle from the vehicle dynamics estimator to assist the IMU-based attitude and longitudinal velocity estimator safely. In the end, the IMU-based estimator would output the delayed state.

Estimation Algorithm
In order to eliminate the random noise of the process model and measurement model, an IAE-based Kalman filter is proposed to estimate the velocity and attenuate the influence of the measurement outlier from the VDM-based estimator. The basic Kalman filter process is shown in Figure 4, where subscript k means the k moment, k|k − 1 means prediction of k moment from k−1 moment, k|k means prediction after correction at time k, A is the system matrix,x is the state, P is the state error covariance, Q is the covariance of the system noise, Γ is the input matrix of the input noise, dt is the sample time, C is the measurement matrix, R is the covariance of measurement, G is the Kalman gain, and z is the measurement.  Since the noise of the measurement is usually time-varying, the noise covariance changes with different driving conditions. Therefore, the noise covariance should be adapted online to enhance the performance of the estimator. The innovation of the basic Kalman filter is given by Equation (15): The expectation of the innovation at k moment is given by Equation (16): can be computed through a short window [30]. Then the covariance of measurement noise is estimated by Equation (17): In order to reduce the calculation, we use the recursive form to compute ˆk R , given by Equation (18): In order to improve the dynamic performance of the estimation for ˆk R , we involve a fading factor to forget part of the historical measurement. The fading factor b is between 0 and 1; then, we have the fading coefficient k α : Since the noise of the measurement is usually time-varying, the noise covariance changes with different driving conditions. Therefore, the noise covariance should be adapted online to enhance the performance of the estimator. The innovation of the basic Kalman filter is given by Equation (15): The expectation of the innovation at k moment is given by Equation (16): E d k · d k T can be computed through a short window [30]. Then the covariance of measurement noise is estimated by Equation (17): In order to reduce the calculation, we use the recursive form to computeR k , given by Equation (18): In order to improve the dynamic performance of the estimation forR k , we involve a fading factor to forget part of the historical measurement. The fading factor b is between 0 and 1; then, we have the fading coefficient α k : The recursive form of the estimation forR k is given by Equation (20): Sensors 2019, 19,1930 10 of 28 In addition, since there is subtraction operation for d k · d k T − C k P k|k−1 C k T , when d k and P k|k−1 are mismatched, the sign of d k · d k T − C k P k|k−1 C k T may be negative, leading to the loss of positive certainty ofR k , which would cause abnormity of the filter. Therefore, we add a limitation for every element ofR k for stability of the Kalman filter. For the i-th measurement, define χ i k as Equation (21): ThenR i k can be calculated as Equation (22): In the following section, we will also use the IAE-based Kalman filter to estimate attitude and velocity by fusing vehicle dynamics and IMU information.

Lateral Velocity and Its Acceleration Estimation
As stated in the introduction, there is a lot of research about lateral velocity estimation based on vehicle dynamics [6,13]. In this section, a linear two-DOF single-track vehicle model is used to estimate the sideslip angle and lateral acceleration in normal driving conditions to remove the accumulated error of the IMU-based lateral velocity and attitude estimator.
• Lateral velocity estimation In Figure 5, β is slip angle, α f is tire slip angle of front axle and α r is tire slip angle of rear axle. The dynamics of the linear 2DOF single-track vehicle model shown in Figure 5 is illustrated by Equation (23) [31]: where C f is front axle equivalent cornering stiffness, C r is rear axle equivalent cornering stiffness, m is vehicle mass, l f is distance from the front axle to the center of gravity (COG), l r is distance from the rear axle to the COG, I z is the vehicle yaw moment of inertia, δ f is the steering angle of the front wheel, Sensors 2019, 19, x FOR PEER REVIEW 11 of 29 from the rear axle to the COG, z I is the vehicle yaw moment of inertia, f δ is the steering angle of the front wheel, β is the sideslip angle, Figure 5. Single-track vehicle model.
Since we can obtain the yaw rate from the IMU, with that we can use the Kalman filter method shown in Figure 4 to estimate the sideslip angle.
With the estimated sideslip angle, the lateral velocity can be estimated by Equation (25): • Kinematic lateral acceleration estimation Since we can obtain the yaw rate from the IMU, with that we can use the Kalman filter method shown in Figure 4 to estimate the sideslip angle.
With the estimated sideslip angle, the lateral velocity can be estimated by Equation (25): • Kinematic lateral acceleration estimation After updating the measurement of the sideslip angle estimation with the Kalman filter, we can also calculate the derivative of the sideslip angle based on the state equation: In addition, the derivative of the lateral velocity is: .
• Feedback flag for IMU-based estimator The design principle for the feedback flag for lateral velocity and roll angle is the same as that for longitudinal velocity. In the linear region of the tire, the linear tire model and 2DOF single-track vehicle model are well matched. With that, it is feasible to estimate the sideslip angle with high precision. As long as an accurate estimated sideslip angle is used, the accumulated error in the IMU-based lateral velocity and attitude estimator can be removed.
We define γ dev , v y_dev , and a y_dev , which are the yaw rate deviation, lateral velocity deviation, and lateral kinematic acceleration deviation, respectively, as Equations (28)- (30).γ d can be estimated from the linear 2DOF single-track vehicle model, as Equation (31).
The mechanism of the feedback flag for the IMU-based lateral velocity and roll angle estimator is shown in Figure 6. When the lateral acceleration is larger than a threshold value, Flag v y_VD is set up to detect the critical steering operation. When the expectation and variance of v y_dev , γ dev are larger than the threshold value, Flag v y_VD is set up. In addition, the steering wheel angle and speed are also used to detect the critical steering operation. a y s _Thresh , v y_Thresh , v y_EThresh , v y_VarThresh , γ Thresh , γ E_Thresh , γ VarThresh , δ f _Thresh , and . δ f _Thresh are the threshold values that need to be tuned in application. The subscript of 'Thresh' means threshold.
larger than the threshold value, _ Flag y VD v is set up. In addition, the steering wheel angle and speed are also used to detect the critical steering operation.  Figure 6. Feedback mechanism for lateral velocity and roll angle.
Like the longitudinal velocity estimation, only under normal driving conditions can the accumulated error in the IMU-based lateral velocity and roll angle estimator be removed. Thus, the threshold value in Figure 6 could be set strictly to detect abnormal values of the lateral velocity and roll angle estimated from vehicle dynamics.
Since this mechanism is only effective when the vehicle has already side-slipped, if we use this flag to cut off the feedback, the IMU-based lateral velocity and roll angle estimator have already been injected with polluted lateral velocity and roll angle. In other words, this flag is too late to cut off the feedback or there is a delay in the flag. Therefore, in order to synchronize, we delay the IMU-based estimator. As for the flag, we set up a new flag as Equation (32): This operation would guarantee the exact time to cut off the feedback, and we could use the lateral velocity and roll angle from the vehicle dynamics estimator to assist the IMU-based attitude and lateral velocity estimator safely. In the end, like the longitudinal velocity part, the IMU-based estimator would output the delayed state.

IMU-Based Attitude Estimation
In this section, based on the triaxle angular rate and the attitude estimated from the vehicle dynamics, we design the attitude estimator using the IAE-based Kalman filter. Like the longitudinal velocity estimation, only under normal driving conditions can the accumulated error in the IMU-based lateral velocity and roll angle estimator be removed. Thus, the threshold value in Figure 6 could be set strictly to detect abnormal values of the lateral velocity and roll angle estimated from vehicle dynamics.
Since this mechanism is only effective when the vehicle has already side-slipped, if we use this flag to cut off the feedback, the IMU-based lateral velocity and roll angle estimator have already been injected with polluted lateral velocity and roll angle. In other words, this flag is too late to cut off the feedback or there is a delay in the flag. Therefore, in order to synchronize, we delay the IMU-based estimator. As for the flag, we set up a new flag as Equation (32): where Flag τ v y_VD is delayed by τ from Flag v y_VD . This operation would guarantee the exact time to cut off the feedback, and we could use the lateral velocity and roll angle from the vehicle dynamics estimator to assist the IMU-based attitude and lateral velocity estimator safely. In the end, like the longitudinal velocity part, the IMU-based estimator would output the delayed state.

IMU-Based Attitude Estimation
In this section, based on the triaxle angular rate and the attitude estimated from the vehicle dynamics, we design the attitude estimator using the IAE-based Kalman filter.

Gyroscope Sensor Model
We analyzed the gyroscope and acceleration sensor by the Allan variance method to determine the error composition in the IMU sensor [32]. The gyroscope or accelerometer measurement is composed of a real value, a constant bias term b 0 , a random walk bias term b 1 , and a wideband noise term w. A first-order Markov model can be used to show the random walk bias. τ is the time constant and w b is the wideband noise. Besides, due to the earth's rotation, the gyroscope would also sense the angular , and this part should be removed to estimate attitude. The gyroscope model is given by Equations (33) and (34): where the subscript s means the measurement of the sensor, the subscript r means the real measurement, and the superscript · means the derivative of the variable: cos ψ cos θ − sin ψ cos ϕ + cos ψ sin θ sin ϕ sin ψ sin ϕ + cos ψ sin θ cos ϕ sin ψ cos θ cos ψ cos ϕ + sin ψ sin θ sin ϕ − cos ψ sin ϕ + sin ψ sin θ cos ϕ − sin θ cos θ sin ϕ cos θ cos ϕ where ω ie is the rotation speed of the Earth and L is the latitude of the vehicle. Equation (35) shows how to compute the angular speed in vehicle coordinates.

Attitude Dynamics
Since the simple form of Euler angle, in this paper, we chose the Euler angle as the representation of attitude. In Euler angle representation, we can involve the sensor bias in the state variable directly without further transformation compared with quaternion representation. The rotation sequence is Z-Y-X. Rotating about each axle, we have yaw, pitch, and roll angle, respectively. Then the dynamics of the Euler angle are given by Equation (37):

Attitude Estimator
For the attitude estimation, we applied the IAE-based Kalman filter. The state variable we used here contains ϕ θ ψ b ϕ1 b θ1 b ψ1 T and the measurement variable is ϕ m θ m ψ m . The attitude dynamics can be described by Equation (38): The model in Equation (38) is a nonlinear system, the EKF should be adopted [13]. The first step of the EKF is to compute the predicted state by Equation (39): Then in order to compute the state transition matrix, the system should be linearized. After the linearization given by Equation (40), the rest procedures of the EKF and KF are the same. The IAE-based Kalman filter is also implemented: .
The system matrix is given by Equation (41): where: The measurement equation is whereψ GNSS is the heading angle from the GNSS receiver. Then, with system matrix Equation (38) and measurement Equation (42), the IAE-based Kalman filter is used to estimate the attitude.
Remarks: As stated before, under critical driving conditions, the roll and pitch angles estimated from the vehicle dynamics lose fidelity and Flag F_v x_VD and Flag F_v y_VD are set. At this time, the feedback term should be cut off and the IMU-based attitude estimator turns to open loop integration mode.

IMU-Based Velocity Estimation
In this section, based on the triaxle accelerometer and the velocity estimated from the vehicle dynamics, we design the velocity estimator using the IAE-based Kalman filter.

Accelerometer Sensor Model
Similar to the gyroscope sensor model, the accelerometer sensor model is given by Equations (43) and (44):

Velocity Dynamics
The dynamics of velocity in the vehicle body frame are given by Equation (45):

Velocity Estimator
Since the vertical velocity is usually small under normal driving conditions, referring to the first-order Markov model, a damping term − 1 τ damp · v z is involved in the dynamics of vertical velocity in case of divergence. Therefore, the dynamics of velocity are changed to Equation (46): where the state variable is The measurement is given by Equation (47): Then, with system matrix Equation (46) and measurement Equation (47), the IAE-based Kalman filter is used to estimate the velocity.
As stated before, under critical driving conditions, the longitudinal and lateral velocity estimated from the vehicle dynamics lose fidelity and Flag F_v x_VD and Flag F_v y_VD are set. At this time, the feedback term should be cut off and the IMU-based velocity estimator turns to open loop integration mode.

Attitude and Velocity Predictor
From Section 3.2, there is a time delay in Flag v x_VD and Flag v y_VD , which are the indicators to insulate the IMU-based estimator from abnormal feedback from the VDM-based estimator. Therefore, we propose Flag F_v x_VD and Flag F_v y_VD to extend the time scale. When the IMU-based estimator is delayed to t − τ moment, Flag F_v x_VD and Flag F_v y_VD precede the delayed estimator to set up when the vehicle is under critical maneuvers, then a predictor is adopted to move the estimator at t − τ to t moment. This process is shown in Figure 7. precede the delayed estimator to set up when the vehicle is under critical maneuvers, then a predictor is adopted to move the estimator at t τ − to t moment. This process is shown in Figure 7.
x t is the estimated result for t τ − moment at t moment. In real-time application, we should reserve a buffer to store the sensor data from t τ − to t for the predictor.
With ( ) τ x t (refer to Ref. [33]), a predictor is designed to predict ( ) x t based on the present u(t) and system model. The predictor is described by Equations (49) and (50): where the dynamics of ( ) Within this delayed observer and predictor structure, the estimation error of the predictor is stable, and the proof of estimation error stability of the predictor is shown in Appendix A.

Results and Discussion
This section shows the experimental implementation and results. Figures 8 and 9 show the details of hardware implementation for this paper. The Novatel 718D At t moment, the systems from Sections 3.2-3.4 for the estimator design can be abstracted by Equation (48), and the corresponding estimator is designed for estimationx τ (t) for t − τ moment.

Experimental Implementation
x τ (t) is the estimated result for t − τ moment at t moment. In real-time application, we should reserve a buffer to store the sensor data from t − τ to t for the predictor.
Withx τ (t) (refer to Ref. [33]), a predictor is designed to predictx(t) based on the present u(t) and system model. The predictor is described by Equations (49) and (50): .
where the dynamics of δ(t) are the same as the corresponding system in Equation (48) and are driven byx τ (t) and u(t) with δ(t),x(t) predicted by Equation (50). Within this delayed observer and predictor structure, the estimation error of the predictor is stable, and the proof of estimation error stability of the predictor is shown in Appendix A.

Results and Discussion
This section shows the experimental implementation and results. Figures 8 and 9 show the details of hardware implementation for this paper. The Novatel 718D receiver records the trajectory of the vehicle in 10 Hz and the ADIS 16495 provides the acceleration and angular speed and its increment in 100 Hz. The steering wheel angle, steering wheel angular speed, and wheel speed are acquired from the On-Board Diagnostics (OBD) port in the test vehicle in 50 Hz. The reference attitude, including roll angle, pitch angle, and velocity in longitudinal and lateral directions, are measured by the Kistler S-Motion in 50 Hz. All information is collected by the NI CompactRIO 9082 through a CAN bus and the data acquisition system is programmed by Labview 2013. MatLab/Simulink 2012a running on the computer is used to run the proposed method offline in 100 Hz.

Expeimental Results
Double lane change (DLC) and slalom maneuvers under large lateral excitation were performed to validate the proposed estimation method. Large lateral excitation means lateral acceleration between 6 and 8 m/s 2 .

Expeimental Results
Double lane change (DLC) and slalom maneuvers under large lateral excitation were performed to validate the proposed estimation method. Large lateral excitation means lateral acceleration between 6 and 8 m/s 2 .

Expeimental Results
Double lane change (DLC) and slalom maneuvers under large lateral excitation were performed to validate the proposed estimation method. Large lateral excitation means lateral acceleration between 6 and 8 m/s 2 .  Figure 11 shows the test results of the proposed method with the slalom maneuver.  Figure 11 shows the test results of the proposed method with the slalom maneuver.  Figure 11 shows the test results of the proposed method with the slalom maneuver.  Figures 10 and 11 show the DLC and slalom maneuver test results. Figures 10a and 11a show the vehicle trajectory. In those two maneuvers, the vehicle was driven violently with the steering wheel angular speed over 500 °/s. The peak lateral acceleration reached 8 m/s 2 , which is nearly the road friction limit. Because the attitude from VDM-based estimators was very noise, which would affect the expression of the test results, the cyan line was only given in Figure 10f,g. In Figure 11, some of the important results were given compared with Figure 10. Tables 1 and 2 show the absolute estimation errors in each maneuver. As for roll angle and slip angle, we select four peak points to compute the absolute estimation errors and averaged error. As for the pitch angle and longitudinal velocity, we randomly select four points to compute the absolute estimation errors and averaged error because under critical steering conditions, the dynamics in longitudinal direction is small. Tables 3 and 4 show the root mean square errors in each maneuver. Table 1. Absolute estimation errors during critical steering in DLC maneuver. "Ave" means averaged estimation error. "P" means point.  Table 2. Absolute estimation errors during critical steering in slalom maneuver.  Figures 10 and 11 show the DLC and slalom maneuver test results. Figures 10a and 11a show the vehicle trajectory. In those two maneuvers, the vehicle was driven violently with the steering wheel angular speed over 500 • /s. The peak lateral acceleration reached 8 m/s 2 , which is nearly the road friction limit. Because the attitude from VDM-based estimators was very noise, which would affect the expression of the test results, the cyan line was only given in Figure 10f,g. In Figure 11, some of the important results were given compared with Figure 10. Tables 1 and 2 show the absolute estimation errors in each maneuver. As for roll angle and slip angle, we select four peak points to compute the absolute estimation errors and averaged error. As for the pitch angle and longitudinal velocity, we randomly select four points to compute the absolute estimation errors and averaged error because under critical steering conditions, the dynamics in longitudinal direction is small. Tables 3 and 4 show the root mean square errors in each maneuver. During the dramatic steering process, the vehicle body rotated fast with peak roll angle over 5 • . Aided by the VDM-based estimator in normal driving conditions, the IMU-based attitude estimator could maintain a good state with roll angle estimation error smaller than 0.1 • even without aid for a short time during the dramatic steering. The estimation error for pitch angle was below 0.5 • in the total test process. The IAE-based Kalman filter for attitude estimation eliminated large noise, as shown by the green curves in Figure 10f,g. This is significant for the application from the control perspective. On the other hand, since the main error source of IMU-based estimator is the bias error, this accumulated error will not grow fast and in order to obtain the smooth estimation result, usually we set the noise covariance as a large initial value to reduce the weight of the measurement from VDM-based attitude estimators. Also theR i min in Equation (22) is set as large value. From Figure 10f, we see that the cyan line which is the roll angle estimation result as the feedback for the IMU-based attitude estimation result was very noise. Thanks to the large noise covariance, the red line follows the cyan line smoothly in the partial enlarged detail of roll angle in Figure 10g. The convergence time is near 2 s from 0.82 • to 0.8 • from 104 s to 106 s. The averaged estimation error of roll angle was smaller than 0.1 • and the RMS error of roll angle was smaller than 0.15 • . The averaged estimation error of pitch angle was smaller than 0.2 • and the RMS error of pitch angle was smaller than 0.2 • .

Discussion
In normal driving conditions, the precise longitudinal and lateral velocity from the VDM-based estimator can be used as feedback to correct the IMU-based velocity estimator. This correction would remove the accumulated error in the IMU-based velocity estimator. From Figure 10j,k and Figure 11e, the velocity estimated by the proposed method can follow the velocity from the VDM-based estimator smoothly and without accumulated error. When the driver steered fast, the feedback to the lateral velocity was cut off if the flag in Figures 10i and 11e was set. Then the slip angle shown in Figures 10k and 11e was integrated in open loop integration mode. Thanks to the accurate attitude estimation result compensating the gravity component, the slip angle did not diverge over a short time. The maximum slip angle estimation error was less than 0.25 • and the estimation precision reached 90%, which was much higher than that of the VDM-based estimator. This proved the idea in this paper that the VDM-based estimator would contribute bad information if we still injected it into the IMU-based estimator. Compared with lateral velocity, the precision of longitudinal velocity was higher because the tire slip ratio in the longitudinal direction was small, and it was over 95%. From Tables 1 and 3, the averaged estimation error of longitudinal velocity was smaller than 0.1 m/s and the RMS error of longitudinal velocity was also smaller than 0.1 m/s from Tables 2 and 4. The averaged estimation error of slip angle was smaller than 0.25 • and the RMS error of slip angle was smaller than 0.1 • , which was better than the slip angle from VDM-based estimator.
The novel feedback strategy in Sections 3.2.2 and 3.2.3 can generally detect critical driving conditions. Since the rules were established on the assumption that the vehicle had already entered into the critical situation, the detecting flag introduced a time delay to cut off the feedback. We proposed Equations (14) and (32) to extend the time domain of the critical driving condition as the blue and cyan curves shown in Figures 10i and 11e, and in the meantime, we delayed all input and output to realize synchronization for a short time to make the flag setting precede the critical condition. Then we used the predictors to move the past statex τ (t) to the current time, as shown by the predicted curves in Figures 10f-k and 11b-e, compared with the delayed curves. This moving process would not involve large estimation error in the current state, and this proof is theoretically made in Appendix A.

Conclusions
In this paper, a novel and autonomous IMU-based vehicle slip angle and attitude estimation method aided by vehicle dynamics and GNSS is proposed. Three main conclusions can be drawn:

•
Better performance has been gained by fusing VDM-based estimators and IMU-based estimators for slip angle and attitude than each of them. On the one hand, under normal driving conditions, assistance from VDM-based estimators can eliminate the accumulated error for the IMU-based slip angle and attitude estimation by the Kalman filter considering the lever arm between the IMU and rotation center. On the other hand, under critical driving conditions, without the accumulated error, the IMU-based slip angle and attitude estimation results have higher precision than the VDM-based estimator results.

•
The simultaneous estimation of attitude and velocity keeps the IMU-based estimators in a good state to prepare for the open loop integration mode when the vehicle enters critical driving conditions. An accurate attitude guarantees that the acceleration generated by gravity with changing attitude can be removed correctly. Then, even when the feedback from the VDM-based estimators is cut off, the estimation results of slip angle and attitude are still accurate for a short time.

•
The delayed estimator and predictor structure can avoid outlier feedback from VDM-based velocity and attitude estimators for IMU-based slip angle and attitude estimators with rejecting the time delay in detecting abnormal estimation results from VDM-based estimators. Also, the estimation error of the delayed estimator and predictor structure has been proved convergence theoretically.
In this paper, the aiding information for IMU-based estimators is obtained from estimators based on vehicle dynamics. In future work, our team will seek more accurate estimators based on vehicle dynamics to extend the aid to relatively critical driving conditions considering the nonlinear characteristics and uncertainty of the vehicle model. Also, when the IMU-based estimators enter the open loop integration mode under critical conditions, we will involve some external information from GNSS to correct the accumulated error. Last but not least, we will implement this method online on an embedded processor such as a DSP 28335.

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