Next Article in Journal
BlueDetect: An iBeacon-Enabled Scheme for Accurate and Energy-Efficient Indoor-Outdoor Detection and Seamless Location-Based Service
Previous Article in Journal
CSRQ: Communication-Efficient Secure Range Queries in Two-Tiered Sensor Networks
Previous Article in Special Issue
Inertial Sensor Error Reduction through Calibration and Sensor Fusion
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

A Dual-Linear Kalman Filter for Real-Time Orientation Determination System Using Low-Cost MEMS Sensors

1
School of Mechanical & Engineering, Huazhong University of Science & Technology, Wuhan 430074, China
2
School of Power and Mechanical Engineering, Wuhan University, Wuhan 430072, China
*
Author to whom correspondence should be addressed.
Sensors 2016, 16(2), 264; https://doi.org/10.3390/s16020264
Submission received: 14 December 2015 / Revised: 15 February 2016 / Accepted: 15 February 2016 / Published: 20 February 2016
(This article belongs to the Special Issue Inertial Sensors and Systems)

Abstract

:
To provide a long-time reliable orientation, sensor fusion technologies are widely used to integrate available inertial sensors for the low-cost orientation estimation. In this paper, a novel dual-linear Kalman filter was designed for a multi-sensor system integrating MEMS gyros, an accelerometer, and a magnetometer. The proposed filter precludes the impacts of magnetic disturbances on the pitch and roll which the heading is subjected to. The filter can achieve robust orientation estimation for different statistical models of the sensors. The root mean square errors (RMSE) of the estimated attitude angles are reduced by 30.6% under magnetic disturbances. Owing to the reduction of system complexity achieved by smaller matrix operations, the mean total time consumption is reduced by 23.8%. Meanwhile, the separated filter offers greater flexibility for the system configuration, as it is possible to switch on or off the second stage filter to include or exclude the magnetometer compensation for the heading. Online experiments were performed on the homemade miniature orientation determination system (MODS) with the turntable. The average RMSE of estimated orientation are less than 0.4° and 1° during the static and low-dynamic tests, respectively. More realistic tests on two-wheel self-balancing vehicle driving and indoor pedestrian walking were carried out to evaluate the performance of the designed MODS when high accelerations and angular rates were introduced. Test results demonstrate that the MODS is applicable for the orientation estimation under various dynamic conditions. This paper provides a feasible alternative for low-cost orientation determination.

1. Introduction

Accurate orientation is essential for the locating and tracking of moving objects relative to a given frame in various kinds of applications, such as unmanned aerial vehicle (UAV) navigation [1], autonomous underwater vehicle (AUV) [2], self-driving cars [3], intelligent robots [4], wearable devices [5], and human position tracking [6,7,8] etc., in military and industrial areas. Inertial sensors, such as the gyros and accelerometer make it possible to determine the orientation of moving object by measuring kinetic physical quantities (acceleration and angular rate, etc.) without any external additional information and other restrictions [9]. Gimbaled gyros, fiber optic gyros, and laser gyros have been successfully used to provide the high-precision movement information for the aircraft and missile systems in military and aviation industries. Given an initial assumption of the orientation, gyros can provide accurate orientation information via integrating the angular rates of the moving object numerically [10]. However, high-performance gyros are usually very expensive and bulky. Even the access to these devices may be limited. With the rapid expansions of the civilian and consumer markets, more and more micro-electro-mechanical system (MEMS)-based gyros are used for the low-precision orientation determination, benefited from their low price, small size, low-power dissipation, and relatively high reliability [11].
However, due to the inherent noise and drifts with time, there are considerable cumulative errors when only the gyros are used for the orientation determination. Various kinds of time series models are used to estimate the stochastic process of the gyro [12]. All of the published literature shows that the cumulative errors cannot be eliminated only according to the stochastic model of the gyro. Even for the extremely expensive MEMS gyros, the cumulative errors still cannot be neglected. Accordingly, it is necessary to integrate the gyro with some other sensors which there are no drifts and cumulative errors existing. Yun, et al. proposed a factored quaternion method for the orientation estimation [13]. Derivations of half-angle formulas were proposed in their paper. Taking advantage of the gravity decomposition, attitude angles (namely, the pitch and roll angles) are easily obtained from the accelerometer. Sequentially, the heading angle is available when the magnetometer is used. However, the gravity is coupled with the kinematic accelerations so strongly that it cannot be separated from the accelerometer outputs accurately, especially in the case of long-term high dynamics. Simultaneously, the geomagnetic field is very susceptible to the additional magnetic field induced by surrounding hard or soft magnet materials [14]. Due to the deviations among the directions of the geomagnetic field in different locations, it is not appropriate to use the magnetic data for the pitch and roll estimation. All the reasons above make the accelerometer and magnetometer play the role of aided sensors.
Nowadays, typical MEMS-based orientation systems usually consist of three single-axis gyros and an electronic compass which includes a tri-axis accelerometer and a tri-axis magnetometer [15,16,17]. It is crucial to develop appropriative embedded data fusion solutions for the orientation systems. The Kalman filter (KF) has already become the most commonly used sensor fusion technique for MEMS orientation systems. Various filter models were developed for different orientation representations, such as the direction cosine matrix, Euler angles, and quaternion. To simplify the implementation of KF, Zhu, et al. developed a linear KF in which the state vector was composed of the gravity and geomagnetic field in body frame [18]. A linear Kalman model was designed and the effect of the forgetting factor on the time lag was also investigated in their paper. Han and Wang proposed an Euler angle errors-based method to express errors in the local level frame rather than the body frame so as to achieve a linear KF [19]. Though the nonlinearity problem was avoided, the observation model was still faced with the singularity problem in their approach when the pitch angle gets through the area near ±π/2. Li and Wang developed an improved linear KF based on the psi-angle propagation equation [20]. The residuals of heading angle and accelerations were defined as the observation vector. In their paper, an adaptive gain is tuned for the KF according to the dynamic scale determined by the accelerometers when the system is in a high dynamic mode. However, not only the heading, but also that of the pitch and roll, would be affected if the magnetometer measurements were used with the accelerometer measurements directly. Furthermore, Sabatelli, et al. designed a two-stage extended Kalman filter (EKF) to calculate the attitude angles and the heading angle separately [21]. The accelerometer was used for the attitude determination in the first stage filter and the magnetometer was used for the heading correction in the second one. Due to the nonlinearity of the measurement equations in their method, high-order matrix operations lead to considerable increases in iterative computations eventually. Instead of implementing EKF, we designed an unscented Kalman filter (UKF) to obtain the high-accuracy indoor heading estimation in our previous works [22]. The UKF was deemed to be more accurate and less computationally costly than EKF, while too many trigonometric functions and Taylor expansions greatly increased the complexity of system. What is worse, the singularity problem was unavoidable in the UKF-based method.
In this paper, we focused on the requirements of a complete system for the low-cost orientation determination. A novel dual-linear Kalman filter was designed for the multi-sensor system. The kinematic models were based on the propagation equations of the local gravity and geomagnetic field in the body frame. The outputs of accelerometer and magnetometer were defined as the measured quantities in the two independent observation models. Benefited from the specific design, only the gyro and accelerometer are enough to run the first stage filter for the attitude estimation and a magnetometer could be integrated optionally if the heading is needed. Considering the different statistical models for sensor errors, the proposed filter can achieve optimal orientation estimation if the sensor statistical error is assumed to be white noise. The proposed strategy precludes the impacts of geomagnetic distortions on the pitch and roll which the heading is subjected to. The RMSE of attitude angles are reduced by 30.6% under magnetic disturbances. Meanwhile, owing to the reduction of system complexity, total time consumption of the proposed method is reduced by 23.8% than that of a standard one, which means that a higher frequency can be implemented for the update of orientation. Furthermore, the separated filter design offers greater flexibility and robustness to magnetic anomalies for the system configuration, as it is possible to switch on or off the second filter to include or exclude the magnetometer compensation for the heading. Online experiments were performed on the homemade real-time miniature orientation determination system (MODS). Furthermore, we carried out more realistic tests on the two-wheel self-balancing vehicle driving and indoor pedestrian walking to evaluate the performance of the designed multi-sensor system when high linear accelerations and angular rates were introduced. The test results demonstrated that the accuracy and stability of MODS were well guaranteed. This paper provides a feasible alternative for low-cost orientation determination.
The kinematic modeling is introduced for the multi-sensor system in Section 2. The dual-linear filter is proposed in Section 3. Noise characteristics are analyzed for the sensor models in Section 4. Hardware design is described for the MODS in Section 5. Real-time experiments performed on the homemade MODS are presented and discussed in Section 6. Finally, the forecasts are put forward for further study in Section 7.

2. System Modeling

The orientation system is usually applied to determine Euler angles which are regarded as the essential parameters for the navigation and motion control. So-called Euler angles are defined as the rotation angles from the given inertial frame (usually called the navigation frame, denoted by n) to the body frame (fixed to the moving object and denoted by b), including yaw ψ , pitch θ , and roll ϕ . The body frame x y z is attached to the orientation system. The x -axis is aligned with its forward direction, the z -axis points to the bottom of the system and the y -axis rounds up the right-handed orthogonal coordinate frame. In this paper, the navigation frame n is attached to the local level north frame, namely the North, East, Down (NED) frame, as shown in Figure 1.
Here, we designate a column vector u , whose components are generally functions of the time t . The transformation between the vector u in the frame b and the frame n is as:
u n ( t ) = C b n ( ϕ , θ , ψ ) u b ( t )
where C b n ( ϕ , θ , ψ ) represents the direction cosine matrix (DCM) used to transform the measured quantities from the frame b into the frame n. Henceforward, the parameter t will be omitted for the convenience of readers. C b n can be carried out through three different separate rotations about the three axes. C ψ z , C θ y , and C ϕ x represent the rotation ψ angle about the z -axis, θ angle about the y -axis, and ϕ angle about the x -axis, respectively, which are defined as:
C ψ z = [ cos ψ sin ψ 0 sin ψ cos ψ 0 0 0 1 ] , C θ y = [ cos θ 0 sin θ 0 1 0 sin θ 0 cos θ ] , C ϕ x = [ 1 0 0 0 cos ϕ sin ϕ 0 sin ϕ cos ϕ ]
Then:
C b n = C ψ z C θ y C ϕ x = [ cos ψ cos θ cos ψ sin θ sin ϕ sin ψ cos ϕ cos ψ sin θ cos ϕ + sin ψ sin ϕ sin ψ cos θ sin ψ sin θ sin ϕ + cos ψ cos ϕ sin ψ sin θ cos ϕ cos ψ sin ϕ sin θ cos θ sin ϕ cos θ cos ϕ ]
The propagation equation of C b n accords with the following equation in [23]:
C ˙ b n = C b n [ 0 r q r 0 p q p 0 ] = C b n Ω n b b
where Ω n b b is the skew symmetric matrix of ω = [ p q r ] T , which is the angular rate of the moving object in the frame b. Differentiating Equation (1) with respect to the time:
u ˙ n = C ˙ b n u b + C b n u ˙ b
Then, the propagation equation of u in the body frame can be derived as:
u ˙ b = Ω n b b u b
The vectors of the gravity and the geomagnetic field will both yield to Equation (6):
{ g ˙ b = Ω n b b g b m ˙ b = Ω n b b m b
where g b = [ g x b g y b g z b ] T and m b = [ m x b m y b m z b ] T represent the vectors of the gravity and the geomagnetic field in the frame b, respectively.

3. Dual-Linear Kalman Filter Design

As discussed in the introduction, the orientation angles obtained from the accelerometer and magnetometer provide long-term accuracy with high noise while the gyro-derived orientation angles suffer from drifts and cumulative errors. Neither of them will achieve accurate and stable orientation when only one method is used alone. Therefore, a dual-linear Kalman filter is designed to integrate these two approaches together for accurate orientation estimation in this paper. Unlike Zhu et al. [18], defining the system state vector as S = [ m b g b ] T , we define two state vectors which are the gravity and geomagnetic field in the body frame b in this paper, respectively:
x 1 = g b , x 2 = m b
Similarly, the accelerometer and magnetometer outputs are defined as the two observation vectors corresponding to the state vectors:
z 1 = a , z 2 = m
The unified discrete-time dynamic equation of the system state can be expressed as follows:
x n = Φ x n 1 + w n 1 z n = x n + v n
where w n and v n are the process and measurement noises vectors, respectively. The system transfer matrix Φ is given as:
Φ = exp ( Ω n b b t s )
where t s is the sampling interval. After estimating of the state vectors, the pitch, roll, and heading are obtained by the following arc-tangent formulas:
{ θ = arctan ( g x b ( g y b ) 2 + ( g z b ) 2 ) , ϕ = arctan ( g y b g z b ) ψ = arctan ( m y b cos ϕ + m z b sin ϕ m x b cos θ + m y b sin ϕ sin θ + m z b cos ϕ sin θ )
The next task is to compute the Kalman gain which is defined as:
K n = P n H T ( Η P n Η T + R n ) 1
where R n is the covariance matrix of measurement noise ( R a for the accelerometer and R m for the magnetometer). As the inverse of the 3 × 3 order matrix Η P n Η T + R n is formulized, time consumption will be drastically reduced.
When the orientation system is in stable states, it is easy to achieve the optimal R n . However, inertial sensor measurements may be unreliable and even useless in dynamic states. An adaptive mechanism is designed for the covariance matrixes of sensors noise in the filtering processes according to [20,24]. In the absence of magnetic disturbances, the locus of magnetometer output lies on the surface of a sphere. However, deviations of the magnetometer measurements are very large if magnetic disturbances exists. There are abundant literatures regarding the magnetometer calibration [25,26,27]. The method proposed in [28] was executed for the magnetometer calibration. The strategy will be performed for R m as follows:
R m = { σ m 2 I , if | m i + 1 h | < ξ m , otherwise
The schematic of the proposed dual-linear filter algorithm is shown in Figure 2. The state vectors are divided into two independent linear filters and updated separately.

4. Noise Characteristics

The covariances of the process noise and measurement noise are regarded as the primary design parameters to achieve the minimum variance of estimation errors. In this paper, the process noise is mainly derived from the angular rates measured by the gyros. We can assume that there is a small perturbation δ ω = [ δ p δ q δ r ] to ω :
ω = ω ¯ + δ ω
where ω ¯ = [ p ¯ q ¯ r ¯ ] is the mean of ω . The state equation can be rewritten as:
[ x ˙ 1 x ˙ 2 x ˙ 3 ] = [ 0 ( r ¯ + δ r ) ( q ¯ + δ q ) ( r ¯ + δ r ) 0 ( p ¯ + δ p ) ( q ¯ + δ q ) ( p ¯ + δ p ) 0 ] [ x 1 x 2 x 3 ] = [ 0 r ¯ q ¯ r ¯ 0 p ¯ q ¯ p ¯ 0 ] [ x 1 x 2 x 3 ] [ 0 x 3 x 2 x 3 0 x 1 x 2 x 1 0 ] [ δ p δ q δ r ] w
The second term on the right side of the Equation (16) is regarded as the process noise w . For a discrete-time system, the covariance matrix of the process noise w is obtained:
Q = L R g L T
where
R g = d i a g [ σ p 2 σ q 2 σ r 2 ] , L = [ 0 x 3 x 2 x 3 0 x 1 x 2 x 1 0 ]
where σ p 2 , σ q 2 and σ r 2 are the variances of p , q , and r .
The performance of the proposed filter is strongly linked with the quality of stochastic models used to describe the different sensors’ noise. In this paper, the sensors’ noise is assumed to be a white noise according to pertinent literatures. A generalized method of wavelet moments (GMWM) proposed by Guerrier et al. [12] was used to analyze the impacts of different sensor error models on the filter. A numerical simulation was implemented to evaluate three different models: (1) a white noise, (2) a Gauss-Markov (GM) process, and (3) a sum of three GM processes. Firstly, we created a theoretical trajectory as shown in Figure 3. The attitude angle is expressed as follows:
θ = π 2 sin ( 0.2 t )
where t is the simulation time at a sampling instant.
The “perfect” inertial observations (angular rates and accelerations) were obtained by inverse strapdown. Then, we corrupted these perfect observations by three types of errors generated from the three different sensor models. Finally, the proposed filter was executed with the three kind of corrupted observations. Figure 4 shows the time-varying pitch estimation error based on three different sensor models. Figure 5 shows performance comparisons of the absolute pitch estimation error. As shown in the plots, the proposed filter can achieve robust orientation estimation for different sensors errors models. It can be seen that the proposed filter provides the optimal estimation when the sensors’ noise is assumed as a white noise. Meanwhile, the results of the Gauss-Markov model are very close to the white noise model.

5. Hardware Design

In order to verify and implement the proposed filter in practice, we developed a homemade prototype which is a real-time miniature multi-sensor system, as shown in Figure 6. The multi-sensor system is comprised of three single-axis MEMS gyros (full-scale range of ±450°/s), a tri-axis accelerometer (full-scale range of ±5 g) produced by Analog Devices, and a tri-axis magnetometer (full-scale range of ±0.8 Gauss) produced by Honeywell. Considering the electromagnetic interference, the magnetometer was welded on the back of the PCB. The sensor data fusion processes are handled by the microprocessor of the STM32F4 series for its excellent performance on dealing with large numbers of floating point arithmetic. The raw sensors data and orientation angles are collected from the miniature orientation determination system (MODS) when it is connected to the upper computer via USB or Zigbee.

6. Experiments and Results

6.1. Noise Variances Determination

Firstly, we removed the mean of the original gyro signal produced in static tests at a frequency of 100 Hz (448,915 measurements). The time-varying errors are available and are presented in the time domain in Figure 7 (upper panel), together with the Haar wavelet variance (WV) and the corresponding GMWM for this process with 95% confidence intervals (lower panel). Similar results are achieved by the GMWM for a white noise process and a GM process, which validate the previous results in Section 4 again. The WV computed from the gyro signal give an indication for the underlying stochastic processes. The GMWM estimates of the parameters and their corresponding 95% confidence intervals using the WV covariances are summarized in Table 1. The suitability of the estimated models can be judged graphically by a matching of the empirical WV and the parametric WV using the estimates in Table 1.

6.2. Time Consumption Emulation

A time consumption test was designed to validate the effects of proposed filter for reducing the system complexity and computing time by smaller matrix operations. We collected 31,120 row data from an existing orientation system [29] at 100 Hz which were used to run our filter in MATLAB ten times, repeatedly. Table 2 shows the comparisons of time-varying pitch errors estimated by our filter (Method A) and the proposed filter in [18] (Method B). The proposed filter precludes the impacts of geomagnetic distortions on the pitch and roll which the heading is subjected to. As shown in Table 2, the average RMS errors of proposed filter are reduced by 30.6% compared with Method B under strong magnetic disturbances. Meanwhile, mean computation times are reduced by 23.8%, which means that higher frequency can be implemented for the orientation updates.

6.3. MODS Evaluation

Three kinds of experiments were carried out to verify the performance of the designed MODS. Firstly, the static and dynamic tests for MODS were implemented on a tri-axis turntable that allows precise and repeatable tests. Then, the MODS was mounted on a homemade two-wheel self-balancing vehicle for driving control. Finally, the MODS was tied on the shoes of pedestrian for the indoor walking and stair-climbing experiments to validate the robustness on the attitude estimation when high linear accelerations and angular rates were introduced.

6.3.1. Tri-Axis Turntable Experiments for the MODS

As shown in Figure 8, the MODS was fixed on the static turntable relative to the ground during the static tests. In the majority of existing published literatures, orientation systems were usually kept at the zero input point so as to evaluate the static performance. In our paper, different static input points were tested in our static experiments. The attitude angles were tested from −80° to 80° and the heading was from 0° to 90°. The turntable was turned by 10° every time and would be held for a few seconds. During the dynamic test, the MODS was mounted on the running turntable which was controlled to execute the pre-set motions.
As shown in Figure 9, the static test results are very smooth and steady. The dynamic test results are plotted in Figure 10. The proposed filter achieves an excellent performance on orientation estimation, which is free from the drifts of gyros and transient disturbances on the compass successfully.
Overall, the results of MODS are quite consistent with the reference, virtually without any time lag whatsoever in the tests. We can see clearly that gyro-derived orientation angles deviate from the reference due to the inherent biases of the gyros. On the other hand, the orientation angles estimated by the accelerometer and magnetometer tend to follow the reference well in the quasi-static state, but large errors and poor reliability appear in the transient high dynamic state. Table 3 indicates that the root mean square (RMS) errors of the pitch and roll angles are less than 0.1°, and approximately 0.4° for the heading angle in static tests. Meanwhile, the RMS errors are below 0.5° for the pitch and roll angles, and less than 1° for the heading angle in dynamic tests.

6.3.2. Experiments on the Two-Wheel Self-Balancing Vehicle Driving

For the purpose to validate the performance of the designed MODS in practical applications, we mounted it on a homemade two-wheel self-balancing vehicle, as shown in Figure 11a. The pitch angle θ is one of the most important parameters for driving the self-balancing vehicle. The servo motors will adjust the driving torque T d on the wheels to keep the dynamic balance of the vehicle body according to the variation of the pitch angles, as shown in Figure 11b. At the beginning, the two-wheel vehicle was kept static for a few seconds. Then, the two-wheel vehicle was controlled to drive along the preplanned route until commanded to slow down and stop. Figure 12 shows the time-varying pitch and roll angles during the whole test.
The pitch angle changes rapidly at the time of 11 s and 23 s corresponding to the starting and stopping of the two-wheel vehicle, respectively. The variations of pitch angles are relatively stable during the vehicle running. Meanwhile, the roll angle changes stably within 1° during the whole test.

6.3.3. Indoor Pedestrian Walking and Stair-Climbing Experiments

For the further validation of the accuracy and stability of the MODS in more realistic motions, indoor pedestrian walking and stair-climbing tests were carried out in our college building, as shown in Figure 13. The MODS was tied on the shoes of the pedestrian. During the waking tests, the pedestrian was required to walk straight along the preplanned route on the floor. The floor tiles can be regarded as the natural tags to repeat the walking tests. Raw sensor data and orientation angles were collected from the MODS. As shown in Figure 14, norms of the walking accelerations are much higher than the gravity, even close to the maximum scale range of accelerometer (5 g). Similarly, norms of walking angular rates are close to the maximum scale range of gyros (450°/s). Therefore, high linear accelerations and angular rates are introduced into the proposed filter to verify the robustness of the attitude estimation. The walking cycles are shown clearly by identifiable peak points which can be applied to indoor pedestrian navigation and human health monitoring.
Figure 15 shows the real-time attitude angles of the MODS during walking tests. Similar to the variations of accelerations and angular rates in Figure 14, attitude angles change periodically with the pedestrian waking cycles. The MODS can provide stable enough attitude estimation for the pedestrian walking.
During the stair-climbing tests, the pedestrian was required to climb three floors including six half floors climbing and six corners walking which are corresponding to the red segments and the blue segments of the time-varying curves of the accelerations and angular rates in Figure 16. We can find out that the variation ranges of the climbing accelerations are much larger than that of the walking accelerations, but the variation ranges of the angular rates show an inverse tendency. Therefore, the proposed filter will rely more on the gyro outputs during the pedestrian walking, while the accelerometer outputs are considered more in the quasi-static attitude updates.
Figure 17 shows the real-time attitude angles estimated by the MODS during the pedestrian stair-climbing tests. The pitch and roll angles of the walking have a larger variation range than that of climbing stairs. The results are very consistent with the realistic motions because the pedestrian’s feet can stretch completely when walking while they will be blocked by the steps when climbing stairs. Figure 18 is the close-ups relevant to the pitch and roll angles in Figure 17, which shows an excellent convergence and dynamic performance.

7. Conclusions

In this paper, a novel dual-linear Kalman filter was designed for the orientation determination system using low-cost MEMS-based sensors. The propagation equations of the local gravity and geomagnetic field in frame b are used to establish the dynamic models. The accelerometer and magnetometer outputs are defined as the two measured quantities in the same, but independent, observation models. The proposed strategies precludes the impacts of magnetic disturbances on the pitch and roll angles which the heading is subjected to. The RMSE of estimated attitude angles are reduced by 30.6% compared with a standard filter under magnetic disturbances. The proposed filter can achieve optimal orientation estimation if the sensor statistical error is assumed to be white noise. Owing to the reduction of system complexity, time consumption is reduced by 23.8% compared with a standard filter, which means that higher frequency can be implemented for the orientation updates. The proposed separated method offers greater flexibility for the system design. Online experiments performed on a real-time homemade MODS demonstrate that the proposed sensor fusion algorithm can maintain an accurate and stable estimation for the orientation. The average RMSE are less than 0.4° and 1° in the static and low-dynamic turntable tests, respectively. More realistic tests were carried out on the two-wheel self-balancing vehicle driving and indoor pedestrian walking to evaluate the performance of the MODS. The results demonstrate that the accuracy and stability of the MODS are guaranteed even with high linear accelerations and angular rates, which shows remarkable robustness over the applicable operating range. Therefore, the proposed approach provides a feasible alternative for the low-cost real-time orientation determination system.
Further research will focus on the calibration of MEMS devices to improve the performance of orientation determination systems. Meanwhile, some additional sensors and modules, such as the barometer and GPS, can be optionally integrated into the existing MODS. In this case, a complete orientation and position determination system would be achieved.

Acknowledgments

The supports of the National High Technology Research and Development Program (863 Program) under Grant 2013AA041105 of Ministry of Science and Technology of PR China are highly appreciated. The authors also wish to thank all the friends and colleagues who have made a great contribution to this research at Huazhong University of Science & Technology and Wuhan University.

Author Contributions

Shengzhi Zhang proposed the original sensor fusion algorithm and wrote this paper; Shuai Yu developed the homemade prototype of MODS; Chaojun Liu gave some valuable suggestions; Xuebing Yuan designed the experiments; Sheng Liu revised the paper.

Conflicts of Interest

The authors declare no conflict of interest.

References

  1. De Marina, H.G.; Pereda, F.J.; Giron-Sierra, J.M.; Espinosa, F. UAV attitude estimation using unscented kalman filter and TRIAD. IEEE Trans. Ind. Electron. 2012, 59, 4465–4474. [Google Scholar] [CrossRef]
  2. Wei, S.; Xu, A.G.; Yang, G. Strapdown gyrocompass algorithm for AUV attitude determination using a digital filter. Measurement 2013, 46, 815–822. [Google Scholar]
  3. Berger, C.; Al Mamun, M.A.; Hansson, J. COTS-architecture with a real-time OS for a self-driving miniature vehicle. In Proceedings of the Workshop on Architecting Safety in Collaborative Mobile Systems (ASCoMS) of the 32nd International Conference on Computer Safety, Reliability and Security, Toulouse, France, 24–27 September 2013; pp. 1–12.
  4. Peng, H.; Cardou, P.; Desbiens, A.; Gagnon, E. Estimating the orientation of a rigid body moving in space using inertial sensors. Mutibody Syst. Dyn. 2014, 2014, 1–27. [Google Scholar]
  5. Al Delail, B.; Weruaga, L.; Zemerly, M.J.; Ng, J.W.P. Indoor localization and navigation using smartphones augmented reality and inertial tracking. In Proceedings of the IEEE International Conference on Electronics, Circuits, and Systems, Abu Dhabi, UAE, 8–11 December 2013; pp. 929–932.
  6. Foxlin, E. Pedestrian tracking with shoe-mounted inertial sensors. IEEE Comput. Graph. Appl. 2005, 25, 38–46. [Google Scholar] [CrossRef] [PubMed]
  7. Öhberg, F.; Lundström, R.; Grip, H. Comparative analysis of different adaptive filters for tracking lower segments of a human body using inertial motion sensors. Meas. Sci. Technol. 2013, 24, 50–61. [Google Scholar] [CrossRef]
  8. Yuan, Q.; Chen, I.M. Localization and velocity tracking of human via 3 IMU sensors. Sens. Actuators A Phys. 2014, 212, 25–33. [Google Scholar] [CrossRef]
  9. Farrell, J.; Barth, M. The Global Positioning System and Inertial Navigation; McGraw-Hill: New York, NY, USA, 1999. [Google Scholar]
  10. Kusuda, Y.; Takahashi, M. Feedback control with nominal inputs for agile satellites using control moment gyros. J. Guid. Control Dynam. 2012, 34, 1209–1218. [Google Scholar] [CrossRef]
  11. Bekkeng, J.K.; Psiaki, M.L. Attitude estimation for sounding rockets using microelectromechanical system gyros. J. Guid. Control Dynam. 2012, 31, 533–542. [Google Scholar] [CrossRef]
  12. Guerrier, S.; Skaloud, J.; Stebler, Y.; Victoria-Feser, M.P. Wavelet-variance-based estimation for composite stochastic processes. J. Am. Stat. Assoc. 2013, 108, 1021–1030. [Google Scholar] [CrossRef] [PubMed]
  13. Yun, X.; Bachmann, E.; Mcghee, R. 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]
  14. Searcy, J.D.; Pernicka, H.J. Magnetometer-only attitude determination using novel two-step Kalman filter approach. J. Guid. Control Dynam. 2012, 35, 1693–1701. [Google Scholar] [CrossRef]
  15. Renaudin, V.; Combettes, C. Magnetic, acceleration fields and gyro quaternion (MAGYQ)-based attitude estimation with smartphone sensors for indoor pedestrian navigation. Sensors 2014, 14, 22864–22890. [Google Scholar] [CrossRef] [PubMed]
  16. 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]
  17. Ma, D.M.; Shiau, J.K.; Wang, I.C.; Lin, Y.H. Attitude determination using a MEMS-based flight information measurement unit. Sensors 2012, 12, 1–23. [Google Scholar] [CrossRef] [PubMed]
  18. Zhu, R.; Sun, D.; Zhou, Z.; Wang, D. A linear fusion algorithm for attitude determination using low cost MEMS-based sensors. Measurement 2007, 40, 322–328. [Google Scholar] [CrossRef]
  19. Han, S.; Wang, J. A novel method to integrate IMU and magnetometers in attitude and heading reference systems. J. Navig. 2011, 64, 727–738. [Google Scholar] [CrossRef]
  20. Li, W.; Wang, J. Effective adaptive Kalman filter for MEMS-IMU/magnetometers integrated attitude and heading reference systems. J. Navig. 2013, 66, 99–113. [Google Scholar] [CrossRef]
  21. Sabatelli, S.; Galgani, M.; Fanucci, L.; Rocchi, A. A double-stage Kalman filter for orientation tracking with an integrated processor in 9-D IMU. IEEE Trans. Instrum. Meas. 2013, 62, 590–598. [Google Scholar] [CrossRef]
  22. Yuan, X.; Yu, S.; Zhang, S.; Wang, G.; Liu, S. Quaternion-based unscented Kalman filter for accurate indoor heading estimation using wearable multi-sensor system. Sensors 2015, 15, 10872–10890. [Google Scholar] [CrossRef] [PubMed]
  23. Titterton, D.H.; Weston, J.L. Strapdown Inertial Navigation Technology, 2nd ed.; Institution of Electronical Engineers: Reston, VA, USA, 2004. [Google Scholar]
  24. 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]
  25. Renaudin, V.; Afzal, M.H.; Lachapelle, G. Complete triaxis magnetometer calibration in the magnetic domain. J. Sens. 2010, 115, 23–59. [Google Scholar] [CrossRef]
  26. Li, X.; Li, Z. A new calibration method for tri-axial field sensors in strap-down navigation systems. Meas. Sci. Technol. 2012, 23, 2852–2855. [Google Scholar] [CrossRef]
  27. Metge, J.; Mégret, R.; Giremus, A.; Berthoumieu, Y.; Décamps, T. Calibration of an inertial-magnetic measurement unit without external equipment, in the presence of dynamic magnetic disturbances. Meas. Sci. Technol. 2014, 25, 125106–125122. [Google Scholar] [CrossRef]
  28. Zhang, Z.; Yang, G. Calibration of miniature inertial and magnetic sensor units for robust attitude estimation. IEEE Trans. Instrum. Meas. 2014, 63, 711–718. [Google Scholar] [CrossRef]
  29. Xsens Technologies B.V. MTi300 datasheet. Available online: https://www.xsens.com/products/mti-100-series/ (accessed on 17 February 2016).
Figure 1. Orientation of the body frame b expressed in the navigation frame n.
Figure 1. Orientation of the body frame b expressed in the navigation frame n.
Sensors 16 00264 g001
Figure 2. Proposed dual-linear Kalman filter.
Figure 2. Proposed dual-linear Kalman filter.
Sensors 16 00264 g002
Figure 3. Assumed trajectory for different sensor models.
Figure 3. Assumed trajectory for different sensor models.
Sensors 16 00264 g003
Figure 4. Time-varying pitch estimation errors based on three different sensor models.
Figure 4. Time-varying pitch estimation errors based on three different sensor models.
Sensors 16 00264 g004
Figure 5. Performance comparisons of the absolute pitch estimation error.
Figure 5. Performance comparisons of the absolute pitch estimation error.
Sensors 16 00264 g005
Figure 6. Homemade prototype of the MODS (a) sensors layout; (b) bespoke housing.
Figure 6. Homemade prototype of the MODS (a) sensors layout; (b) bespoke housing.
Sensors 16 00264 g006
Figure 7. Comparisons (log–log scale) between the Haar WV and GMWM.
Figure 7. Comparisons (log–log scale) between the Haar WV and GMWM.
Sensors 16 00264 g007
Figure 8. Online turntable experiments for the MODS.
Figure 8. Online turntable experiments for the MODS.
Sensors 16 00264 g008
Figure 9. Estimated orientation during static tests (a) pitch angle; (b) roll angle; (c) yaw angle.
Figure 9. Estimated orientation during static tests (a) pitch angle; (b) roll angle; (c) yaw angle.
Sensors 16 00264 g009
Figure 10. Estimated orientation during dynamic tests (a) pitch angle; (b) roll angle; (c) yaw angle.
Figure 10. Estimated orientation during dynamic tests (a) pitch angle; (b) roll angle; (c) yaw angle.
Sensors 16 00264 g010
Figure 11. Tests on the two-wheel self-balancing vehicle (a) with MODS fixed on the vehicle; (b) schematic diagram for the vehicle driving.
Figure 11. Tests on the two-wheel self-balancing vehicle (a) with MODS fixed on the vehicle; (b) schematic diagram for the vehicle driving.
Sensors 16 00264 g011
Figure 12. Estimated attitude angle during two-wheel self-balancing vehicle test (a) pitch angle; (b) roll angle.
Figure 12. Estimated attitude angle during two-wheel self-balancing vehicle test (a) pitch angle; (b) roll angle.
Sensors 16 00264 g012
Figure 13. (a) Indoor pedestrian walking tests and (b) stair-climbing tests.
Figure 13. (a) Indoor pedestrian walking tests and (b) stair-climbing tests.
Sensors 16 00264 g013
Figure 14. Inertial sensors measurements during walking (a) acceleration; (b) angular rate.
Figure 14. Inertial sensors measurements during walking (a) acceleration; (b) angular rate.
Sensors 16 00264 g014
Figure 15. Estimated attitude angle during walking (a) pitch angle; (b) roll angle.
Figure 15. Estimated attitude angle during walking (a) pitch angle; (b) roll angle.
Sensors 16 00264 g015aSensors 16 00264 g015b
Figure 16. Inertial sensors measurements during stair-climbing (a) acceleration; (b) angular rate.
Figure 16. Inertial sensors measurements during stair-climbing (a) acceleration; (b) angular rate.
Sensors 16 00264 g016
Figure 17. Estimated attitude angle during stair-climbing (a) pitch angle; (b) roll angle.
Figure 17. Estimated attitude angle during stair-climbing (a) pitch angle; (b) roll angle.
Sensors 16 00264 g017
Figure 18. Close-ups relevant to the estimated attitude angle during stair-climbing (a) pitch angle; (b) roll angle.
Figure 18. Close-ups relevant to the estimated attitude angle during stair-climbing (a) pitch angle; (b) roll angle.
Sensors 16 00264 g018
Table 1. Estimated parameters with associated 95% confidence intervals for three different stochastic models with the gyro signal data.
Table 1. Estimated parameters with associated 95% confidence intervals for three different stochastic models with the gyro signal data.
ModelParameterEstimateIC (0.95)
Model 1 σ 2 4.654064e−06(4.639158e−06; 4.668971e−06)
Model 2 σ 2 4.653360e−06(4.639986e−06; 4.666734e−06)
β 5.342647e−02(5.106282e−02; 5.579013e−02)
Model 3 σ 1 2 9.246705e−12(5.989062e−12; 1.250435e−11)
β 1 9.990636e−01(9.990636e−01; 9.990636e−01)
σ 2 2 8.794771e−13(4.427838e−13; 1.316170e−12)
β 2 9.999861e−01(9.999861e−01; 9.999861e−01)
σ 3 2 4.658634e−06(4.640222e−06; 4.677046e−06)
β 3 3.307696e−02(3.307696e−02; 3.307696e−02)
Table 2. Comparisons of Method A and Method B.
Table 2. Comparisons of Method A and Method B.
MethodMean Time ConsumptionMean Attitude Error
Method A8.72 s0.25°
Method B11.45 s0.36°
Table 3. RMS errors of the MODS in the turntable tests.
Table 3. RMS errors of the MODS in the turntable tests.
Test StatePitchRollYaw
Static0.045°0.064°0.352°
Dynamic0.301°0.386°0.845°

Share and Cite

MDPI and ACS Style

Zhang, S.; Yu, S.; Liu, C.; Yuan, X.; Liu, S. A Dual-Linear Kalman Filter for Real-Time Orientation Determination System Using Low-Cost MEMS Sensors. Sensors 2016, 16, 264. https://doi.org/10.3390/s16020264

AMA Style

Zhang S, Yu S, Liu C, Yuan X, Liu S. A Dual-Linear Kalman Filter for Real-Time Orientation Determination System Using Low-Cost MEMS Sensors. Sensors. 2016; 16(2):264. https://doi.org/10.3390/s16020264

Chicago/Turabian Style

Zhang, Shengzhi, Shuai Yu, Chaojun Liu, Xuebing Yuan, and Sheng Liu. 2016. "A Dual-Linear Kalman Filter for Real-Time Orientation Determination System Using Low-Cost MEMS Sensors" Sensors 16, no. 2: 264. https://doi.org/10.3390/s16020264

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