Next Article in Journal
A oneM2M-Based Query Engine for Internet of Things (IoT) Data Streams
Next Article in Special Issue
Multitarget Tracking Algorithm Based on Adaptive Network Graph Segmentation in the Presence of Measurement Origin Uncertainty
Previous Article in Journal
Test Paper for Colorimetric Inspection of Fatty Acids and Edible Oils
Previous Article in Special Issue
Multitarget Tracking Algorithm Using Multiple GMPHD Filter Data Fusion for Sonar Networks
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

An Improved Yaw Estimation Algorithm for Land Vehicles Using MARG Sensors

1
School of Automation and Electrical Engineering, University of Science and Technology Beijing, Beijing 100083, China
2
College of Information and Control Engineering, China University of Petroleum, Qingdao 266580, China
3
Shengli College, China University of Petroleum, Dongying 257061, China
4
Beijing Engineering Research Center of Industrial Spectrum Imaging, Beijing 10083, China
*
Author to whom correspondence should be addressed.
Sensors 2018, 18(10), 3251; https://doi.org/10.3390/s18103251
Submission received: 8 August 2018 / Revised: 24 September 2018 / Accepted: 25 September 2018 / Published: 27 September 2018
(This article belongs to the Collection Multi-Sensor Information Fusion)

Abstract

:
This paper presents a linear Kalman filter for yaw estimation of land vehicles using magnetic angular rate and gravity (MARG) sensors. A gyroscope measurement update depending on the vehicle status and constraining yaw estimation is introduced. To determine the vehicle status, the correlations between outputs from different sensors are analyzed based on the vehicle kinematic model and Coriolis theorem, and a vehicle status marker is constructed. In addition, a two-step measurement update method is designed. The method treats the magnetometer measurement update separately after the other updates and eliminates its impact on attitude estimation. The performances of the proposed algorithm are tested in experiments and the results show that: the introduced measurement update is an effective supplement to the magnetometer measurement update in magnetically disturbed environments; the two-step measurement update method makes attitude estimation immune to errors induced by magnetometer measurement update, and the proposed algorithm provides more reliable yaw estimation for land vehicles than the conventional algorithm.

1. Introduction

As a set of Euler angles, the yaw, pitch, and roll represent the orientation of a body frame with respect to a reference frame. The pitch and roll are also referred to as attitude. Yaw and attitude estimation are widely used in vehicular technologies including driver assistance [1,2,3], vehicle safety [4,5], etc. In recent years, magnetic angular rate and gravity (MARG) sensors [6] are widely used in orientation estimation. A MARG sensor consists of a triaxis magnetometer, a triaxis gyroscope, and a triaxis accelerometer. Reasonable installation and calibration make it acceptable to assume that the sensor frames are aligned with the body frame. Hence, a MARG sensor can measure the geomagnetic field, angular rate of the body frame, and the gravity resolved in the body frame in undisturbed environments.
In order to obtain an orientation estimation of the body frame, we can integrate the gyroscope output based on an initial value, but the result will drift away with time because of gyroscope measurement errors [7]. Alternatively, we can solve the Wahba problem [8] using magnetometer and accelerometer outputs, but the sensor outputs are apt to be interfered by motion accelerations and magnetic disturbances [9,10]. Therefore, to make the most of the information from MARG sensors and obtain robust orientation estimation, many fusion algorithms have been studied. These algorithms can be classified into two categories: one is based on complementary filters, which realize the fusion in frequency domain [11,12,13], and the other is based on Kalman filters, which employ a stochastic approach [14,15,16]. Kalman filter based algorithms consist of two basic processing, i.e., time propagation and measurement update. In time propagation, the gyroscope output is used to predict the orientation and the result is called a priori estimation; in measurement update, the magnetometer and accelerometer outputs are used to correct the a priori estimation and the result is called a posteriori estimation.
This paper studies on the yaw estimation of land vehicles using MARG sensors and Kalman filter. Our work is based on the orientation estimation because the yaw can be extracted from orientation estimation; at the same time, we focus on special problems in yaw estimation.
Many algorithms of orientation estimation have been studied. They are different in terms of the state vector, filter structure, etc., but they are the same at one point, i.e., the magnetometer output is used to correct the yaw estimation. In fact, the correction of yaw estimation is implemented only by magnetometer measurement update because the accelerometer output only provides attitude information. Hence, one problem in yaw estimation is that it is vulnerable to magnetic disturbances. Magnetic disturbances include hard iron effects, soft iron effects, and environmental magnetic disturbances [17]. The hard and soft iron effects can be compensated through magnetometer calibration, but the environmental magnetic disturbances cannot be effectively compensated because of their nondeterminacy [18,19,20]. In the following, the “magnetic disturbances” refers specifically to the environmental magnetic disturbances.
Methods to handle magnetic disturbances have been proposed. A measurement vector selection scheme based on norm comparison was designed in [7]. Costanzi et al. [21] scaled down the gain associated with the magnetometer output when two particular angular constraints are violated. Wu et al. [22] did not use the magnetometer output if its norm was too big or too small. Tong et al. [23] developed a hidden Markov Model to identify the measurement disturbances and then adjust the noise covariance adaptively. Feng et al. [24] proposed a two-step correction scheme, in which the magnetometer output is used to correct the estimated direction of the magnetic field, but if the difference between the norm of the sensor output and the reference value is greater than a threshold, the correction will not be executed. In fact, the above methods apply a same strategy, i.e., detecting magnetic disturbances according to some feature, e.g., the norm, of the measured magnetic field, and reducing the measurement update weight in real time when disturbances happen. The drawback of this strategy is that the magnetometer measurement update cannot provide effective and timely correction for the yaw estimation if magnetic disturbances last for a long time. In addition, Sabatini [25] proposed an extended Kalman Filter, which compensated magnetic disturbances by including them in the state vector. The filter models magnetic disturbances by a first-order Gauss-Markov vector random process with independent components, and assume the motion acceleration is approximately zero. In fact, the actual magnetic disturbances can hardly be modelled effectively, and the assumption about the motion acceleration is not suitable for land vehicles.
Another problem in yaw estimation is its impact on attitude estimation. In some fusion algorithms, the magnetometer output is also used to correct the attitude estimation, and thus induce estimation errors caused by magnetic disturbances. To address this problem, some algorithms restrict the use of the magnetometer output to yaw estimation. In [9,10], orientation quaternion is obtained through multiplication of a series of decoupled quaternion factors, and the result can be used as the measurement for a Kalman filter with a two-layer structure [9]. Suh [26] proposed a two-step measurement update for an indirect Kalman filter, where the magnetometer measurement update only affected the yaw estimation. Afterwards, Suh et al. [27] proposed a new measurement equation for the indirect Kalman filter, which can greatly reduce the impact of the magnetometer measurement update on attitude estimation and is easier to implement than the two-step measurement update algorithm.
Obviously, both of the mentioned problems are due to magnetic disturbances. This paper aims to enhance the ability of the yaw estimation to deal with magnetic disturbances. One basic idea of this paper is that use not only the information from the sensors, but also the characters of vehicles motion to improve yaw estimation. We think motion characters can provide some independent information, which can be used as supplement to the sensors information. We note that the yaw of a vehicle running along a straight road remains basically unchanged, and this character can be utilized to improve the yaw estimation as a supplement to the magnetometer measurement update. To achieve this, it should be known whether a vehicle is running straight. A straightforward way to determine the vehicle status is comparing the gyroscope output against some preset parameters, but the gyroscope output suffers from various measurement errors and vehicle bumps. Considering the turning motion cause changes of MARG outputs, we can determine the vehicle status by analyzing the correlation between outputs from different sensors. In addition, we can reform the measurement update process of a direct Kalman filter using the condition proved in [26] and thus make the attitude estimation immune to magnetic disturbances. In fact, more accurate attitude estimation is also helpful to improve the yaw estimation because they are coupled in the time propagation. Motivated by above discussion, we propose an improved yaw estimation algorithm, and the main contributions of this paper are as follows:
(1)
A new measurement update robust to magnetic disturbances is introduced, and its weight can be adjusted according to the vehicle status. The correlation coefficients between outputs from a MARG sensor are analyzed based on the vehicle kinematic model and Coriolis theorem, and a vehicle status marker is constructed.
(2)
A new two-step measurement update method is designed. The method implements measurement updates in two successive steps, and make a special processing of the magnetometer measurement update to eliminate its impact on attitude estimation.
In this paper, we construct a yaw estimation algorithm using a typical linear Kalman filter to implement basic quaternion estimation and applying the conventional strategy of reducing the measurement weight to deal with magnetic disturbances. This algorithm is referred to as conventional algorithm. Then, the conventional algorithm is improved with the new measurement update and the new two-step measurement update method. Finally, the performances of the improved algorithm are evaluated through comparing its results against that of the conventional algorithm in experiments. The rest of this paper is organized as follows: Section 2 describes a conventional yaw estimation algorithm. Section 3 details the improved algorithm. Section 4 provides the experiment results and discussion. Finally, the work is concluded in Section 5.

2. Conventional Algorithm

2.1. Preliminaries

Because of not suffering from the gimbal lock, low dimension, and offering a linear formulation of the orientation dynamics [9], quaternion is widely used for orientation representation. Any orientation of a body frame with respect to a reference frame can be represented by a unit quaternion q defined as:
q = [ q 0 q 1 q 2 q 3 ] T = [ cos α 2 e x sin α 2 e y sin α 2 e z sin α 2 ] T  
where q 0 is the scalar part; [ q 1 q 2 q 3 ] T is the vector part; α is the rotation angle; [ e x e y e z ] T is the unit vector that represents the rotation axis. In quaternion estimation algorithms, the gyroscope output is used to depict the quaternion dynamics; therefore, the gyroscope bias is an important factor that affects the estimation accuracy.
In this section, we describe a Kalman filter-based yaw estimation algorithm with the unit quaternion and gyroscope bias as states. This algorithm, referred to as conventional algorithm, provides the basement and benchmark for the improved algorithm presented in the next section. The conventional algorithm is based on a typical linear Kalman filter presented in [16]. In addition, adaptive measurement weights are applied to deal with measurement disturbances, and the yaw is computed with the quaternion estimation.
The detailed derivations of the system model are presented in [16]; for conciseness, we only list the results and give necessary explanations in this section. Note that we use a different quaternion definition from that in [16] (The scalar part is the first component of a quaternion, whereas in [16], the scalar part is the last component); therefore, we rewrite the concerned equations accordingly, which will not affect the performances of the algorithm.
In this paper, the reference frame is the East, North, Up frame; the body frame is the Right, Forward, Above frame; the sensor frame is assumed aligned with the body frame; the ZXY sequence of Euler angles is chosen, and the yaw, pitch, and roll are respectively z-axis rotation angle, x-axis rotation angle, and y-axis rotation angle. For a clear writing, we define some notations that will be used throughout this paper as follows.
Vectors: x is the state vector; b is the gyroscope bias; m r and g r are respectively the geomagnetic filed and the gravity resolved in the reference frame; m , ω , and a are respectively the output of magnetometer, gyroscope, and accelerometer.
Matrices: C r b is the rotation matrix from the reference frame to the body frame; 0 and I are respectively null matrices and identity matrices, and their subscripts indicate dimensions, for example, the dimensions of 0 3 × 4 , 0 3 , and I 4 are respectively 3 × 4, 3 × 3, and 4 × 4; [ v × ] is the skew-symmetric matrix of vector v .
Subscripts: x, y, and z denote respectively the x-axis, y-axis, and z-axis component of a vector; k denotes the time step.

2.2. System Model

The state vector, composed of the unit quaternion and gyroscope bias, is defined as:
x = [ q T b T ] T  
Based on the well-known quaternion dynamics model and state augmentation, the process equation is written as:
x k + 1 = Ψ k x k + Γ k n k  
where:
Ψ k = [ Φ ( θ k ) Δ t 2 Ξ k 0 3 × 4 I 3 ]  
Φ ( θ k ) = exp ( 1 2 [ 0 θ k T θ k [ θ k × ] ] )  
θ k = ω k Δ t  
Ξ k = [ q v , k T [ q v , k × ] + q 0 , k I 3 ]  
Γ k = [ 1 2 Ξ k 1 2 Ξ k 0 4 × 3 0 3 0 3 I 3 ]  
In (3), Ψ k is the transition matrix; Γ k is the process noise input matrix; Δ t is the sample interval; q v is the vector part of the quaternion state, and n k is the gyroscope noise with covariance matrix diag ( σ ω 2 , σ ω 2 , σ ω 2 ) .
The linear pseudo-measurement equation of the accelerometer is:
0 4 × 1 = H a , k + 1 x k + 1 1 2 Ξ k + 1 δ a k + 1  
where:
H a , k + 1 = [ [ 0 d a , k + 1 T d a , k + 1 [ s a , k + 1 × ] ] 0 4 × 3 ]  
s a , k + 1 = 1 2 ( a k + 1 + g r )  
d a , k + 1 = 1 2 ( a k + 1 g r )  
δ a k + 1 = a k + 1 C r b g r  
In (4), H a , k + 1 is the measurement matrix, and 1 2 Ξ k + 1 δ a k + 1 is the measurement noise. The covariance matrix of δ a k + 1 is σ a 2 I 3 .
Similarly, the linear pseudo-measurement equation of the magnetometer is:
0 4 × 1 = H m , k + 1 x k + 1 1 2 Ξ k + 1 δ m k + 1  
where:
H m , k + 1 = [ [ 0 d m , k + 1 T d m , k + 1 [ s m , k + 1 × ] ] 0 4 × 3 ]  
s m , k + 1 = 1 2 ( m k + 1 + m r )  
d m , k + 1 = 1 2 ( m k + 1 m r )  
δ m k + 1 = m k + 1 C r b m r  
In (5), H m , k + 1 is the measurement matrix, and 1 2 Ξ k + 1 δ m k + 1 is the measurement noise. The covariance matrix of δ m k + 1 is σ m 2 I 3 .
From (4) and (5), the overall measurement equation can be written as:
0 8 × 1 = H k + 1 x k + 1 1 2 diag ( Ξ k + 1 , Ξ k + 1 ) [ δ a k + 1 T δ m k + 1 T ] T  
where:
H k + 1 = [ H a , k + 1 H m , k + 1 ]  
The noise covariance matrices of the process and measurement equations are written as:
cov ( Γ k n k ) = Q k  
cov ( 1 2 Ξ k + 1 δ a k + 1 ) = ρ a , k + 1 R a , k + 1  
cov ( 1 2 Ξ k + 1 δ m k + 1 ) = ρ m , k + 1 R m , k + 1  
where ρ a and ρ m are adaptive weight coefficients, which can be adjusted in real time. The computation formulas for Q k , R a , k + 1 , and R m , k + 1 can be found in [16]. From (8) and (9), the noise covariance matrix of (6a) can be written as:
R k + 1 = diag ( ρ a , k + 1 R a , k + 1 , ρ m , k + 1 R m , k + 1 )  

2.3. Adaptive Fusion Algorithm Based on Kalman Filter

Filter Initialization: Set initial values for state vector estimation x ^ , i.e., q ^ and b ^ , and error covariance matrix P .
Time Propagation: The process model, gyroscope output and posteriori estimation (or the initial estimation) at step k is used to compute the priori estimation at step k + 1 by:
x ^ k + 1 / k = Ψ k x ^ k  
P k + 1 / k = Ψ k P k Ψ k T + Q k  
Measurement weight adjustment: To deal with motion accelerations and magnetic disturbances, the weight coefficients ρ a and ρ m are adjust in real time according to the disturbance intensity, which is equivalent to adjust the measurement weight. The adjusting expressions are:
ρ a , k + 1 = exp ( λ a | a k + 1 g r | / g r )  
ρ m , k + 1 = exp ( λ m | m k + 1 m r | / m r )  
where the relative distances between the norms of measured vectors ( a k + 1 , m k + 1 ) and reference vectors ( g r , m r ) are used to represent the disturbance intensity, and the exponential functions are used to map the disturbance intensity to weight coefficients. The function of the parameters λ a and λ m is to adjust the mapping relations. If the weight coefficient should be more sensitive to the disturbance intensity, the corresponding parameter should be increased, otherwise, it should be reduced. The values used for λ a and λ m can be determined experimentally. The exponential function instead of a linear function is applied because the former can reduce the measurement weight more quickly when the relative distance increases [28].
Measurement Update: The measurement model, magnetometer and accelerometer outputs and the priori estimation at step k + 1 is used to compute the posteriori estimation at step k + 1 by:
K k + 1 = P k + 1 / k H k + 1 T ( H k + 1 P k + 1 / k H k + 1 T + R k + 1 ) 1  
x ^ k + 1 = x ^ k + 1 / k K k + 1 H k + 1 x ^ k + 1 / k  
P k + 1 = ( I 7 K k + 1 H k + 1 ) P k + 1 / k  
Unit Constraint: To preserve the unit-norm property of the quaternion estimation, the updated quaternion is normalized by:
q ¯ k + 1 = q ^ k + 1 / q ^ k + 1  

2.4. Yaw Computation

The rotation matrix from the reference frame to the body frame can be represented as a function of either Euler angles or a unit quaternion, and the expressions are respectively:
C r b ( ψ , ϕ , γ ) = [ c γ c ψ + s γ s ψ s ϕ c γ s ψ + s γ c ψ s ϕ s γ c ϕ s ψ c ϕ c ϕ c ψ s ϕ s γ c ψ c γ s ψ s ϕ s γ s ψ c γ c ψ s ϕ c γ c ϕ ]  
C r b ( q ) = [ q 0 2 + q 1 2 q 2 2 q 3 2 2 ( q 1 q 3 + q 0 q 3 ) 2 ( q 1 q 3 q 0 q 2 ) 2 ( q 1 q 2 q 0 q 3 ) q 0 2 q 1 2 + q 2 2 q 3 2 2 ( q 2 q 3 + q 0 q 1 ) 2 ( q 1 q 3 + q 0 q 2 ) 2 ( q 2 q 3 q 0 q 1 ) q 0 2 q 1 2 q 2 2 + q 3 2 ]  
where ψ , ϕ , and γ are respectively the yaw, pitch, and roll; s and c denote sine and cosine function, respectively.
Using the first two elements of the second row of C ( q ) , denoted as C 21 and C 22 respectively, and defining the range of the yaw as (−180°, 180°], we obtain the following formulas for yaw computation:
ψ ^ = { arctan ( C 21 / C 22 ) C 22 > 0 arctan ( C 21 / C 22 ) + 180 C 22 < 0 , C 21 > 0 arctan ( C 21 / C 22 ) 180 C 22 < 0 , C 21 < 0  

3. Improved Algorithm

In this section, we keep the time propagation step of the conventional algorithm unchanged, and improve its measurement update step in two ways. Firstly, to improve the accuracy of the yaw estimation in the presence of magnetic disturbances, a measurement equation of the gyroscope bias is derived and its weight can be adjusted according to the vehicle status. Secondly, we design a two-step measurement update method to eliminate the impact of the magnetometer measurement update on the attitude estimation.

3.1. New Measurement Equation and Its Adaptive Weight

The gyroscope output can be written as:
ω = ω b + b + n 1  
and its z-axis component is:
ω z = ω b z + b z + n 1 z  
where ω b is the angular rate resolved in the body frame, and n 1 is a white Gaussian noise vector. When vehicles are running straight, ω b z can be regarded as zero and (19b) can be rewritten as:
b z = H ω x + n 1 z  
where:
H ω = [ 0 1 × 6 1 ]  
Equation (20a) is a new measurement equation named as gyroscope measurement, and its characters are as follows. Firstly, it only updates the gyroscope bias estimation in measurement update, but it will affect the quaternion estimation in time propagation through (11); specifically speaking, it will constrain the yaw estimation from changing by correcting the z-axis angular rate to zero. Secondly, it is immune to magnetic disturbances because the latter cannot impact the gyroscope output. Thirdly, the gyroscope measurement only hold true in running straight status, in other words, its validity depends on the vehicle status.
Note that, the yaw is computed using quaternion estimation, and all the gyroscope bias components can impact the quaternion propagation. But, in the fusion algorithm, the quaternion estimation is not only based on propagation, but also on measurement update. The yaw derivative [12] can be written as:
ψ ˙ = sin γ cos ϕ ω b x cos γ cos ϕ ω b z  
Obviously, the yaw derivative is related to pitch, roll, ω b x , and ω b z . In the fusion algorithm, the estimation of pitch and roll will be corrected by the accelerometer measurement (in the form of correcting quaternion), which is immune to magnetic disturbances. The two-step measurement update method which will be introduced in Section 3.2 makes pitch and roll estimation immune to the errors induced by magnetometer measurement update. In addition, generally speaking, the pitch and roll are small for land vehicles, hence the absolute value of the coefficient of ω b z is greater than that of ω b x . Therefore, the z-axis bias component is of more importance, especially in magnetically disturbed environments. Equation (21) is based on Euler angles, but it should be noted that both quaternion and Euler angles are representation of orientation, and orientation obeys a unique dynamic rule. In other words, the quaternion propagation models is different from that of Euler angles, but when they are used to represent a same orientation parameter, for example yaw, the parameter obeys a same dynamic rule no matter what representation is used.
The above characteristics suggest that the gyroscope measurement can be used to correct the yaw estimation in the presence of magnetic disturbances when vehicle is running straight. In practice, a vehicle cannot always run on a straight road, and even on a straight road the yaw may fluctuate. In order to employ this measurement correctly, we define the covariance of the measurement noise n 1 z as ρ ω σ ω 2 , where ρ ω , similar to ρ a and ρ m , works as a adaptive weight coefficient that can be adjusted in real time. Obviously, the adjusting principle should be that the higher the extent of running straight is, the smaller the ρ ω is.
Now, the problem is how to determine the extent of running straight. To address this problem, we analyze the correlations between different sensor outputs. The accelerometer output can be written as:
a = a m C r b g r + n 2  
where a m is the motion acceleration, and n 2 is a noise vector. According to the vehicle kinematic model [29], a m is given by:
a m = v ˙ b + ω b × v b  
where v b is the velocity of the vehicle in the body frame.
The reference fame and body frame are shown in Figure 1. For a land vehicle, the running direction can be arbitrary in reference frame, but in the body frame, which is attached to the vehicle, its running direction is always forward, although the forward direction may change in reference frame. The “forward direction” is the y direction in the body frame defined in this paper. Dissanayake et al. [30] have pointed out that, when the vehicle does not jump off the ground and does not slide on the ground, velocity of the vehicle in the plane perpendicular to the forward direction is zero, hence v b x and v b z can be assumed as zero. Using this assumption and substituting (16) and (23) into (22), we simplify the x-axis component of (22) as:
a x = v b y ω b z g s γ c ϕ + n 2 x  
In practical situation, the assumption is somewhat violated due to the presence of side slip during cornering and vibrations caused by the engine and suspension system [30]. When the assumption is violated, the side slips and vibrations will cause corresponding accelerations, but these accelerations can be regarded as noise and a part of n 2 x in (24).
The magnetic field resolved in the body frame, denoted as m b , can be written as:
m b = C r b ( m r + d r )  
where d r is the magnetic disturbances resolved in the reference frame. According to the Coriolis theorem, the change rate of m b in body frame can be written as:
m ˙ b = C r b ( m ˙ r + d ˙ r ) ω b × m b  
Because m ˙ r = 0 , the x-axis and y-axis components of m ˙ b can be written as:
m ˙ b x = C r 1 b d ˙ r + ω b z m b y ω b y m b z  
m ˙ b y = C r 2 b d ˙ r ω b z m b x + ω b x m b z  
where C r 1 b and C r 2 b denote the first row and second row of C r b respectively. We rewrite (27) as:
m ˙ b x / m b y = ω b z + C r 1 b d ˙ r / m b y ω b y m b z / m b y  
m ˙ b y / m b x = ω b z C r 2 b d ˙ r / m b x + ω b x m b z / m b x  
When the angle between the road plane and the horizontal plane remains constant and the vehicle do not vibrate, ω b y and ω b x are zero. In practice, the angle between the two planes may change, however, in general, the rate of change will be small, and the duration of the vehicle attitude change is also very short. Hence, the corresponding ω b y and ω b x will be small and close to zero for most of the time. In the case of vibration, which can be caused by bumps or ditches, ω b y and ω b x may have large absolute value, but they will oscillate with high frequency. Hence, regarding the last item of the right side as noise and using the magnetometer output and difference to approximate the left side of (28), we obtain:
( m x , k m x , k 1 ) / ( m y , k Δ t ) = ω b z + C r 1 b d ˙ r / m b y + n 3  
( m y , k m y , k 1 ) / ( m x , k Δ t ) = ω b z C r 2 b d ˙ r / m b x + n 4  
where n 3 and n 4 are noises. Because m y , k and m x , k may be equal or close to zero and thus cause numerical instability, we define Δ m as:
Δ m k = { ( m x , k m x , k 1 ) / ( m y , k Δ t ) | m y , k | > | m x , k | ( m y , k m y , k 1 ) / ( m x , k Δ t ) | m y , k | | m x , k |  
Equations (19b) and (24) show that the correlation between ω z and a x will be low if ω b z is stable; otherwise, the correlation will be high. Equations (19b), (29), and (30) show that ω z and Δ m have similar relationships; more importantly, d r will not affect the correlation between ω z and Δ m if it is constant and will not affect the correlation markedly except for an abrupt changing. Hence, the correlation between ω z and Δ m is robust to magnetic disturbances.
Considering ω b z is stable in running straight status and unstable in turning status, we construct a vehicle status marker c, whose expression is:
c = max ( 0 , 1 2 cor ( ω z , N , Δ m N ) 1 2 cor ( ω z , N , a x , N ) )  
where cor ( ) estimates the correlation coefficient using the samples of the sensor outputs, and subscript N denotes the N points samples from k N + 1 to k . In fact, in running straight status, MARG sensor outputs are stable except for uncorrelated noises; whereas in turning status, the outputs change, and the output from different sensor is correlative because their changes are caused by the same reason i.e., the vehicle is turning. The rationale of (31) is that use estimated correlation coefficients to distinguish status. In (31), the weighted sum combine the two correlation coefficient to make full use of the correlation between different sensors, and the second term of the sum is minus because ω z is negatively correlated to a x when ω b z is changing. Considering the sum is theoretically nonnegative, we set c to zero when correlation coefficient estimation errors result in a negative sum. Similar to ρ a and ρ m , the adjusting expression for ρ ω is:
ρ ω , k + 1 = exp ( λ ω c )  
where λ ω is a coefficient that transforms the status marker to a proper range.

3.2. Two-Step Measurement Update Method

This part presents the two-step measurement update method, and the concerned parameters of the first and second update step are respectively denoted by subscript f and s in the following.
First Step: The accelerometer and gyroscope measurement updates are implemented in this step. The measurement matrix and noise covariance matrix are respectively:
H f , k + 1 = [ H a , k + 1 H ω ]  
R f , k + 1 = diag ( ρ a , k + 1 R a , k + 1 , ρ ω , k + 1 σ ω 2 )  
The update expressions are:
K f , k + 1 = P k + 1 / k H f , k + 1 T ( H f , k + 1 P k + 1 / k H f , k + 1 T + R f , k + 1 ) 1  
x ^ f , k + 1 = x ^ k + 1 / k + K f , k + 1 ( Z f , k + 1 H f , k + 1 x ^ k + 1 / k )  
P f , k + 1 = ( I 7 K f , k + 1 H f , k + 1 ) P k + 1 / k  
where:
Z f , k + 1 = [ 0 4 × 1 ω z , k + 1 ]  
Second Step: In this step, the magnetometer measurement update is implemented and the ultimate quaternion estimation is computed. The measurement matrix and noise covariance matrix are respectively:
H s , k + 1 = H m , k + 1  
R s , k + 1 = ρ m , k + 1 R m , k + 1  
The update expressions are:
K s , k + 1 = P f , k + 1 H s , k + 1 T ( H s , k + 1 P f , k + 1 H s , k + 1 T + R s , k + 1 ) 1  
x ^ s , k + 1 = x ^ f , k + 1 K s , k + 1 H s , k + 1 x ^ f , k + 1  
P s , k + 1 = ( I 7 K s , k + 1 H s , k + 1 ) P f , k + 1  
Extracting quaternion part of x ^ f , k + 1 and x ^ s , k + 1 , we obtain q ^ f , k + 1 and q ^ s , k + 1 . Define q σ as:
q σ = q ^ f , k + 1 * q ^ s , k + 1  
where q ^ f , k + 1 * is the conjugate quaternion of q ^ f , k + 1 and the symbol is the quaternion multiplication operator. The conjugate quaternion of a unit quaternion represents the inverse rotation and a sequence of rotations can be represented by quaternion multiplication; therefore, q σ can be viewed as the correction quaternion induced by the magnetometer measurement update. In theory, q σ should only correct the yaw estimation; however, it also modify the attitude estimation in practice. The corresponding rotation matrix equation to Equation (39) can be written as:
C ( q ^ s , k + 1 ) = C ( q σ ) C ( q ^ f , k + 1 )  
The condition for C ( q ^ s , k + 1 ) and C ( q ^ f , k + 1 ) to share a same attitude [26] is:
q σ v × C ( q ^ f , k + 1 ) 3 = 0 3 × 1  
where q σ v is the vector part of q σ and C ( q ^ f , k + 1 ) 3 is the third column of C ( q ^ f , k + 1 ) . The geometric meaning of (41) is that the rotation axis of q σ should be parallel to the z-axis of the reference frame. Based on this condition and (1), a new correction quaternion q ^ σ is defined as:
q ^ σ = [ cos ( α ) sin ( α ) C ( q ^ f , k + 1 ) 3 T ] T  
where:
α = arccos ( q σ , 0 ) e C ( q ^ f , k + 1 ) 3  
e = q σ v / sin ( arccos ( q σ , 0 ) )  
Note that q ^ σ is actually the projection of q σ on the direction depicted by C ( q ^ f , k + 1 ) 3 , and this treatment makes q ^ σ satisfy (41). Finally, the ultimate quaternion estimation is computed by:
q ^ k + 1 = q ^ f , k + 1 q ^ σ  

3.3. Complete Improved Yaw Estimation Algorithm

Adding the adaptive gyroscope measurement update to the conventional algorithm and adopting the two-step measurement update method, we obtain the improved algorithm shown in Figure 2. Note that the improved algorithm preserves the linearity and all its measurement updates have an adaptive weight.

4. Experiments

In this section, we evaluate the performances of the improved algorithm experimentally. The real data from a MARG sensor mounted on a test vehicle are processed by the conventional and improved algorithm, respectively. Then, we analyze the performances of the vehicle status marker, gyroscope measurement update, two-step measurement update method, and yaw estimation by comparing the results of the improved algorithm against that of the conventional algorithm and reference values.

4.1. Experimental Setup and Parameters

The test vehicle and experimental devices are shown in Figure 3. A Motion Tracker MTi-28A53G35 (Xsens, Enschede, The Netherlands) [31] was used as the MARG sensor. The Global Position System (GPS) unit (Unicoremm, Beijing, China) provided reference values of longitude, latitude, and forward velocity. 3-axis gyro module STIM210 (Sensonor AS, Horten, Norway) was used as the attitude and heading reference system (AHRS), which provided reference values of the yaw and attitude. The initial value of the AHRS was computed with the static accelerometer and magnetometer outputs [32]. The laptop (Lenovo, Beijing, China) supplied power for the MARG sensor, GPS unit, and the AHRS, and logged data from them at 100Hz. The GPS unit, MARG sensor, and AHRS were mounted on the test vehicle with the sensor and AHRS frames aligned with the vehicle body frame. In experiments, the vehicle was driven along test trajectories, which consisted of straight lines, corners with different angles and a circular line, involving a full range of yaw. Note that the magnetic sensor had been calibrated inline according to the sensor manual [20]; hence, we assumed that the impact of the hard and soft iron effects had been eliminated.
We analyzed the MARG sensor output in static condition, and set the noise parameters as follows: σ m = 0.0015 , σ ω = 0.0056 rad/s, σ a = 0.008 m/s2. We found the proper values for λ m , λ ω , and λ a by trial and error, and set them to 20, 15, and 50 respectively. The estimation of q 0 was computed with the initial outputs of the magnetometer and accelerometer; the estimation of b 0 was set to the gyroscope output before the vehicle was started, and P 0 = 100 I 7 . The initial values of Q , R a , and R m were computed with q 0 and P 0 [16].

4.2. Experimental Results and Discussion

4.2.1. Vehicle Status Marker

To analyze the experimental results more clearly, we intercepted a piece of the MARG sensor outputs corresponding to a segment of the test trajectories. Using these data, we computed the status marker c and the adaptive weight coefficient ρ ω , which are shown in Figure 4. In Figure 4a, the reference yaw indicates that the vehicle undergone a turning (about 90°) between 70 s and 80 s, and mainly run straight with small fluctuation of yaw in other times. Corresponding to the reference yaw, c increases markedly between 70 s and 80 s; and oscillates with small values in other times. One key to computing c effectively is to select a proper N, because too many sample points will cause severely lagged weight adjustment, whereas too few sample points will reduce the computation accuracy. In the experiments, we set N = 1 / Δ t .

4.2.2. Gyroscope Measurement Update

We processed the sensor outputs using the conventional and improved algorithm, respectively, and the yaw estimation results are shown in Figure 5. The results demonstrate that the improved algorithm has better estimation accuracy, and the reasons may be analyzed as follows. In the conventional algorithm, the magnetometer measurement update corrects the yaw estimation from drifting, but the measurement weight will be adjusted down in the presence of magnetic disturbances (Figure 4b shows obvious differences between the norm of magnetometer output and one from about 15 s to 50 s implying the presence of magnetic disturbances). As a result, the correction effect attenuates and thus the yaw estimation drifts. In contrast, the gyroscope measurement update provides another correction in the improved algorithm, and more importantly, the correction can hardly be attenuated by magnetic disturbances as analyzed in Section 3. The adaptive weight coefficients shown in Figure 4b verify the function of the gyroscope measurement update: ρ ω is much lower than ρ m in the presence of magnetic disturbances. In fact, ρ ω represent the validity of the gyroscope measurement, which is not affected by magnetic disturbances. Hence, the gyroscope measurement can be used in magnetically disturbed environments. The real-time adjusting ρ ω is critical for the gyroscope measurement to work effectively. Figure 5 also shows the yaw estimation result when ρ ω is set to constant 1. The result demonstrates that the constant ρ ω causes erroneous correction from the gyroscope measurement when the vehicle is turning, and hence results in significant estimation errors.
The gyroscope bias estimation results are shown in Figure 6. We estimated the reference value of b z by calculating the mean value of the gyroscope output in a not-moving interval, and the result was 0.00058 rad/s. Obviously, the b z estimation is updated more effectively in the improved algorithm, which is verified by its better yaw estimation accuracy.
In Section 3.1, we draw a conclusion based on Equation (21) that b z estimation is more important than b x and b y estimation in the fusion algorithm. To verify this conclusion based on experimental data, we constructed a conventional adaptive fusion algorithm using quaternion as state variables, and using Equation (6) as measurement equation. Note that, in this algorithm, the gyroscope bias is not estimated and compensated, and hence it will always impact the quaternion propagation. To examine the impact of the gyroscope bias, we added a constant bias on the reference angular rate provided by the AHRS and used the biased value to realize the quaternion propagation in the fusion algorithm.
We used this algorithm to estimate yaw for three times, and the constant bias were respectively set to [b, 0, 0], [0, b, 0], and [0, 0, b]. The results were denoted as bx, by, and bz respectively. Note that, in this process, all the parameters of the algorithm are same except for the constant bias. The root mean square (RMS) errors of the yaw estimation corresponding to different b are listed in Table 1. Obviously, bz has a more significant impact on yaw estimation.
It should be noted that the gyroscope measurement updates only provide a “partial” correction, in other words, they cannot provide absolute yaw information but that the yaw is unchanged to some extent, and the “extent” is indicated by the adaptive weight. Therefore, it is reasonable to employ the gyroscope measurement updates in combination with the magnetometer measurement updates. In addition, the gyroscope measurement updates only work effectively in running straight status. In practice, turning status is inevitable, but the duration of turning is relatively short, and running along a straight road is a more usual status for most land vehicles.
In practice, a running vehicle cannot avoid bumps and ditches, which will cause oscillations of a x , ω x , and ω y . We assume these oscillations as part of the noise items in Equations (24) and (29) respectively, and construct the vehicle status marker c based on the correlations between different sensor outputs. To evaluate these noise assumptions, we analyzed a piece of the sensor outputs corresponding to a straight road with some bumps and ditches. The raw signals of a x , ω x , and ω y are shown in Figure 7 and Figure 8, respectively. The term c computed by Equation (31) is shown in Figure 9.
The vehicle met a bump or ditch at about 7 s, 19 s, 27 s, 45 s, and 58 s. Obviously, the bumps and ditches cause oscillations of the sensor outputs. Figure 9 demonstrate that the bumps and ditches do not affect c significantly, which displays small values and is consistent with the running straight status.

4.2.3. Two-Step Measurement Update Method

In the experiments, the test road is basically level except for some speed breaks. To evaluate the performances of the two-step measurement update method, we computed attitudes using the quaternion [33] from the first step update, the conventional algorithm and the improved algorithm respectively, and the results are shown in Figure 10. Obviously, the improved algorithm and the first step update have the same attitude estimation, which verify that the second step update do not modify the attitude estimation. In addition, the attitude estimation of the improved algorithm is more consistent with the reference values than the conventional algorithm. The comparison demonstrates that the two-step measurement update method eliminates the attitude estimation errors induced by the magnetometer measurement update. Besides magnetic disturbances, the magnetometer measurement error can also cause attitude estimation errors. For example, the attitude estimation of the conventional algorithm change incorrectly during the turning of the vehicle (70–80 s), and similar phenomena can be found in other turning processes, which, we think, is due to the dynamic errors of the magnetometer.
It should be noted that modifications of the attitude estimation made by magnetometer measurement update essentially arise from the disagreements between the accelerometer and magnetometer outputs, which can also be caused by non-gravitational acceleration and accelerometer measurement errors. The improved algorithm prevents the magnetometer output from modifying the attitude estimation because firstly the gravity resolved in the body frame can provide sufficient attitude information, and secondly the accelerometer output is assumed more reliable than the magnetometer output in magnetically disturbed environments as has been accepted and verified in many applications.

4.2.4. Yaw Estimation

We tested two trajectories, which are referred to as A and B. MARG sensor outputs corresponding to the trajectories were processed. To show the performances of the yaw estimation intuitively, we used dead reckoning [29] to reproduce the test trajectories based on the yaw estimations and the vehicle velocity data provided by the GPS unit. The results are shown in Figure 11, where the reference trajectories recorded by the GPS unit is also plotted. Clearly, the reproduced trajectories from the improved algorithm are closer to the reference than that from the conventional algorithm.
The root mean square (RMS) errors of the improved algorithm in trajectory A and B are respectively 1.8° and 2.9°. The reason the improved algorithm performed better in A is, as pointed out earlier, the gyroscope measurement only work effectively in running straight status. A was approximately rectangular and has longer straight roads, whereas B consisted of more turning road with different angles and curvature. Obviously, A was more suitable for the gyroscope measurement to take effect. It should be noted that vehicle status cannot affect the work of the two-step measurement update method, which is also helpful for the yaw estimation.
The RMS errors of the yaw and attitude estimation are listed in Table 2. In addition, we used the Kalman filter with vector selection [7] and the complementary filter with varying gains [21], referred to as VSKF and VGCF respectively, to process the experiment data, and the RMS errors are also listed in Table 2. Clearly, the improved algorithm performed best in the yaw and attitude estimation. In fact, as pointed out in the introduction, the VSKF and VGCF essentially use the same strategy as the conventional algorithm to handle magnetic disturbances: reducing the confidence in the magnetometer measurements, which will result in poor correction for the yaw estimation. Whereas the improved algorithm not only reduce the confidence in the disturbed measurements but also introduce new measurements based on vehicle status, which provide supplemental information for the yaw estimation. In addition, the two-step measurement update method eliminates the impacts of magnetometer errors and magnetic disturbances on attitude estimation, which is also helpful for the yaw estimation.
Note that the better yaw estimation accuracy of the improved algorithm is due to its enhanced ability to deal with magnetic disturbances; and it will have the same level of yaw estimation accuracy as the conventional algorithm in magnetically homogeneous environments.

5. Conclusions

An improved yaw estimation algorithm for land vehicle using a MARG sensor was proposed in this paper. Under running straight assumption, we derived the gyroscope measurement equation, which update the gyroscope bias and thus constrain the yaw estimation from changing. The validity of the gyroscope measurement depends on the vehicle status; to determine the vehicle status, we analyzed the correlations between different sensors based on the vehicle kinematic model and Coriolis theorem, and constructed a vehicle status marker used to adjust the weight of the gyroscope measurement. In addition, we designed a two-step measurement update method, which implements the magnetometer measurement update separately and eliminates its impact on attitude estimation. Adopting the gyroscope measurement update and the two-step measurement update method, we improved the conventional yaw estimation algorithm. The improved algorithm was tested in experiments and compared against the conventional algorithm. Based on the experiment results, the performances and characters of the improved algorithm were discussed and the conclusion is as follows. The gyroscope measurement update is an effective supplement to the magnetometer measurement update in magnetically disturbed environments; the two-step measurement update methods make attitude estimation immune to the errors induced by magnetometer measurement update; and the improved algorithm provides more reliable yaw estimation for land vehicles than the conventional algorithm. Finally, it should be noted that the vehicle status marker is based on statistic characteristics between different sensors, which make it robust to disturbances, but on the other hand, insensitive to the varying status. The improvements of its real-time performance and ability to detect the turning status with small angular rates will be the topics of further work.

Author Contributions

Conceptualization, G.S. and X.L.; Methodology, G.S.; Software, G.S.; Validation, X.L. and G.S.; Formal Analysis, G.S.; Investigation, G.S. and Z.J.; Resources, X.L.; Data Curation, G.S. and Z.J.; Writing—Original Draft Preparation, G.S.; Writing—Review & Editing, G.S.; Visualization, G.S.; Supervision, X.L.; Project Administration, X.L.; Funding Acquisition, X.L.

Funding

This research was funded by National Natural Science Foundation of China, grant number [61273082].

Conflicts of Interest

The authors declare no conflict of interest.

References

  1. Vahidi, A.; Eskandarian, A. Research advances in intelligent collision avoidance and adaptive cruise control. IEEE Trans. Intell. Transp. Syst. 2003, 4, 143–153. [Google Scholar] [CrossRef] [Green Version]
  2. McCall, J.; Trivedi, M.M. Video-based lane estimation and tracking for driver assistance: Survey, system, and evaluation. IEEE Trans. Intell. Transp. Syst. 2006, 7, 20–37. [Google Scholar] [CrossRef]
  3. Wada, M.; Yoon, K.S.; Hashimoto, H. Development of advanced parking assistance system. IEEE Trans. Ind. Electron. 2003, 50, 4–17. [Google Scholar] [CrossRef]
  4. Fernandez Llorca, D.; Milanes, V.; Parra Alonso, I.; Gavilan, M.; Garcia Daza, I.; Perez, J.; Sotelo, M.Á. Autonomous pedestrian collision avoidance using a fuzzy steering controller. IEEE Trans. Intell. Transp. Syst. 2011, 12, 390–401. [Google Scholar] [CrossRef]
  5. Yim, S.; Jeon, K.; Yi, K. An investigation into vehicle rollover prevention by coordinated control of active anti-roll bar and electronic stability program. Int. J. Control Autom. Syst. 2012, 10, 275–287. [Google Scholar] [CrossRef]
  6. Masuya, K.; Sugihara, T. A nonlinear complementary filter for attitude estimation with dynamics compensation of MARG sensor. In Proceedings of the IEEE International Conference on Advanced Intelligent Mechatronics (AIM), Banff, AB, Canada, 12–15 July 2016; pp. 976–981. [Google Scholar]
  7. Zhang, Z.Q.; Meng, X.L.; Wu, J.K. Quaternion-Based Kalman filter with vector selection for accurate orientation tracking. IEEE Trans. Instrum. Meas. 2012, 61, 2817–2824. [Google Scholar] [CrossRef]
  8. Wahba, G. A least squares estimate of satellite attitude. SIAM Rev. 1965, 7, 409. [Google Scholar] [CrossRef]
  9. Valenti, R.G.; Dryanovski, I.; Xiao, J. A linear Kalman filter for MARG orientation estimation using the algebraic quaternion algorithm. IEEE Trans. Instrum. Meas. 2016, 65, 467–481. [Google Scholar] [CrossRef]
  10. Yun, X.; Bachmann, E.R.; McGhee, R.B. A simplified quaternion-based algorithm for orientation estimation from earth gravity and magnetic field measurements. IEEE Trans. Instrum. Meas. 2008, 57, 638–650. [Google Scholar] [CrossRef]
  11. Mahony, R.; Hamel, T.; Pflimlin, J.M. Nonlinear complementary filters on the special orthogonal group. IEEE Trans. Autom. Control 2008, 53, 1203–1218. [Google Scholar] [CrossRef] [Green Version]
  12. Yoo, T.S.; Hong, S.K.; Yoon, H.M.; Park, S. Gain-scheduled complementary filter design for a MEMS based attitude and heading reference system. Sensors 2011, 11, 3816–3830. [Google Scholar] [CrossRef] [PubMed]
  13. Madgwick, S.O.H.; Harrison, A.J.L.; Vaidyanathan, R. Estimation of IMU and MARG orientation using a gradient descent algorithm. In Proceedings of the IEEE International Conference on Rehabilitation Robotics, Zurich, Switzerland, 27 June–1 July 2011; pp. 1–7. [Google Scholar]
  14. Markley, F.L. Attitude error representations for Kalman filtering. J. Guid. Control Dynam. 2003, 26, 311–317. [Google Scholar] [CrossRef]
  15. Crassidis, J.; Markley, F.L. Unscented filtering for spacecraft attitude estimation. J. Guid. Control Dyn. 2003, 26, 536–542. [Google Scholar] [CrossRef]
  16. Choukroun, D.; Bar-Itzhack, I.Y.; Oshman, Y. Novel quaternion Kalman filter. IEEE Trans. Aerosp. Electron. Syst. 2006, 42, 174–190. [Google Scholar] [CrossRef] [Green Version]
  17. Kok, M.; Schön, T.B. Magnetometer calibration using inertial sensors. IEEE Sens. J. 2016, 14, 5679–5689. [Google Scholar] [CrossRef]
  18. Shi, G.; Li, X.S.; Li, X.F.; Liu, Y.X.; Kang, R.Q.; Shu, X.Y. Equivalent two-step algorithm for the calibration of three-axis magnetic sensor in heading measurement system. Chin. J. Sci. Instrum. 2017, 38, 402–407. [Google Scholar]
  19. Vasconcelos, J.F.; Elkaim, G.; Silvestre, C.; Oliveira, P.; Cardeira, B. Geometric approach to strapdown magnetometer calibration in sensor frame. IEEE Trans. Aerosp. Electron. Syst. 2011, 47, 1293–1306. [Google Scholar] [CrossRef]
  20. Magnetic Field Mapper Documentation; Xsens Technologies B.V.: Enschede, The Netherlands, 2013.
  21. Costanzi, R.; Fanelli, F.; Monni, N.; Ridolfi, A.; Allotta, B. An attitude estimation algorithm for mobile robots under unknown magnetic disturbances. IEEE/ASME Trans. Mechatron. 2016, 21, 1900–1911. [Google Scholar] [CrossRef]
  22. Wu, J.; Zhou, Z.B.; Chen, J.J. Fast complementary filter for attitude estimation using low-cost MARG sensors. IEEE Sens. J. 2016, 16, 6997–7007. [Google Scholar] [CrossRef]
  23. Tong, X.; Li, Z.F.; Han, G.W. Adaptive EKF based on HMM recognizer for attitude estimation using MEMS MARG sensors. IEEE Sens. J. 2018, 18, 3299–3310. [Google Scholar] [CrossRef]
  24. Feng, K.; Li, J.; Zhang, X.; Shen, C.; Bi, Y.; Zheng, T.; Liu, J. A new quaternion-based Kalman Filter for real-time attitude estimation using the two-step geometrically-intuitive correction algorithm. Sensors 2017, 17, 2146. [Google Scholar] [CrossRef] [PubMed]
  25. Sabatini, A.M. Kalman-Filter-based orientation determination using inertial/magnetic sensors: Observability analysis and performance evaluation. Sensors 2011, 11, 9182–9206. [Google Scholar] [CrossRef] [PubMed]
  26. Suh, Y.S. Orientation estimation using a quaternion-based indirect Kalman filter with adaptive estimation of external acceleration. IEEE Trans. Instrum. Meas. 2010, 59, 3296–3305. [Google Scholar] [CrossRef]
  27. Suh, Y.S.; Ro, Y.S.; Kang, H.J. Quaternion-based indirect Kalman filter discarding pitch and roll information contained in magnetic sensors. IEEE Trans. Instrum. Meas. 2012, 61, 1786–1792. [Google Scholar] [CrossRef]
  28. Sun, S.; Meng, X.; Ji, L.; Wu, J.; Wong, W.C. Adaptive sensor data fusion in motion capture. In Proceedings of the 13th International Conference on Information Fusion, Edinburgh, UK, 26–29 July 2010. [Google Scholar]
  29. Ahmed, H.; Tahir, M. Accurate attitude estimation of a moving land vehicle using low-cost MEMS IMU sensors. IEEE Trans. Intell. Transp. Syst. 2017, 18, 1723–1739. [Google Scholar] [CrossRef]
  30. Dissanayake, G.; Sukkarieh, S.; Nebot, E.; Durrant-Whyte, H. The aiding of a low-cost strapdown inertial measurement unit using vehicle model constraints for land vehicle applications. IEEE Trans. Robot. Autom. 2001, 17, 731–747. [Google Scholar] [CrossRef]
  31. MTi and MTx User Manual and Technical Documentation; Xsens Technologies B.V.: Enschede, The Netherlands, 2013.
  32. Jurman, D.; Jankovec, M.; Kamnik, R.; Topič, M. Calibration and data fusion solution for the miniature attitude and heading reference system. Sens. Actuator A-Phys. 2007, 138, 411–420. [Google Scholar] [CrossRef]
  33. Qin, Y.Y. Inertial Navigation, 2nd ed.; Science Press: Beijing, China, 2014; pp. 251–252. ISBN 978-7-03-039465-1. [Google Scholar]
Figure 1. Reference frame o r x r y r z r and body frame o b x b y b z b .
Figure 1. Reference frame o r x r y r z r and body frame o b x b y b z b .
Sensors 18 03251 g001
Figure 2. Improved yaw estimation algorithm.
Figure 2. Improved yaw estimation algorithm.
Sensors 18 03251 g002
Figure 3. Experimental setup. (a) Test vehicle. (b) Experimental devices.
Figure 3. Experimental setup. (a) Test vehicle. (b) Experimental devices.
Sensors 18 03251 g003
Figure 4. Adaptive weight coefficient based on the vehicle status. (a) Reference yaw and c. Because the reference yaw and c have different value range, two vertical axes are used for clarity with the right one corresponding to c. (b) ρ m and ρ ω . The magnetometer output norm is also plotted to show the relationship between magnetic disturbances and ρ m , and, similar to (a), two vertical axes are used with the right one corresponding to m . To obtain a proper vertical axe limit and thus the trends of curves can be showed clearly, the maximum value of the weight coefficients is set to 100.
Figure 4. Adaptive weight coefficient based on the vehicle status. (a) Reference yaw and c. Because the reference yaw and c have different value range, two vertical axes are used for clarity with the right one corresponding to c. (b) ρ m and ρ ω . The magnetometer output norm is also plotted to show the relationship between magnetic disturbances and ρ m , and, similar to (a), two vertical axes are used with the right one corresponding to m . To obtain a proper vertical axe limit and thus the trends of curves can be showed clearly, the maximum value of the weight coefficients is set to 100.
Sensors 18 03251 g004
Figure 5. Yaw estimation.
Figure 5. Yaw estimation.
Sensors 18 03251 g005
Figure 6. Gyroscope bias estimation. (a) Conventional algorithm. (b) Improved algorithm.
Figure 6. Gyroscope bias estimation. (a) Conventional algorithm. (b) Improved algorithm.
Sensors 18 03251 g006
Figure 7. a x in bumps and ditches experiment.
Figure 7. a x in bumps and ditches experiment.
Sensors 18 03251 g007
Figure 8. ω x and ω y in bumps and ditches experiment.
Figure 8. ω x and ω y in bumps and ditches experiment.
Sensors 18 03251 g008
Figure 9. c in bumps and ditches experiment.
Figure 9. c in bumps and ditches experiment.
Sensors 18 03251 g009
Figure 10. Attitude estimation. (a) Pitch estimation. (b) Roll estimation.
Figure 10. Attitude estimation. (a) Pitch estimation. (b) Roll estimation.
Sensors 18 03251 g010
Figure 11. Dead reckoning results. The circle represents the start point, and the square represents the end point. (a) Trajectory A. (b) Trajectory B.
Figure 11. Dead reckoning results. The circle represents the start point, and the square represents the end point. (a) Trajectory A. (b) Trajectory B.
Sensors 18 03251 g011
Table 1. RMS errors of the yaw estimation corresponding to different b.
Table 1. RMS errors of the yaw estimation corresponding to different b.
Resultb = 0.005 rad/sb = 0.01 rad/sb = 0.015 rad/s
bx6.8°7.6°7.9°
by7.1°8.3°9.1°
bz11.2°19.4°29.0°
Table 2. RMS errors of the yaw and attitude estimation.
Table 2. RMS errors of the yaw and attitude estimation.
AlgorithmYaw (°)Pitch (°)Roll (°)
VSKF4.94.03.1
VGCF5.63.53.3
Conventional5.23.72.9
Improved2.11.81.6

Share and Cite

MDPI and ACS Style

Shi, G.; Li, X.; Jiang, Z. An Improved Yaw Estimation Algorithm for Land Vehicles Using MARG Sensors. Sensors 2018, 18, 3251. https://doi.org/10.3390/s18103251

AMA Style

Shi G, Li X, Jiang Z. An Improved Yaw Estimation Algorithm for Land Vehicles Using MARG Sensors. Sensors. 2018; 18(10):3251. https://doi.org/10.3390/s18103251

Chicago/Turabian Style

Shi, Gang, Xisheng Li, and Zhengfu Jiang. 2018. "An Improved Yaw Estimation Algorithm for Land Vehicles Using MARG Sensors" Sensors 18, no. 10: 3251. https://doi.org/10.3390/s18103251

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