[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Next Article in Journal
Suppressing the Spikes in Electroencephalogram via an Iterative Joint Singular Spectrum Analysis and Low-Rank Decomposition Approach
Previous Article in Journal
Evaluation of the Trend of Deformation around the Kanto Region Estimated Using the Time Series of PALSAR-2 Data
You seem to have javascript disabled. Please note that many of the page functionalities won't work as expected without javascript enabled.
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

A Novel Roll and Pitch Estimation Approach for a Ground Vehicle Stability Improvement Using a Low Cost IMU

by
Malik Kamal Mazhar
1,*,
Muhammad Jawad Khan
1,
Aamer Iqbal Bhatti
2 and
Noman Naseer
3
1
School of Mechanical & Manufacturing Engineering (SMME), National University of Sciences & Technology (NUST), Islamabad 44000, Pakistan
2
Department of Electrical Engineering, Capital University of Science & Technology (CUST), Islamabad 44000, Pakistan
3
Department of Mechatronics, Air University (AU), Islamabad 44000, Pakistan
*
Author to whom correspondence should be addressed.
Sensors 2020, 20(2), 340; https://doi.org/10.3390/s20020340
Submission received: 20 November 2019 / Revised: 26 December 2019 / Accepted: 30 December 2019 / Published: 7 January 2020
(This article belongs to the Section Remote Sensors)
Figure 1
<p>Overall System Architecture.</p> ">
Figure 2
<p>Track Vehicle Model.</p> ">
Figure 3
<p>Block Diagram of Observer Implementation.</p> ">
Figure 4
<p>Order Observer.</p> ">
Figure 5
<p>Sliding Mode Observer Estimation Process.</p> ">
Figure 6
<p>Complementary Filter Configuration.</p> ">
Figure 7
<p>Estimation Process from Gyro and Static Equation.</p> ">
Figure 8
<p>Observer results for step input estimate for roll angle.</p> ">
Figure 9
<p>Observer Results for ISO Fishhook Input estimate for Roll Angle.</p> ">
Figure 10
<p>Observer results for ISO double lane change input estimate of roll angle.</p> ">
Figure 11
<p>Error comparison of observers during double lane change input.</p> ">
Figure 12
<p>Observer Results for sine input estimate of Roll Angle.</p> ">
Figure 13
<p>Observer Results for Sine input with Gaussian noise.</p> ">
Figure 14
<p>Observer Results for Step input with Gaussian noise.</p> ">
Figure 15
<p>Complementary Filter Response for Sine Input.</p> ">
Figure 16
<p>Complementary Filter Response for Step Steer Input.</p> ">
Figure 17
<p>Experimental setup containing Arduino and MPU6050.</p> ">
Figure 18
<p>Test Track Map (Zoom Scale 500 ft).</p> ">
Figure 19
<p>Real Time Roll Angle Estimate at f = 5 Hz for Complementary Filter.</p> ">
Figure 20
<p>Real Time Pitch Angle Estimate at f = 5 Hz for Complementary Filter.</p> ">
Figure 21
<p>Real Time Roll Angle Estimate at f = 10 Hz for Complementary Filter.</p> ">
Figure 22
<p>Time Pitch Angle Estimate at f = 10 Hz for Complementary Filter.</p> ">
Figure 23
<p>Real time roll angle estimate at f = 20 Hz for complementary filter.</p> ">
Figure 24
<p>Real Time Pitch Angle Estimate at f = 20 Hz for Complementary Filter.</p> ">
Figure 25
<p>Real Time Roll Angle Estimate at f = 25 Hz for Complementary Filter.</p> ">
Figure 26
<p>Real Time Pitch Angle Estimate at f = 25 Hz for Complementary Filter.</p> ">
Figure 27
<p>Real Time Roll Angle Estimate at f = 40 Hz for Complementary Filter.</p> ">
Figure 28
<p>Real Time Pitch Angle Estimate at f = 40 Hz for Complementary Filter.</p> ">
Figure 29
<p>Real Time Roll Angle Estimate for Kalman Filter.</p> ">
Figure 30
<p>Real Time Pitch Angle Estimate for Kalman Filter.</p> ">
Figure 31
<p>Real Time Roll Angle Estimate for Complementary and Kalman Filter.</p> ">
Figure 32
<p>Real Time Pitch Angle Estimate for Complementary and Kalman Filter.</p> ">
Versions Notes

Abstract

:
Onboard attitude estimation for a ground vehicle is persuaded by its application in active anti-roll bar design. Conventionally, the attitude estimation problem for a ground vehicle is a complex one, and computationally, its solution is very intensive. Lateral load transfer is an important parameter which should be taken in account for all roll stability control systems. This parameter is directly related to vehicle roll angle, which can be measured using devices such as dual antenna global positioning system (GPS) which is a costly technique, and this led to the current work in which we developed a simple and robust attitude estimation technique that is tested on a ground vehicle for roll mitigation. In the first phase Luenberger and Sliding mode observer is implemented using simplest roll dynamics model to measure the roll angle of a vehicle and the validation of results is carried using commercial software, CarSim® (CarSim, Ann Arbor, MI, USA). In the second phase of research, complementary and Kalman filters have been designed for attitude estimation. In the third phase, a low-cost inertial measurement unit (IMU) is mounted on a vehicle, and both the complementary filter (CF) and Kalman filter (KF) are applied independently to measure the data for both smooth and uneven terrains at four different frequencies. We compared the simulated and real-time results of roll and pitch angles obtained using the complementary and Kalman filters. Using the proposed method, the achieved root mean square error (RMSE) is less than 0.73 degree for pitch and 0.68 degree for roll, with a sample time of 2 ms. Thus, a warning signal can be generated to mitigate roll over. Hence, we claim that our proposed method can provide a low-cost solution to the roll-over problem for a road vehicle.

1. Introduction

Nowadays, one major objective in road transport systems is to reduce the number of accident victims. For the same reason, vehicles on the market are equipped with control system variants, such as ESC (Electronic Stability Control) and RSC (Roll Stability Control) [1,2] for the improvement of vehicle safety standards. The discussed systems must have knowledge of expected vehicle behavior in advance during different conditions and maneuvers for the proper actuation of the control system [3,4,5]. Specifically, knowledge about the roll angle of the vehicle is useful in RSC systems. Rollover accidents are responsible for nearly 33% of all deaths from passenger vehicle crashes [6].
The RSC system success depends on the vehicle roll angle knowledge. Dual-antenna GPS can be used to directly measure vehicle roll angle, however, the equipment cost for such design is high [7]. For this reason, roll angle needs to be estimated with a cost-effective system [8,9]. For this, there are three approaches [6,10] that can be used to estimate attitude of a vehicle: (1) indirect approach; (2) vehicle model approach; (3) additional sensor aided approach. The indirect approach uses vehicle sensors such as wheel speed sensors and inertial measurement unit (IMU) [9]. The in-vehicle sensor approach is the cheapest solution to vehicle attitude estimation problem but suffers from cumulative integration errors due to sensor bias. The vehicle model approach [11] requires the accurate vehicle model as well as parameters in addition to bias compensation for precise estimation. The additional sensor-aided approach [12] such as using a vision sensor can provide the heading angle of the vehicle. However, the update rate of the vision sensor is too slow, and the failure of camera can frequently occur due to the influence of road conditions as well as weather change.
In [13], an algorithm to estimate the vehicle roll angle is proposed which uses the measurements obtained from suspension deflection sensors and accelerometers. However, this is not a precise estimation method. Furthermore, suspension deflection sensors present on the market are quite expensive and are typically not available for standard vehicles. In [10], a dynamic observer is proposed which utilizes the information obtained through a lateral accelerometer and a gyroscope. However, error is found in the transient response of estimated vehicle roll angle. In the mentioned algorithm, neither model nor measurement noise is taken into account. An observer-based estimator that estimates the accelerometer biases online is proposed in [14]. An estimation method for lateral velocity and attitude has been proposed for automated driving vehicle in [15]. This method fuses the information from the six DOF integrated IMU and vehicle dynamics, and it can run autonomously without aid from extra information. The root mean square error (RMSE) for roll angle in this technique remained at 0.6 degree. Several non-linear attitude estimation techniques such as extended Kalman Filter, multiplicative Kalman Filter, backward smoothing extended Kalman filter, QUEST and recursive QUEST were discussed by [16] showing discrepancies in using each individual algorithm based on computational burden, convergence time and noise response. Filters such as extended Kalman fail where priori estimate is not accurate or highly nonlinear dynamics intervene. Similarly, unscented filters are attractive for nonlinear dynamics without accurate priori estimates but lag in terms of computational burden. Particle filters face dimensionality constraint if more than few parameters are estimated. Such approaches tend to be promising in complex systems where higher computational power along with accurate priori estimates are available. Hence, simpler models-based observers and attitude estimation algorithm with low computational power and less convergence time is proposed in this research.
Two requirements must be met for the design of sensor for driving applications. First, the sensor should be capable enough provide continuous measurement under all circumstances. For ground vehicle applications, it is not feasible to use Global Positioning System (GPS) due to outage of signal in urban region, tunnels and Parking lots etc. [17,18]. Secondly, the sensors must show robust performance under all vehicle maneuvers regardless of their duration or severity. Consequently, low cost inertial navigation systems (INS) because their estimation error tends to grow under prolonged and severe maneuvers [19].
Gyroscopes graded for automotive applications are the simplest and most precise sensors to determine attitude of vehicle. A tri-axial gyroscope can be used to measure angular velocities along all three axes which are integrated with respect to time to obtain the attitude angles. This integration process is used to accumulate any noise or bias, if present in the sensor measurements that can drift away with time. Hence, a near perfect measurement requirement is imposed on the gyroscope. Automotive gyroscopes use fiber-optic and ring laser technology to deliver the accuracy level necessary for driving applications. However, they are extremely expensive and sometimes their cost is comparable to the price of the vehicle itself.
In this paper, we addressed the main issues about state estimation of vehicle roll angle. Vehicle attitude estimation is challenging due to rough terrain, road disturbances and noise. Model based observers are often too complicated to implement and the computation cost of such systems requires a powerful onboard processor. We simulated the vehicle dynamics and narrowed down the complex model to simple one using which the use of observers is computationally less intensive.
The methods proposed are fast and easy to implement, since they are free from iteration. In order to decrease significant effects of gyro bias, we suggested a bias compensation which is merged with filtering architecture. We validated the experiments carried out on real hardware in real time environment to show the performance comparison. Results show that the proposed Filters can estimate with as much accuracy as Kalman filter and higher order observers. We successfully tested the proposed algorithms in ordinary road conditions where we find a balance between estimation accuracy and time consumption. Compared with previously used iterative methods, the proposed filter has much less convergence time.
The introduction of MEMS (micro-electro-mechanical systems) technology has helped in shrinking the size and cost of inertial sensors [20]. Now miniature accelerometers and gyroscopes are available at a very low cost, but their performance is too much degraded for the use in automotive applications. While the drift performance of an automotive grade gyroscope is typically 1°/h, a MEMS gyroscope provides a typical performance of 70°/h [21]. Moreover, this bias is subject to temperature variations as well [22]. Although much work is being done in order to improve the MEMS gyroscope quality, and to make them robust to different vibrations and noise sources for automotive applications [23], the drift issue remains a major concern. A comparison of the performance characteristics for automotive grade MEMS gyroscopes is presented in Table 1 [24].
The trend of performance deterioration resulting from the decrease in cost is easily noticeable considering the TG6000 as most expensive and MPU-6050 as least. Even a nominal automotive grade gyroscope costs approximately 10,000 USD. Several sensors such as camera [25], LIDAR [26], and GPS [27] have been extensively used for attitude estimation for both static and accelerated vehicles. However, these are costly and involve intensive computational algorithms.
The goal of this paper is to enable the low cost gyroscope (price in the range of 10 USD) to function precisely in ground vehicle related applications. Results obtained using this research are compared to previously documented studies shown in the discussion section, based on which we concluded that our proposed method has a more significant outcome.

2. Materials and Methods

The InvenSense MPU-6050 (TDK InvenSense, San Jose, CA, USA) is a low-cost sensor which contains a MEMS gyroscope and a MEMS accelerometer mounted on a single chip. It uses the standard I2C-bus Interface. Processing hardware is attached to MPU-6050 and interfaced with the MATLAB® (The MathWorks, Inc., Torrance, CA, USA) using the instrument and control toolbox. The sensor is placed at approximate center of gravity location of the vehicle and the results are acquired under different urban road conditions. Figure 1 shows the overall system architecture and the breakup of research carried out. A mathematical model is developed using dynamics equations to show model consistency. The observer-based approach focuses on estimation carried using plant model (i.e., vehicle model) while real time estimation used sensor with on board motion processor to validate the results obtained by applying filters.

2.1. Mathematical Modelling and Validation

Mathematical Modeling

For implementation of our algorithm, we used a simple bicycle model with roll dynamics (see Figure 2). Considering roll dynamics, equation for lateral motion is:
ma y = Fy f + Fy r ,
where m is the mass of vehicle. a y is the lateral acceleration, Fy f is front tire force and Fy r is rear tire force. yaw rate becomes:
I z ψ ¨ = l f Fy f l r Fy r ,
where I z is the yaw inertia, ψ ¨ is the yaw rate, l f is distance of front from center of gravity and l r is the distance of rear from center of gravity of vehicle. roll rate can be written as,
I xx ϕ ˙ + C q ϕ . + K q ϕ = mha y
where, I xx is roll moment of inertia, ϕ ˙ is the roll rate, and ϕ is the roll angles, m is the mass of vehicle, and h is the height from center of gravity. C q is the compliance and K q is the stiffness coefficient.
Substituting the value of a y , Fy f , and Fy r , the above equations for lateral acceleration becomes:
v y ˙ = C f m [ δ v y + Lf ( ψ ˙ ) v x ] + C r m [ v y Lr ( ψ ˙ ) v x ]
where v y ˙ is the lateral acceleration δ is the steer angle ψ ˙ is the yaw rate, v x is the longitudinal velocity, and v y is the lateral velocity.
Similarly, yaw acceleration can be expressed as:
ψ ¨ = aC f I zz [ δ v y + Lf ( ψ ˙ ) v x ] bC r I zz [ v y Lr ( ψ ˙ ) v x ]
where ψ ¨ is the acceleration I zz is the yaw moment of inertia, v x is the longitudinal velocity and v y is the lateral velocity.
Roll Acceleration for a single-track model can be expressed as,
ϕ ¨ = mh I xx [ v y . + v x ψ . ] C q ϕ . I xx K q ϕ I xx
where ϕ ¨ is the roll acceleration, I xx is the roll moment of inertia.

2.2. Observer Based Estimation

State observer provides estimate of internal state of the system. Sensors normally measures the state of the system which may contain noise. An observer is used to obtain a filtered version of state by using actual measurements as well as estimated measurements from output.

2.2.1. Luenberger Observers

Luenberger structure [28] is used for parameter estimation using following equations.
Continuous Time System:
The state space form for observer design for a vehicle is given as:
x ˙ = Ax + Bu
y = Cx
where the matrices A, B, and C are state space model parameters. The Luenberger observer for such system can be given as,
x . = A x ^ + Bu + L ( y C x ^ )
Estimation error can be expressed as,
e = x x ^
The Luenberger observer implementation can be seen as a block diagram in Figure 3.
Roll rate error dynamics can be expressed as,
e . = ( A LC ) e = A ^ e .
The estimation error will only converge to zero if A ^ = ( A LC ) has the eigen values which fall in the left plane. L is observer gain matrix and can be obtained using pole placement method. The full order observer block implementation can be seen in Figure 4.
Single-track model roll acceleration can be written as,
ϕ .. = mh I xx [ v y . + v x ψ . ] C q ϕ . I xx K q ϕ I xx .
Assuming a y = v y . + v x ψ . ,
The state space equation form can be written as follows. Let,
x 1 = ϕ
After differentiation the above equation becomes,
x 1 . = ϕ . = x 2 .
Differentiating again the equation can be written as,
x 1 .. = ϕ .. = x 2 .
[ x 1 . x 2 . ] = [ 0 1 K q I xx C q I xx ] [ x 1 x 2 ] + [ 0 mh I xx ] a y
where a y is the system input, I xx is the Roll Inertia. Parameter K q is the spring constant and C q is the damping constant.
The output equation can be written as,
y = [ 0 1 ] [ x 1 x 2 ]
Observer Design
Step 1:
After expressing the system in state space form, system observability is investigated. Observability is the property by which the state variables can be estimated from the knowledge of input u ( t ) and output y ( t ) .
For any n × n matrix A, and for any p × n matrix C observability matrix for any state space system can be expressed as,
O = [ C CA CA 2 . . CA n 1 ]
If matrix rank of O is equal to that of n than we can say that system under consideration is observable.
Step 2:
For the convergence of estimation error to zero, A ^ = A LC must have all its eigen values in the left-half plane. Based on this, the poles or eigen values of the system matrix A are computed.
Step 3:
To start with observer design first, we must select the gain matrix L. We will use the pole placement method for this purpose. Matlab® (The MathWorks, Inc., Torrance, CA, USA) command L = place (A’, C’, [p])’ places the desired closed loop poles p by computation of a state feedback gain matrix L.
Step 4:
A ^ = ( A LC ) obtained is our new system matrix, where L in our case is a 2 × 1 matrix.
B new = [ B   L ] [ u y e ] , where u is referred as the system input and y e = y C x ^ .

2.2.2. Sliding Mode Observer

Luenberger observer is precise for the linear systems with low noise. As soon as noise increased the system starts losing track of desired output. In order to resolve this issue, we need observer with noise rejection property that can deal with complex systems as well. Hence, we opted for the sliding mode observer, which is more robust in terms of performance. Experiments performed concluded that sliding mode observer (SMO) kept better system track in all scenarios.
Sliding mode observer [29] was used to estimate the roll angle for ground vehicle. Consider a continuous time system,
The state space can be written as,
x ˙ = Ax + Bu
y = Cx
T c = [ N c T C ]
where the columns of N c n × ( n p ) span the null space of C.
The non-singular transformation, CT c 1 = [ 0 I p ] becomes the new distribution matrix. The other system matrices can be expressed as, T c AT c 1 = [ A 11 A 12 A 21 A 22 ] and T c B = [ B 2 B 2 ] where T c x = [ x y ] .
Then, the nominal system can be written as under.
x ˙ = A 11 x + A 12 y + B 1 u
y ˙ = A 21 x + A 22 y + B 2 u
Considering the state matrix represented in Equation (16),
[ A 11 A 12 A 21 A 22 ] = [ 0 1 K q I xx C q I xx ]
Similarly,
[ B 1 B 2 ] = [ 0 mh I xx ]
The proposed Utkin observer has the form,
x ^ ˙ = A 11 x ^ + A 12 y ^ + B 1 u + Lv
y ^ ˙ = A 21 x ^ + A 22 y ^ + B 2 u v
Vector L is computed in such a way that A 11 + LA 21 lies in spectrum C. The discontinuous vector v is defined by,
v = M   sgn ( y ^ y )
The value of variable M used in experiments remained 0.1. The overall block diagram for sliding mode observer can be seen in Figure 5.

2.3. Filter Based Estimation

2.3.1. The Complementary Filter

In order to get rid of complex vehicle models and observers as well as state estimators, we opted for a simple, yet precise estimation technique known as complementary filters. Complementary filter is a fusion algorithm which provides best among the measurements [30]. The gyroscope data will be used during short term maneuvers because of its precision and such data obtained is not liable to be influenced by external forces. Whereas during the long-term maneuvers, we will rely on the data obtained from the accelerometer as it does not drift. Equation (27) provides the simplest form for complementary filters
angle = α ( angle + gyroData dt ) + ( 1 α ) accData )
The overall block diagram for complementary filter can be seen in Figure 6 for better understanding. Based on the value of current angle, the gyro data will be integrated over every time step after this process it will be fused with the low pass filter data relying on accelerometer. The constants α and 1 α are tuning parameters of filter and are chosen such a way that their sum would add up to 1.
The implementation of complementary filter is carried out using a MPU6050 Inertial measurement unit (IMU) in real time environment. After every iteration the roll and pitch angle values are updated based on the gyroscope values that are obtained by integration with time. Filter update is performed for roll and pitch angles of the gyro data by assigning a percentage weight for the current value with the addition to percentage weight of the angle obtained by the accelerometer to ensure that the measured angle will not drift, keeping it very precise for short- and long-term maneuvers.
Second-Order Complementary Filter:
The roll angle estimate is obtained by blending two preliminary estimates which are each valid in different operation range. In this blending process the weights are selected in such a manner that it always favors the estimate which is closely precise. Roll angle estimate can be obtained by the integration of the measured and compensated roll rate Equation (33). From Equation (37), we get a simplified equation for roll angle estimate by making the assumption that v y is small. The following kinematic relation can be obtained.
st = sin 1 ( ω z v x a y g )
The second-order complementary filter block diagram can be seen in Figure 7 for real time implementation. Since both the filters should add up to have a unity gain, the low pass filter for such system can be written as,
G 2 ( s ) = s 2 s 2 + as + b
where the high pass filter is expressed as
1 G 2 ( s ) = as + b s 2 + as + b
The complementary filtering technique discussed in the manuscript uses manually fed gain parameter alpha ( α ) , that is generally user fixed or can be obtained on trial and error basis. Although several techniques are proposed in the literature but they suffer from certain issues, such as optimizing membership function in the fuzzy logic-based adaptation technique or being dependent on an external sensor [31].
Let us start by defining the orientation of the vehicle with respect to Inertial frame of reference. The angle along the longitudinal axis with horizontal plane is roll angle and the angle around the lateral axis with horizontal plane is called pitch θ . Considering the roll angles and road bank angles the following relations hold.
. = ω x + sin tan θ ω y + cos tan θ ω z
v y . = ω z v x + ω x v z + a y + gsin cos θ
v x . = ω z v y ω y v z + a x + gsin θ
where ω x , ω y , ω z are rotation rates along x, y, and z-axis correspondingly. The velocity components around center of mass are v x ,   v y , and v z . Further, a x and a y denotes acceleration components for center of mass inclusive of all the gravity effects.
Roll rate integration can be expressed using Equation (35).
int = 0 t ω xc ( τ ) d τ
Simplifying the equations further, we assume that the pitch angle is very small so we can write tan θ θ . Let’s assume that the roll angle will have a moderate value cos θ = 1 and vertical component v z is also small. Then, Equations (32)–(34) can be expressed as:
. = ω x + θ ω z
a y = v y . + ω z v x gsin
a x = v x . + ω z v y gsin θ
The term sin tan θ ω y is neglected in Equation (31) since it is a small value of higher order.
Now the following observations would hold:
  • The product of pitch angle and yaw rate is small. The roll angle can be obtained by integration of the roll rate obtained by the gyroscope.
  • If the vehicle is in steady state condition, the time derivative of v y would be small and roll angle can be calculated through Equation (37).
  • Pitch angle can be determined from the Equation (38) when roll angle gets known.

2.3.2. Kalman Filter Implementation

The Kalman filter utilizes the state estimate of a discrete time system that can be written as a linear stochastic difference equation along with measurement equation as following:
x k + 1 = A k   x k + B   u k + w k
z k = H k   x k + v k
where x   R represents the system state, A is called system Matrix, B is said to be input matrix, H is the output matrix, U is the input to the system, v k is known as measurement noise, w k is called process noise, z k is the output of the system.
Further, w k and v k are the two random variables and are assumed to have Gaussian distribution with zero mean, they can be written as p ( w ) N ( 0 , Q ) ;   p ( v ) N ( 0 , R ) .
Real Time Implementation:
Real time implementation involves the following steps.
Step 1: θ ^ k | k 1 is priori angle estimate which will be equal to previous state estimate θ ^ k 1 | k 1 with addition of unbiased rate times Δ t . Since bias cannot be measured directly, the estimate of priori bias will be equal to the previous bias.
Prediction
Current State
x ^ k : k 1 = F x ^ k 1 : k 1 + B θ k .
[ θ θ b . ] k k 1 = [ 1 Δ t 0 1 ] [ θ θ b . ] k 1 k 1 + [ Δ t 0 ] θ k .
Error Co-Variance
P k k 1 = FP k 1 | k 1 F T + Q k
Measurement Update
z k [ 1   0 ] [ θ θ b . ] k k 1
z k θ k | k 1
Innovation Covariance
S k = HP k | k 1 H T + R
P 00   k | k 1 + R
P 00   k | k 1 + var ( v )
Calculating Kalman Gain
K k = P k | k 1 H T S k 1
Posteriori Estimate
x ^ k | k = x ^ k | k 1 + K k y k ~
[ θ θ b . ] k k = [ θ θ b . ] k k 1 + [ K 0 K 1 ] y k ~
Update
P k | k = ( I K k H ) P k | k 1

3. Experiment and Results

3.1. Model Validation

CarSim® (CarSim, Ann Arbor, MI, USA) is a system-level vehicle dynamics simulation software that is widely used in automotive industry. CarSim® is the “company standard” vehicle dynamics software in several automotive companies, and is in use for various purposes at many more of the world’s OEM companies and their suppliers. The same has been used in [32,33] to simulate the results. We have developed the vehicle’s analytical model that was simulated in MATLAB® (The MathWorks, Inc., Torrance, CA, USA). Validation is performed by conducting several standard tests and comparing them with CarSim® including step steer, Fishhook, and Double lane change.

3.2. Simulated Results for Luenberger & Sliding Mode Observer

ISO (International Organization for Standardization) Step Input is International Standard that specifies open-loop test methods for determining the transient response behavior of road vehicles. It is applicable to passenger cars, as defined in ISO 3833, and to light trucks. A step steer input of 100-degree step is fed to both observers and Carsim® against which a roll angle of around 3 degree is observed as seen in Figure 8. It is observed that the sliding mode observer performed better by keeping better track of roll angle as compared to Luenberger during step steer input. The root mean square error obtained for sliding mode observer is 0.0906 degree where as Luenberger came up with a root mean square error of 0.2127 degrees.
NHTSA (National Highway Traffic Safety Administration) released details of a dynamic maneuver designed to determine a vehicles susceptibility to rollover. The maneuver is known as the Fishhook (nhtsa.gov). Considering the NHTSA Fishhook maneuver (Figure 9) both sliding mode and Luenberger are fed with roll rate and lateral acceleration as input. It is again witnessed that the sliding mode observer is keeping better track of roll angle and root mean square error between sliding mode observer and Luenberger observer as compared to CarSim® is found to be 0.0872 degrees and 0.1458 degrees respectively.
ISO Double lane change specifies the dimensions of the test track for a closed-loop test method to subjectively determine a double lane-change which is one part of the vehicle dynamics and road-holding ability of passenger cars. It is applicable to passenger cars. ISO Double Lane change input (Figure 10) for roll rate and acceleration is fed to sliding mode and Luenberger observer. Root mean square error for Sliding mode observer is 0.0898 degree while the root mean square error for Luenberger observer is 0.1823 degree. This clearly indicates that the sliding mode observer tracks the roll angle better in comparison to Luenberger.
The error comparison plot for ISO double lane change maneuver is shown below in Figure 11.
Finally, altered Sine with dwell stability control testing (ISO 19365:16) for roll rate and acceleration is fed to observers, as seen in Figure 12. Sliding mode observer tracked the roll angle with Root mean square error of 0.1537 and Luenberger produced root mean square error of 0.4471.
Table 2 shows the root mean square error (RMSE) comparison of Luenberger and sliding mode observer. We can see that the RMSE is less in SMO as compared to Luenberger Observer.
Max error in case of step input remained 0.2223 for sliding mode observer whereas, maximum error in case of step input for Luenberger is 0.3126. We investigated the response of observers in presence of white Gaussian noise. Noise of magnitude 0.01 is introduced along the sine wave input in Figure 13 and step input in Figure 14. It can be clearly observed that sliding mode observer keeps better track of the system as compared to Luenberger observer.
Simulation results prove that Luenberger observer (LO) and sliding mode observer (SMO) exhibit strong robustness to variations. SMO may have better performance compared to LO because of the inherent properties of sliding mode theory.

3.3. Simulated Results Comparison of Complementary Filter with CARSIM®

A swept sine having 0.5 Hz frequency and amplitude of 100 deg is fed as a steer input (Figure 15). It can be seen from figure that the roll angle obtained from pure integration behaves in similar manner to the roll angle obtained from blend of two equations using high pass and low pass filters. This is because, during fast maneuvers, there is less drift produced in gyroscope measurements.
A 100-degree step steer input is fed to system and it is clearly seen that during the step maneuver the angle obtained from the pure integration of roll rate through the gyroscope suffers from drift, whereas the blend recovers within a short time to keep track of the roll angle (Figure 16).

3.4. Real Time Complemenary Filter Implementation

Experimental Setup

The experimental setup containing arduino duemilanove and MPU6050 can be seen in Figure 17. The sensor is mounted at approximate Center of gravity location of vehicle. Arduino Duemilanove is a single-board computer manufactured by Arduino in Italy. It can be powered by either a USB connection or with an external power supply. The detailed description and specifications can be seen in appendix. The MPU-6050 sensor contains a Digital Motion Processor™ (DMP™), which processes complex six-axis Motion Fusion algorithms. The inner DMP uses a high-performance algorithm to fuse accelerometers measure data and gyroscope measure data and output attitude quaternion which has a good real-time performance.
Figure 18 shows the test track details obtained by google maps. Let’s now consider the starting frequency of 5 Hz and observe the roll angle behavior using different tuning parameters of filter. A slight deviation can be seen in Figure 19 for (DMP™) data as it takes 10–15 s to settle down [34]. We observed the root mean square error for roll angle estimate to be 1.1693 degrees.
Similarly, in Figure 20. We obtain the pitch angle response by setting frequency at 5 Hz. The Digital Motion Processor (DMP) takes 10–15 s to stabilize. This time is utilized by the algorithm to calculate gyro and accelerometer offsets to remove zero error.
The pitch angle estimation appears precise at most of the points with an RMS error value of 0.8951.
Repeating the procedure again, this time frequency is set to 10 Hz. We found that the roll angle error has decreased and now root mean square error is 1.0944 degrees (Figure 21).
Similarly, the pitch angle estimate (Figure 22) obtained at f = 10 Hz has the root mean square error of 0.9969 degree. This means, at this frequency, the roll angle result has improved from the roll angle result at 5 Hz frequency.
Increasing the set frequency to 20 Hz (Figure 23), we concluded that the root mean square error between digital motion processor and the best value of alpha 0.96 increased to 1.8868 degrees, which is already greater than the roll angle errors obtained under previous frequencies.
Setting up the frequency at 20 Hz (Figure 24), we estimated the pitch angle using different filter tuning parameters and found that the root mean square is now 1.1371 degrees, which is greater than the previous two readings, i.e., frequency of 5 Hz and 10 Hz.
Repeating the experiment again, we now set the sampling frequency to 25 Hz and estimated roll angle at different values of alpha with new sample frequency. It has been observed that the roll angle results (Figure 25) are much better than previous frequency results in terms of root mean square error. Looking at the graph, we can interpret that system kept track of angle in almost all the situations. We found that the root mean square has decreased to 0.6738 degrees for roll angle estimates.
Similarly, we analyzed the estimation results for pitch angle at frequency 25 Hz, we can clearly see in Figure 26 that complementary filter tracked roll angle at almost all data points. Observed root mean square error is now 0.7280 degrees for roll angle, which is also smaller less than all the frequency data collected before. We can see a slight deviation of digital motion processor data in the start since it takes 10–15 s to settle down the values to true values.
Frequency is now set to 40 Hz for roll angle estimate using different filter tuning parameters (Figure 27). Roll angle root mean square error is now 1.0140, which is greater than the results obtained at frequency 25 Hz.
We set the sampling frequency to 40 Hz now. The RMSE now is smaller for pitch angle estimate (Figure 28) but still results are not better than 25 Hz frequency. The RMSE now obtained is 0.7657 degrees for pitch angle estimation.

3.5. Real Time Complemenary Filter Implementation

A Kalman filter with the following parameters is applied on a digital controller and InvenSense MPU-6050 (TDK InvenSense) is mounted on the vehicle. The sampling frequency is 25 Hz. The tuning parameters used are as follows: Q_angle = 0.0005; Q_bias = 0.0015; R_measure = 0.015.
The Allan variance (AV) is a well-known technique that is commonly used to identify and to quantify inertial sensors’ stochastic noises, as quantization noise, random walks errors, and bias instability, among others. It is mandatory to process data from static measurements in order to apply Allan variance [35]. Theoretical details about the AV technique can be found in the literature [36,37] and are beyond the scope of this paper.
While observing the roll angle a root mean square of 0.9026 degrees is obtained. As seen in Figure 29. In contrast, the pitch angle root mean square error is 0.9213 degrees as seen in Figure 30. Kalman filter can be further tuned to get more precise results, however, algorithm complexity and computation burden is involved for real time implementation.
To investigate the efficacy of the complementary filter, we applied Kalman and complementary filter simultaneously to evaluate the vehicle roll angle. Figure 31 shows the results obtained for vehicle roll angle. The RMSE obtained for the complementary filter is 0.61 degrees and for Kalman filter is 0.70 degree.
Figure 32 shows the response of both Kalman and Complementary filter with respect to DMP data when pitch angle is estimated. RMSE obtained for Kalman filter is 0.69 degree, whereas RMSE for complementary is 0.596 degrees.

4. Discussion

Attitude estimation in ground vehicle is challenging due to rough terrain and noise. Table 3 below shows RMSE comparison of our research with current literature. Algorithms used in these are mainly genetic algorithm (GA), Bayesian propagation (BP), neural networks (NN), unscented Kalman filter (UKF), extended kalman filter (EKF), non-linear complementary filter (NCF), and differential nonlinear complementary filter.
The results demonstrated by [38] proposed that attitude prediction can be completed 2 s ahead of the vehicle motion. The mean relative error (MRE) of the predicted roll angle is 0.0383 and predicted pitch angle is 0.0476 with. RMSEs of 1.8° for roll and 2.1° for pitch angle. The computational cost with higher RMSE is the disadvantage of the discussed approach. Research proposed by [24] used Kalman filtering with GPS as an additional sensor adding increased computation cost. The efficacy of algorithm was tested on straight track. In the research carried out by [39], GPS was used as an additional sensor along with IMU. Kalman filtering was applied to fuse data together. GNSS along with IMU was used by [40], but initially, the system takes 200 s to stabilize the values. A pseudo algorithm was developed by [41] which is an extension of Whaba’s problem. The system utilized quaternion and the algorithm was tested using a 3.2 Ghz core I7, decreasing the computation time. The RMSE using pseudo approach was 1.3 degree for roll angle and 1.1 degree for pitch angle. A nonlinear complementary filter and differential nonlinear complementary filter were used by [42] to estimate roll and pitch for UAV. The fusion algorithm took 41 ms of computational time which is still large as compared to the techniques mentioned in literature. EKinox D IMU along with MPU 6000 was used by [43] for comparison purpose. The Roll angle RMSE obtained using MPU6000 and U-Blox GNSS was 1.6 degree whereas for pitch angle RMSE was found 1.8 degree. Low RMSE mentioned in table against this research is the result from EKinox, such high-end equipment cannot be used in commercial vehicles as the sensor costs 47,000 USD.
Our proposed filter is fast since it is free of iteration. To decrease the significant effects of bias imposing on gyroscope, bias compensation is merged with filtering architecture. Several experiments are carried out on real hardware in a real time environment to show the performance comparison. Results show that the proposed Filters can reach the accuracy of Kalman filter and higher order observers. Successfully tested in ordinary road conditions we find a balance between estimation accuracy and time consumption. Compared with iterative methods, the proposed filter has much less convergence time.
The results clearly indicate that, during real time implementation of second order complementary filter, the root mean square error of 0.62 degrees is observed for roll angle estimate. The implementation of a first order complementary filter is easier, simpler, and works well during static maneuvers, however, in the presence of road disturbances, the performance is deteriorated. If we decrease the value of the filter tuning parameter, it adds more weight to the static equation, and the filter will become non-responsive during very fast maneuvers. So, we set the parameters according to system requirements so that balance between static and dynamic motion results is maintained and estimation accuracy is not affected. The optimal sampling frequency obtained for Complementary filter through the experimentation in real time environment with sensor mounted near center of gravity of vehicle is 25 Hz as it brings small root mean square error while on all other frequency errors are larger. The results obtained demonstrate that the complementary filter is equally good as the Kalman filter with less computation burden and better accuracy, with the least tuning involved. Finally, the implementation of the proposed algorithms can be easily carried out on low cost hardware that can be easily mounted on standard commercial vehicle with the addition of marginal cost. Further, based on attitude information, anti roll systems can be designed and implemented.

5. Conclusions

In the research carried out, estimation of vehicle roll angle is investigated with the help of various schemes available in the literature. Real time implementation is also carried out using multi-axis gyroscope and accelerometers. The estimation of roll angle done using this approach is used to remove the gravity component from lateral acceleration prior to estimation of vehicle’s lateral velocity. The given estimation method is simple and cost effective as it does not require any tire models or complex vehicle models. The major advantage of the proposed technique is fast and precise estimation up to error of 0.7 degrees by adding marginal cost and equipment with the least computational complexity involved. The algorithm is tested in ordinary driving conditions with speeds varying from 0 to 90 Km/hr. The estimate of roll and pitch angles, along with lateral acceleration, in a real time environment can aid the estimation of other vehicle and tire road interaction phenomena. This simple technique can be coupled with a sliding mode observer to support the highly precise estimation of vehicle dynamics. Finally, it can be safely claimed that in the presence of ordinary road conditions, this technique can easily provide a precise estimate of the roll angle by adding marginal cost to the user.

Author Contributions

Conceptualization, M.K.M. and A.I.B.; Formal analysis, M.K.M.; Investigation, M.J.K.; Methodology, M.K.M., M.J.K. and A.I.B.; Resources, M.K.M.; Supervision, M.J.K. and A.I.B.; Validation, M.K.M.; Writing—review & editing, M.J.K. and N.N. All authors have read and agreed to the published version of the manuscript.

Funding

This research is supported by the National University of Sciences & Technology.

Conflicts of Interest

The authors declare that the research was conducted in the absence of any commercial or financial relationship that could be construed as a potential conflict of interest.

References

  1. Boada, M.; Boada, B.; Munoz, A.; Diaz, V. Integrated control of front-wheel steering and front braking forces on the basis of fuzzy logic. Proc. Inst. Mech. Eng. Part D J. Automob. Eng. 2006, 220, 253–267. [Google Scholar] [CrossRef]
  2. Boada, M.J.L.; Boada, B.L.; Gauchia Babe, A.; Calvo Ramos, J.A.; Lopez, V.D. Active roll control using reinforcement learning for a single unit heavy vehicle. Int. J. Heavy Veh. Syst. 2009, 16, 412–430. [Google Scholar] [CrossRef]
  3. Lu, Q.; Gentile, P.; Tota, A.; Sorniotti, A.; Gruber, P.; Costamagna, F.; De Smet, J. Enhancing vehicle cornering limit through sideslip and yaw rate control. Mech. Syst. Signal Process. 2016, 75, 455–472. [Google Scholar] [CrossRef]
  4. Reina, G.; Paiano, M.; Blanco-Claraco, J.-L. Vehicle parameter estimation using a model-based estimator. Mech. Syst. Signal Process. 2017, 87, 227–241. [Google Scholar] [CrossRef] [Green Version]
  5. Boada, B.; Boada, M.; Diaz, V. Vehicle sideslip angle measurement based on sensor data fusion using an integrated ANFIS and an Unscented Kalman Filter algorithm. Mech. Syst. Signal Process. 2016, 72, 832–845. [Google Scholar] [CrossRef] [Green Version]
  6. Rajamani, R.; Piyabongkarn, D.N. New paradigms for the integration of yaw stability and rollover prevention functions in vehicle stability control. IEEE Trans. Intell. Transp. Syst. 2012, 14, 249–261. [Google Scholar] [CrossRef]
  7. Garcia Guzman, J.; Prieto Gonzalez, L.; Pajares Redondo, J.; Sanz Sanchez, S.; Boada, B.L. Design of Low-Cost Vehicle Roll Angle Estimator Based on Kalman Filters and an Iot Architecture. Sensors 2018, 18, 1800. [Google Scholar] [CrossRef] [Green Version]
  8. Vargas-Meléndez, L.; Boada, B.; Boada, M.; Gauchía, A.; Díaz, V. A sensor fusion method based on an integrated neural network and Kalman filter for vehicle roll angle estimation. Sensors 2016, 16, 1400. [Google Scholar] [CrossRef] [Green Version]
  9. Xiong, L.; Xia, X.; Lu, Y.; Liu, W.; Gao, L.; Song, S.; Han, Y.; Yu, Z. IMU-Based Automated Vehicle Slip Angle and Attitude Estimation Aided by Vehicle Dynamics. Sensors 2019, 19, 1930. [Google Scholar] [CrossRef] [Green Version]
  10. Rajamani, R.; Piyabongkarn, D.; Tsourapas, V.; Lew, J.Y. Parameter and state estimation in vehicle roll dynamics. IEEE Trans. Intell. Transp. Syst. 2011, 12, 1558–1567. [Google Scholar] [CrossRef]
  11. Zhao, L.; Liu, Z. Vehicle velocity and roll angle estimation with road and friction adaptation for four-wheel independent drive electric vehicle. Math. Probl. Eng. 2014, 2014, 801628. [Google Scholar] [CrossRef]
  12. Jiang, K.; Victorino, A.C.; Charara, A. Real-time estimation of vehicle’s lateral dynamics at inclined road employing extended kalman filter. In Proceedings of the 2016 IEEE 11th Conference on Industrial Electronics and Applications (ICIEA), Hefei, China, 5–7 June 2016; pp. 2360–2365. [Google Scholar]
  13. Doumiati, M.; Baffet, G.; Lechner, D.; Victorino, A.; Charara, A. Embedded estimation of the tire/road forces and validation in a laboratory vehicle. In Proceedings of the 9th International Symposium on Advanced Vehicle Control, Kobe, Japan, 6–9 October 2008; pp. 6–9. [Google Scholar]
  14. Scholte, W.J.; Marco, V.R.; Nijmeijer, H. Experimental Validation of Vehicle Velocity, Attitude and IMU Bias Estimation. IFAC-PapersOnLine 2019, 52, 118–123. [Google Scholar] [CrossRef]
  15. Xia, X.; Xiong, L.; Liu, W.; Yu, Z. Automated Vehicle Attitude and Lateral Velocity Estimation Using a 6-D IMU Aided by Vehicle Dynamics. In Proceedings of the 2018 IEEE Intelligent Vehicles Symposium (IV), Changshu, China, 26–30 June 2018; pp. 1563–1569. [Google Scholar]
  16. Crassidis, J.L.; Markley, F.L.; Cheng, Y. Survey of Nonlinear Attitude Estimation Methods. J. Guid. Control Dyn. 2007, 30, 12–28. [Google Scholar] [CrossRef]
  17. Wang, L.; Groves, P.D.; Ziebart, M.K. Multi-constellation GNSS performance evaluation for urban canyons using large virtual reality city models. J. Navig. 2012, 65, 459–476. [Google Scholar] [CrossRef] [Green Version]
  18. Tahir, M.; Mazher, K. Singular spectrum based smoothing of GNSS pseudorange dynamics. IEEE Commun. Lett. 2016, 20, 1551–1554. [Google Scholar] [CrossRef]
  19. Tanenhaus, M.; Carhoun, D.; Geis, T.; Wan, E.; Holland, A. Miniature IMU/INS with optimally fused low drift MEMS gyro and accelerometers for applications in GPS-denied environments. In Proceedings of the 2012 IEEE/ION Position, Location and Navigation Symposium, Myrtle Beach, SC, USA, 23–26 April 2012; pp. 259–264. [Google Scholar]
  20. Barbour, N.; Schmidt, G. Inertial sensor technology trends. In Proceedings of the 1998 Workshop on Autonomous Underwater Vehicles (Cat. No. 98CH36290), Cambridge, MA, USA, 20–21 August 1998; pp. 55–62. [Google Scholar]
  21. Woodman, O.J. An Introduction to Inertial Navigation; University of Cambridge, Computer Laboratory: Cambridge, UK, 2007. [Google Scholar]
  22. El-Diasty, M.; El-Rabbany, A.; Pagiatakis, S. Temperature variation effects on stochastic characteristics for low-cost MEMS-based inertial sensor error. Meas. Sci. Technol. 2007, 18, 3321. [Google Scholar] [CrossRef]
  23. Acar, C.; Schofield, A.R.; Trusov, A.A.; Costlow, L.E.; Shkel, A.M. Environmentally robust MEMS vibratory gyroscopes for automotive applications. IEEE Sens. J. 2009, 9, 1895–1906. [Google Scholar] [CrossRef]
  24. Ahmed, H.; Tahir, M. Accurate attitude estimation of a moving land vehicle using low-cost MEMS IMU sensors. IEEE Trans. Intell. Transp. Syst. 2016, 18, 1723–1739. [Google Scholar] [CrossRef]
  25. Rath, J.; Ward, P. Attitude estimation using GPS. In Proceedings of the National Technical Meeting (A90-36914 15-04), San Mateo, CA, USA, 23–26 January 1989; Institute of Navigation: Washington, DC, USA, 1989; pp. 169–178. [Google Scholar]
  26. Zhu, Q.; Xiao, C.; Hu, H.; Liu, Y.; Wu, J. Multi-Sensor based online attitude estimation and stability measurement of articulated heavy vehicles. Sensors 2018, 18, 212. [Google Scholar] [CrossRef] [Green Version]
  27. Shi, G.; Li, X.; Jiang, Z. An Improved Yaw Estimation Algorithm for Land Vehicles Using MARG Sensors. Sensors 2018, 18, 3251. [Google Scholar] [CrossRef] [Green Version]
  28. Kim, J.; Lee, C.; Shim, H.; Eun, Y.; Seo, J.H. Detection of Sensor Attack and Resilient State Estimation for Uniformly Observable Nonlinear Systems having Redundant Sensors. IEEE Trans. Autom. Control 2019, 64, 1162–1169. [Google Scholar] [CrossRef] [Green Version]
  29. Nise, N.S. Control Systems Engineering, (With CD); John Wiley & Sons: Hoboken, NJ, USA, 2007. [Google Scholar]
  30. Islam, T.; Islam, M.S.; Shajid-Ul-Mahmud, M.; Hossam-E-Haider, M. Comparison of complementary and Kalman filter based data fusion for attitude heading reference system. AIP Conf. Proc. 2017, 1919, 020002. [Google Scholar] [CrossRef] [Green Version]
  31. Chang-Siu, E.; Tomizuka, M.; Kong, K. Time-varying complementary filtering for attitude estimation. In Proceedings of the 2011 IEEE/RSJ International Conference on Intelligent Robots and Systems, San Francisco, CA, USA, 25–30 September 2011; pp. 2474–2480. [Google Scholar]
  32. Sazgar, H.; Azadi, S.; Kazemi, R.; Khalaji, A.K. Integrated longitudinal and lateral guidance of vehicles in critical high speed manoeuvres. Proc. Inst. Mech. Eng. Part K J. Multi-Body Dyn. 2019, 233, 994–1013. [Google Scholar] [CrossRef]
  33. Saeedi, M.A. A new robust combined control system for improving manoeuvrability, lateral stability and rollover prevention of a vehicle. Proc. Inst. Mech. Eng. Part K J. Multi-Body Dyn. 2019. [Google Scholar] [CrossRef]
  34. Calibrating and Optimizing mpu6050. Available online: https://wired.chillibasket.com/2015/01/calibrating-mpu6050/ (accessed on 24 December 2019).
  35. IEEE-SA Standards Board. IEEE Standard Specification Format Guide and Test Procedure for Single-Axis Interferometric Fiber Optic Gyros; IEEE Std 952TM-1997 (R2008); IEEE: New York, NY, USA, 1998. [Google Scholar]
  36. Allan, D.W. Statistics of atomic frequency standards. Proc. IEEE 1966, 54, 221–230. [Google Scholar] [CrossRef] [Green Version]
  37. El-Sheimy, N.; Hou, H.; Niu, X. Analysis and modeling of inertial sensors using Allan variance. IEEE Trans. Instrum. Meas. 2008, 57, 140–149. [Google Scholar] [CrossRef]
  38. Zhu, Q.; Chen, W.; Hu, H.; Wu, X.; Xiao, C.; Song, X. Multi-sensor based attitude prediction for agricultural vehicles. Comput. Electron. Agric. 2019, 156, 24–32. [Google Scholar] [CrossRef]
  39. García Guzmán, J.; Prieto González, L.; Pajares Redondo, J.; Montalvo Martínez, M.M.; Boada, M.J.L. Real-Time Vehicle Roll Angle Estimation Based on Neural Networks in IoT Low-Cost Devices. Sensors 2018, 18, 2188. [Google Scholar] [CrossRef] [Green Version]
  40. Won, D.; Ahn, J.; Sung, S.; Heo, M.; Im, S.H.; Lee, Y.J. Performance Improvement of Inertial Navigation System by Using Magnetometer with Vehicle Dynamic Constraints. J. Sens. 2015, 11, 7. [Google Scholar] [CrossRef] [Green Version]
  41. Valenti, R.G.; Dryanovski, I.; Xiao, J. Keeping a Good Attitude: A Quaternion-Based Orientation Filter for IMUs and MARGs. Sensors 2015, 15, 19302–19330. [Google Scholar] [CrossRef]
  42. Wen, X.; Liu, C.; Huang, Z.; Su, S.; Guo, X.; Zuo, Z.; Qu, H. A First-Order Differential Data Processing Method for Accuracy Improvement of Complementary Filtering in Micro-UAV Attitude Estimation. Sensors 2019, 19, 1340. [Google Scholar] [CrossRef] [PubMed] [Green Version]
  43. Gonzalez, R.; Dabove, P. Performance Assessment of an Ultra Low-Cost Inertial Measurement Unit for Ground Vehicle Navigation. Sensors 2019, 19, 3865. [Google Scholar] [CrossRef] [PubMed] [Green Version]
Figure 1. Overall System Architecture.
Figure 1. Overall System Architecture.
Sensors 20 00340 g001
Figure 2. Track Vehicle Model.
Figure 2. Track Vehicle Model.
Sensors 20 00340 g002
Figure 3. Block Diagram of Observer Implementation.
Figure 3. Block Diagram of Observer Implementation.
Sensors 20 00340 g003
Figure 4. Order Observer.
Figure 4. Order Observer.
Sensors 20 00340 g004
Figure 5. Sliding Mode Observer Estimation Process.
Figure 5. Sliding Mode Observer Estimation Process.
Sensors 20 00340 g005
Figure 6. Complementary Filter Configuration.
Figure 6. Complementary Filter Configuration.
Sensors 20 00340 g006
Figure 7. Estimation Process from Gyro and Static Equation.
Figure 7. Estimation Process from Gyro and Static Equation.
Sensors 20 00340 g007
Figure 8. Observer results for step input estimate for roll angle.
Figure 8. Observer results for step input estimate for roll angle.
Sensors 20 00340 g008
Figure 9. Observer Results for ISO Fishhook Input estimate for Roll Angle.
Figure 9. Observer Results for ISO Fishhook Input estimate for Roll Angle.
Sensors 20 00340 g009
Figure 10. Observer results for ISO double lane change input estimate of roll angle.
Figure 10. Observer results for ISO double lane change input estimate of roll angle.
Sensors 20 00340 g010
Figure 11. Error comparison of observers during double lane change input.
Figure 11. Error comparison of observers during double lane change input.
Sensors 20 00340 g011
Figure 12. Observer Results for sine input estimate of Roll Angle.
Figure 12. Observer Results for sine input estimate of Roll Angle.
Sensors 20 00340 g012
Figure 13. Observer Results for Sine input with Gaussian noise.
Figure 13. Observer Results for Sine input with Gaussian noise.
Sensors 20 00340 g013
Figure 14. Observer Results for Step input with Gaussian noise.
Figure 14. Observer Results for Step input with Gaussian noise.
Sensors 20 00340 g014
Figure 15. Complementary Filter Response for Sine Input.
Figure 15. Complementary Filter Response for Sine Input.
Sensors 20 00340 g015
Figure 16. Complementary Filter Response for Step Steer Input.
Figure 16. Complementary Filter Response for Step Steer Input.
Sensors 20 00340 g016
Figure 17. Experimental setup containing Arduino and MPU6050.
Figure 17. Experimental setup containing Arduino and MPU6050.
Sensors 20 00340 g017
Figure 18. Test Track Map (Zoom Scale 500 ft).
Figure 18. Test Track Map (Zoom Scale 500 ft).
Sensors 20 00340 g018
Figure 19. Real Time Roll Angle Estimate at f = 5 Hz for Complementary Filter.
Figure 19. Real Time Roll Angle Estimate at f = 5 Hz for Complementary Filter.
Sensors 20 00340 g019
Figure 20. Real Time Pitch Angle Estimate at f = 5 Hz for Complementary Filter.
Figure 20. Real Time Pitch Angle Estimate at f = 5 Hz for Complementary Filter.
Sensors 20 00340 g020
Figure 21. Real Time Roll Angle Estimate at f = 10 Hz for Complementary Filter.
Figure 21. Real Time Roll Angle Estimate at f = 10 Hz for Complementary Filter.
Sensors 20 00340 g021
Figure 22. Time Pitch Angle Estimate at f = 10 Hz for Complementary Filter.
Figure 22. Time Pitch Angle Estimate at f = 10 Hz for Complementary Filter.
Sensors 20 00340 g022
Figure 23. Real time roll angle estimate at f = 20 Hz for complementary filter.
Figure 23. Real time roll angle estimate at f = 20 Hz for complementary filter.
Sensors 20 00340 g023
Figure 24. Real Time Pitch Angle Estimate at f = 20 Hz for Complementary Filter.
Figure 24. Real Time Pitch Angle Estimate at f = 20 Hz for Complementary Filter.
Sensors 20 00340 g024
Figure 25. Real Time Roll Angle Estimate at f = 25 Hz for Complementary Filter.
Figure 25. Real Time Roll Angle Estimate at f = 25 Hz for Complementary Filter.
Sensors 20 00340 g025
Figure 26. Real Time Pitch Angle Estimate at f = 25 Hz for Complementary Filter.
Figure 26. Real Time Pitch Angle Estimate at f = 25 Hz for Complementary Filter.
Sensors 20 00340 g026
Figure 27. Real Time Roll Angle Estimate at f = 40 Hz for Complementary Filter.
Figure 27. Real Time Roll Angle Estimate at f = 40 Hz for Complementary Filter.
Sensors 20 00340 g027
Figure 28. Real Time Pitch Angle Estimate at f = 40 Hz for Complementary Filter.
Figure 28. Real Time Pitch Angle Estimate at f = 40 Hz for Complementary Filter.
Sensors 20 00340 g028
Figure 29. Real Time Roll Angle Estimate for Kalman Filter.
Figure 29. Real Time Roll Angle Estimate for Kalman Filter.
Sensors 20 00340 g029
Figure 30. Real Time Pitch Angle Estimate for Kalman Filter.
Figure 30. Real Time Pitch Angle Estimate for Kalman Filter.
Sensors 20 00340 g030
Figure 31. Real Time Roll Angle Estimate for Complementary and Kalman Filter.
Figure 31. Real Time Roll Angle Estimate for Complementary and Kalman Filter.
Sensors 20 00340 g031
Figure 32. Real Time Pitch Angle Estimate for Complementary and Kalman Filter.
Figure 32. Real Time Pitch Angle Estimate for Complementary and Kalman Filter.
Sensors 20 00340 g032
Table 1. Specifications comparison of different Gyroscopes.
Table 1. Specifications comparison of different Gyroscopes.
Sno.NameManufacturerTechnology Noise   Density   d p s / H z
1TG6000KVH (Middle Town, CT, USA)Fiber Optic0.001
2HG1700AG37Honeywell (Charlotte, NC, USA)Ring Laser0.002
3VG700MBCross Bow (San Jose, CA, USA)Fiber Optic0.006
4HG1700AG68Honeywell (Charlotte, NC, USA)Ring Laser0.008
5LandMark10Gladiator Tech (Snoqualme, WA, USA)MEMS0.012
6ADIS16355Analog Devices (Norwood, MA, USA)MEMS0.033
7MTi-1Xsens (Enschede, The Netherlands)MEMS0.01
8L3GD20ST Microelectronics (Geneva, Switzerland)MEMS0.03
9MPU-6050TDK-InvenSense (San Jose, CA, USA)MEMS0.005
Table 2. RMSE comparison for Luenberger and Sliding mode observer in deg.
Table 2. RMSE comparison for Luenberger and Sliding mode observer in deg.
InputRms Error Deg (SMO)Rms Error Deg (Luenberger)Maximum Error (SMO)Maximum Error (Luenberger)
Step Input0.09060.21270.22230.3126
Sinusoidal Input0.15370.44710.29360.6742
ISO Fish Hook Maneuver0.08720.14580.14150.2132
ISO Double Lane Change0.08980.18230.20740.2487
Table 3. RMSE comparison with current literature.
Table 3. RMSE comparison with current literature.
AuthorEstimation ParameterPlatformEstimatorComputation CostError Max (RMSE) (deg)
Qingyuan Zhu et al. [38]RollPrototype VehicleGA100 ms1.8 (Roll)
PitchBP NN2.1 (Pitch)
Hamad Ahmed et al. [24]RollStandard VehicleKF20–25 ms0.1 (Roll)
Pitch0.13 (Pitch)
Yaw0.01 (Yaw)
Javier Garcia Guzman et al. [39]RollStandard VehicleKF14.2 ms0.76 (Roll)
PitchUKF6.76 ms0.63 (Pitch)
Daehee Won et al. [40]RollStandard VehicleEKF21.4 ms0.28 (Roll)
Pitch0.55 (Pitch)
RobertoG.Valenti et al. [41]RollStandard VehiclePseudo 1.42 μs1.32 (Roll)
PitchMadwick1.19 (Pitch)
YawEKF
XudongWen et al. [42]RollUAVNCF41 ms1.16 (Roll)
PitchDNCF0.50 (Pitch)
Yaw--
Rodrigo Gonzalez et al. [43]RollStandard VehicleKF0.2 s0.362 (Roll)
Pitch0.339 (Pitch)
Yaw1.839 (Yaw)
Proposed schemeRollStandard VehicleCF3.2 ms0.6738 (Roll)
Pitch0.7280 (Pitch)

Share and Cite

MDPI and ACS Style

Kamal Mazhar, M.; Khan, M.J.; Bhatti, A.I.; Naseer, N. A Novel Roll and Pitch Estimation Approach for a Ground Vehicle Stability Improvement Using a Low Cost IMU. Sensors 2020, 20, 340. https://doi.org/10.3390/s20020340

AMA Style

Kamal Mazhar M, Khan MJ, Bhatti AI, Naseer N. A Novel Roll and Pitch Estimation Approach for a Ground Vehicle Stability Improvement Using a Low Cost IMU. Sensors. 2020; 20(2):340. https://doi.org/10.3390/s20020340

Chicago/Turabian Style

Kamal Mazhar, Malik, Muhammad Jawad Khan, Aamer Iqbal Bhatti, and Noman Naseer. 2020. "A Novel Roll and Pitch Estimation Approach for a Ground Vehicle Stability Improvement Using a Low Cost IMU" Sensors 20, no. 2: 340. https://doi.org/10.3390/s20020340

APA Style

Kamal Mazhar, M., Khan, M. J., Bhatti, A. I., & Naseer, N. (2020). A Novel Roll and Pitch Estimation Approach for a Ground Vehicle Stability Improvement Using a Low Cost IMU. Sensors, 20(2), 340. https://doi.org/10.3390/s20020340

Note that from the first issue of 2016, this journal uses article numbers instead of page numbers. See further details here.

Article Metrics

Back to TopTop