Next Article in Journal
A New Fault Diagnosis Method of Bearings Based on Structural Feature Selection
Next Article in Special Issue
Dynamic Performance Evaluation of Various GNSS Receivers and Positioning Modes with Only One Flight Test
Previous Article in Journal
Performance Analysis of IEEE 802.11p for Continuous Backoff Freezing in IoV
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

Research on the Heading Calibration for Foot-Mounted Inertial Pedestrian-Positioning System Based on Accelerometer Attitude

College of Information and Communication Engineering, Harbin Engineering University, Harbin 150001, China
*
Author to whom correspondence should be addressed.
Electronics 2019, 8(12), 1405; https://doi.org/10.3390/electronics8121405
Submission received: 8 November 2019 / Revised: 21 November 2019 / Accepted: 23 November 2019 / Published: 25 November 2019
(This article belongs to the Special Issue Sensor-Based Navigation and Control with Applications)

Abstract

:
Foot-mounted inertial pedestrian positioning (FIPP) plays an important role for facilitating pedestrian activities. It is suitable for indoor environment applications where global navigation satellite systems are unavailable such as during firefighting and military actions. However, the positioning error of FIPP can increase rapidly due to the measurement noise of the sensors. Zero Velocity Update (ZUPT) is an error correction method proposed to solve this accumulative error. However, the heading misalignment angle, which results in a continuous increase in the positioning error, cannot be estimated by ZUPT. In order to solve this problem, the improved ZUPT based on the Improved Attitude Algorithm (IAA) according to accelerometer measurements is proposed in this paper. When a pedestrian is in the stance phase, the horizontal attitude is estimated by using accelerometer measurements. According to the relationship between the heading misalignment angle and horizontal attitude, the heading misalignment angle is obtained by a series of mathematical derivations. By taking the velocity error and the attitude misalignment angle as observations, the heading misalignment angle and positioning error can be estimated and compensated for through the Kalman filter. Finally, we use MTI-G710 sensor manufactured by XSENS for the actual test and the experiment results show that the proposed method is effectively correct.

1. Introduction

The Foot-mounted inertial pedestrian positioning (FIPP) is autonomous and unaffected by the external environment. It works well for indoor environment applications without needing global navigation satellite systems. The Foot-mounted Micro Inertial Measurement Unit (MIMU) plays an important part in establishing the pedestrian indoor positioning field. MIMU, composed of a gyroscope and accelerometer, is installed on the foot to measure the angular velocity and acceleration of the foot motion in real time. Then, the pedestrian positioning information is obtained through the Trajectory Calculating algorithm [1,2,3,4,5].
However, Trajectory Calculating has large cumulative error caused by a low-accuracy MIMU sensor [6,7,8,9,10]. Zero Velocity Update (ZUPT) is the most commonly used correction methods for this problem [11,12,13]. When the pedestrian is in a stance phase, the ZUPT is used to correct the positioning error. In ZUPT, the velocity error is taken as the observation to estimate the navigation error caused by inertial sensors measurement noise using the Kalman Filter [14,15,16,17]. However, the systematic error model established for ZUPT is imperfect. The analysis shows that ZUPT can reduce the velocity error, and horizontal misalignment angle of the system, but cannot estimate the heading misalignment angle. However, the heading misalignment angle has a major impact on the positioning error, which results in a continuous increase in the positioning error [18,19]. Generally, the problem of the positioning error caused by unobservable heading misalignment angle can be solved in two ways: One way is reducing the positioning error directly; another way is correcting the heading angle to achieve the purpose of reducing the positioning error.
In order to reduce the positioning error directly, distance constraints have been introduced in some papers [20,21]. Koutsou fixes two radio frequency identification sensors on both feet. The relative position of the feet, which is measured by two RFIDs, was introduced as a new observation method for the Kalman filter. Accordingly, the positioning error can be corrected [22]. Isaac Skog proposes a method of introducing the inequality constraints into the Kalman filter to reduce the positioning error. The core idea of the algorithm is that the relative position between two feet is less than the average pedestrian body height. Then, the position error can be greatly reduced and limited in a range [23]. Piccinni et al. proposes a method for distance estimation based on an OFDM signal combined with the Zadoff-Chu sequences. By exploiting the properties of these sequences, it is possible to evaluate the distance between single transmitter and a synchronized receiver [24,25]. Some papers introduce external sensors, such as WIFI, a iBeacon ultra-wideband, and so on [26]. Then, the standard information obtained from the external sensors is used to reduce the positioning error [27,28,29,30,31]. However, the method mentioned above increases the complexity of pedestrian position hardware, and a new error source will develop, which can degrade the hardware’s accuracy.
The second way to reduce the positioning error is to reduce the heading misalignment angle. This most frequently involves using a magnetometer [32,33,34]. The magnetometer is a sensor that measures the intensity of a magnetic field in a local coordinate system. In theory, the heading can be obtained using the magnetic field strength measurement. However, there is a measurement deviation in the magnetometer due to the presence of magnetic interference, resulting in an inaccurate conversion heading, which makes it a sub-optimal solution to be used as a reference to locate the misalignment angle [35]. Many papers are devoted to solving the magnetic interference problem and have obtained optimized results [36,37]. However, these methods cannot be used as a magnetic interference compensation scheme during the pedestrian positioning process because of their long calibration times (more than 20 s). Therefore, the stability of the correction scheme using a magnetometer for pedestrian positioning is still not guaranteed.
In line with the problems above, an improved foot-mounted MIMU pedestrian positioning method is proposed in this paper. Our contribution is the Improved Attitude Algorithm (IAA) based on accelerometer measurements without any other external sensors, which was aimed at solving the heading misalignment angle that cannot be observed by ZUPT. The paper consists of four sections: Section 2 introduces the principle and analysis of FIPP. Section 3 introduces the IAA based on accelerometers for the optimal estimation and compensation of the heading misalignment angle. It is used to solve the problem that the traditional ZUPT method cannot estimate the heading misalignment angle. In Section 4, MTi-G710 is used as the test sensor to verify the effectiveness of the proposed method, while the final section draws the conclusion.

2. Principle and Analysis of Foot-Mounted Inertial Pedestrian Positioning

2.1. Principle of FIPP

For FIPP, pedestrian positioning information can be obtained by calculating the angular velocity and the linear velocity of the foot movements measured by MIMU in real time. The FIPP consists of two parts: Trajectory Calculating (Section 2.1.1) and the ZUPT algorithm (Section 2.1.2). The FIPP is shown in Figure 1 [35].

2.1.1. Trajectory Calculating

The Trajectory Calculating shown in Figure 2 is used to calculating one’s current positioning information through the continuous integration of acceleration in real time.
For a foot-mounted inertial pedestrian positioning system, MIMU is fixed on the pedestrian foot. The trajectory calculating process based on Trajectory Calculating is as follows,
{ C b n k = C b n ( k 1 ) ( I + Ω k T ) v k n = v k 1 n + ( C b n k f k b + g n ) T p k n = p k 1 n + v k n T + ( C b n k f k b + g n ) T 2 / 2
where subscripts k is the sample time; b is the sensor frame (right-front-up frame); n is the navigation frame (east-north-up frame); I is the identity matrix; T is the sample time; Ω = [ ω × ] is an antisymmetric matrix of the angular velocity ω measured by gyro; v n is the calculating velocity along the n frame; f b is acceleration measured by accelerometer along the b frame; g n = [ 0 0 g ] T is the projection of gravity along the n frame; g is the local gravity acceleration; p n is the calculating position along the n frame; C b n is the calculating transformation matrix between the b frame and the n frame. C b n is as follows:
C b n = ( C n b ) T = ( C x C y C z ) T = ( [ 1 0 0 0 cos φ ˜ x sin φ ˜ x 0 sin φ ˜ x cos φ ˜ x ] [ cos φ ˜ y 0 sin φ ˜ y 0 1 0 sin φ ˜ y 0 cos φ ˜ y ] [ cos φ ˜ z sin φ ˜ z 0 sin φ ˜ z cos φ ˜ z 0 0 0 1 ] ) T
where, φ ˜ i ( i = x , y , z ) are the roll, pitch, and heading, respectively, while C x , C y , and C z are described by the roll, pitch, and heading, respectively.
It is shown in Figure 2 that the acceleration f b and angular velocity ω measured by MIMU is the input of the trajectory calculating algorithm, and the position information of the pedestrian is obtained through continuous integration. The MIMU measurement noise results in the measurement error of the ω and f b in Equation (1), which significantly increases the positioning error of p n and reduces the pedestrian tracking results.

2.1.2. ZUPT Error Correction Algorithm

ZUPT is used to correct the cumulative error of Trajectory Calculating. The core idea of ZUPT is that when the pedestrian is in the stance phase, the velocity information calculated by Trajectory Calculating is the velocity error. Based on this observation, the Kalman filter can be used to estimate the positioning error. ZUPT includes two steps: (a) zero velocity detection (ZVD); (b) error estimation and compensation using the Kalman filter.
ZVD is a detection method used to judge whether the pedestrian is in the stance phase by calculating the MIMU measurement data according to the characteristics of the foot touchdown.
Each gait can be divided into four parts as shown in Figure 3: a stance phase, push-off phase, swing phase, and heel-strike phase.
Theoretically, when the pedestrian is in the stance phase, the amplitude of specific force measured by the MIMU is equal to the amplitude of the local gravity acceleration. Therefore, based on this characteristic, ZVD is used to judge the statement of the pedestrian (in the stance phase or not). In this case, the amplitude detector is the most basic method of ZVD. The core formula of the ZVD with this principle is as follows [36,37]:
{ T ( Z k a ) = 1 σ a 2 W l = k k W + 1 ( f k b g ) 2 T ( Z k w ) = 1 σ ω 2 W l = k k + W 1 ω k 2
where f k b , ω k are the module values of f k b and ω k , respectively; σ a 2 and σ ω 2 are the variances of the measurement noise of the accelerometer and gyroscope, respectively; W is the window length of the ZVD.
When ZVD judges that the pedestrian is in the stance phase, the error estimation and compensation are carried out. Since the velocity obtained through calculating is the velocity error at the stance phase, taking the velocity error as the observation, the positioning error can be estimated and compensated through the Kalman filter. The system state equations and measurement equations are as follows,
{ X ˙ = A X + η k Z = H X + ν k
where X = [ δ p T δ v T Φ T Δ T ε T ] T is the system state, δ p , δ v , and Φ are the positioning error, velocity error, and misalignment angle, respectively; Δ is the accelerometer bias; ε is gyroscope drift; Z = v k n is the observation of the system; H = [ O 3 × 3 I 3 × 3 O 3 × 3 O 3 × 3 O 3 × 3 ] is the measure matrix; η k , ν k are the state noise and measurement noise, respectively; A is the system transfer matrix and it can be found in reference [1].

2.2. Heading Misalignment Angle Observability Analysis

In Trajectory Calculating, the gyroscope bias is the main factor that causes the divergence of the positioning error. It introduces the positioning error through the attitude misalignment angle. Therefore, it is very important for the ZUPT algorithm to estimate the attitude misalignment angle effectively. Since the horizontal attitude angle can be obtained from the acceleration measurements of pedestrian in a stance phase, whether the heading misalignment angle can be effectively estimated by ZUPT is important. In order to resolve this problem, the observability of heading misalignment angle was analyzed.
According to Equation (1), the velocity error equation is as follows:
[ δ v ˙ x n δ v ˙ y n δ v ˙ z n ] = [ 0 f z n f y n f z n 0 f x n f y n f x n 0 ] [ ϕ x ϕ y ϕ z ] + C b n [ Δ x Δ y Δ z ] .
When the carrier is in horizontal static state, the above formula can be simplified as:
[ δ v ˙ x n δ v ˙ y n δ v ˙ z n ] = [ 0 g 0 g 0 0 0 0 0 ] [ ϕ x ϕ y ϕ z ] + [ Δ x n Δ y n Δ z n ] .
After unfolding, the formula becomes:
{ δ v ˙ x n = g ϕ y + Δ x n δ v ˙ y n = g ϕ x + Δ y n δ v ˙ z n = Δ z n
where, ϕ x , ϕ y , and ϕ z are misalignment angles.
When the pedestrian is in the stance phase, the accelerometer bias can be ignored, the above formula can be simplified as:
{ δ v ˙ x n = g ϕ y δ v ˙ y n = g ϕ x .
In line with Equation (8), the horizontal misalignment angle can be estimated by the velocity error. There is no direct relationship between the heading misalignment angle and the velocity error. The heading misalignment angle cannot be estimated using the velocity error. Therefore, ZUPT cannot correct the heading misalignment angle, which affects the final positioning results.

3. FIPP based on Improved Attitude Algorithm (IAA) ZUPT

The analysis results in Section 2.2 shows that the FIPP based on ZUPT cannot effectively estimate the heading misalignment angle. In order to suppress the positioning error caused by the heading misalignment angle, an improved algorithm of ZUPT is proposed as following, which is used while the pedestrian is in a stance phase.

3.1. Horizontal Attitude Estimation by Accelerometer

The projecting components of the gravity along the b frame are measured by accelerometers during the pedestrian stance phase. Therefore, a mathematic relationship can be obtained
f b = C n b g n .
The roll and pitch can be obtained by Equation (10):
{ φ ˜ x = tan 1 ( f y b / f z b ) φ ˜ y = tan 1 ( f x b / f y b 2 + f z b 2 )
where f b = [ f x b f y b f z b ] T .
However, there is one problem. In theory, the projecting components of the gravity are measured by accelerometers during the pedestrian stance phase. The accuracy of the horizontal attitude is decreased by the accelerometer’s measurement noise. To resolve the problem, a prescribed threshold was introduced. When the difference between the acceleration and the gravity is smaller than the prescribed threshold, horizontal attitude is calculated by Equation (10)
| f b g | < T m d .
where f b is the module value of f b ; T m d is a prescribed threshold of magnitude discrepancy.
In theory, the value of | f b g | is zero when a foot in the stance phase. However, the value of | f b g | is constrained to lie in an interval because of accelerometer noise. Therefore, T m d should be set based on the statistical characteristics of measurement noise (e.g., variance of the accelerometer measurement error, which is measured before pedestrian positioning). And T m d cannot be too large, otherwise the accuracy of roll and pitch obtained by Equation (10) will decrease. Therefore, the value of T m d is different for different accelerometers.

3.2. Heading Estimation Algorithm by Accelerometer’s Horizontal Attitude

According to the transformation matrix relationship between different frames, the relationship between the body frame ( b ), navigation frame ( n ) and the calculating frame ( n ˜ ) can be obtained as follows
C b n ˜ = C n n ˜ C b n
where C b n ˜ is the transformation matrix calculated by Equation (2).
C n n ˜ is the misalignment angles matrix:
C n n ˜ = ( [ 1 0 0 0 cos ϕ x sin ϕ x 0 sin ϕ x cos ϕ x ] [ cos ϕ y 0 sin ϕ y 0 1 0 sin ϕ y 0 cos ϕ y ] [ cos ϕ z sin ϕ z 0 s i n ϕ z cos ϕ z 0 0 0 1 ] ) T .
According to the observability analysis of Equation (4) [38,39], the horizontal misalignment angle can be reduced by ZUPT, but the heading misalignment angle is unobserved. Hence, it is assumed that the horizontal misalignment angle of C n n ˜ in Equation (13) is a small angle, and the heading misalignment angle is a larger angle. So C n n ˜ can be reduced to
C n n ˜ = [ cos ϕ z sin ϕ z ϕ y sin ϕ z 1 ϕ x ϕ y cos ϕ z + ϕ x sin ϕ z ϕ y sin ϕ z ϕ x cos ϕ z 1 ] .
C b n is shown in Section 2.1. Hence, C n b = ( C b n ) T = C x C y C z . And Equation (12) can be written as follows,
C b x y n ˜ = C b n ˜ C x C y = C n n ˜ C z 1 .
Converting Equations (2) and (14) into Equation (15),
C b x y n ˜ = [ c ˜ b x y 11 c ˜ b x y 12 c ˜ b x y 13 c ˜ b x y 21 c ˜ b x y 22 c ˜ b x y 23 c ˜ b x y 31 c ˜ b x y 32 c ˜ b x y 33 ] = [ cos ϕ z cos φ z sin ϕ z s i n φ z sin ϕ z cos φ z s i n φ z ( ϕ y cos ϕ z + ϕ x sin ϕ z ) cos φ z ( ϕ y sin ϕ z ϕ x cos ϕ z ) s i n φ z   cos ϕ z sin φ z + sin ϕ z cos φ z ϕ y sin ϕ z sin φ z + cos φ z ϕ x ( ϕ y cos ϕ z + ϕ x sin ϕ z ) sin φ z ( ϕ y sin ϕ z ϕ x cos ϕ z ) cos φ z 1 ]
Based on Equation (16), the misalignment angles can be obtained from Equation (17)
{ ϕ x = c ˜ b x y 23 ϕ y = c ˜ b x y 13 ϕ z = arcsin c ˜ b x y 21 2 + c ˜ b x y 22 2 1 .
Through the mathematical derivations of Equations (12)–(16), the heading misalignment angle can be obtained by Equation (17) when Equation (11) is satisfied.

3.3. Improved Pedestrian Positioning Algorithm Based on IAA ZUPT

At the stance phase, the velocity obtained through calculating is the velocity error, and the attitude misalignment angle can be calculated using Equation (17). Taking the velocity error and the attitude misalignment angle as the observation, the positioning error can be estimated and compensated through the Kalman filter. The system state equations and measurement equations are as follows,
{ X ˙ = A X + η k Z = H X + ν k
where H = [ O 3 × 3 I 3 × 3 O 3 × 3 O 3 × 3 O 3 × 3 O 3 × 3 O 3 × 3 I 3 × 3 O 3 × 3 O 3 × 3 ] is the measure matrix and Z = [ v n Φ ] is the observation of the system.
The entire system block is shown in Figure 4. It can be seen in Figure 4 that the FIPP based on IAA ZUPT includes three parts: the horizontal attitude estimation is based on accelerometer measurements; the heading estimation was obtained by a series of mathematical derivations based on the horizontal attitude; the error estimation and compensation was obtained using the Kalman filter.

4. Performance Evaluation

To verify the accuracy and validity of the improved pedestrian positioning method based on IAA ZUPT, MTi-G710 MIMU produced by XSENS is used. Table 1 shows the parameters of MTi-G710 [40]. The installation schematic of MTi-G710 is shown in Figure 5a. MTi-G710 is attached to the pedestrian’s foot, and the sensors measured data (specific force, angular velocity, GPS position, GPS time, and magnetic field intensity) is collected by MT Software in real time. The sample frequency is 100 Hz.
There are two working modes for MTi-G710: (a) the first one is obtaining the navigation information based on the integrated navigation of MIMU/GPS/Magnetometer; (b) the other one is collecting the inertial sensors measurement data in real time, and the navigation information is obtained by the MIMU data and by the algorithm we proposed. In the first mode, the data fusion algorithm proposed by Xsens is used to deal with the data of MIMU, Magnetometer, and GPS. The horizontal accuracy position of GPS is 2.5 m [40]. In the second mode, the algorithm proposed in this paper is used to deal with the original MIMU data. The second mode is used to verify the correctness and effectiveness of proposed algorithm in this paper. And the navigation information from the first mode is used as the standard information to judge the accuracy of the improved algorithm.
Two group experiments are carried out. Test 1 is based on a rectangle path to check and confirm the validity of the IAA ZUPT algorithm. And more parameter details during the calculating process are provided to illustrate the IAA ZUPT performance. Test 2 is used to test the stability of the IAA ZUPT algorithm, therefore, more walking or running paths are carried out. And the walking velocity, position result, and the positioning error are given to illustrate the stability of the IAA ZUPT algorithm under different walking conditions.
Test 1: Algorithm correctness verification
The test path for this trajectory is a rectangle, which is shown in Figure 5b. The walking length is about 300 m for 5 min. We can judge the performance of the algorithm proposed in this paper by using GPS standard position information. The threshold of T m d in Equation (11) is set with 0.004 m/s2.
Different pedestrian navigation methods, which are shown in Figure 6, are carried on by using the collecting data. On one hand, the pedestrian position information, which is obtained by the MT software, is used as the standard information. On the other hand, the specific force and angular velocity obtained by the MT software is used in the basic ZUPT and IAA-ZUPT (Basic ZUPT is the simple ZUPT algorithm proposed in reference [1], IAA-ZUPT in Section 3). The pedestrian position information, which is calculated by these methods, is used to compare with the standard position information to verify the accuracy and validity of the improved method proposed in this paper.
Figure 7 shows the pedestrian velocity of the experiment. Figure 8a is the heading, and Figure 8b is the heading misalignment angle covariance value of the Kalman filter. Figure 9a is the trajectory with the different method. Figure 9b is the positioning error of the trajectory in Figure 9a. The positive direction of the heading is north by west.
According to the path of Figure 5b, pedestrian velocity in Figure 7, and the real trajectory from GPS in Figure 9a, it can be determined that the walking length is 300 m during 320 s. According to the gait cycle definition and assuming the length of every step is 0.5–0.8 m, it is determined that the ZUPT data length for the stance phase is 15 when the sample frequency is 100 Hz.
The heading covariance is used to judge the correctness and effectiveness of the heading estimation. When comparing the heading misalignment angle covariance of the IAA ZUPT algorithm with ZUPT, the convergence rate and the value are better. This is because the heading misalignment angle is introduced as the observation in the Kalman filter. Then, the heading misalignment angle is estimated and the accuracy is improved.
For basic ZUPT, the heading misalignment angle cannot be observed and the positioning error caused by the heading misalignment angle cannot be estimated. According to the MTI-G710 gyro’s parameters given in Table 1, it can be calculated that when the pedestrian turns at time 125 s, the heading misalignment angle is in the interval of (25 deg ~ 62.5 deg) = (0.2 deg/s ~ 0.5 deg/s) × 125 s (25 deg ~ 62.5 deg). This result is consistent with Figure 9a. Therefore, it can be seen that the gyro’s bias has a major influence on the heading and the position. As can be seen in Figure 8 and Figure 9, the heading is corrected back to nearly 30 degrees, and the positioning error is 8 m when carry out a test of 320 s. This means that the positioning accuracy is improved. The heading estimation time in Figure 9b is the time that Equation (11) is satisfied, and the misalignment angles are estimated and corrected by Equation (18).
Test 2: Algorithm stability verification
To test the stability of the IAA ZUPT algorithm, three groups of tests with different paths are carried out with three different persons. Two different walking velocity is carried out for each path. To make the test result more general, the kind and velocity of path for one person is random. The details for each experiment are shown in Table 2, where the average velocity is the ratio between the walking length and the walking time.
Figure 10, Figure 11, Figure 12, Figure 13, Figure 14 and Figure 15 show the results of the experiments conducted by several experimenters involving different paths, where GPS is used as a reference path and ZUPT is used as a comparison algorithm to judge the accuracy of the experimental results of the proposed algorithm in this paper. Figures for each path include the heading misalignment angle covariance value of the Kalman filter, trajectory, and positioning error.
Figure 10 shows the results of pedestrian A walking at a velocity of 0.87 m/s. In the 90 s experiment, the positioning error of the IAA ZUPT is nearly 3 m, and the positioning error of the ZUPT is nearly 15 m. The convergence rate and the value of IAA ZUPT is better than ZUPT. The heading misalignment angle has a significant improvement at 40 s and 60 s. After the last turn, the heading misalignment angle of IAA ZUPT and ZUPT is nearly 30 degrees and 55 degrees, respectively.
Figure 11 shows the results of pedestrian C walking at a velocity of 1.262 m/s. In the 68 s experiment, the positioning error of the IAA ZUPT is nearly 12m, and the positioning error of the ZUPT is nearly 14.5 m. The positioning error is reduced at 25 s for ZUPT. The convergence rate and the value of IAA ZUPT are better than ZUPT.
After analysis of Figure 10 and Figure 11, it can be determined that although the positioning result is worse when the velocity is faster, the IAA ZUPT is still better than the ZUPT.
Figure 12 shows the results of pedestrian A walking at a velocity of 0.696 m/s. In the 230 s experiment, the positioning error of the IAA ZUPT is nearly 4.5 m, and the positioning error of the ZUPT is nearly 7 m. While the trajectory shows that the positioning results of the two are very close, it can be seen from the positioning error that the IAA ZUPT is smaller.
Figure 13 shows the results of pedestrian C walking at a velocity of 2.051 m/s. In the 80 s experiment, the positioning error of the IAA ZUPT is nearly 5 m, and the positioning error of the ZUPT is nearly 10 m. It can be seen from the trajectory that the positioning result of the IAA ZUPT is closer to the GPS standard.
Figure 14 shows the results of pedestrian A walking at a velocity of 0.770 m/s. In the 475 s experiment, the positioning error of the IAA ZUPT is nearly 4 m, and the positioning error of the ZUPT is nearly 48 m. After 150 s, the heading angle of the IAA ZUPT was improved by nearly 45 degrees.
Figure 15 shows the results of pedestrian B walking at a velocity of 2.410 m/s. In the 160 s experiment, the positioning error of the IAA ZUPT is nearly 3 m, and the positioning error of the ZUPT is nearly 50 m. It can be seen from the trajectory result that the heading misalignment angle of the IAA ZUPT is significantly lower.
The positioning results of 3 groups of experiments are given in Table 3 and Figure 16. Combining with the above 3 groups of experiments, it can be seen that with the correction of the heading misalignment angle, the positioning error of IAA ZUPT is significantly reduced. For different experiments of the same path, although the positioning results will be worse due to reduced filter data when the pedestrian velocity is fast, the positioning result obtained by the IAA ZUPT is also superior to the ZUPT algorithm for each experiment. That means the IAA ZUPT has a positive influence on the positioning result. Therefore, when the walking velocity is fast, the effect of IAA ZUPT for the pedestrian position is more powerful. The experimental results prove the stability of the IAA algorithm.

5. Conclusions

To solve the problem of the heading misalignment angle of FIPP based on ZUPT being unable to be observed by the Kalman filter, an IAA based on an accelerometer is introduced in this paper. IAA is used to estimate the attitude misalignment angle by taking the velocity error and the attitude misalignment angle as the observation to estimate the positioning error. Then, the positioning error caused by the heading misalignment angle can be compensated for without any external sensors. Hence, this method does not increase the complexity of the system. Based on the above studies, the MTi-G710 sensor manufactured by XSENS was used for the actual test. Through the analysis results from the trajectory tracking, the accuracy and stability of the proposed algorithm in this paper for correcting the positioning error and the heading misalignment angle are verified. This method can restrain the heading misalignment angle, but this method can only be applied when the accelerometer noise is small. The question of how to deal with the accelerometer noise when the pedestrian in the stance phase will be covered in future next research.

Author Contributions

Conceptualization, Q.W.; methodology, Q.W. and M.C. (Ming Cheng); validation, K.L.; M.C. (Muchun Cai) and M.C. (Ming Cheng); formal analysis, Z.S. and M.C. (Muchun Cai); resources, Z.S.; data curation, K.L.; writing—original draft preparation, Q.W.; writing—review and editing, K.L. and M.C. (Ming Cheng).

Funding

This research was funded by National Natural Science Foundation of China, grant number “51879046” and Natural Science Foundation of Heilongjiang Province, grant number” YQ2019F001”.

Conflicts of Interest

The authors declare no conflicts of interest.

References

  1. 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]
  2. Foxlin, E. Pedestrian Tracking with Shoe-Mounted Inertial Sensors. IEEE Comput. Graph. Appl. 2005, 25, 38–46. [Google Scholar] [CrossRef] [PubMed]
  3. Nilsson, J.-O.; Skog, I.; Handel, P.; Hari, K.V.S. Foot-mounted inertial navigation for everybody-an open-source embedded implementation. In Proceedings of the IEEE/ION Position, Location and Navigation Symposium (PLANS), Myrtle Beach, SC, USA, 23–26 April 2012; pp. 140–145, ISBN 978-1-4673-0387-3. [Google Scholar]
  4. Ojeda, L.; Borenstein, J. Non-GPS navigation for security personnel and first responders. J. Navig. 2007, 60, 391–407. [Google Scholar] [CrossRef]
  5. Godha, S.; Lachapelle, G. Foot mounted inertial system for pedestrian navigation. Meas. Sci. Technol. 2008, 19, 075202. [Google Scholar] [CrossRef]
  6. Tong, X.; Su, Y.; Li, Z.F.; Si, C.W.; Han, G.W.; Ning, J.; Yang, F.H. A Double-step Unscented Kalman Filter and HMM-based Zero Velocity Update for Pedestrian Dead Reckoning Using MEMS Sensors. IEEE Trans. Ind. Electron. 2019, 67, 581–591. [Google Scholar] [CrossRef]
  7. Lee, J.S.; Huang, S.M. An Experimental Heuristic Approach to Multi-Pose Pedestrian Dead Reckoning Without Using Magnetometers for Indoor Localization. IEEE Sens. J. 2019, 19, 9532–9542. [Google Scholar] [CrossRef]
  8. Niu, X.J.; Li, Y.; Kuang, J.; Zhang, P. Data Fusion of Dual Foot-Mounted IMU for Pedestrian Navigation. IEEE Sens. J. 2019, 19, 4577–4584. [Google Scholar] [CrossRef]
  9. Xia, M.; Xiu, C.D.; Yang, D.K.; Wang, L. Performance Enhancement of Pedestrian Navigation Systems Based on Low-Cost Foot-Mounted MEMS-IMU/Ultrasonic Sensor. Sensors 2019, 19, 364. [Google Scholar] [CrossRef]
  10. Sung, K.; Lee, H.K.; Kim, H. Pedestrian Positioning Using a Double-Stacked Particle Filter in Indoor Wireless Networks. Sensors 2019, 19, 3907. [Google Scholar] [CrossRef]
  11. Park, S.K.; Suh, Y.S. A Zero Velocity Detection Algorithm Using Inertial Sensors for Pedestrian Navigation Systems. Sensors 2010, 10, 9163–9178. [Google Scholar] [CrossRef]
  12. Skog, I.; Nilsson, J.O.; Handel, P. Evaluation of Zero-Velocity Detectors for Foot-Mounted Inertial Navigation Systems. In Proceedings of the International Conference on Indoor Positioning and Indoor Navigation, Zurich, Switzerland, 15–17 September 2010; pp. 172–173, ISBN 978-1-4244-5864-6. [Google Scholar]
  13. Bebek, O.; Suster, M.A.; Rajgopal, S.; Fu, M.J.; Huang, X.M.; Cavusoglu, M.C.; Young, D.J.; 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. Zhang, R.; Yang, H.; Hoflinger, F.; Reindl, L.M. Adaptive zero velocity update based on velocity classification for pedestrian tracking. IEEE Sens. J. 2017, 17, 2137–2145. [Google Scholar] [CrossRef]
  15. Jasiewicz, J.M.; Allum, J.H.J.; Middleton, J.W.; Barriskill, A.; Condie, P.; Purcell, B.; Li, R.C.T. Gait event detection using linear accelerometers or angular velocity transducers in able-bodied and spinal-cord injured individuals. Gait Posture 2006, 24, 502–509. [Google Scholar] [CrossRef] [PubMed]
  16. Tien, I.; Glaser, S.D.; Bajcsy, R.; Goodin, D.S.; Aminoff, M.J. Results of using a wireless inertial measuring system to quantify gait motions in control subjects. IEEE Trans. Inf. Technol. Biomed. 2010, 14, 904–915. [Google Scholar] [CrossRef]
  17. Sabatani, A.M.; Martelloni, C.; Scapellato, S.; Cavallo, F. Energy expenditure rate in level and uphill treadmill walking determined from empirical models and foot inertial sensing data. Electron. Lett. 2004, 40, 95–96. [Google Scholar] [CrossRef]
  18. 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]
  19. Zhao, H.; Wang, Z.Y. Motion Measurement Using Inertial Sensors, Ultrasonic Sensors, and Magnetometers with Extended Kalman Filter for Data Fusion. IEEE Sens. J. 2012, 12, 943–953. [Google Scholar] [CrossRef]
  20. Hu, P.D.; Xu, P.; Chen, B.X.; Wu, Q.P. A Self-Calibration Method for the Installation Errors of Rotation Axes Based on the Asynchronous Rotation of Rotational Inertial Navigation Systems. IEEE Trans. Ind. Electron. 2018, 65, 3550–3558. [Google Scholar] [CrossRef]
  21. Kok, M.; Schon, T.B. Magnetometer Calibration Using Inertial Sensors. IEEE Sens. J. 2016, 16, 5679–5690. [Google Scholar] [CrossRef]
  22. Koutsou, A.D.; Seco, F.; Jimenez, A.R.; Roa, J.O.; Ealo, J.L.; Prieto, C.; Guevara, J. Preliminary localization results with an Rfid Based Indoor Guiding System. In Proceedings of the IEEE International Symposium on Intelligent Signal Processing, Conference Proceedings Book, Alcala de Henares, Spain, 3–5 October 2007; pp. 917–922, ISBN 978-1-4244-0829-0. [Google Scholar]
  23. Wilson, S.; Michael, A.O.; Mlitwa, N.B.W. A state-of-the-art survey of indoor positioning and navigation systems and technologies. S. Afr. Comput. J. 2017, 29, 145–197. [Google Scholar] [CrossRef]
  24. Piccinni, G.; Avitabile, G.; Coviello, G. An improved technique based on Zadoff-Chu sequences for distance measurements. In Proceedings of the 2016 IEEE Radio & Antenna Days of the Indian Ocean, St. Gilles-les-Bains, Reunion, 10–13 October 2016. [Google Scholar] [CrossRef]
  25. Piccinni, G.; Avitabile, G.; Coviello, G. A novel distance measurement technique for indoor positioning systems based on Zadoff-Chu Sequences. In Proceedings of the 2017 15th IEEE International New Circuits and Systems Conference, Strasbourg, France, 25–28 June 2017; pp. 337–340. [Google Scholar] [CrossRef]
  26. Jerabek, J.; Zaplatilek, L.; Pola, M. A proposal of radio ultrawideband systems for precision indoor localization. In Proceedings of the 2015 25th International Conference Radioelektronika, Pardubice, Czech Republic, 21–22 April 2015. [Google Scholar] [CrossRef]
  27. Gu, Y.; Zhou, C.F.; Wieser, A.; Zhou, Z.M. Pedestrian positioning using WiFi fingerprints and a foot-mounted inertial sensor. In Proceedings of the 2017 European Navigation Conference (ENC), Lausanne, Switzerland, 9–12 May 2017; pp. 91–99, ISBN 978-1-5090-5922-5. [Google Scholar]
  28. Zou, H.; Chen, Z.H.; Jiang, H.; Xie, L.H.; Spanos, C. Accurate indoor localization and tracking using mobile phone inertial sensors, WiFi and iBeacon. In Proceedings of the 2017 4th IEEE International Symposium on Inertial Sensors and Systems (INERTIAL), Laguna Beach, CA, USA, 27–30 March 2017; ISBN 978-1-5090-3233-4. [Google Scholar]
  29. 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, 3093–3206. [Google Scholar] [CrossRef]
  30. Bao, S.D.; Meng, X.L.; Xiao, W.D.; Zhang, Z.Q. Fusion of Inertial/Magnetic Sensor Measurements and Map Information for Pedestrian Tracking. Sensors 2017, 17, 340. [Google Scholar] [CrossRef] [PubMed]
  31. Qiu, S.; Wang, Z.L.; Zhao, H.Y.; Qin, K.R.; Li, Z.L.; Hu, H.S. Inertial/magnetic sensors based pedestrian dead reckoning by means of multi-sensor fusion. Inf. Fusion 2018, 39, 108–119. [Google Scholar] [CrossRef]
  32. Metge, J.; Megret, R.; Giremus, A.; Berthoumieu, Y.; Decamps, T. Calibration of an inertial-magnetic measurement unit without external equipment, in the presence of dynamic magnetic disturbances. Meas. Sci. Technol. 2014, 25, 125106. [Google Scholar] [CrossRef]
  33. Vasconcelos, J.F.; Elkaim, G.; Silvestre, C.; Oliveira, P.; Cardeira, B. Geometric approach to strapdown magnetometer calibration in sensor frame. IEEE Trans. Aerosp. Electron. Syst. 2011, 47, 1293–1306. [Google Scholar] [CrossRef]
  34. Wu, Y.X.; Zou, D.P.; Liu, P.L.; Yu, W.X. Dynamic Magnetometer Calibration and Alignment to Inertial Sensors by Kalman filtering. IEEE Trans. Control Syst. Technol. 2018, 26, 716–723. [Google Scholar] [CrossRef]
  35. Wang, Q.Y.; Guo, Z.; Sun, Z.G.; Cui, X.F.; Liu, K.Y. Research on the Forward and Reverse Calculation Based on the Adaptive Zero-Velocity Interval Adjustment for the Foot-Mounted Inertial Pedestrian-Positioning System. Sensors 2018, 18, 1642. [Google Scholar] [CrossRef]
  36. Zhao, H.Y.; Wang, Z.L.; Gao, Q.; Hassan, M.M.; Alelaiwi, A. Smooth estimation of human foot motion for zero-velocity-update-aided inertial pedestrian navigation system. Sens. Rev. 2015, 35, 389–400. [Google Scholar] [CrossRef]
  37. Colomar, D.S.; Nilsson, J.O.; Handel, P. Smoothing for ZUPT-aided INSs. In Proceedings of the 2012 International Conference on Indoor Positioning and Indoor Navigation (IPIN), Sydney, NSW, Australia, 13–15 November 2012; pp. 15–17, ISBN 978-1-4673-1955-3; 978-1-4673-1954-6. [Google Scholar]
  38. Ramanandan, A.; Chen, A.N.; Farrell, J.A. Observability analysis of an inertial navigation system with stationary updates. In Proceedings of the 2011 American Control Conference, San Francisco, CA, USA, 29 June–1 July 2011; pp. 5292–5299, ISBN 978-1-4577-0081-1. [Google Scholar]
  39. Eduardo, N.; Hugh, D.W. Initial calibration and alignment of low-cost inertial navigation units for land vehicle applications. J. Field Robot. 1999, 16, 81–92. [Google Scholar] [CrossRef]
  40. MTi 10-Series and MTi 100-Series; Xsens Technologies B.V.: Enschede, The Netherlands, 2015.
Figure 1. Principle of FIPP (Foot-mounted inertial pedestrian positioning).
Figure 1. Principle of FIPP (Foot-mounted inertial pedestrian positioning).
Electronics 08 01405 g001
Figure 2. Trajectory Calculating.
Figure 2. Trajectory Calculating.
Electronics 08 01405 g002
Figure 3. The characteristics of the foot touchdown.
Figure 3. The characteristics of the foot touchdown.
Electronics 08 01405 g003
Figure 4. Flowchart of attitude algorithm based on the accelerometer.
Figure 4. Flowchart of attitude algorithm based on the accelerometer.
Electronics 08 01405 g004
Figure 5. MTi-G710 installation schematic and the trajectory. (a) Installation schematic, (b) Trajectory.
Figure 5. MTi-G710 installation schematic and the trajectory. (a) Installation schematic, (b) Trajectory.
Electronics 08 01405 g005
Figure 6. The schematic of off-line calculating methods.
Figure 6. The schematic of off-line calculating methods.
Electronics 08 01405 g006
Figure 7. Pedestrian velocity of the experiment. (a) Velocity of the experiment, (b) Local graph of velocity.
Figure 7. Pedestrian velocity of the experiment. (a) Velocity of the experiment, (b) Local graph of velocity.
Electronics 08 01405 g007
Figure 8. Heading estimation result and covariance. (a) Heading, (b) Heading covariance values.
Figure 8. Heading estimation result and covariance. (a) Heading, (b) Heading covariance values.
Electronics 08 01405 g008
Figure 9. Trajectory estimation results and positioning error with different methods. (a) Trajectory estimation results, (b) Positioning error.
Figure 9. Trajectory estimation results and positioning error with different methods. (a) Trajectory estimation results, (b) Positioning error.
Electronics 08 01405 g009
Figure 10. Trajectory 1 with normal walking velocity. (a) Heading covariance values, (b) Trajectory, (c) Positioning error.
Figure 10. Trajectory 1 with normal walking velocity. (a) Heading covariance values, (b) Trajectory, (c) Positioning error.
Electronics 08 01405 g010
Figure 11. Trajectory 1 with fast walking velocity. (a) Heading covariance values, (b) Trajectory, (c) Positioning error.
Figure 11. Trajectory 1 with fast walking velocity. (a) Heading covariance values, (b) Trajectory, (c) Positioning error.
Electronics 08 01405 g011
Figure 12. Trajectory 2 with a low walking velocity. (a) Heading covariance values, (b) Trajectory, (c) Positioning error.
Figure 12. Trajectory 2 with a low walking velocity. (a) Heading covariance values, (b) Trajectory, (c) Positioning error.
Electronics 08 01405 g012
Figure 13. Trajectory 2 with a running velocity. (a) Heading covariance values, (b) Trajectory, (c) Positioning error.
Figure 13. Trajectory 2 with a running velocity. (a) Heading covariance values, (b) Trajectory, (c) Positioning error.
Electronics 08 01405 g013
Figure 14. Trajectory 3 with a slow walking velocity. (a) Heading covariance values, (b) Trajectory, (c) Positioning error.
Figure 14. Trajectory 3 with a slow walking velocity. (a) Heading covariance values, (b) Trajectory, (c) Positioning error.
Electronics 08 01405 g014
Figure 15. Trajectory 3 with a running velocity. (a) Heading covariance values, (b) Trajectory, (c) Positioning error.
Figure 15. Trajectory 3 with a running velocity. (a) Heading covariance values, (b) Trajectory, (c) Positioning error.
Electronics 08 01405 g015
Figure 16. Positioning results of test 2.
Figure 16. Positioning results of test 2.
Electronics 08 01405 g016
Table 1. MTi-G710 Parameters.
Table 1. MTi-G710 Parameters.
SensorsTypical
GyroBias repeatability[deg/s]0.2
Noise density[deg/s]0.01
Standard full range[deg/s]450
AccBias repeatability[m/s2]0.03
Noise density[μg/√Hz]80
Standard full range[m/s2]200
Table 2. Details for each group experiment.
Table 2. Details for each group experiment.
No.PersonAverage Velocity (m/s)Walking TypeFigure
1A0.870NW 1Figure 10a–c
2C1.262FW 2Figure 11a–c
3A0.696SW 3Figure 12a–c
4C2.051R 4Figure 13a–c
5A0.770SWFigure 14a–c
6B2.410RFigure 15a–c
1 NW-Normal Walking; 2 FW-Fast Walking; 3 SW-Slow Walking; 4 R-Running.
Table 3. Results of test 2.
Table 3. Results of test 2.
PathVelocity (m/s)Positioning Error of IAA ZUPT (m)Positioning Error of ZUPT (m)
0.870315
1.2621214.5
0.6964.57
2.051510
0.770448
2.410350

Share and Cite

MDPI and ACS Style

Wang, Q.; Liu, K.; Sun, Z.; Cai, M.; Cheng, M. Research on the Heading Calibration for Foot-Mounted Inertial Pedestrian-Positioning System Based on Accelerometer Attitude. Electronics 2019, 8, 1405. https://doi.org/10.3390/electronics8121405

AMA Style

Wang Q, Liu K, Sun Z, Cai M, Cheng M. Research on the Heading Calibration for Foot-Mounted Inertial Pedestrian-Positioning System Based on Accelerometer Attitude. Electronics. 2019; 8(12):1405. https://doi.org/10.3390/electronics8121405

Chicago/Turabian Style

Wang, Qiuying, Kaiyue Liu, Zhiguo Sun, Muchun Cai, and Ming Cheng. 2019. "Research on the Heading Calibration for Foot-Mounted Inertial Pedestrian-Positioning System Based on Accelerometer Attitude" Electronics 8, no. 12: 1405. https://doi.org/10.3390/electronics8121405

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