Skip to main content
Micromachines logoLink to Micromachines
. 2022 Apr 13;13(4):610. doi: 10.3390/mi13040610

Pedestrian Dead Reckoning with Low-Cost Foot-Mounted IMU Sensor

Shunsei Yamagishi 1, Lei Jing 1,*
Editor: Burak Eminoglu1
PMCID: PMC9027260  PMID: 35457914

Abstract

In this paper, we researched Pedestrian Dead Reckoning (PDR) with one foot-mounted IMU sensor. The issues of PDR are magnetism noise and accumulated error due to the noise included in acceleration and gyro data. Two methods are proposed in this paper. First is the gait-phase-estimation method with pitch angle for the Zero Velocity Update algorithm. Second is a method for avoiding accumulated errors by updating the roll and pitch angles with acceleration. The two experiments were conducted to examine the error of gait-phase estimation and distance estimations. The relative error of distance was about 7.40% in the case of walking straight and about 12.27% in the case of a shifting travel direction.

Keywords: PDR, zero velocity update, gait phase estimation, kalman filter

1. Introduction

PDR is the one of the technologies to estimate pedestrian position. PDR contributes to navigation systems. Navigation systems should use GPS or PDR technology depending on the situation. For example, a navigation system navigates a person using GPS when they are in the outdoors and navigates a person using PDR when they are in an underground pathway. There are technologies for navigation systems, such as GPS; however, GPS is unsuitable for an indoor navigation system. Navigation systems with IMU sensors are suitable for indoor navigation systems.

IMU-based PDR technologies have been explored in detail by the other papers, and there are advantages, such as no effects from circumjacent objects except for electronic goods in IMU-based PDR. There are technologies to estimate a pedestrian’s position, such as methods using ultrasound waves or beacons. Pedestrian position estimation by these methods are affected by circumjacent objects.

However, there are two main disadvantages in IMU-based PDR methods. First is the accumulated error in estimating velocity. Second is the accumulated error in estimating attitude angles. Generally, the first issue is handled by a Zero Velocity Update algorithm, and the second issue is handled by sensor-fusion methods, such as a Kalman filter and Complementary filter. The development of high accuracy mid-stance detection algorithms for Zero Velocity Updates is needed.

Therefore, in this paper, we proposed new methods to solve these two issues. First is the gait-phase-estimation method for the Zero Velocity Update algorithm. This detects the mid-stance phase. The pitch angle is the focus in this method. When a foot is in mid-stance phase, the pitch angle and the gyro of the foot-mounted IMU sensor will be nearly 0. Secondly, the roll/pitch update method handles the accumulated error in attitude angles. The roll and pitch angles are calculated by integrating the gyro during gait phases, except for mid-stance, and they update the roll and pitch angles using the acceleration measured in each mid-stance phase. The main contributions of this paper are two proposed methods:

  • The gait-phase estimation method for Zero Velocity Updates.

  • The roll/pitch update method that, during the mid-stance phase, updates the roll and pitch angles using the acceleration measured in each mid-stance phase.

This paper is organized in five sections, with the Introduction in Section 1, Related Works in Section 2, the System and Method in Section 3, Experiments in Section 4 and our Conclusions and Future Work in Section 5.

2. Related Works

2.1. Application Model

A pedestrian wears an IMU sensor on their left shoe. Figure 1 shows application model.

Figure 1.

Figure 1

Application model.

2.2. IMU Sensors and Deployment Positions for PDR

In this research, a low-cost IMU sensor was used. There are tactical-grade IMU sensors, such as STIM202 [1], STIM300 [2]. Tactical-grade IMU sensors have much better performance compared with low-cost IMU sensors. However, tactical-grade IMU sensors are not suitable for navigation system in daily life because the price is expensive. In this paper, a low-cost IMU sensor is mounted on a shoe because it is easy to detect the mid-stance phase for Zero Velocity Updates. There are papers on PDR using smartphones, such as [3,4,5]. A paper [4] (A. Poulose et al.) described that the advantage of using smartphone-based position-estimation systems is that this requires no additional peripherals devices except for the smartphone itself. However, according to the paper [3] (S. Park et al.), the zero velocity phase rarely occurs in the case of Zero Velocity Updates (ZUPT) in the smartphone.

2.3. Related Works for the First Issue and Second Issue

In the paper [6] (H. Fourati), a method using the Complementary filter instead of Extended Kalman filter was proposed. The paper [6] presented the Quaternion-based complementary filter. MTI-IMU produced by Xsens was used for the experiments of [6]. The measurement error in positioning was about 0.4%.

In the paper [7] (Z. Xiao-dong et al.), a new Zero Velocity Update algorithm using Kalman filter and Particle filter was proposed. An IMU sensor produced by Xsens was used in the experiments of [7]. The measurement error in positioning was less than 0.5%.

In the paper [8] (L.-F.Shi et al.), a novel orientation estimation and gait-phase detection algorithm were proposed. The paper [8] proposed a Zero Velocity Update and orientation and velocity calibration method. The experiments of [8] were conducted indoors and outdoors, attaching an MPU9250 IMMU to the foot. The average distance error was less than 1.2%.

2.4. Summary

In previous studies, the orientation and velocity calibration method [8] and methods using sensor-fusion methods, such as Quaternion-based Complementary filter [6], Kalman filter and Particle filter [7] were proposed to handle accumulated error issues. In addition, many gait-phase detection algorithms have been proposed to improve Zero Velocity Updates as well.

Therefore, in this paper, the roll/pitch update method and gait-phase-estimation method are proposed with the aims of handling accumulated errors in attitude angles and improving the Zero Velocity Update method.

3. System and Method

3.1. System Architecture

Figure 2 shows the system architecture. There are 11 steps. The gyro and magnetism data are calibrated in step 0. After that, the acceleration, gyro and magnetism data are input. In step 1 to step 3, all input data are filtered by the simple moving average. In step 4, gait-phase estimation is conducted to detect mid-stance phase. In step 5, the gyro data of the pitch angle and roll angles are integrated, and the roll and pitch angles are updated mid-stance using acceleration. In step 6, the gyro and magnetism data are fused to calculate the yaw angle. In step 7, the acceleration is converted from local coordinates to global coordinates. In step 8, the acceleration is integrated to calculate the velocity, and the Zero Velocity Update is conducted. In step 9, the velocity is integrated to calculate the position vector. In step 10, the pedestrian position is estimated using the yaw angle and position vector.

Figure 2.

Figure 2

System architecture.

3.2. Data Preprocessing (Step 0)

Before the data are processed, the gyro and magnetism data are calibrated. In the gyro calibration, gyro offsets are eliminated by subtracting the gyro data for calibration from the raw gyro data. In the magnetism calibration, the gap of the ellipse center is measured, and the raw magnetism data are modified with the measured gap.

3.3. Low-Pass Filter (Step 1, 2, 3)

Acceleration, gyro, and magnetism data are filtered with a low-pass filter and simple moving average. The definition of the simple moving average is shown in Equation (1). afiltered,n and araw,n denote filtered data and raw data, respectively.

afiltered,n=12w+1k=nwn+waraw,k (1)

In this paper, n denotes the index. 2w+1 is the window size. The window size is set to 21 (w=10).

3.4. Gait Phase Estimation (Step 4)

We propose a method to estimate the gait phase with pitch angle. According to the papers [6,9], there are two phases, the stance phase and the swing phase in the gait phase. Furthermore, according to [9], there are the pre-stance, mid-stance and terminal stance in the stance phase, and there are the pre-swing, mid-swing and terminal swing in the swing phase. Figure 3 shows six gait phases. According to the paper [10], the pitch angle is obtained with Equation (2).

θa=tan1axay2+az2 (2)

Figure 3.

Figure 3

Gait phases (there are six gait phases).

Equation (2) is used for our method. Let θa,n=tan1ax,nay,n2+az,n2. θa,n denotes θa measured in n-th time. The algorithm to estimate the gait phases is as follows.

Step 1: Conduct the low-pass filter to θa,n2 and ωy,n2.

θa,n2=θa,n2ifnwNwn12w+1i=nwn+wθa,n2else (3)
ωy,n2=ωy,n2ifnwNwn12w+1i=nwn+wωy,n2else (4)

N: Length of the data

Step 2: Estimate the gait phase into Label Ln

Ln=1ifθ1θa,n2θ2ωy,n20else (5)

where θ1, θ2 denote thresholds. θ1 is set to 0.1, and θ2 is set to 0.2. If Ln=0, it is estimated as mid-stance. Otherwise, if Ln=1, it is not estimated as mid-stance.

3.5. Integration and Roll and Pitch Update (Step 5)

The method for avoiding accumulated errors in attitude angles is proposed for use in a ramp. In the paper [8] (L.-F.Shi et al.), they make an assumption that the roll and pitch angles are assumed to be the same as the initial value during each stance phase. In the paper [8], a method based on this assumption is proposed. However, in the case of a ramp, their assumption does not hold.

In the method in this paper, during each mid-stance phase, the roll and pitch angles are updated to ϕa and θa as measured in each mid-stance phase. On the other hand, the gyro is integrated during the other gait phases. According to the paper [10], Equation (6) can be used to obtain the pitch angle.

ϕa=tan1ayaz (6)

Equations (2) and (6) are used for the roll/pitch update method. The trapezoidal rule is used for integration. The trapezoidal rule is shown in the following equation.

abf(t)dtn=0N1Δt2(fn+fn+1) (7)

Δt is 1/Sampling rate, f0=f(a),fN=f(b) and fn+1=f(t+Δt) when fn=f(t).

The integration and roll and pitch update method is implemented with the recurrence Formula (8).

θnϕn=tan1ax,nay,n2+az,n2tan1ay,naz,nifLn=0θn1ϕn1+Δt2(ωy,nωx,n+ωy,n+1ωx,n+1)ifLn=1 (8)

Figure 4 shows the comparison between roll and pitch angles obtained by only integration and roll and pitch angles obtained by (8). It is confirmed that the orange lines show less drift than the blue lines.

Figure 4.

Figure 4

Comparison between attitude angles by only integration and attitude angles by integration with the roll/pitch update (the horizontal axes and vertical axes denote the index and roll or pitch angle [rad], respectively).

3.6. Kalman Filter (Step 6)

The Kalman filter is implemented with the following status equation and observation equation.

ψk=ψk1+Δtωz,k+wk (9)
zk=ψk+vk (10)

wk, vk and ψk denote the system noise, the observation noise and the yaw angle in the kth time, respectively. The observation vector zk is atan2(mx,k,my,k)ψ0. ψ0 is the average of atan2(mx,k,my,k) from index k=0 to k=399. Let ψk be status vector x^k, A=1, B=Δt, uk=ωz,k and H=1.

According to [11], the prediction equations are defined from (11) to (12).

x^k=Ax^k1+Buk1 (11)
Pk=APk1AT+Q (12)

According to [11], the update equations are defined from (13) to (15).

Kk=PkHT(HPkHT+R)1 (13)
x^k1=x^k+Kk(zkHx^k) (14)
Pk=(IKkH)Pk (15)

I denotes the unit matrix. The filter deviation matrix P0 is set to 100, and Q and R are set to 1.0×105, 1.0×102.

3.7. Coordinate Conversion (Step 7)

The acceleration is converted from local coordinates to global coordinates with Quaternion. Quaternion q is represented as q=q0+q1i+q2j+q3k. Let u=u0+u1i+u2j+u3k, al=axi+ayj+azk and ag=aXi+aYj+aZk. u, al and ag denote Quaternion, which represents rotation, acceleration in the local coordinate and acceleration in the global coordinate, respectively.

u0u1u2u3=cosψ2cosθ2cosϕ2+sinψ2sinθ2sinϕ2cosψ2cosθ2sinϕ2sinψ2sinθ2cosϕ2cosψ2sinθ2cosϕ2+sinψ2cosθ2sinϕ2cosψ2sinθ2sinϕ2+sinψ2cosθ2cosϕ2 (16)

ψ,θ and ϕ denote the yaw angle, pitch angle and roll angle, respectively. The local coordinate is converted to a global coordinate with the following equation.

ag=ualu¯ (17)

u¯ denotes the conjugate Quaternion of u. Figure 5 shows the comparison between the accelerations in the local coordinate and in the global coordinate.

Figure 5.

Figure 5

Comparison between local coordinates and global coordinates (The horizontal axes and vertical axes denote the index and acceleration [m/s2], respectively).

3.8. Integration and Zero Velocity Update (Steps 8 and 9)

Zero Velocity Update is used for reducing the drift. The foot velocity is almost 0 when the foot state is in the mid-stance. From the trapezoidal rule and Zero Velocity Update, the foot velocity vn and position vector rn are calculated with the following recurrence equation.

vn=0R2ifLn=0vn1+Δt2(aX,naY,n+aX,n+1aY,n+1)ifLn=1 (18)
rn=rn1+Δt2(vX,nvY,n+vX,n+1vY,n+1) (19)
(v0=0R2,r0=0R2)

Figure 6 shows the comparison between the velocity obtained by only integration and the velocity obtained by the Zero Velocity Update and integration.

Figure 6.

Figure 6

Comparison between the velocity obtained by only integration and the velocity obtained by the Zero Velocity Update and integration (the horizontal axes and vertical axes denote the index and velocity [m/s], respectively).

3.9. Pedestrian Position Estimation (Step 10)

The pedestrian position is estimated on the complex plane using the following equations (Figure 7).

pn=pn1+||rnrn1||i (20)
pn=(pnpn1eiψn)+pn1 (21)
(p0=0)

pn is the pedestrian position.

Figure 7.

Figure 7

The pedestrian position in the global coordinates (pn and pn1 denote the current pedestrian position and previous pedestrian position, respectively. Coordinate (pX,pY) is the global coordinate of the floor).

4. Experiments

The two experiments were conducted for accuracy examination of the system. The experiments were conducted indoors. Figure 8 shows the implementation of the system, and Figure 9 shows the location of the IMU sensor. The IMU sensor (Wonder-Sense, developed in our laboratory) was used.

Figure 8.

Figure 8

Implementation of the experiments.

Figure 9.

Figure 9

The placement location of the IMU sensor on a shoe.

4.1. Exp. 1: Gait Phase Estimation Test

This experiment’s objective is accuracy examination for gait-phase estimation. We defined the True label by synchronizing the collected data with videos taken during collecting the data. If the True label is 0, this indicates mid-stance. On the other hand, if the True label is 1, this indicates the other gait phases. The estimation error (ER) is calculated with the below equation.

ER=(1TruePositiveTruePositive+FalseNegative)×100[%] (22)

Table 1 shows the estimation error of mid-stance by the gait-phase-estimation algorithm shown in Section 3.4. Three sets of straight walking data of one person were collected. Figure 10, Figure 11 and Figure 12 show the wave-form of data collected in first time, second time and third time. The wave-form in the first line shows the acceleration data in the x axis (acceleration data of the traveling direction) in local coordinates. The wave-form in the second line shows the squared pitch angle θa,n2. The wave-form in the third line shows the squared pitch angle’s gyro ωy,n2. The wave-form in the fourth line shows a comparison between the true label and estimated label.

Table 1.

The results of Experiment 1.

Estimation Error of Mid-Stance [%] Measurement Time [s]
first time 7.38 16.2
second time 4.66 15.3
third time 9.99 15.6

Figure 10.

Figure 10

The wave-form of the data from the first data collection.

Figure 11.

Figure 11

The wave-form of the data from the second data collection.

Figure 12.

Figure 12

The wave-form of the data from the third data collection.

The gait-phase-estimation algorithm should be improved from the data in Table 1. Estimation error of mid-stance was about 7.34% in average. However, each estimation error is scattered. A reliable gait-phase-estimation algorithm should have a lower error and low variance.

4.2. Exp. 2: Test for Estimation of Walking Trajectory

This experiment’s objective was the examination of the accuracy of the trajectory estimation. The relative error (RE) shown in the following equation calculates the accuracy of the distance estimation.

RE=EstimateddistanceWalkeddistanceWalkeddistance×100[%] (23)

Figure 13 shows the walking routes of this experiment. Figure 14, Figure 15 and Figure 16 show the estimated walking trajectory. Table 2, Table 3 and Table 4 show the results of the estimated distance. The walking data of one person were collected. This experiment was conducted in the laboratory.

Figure 13.

Figure 13

The walking routes of Experiment 2.

Figure 14.

Figure 14

The results of route 1.

Figure 15.

Figure 15

The results of route 2.

Figure 16.

Figure 16

The results of route 3.

Table 2.

The results of route 1.

Walked Distance [m] Estimated Distance [m] Relative Error [%] Measurement Time [s]
1 (d = 1) 0.88 −11.964 11.9
2 (d = 2) 1.893 −5.355 13.3
3 (d = 3) 2.887 −3.752 14.3
4 (d = 4) 3.658 −8.545 12.5

Table 3.

The results of route 2.

Walked Distance [m] Estimated Distance [m] Relative Error [%] Measurement Time [s]
4.7 (d = 2) 4.911 4.491 17.0
6.7 (d = 3) 7.846 17.103 17.6
8.7 (d = 4) 9.061 4.147 18.3

Table 4.

The results of route 3.

Walked Distance [m] Estimated Distance [m] Relative Error [%] Measurement Time [s]
8 7.883 −1.466 20.8
16 (1 round-trip) 19.688 23.049 28.9
32 (2 round-trip) 37.357 16.739 47.5
48 (3 round-trip) 54.02 12.541 67.8
64 (4 round-trip) 71.809 12.201 85.8
80 (5 round-trip) 91.037 13.797 101.4
96 (6 round-trip) 110.206 14.798 114.1
112 (7 round-trip) 128.723 14.931 129.9

The relative error of distance is much larger than in related studies, and the yaw angle estimation is not good as shown Figure 15 and Figure 16. One of the possible reasons for the bad yaw angle estimation is the effect of magnetism from the other electronic devices. It is possible that the Kalman filter could not accurately estimate the yaw angle due to the large magnetism noise. Therefore, the yaw angle estimation in this paper should be improved referring to papers on the heading estimation method, such as [12,13].

5. Conclusions and Future Work

The norm of the relative errors of distance was about 7.40% in the case of straight walking and a short distance. On the other hand, the relative error of distance was about 12.27% in the case of a shifting travel direction. In comparison with with related research, the relative errors of the system in this paper were larger. In particular, the relative error of distance was much larger in the shifting travel direction. Future work must verify the accuracy of the system for the case of walking on a ramp. We could not verify this due to time constraints in our research. In addition, the roll/pitch update method in Section 3.5 was proposed in the case of a ramp, and the gait-phase-estimation method in Section 3.4 was proposed in the case of no ramp. Therefore, the gait-phase-estimation method should be modified when the roll/pitch update is verified in the case of walking on a ramp.

Author Contributions

Conceptualization, L.J.; Data curation, S.Y.; Formal analysis, L.J.; Funding acquisition, L.J.; Investigation, L.J.; Methodology, S.Y.; Project administration, L.J.; Resources, L.J.; Software, S.Y.; Supervision, L.J.; Writing—original draft, S.Y.; and Writing—review and editing, L.J. All authors have read and agreed to the published version of the manuscript.

Funding

This work was supported by JSPS KAKENHI Grant Number 18K11400, and NEDO Younger Research Support Project Grant Number 21502121.

Institutional Review Board Statement

Not applicable.

Informed Consent Statement

Not applicable.

Conflicts of Interest

The authors declare no conflict of interest.

Footnotes

Publisher’s Note: MDPI stays neutral with regard to jurisdictional claims in published maps and institutional affiliations.

References

  • 1.Sensonor, STIM202 Inertial Measurement Unit. [(accessed on 17 March 2022)]. Available online: https://www.sensonor.com/products/gyro-modules/stim202/
  • 2.Sensonor, STIM300 Inertial Measurement Unit. [(accessed on 19 March 2022)]. Available online: https://www.sensonor.com/products/inertial-measurement-units/stim300/
  • 3.Park S., Lee J.H., Park C.G. Robust Pedestrian Dead Reckoning for Multiple Poses in Smartphones. IEEE Access. 2021;9:54498–54508. doi: 10.1109/ACCESS.2021.3070647. [DOI] [Google Scholar]
  • 4.Poulose A., Eyobu O.S., Han D.S. An Indoor Position-Estimation Algorithm Using Smartphone IMU Sensor Data. IEEE Access. 2019;7:11165–11177. doi: 10.1109/ACCESS.2019.2891942. [DOI] [Google Scholar]
  • 5.Deng Z.-A., Hu Y., Yu J., Na Z. Extended Kalman Filter for Real Time Indoor Localization by Fusing WiFi and Smartphone Inertial Sensors. Micromachines. 2015;6:523–543. doi: 10.3390/mi6040523. [DOI] [Google Scholar]
  • 6.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. doi: 10.1109/TIM.2014.2335912. [DOI] [Google Scholar]
  • 7.Zhang X., Ren M., Wang P., Pan K. A new zero velocity update algorithm for the shoe- mounted personal navigation system based on IMU; Proceedings of the 2015 34th Chinese Control Conference (CCC); Hangzhou, China. 28–30 July 2015; pp. 5297–5302. [Google Scholar]
  • 8.Shi L., Zhao Y., Liu G., Chen S., Wang Y., Shi Y. A Robust Pedestrian Dead Reckoning System Using Low-Cost Magnetic and Inertial Sensors. IEEE Trans. Instrum. Meas. 2019;68:2996–3003. doi: 10.1109/TIM.2018.2869262. [DOI] [Google Scholar]
  • 9.Peng F., Peng W., Zhang C., Zhong D. IoT Assisted Kernel Linear Discriminant Analysis Based Gait Phase Detection Algorithm for Walking With Cognitive Tasks. IEEE Access. 2019;7:68240–68249. doi: 10.1109/ACCESS.2019.2915290. [DOI] [Google Scholar]
  • 10.Hirose K., Doki H., Kondo A. Studies on orientation measurement in sports using inertial and magnetic field sensors. J. Jpn. Soc. Sport. Ind. 2012;22:255–262. doi: 10.5997/sposun.22.255. [DOI] [Google Scholar]
  • 11.Li Q., Li R., Ji K., Dai W. Kalman Filter and Its Application; Proceedings of the 2015 Eighth International Conference on Intelligent Networks and Intelligent Systems (ICINIS); Tianjin, China. 1–3 November 2015; pp. 74–77. [Google Scholar]
  • 12.Tian Y., Peng A., Xu X., Zhang W. A Heading Estimation Algorithm for Wrist Device Assisted by Sequential Geomagnetic Observations. IEEE Sens. J. 2022;22:5309–5317. doi: 10.1109/JSEN.2021.3098847. [DOI] [Google Scholar]
  • 13.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. doi: 10.1109/JSEN.2019.2926124. [DOI] [Google Scholar]

Articles from Micromachines are provided here courtesy of Multidisciplinary Digital Publishing Institute (MDPI)

RESOURCES