Next Article in Journal
MPResiSDN: Multipath Resilient Routing Scheme for SDN-Enabled Smart Cities Networks
Previous Article in Journal
Special Issue on “The Design, Synthesis and Biological Evaluation of Compounds with Medicinal Value”
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

A Hybrid Framework for Mitigating Heading Drift for a Wearable Pedestrian Navigation System through Adaptive Fusion of Inertial and Magnetic Measurements

School of Microelectronics, Tianjin University, Tianjin 300072, China
*
Author to whom correspondence should be addressed.
Appl. Sci. 2021, 11(4), 1902; https://doi.org/10.3390/app11041902
Submission received: 28 December 2020 / Revised: 8 February 2021 / Accepted: 12 February 2021 / Published: 22 February 2021

Abstract

:
Pedestrian navigation systems could serve as a good supplement for other navigation methods or for extending navigation into areas where other navigation systems are invalid. Due to the accumulation of inertial sensing errors, foot-mounted inertial-sensor-based pedestrian navigation systems (PNSs) suffer from drift, especially heading drift. To mitigate heading drift, considering the complexity of human motion and the environment, we introduce a novel hybrid framework that integrates a foot-state classifier that triggers the zero-velocity update (ZUPT) algorithm, zero-angular-rate update (ZARU) algorithm, and a state lock, a magnetic disturbance detector, a human-motion-classifier-aided adaptive fusion module (AFM) that outputs an adaptive heading error measurement by fusing heuristic and magnetic algorithms rather than simply switching them, and an error-state Kalman filter (ESKF) that estimates the optimal systematic error. The validation datasets include a Vicon loop dataset that spans 324.3 m in a single room for approximately 300 s and challenging walking datasets that cover large indoor and outdoor environments with a total distance of 12.98 km. A total of five different frameworks with different heading drift correction methods, including the proposed framework, were validated on these datasets, which demonstrated that our proposed ZUPT–ZARU–AFM–ESKF-aided PNS outperforms other frameworks and clearly mitigates heading drift.

1. Introduction

Localization systems have great benefits for numerous applications, such as monitoring daily action for the aged, assisting visually impaired people, and localizing first responders. As a localization approach, pedestrian navigation technology based on wearable inertial measurement units (IMUs) has attracted increasing interest from researchers because of its low requirements for external positioning beacons, light weight, and low cost. In addition, the technology can solve positioning problems in environments in which satellite signals are denied. These localization systems are implemented using head-mounted IMUs [1], chest-mounted IMUs [2], waist-mounted IMUs [3], handheld IMUs [4], pocket-mounted IMUs [5], and foot-mounted IMUs (such as Navshoe [6], the well-known openshoe [7,8], the Pedestrian Reference System (PERSY) [9], which was used as an offline data collection platform in Track 4 of the evaluating ambient assisted living (EvAAL) competition [10] in 2018, 2019, and 2020, the Dynamic Vision Sensor (DVS)-aided shoe [11], and the FootSLAM-aided shoe [12]), etc. For systematic software schemes, one is implemented by computer processing of the bottom sensor data [2]. Another way is implemented directly by a bottom-embedded system [8]. Some existing pedestrian navigation systems (PNSs) based on foot-mounted IMUs are implemented through inertial navigation systems (INSs) [13,14,15] or stepwise dead reckoning approaches [16,17]. For the INS-based PNSs, owing to the accumulation of inertial sensing errors, the systems suffer from drift, especially heading drift. To address this issue, Kalman filters (KFs) are commonly applied to constrain these errors [6,18]. In the common KF-based frameworks, integrating human activity tracking and dead reckoning systems can lead to a better choice for adaptive systematic parameters to improve the performance of the navigation system [19,20,21,22]. Generally, accelerometers and gyroscopes are used individually or through sensor fusion to track a wide range of human activities. For instance, three-axis accelerometers are the most widely used sensors [23,24], followed by gyroscopes and magnetometers. Wearable devices may also contain environmental sensors that measure parameters such as temperature, light, or atmospheric pressure in context detection. For instance, barometers have traditionally been leveraged to measure ambient pressure, and they are also used to track multiple human motions, especially vertical movements [24]. In addition, external assistance information, such as that obtained from pressure sensors [13], radio-frequency identification (RFID) [25], and magnetic beacons [26], is adopted to enhance the performance of PNSs.
In human walking, the gait can be roughly divided into two separate phases [27]: the swing phase and the stance phase. During the stance phase, the foot fully touches the ground and the velocity of the foot is approximately zero. Hence, the small values of velocity in the stance phase can be utilized as the observations of a KF in order to reduce the velocity errors of PNSs; this algorithm is the well-known zero-velocity update (ZUPT) algorithm [14,28]. Since the position is an integration of the velocity that can be regulated by the ZUPT algorithm, the position error can also be reduced. Since positions are calculated by accruing the {distance, heading} vectors, the accuracy of the headings has a great impact on the performance of the overall PNS. For example, a pedestrian walks along a straight line for 10 m. If the average heading error is 10 , the final position error may exceed 2 m. However, regarding the heading error, it is unobservable for ZUPT-aided PNSs [29,30,31], which means that the ZUPT is not capable of limiting the heading error. To constrain the heading error, numerous approaches have been proposed.

1.1. Heading Drift Correction Methods Based on Machine Learning

In recent years, machine learning has become a very important technology with broad application prospects, and it has been applied to PNSs to achieve good performance. However, there are few studies on mitigating the heading drift of foot-mounted PNSs using machine learning methods. Most of the research mainly focuses on gait recognition [32], zero-velocity detection [19,33], etc. There are many studies on heading estimation using waist-mounted or handheld IMUs. The authors of [3] reported that a decision tree model was trained to detect magnetic disturbances, and based on a waist-mounted IMU, the heading accuracy of their system was improved by combining the decision tree model and a Kalman filter. Abadi et al. [34] designed several machine-learning-based models to detect magnetic disturbances using the components of the international geomagnetic reference field model [35]. Among the machine learning models, the multi-layer perceptron achieved the best performance with a high accuracy. Then, heading estimates from multiple people walking in the same direction were filtered by their proposed magnetic disturbance detector and pedestrian clustering and were aggregated to provide a more accurate estimate of the common heading. The performance of their scheme exhibited a significant heading error reduction with respect to the conventional handheld PNS. Recent research by Yan et al. [36] and Chen et al. [37] showed the capability of an end-to-end neural-network-based model to obtain accurate 2D displacement and heading estimates using segments of IMU data from smartphones. The method proposed in [38] obtained good pose estimates of a smartphone-based PNS by concatenating neural-network-model-based inertial odometry and a conventional KF-based navigation system. However, machine-learning-based models are over-dependent on the dataset and are difficult to deploy to a real-time processing system. We tried to use a conventional optimal-estimation-theory-based framework to handle the problem.

1.2. Heading Drift Correction Methods Based on Heuristic and Magnetic Field-Aided Methods

To mitigate the heading drift, the zero-angular-rate update (ZARU) algorithm [39] was proposed to estimate the gyro biases, and then the heading error could be reduced. However, according to [30], there is a small rotation of the foot during the stance phase. Hence, ZARU should be used in the still phase instead of in every stance phase. Borenstein et al. proposed the heuristic drift reduction (HDR) algorithm [40], inspired by the tendency of pedestrians to walk along a straight line. The basic theory of the HDR method is that the ideal output of a z-axis gyro should be zero when a pedestrian walks along an absolutely straight line, but the actual output is gyro drift. Thus, the drift could be regarded as a disturbance and tracked using an I-controller in a closed-loop control system. Since pedestrians generally walk along the dominant paths in buildings, heuristic drift elimination (HDE) algorithms [41,42] were further proposed. Following similar hypotheses (i.e., the ideal heading should be constant when a pedestrian walks along an absolutely straight line, but the actual heading difference is the heading drift) to those of the original HDR, the algorithm termed as heuristic heading reduction (we call it “new HDR” here) was implemented with a KF framework [39]. It is very different from the original HDR. Instead of filtering the gyro signals with a binary I-controller, the new HDR algorithm works in the yaw space.
In addition, magnetic fields [39,43,44] are commonly employed as references to improve the heading or quaternion estimation accuracy, such as with the electronic compass (EC) algorithm [39]. However, since magnetic fields are easily affected by ferromagnetic objects and other magnetic sources, it is difficult for these approaches to achieve stable performance, especially in buildings, where magnetic fields are affected by the concrete structure. By investigating the magnetic fields above the floor (from 5 to 180 cm height) of a laboratory, de Vries et al. [45] concluded that the magnetic fields suffered the strongest magnetic disturbances at a 5 cm height, but some pure magnetic fields still existed at this height. Because the foot-mounted sensor was located at a height near 5 cm, it was reasonable to design a magnetic disturbance detector (MDD) to filter the magnetic fields.
For an MDD applied in a PNS, the simplest approach is to employ a validation gate on normalized magnetic fields [46]. With the assumption that a measured pure magnetic field is quasistatic when the magnetometer remains stationary, Afzal et al. [47] proposed a quasistatic magnetic field detector (QMD) by checking the variation in the magnetic field vector under the body frame (b-frame), and then applied the detector to a handheld magnetic-sensor-aided PNS. The authors of [9] reported a foot-mounted pedestrian navigation reference system (PERSY) that integrated a QMD and other error-correction algorithms. Ma et al. [48] improved the QMD and applied it to a foot-mounted compass-aided PNS. However, the improved QMD was limited by the walking pattern and worked only during straight-line walking. Assuming that the total magnetic field intensity and the magnetic inclination in pure magnetic fields are constant in a local area, Ilyas et al. [31] proposed another MDD by checking the validation gates of the two features. Similarly, Li et al. [49] proposed a threshold-based magnetic disturbance detection algorithm that utilized the measured magnetic field vector and magnetic inclination to match the true magnetic field vector and true magnetic inclination, respectively.
There are also some works on integrating both heuristic methods and magnetic data [31,39]. These works generally switch among different constraint methods according to different conditions. However, when magnetic-field-based and heuristic methods are triggered simultaneously, their systems can only choose one of them to constrain the heading drift because the program processes sequentially. Therefore, the inertial and magnetic data cannot be fully utilized. To the best of our knowledge, these issues were rarely discussed in previous works.
With the same hypothesis as that of the new HDR [39], we leverage the heading difference between the current heading and average heading of a step sequence as a measurement of the KF to correct the heading drift during linear motion. Our heuristic method is named “heuristic heading drift reduction”. In order to make readers understand our algorithm intuitively, we continue to use “HDR” to refer to our method. In the following, the mentions of the HDR algorithm refer to our heuristic method. However, because of the complexity of human activities, the HDR algorithm is invalid during nonlinear motion. To address this issue, the EC algorithm can serve as a supplement. However, the magnetic field is easily disturbed. Therefore, the EC algorithm should be triggered conditionally. HDR+conditional EC should be a robust way to constrain heading drift. However, the problems in constraining heading drift using multiple methods are how to full use of these methods is made and how their concurrence is handled. To address these problems, we integrate the EC and HDR by designing an adaptive Kalman filtering method with a multiple-component-based heading error measurement (i.e., the measurement contains the sub-measurements from the EC and HDR with different mixing ratios). The mixing ratio can be adaptively changed according to human motion and magnetic field quality. Compared with a single-component-based heading error measurement, our proposed method can take full advantage of the complementarity of inertial and magnetic data and solve the concurrence problem. When a pedestrian stays still in a magnetically disturbed area, the above algorithms easily become invalid. Therefore, a state lock is needed to freeze the systematic states in the still phase.
In this paper, to mitigate the heading drift and improve the positioning performance of the PNS, we introduce a hybrid framework that integrates a foot-state classifier (FSC) that triggers the ZUPT algorithm, the ZARU algorithm, and the state lock, an MDD and a human motion classifier (HMC)-aided adaptive fusion module (AFM) that fuses the EC and HDR algorithms, and an error-state Kalman filter (ESKF) that estimates the optimal systematic errors. The framework is based on the use of a low-cost foot-mounted inertial/magnetic sensor. Based on our proposed framework, a total of five PNSs with different heading error correction methods were implemented. For validation, Vicon loop and long-term walking experiments demonstrated that the proposed framework outperforms other frameworks and has practical applications.
This paper is organized as follows: In Section 2, the proposed hybrid framework is introduced. In Section 3, the validation results of several datasets are presented and analyzed. Section 4 presents the discussion, and Section 5 presents the conclusions.

2. Hybrid Framework Description

In this section, we introduce our proposed framework based on a low-cost foot-mounted inertial/magnetic sensor. A flow chart of the framework is shown in Figure 1. The next four sections describe the different modules of the framework. The AFM, aided by the MDD and the HMC, is leveraged to compute the fused heading error measurement. The MDD is capable of detecting magnetic fields with different qualities, and the HMC is used to recognize straight-line motion. Triggered by the output from the multi-class FSC, the ZUPT algorithm is available in every stance phase. In the still phase, the state lock is active; i.e., the position and heading are locked, and the velocity is set to zero. Simultaneously, ZARU is used to estimate the gyro bias. More details of the operation of the proposed framework are given in Algorithm 1.
Algorithm 1 Operation of our proposed framework
Input: Inertial and magnetic data
Output: Estimated position
1:
Initialize error covariance matrix P 0 , process noise covariance matrix Q , measurement noise covariance R , attitude quaternion ( q 0 ), and position ( r 0 ) and velocity ( v 0 ) vectors, and compute initial gyro bias b g  [50]
2:
repeat
3:
  Subtract gyro bias from measured angular rate;
4:
  Magnetic disturbance detection; // see Section 2.2.2
5:
  if Z U P T k = = 2 // see Section 2.1 then
6:
    r k = r k 1 , v k = 0 and q k = q k 1 ; // state lock
7:
   Update the gyro bias; // ZARU algorithm
8:
    P k = P k 1 ; // store the error covariance matrix
9:
   else
10:
   Compute navigation equations; // see Section 2.3
11:
   Compute error state transition matrix F and G ; // see Section 2.4.1
12:
   Predict the error covariance matrix P k | k 1 = FP k 1 | k 1 F T + GQG T ;
13:
   if Z U P T k = = 1 then
14:
     Δ v k = 0 v k | k 1 ; // the well-known ZUPT algorithm
15:
    Compute heading error measurement; // see Section 2.4.2 and Algorithm 2
16:
    Compute Kalman filter gain K k = P k | k 1 H T HP k | k 1 H T + R 1 ;
17:
    Compute correction δ x k | k = K k z k ; // see Section 2.4.2
18:
    Update the error covariance matrix P k | k = I K k H P k | k 1 ;
19:
    Compensate state vector; // see Section 2.4.3
20:
   end if
21:
  end if
22:
   k = k + 1 ;
23:
until Power off the system

2.1. Foot-State Classifier

In this section, we propose a multi-class FSC that is capable of recognizing the swing phase, stance phase, and still phase. Figure 2 shows that only the ZUPT algorithm is unable to constrain the position and heading drifts when the sensor stays stationary for a long time. The reason is that the ZUPT cannot completely correct the velocity error and cannot observe the heading error. Therefore, we introduce a state lock in the still phase to freeze the position and quaternion and reset the velocity to zero. Simultaneously, the ZARU algorithm is employed to update the gyro bias.
In different states of foot movement, the average angular rate energy is different. The energy in the swing phase is the highest, while the energy in the still phase is the lowest. Moreover, in the still and stance phases, the variances in the angular rate are near zero, while the variances in the swing phase are greater. Therefore, an effective multi-class classifier can be designed as
Z U P T = 0 ω ¯ > γ s a n d σ g 2 ¯ > γ g v 1 γ s ω ¯ γ s a n d σ g 2 ¯ γ g v 2 ω ¯ < γ s a n d σ g 2 ¯ γ g v ,
where 0 denotes the swing phase, 1 denotes the stance phase, and 2 denotes the still phase. ω ¯ = 1 W i = k k + W 1 ω i refers to the average three-axis angular rate in the sample window with a size of W, and k is a time instant. γ s refers to the energy threshold between the still phase and the stance phase, and γ s is the threshold between the stance phase and the swing phase. σ g 2 ¯ refers to the average of the three-axis angular rate variances. γ g v is the variance threshold. In our experiment, γ s = 0.07 , γ s = 0.5 , γ g v = 0.002 , and W = 5 . Figure 3 shows that a detector that satisfies both conditions outperforms an energy- or variance-condition-based detector.

2.2. Adaptive Fusion Module

In this section, the adaptive fusion method for inertial- and magnetic-data-based multiple heading correction algorithms is proposed. As described in Algorithm 2, the states of the EC and HDR algorithms are determined with the MDD and HMC, and then the fused heading error measurement is computed.
Algorithm 2 Operation of the adaptive fusion module
Input: Foot state, magnetic field quality, and heading
Output: Heading error measurement
1:
H D R = 0 ;
2:
E C = M E D ; // Magnetic disturbance detection, see Section 2.2.2
3:
if Z U P T k 1 = = 0 and Z U P T k = = 1 then
4:
  if j = = S N then
5:
    j = 0 ;
6:
  end if
7:
   j = j + 1 ; // Counting steps, and its initial value is 0
8:
end if
9:
if j = = S N then
10:
   H D R = S L ; // Straight-line detection, see Section 2.2.1
11:
end if
12:
Compute the final heading error measurement Δ ψ k by searching Table 1; // see Section 2.2.3
13:
return Δ ψ k

2.2.1. Human Motion Classifier

When the average gyro heading of a step sequence is near the gyro heading of each step, the straight-line motion can be detected. Referring to [42], the binary linear motion classifier can be defined as
S L = 1 max ψ j g ψ ¯ g < γ S L 0 o t h e r w i s e ,
where 1 denotes straight-line motion; 0 denotes nonlinear motion; ψ g refers to the gyro heading computed by the INS; ψ ¯ g = 1 S N j = 1 S N ψ j g refers to the average heading of the step sequence; j refers to the step index for j = 1 : 1 : S N ; S N denotes the size of the step sequence; γ S L is the threshold. In our experiment, S N is set to 4 and γ S L is set to 6 .

2.2.2. Magnetic Disturbance Detector

In this section, an MDD—namely, a magnetic element detector (MED)—is proposed to determine the quality of the magnetic field. Since magnetic fields are easily disturbed, the MED is necessary in the framework. Magnetic disturbances can be approximately divided into static disturbances (from constant disturbances, such as hard or soft iron disturbances) and time-varying disturbances (from time-varying disturbances, such as from electronic devices or power lines). A static magnetic disturbance can be detected when the total magnetic field intensity (F) is not equal to 1 (the magnetometer must be calibrated). The difference between F and 1 could indicate the quality of the magnetic field. To determine the time-varying disturbance, the average of the three-axis magnetic field strength variances ( σ m 2 ¯ ) is introduced. Therefore, the multi-class MED is designed as
M E D = 2 F ¯ 1 < γ F a n d σ m 2 ¯ < γ m v 1 γ F F ¯ 1 < γ F a n d σ m 2 ¯ < γ m v 0 o t h e r w i s e ,
where 2 denotes a pure magnetic field, 1 denotes a low-quality magnetic field, and 0 denotes a magnetic disturbance. F ¯ = 1 W i = k k + W 1 F i denotes the average total magnetic field intensity in the sample window with a size of W . γ F and γ F denote the validation gate thresholds for the total magnetic field intensity, and γ m v denotes the variance threshold. In our experiment, γ F is set to 0.05 , γ F is set to 0.2 , γ m v is set to 0.005 , and W is set to 5.

2.2.3. Computing the Heading Error Measurement

The EC and HDR algorithms output heading error measurements, i.e., Δ ψ k m and Δ ψ k R , respectively. To trade off between the inertial-data-based method (i.e., HDR) and the magnetic-data-based method (i.e., EC), the final heading error measurement can be defined as:
Δ ψ k = a m Δ ψ k m + a R Δ ψ k R ,
where a m [ 0 , 1 ] and a R [ 0 , 1 ] represent the weights of the heading error measurements for the EC and HDR algorithms, respectively, and a m + a R = 1 or a m + a R = 0 . The weights are given in Table 1. Compared with inertial data, magnetic data are not absolutely reliable. The reason is that the detected magnetic field may be a magnetic disturbance, even though the norm of magnetic filed vector is near one [51]. Therefore, the EC algorithm is designed to have a lower weight when a magnetic field with low quality is detected, and the HDR algorithm is simultaneously triggered. When a magnetic field with high quality is detected and the HDR algorithm is simultaneously triggered, the EC and HDR algorithms have the same weights. Conversely, the heading error is not updated by the ESKF only when a magnetic field with low quality is detected or no heading error correction algorithms are triggered. Therefore, λ 1 is recommended to have a lower value than λ 2 , and λ 3 is recommended to have the same value as that of λ 4 . In our experiment, λ 1 = 0.2 , λ 2 = 0.8 , and λ 3 = λ 4 = 0.5 .
Table 1. Weights of the heading error measurements for electronic compass (EC) and heuristic drift reduction (HDR) algorithms.
Table 1. Weights of the heading error measurements for electronic compass (EC) and heuristic drift reduction (HDR) algorithms.
State of Heading Error Correction AlgorithmsWeight
ECHDR a m a R
0000
0101
1000
11 λ 1 λ 2
2010
21 λ 3 λ 4

2.3. INS

The gravity-compensated acceleration under the n-frame ( a k n ) can be calculated with
a k n = C b n q k f k b + g ,
where f b represents the specific force under the b-frame, C b n represents the rotation matrix from the b-frame to the n-frame, and q refers to the unit quaternion, which is updated by the well-known quaternion difference equation (i.e., q k = exp 1 2 Ω ω k q k 1 ) [16]. The quaternion is applied to express the rotation matrix and Euler angles [52], where k is the time instant and g represents the gravity vector. Note that the b-frame coincides with the axes of the magnetic/inertial sensor (i.e., x-y-z), and the navigation frame (n-frame) is oriented northeast and down.
The dynamic position and velocity are governed by the following equation:
r k v k = I 3 × 3 Δ t I 3 × 3 0 3 × 3 I 3 × 3 r k 1 v k 1 + Δ t 2 2 I 3 × 3 Δ t I 3 × 3 a k n ,
where r represents the position, v represents the velocity, I represents the identity matrix, 0 represents the zero matrix, k is the time instant, and Δ t is the sample interval.

2.4. ESKF Implementation

We define the state vector as x = φ , r , v T . Further, the error-state vector can be defined as δ x = δ φ , δ r , δ v T , where δ φ is the attitude error, δ r is the position error, and δ v is the velocity error. In the ESKF, the error-state vector is predicted by the error-state model (time update) and updated by the error measurement model (measurement update). The filtered error-state vector is employed to compensate the raw-state vector.

2.4.1. Error-State Model

Referring to [53], the continuous-time error-state model without a control input can be defined as:
δ x ˙ k = F c δ x k + G c w k ,
where F c is the system matrix, G c is the process noise gain matrix, and w is the process noise of the inertial sensor ( w a for the accelerometer and w g for the gyro), i.e.,
w = w a w g T .
The system matrix and process noise gain matrix can be written as
F c = 0 3 × 3 0 3 × 3 0 3 × 3 0 3 × 3 0 3 × 3 I 3 × 3 S f k n 0 3 × 3 0 3 × 3
and
G c = 0 3 × 3 I 3 × 3 0 3 × 3 0 3 × 3 I 3 × 3 0 3 × 3 ,
where S f k n represents the skew-symmetric cross-product-operator matrix of the acceleration under the n-frame. This matrix relates the variation in the velocity error to the variation in the attitude error. The detailed derivations of the system matrix and process noise gain matrix are given in [53].
Since a computer is a discrete-time system, we need to discretize the continuous-time model given above. According to [54], the discrete-time error state model can be written as:
δ x k | k 1 = F δ x k 1 | k 1 + G w k 1 ,
where δ x k | k 1 is the predicted error-state vector at time k and δ x k 1 | k 1 is the filtered error-state vector at time k 1 .
Applying a first-order Taylor series expansion to Equation (7), the system matrix ( F I + F c Δ t ) and noise gain matrix ( G G c Δ t ) of the discrete-time model can be obtained, where Δ t is the sample interval.

2.4.2. Error Measurement Model

We assume that the measurement is equal to the corresponding true state vector with additive noise. Thus, the measurement model can be defined as:
m k = H x k | k + n k ,
where m is the external measurement, H is the measurement transition matrix, and n is the measurement noise.
Since the true state vector x k | k = x k | k 1 + δ x k | k where x k | k 1 is the predicted state vector, we have
m k = H x k | k 1 + H δ x k | k + n k .
Hence, the error measurement model is
z k = m k H x k | k 1 = H δ x k | k + n k ,
where z is the error measurement.
For the ZUPT algorithm, we have
Δ v k = 0 v k | k 1 .
For the HDR algorithm, we have
Δ ψ k R = ψ ¯ g ψ k | k 1 g ,
while for the EC algorithm, we have
Δ ψ k m = ψ k m ψ k | k 1 g ,
where ψ m represents the compass heading [39].
As described in Section 2.2.3, the final heading error measurement is
Δ ψ k = a m Δ ψ k m + a R Δ ψ k R .
Thus, the total error measurement is
z k = Δ ψ k Δ v k .
The measurement transition matrix is
H = 001 0 1 × 3 0 1 × 3 0 3 × 3 0 3 × 3 I 3 × 3 .
When the measurement update is available, the correction ( δ x k | k ) can be obtained with the Kalman update equation [6]:
δ x k | k = K k z k ,
where K k is the Kalman gain. The ESKF follows the standard process of the KF. For a detailed tutorial on the standard KF applied in a PNS, References [6,50,54] are recommended.

2.4.3. Compensating the State Vector

Finally, the raw position and velocity vectors are compensated by r k | k = r k | k 1 + δ r k | k and v k | k = v k | k 1 + δ v k | k . With a small angle approximation, the predicted rotation matrix can be updated with the filtered attitude error by
C b k | k n = T δ φ k | k C b k | k 1 n I 3 × 3 + δ φ k | k × C b k | k 1 n ,
where δ φ = δ ϕ δ θ δ ψ T ; ϕ , θ , and ψ refer to the roll, pitch, and yaw angle, respectively; δ φ × refers to the cross-product-operator matrix; and T is the transition matrix that is employed to update the predicted rotation matrix. The filtered rotation matrix can be converted into a unit quaternion to iterate the next quaternion [52].

3. Experimental Results and Analysis

In this section, we outline and present the validation of our proposed framework (in the scope of this paper, we focus on a framework to mitigate the heading drift; therefore, the positioning errors reported in this paper are 2D errors, and the height constraint method will be introduced in our future work). First, the specifications of the sensor applied in the experiment and the processing platform are introduced in Section 3.1. Second, in Section 3.2, the performance metrics are introduced to evaluate the ZUPT–ZARU–ESKF-aided PNS (abbreviated as ZUPT), the ZUPT–ZARU–AFM–ESKF-aided PNS (abbreviated as ZUPT–AFM), the ZUPT–ZARU–EC–ESKF-aided PNS (abbreviated as ZUPT–EC), the ZUPT–ZARU–HDR–ESKF-aided PNS (abbreviated as ZUPT–HDR), and the ZUPT–ZARU–MED–EC–ESKF-aided PNS (abbreviated as ZUPT–MED–EC). In the following sections, these frameworks are examined on the Vicon dataset and are further evaluated on several real-world long-term indoor and outdoor moving datasets. As shown in Table 2, different heading drift constraint method based frameworks can be generated using the proposed framework by setting different states of the EC and HDR algorithms, which indicates that our proposed framework is flexible and modular. Except for the heading drift correction module, the remaining parts of all frameworks are the same. All frameworks are explained as follows:
  • ZUPT: Only ZUPT and ZARU are used.
  • ZUPT–MED–EC: ZUPT and ZARU are used. Magnetic fields filtered by the MED are used to enhance the heading estimation (i.e., if E C = 2 , Δ ψ k = ψ k m ; otherwise, Δ ψ k = 0 ).
  • ZUPT–AFM: ZUPT and ZARU are used. The adaptive fusion module is used to mitigate the heading drift (i.e., Δ ψ k = a m Δ ψ k m + a R Δ ψ k R ).
  • ZUPT–HDR: ZUPT and ZARU are used. Only the HDR algorithm is performed (i.e., if H D R = 1 , Δ ψ k = Δ ψ k R ; otherwise, Δ ψ k = 0 ).
  • ZUPT–EC: ZUPT and ZARU are used. Raw magnetic fields are used to enhance the heading estimation (i.e., Δ ψ k = Δ ψ k m ).
Table 2. Generating different frameworks using our proposed framework.
Table 2. Generating different frameworks using our proposed framework.
FrameworkState of Heading Error Correction Algorithms
ECHDR
ZUPT00
ZUPT–MED–ECauto0
ZUPT–AFMautoauto
ZUPT–HDR0auto
ZUPT–EC20

3.1. Inertial/Magnetic Sensor and Processing Platform

A wireless commercial off-the-shelf inertial/magnetic sensor (sample frequency: 100 Hz) was utilized to collect data, and a portable computer was used for real-time processing. The sensor, Mtw Awinda (manufactured by Xsens), was small (47 mm × 30 mm × 13 mm) and included a three-axis accelerometer (range: ± 16 g ), a three-axis gyroscope (range: ± 2000 / s ), and a three-axis magnetometer (range: ± 1.9 Gauss ). The detailed specifications of the sensor are given in [55]. Before the experiments, the magnetic sensor had to be calibrated in an environment without magnetic disturbances.
To implement our proposed hybrid framework, we designed the two-layer software framework shown in Figure 4. The system can be configured to a raw data mode or a navigation mode by the software layer. In the real-world experiments, the two-layer software framework was deployed to a portable computer (name: GPD Pocket; size: 18 cm × 11 cm; CPU: Intel Atom X7-Z8750 @ 1.6 GHz; RAM: 8 G). The software framework was implemented using MATLAB R2013a. First, the MATLAB firmware provided by the official sensor software development kit was leveraged to obtain the inertial and magnetic data. Second, the collected base-level data were sent to the software layer for real-time processing. The software framework was validated in the indoor positioning and indoor navigation (IPIN) competition Track 2 (real-time) [56,57] in 2017 and was proven to be practical.

3.2. Metric Definitions

In order to assess the performance of our system concisely, for N datasets, with each dataset of length n, we define the following metrics:
  • Translation error (TE) (m): r s 1 : 2 r ^ s 1 : 2 .
    The TE indicates the 2D spatial closeness of the average of the estimated positions in the stance phase to the ground truth over the whole trajectory.
  • Absolute heading error (AHE) ( ): ψ s g ψ ^ s .
    The AHE indicates the absolute error between the average heading of each stance phase and the ground truth over the whole trajectory.
  • Heading drift (HD) ( / m i n u t e ): ψ n g ψ ^ n /duration.
  • Start–end error (SE) (m): r n 1 : 2 r 1 1 : 2 .
    The 2D translation error between the start point and end point.
  • Total traveled distance error (TTDE) (%): r n 1 : 2 r 1 1 : 2 /traveled-distance.
    The final 2D SE of the total traveled distance.

3.3. Vicon Dataset

We validated the previously mentioned frameworks on the offline Vicon dataset [58], which spans 324.3 m in a single room over a 300 s collection period. The dataset provides inertial and magnetic information with nine degrees of freedom (DOF) at 100 Hz from an instep-mounted inertial/magnetic sensor during free walking, while a full six-DOF ground truth (three DOF for position and three DOF for attitude) was captured simultaneously using a high-precision Vicon optical tracking system. The estimated trajectories of the different frameworks and the reference trajectory are shown in Figure 5. The heading-error-stride curve, heading and translation error distributions, and heading and translation error cumulative distribution function (CDF) curves were employed to evaluate the proposed method. In addition to our proposed method, four frameworks were evaluated to provide a comparison to indicate the heading and translation performances of different heading error correction method based frameworks.
For the heading performance, Figure 6, Figure 7 and Figure 8 and Table 3 show that ZUPT–AFM and ZUPT–MED–EC, which have small heading errors (all absolute heading errors are within 9.6 , and 75 % absolute heading errors are less than 3.5 ) that hardly change with time, outperform the other frameworks. Both frameworks have similar performances, which indicates that the AFM and conditional EC (MED–EC) prevent long-term heading drift and help the PNS output a greater heading accuracy. By contrast, the heading errors of ZUPT and ZUPT–HDR are greater and increase over time, while the heading error of ZUPT–EC is the greatest. In Figure 8, the 75 % translation errors are less than 33 cm, with the exception of the ZUPT–EC framework because a standalone EC is easily affected by magnetic disturbances. For the ZUPT–AFM and ZUPT–MED–EC, the 99 % translation errors are less than 47 cm and the 75 % translation errors are less than 30 cm, which indicates that both frameworks can localize with the highest accuracy. The primary advantage of the proposed ZUPT–AFM and ZUPT–MED–EC is their complementary correction of the heading error using inertial and conditional magnetic data. In Table 3, ZUPT performs a little better than ZUPT–HDR. The possible reason is that the straight-line path may not be absolutely straight. Improper correction by the HDR may over-correct the heading drift on the small-scale dataset. Considering that the HDR is a component of ZUPT–AFM, this may be the reason why ZUPT–MED–EC performs a little better than ZUPT–AFM. For this Vicon dataset, there are too many nonlinear motions. Therefore, ZUPT–HDR is equivalent to ZUPT because the HDR cannot be triggered frequently. By contrast, MED–EC has more chance to work. Thus, ZUPT–MED–EC outperforms ZUPT–HDR. Finally, it can be temporarily concluded that ZUPT–MED–EC > ZUPT–AFM > ZUPT > ZUPT–HDR > ZUPT–EC. However, more data are needed to fully validate their performances.

3.4. Indoor and Outdoor Loop Datasets

Since optical reference systems are limited by space, we further evaluated the actual performance of the five frameworks on real-world indoor and outdoor loop datasets. The indoor dataset contained three sub-datasets: a small-scale multi-path and multi-motion loop dataset (termed as indoor dataset 1), a medium-scale multi-motion loop dataset (termed as indoor dataset 2), and a medium-scale walking loop dataset (termed as indoor dataset 3). All indoor datasets were collected in Building 26 on the Weijin campus of Tianjin University. Indoor datasets 1 and 2 were collected on the second floor, while indoor dataset 3 was collected on the fourth floor. Indoor dataset 1 contained 48 trajectories with four shapes (i.e., a circle (approximately 26.4 m), an eight-shaped path (approximately 27.2 m), a rectangle (approximately 34.5 m), and a straight line (up and down, approximately 34.3 m)). Indoor dataset 2 was collected along a rectangular path, and the tester moved with combined motions (i.e., walking, slow running, and crouch-walking). The motions in indoor dataset 3 included three-lap walking and free walking with normal speed. The three-lap walking experiment is performed by moving along the corridor loop three times with a normal speed. The free walking test was more challenging. The tester walked through several straight corridors, a meeting room, several staircases, an office, etc. The experimental environments were more complex, and the walking trajectory was more random. The outdoor walking experiment was performed by walking around Jingye Lake on the Weijin campus of Tianjin University. In the outdoor experiment, the test path included approximately 349 m of a straight line, and the tester walked through three parking lots and over several cast-iron well lids. Further, we establish a more challenging indoor–outdoor dataset to further validate our algorithm. The dataset was collected in both indoor and outdoor environments along a path of nearly 2 km. The tester started from an indoor point on the second floor and walked towards the outdoor space through several corridors, a hall, and stairs. Then, long-term outdoor walking with short-term slow running was performed before the tester went back to the start point. Finally, the datasets were established with a total distance of 12.98 km. The information of all datasets is summarized in Table 4.
It is difficult to use heading and translation errors to directly evaluate an algorithm’s performance in an open space. Since the differences among the different frameworks are their heading drift correction methods, the SE, TTDE, and their root-mean-square errors (RMSEs) can be used to test the different heading algorithms. Figure 9 and Figure 10 and Table 5 show that all frameworks except for ZUPT–EC achieved similar performance on indoor datasets 1 and 2. Intuitively, Figure 11 and Figure 12 show that the ZUPT–AFM and ZUPT–MED–EC had the best heading and translation performances among the five frameworks on indoor dataset 3. Further, Figure 13, Figure 14 and Figure 15 show that ZUPT–AFM achieved the best performance on the more challenging outdoor and indoor–outdoor datasets. Rich experiments can fully validate the performances of the five frameworks. Therefore, all of the datasets, with a total distance of 12.98 km, were leveraged to test the five algorithms. The RMSEs of the SEs and TTDEs in Table 6 show that the ZUPT–AFM and ZUPT–MED–EC performed similarly on indoor datasets 2 and 3, while ZUPT–AFM outperformed ZUPT–MED–EC on the outdoor and indoor–outdoor datasets. The long distance, long operation period, multiple motions, and experimental environment may have affected the heading and translation performance of the inertial-/magnetic-sensor-based localization system. This is the reason for why all frameworks except for ZUPT–EC performed similarly on indoor dataset 1. However, all frameworks showed differences in the medium- and large-scale datasets. Since a standalone EC is easily affected by magnetic disturbances, the EC-aided PNS (ZUPT–EC) had the worst performance. When tested on the small-scale indoor dataset 1, ZUPT–HDR and ZUPT had similar performances (see Table 5). However, ZUPT–HDR performed better than ZUPT on the medium- and large-scale datasets (see Table 6). We think that there are two possible reasons. One is that the straight-line path may not be absolutely straight. Improper correction by the HDR algorithm in a small-scale area may over-correct the heading drift. Considering that ZUPT–MED–EC is the same as ZUPT–AFM without the HDR, this may be the reason for why ZUPT–AFM did not perform well on indoor dataset 1 compared with ZUPT–MED–EC. Considering that ZUPT–HDR and ZUPT had similar performance on the small-scale dataset, another reason is that the HDR could not be triggered because of the frequent nonlinear motion. Therefore, in this case, ZUPT–HDR was equivalent to ZUPT. This may be another reason for why ZUPT–AFM and ZUPT–MED–EC performed similarly on indoor dataset 1. Table 5 also shows that ZUPT–MED–EC was a little better than ZUPT–HDR, and Table 6 shows that ZUPT–MED–EC outperformed ZUPT–HDR. First, MED–EC may have more chance to correct the heading drift regardless of linear or nonlinear motion. Second, MED–EC is a correction method that uses absolute information, while HDR uses relative information. Therefore, it is easy for HDR to accumulate errors. Since human motion is complex and random, only HDR was unable to sufficiently correct heading error. Therefore, complementary correction of the heading error using inertial and filtered magnetic data is a more robust and effective way to mitigate heading drift. Actually, the ZUPT–MED–EC is a framework that utilizes complementary information, namely, filtered magnetic data are used to enhance heading accuracy, while inertial data are used to compute gyro heading. Therefore, ZUPT–MED–EC and ZUPT–AFM outperformed the remaining methods. However, when magnetic data were unavailable, gyro heading errors could not be corrected. Therefore, on large-scale datasets (i.e., the indoor free walking sub-dataset, outdoor dataset, and indoor–outdoor dataset), the disadvantage of ZUPT–MED–EC appeared to be exposed. The performance metrics computed using all indoor and outdoor loop datasets are presented in Table 7, and the CDF curves of their TTDEs are drawn in Figure 16. From the performances of the five frameworks, it is evident that ZUPT–AFM > ZUPT–MED–EC > ZUPT–HDR > ZUPT > ZUPT–EC on sufficient datasets.

4. Discussion

It is difficult to directly compare the positioning error results with those of other similar systems because the systematic performance depends on several factors, such as the system setup, ground surface, walking speed, and even the environment. With the same inertial/magnetic sensor and placement, a relative positioning error of 1.7–2.5% with a distance of 36–105 m for normal walks in indoor scenarios was obtained in [15]. With similar experimental environments and sensors, the error for a normal walk with a distance of approximately 85 m was 0.28 3.37 % [59], and an error of 2.01 % with a distance of 239.9 m was reported in [60].
With similar systematic frameworks, the authors of [9] reported a QMD-based framework. In their experiment, four groups with a total walking distance of 1.4 km (350 m for each group) yielded a 0.22 % mean positioning error in indoor and outdoor environments. The inertial/magnetic sensor that they utilized was the high-precision sensor STIM300 (manufactured by Sensonor Company). The authors of [48] reported an improved QMD (iQMD)-based framework with a start–end error of 0.15 % in offices (total traveled distance was 342 m) and 0.3 % in shopping malls (total traveled distance was 986 m). The iQMD introduced in their paper only worked in a straight-line walk. Since human motion is complex, the iQMD may easily become invalid. In addition, the variations in the magnetic field, the gyro heading differences between two adjacent steps, and the compass heading differences between two adjacent steps were used as the detected features. However, when a user walks along a straight line in a disturbed area, the detector will probably fail to detect the static magnetic disturbance. The authors of [39] reported a classic ZUPT–ZARU–HDR–EC–KF-aided framework named IEZ+. The positioning error was 0.3 1.5 % with a 125 m total walking distance. In their system, ZARU was utilized in the stance phase to estimate the gyro bias error, which was employed as an error measurement of the KF. Therefore, a trade-off could be made between the predicted gyro bias error and the measured gyro bias. Since the foot may rotate slightly in the stance phase, the estimated gyro bias may be inaccurate. When a tester walks along a straight line, the HDR and EC algorithms in their framework may be triggered simultaneously. The researchers did not introduce a conflict-handling method in their paper. In addition, there was not a magnetic disturbance detector integrated in their framework. Since magnetic disturbances are common indoors, the estimated compass heading may be incorrect, which will influence the heading and positioning accuracy of the system.
Since the heading error is unobservable for the ZUPT, heading drift easily occurs during the still phase. Therefore, we introduced a state lock to freeze the current position and heading in this phase. Simultaneously, ZARU was triggered to estimate the gyro bias. The advantages of locking states in the still phase are avoiding drift and saving the energy of the system. However, to the best of our knowledge, in most existing works, the state lock was missing. To better recognize different foot states to construct some constraints, a multi-class foot-state classifier was introduced in our framework. However, in existing works, a binary classifier was commonly employed to detect the stance and swing phases. To mitigate heading drift and improve the positioning accuracy, we designed the HMC–MED-aided AFM to achieve the adaptive complementary fusion of the inertial and magnetic data. To the best of our knowledge, most existing works generally switched among different algorithms rather than fusing them. Our rich experimental results demonstrate the effectiveness of the AFM in improving the heading accuracy. For magnetic disturbance detection, most existing works introduced a binary detector (i.e., yes or no), while a detector that recognizes magnetic fields of different qualities was proposed in our framework to improve the robustness of the magnetic-field-based algorithm. Moreover, our proposed framework can easily integrate different heading error constraint modules by changing the heading error measurement instead of constructing a complicated measurement transition matrix. Thus, it is more flexible than previous methods.

5. Conclusions

To mitigate heading drift, we introduced a hybrid framework that includes a foot-state classifier that triggers the ZUPT algorithm, ZARU algorithm, and state lock, an HMC–MED-aided AFM to provide complementary heading error measurements, and an ESKF that estimates the optimal systematic errors. The rich experimental results demonstrate that the proposed framework outperforms other frameworks that utilize inertial-data-based or magnetic-data-based heading error correction methods. All TTDEs of the proposed framework were less than 1.3% on indoor and outdoor loop datasets. Based on sufficient experiments, ZUPT–AFM is recommended for mitigation of heading drift in PNSs based on foot-mounted IMUs.
In our future work, we plan to investigate a data-driven robust state detection module that outputs foot states, human motions, and magnetic field qualities to improve the fixed-parameter-based FSC, HMC, and MED proposed in this framework. Additionally, a heterogeneous vision-based loop closure method could be introduced to further mitigate heading drift.

Author Contributions

Conceptualization, L.Z.; Methodology, L.Z.; Software, L.Z.; Validation, L.Z.; Resource, Y.L.; Writing—original draft, L.Z.; Writing—review and editing, Y.L. and J.S. All authors have read and agreed to the published version of the manuscript.

Funding

This research was funded by the National Natural Science Foundation of China (Grant Number: 61771338) and Tianjin Research Funding (Grant Number: 18ZXRHSY00190).

Institutional Review Board Statement

Not applicable.

Informed Consent Statement

Not applicable.

Data Availability Statement

The data presented in this study are available on request from the corresponding author.

Conflicts of Interest

The authors declare no conflict of interest.

References

  1. Lander, C.; Wiehr, F.; Herbig, N.; Krüger, A.; Löchtefeld, M. Inferring landmarks for pedestrian navigation from mobile eye-tracking data and Google Street View. In Proceedings of the 2017 CHI Conference Extended Abstracts on Human Factors in Computing Systems, Denver, CO, USA, 6–11 May 2017; pp. 2721–2729. [Google Scholar]
  2. Lu, C.; Uchiyama, H.; Thomas, D.; Shimada, A.; Taniguchi, R.I. Indoor positioning system based on chest-mounted IMU. Sensors 2019, 19, 420. [Google Scholar] [CrossRef] [PubMed] [Green Version]
  3. Hu, G.; Zhang, W.; Wan, H.; Li, X. Improving the heading accuracy in indoor pedestrian navigation based on a decision tree and Kalman filter. Sensors 2020, 20, 1578. [Google Scholar] [CrossRef] [Green Version]
  4. Zhang, H.; Yuan, W.; Shen, Q.; Li, T.; Chang, H. A handheld inertial pedestrian navigation system with accurate step modes and device poses recognition. IEEE Sens. J. 2014, 15, 1421–1429. [Google Scholar] [CrossRef]
  5. Munoz Diaz, E. Inertial pocket navigation system: Unaided 3D positioning. Sensors 2015, 15, 9156–9178. [Google Scholar] [CrossRef] [PubMed] [Green Version]
  6. Foxlin, E. Pedestrian tracking with shoe-mounted inertial sensors. IEEE Comput. Graph. Appl. 2005, 25, 38–46. [Google Scholar] [CrossRef]
  7. Nilsson, J.O.; Skog, I.; Händel, P.; Hari, K. Foot-mounted INS for everybody-an open-source embedded implementation. In Proceedings of the 2012 IEEE/ION Position, Location and Navigation Symposium, Myrtle Beach, SC, USA, 23–26 April 2012; pp. 140–145. [Google Scholar]
  8. Nilsson, J.O.; Gupta, A.K.; Händel, P. Foot-mounted inertial navigation made easy. In Proceedings of the 2014 International Conference on Indoor Positioning and Indoor Navigation (IPIN), Busan, Korea, 27–30 October 2014; pp. 24–29. [Google Scholar]
  9. Le Scornec, J.; Ortiz, M.; Renaudin, V. Foot-mounted pedestrian navigation reference with tightly coupled GNSS carrier phases, inertial and magnetic data. In Proceedings of the 2017 International Conference on Indoor Positioning and Indoor Navigation (IPIN), Sapporo, Japan, 18–21 September 2017; pp. 1–8. [Google Scholar]
  10. EvAAL Competition. Available online: http://evaal.aaloa.org/ (accessed on 25 December 2020).
  11. Jao, C.S.; Stewart, K.; Conradt, J.; Neftci, E.; Shkel, A. Zero Velocity Detector for Foot-mounted Inertial Navigation System Assisted by a Dynamic Vision Sensor. In Proceedings of the 2020 DGON Inertial Sensors and Systems (ISS), Braunschweig, Germany, 15–16 September 2020; pp. 1–18. [Google Scholar]
  12. Wahlström, J.; Markham, A.; Trigoni, N. FootSLAM meets Adaptive Thresholding. IEEE Sens. J. 2020, 20, 9351–9358. [Google Scholar] [CrossRef] [Green Version]
  13. Bebek, Ö.; Suster, M.A.; Rajgopal, S.; Fu, M.; Fu, M.J.; Huang, X.; Çavuşoǧlu, M.C.; Mehregany, M.; Van Den Bogert, A.J.; Mastrangelo, C.H. Personal navigation via high-resolution gait-corrected inertial measurement units. IEEE Trans. Instrum. Meas. 2010, 59, 3018–3027. [Google Scholar] [CrossRef]
  14. Wang, Z.; Zhao, H.; Qiu, S.; Gao, Q. Stance-phase detection for ZUPT-aided foot-mounted pedestrian navigation system. IEEE/ASME Trans. Mechatronics 2015, 20, 3170–3181. [Google Scholar] [CrossRef]
  15. Strozzi, N.; Parisi, F.; Ferrari, G. Impact of on-body IMU placement on inertial navigation. IET Wirel. Sens. Syst. 2018, 8, 3–9. [Google Scholar] [CrossRef]
  16. Zhang, Z.Q.; Meng, X. Use of an inertial/magnetic sensor module for pedestrian tracking during normal walking. IEEE Trans. Instrum. Meas. 2015, 64, 776–783. [Google Scholar] [CrossRef]
  17. Liu, Y.; Li, S.; Mu, C.; Wang, Y. Step length estimation based on D-ZUPT for pedestrian dead-reckoning system. Electron. Lett. 2016, 52, 923–924. [Google Scholar] [CrossRef]
  18. Ojeda, L.; Borenstein, J. Non-GPS navigation for security personnel and first responders. J. Navig. 2007, 60, 391–407. [Google Scholar] [CrossRef] [Green Version]
  19. Wagstaff, B.; Kelly, J. LSTM-based zero-velocity detection for robust inertial navigation. In Proceedings of the 2018 International Conference on Indoor Positioning and Indoor Navigation (IPIN), Nantes, France, 24–27 September 2018; pp. 1–8. [Google Scholar]
  20. Wu, Y.; Zhu, H.B.; Du, Q.X.; Tang, S.M. A survey of the research status of pedestrian dead reckoning systems based on inertial sensors. Int. J. Autom. Comput. 2019, 16, 65–83. [Google Scholar] [CrossRef]
  21. Deng, Z.; Wang, P.; Yan, D.; Shang, K. Foot-Mounted Pedestrian Navigation Method Based on Gait Classification for Three-Dimensional Positioning. IEEE Sens. J. 2019, 20, 2045–2055. [Google Scholar] [CrossRef]
  22. Wang, Q.; Luo, H.; Xiong, H.; Men, A.; Zhao, F.; Xia, M.; Ou, C. Pedestrian Dead Reckoning based on Walking Pattern Recognition and Online Magnetic Fingerprint Trajectory Calibration. IEEE Internet Things J. 2020, 8, 2011–2026. [Google Scholar] [CrossRef]
  23. Majid, J.; Atena, R.F.; Katarzyna, R.; Zeljko, Z. A Comprehensive Analysis on Wearable Acceleration Sensors in Human Activity Recognition. Sensors 2017, 17, 529. [Google Scholar]
  24. Manivannan, A.; Chin, W.C.B.; Barrat, A.; Bouffanais, R. On the Challenges and Potential of Using Barometric Sensors to Track Human Activity. Sensors 2020, 20, 6786. [Google Scholar] [CrossRef]
  25. Ruiz, A.R.J.; Granja, F.S.; Honorato, J.C.P.; Rosas, J.I. Accurate pedestrian indoor navigation by tightly coupling foot-mounted IMU and RFID measurements. IEEE Trans. Instrum. Meas. 2012, 61, 178–189. [Google Scholar] [CrossRef] [Green Version]
  26. Pasku, V.; De Angelis, A.; Moschitta, A.; Carbone, P.; Nilsson, J.O.; Dwivedi, S.; Händel, P. A magnetic ranging-aided dead-reckoning positioning system for pedestrian applications. IEEE Trans. Instrum. Meas. 2017, 66, 953–963. [Google Scholar] [CrossRef]
  27. Everett, T.; Kell, C. Human Movement: An Introductory Text; Elsevier Health Sciences: Amsterdam, The Netherlands, 2010. [Google Scholar]
  28. Norrdine, A.; Kasmi, Z.; Blankenbach, J. Step Detection for ZUPT-Aided Inertial Pedestrian Navigation System Using Foot-Mounted Permanent Magnet. IEEE Sens. J. 2016, 16, 6766–6773. [Google Scholar] [CrossRef]
  29. Abdulrahim, K.; Hide, C.; Moore, T.; Hill, C. Aiding low cost inertial navigation with building heading for pedestrian navigation. J. Navig. 2011, 64, 219–233. [Google Scholar] [CrossRef] [Green Version]
  30. Nilsson, J.O.; Skog, I.; Händel, P. A note on the limitations of ZUPTs and the implications on sensor error modeling. In Proceedings of the International Conference on Indoor Positioning and Indoor Navigation (IPIN), Sydney, Australia, 13–15 November 2012. [Google Scholar]
  31. Ilyas, M.; Cho, K.; Baeg, S.; Park, S. Drift Reduction in Pedestrian Navigation System by Exploiting Motion Constraints and Magnetic Field. Sensors 2016, 16, 1455. [Google Scholar] [CrossRef] [PubMed] [Green Version]
  32. Panahandeh, G.; Mohammadiha, N.; Leijon, A.; Händel, P. Continuous hidden Markov model for pedestrian activity classification and gait analysis. IEEE Trans. Instrum. Meas. 2013, 62, 1073–1083. [Google Scholar] [CrossRef] [Green Version]
  33. Wagstaff, B.; Peretroukhin, V.; Kelly, J. Robust data-driven zero-velocity detection for foot-mounted inertial navigation. IEEE Sens. J. 2019, 20, 957–967. [Google Scholar] [CrossRef] [Green Version]
  34. Jalal Abadi, M.; Luceri, L.; Hassan, M.; Chou, C.T.; Nicoli, M. A cooperative machine learning approach for pedestrian navigation in indoor IoT. Sensors 2019, 19, 4609. [Google Scholar] [CrossRef] [PubMed] [Green Version]
  35. Thébault, E.; Finlay, C.C.; Beggan, C.D.; Alken, P.; Aubert, J.; Barrois, O.; Bertrand, F.; Bondar, T.; Boness, A.; Brocco, L.; et al. International geomagnetic reference field: The 12th generation. Earth Planets Space 2015, 67, 1–19. [Google Scholar] [CrossRef]
  36. Herath, S.; Yan, H.; Furukawa, Y. RoNIN: Robust Neural Inertial Navigation in the Wild: Benchmark, Evaluations, & New Methods. In Proceedings of the 2020 IEEE International Conference on Robotics and Automation (ICRA), Paris, France, 31 May–30 June 2020; pp. 3146–3152. [Google Scholar]
  37. Chen, C.; Lu, X.; Wahlstrom, J.; Markham, A.; Trigoni, N. Deep neural network based inertial odometry using low-cost inertial measurement units. IEEE Trans. Mob. Comput. 2019. [Google Scholar] [CrossRef]
  38. Liu, W.; Caruso, D.; Ilg, E.; Dong, J.; Mourikis, A.I.; Daniilidis, K.; Kumar, V.; Engel, J. TLIO: Tight Learned Inertial Odometry. IEEE Robot. Autom. Lett. 2020, 5, 5653–5660. [Google Scholar] [CrossRef]
  39. Jiménez, A.R.; Seco, F.; Prieto, J.C.; Guevara, J. Indoor pedestrian navigation using an INS/EKF framework for yaw drift reduction and a foot-mounted IMU. In Proceedings of the Positioning Navigation and Communication, Dresden Germany, 11–12 March 2010; pp. 135–143. [Google Scholar]
  40. Borenstein, J.; Ojeda, L.; Kwanmuang, S. Heuristic reduction of gyro drift. J. Navig. 2009, 62, 41–58. [Google Scholar] [CrossRef] [Green Version]
  41. Borenstein, J.; Ojeda, L. Heuristic drift elimination for personnel tracking systems. J. Navig. 2010, 63, 591–606. [Google Scholar] [CrossRef] [Green Version]
  42. Jiménez, A.R.; Seco, F.; Zampella, F.; Prieto, J.C.; Guevara, J. Improved Heuristic Drift Elimination (iHDE) for pedestrian navigation in complex buildings. In Proceedings of the 2011 International Conference on Indoor Positioning and Indoor Navigation, Guimaraes, Portugal, 21–23 September 2011; pp. 1–8. [Google Scholar]
  43. Renaudin, V.; Combettes, C. Magnetic, acceleration fields and gyroscope quaternion (MAGYQ)-based attitude estimation with smartphone sensors for indoor pedestrian navigation. Sensors 2014, 14, 22864–22890. [Google Scholar] [CrossRef] [PubMed] [Green Version]
  44. Fourati, H. Heterogeneous data fusion algorithm for pedestrian navigation via foot-mounted inertial measurement unit and complementary filter. IEEE Trans. Instrum. Meas. 2015, 64, 221–229. [Google Scholar] [CrossRef]
  45. De Vries, W.; Veeger, H.; Baten, C.; Van Der Helm, F. Magnetic distortion in motion labs, implications for validating inertial magnetic sensors. Gait Posture 2009, 29, 535–541. [Google Scholar] [CrossRef] [PubMed]
  46. Ashkar, R.; Romanovas, M.; Goridko, V.; Schwaab, M.; Traechtler, M.; Manoli, Y. A low-cost shoe-mounted Inertial Navigation System with magnetic disturbance compensation. In Proceedings of the International Conference on Indoor Positioning and Indoor Navigation, Busan, Korea, 27–30 October 2014; pp. 1–10. [Google Scholar]
  47. Afzal, M.H.; Renaudin, V.; Lachapelle, G. Use of earth’s magnetic field for mitigating gyroscope errors regardless of magnetic perturbation. Sensors 2011, 11, 11390–11414. [Google Scholar] [CrossRef]
  48. Ma, M.; Song, Q.; Li, Y.; Gu, Y.; Zhou, Z. A heading error estimation approach based on improved Quasi-static magnetic Field detection. In Proceedings of the International Conference on Indoor Positioning and Indoor Navigation (IPIN), Alcala de Henares, Spain, 4–7 October 2016; pp. 1–8. [Google Scholar]
  49. Li, H.; Derrode, S.; Benyoussef, L.; Pieczynski, W. Free-walking 3D Pedestrian Large Trajectory Reconstruction from IMU Sensors. In Proceedings of the 2018 26th European Signal Process. Conf. (EUSIPCO), Rome, Italy, 3–7 September 2018; pp. 657–661. [Google Scholar]
  50. Fischer, C.; Sukumar, P.T.; Hazas, M. Tutorial: Implementing a Pedestrian Tracker Using Inertial Sensors. IEEE Pervasive Comput. 2013, 12, 17–27. [Google Scholar] [CrossRef]
  51. Lee, J.; Lim, J.; Lee, J. Compensated heading angles for outdoor mobile robots in magnetically disturbed environment. IEEE Trans. Ind. Electron. 2017, 65, 1408–1419. [Google Scholar] [CrossRef]
  52. Diebel, J. Representing Attitude: Euler Angles, Unit Quaternions, and Rotation Vectors. J. Diebel. 2006, 58, 1–35. [Google Scholar]
  53. Sola, J. Quaternion Kinematics for the Error-State KF; Tech. Rep.; Laboratoire Analyse et Architecture des Systemes-Centre National de la Recherche Scientifique (LAAS-CNRS): Toulouse, France, 2012. [Google Scholar]
  54. Simon, D. Optimal State Estimation: Kalman, H Infinity, and Nonlinear Approaches; John Wiley & Sons: Hoboken, NJ, USA, 2006. [Google Scholar]
  55. Mtw Awinda Specification. Available online: https://www.xsens.com/hubfs/3446270/Downloads/Manuals/MTwAwinda_WhitePaper.pdf (accessed on 25 December 2020).
  56. Track 2 Description. Available online: http://evaal.aaloa.org/images/2017/annex/track2_ipin2017competition.pdf (accessed on 23 December 2020).
  57. IPIN Competition 2017-Track 2. Available online: http://evaal.aaloa.org/images/2017/presentations/track2.pdf (accessed on 22 December 2020).
  58. Angermann, M.; Robertson, P.; Kemptner, T.; Khider, M. A high precision reference data set for pedestrian navigation using foot-mounted inertial sensors. In Proceedings of the 2010 International Conference on Indoor Positioning and Indoor Navigation, Zurich, Switzerland, 15–17 September 2010; pp. 1–6. [Google Scholar]
  59. Strozzi, N.; Parisi, F.; Ferrari, G. On single sensor-based inertial navigation. In Proceedings of the IEEE International Conference on Wearable and Implantable Body Sensor Networks, San Francisco, CA, USA, 14–17 June 2016; pp. 300–305. [Google Scholar]
  60. Hsu, Y.L.; Wang, J.S.; Chang, C.W. A Wearable Inertial Pedestrian Navigation System With Quaternion-Based Extended Kalman Filter for Pedestrian Localization. IEEE Sens. J. 2017, 17, 3193–3206. [Google Scholar] [CrossRef]
Figure 1. Flowchart of our proposed hybrid framework. Heading error measurement updating and the zero-velocity update (ZUPT) algorithm are triggered by the stance-phase signal from the foot-state classifier (FSC). The zero-angular-rate update (ZARU) algorithm and state lock work once the still phase is detected.
Figure 1. Flowchart of our proposed hybrid framework. Heading error measurement updating and the zero-velocity update (ZUPT) algorithm are triggered by the stance-phase signal from the foot-state classifier (FSC). The zero-angular-rate update (ZARU) algorithm and state lock work once the still phase is detected.
Applsci 11 01902 g001
Figure 2. Position and attitude computed by the ZUPT-aided pedestrian navigation system (PNS) when the sensor (Mtw Awinda) stays still for half an hour.
Figure 2. Position and attitude computed by the ZUPT-aided pedestrian navigation system (PNS) when the sensor (Mtw Awinda) stays still for half an hour.
Applsci 11 01902 g002
Figure 3. Results of foot-state detection. From top to bottom, top subfigure: detection results satisfying the angular rate energy condition (the red line shows the detection results, where 2 is the still phase, 1 is the stance phase, and 0 is the swing phase); middle subfigure: detection results satisfying the angular rate variance condition (the green line shows the detection results, where the high level indicates the still and stance phases and the low level indicates movement); bottom subfigure: the final detection results satisfying both conditions (2 is the still phase, 1 is the stance phase, and 0 is the swing phase).
Figure 3. Results of foot-state detection. From top to bottom, top subfigure: detection results satisfying the angular rate energy condition (the red line shows the detection results, where 2 is the still phase, 1 is the stance phase, and 0 is the swing phase); middle subfigure: detection results satisfying the angular rate variance condition (the green line shows the detection results, where the high level indicates the still and stance phases and the low level indicates movement); bottom subfigure: the final detection results satisfying both conditions (2 is the still phase, 1 is the stance phase, and 0 is the swing phase).
Applsci 11 01902 g003
Figure 4. Wearable PNS: The proposed two-layer software framework was deployed to a portable computer. The framework included firmware and software layers. The wireless inertial measurement unit (IMU) was driven by the firmware layer and connected with the computer via a wireless USB dongle. The system could be configured to output raw sensor data (raw data mode) or output the position, velocity, and attitude (navigation mode) by the software layer.
Figure 4. Wearable PNS: The proposed two-layer software framework was deployed to a portable computer. The framework included firmware and software layers. The wireless inertial measurement unit (IMU) was driven by the firmware layer and connected with the computer via a wireless USB dongle. The system could be configured to output raw sensor data (raw data mode) or output the position, velocity, and attitude (navigation mode) by the software layer.
Applsci 11 01902 g004
Figure 5. Estimated trajectories of different frameworks (colored lines) and the optical reference trajectory (dashed line).
Figure 5. Estimated trajectories of different frameworks (colored lines) and the optical reference trajectory (dashed line).
Applsci 11 01902 g005
Figure 6. Heading errors of different frameworks.
Figure 6. Heading errors of different frameworks.
Applsci 11 01902 g006
Figure 7. Heading error and translation error distributions of different frameworks.
Figure 7. Heading error and translation error distributions of different frameworks.
Applsci 11 01902 g007
Figure 8. Translation error (left) and absolute heading error (right) cumulative distribution function (CDF) curves of different frameworks.
Figure 8. Translation error (left) and absolute heading error (right) cumulative distribution function (CDF) curves of different frameworks.
Applsci 11 01902 g008
Figure 9. Total traveled distance error (TTDE) CDF curves of different frameworks on indoor dataset 1.
Figure 9. Total traveled distance error (TTDE) CDF curves of different frameworks on indoor dataset 1.
Applsci 11 01902 g009
Figure 10. Estimated trajectories of different frameworks on indoor dataset 2.
Figure 10. Estimated trajectories of different frameworks on indoor dataset 2.
Applsci 11 01902 g010
Figure 11. Estimated trajectories of different frameworks on the indoor free walking sub-dataset.
Figure 11. Estimated trajectories of different frameworks on the indoor free walking sub-dataset.
Applsci 11 01902 g011
Figure 12. Trajectories estimated by the different algorithms using the indoor three-lap walking sub-dataset.
Figure 12. Trajectories estimated by the different algorithms using the indoor three-lap walking sub-dataset.
Applsci 11 01902 g012
Figure 13. Estimated trajectories of the different frameworks on the outdoor dataset. Subfigures AG show different environments in this experiment. The yellow arrow in subfigure A refers to the start-end point, and the red arrows in subfigures BG refer to moving directions. In this experiment, the test path included approximately 349 m (see subfigure E) of a straight line, and the tester walked through three parking lots (see subfigures B, D and F) and over several cast-iron well lids (see subfigure C).
Figure 13. Estimated trajectories of the different frameworks on the outdoor dataset. Subfigures AG show different environments in this experiment. The yellow arrow in subfigure A refers to the start-end point, and the red arrows in subfigures BG refer to moving directions. In this experiment, the test path included approximately 349 m (see subfigure E) of a straight line, and the tester walked through three parking lots (see subfigures B, D and F) and over several cast-iron well lids (see subfigure C).
Applsci 11 01902 g013
Figure 14. Estimated trajectories of the different frameworks on the indoor–outdoor 1.9 km sub-dataset. Subfigures AH show different environments in this experiment. The red arrows in all subfigures refer to moving directions. The tester started from an indoor point (see subfigure A) and walked toward the outdoor space through corridors, a hall (see subfigure B), and stairs (see subfigure C). Finally, after walking and running, the tester went back to the start point by stairs (see subfigure H).
Figure 14. Estimated trajectories of the different frameworks on the indoor–outdoor 1.9 km sub-dataset. Subfigures AH show different environments in this experiment. The red arrows in all subfigures refer to moving directions. The tester started from an indoor point (see subfigure A) and walked toward the outdoor space through corridors, a hall (see subfigure B), and stairs (see subfigure C). Finally, after walking and running, the tester went back to the start point by stairs (see subfigure H).
Applsci 11 01902 g014
Figure 15. Estimated trajectories of the different frameworks on the indoor–outdoor 2 km sub-dataset. Subfigures AG show different environments in this experiment. The red arrows in all subfigures refer to moving directions. Compared with the indoor–outdoor 1.9 km sub-dataset, there were many irregular trajectories (e.g. subfigures AF) in the 2 km sub-dataset, such as sharp and big turns.
Figure 15. Estimated trajectories of the different frameworks on the indoor–outdoor 2 km sub-dataset. Subfigures AG show different environments in this experiment. The red arrows in all subfigures refer to moving directions. Compared with the indoor–outdoor 1.9 km sub-dataset, there were many irregular trajectories (e.g. subfigures AF) in the 2 km sub-dataset, such as sharp and big turns.
Applsci 11 01902 g015
Figure 16. TTDE CDF curves of the different frameworks on all indoor and outdoor loop datasets.
Figure 16. TTDE CDF curves of the different frameworks on all indoor and outdoor loop datasets.
Applsci 11 01902 g016
Table 3. Performance of different frameworks on the Vicon dataset. Each bold number refers to the optimal performance in each row.
Table 3. Performance of different frameworks on the Vicon dataset. Each bold number refers to the optimal performance in each row.
Performance MetricsZUPTZUPT–ECZUPT–HDRZUPT–AFMZUPT–MED–EC
75% TE (m)0.29190.90020.32020.26930.2788
100% TE (m)1.66831.98771.66731.33941.3775
75% AHE ( )9.37831.110.373.4962.272
100% AHE ( )16.479665.858817.96849.51346.9021
RMSE of TE (m)0.45340.82430.51690.24950.2609
RMSE of AHE ( )7.167924.16067.86183.14732.1969
HD ( /min)2.06541.14952.36440.83250.5589
Table 4. Description of the indoor and outdoor loop datasets.
Table 4. Description of the indoor and outdoor loop datasets.
DatasetSubjectTotal DistanceMotion
Indoor dataset 124-group walking with four-shape paths
(each type has 6 groups)
1469 mwalking, slow running
24-group slow running with four-shape paths
(each type has 6 groups)
Indoor dataset 22-group 10-lap moving with mixed-motion668 mwalking, slow running,
crouch-walking
Indoor dataset 33 three-lap walking sub-datasets2952 mwalking
3 free walking sub-datasets
Outdoor dataset3-group long-term walking3699 mwalking
Indoor–outdoor dataset1.9 km sub-dataset
2.2 km sub-dataset
4196 mwalking, slow running,
climbing stairs,
walking down stairs
Table 5. Performance of the different frameworks on indoor dataset 1. Each bold number refers to the optimal performance in each row.
Table 5. Performance of the different frameworks on indoor dataset 1. Each bold number refers to the optimal performance in each row.
Performance MetricsZUPTZUPT–ECZUPT–HDRZUPT–AFMZUPT–MED–EC
75% TTDE (%)0.56870.62990.57360.56950.5666
100% TTDE (%)1.00041.35321.00910.98940.9869
RMSE of TTDE (%)0.48160.58930.48870.45270.4551
Table 6. Performance of the different frameworks on the medium-scale and large-scale datasets. Each bold number refers to the optimal performance in each row.
Table 6. Performance of the different frameworks on the medium-scale and large-scale datasets. Each bold number refers to the optimal performance in each row.
ExperimentStart–End Error (m)
Framework
TypeSubjectZUPTZUPT–HDRZUPT–ECZUPT–MED–ECZUPT–AFM
Indoor dataset 2 (344 m)10.680.681.170.580.59
 20.430.361.350.250.26
RMSE0.57 ( 0.17 % )0.54 ( 0.16 % )1.26 ( 0.36 % )0.45 ( 0.131 % )0.46 ( 0.134 % )
Indoor three-lap walking (486 m)12.142.041.110.240.25
 26.426.789.410.840.82
 34.224.094.461.111.17
RMSE4.6 ( 0.95 % )4.72 ( 0.97 % )6.05 ( 1.24 % )0.82 ( 0.169 % )0.84 ( 0.173 % )
Indoor free walking (498 m)11.751.728.751.861.64
 22.962.753.12.882.8
 32.492.411.690.770.67
RMSE2.45 ( 0.49 % )2.33 ( 0.47 % )5.45 ( 1.09 % )2.03 ( 0.41 % )1.91 ( 0.38 % )
Outdoor dataset (1233 m)138.1937.1958.6414.079.25
 236.1834.4946.920.5414.94
 336.3532.5896.9234.1210.44
RMSE36.92 ( 2.99 % )34.8 ( 2.82 % )70.79 ( 5.74 % )24.39 ( 1.98 % )11.8 ( 0.96 % )
Indoor–outdoor dataset1 (1919 m)36.44 ( 1.9 % )21.36 ( 1.11 % )31.132 ( 1.62 % )27.05 ( 1.41 % )18.02 ( 0.94 % )
 2 (2277 m)70.75 ( 3.11 % )27.72 ( 1.22 % )58.05 ( 2.55 % )52.43 ( 2.3 % )14.712 ( 0.65 % )
Table 7. Performance of the different frameworks on all indoor and outdoor loop datasets. Each bold number refers to the optimal performance in each row.
Table 7. Performance of the different frameworks on all indoor and outdoor loop datasets. Each bold number refers to the optimal performance in each row.
Performance MetricsZUPTZUPT–ECZUPT–HDRZUPT–AFMZUPT–MED–EC
75% TTDE (%)0.60041.53340.60420.59110.5953
100% TTDE (%)3.10727.86053.01621.21172.7672
RMSE of TTDE (%)0.95011.69970.82820.50270.7071
Publisher’s Note: MDPI stays neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Share and Cite

MDPI and ACS Style

Zhang, L.; Liu, Y.; Sun, J. A Hybrid Framework for Mitigating Heading Drift for a Wearable Pedestrian Navigation System through Adaptive Fusion of Inertial and Magnetic Measurements. Appl. Sci. 2021, 11, 1902. https://doi.org/10.3390/app11041902

AMA Style

Zhang L, Liu Y, Sun J. A Hybrid Framework for Mitigating Heading Drift for a Wearable Pedestrian Navigation System through Adaptive Fusion of Inertial and Magnetic Measurements. Applied Sciences. 2021; 11(4):1902. https://doi.org/10.3390/app11041902

Chicago/Turabian Style

Zhang, Liqiang, Yu Liu, and Jinglin Sun. 2021. "A Hybrid Framework for Mitigating Heading Drift for a Wearable Pedestrian Navigation System through Adaptive Fusion of Inertial and Magnetic Measurements" Applied Sciences 11, no. 4: 1902. https://doi.org/10.3390/app11041902

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