Next Article in Journal
Wireless Temperature Sensor Based on a Nematic Liquid Crystal Cell as Variable Capacitance
Next Article in Special Issue
A New Algorithm for High-Integrity Detection and Compensation of Dual-Frequency Cycle Slip under Severe Ionospheric Storm Conditions
Previous Article in Journal
A Complex Network Theory-Based Modeling Framework for Unmanned Aerial Vehicle Swarms
Previous Article in Special Issue
Smartphone Heading Correction Based on Gravity Assisted and Middle Time Simulated-Zero Velocity Update Method
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

A Robust and Adaptive Complementary Kalman Filter Based on Mahalanobis Distance for Ultra Wideband/Inertial Measurement Unit Fusion Positioning

1
School of Computer Science and Technology, China University of Mining and Technology, Xuzhou 221116, China
2
Department of Infrastructure Engineering of the University of Melbourne, Melbourne 3010, Australia
*
Authors to whom correspondence should be addressed.
Sensors 2018, 18(10), 3435; https://doi.org/10.3390/s18103435
Submission received: 4 August 2018 / Revised: 5 October 2018 / Accepted: 10 October 2018 / Published: 12 October 2018
(This article belongs to the Collection Positioning and Navigation)

Abstract

:
Ultra wideband (UWB) has been a popular technology for indoor positioning due to its high accuracy. However, in many indoor application scenarios UWB measurements are influenced by outliers under non-line of sight (NLOS) conditions. To detect and eliminate outlying UWB observations, we propose a UWB/Inertial Measurement Unit (UWB/IMU) fusion filter based on a Complementary Kalman Filter to track the errors of position, velocity and direction. By using the least squares method, the positioning residual of the UWB observation is calculated, the robustness factor of the observation is determined, and an observation weight is dynamically set. When the robustness factor does not exceed a pre-defined threshold, the observed value is considered trusted, and adaptive filtering is used to track the system state, while the abnormity of system state, which might be caused by IMU data exceptions or unreasonable noise settings, is detected by using Mahalanobis distance from the observation to the prior distribution. When the robustness factor exceeds the threshold, the observed value is considered abnormal, and robust filtering is used, whereby the impact of UWB data exceptions on the positioning results is reduced by exploiting Mahalanobis distance. Experimental results show that the observation error can be effectively estimated, and the proposed algorithm can achieve an improved positioning accuracy when affected by outlying system states of different quantity as well as outlying observations of different proportion.

1. Introduction

Indoor positioning technology is important in a variety of applications, ranging from supermarket shopping to drone positioning and hospital patient tracking [1,2,3]. The ultra wideband (UWB) positioning technology has been particularly popular since it can achieve decimeter-level positioning accuracy under line of sight (LOS) conditions. However, in many practical scenarios such as warehouse robot positioning and emergency response, UWB signal attenuation and even signal loss occurs due to obstruction by personnel and cargo and multi-path effects, resulting in a sharp drop in UWB positioning accuracy [4,5]. The UWB/IMU fusion is an effective way to achieve high-precision positioning under non-line of sight (NLOS) conditions. However, long time positioning cannot be maintained due to the susceptibility of IMU data to integral accumulation errors. In addition, when the motion state of the carrier changes drastically, such as during bumping and braking, the IMU data is easily disturbed by abnormal measurements. Therefore, improving positioning accuracy of UWB data in NLOS conditions and when IMU data is affected by abnormal values is a hot research topic.
Extensive research has been done on UWB/IMU fusion for positioning applications. Sczyslo et al. [6,7] used loose coupling and tracked the pedestrian movement based on an Extended Kalman Filter (EKF). Ascher et al. [8] presented a tightly coupled UWB/IMU system for indoor applications, with IMUs mounted on pedestrians and moving cars. Blanco et al. [9] used a particle filter algorithm to fuse UWB, IMU and odometer data, achieving improved positioning performance under NLOS conditions. Xu et al. [10] developed a new approach using least squares support vector machine and H∞ filter for IMU/wireless sensor network (WSN) integration and achieved a reduction of positioning error by 14.8% compared with the UWB-only model. Wang et al. [11] designed a tightly-coupled Global Positioning System (GPS)/UWB/IMU integrated system, achieving high positioning accuracy in outdoor environments. Benini et al. [12] proposed a positioning method based on the fusion of vision, IMU and UWB onboard on a flying drone, achieving two-dimensional positioning accuracy of 10 cm.
In the existing UWB/IMU fusion methods, the effect of outliers is either ignored [13,14,15], or it is mitigated by using zero velocity update (ZUPT) or pedestrian dead reckoning (PDR), which are applicable to pedestrians only and cannot be used for moving platforms such as robots or forklifts. Other methods use additional sensors such as vision, GPS and odometers to compensate for the outliers in UWB/IMU data, which makes the positioning system less affordable and more computationally expensive.
In this paper, we propose a method to minimize the effect of outliers in UWB/IMU fusion. In the proposed method, the state error is estimated by using a Complementary Kalman Filter (CKF) [16,17,18], and the error of position, velocity and direction as well as the bias of accelerometer and gyroscope are contained in the state parameters. The observations are obtained from the difference between the UWB ranging and the distance from the beacon to the position obtained by IMU integration at 2 Hz. Each time the system state is updated, the position, velocity and direction errors contained in it are directly fed back to the navigation equation to calculate the result of the error correction, and the bias of the acceleration and the gyroscope are used to correct the original value of the accelerometer and the gyroscope, respectively. The advantage of this approach is that it can be used for both vehicles and pedestrian applications. In addition, the state error rather than the state itself is stored by the algorithm, so that a smaller value is used for approximation when linearizing the system, resulting in relatively more accurate results. Since the standard CKF algorithm is sensitive to non-Gaussian noise [19,20], a Robust CKF is proposed to adjust the observation covariance thereby reducing the influence of non-Gaussian noise on positioning accuracy.
The influence of abnormal observations is also eliminated by using the Robust CKF algorithm, improving the positioning accuracy. However, only the prior information is used by the Robust CKF algorithm to judge the reliability of UWB observations which will be invalid when there is a problem in the system state. If the system state deviates from the true trajectory, the following correct observations may be identified as outliers, making it difficult to drag back the system state to the real trajectory by the constraint of the UWB measurements. Due to the bias of the system state, the abnormal observations are misjudged as correct ones, while the correct observations present rather small confidence since they deviate from the wrong system state. Compared with the Standard CKF algorithm, it is more difficult for the Robust CKF algorithm to recover from the wrong state to the correct one.
In order to suppress the influence of abnormal system state and observations on positioning accuracy, an Adaptive-Robust filtering method based on Mahalanobis distance and robustness factor is designed in this paper. The positioning residual is optimized by UWB to determine the robustness factor and identify the abnormal UWB observations. When the observations are credible, the Adaptive-Robust filtering algorithm is executed; when the observations are abnormal, only the robust part of the Adaptive-Robust filtering algorithm is executed.
The remainder of the paper is organized as follows: in Section 2, the UWB/IMU fusion algorithm based on CKF is discussed, and the motion model and observation model of the algorithm are introduced. The principle of the Adaptive-Robust algorithm based on Mahalanobis distance is presented in Section 3, including a description of the calculation of the robustness factor of the observation. Several experiments are conducted and the results are analyzed in Section 4. Finally, conclusions are drawn in Section 5.

2. The UWB/IMU Fusion Filter

An overview of the proposed UWB/IMU fusion method is shown in Figure 1. As illustrated, the method is based on the CKF algorithm, and the Adaptive-Robust filtering is conducted on the abnormal system state or abnormal observations according to the robustness factor of the observations. Then, the state error obtained by filtering is fed back to the Navigation Equations to calculate the position, velocity and direction. The core of the algorithm is divided into four parts and discussed in this section.

2.1. IMU Navigation Equations

Following the method in [21], the state in the CKF algorithm is defined as: X = [ δ p n   δ v n   ε   b g b a ], where δ p n is the position error, δ v n is the velocity error, ε is direction error, b g is the gyroscope bias, and b a is the acceleration bias. X is a 15-dimensional vector. The first three navigation state vectors are defined in navigation frame (n-frame), and the last two bias vectors are in body frame (b-frame).
By integrating the gyroscope and acceleration data, the position, velocity and direction data in n-frame can be obtained. The IMU navigation equation in continuous-time state is defined as:
p ˙ n = v n
v ˙ n = C b n f b + g n
C ˙ b n = C b n [ ω b × ]
C b n represents the transformation from b-frame to n-frame. p ˙ n , v ˙ n , C ˙ b n represent the first derivative of position, velocity and attitude, respectively. g n is the gravity vector under n-frame, f b is the acceleration vector under b-frame, and ω b = [ ω x b , ω y b , ω z b ] is the angular velocity in b-frame. [ ω b × ] is the skew-symmetric matrix of angular velocity, defined as follows:
For the acceleration and the gyroscope observations at moment k, their biases b a and b g , which are estimated as the state parameters of the CKF algorithm, must be firstly removed as follows:
[ ω b × ] = [ 0 ω z b ω y b ω z b 0 ω x b ω y b ω x b 0 ]
f ^ k b = f ˜ k b b a
ω ^ k b = ω ˜ k b b g
f ˜ k b and ω ˜ k b represent the observations of the original acceleration and angular velocity, respectively, and f ^ k b and ω ^ k b are the values after the biases are compensated. The acceleration transformation from moment k to moment (k + 1) is:
f ^ k + 1 n = C b n ( f ^ k b + 0.5 ( ω ^ k b d t f ^ k b ) ) g n
⨂ denotes vector cross product, representing the rotation correction on the acceleration by the angular velocity change.
The velocity transformation from moment k to moment (k + 1) is:
v k + 1 n = v k n + f ^ k + 1 n d t δ v k n
δ v k n represents the velocity error at moment k, which is estimated as the state parameter of the CKF algorithm.
The position transformation from moment k to moment (k + 1) is:
p k + 1 n = p k n + 0.5 ( v k n + v k + 1 n ) d t δ p k n
δ p k n represents the position error at moment k, which is estimated as the state parameter of the CKF algorithm.
The attitude transformation from moment k to moment (k + 1) is:
C b , k + 1 n = ( I [ ε × ] ) C b , k n
C b , k + 1 n = C b , k + 1 n ( I + [ ω ^ k b d t × ] )
Firstly, the correction of direction error is conducted on the attitude change matrix C b , k n at moment k, and C b , k + 1 n is obtained, wherein the direction error ε is cyclically calculated by the CKF algorithm. Then, the compensated rotation from moment k to moment (k + 1) is conducted on C b , k + 1 n , and C b , k + 1 n , the rotation matrix at moment (k + 1) is obtained. In order to improve the system stability, the value of C b , k + 1 n should be periodically normalized, otherwise the matrix C b , k + 1 n might become singular.

2.2. State Transformation Model

In order to track the five state parameters in the state model of the CKF algorithm, the state transformation model must be derived. The differential equation of the system dynamic model under continuous-time is defined as follows:
X ˙ = F X + W
where F is the state transformation matrix of the system, and W is the system noise. Since the inputs of the IMU and UWB are discretized data, Equation (12) is discretized as:
X k + 1 = k X k + W k
k = e F k d t
In order to determine F k , the transformation formula of state X = [ δ p n   δ v n   ε   b g   b a ] must be derived, which consists of the following steps.
(1) Equation of acceleration bias and gyroscope bias
The measurement equations for acceleration and gyroscope are as follows:
f ˜ b = f b + b a + n a
ω ˜ b = ω b + b g + n g
where f ˜ b and ω ˜ b are the measurements of the acceleration and the angular velocity respectively; f b and ω b are the true values of the acceleration and the angular velocity respectively. n is the measurement noise which obeys the Gaussian distribution, and its covariance is defined as N a and N g , respectively for acceleration and angular velocity. b is the drift bias, which is a time-dependent first-order Markov process, defined for acceleration and angular velocity as:
b ˙ a = t a 1 b a + μ a
b ˙ g = t g 1   b g + μ g
μ is the offset noise which obeys the Gaussian distribution. The covariance of the acceleration and the gyroscope is defined as U a and U g , respectively.
(2) Equation of direction error
The direction error ε is caused by the gyroscope bias and is defined as:
ε ˙ = C b n δ ω b
It indicates the transformation of δ ω b , the measured gyroscope bias, from b-frame to n-frame. δ ω b is caused by the drift bias and noise of the gyroscope.
δ ω b = b g + n g
(3) Equation of velocity error and position error
The velocity error is caused by the acceleration error. Since the direction error can result in acceleration error, which will further result in velocity error, the velocity error is defined as:
δ v ˙ n = [ f n × ] ε + C b n δ f b
where [ f n × ] ε represents the influence of the direction error on the acceleration, and δ f b is the measurement error caused by the drift bias and noise of the acceleration, defined as:
δ f b = b a + n a
The position error is defined as:
δ p ˙ n = δ v n
Based on the state transformation equation of the five parameters in X = [ δ p n   δ v n   ε   b g   b a ], the state transformation matrix F of the system is derived as:
F = [ 0 0 0 0 0 I 0 0 0 0 0 [ f n × ] 0 0 0 0 0 C b n d i a g ( t g 1 ) 0 0 C b n 0 0 d i a g ( t a 1 ) ]
where 0 and I represent a 3 × 3 null matrix and a 3 × 3 identity matrix, respectively. The system noise W is:
W = [ 0 C b n n a C b n n g μ a μ g ]
The covariance matrix Q of the system noise W is:
Q = [ N a 0 0 0 0 N g 0 0 0 0 U a 0 0 0 0 U g ]
where N and U represent 3 × 3 diagonal matrices, and the noise transformation matrix is defined as:
G = [ 0 C b n 0 0 0 0 0 C b n 0 0 0 0 0 I 0 0 0 0 0 I ]
We discretize the noise covariance matrix Q to get Q k as follows:
Q k = 1 2 ( k G Q G + G Q G k )
By now, k and Q k in the CKF algorithm has been defined. Z k , H k , R k and other matrices will be defined in Section 2.3.

2.3. Observation Model

Given the known coordinates of n beacons denoted as S i = ( S x , i , S y , i , S z , i ) , i ( 1 , n ) , the observation function is defined as:
h ( δ p ^ k n ) = [ S 1 ( δ p ^ k n + p ^ i n s , k ) S 1 p ^ i n s , k S n ( δ p ^ k n + p ^ i n s , k ) S n p ^ i n s , k ]
where p ^ i n s , k = ( x ^ k , y ^ k , z ^ k ) is the position coordinate calculated by the IMU; δ p ^ k n = ( δ x ^ k , δ y ^ k , δ z ^ k ) is the priori position error calculated by the state transformation equation; ‖.‖ represents the Euclidean distance. Equation (29) represents the difference between two ranging values: the first ranging value is from the beacon to the IMU integration position including the position error; the second ranging value is from the beacon to the IMU integration position excluding the position error. The Jacobian matrix of the observation equation is defined as:
H k = δ ( h ( δ p ^ k n ) ) δ ( δ p ^ k n ) = [ S x , 1 ( x ^ k + δ x ^ k ) S 1 ( δ p ^ k n + p ^ i n s , k ) S y , 1 ( y ^ k + δ y ^ k ) S 1 ( δ p ^ k n + p ^ i n s , k ) S z , 1 ( z ^ k + δ z ^ k ) S 1 ( δ p ^ k n + p ^ i n s , k ) 0 1 × 12 S x , n ( x ^ k + δ x ^ k ) S n ( δ p ^ k n + p ^ i n s , k ) S y , n ( y ^ k + δ y ^ k ) S n ( δ p ^ k n + p ^ i n s , k ) S z , n ( z ^ k + δ z ^ k ) S n ( δ p ^ k n + p ^ i n s , k ) 0 1 × 12 ]
The observation is defined as:
Z k , i = r k , i S i p ^ i n s , k
where r k is the ranging data of UWB. Equation (31) represents the difference between the UWB ranging and the distance from the beacon to the position obtained by IMU integration.
The observation equation is defined as:
Z k = H k X k + V k
where V k is the measurement noise matrix, and V k ~ N ( 0 , R k ) . R k is the covariance matrix.

3. Adaptive-Robust Filtering Strategy

The accuracy of UWB sensor observations is affected by ambient temperature, power supply stability, fixed obstacles, and even people or objects moving in the environment. Therefore, the confidence of UWB observations must be estimated. A calculation method based on robustness factor is designed in this paper. The robustness factor is used to adjust the effect of the observation error on the system. The observation error here refers to the error within a certain range, and the observation with particularly large error is defined as abnormal value (outliers) which is processed by the method based on Mahalanobis distance.

3.1. Calculation of Robustness Factor

To simplify the description, assume that three beacons are adopted. In the planar positioning, the ith UWB beacon is denoted as Beacon i , and the corresponding coordinates are ( x i , y i ) . The UWB tag used for positioning is denoted as Tag, and its coordinates are (x, y). The true distance between the Tag and Beacon i is denoted as r i , and its corresponding measurement is denoted as r i . As shown in Figure 2, ideally, r i = r i , the three circles will intersect at a unique point, and its coordinates indicate the position of the tag under the current observation data. To solve this intersection point, an error function is defined and the coordinate of Tag is obtained by minimizing the error function. A feasible error function is:
E ( x , y ) = i n | ( ( ( x x i ) 2 + ( y y i ) 2 ) r i ) |
In Equation (33), |.| represents absolute value function. The estimated coordinates of the tag ( x , y ) , can be obtained by minimizing E ( x , y ) :
( x , y ) = a r g m i n ( x , y ) E ( x , y )
Ideally, the minimum value of E ( x , y ) is zero. However, in practice, the measurements contain error. Assume that r i still represents the true distance, and its corresponding error is denoted as Δ r i . At this time, the measurement of the corresponding Beacon i is r i = r i + Δ r i .
The partial trilateration diagram is shown in Figure 3, showing the intersection of the circles corresponding to the measurements of the three Beacons around the Tag. Obviously, when the measurements contain error, the three circles will intersect each other rather than intersect at one point. In this case, ( x , y ) , the estimated value of the Tag coordinate, is still obtained by minimizing E ( x , y ) .
The robustness factor of the UWB data is defined as:
C u i = { e | Δ r i | C u i < C u _ m a x C u _ m a x C u i C u _ m a x
e | Δ r i | [ 1 , + ], i [ 1 , n ] . The larger | Δ r i | is, the less trustworthy the data is. C u _ m a x has two functions: firstly, the value of C u i must be limited within a certain range, otherwise it will lead to matrix singularity when C u i is used to modify R k ; secondly, it is used as the threshold of the observation error, and the observation error larger than it is treated as outliers and processed by the method based on the Mahalanobis distance. The value of C u _ m a x is determined by the UWB ranging error within the environment. Generally, the ranging error will increase with increasing distance. Following [9], the UWB ranging error is defined as:
f ( d ) = 0.4 ( 1.10 e 0.17 d )
where f ( d ) represents the ranging error at range d . Figure 4 shows the error distribution when d is within 20 m. Assume that the ranging error obeys the Gaussian distribution, that is, 97% of the ranging errors are within f ( d ) ± 3 σ , and the value of the ranging error greater than f ( d ) + 3 σ is regarded as an outlier. Thus, C u _ m a x is defined as:
C u _ m a x = e f ( d ) + 3 σ
Figure 5 shows the C u _ m a x for distance d within 20 m. In the experiment environment described in Section 4, σ is set to 0.1 m according to UWB positioning tests.
Finally, R k is defined as:
R k = [ σ s 1 2 C u 1 0 0 0 0 σ s 2 2 C u 2 0 0 0 0 σ s 3 2 C u 3 0 0 0 0 σ s 4 2 C u 4 ]
σ s i 2 represents the covariance of the ranging from the ith UWB beacon to the tag. If the number of range measurements is less than 3, e.g., due to occlusion, an effective residual value cannot be obtained, in which case we set C u to 1.

3.2. Adaptive-Robust Filtering Based on Mahalanobis Distance

In general, the noise of the UWB measurement under LOS (Line of Sight) condition obeys the Gaussian distribution, and the observation covariance can be well adjusted by the robustness factor mentioned above, so that the quality of the ranging value can be quantitatively evaluated. However, in the NLOS environment, due to the influence of refraction, obstacles and other factors, the noise model is often difficult to estimate and abnormal observations might appear. To solve this problem, the Mahalanobis distance is used to determine the observation covariance.
Suppose that the noise of the system observation Z k , i obeys the Gaussian distribution, that is, the observation Z k , i obeys the Gaussian distribution with the mean of H k , i X k and the variance of H X k , i P k H X k , i T R k , i . The subscript i here is associated with the specific beacon, and P k is the a priori covariance of the system. γ k , i , the square of the Mahalanobis Distance from Z k , i to H k , i X k obeys the χ 2 distribution [22]:
γ k , i = ( Z k , i H k , i X k ) T ( H k , i P k H k , i T + R k , i ) 1 ( Z k , i H k , i X k ) ~ χ 1 2
where χ 1 2 represents a χ 2 distribution with the degree of freedom of 1. For the significance level α , we have:
Pr ( γ k , i < χ 1 , α 2 ) = 1 α
where Pr ( ) is the probability of a random event, and χ 1 , α 2 is the α-quantile of the χ 2 distribution with the degree of freedom of 1. An observation that does not pass this test is considered outlier and its covariance is increased to weaken its effect on the posteriori estimation. The new matrix of the observation covariance can be updated according to the following equation:
R k , i = { R k i γ k , i < χ 1 , α 2 ( γ k , i χ 1 , α 2 ) × R k , i γ k , i χ 1 , α 2
where γ k , i χ 1 , α 2 represents the ratio of the Mahalanobis distance to the threshold at the current observation. In this paper, the significance level α is set to 0.001, and the corresponding value of χ 1 , α 2 is 6.2 according to the Chi-Square Distribution Table.
On the other hand, if the observations are correct while the system state is abnormal, the method based on the Mahalanobis distance can also be used to correct the state. An abnormal system state is caused by two reasons: one is the error introduced to the system model due to sudden variation of the state or some unknown biases; the other is the error caused by the incorrect knowledge of the statistics of the process or measurement noises, such as the introduction of unreasonable covariance matrix or an assumed Gaussian distribution perturbed by other distributions. Once an abnormal system state is detected, a fading factor is introduced to inflate the covariance matrix of the state prediction so as to make the filter adaptive. Updating can be conducted according to the following equation:
P k = { P k γ k , i < χ 1 , α 2 ( γ k , i χ 1 , α 2 ) × P k γ k , i χ 1 , α 2
It should be noted that when the correct observation is used to correct the system error, a certain time delay will be introduced, that is, since the occurrence of the abnormal system state, the state error cannot be corrected until the next correct observation comes in. This is slightly different from the abnormal observations that can be corrected in real time. To suppress the effects of the delayed correction, Rauch-Tung-Striebel (RTS) smoothing can be adopted to reverse-process the data from the occurrence of the abnormal system state to the next time the correct observation is received. The algorithm of the proposed Adaptive-Robust CKF is as follows Algorithm 1.
Algorithm 1. ARCKF
Filtering: for k = 1, 2,…
1.  State prediction
2.  For each measurement
3.    if ( C u i < C u _ m a x )
4.      while γ k , i χ 1 , α 2
5.        P k = ( γ k , i χ 1 , α 2 ) × P k
6.    else
7.      while γ k , i χ 1 , α 2
8.        R k , i = ( γ k , i χ 1 , α 2 ) × R k , i
9.    end
10.  end
11. State update
Line 1 is the state prediction stage of the standard CKF algorithm. From Line 2 to Line 10, the robustness factor is calculated for each received observation. The robustness factor, not only adjusts the UWB ranging error, but also distinguishes whether the positioning error is caused by the abnormal system state or the abnormal observation, so as to make a targeted adjustment. If the system state error and the observation error occur at the same time, the latter will be prioritized by the proposed algorithm and the system state error can only be corrected when a reliable observation is received. Line 11 is the state update of the standard CKF algorithm.

4. Experiments

For the evaluation of the proposed UWB/IMU fusion positioning method a test site was established in the underground garage of the University of Melbourne as shown in Figure 6. Four selected UWB beacons were placed on four brackets, forming a rectangular area of approximately 10 m × 5 m. The DWM1000 of Decawave Company (Burlingame, CA, USA) was adopted as the UWB tag/beacon, and was attached to a trolley. The X-IMU of the British company X-IO (London, UK) was selected as the IMU device, and was fixed 5 cm below the UWB tag, as shown in Figure 7. It is 55 × 35 × 18 mm (L × W × H) in size and almost 50 g in weight. Its host of on-board sensors, algorithms and configurable 8-channel auxiliary port make the x-IMU both a powerful sensor and controller. Communication is enabled via USB or Bluetooth for wireless applications. Its key technical specifications are shown in Table 1. The notebook on the trolley received the ranging data from the IMU and UWB at the same time, marking the same timestamp for the IMU data and UWB data. The trolley maintained a constant speed during its movement.
For IMU, the acceleration bias and the gyroscope bias were both dynamically estimated by CKF algorithm, and were used to correct observed values in real time. Axis misalignments error and scale factor error had already been corrected in the IMU calibration process. The other covariance parameters related to noise were set as follows in Table 2.
Two routes were established for the experiments: Route 1 is a rectangular route with fewer turns and Route 2 is an 8-shaped route with more turns, as shown in Figure 8. Each route includes two laps, with both the starting point and the end point located in the lower left corner of the routes. The two red circles in the figure represent two large stone columns in the underground garage, and the rectangular red dots indicate the four beacons. The beacon coordinates and the ground truth trajectories were measured by a laser range finder. In the following, Route 1 is used for adaptivity analysis, and Route 2 is used for robustness analysis.
In the experimental analysis, the positioning result of the UWB, the UWB/IMU fusion algorithm based on standard CKF, and the proposed Adaptive-Robust CKF algorithm are denoted as UWB, CKF, and ARCKF, respectively.

4.1. Adaptivity Analysis

To simulate the effect of abnormal observations, the acceleration data recorded along Route 1 was contaminated with white Gaussian noise with an intensity of 50 dBW at three points, resulting in sudden changes of velocity. The comparison of velocity with and without the introduced abnormity is shown in Figure 9 and Figure 10, respectively. It can be seen that the sudden change of acceleration gives rise to the sudden change of velocity, further resulting in the abnormity of the estimated trajectory.
Figure 11 shows the positioning result for Route 1. The red trajectory is the positioning result using the UWB data without any abnormity, and the blue trajectory is the positioning result of the UWB/IMU fusion with abnormal acceleration at 3 points.
Figure 11a shows the positioning result of the standard CKF algorithm, in which large deviations can be seen in the overall trajectory. Figure 11b shows the positioning result of the ARCKF algorithm. Although the trajectory estimated by the ARCKF contains some fluctuations, it is significantly improved as compared with the standard CKF.
In Figure 11b, the ARCKF algorithm can identify whether the positioning error is caused by the outlying system state or the outlying observation. Compared with the outlying observation, the system error caused by the outlying acceleration is more difficult to correct, because once the outlying system state occurs, the state error can be corrected only after the next observation is received. Thus, the accumulation of system errors during this period is inevitable. Furthermore, if the subsequent observation is still outlier, its suppression capability on system error is very limited, resulting in a continuously expanding error. This also explains the phenomenon seen in Figure 11b, that is, the influence of the outlying system state on the positioning result can only be suppressed to a certain extent, but cannot be completely eliminated.
Figure 12 shows the values of γ k for the four beacons computed along Route 1. As it can be seen, values that are greater than the threshold are present in the γ k corresponding to the four beacons, indicating an abnormal system state. The covariance of the system state is adjusted by γ k , and the influence of the abnormal system state on the positioning result is reduced, so that the positioning result is closer to the observation result. Additionally, after receiving the correct observations, the backward RTS smoothing can be applied until the data point which makes the system state abnormal, smoothing the system cumulative error during this period.
Figure 13 shows the residual values Δ r i corresponding to the four UWB beacons for Route 1. The optimized residual values are unevenly distributed, but on the whole they have a relatively small range, with a maximum optimized residual of about 0.6 m. There are two reasons for the uneven distribution of residuals: first, the values at some time points jump when the ranging value is blocked by the column or interfered by the pedestrian; second, with the increase of the distance, the UWB ranging error will also increase relatively, and the corresponding residuals will increase accordingly. By analyzing the proportion of the optimized residuals, the robustness factor is dynamically determined to obtain the weight of the observation covariance for all beacons.
Figure 14 shows the distribution of robustness factors calculated from residuals Δ r i . Table 3 lists the number of times the robustness factor reaches the thresholds for each beacon. It can be seen that most data are below C u _ m a x , with only one time reaching the threshold at Beacon 1 and 2, respectively, indicating that the data are basically reliable. The larger the Δ r i , the larger the corresponding robustness factor is, so that the observation covariance can be dynamically increased to reduce the influence of the ranging error on the fusion algorithm, improving the accuracy and robustness of the fusion algorithm.
Table 4 illustrates the root mean square (RMS) positioning error of the proposed ARCKF algorithm compared to the standard CKF when artificial outliers are introduced in the acceleration data. The positioning accuracy of the CKF algorithm decreases rapidly with the increase of the number of outliers; the ARCKF algorithm is also affected by the outliers, however its error is only about half of the error of the CKF algorithm, demonstrating good adaptability to outlying measurements.

4.2. Robustness Analysis

To evaluate robustness, the UWB data recorded along Route 2 were contaminated with white Gaussian noise with an intensity of 20 dBW for Beacon 2 and Beacon 4. The noisy data account for 10% of the total distance measurements. Figure 15 shows the distance measurements for the four UWB beacons without noise.
Figure 16 shows the distance measurements for the four UWB beacons with noise. The positioning results for Route 2 are shown in Figure 17. The red trajectory is the positioning result of the UWB, where 10% of data from Beacon 2 and Beacon 4 contain white Gaussian noise randomly added. The blue trajectory is the positioning result of fusing original acceleration data and UWB data. As shown in Figure 17a, the positioning accuracy of standard CKF is severely disturbed by the observation noise, and many points with large deviations from the reference trajectory can be seen. This is because the CKF algorithm sets a fixed covariance for the measurements, which is used to estimate the maximum posterior distribution of the system state. Thus, abnormal UWB measurements have a serious impact to the estimation of the posterior distribution.
In comparison, the accuracy of the ARCKF algorithm shown in Figure 17b is much higher. Most of the deviations caused by abnormal UWB observations are eliminated, presenting a smoother trajectory. This is because when the residual of an observation is very large, that is, C u i C u _ m a x , the covariance of this observation is amplified by the method based on Mahalanobis distance, thereby reducing its effect on the system state. When C u i < C u _ m a x , the observation error is adjusted by the robustness factor to improve the overall positioning accuracy.
Figure 18 shows the values of γ k for the four beacons computed along Route 2. As it can be seen, for Beacon 2 and Beacon 4, there are multiple values that are much larger than the threshold of 6.2, indicating that there are abnormal observations; whereas the γ k for Beacon 1 and Beacon 3 are all less than 6.2, which is consistent with the experiment as these two beacons did not contain any abnormal values.
Figure 19 shows the residual values Δ r i corresponding to the four UWB beacons for Route 2. Since the data of Beacon 2 and Beacon 4 contain outliers, the optimized residuals are significantly larger with a maximum optimized residual of about 8 m. Although the data of Beacon 1 and Beacon 3 are not contaminated with noise, their optimized residuals are correspondingly increased due to the influence of the data of Beacon 2 and Beacon 4.
As shown in Figure 20 and Table 5, the robustness factor of the four beacons reaches the threshold C u _ m a x multiple times, indicating the presence of abnormal ranging data. The proposed method based on Mahalanobis distance can dynamically increase the observation covariance, reducing the impact of these abnormal ranging data on the fusion algorithm.
Table 6 illustrates the root mean square (RMS) positioning error of the proposed ARCKF as compared to standard CKF when artificial outliers are introduced in the UWB range measurements. With the increasing percentage of added noise, the positioning accuracy of the CKF algorithm decreases rapidly, whereas the accuracy of the ARCKF algorithm is relatively stable. When 10% of ranging data is noisy, the ARCKF algorithm still maintains a positioning accuracy of 0.59 m, demonstrating robustness to the added noise.
The lower bounds of positioning error is estimated by CRLB (Cramer-Rao Lower Bounds). In the application of Bayesian filter, the method based on iteration is usually adopted to estimate the posterior CRLB, so as to update the CRLB in each step. The CRLB at Moment k could be defined as:
C R L B = J k 1
where, J k represented the Fisher information matrix of system state X k .According to [23], the Fisher information matrix J k + 1 could be calculated based on the Fisher information Matrix at Moment k, the system transform matrix F k + 1 and the measurement matrix H k + 1 .
It can be shown that:
J k = H k + 1 T R k + 1 1 H k + 1 + ( Q k + F k J k 1 F k T ) 1
where Q k   and   R k + 1 are represented the covariance matrix of state transaction function at Moment k and the covariance matrix of measurements at Moment k + 1. For Route 2, when injected with 10% UWB ranging noise, the calculated CRLB is shown in Figure 21.

4.3. Positioning Result of Different Number of Beacons

In order to verify the positioning accuracy of the fusion algorithm under different numbers of beacons, the positioning trajectories of 2, 3 and 4 beacons were given, as shown in Figure 22a–c, respectively. Figure 22a shows that the trajectory was seriously distorted. Since the accumulative error of IMU integral increased rapidly along with the time, the distance measurement value from only 2 beacons at the left diagonal line could not restrain the whole trajectory effectively. Figure 22b shows that under the restraint of 3 beacons, the positioning accuracy was better than that of 2 beacons, but there were still some deviations in the trajectory of Y-axis. Figure 22c shows that under the restraint of 4 beacons, the trajectory was roughly the same to the reference trajectory. Theoretically, the more the beacons, the stronger the restraint of IMU integral results would be. However, in actual application, the positioning area covered by four beacons could satisfy the requirement of positioning accuracy to some extent.

5. Conclusions

In this paper, a UWB/IMU fusion method for indoor positioning based on Adaptive-Robust CKF is presented. The Mahalanobis distance between the observation and the system state is calculated in the algorithm to update the covariance of the observation or system state, thereby reducing the effect of the abnormal observations or system state on the positioning result. In addition, a method for calculating the robustness factor when the observation error is smaller than a threshold is proposed in this paper, which guides the algorithm to appropriately apply robust filtering or adaptive-robust filtering. The experimental results show that the proposed method presents a strong error recovery capability. When affected by abnormal data, it can achieve a positioning accuracy much higher than that of the standard CKF algorithm. Future improvements could include the following: the trolley used in our experiments moved relatively stably. For more complex movement patterns, such as rapid acceleration and emergency stop, a better motion state model is required to fit the tested movement pattern. In addition, fusion with other types of data such as geomagnetic data could further improve the positioning accuracy and deserves further investigation.

Author Contributions

Y.W. and X.L. conceived, designed and performed the experiments; X.L. analyzed the data and wrote the pape; K.K. proposed the research and involved in the writing of the manuscript.

Funding

This work was supported by the National Natural Science Foundation of China under grant number 41674030 and China Postdoctoral Science Foundation under grant number 2016M601909 and the grand of China Scholarship Council.

Conflicts of Interest

The authors declare no conflict of interest.

References

  1. Li, X.; Wang, J.; Liu, C.; Zhang, L.; Li, Z. Integrated wifi/pdr/smartphone using an adaptive system noise extended kalman filter algorithm for indoor localization. ISPRS Int. J. Geo-Inf. 2016, 5, 224. [Google Scholar] [CrossRef]
  2. Li, X.; Wang, J.; Liu, C. A bluetooth/pdr integration algorithm for an indoor positioning system. Sensors 2015, 15, 24862–24885. [Google Scholar] [CrossRef] [PubMed]
  3. Santoso, F.; Redmond, S.J. Indoor location-aware medical systems for smart homecare and telehealth monitoring: State-of-the-art. Physiol. Meas. 2015, 36, R53. [Google Scholar] [CrossRef] [PubMed]
  4. García, E.; Poudereux, P.; Hernández, A.; Ureña, J.; Gualda, D. A robust UWB indoor positioning system for highly complex environments. In Proceedings of the IEEE International Conference on Industrial Technology, Seville, Spain, 17–19 March 2015; pp. 3386–3391. [Google Scholar]
  5. Zhang, J.; Shen, C. Research on uwb indoor positioning in combination with tdoa improved algorithm and kalman filtering. Modern Electron. Tech. 2016, 39, 1–5. [Google Scholar]
  6. Fan, Q.; Sun, B.; Sun, Y.; Zhuang, X. Performance enhancement of mems-based ins/uwb integration for indoor navigation applications. IEEE Sens. J. 2017, 17, 3116–3130. [Google Scholar] [CrossRef]
  7. Sczyslo, S.; Schroeder, J.; Galler, S.; Kaiser, T. Hybrid localization using UWB and inertial sensors. In Proceedings of the IEEE International Conference on Ultra-Wideband, Hannover, Germany, 10–12 September 2008; pp. 89–92. [Google Scholar]
  8. Ascher, C.; Zwirello, L.; Zwick, T.; Trommer, G. Integrity monitoring for UWB/INS tightly coupled pedestrian indoor scenarios. In Proceedings of the International Conference on Indoor Positioning and Indoor Navigation, Guimaraes, Portugal, 21–23 September 2011; pp. 1–6. [Google Scholar]
  9. Blanco, J.L.; Galindo, C.; Ortiz-De-Galisteo, A.; Moreno, F.A. Mobile robot localization based on ultra-wide-band ranging: A particle filter approach. Robot. Auton. Syst. 2009, 57, 496–507. [Google Scholar]
  10. Xu, Y.; Chen, X.; Cheng, J.; Zhao, Q.; Wang, Y. Improving tightly-coupled model for indoor pedestrian navigation using foot-mounted IMU and UWB measurements. In Proceedings of the Instrumentation and Measurement Technology Conference Proceedings, Taipei, Taiwan, 23–26 May 2016. [Google Scholar]
  11. Wang, J.; Gao, Y.; Li, Z.; Meng, X.; Hancock, C.M. A tightly-coupled gps/ins/uwb cooperative positioning sensors system supported by v2i communication. Sensors 2016, 16, 944. [Google Scholar] [CrossRef] [PubMed]
  12. Benini, A.; Mancini, A.; Longhi, S. An imu/uwb/vision-based extended kalman filter for mini-uav localization in indoor environment using 802.15.4a wireless sensor network. J. Intell. Robot. Syst. 2013, 70, 461–476. [Google Scholar] [CrossRef]
  13. Fan, Q.; Sun, B.; Sun, Y.; Wu, Y.; Zhuang, X. Data fusion for indoor mobile robot positioning based on tightly coupled ins/uwb. J. Navig. 2017, 70, 5–19. [Google Scholar] [CrossRef]
  14. Zwirello, L.; Ascher, C.; Trommer, G.F.; Zwick, T. Study on UWB/INS integration techniques. In Proceedings of the Positioning Navigation and Communication, Dresden, Germany, 7–8 April 2011; pp. 13–17. [Google Scholar]
  15. Hol, J.D.; Dijkstra, F.; Luinge, H.; Schon, T.B. Tightly coupled uwb/imu pose estimation. In Proceedings of the IEEE International Conference on Ultra-Wideband, Vancouver, BC, Canada, 9–11 September 2009; pp. 688–692. [Google Scholar]
  16. Fan, Q.; Wu, Y.; Jing, H.; Lei, W.; Yu, Z.; Zhou, L. Integrated navigation fusion strategy of ins/uwb for indoor carrier attitude angle and position synchronous tracking. Sci. World J. 2014, 2014, 215–303. [Google Scholar] [CrossRef] [PubMed]
  17. Johnson, M.E.; Sathyan, T. Improved orientation estimation in complex environments using low-cost inertial sensors. In Proceedings of the International Conference on Information Fusion, Chicago, IL, USA, 5–8 July 2011; pp. 1–8. [Google Scholar]
  18. Titterton, D.H.; Weston, J.L. Strapdown Inertial Navigation Technology; IET: Stevenage, UK, 2004. [Google Scholar]
  19. Savioli, A.; Goldoni, E.; Savazzi, P.; Gamba, P. Low complexity indoor localization in wireless sensor networks by uwb and inertial data fusion. Comput. Sci. 2013, 52, 723–732. [Google Scholar]
  20. Xu, Y.; Chen, X. Range-only uwb/ins tightly integrated navigation method for indoor pedestrian. Chin. J. Sci. Instrum. 2016, 37, 142–148. [Google Scholar]
  21. Nilsson, O. Navigation System for a Micro-UAV. Master’s Thesis, KTH, Stock-holm, Sweden, 2008. [Google Scholar]
  22. Chang, G. Kalman filter with both adaptivity and robustness. J. Process Control 2014, 24, 81–87. [Google Scholar] [CrossRef]
  23. Zuo, L.; Niu, R.; Varshney, P.K. Conditional Posterior Cramér-Rao lower bounds for nonlinear recursive filtering. In Proceedings of the International Conference on Information Fusion, Seattle, WA, USA, 6–9 July 2009; pp. 1528–1535. [Google Scholar]
Figure 1. Flowchart of the proposed Adaptive-Robust CKF.
Figure 1. Flowchart of the proposed Adaptive-Robust CKF.
Sensors 18 03435 g001
Figure 2. Position estimation by trilateration without measurement error.
Figure 2. Position estimation by trilateration without measurement error.
Sensors 18 03435 g002
Figure 3. Position estimation by trilateration with measurement error.
Figure 3. Position estimation by trilateration with measurement error.
Sensors 18 03435 g003
Figure 4. Ranging error when distance d is within 20 m.
Figure 4. Ranging error when distance d is within 20 m.
Sensors 18 03435 g004
Figure 5. C u _ m a x for d within 20 m and σ = 0.1 m.
Figure 5. C u _ m a x for d within 20 m and σ = 0.1 m.
Sensors 18 03435 g005
Figure 6. Test site in the underground garage.
Figure 6. Test site in the underground garage.
Sensors 18 03435 g006
Figure 7. UWB tag and IMU.
Figure 7. UWB tag and IMU.
Sensors 18 03435 g007
Figure 8. Map of the experiment setup and the reference trajectory. (a) Route 1; (b) Route 2.
Figure 8. Map of the experiment setup and the reference trajectory. (a) Route 1; (b) Route 2.
Sensors 18 03435 g008
Figure 9. Velocity for Route 1.
Figure 9. Velocity for Route 1.
Sensors 18 03435 g009
Figure 10. Velocity of inserting three noise for Route 1.
Figure 10. Velocity of inserting three noise for Route 1.
Sensors 18 03435 g010
Figure 11. Positioning result for Route 1: (a) the standard CKF; (b) the proposed ARCKF.
Figure 11. Positioning result for Route 1: (a) the standard CKF; (b) the proposed ARCKF.
Sensors 18 03435 g011
Figure 12. The values of γ k for the four beacons computed along Route 1.
Figure 12. The values of γ k for the four beacons computed along Route 1.
Sensors 18 03435 g012
Figure 13. Distributions of residual values for the four Beacons for Route 1.
Figure 13. Distributions of residual values for the four Beacons for Route 1.
Sensors 18 03435 g013
Figure 14. Distributions of robustness factors for the four Beacons for Route 1.
Figure 14. Distributions of robustness factors for the four Beacons for Route 1.
Sensors 18 03435 g014
Figure 15. UWB range values for Route 2.
Figure 15. UWB range values for Route 2.
Sensors 18 03435 g015
Figure 16. UWB range values for Route 2 where 10% of data from Beacons 2 and 4 are contaminated with noise.
Figure 16. UWB range values for Route 2 where 10% of data from Beacons 2 and 4 are contaminated with noise.
Sensors 18 03435 g016
Figure 17. Positioning result for Route 2: (a) the standard CKF; (b) the proposed ARCKF.
Figure 17. Positioning result for Route 2: (a) the standard CKF; (b) the proposed ARCKF.
Sensors 18 03435 g017
Figure 18. The values of γ k for the four beacons computed alongRoute 2.
Figure 18. The values of γ k for the four beacons computed alongRoute 2.
Sensors 18 03435 g018
Figure 19. Distributions of residual value for the four Beacons for Route 2.
Figure 19. Distributions of residual value for the four Beacons for Route 2.
Sensors 18 03435 g019
Figure 20. Distributions of robustness factors for the four Beacons for Route 2.
Figure 20. Distributions of robustness factors for the four Beacons for Route 2.
Sensors 18 03435 g020
Figure 21. CRLB of positioning error for Route 2.
Figure 21. CRLB of positioning error for Route 2.
Sensors 18 03435 g021
Figure 22. Positioning result of different numbers of beacons for Route 2: (a) 2 beacons; (b) 3 beacons; (c) 4 beacons.
Figure 22. Positioning result of different numbers of beacons for Route 2: (a) 2 beacons; (b) 3 beacons; (c) 4 beacons.
Sensors 18 03435 g022
Table 1. Key specifications of the IMU.
Table 1. Key specifications of the IMU.
InstrumentSensitivityZero-Point OffsetNoise DensityMax Range
Accelerometer0.9~4.3 mg/bit±50 mg218 μg/√HZ±8 g
Gyroscope32.8~131 LSB/(°/s)±20°/s0.01°/s/√HZ±2000°/s
Magnetometer0.3 μT/LSBN/AN/A±8 G
Table 2. Parameter list of IMU noise.
Table 2. Parameter list of IMU noise.
NameSymbolValue
Accelerometer noise covariance N a (0.1 g)2
Gyroscope noise covariance N g (0.2 rad/s)2
Accel bias drift noise covariance U a (0.01 g)2
Gyro bias drift noise covariance U g (0.02 rad/s)2
Table 3. The number of times the robustness factor reaches the threshold C u _ m a x .
Table 3. The number of times the robustness factor reaches the threshold C u _ m a x .
Route 1 RMSE (m)
Beacon1234
times1100
Table 4. RMSE of positioning with artificial outliers (m).
Table 4. RMSE of positioning with artificial outliers (m).
Route 1 RMSE (m)
Number of injecting noise1234
CKF0.871.261.562.27
ARCKF0.490.580.791.02
Table 5. The number of times the robustness factor reaches the threshold C u _ m a x .
Table 5. The number of times the robustness factor reaches the threshold C u _ m a x .
Route 2 RMSE (m)
Beacon1234
times18231822
Table 6. RMSE of positioning with noise added to UWB range measurements.
Table 6. RMSE of positioning with noise added to UWB range measurements.
Route 2 RMSE (m)
Percentage of added noise3%5%7%10%
CKF0.671.061.361.67
ARCKF0.390.450.520.59

Share and Cite

MDPI and ACS Style

Li, X.; Wang, Y.; Khoshelham, K. A Robust and Adaptive Complementary Kalman Filter Based on Mahalanobis Distance for Ultra Wideband/Inertial Measurement Unit Fusion Positioning. Sensors 2018, 18, 3435. https://doi.org/10.3390/s18103435

AMA Style

Li X, Wang Y, Khoshelham K. A Robust and Adaptive Complementary Kalman Filter Based on Mahalanobis Distance for Ultra Wideband/Inertial Measurement Unit Fusion Positioning. Sensors. 2018; 18(10):3435. https://doi.org/10.3390/s18103435

Chicago/Turabian Style

Li, Xin, Yan Wang, and Kourosh Khoshelham. 2018. "A Robust and Adaptive Complementary Kalman Filter Based on Mahalanobis Distance for Ultra Wideband/Inertial Measurement Unit Fusion Positioning" Sensors 18, no. 10: 3435. https://doi.org/10.3390/s18103435

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