sensors Article

A Novel Pedestrian Navigation Algorithm for a Foot-Mounted Inertial-Sensor-Based System Mingrong Ren 1,2, *, Kai Pan 1,3 , Yanhong Liu 1 , Hongyu Guo 1 , Xiaodong Zhang 1 and Pu Wang 1,4 Received: 8 October 2015; Accepted: 18 January 2016; Published: 21 January 2016 Academic Editor: Gert F. Trommer 1

2 3 4

*

School of Electronic Information & Control Engineering, Beijing University of Technology, Beijing 100124, China; [email protected] (K.P.); [email protected] (Y.L.); [email protected] (H.G.); [email protected] (X.Z.); [email protected] (P.W.) Engineering Research Center of Digital Community, Ministry of Education, Beijing 100124, China Beijing Key Laboratory of Computational Intelligence and Intelligent Systems, Beijing 100124, China Beijing Laboratory for Urban Mass Transit, Beijing 100124, China Correspondence: [email protected]; Tel.: +86-10-6739-2264; Fax: +86-10-6739-1625

Abstract: This paper proposes a novel zero velocity update (ZUPT) method for a foot-mounted pedestrian navigation system (PNS). First, the error model of the PNS is developed and a Kalman filter is built based on the error model. Second, a novel zero velocity detection algorithm based on the variations in speed over a gait cycle is proposed. A finite state machine including three states is employed to model a gait cycle. The state transition conditions are determined based on speed using a sliding window. Third, the ZUPT software flow is illustrated and described. Finally, the performances of the proposed method and other methods are examined and compared experimentally. The experimental results show that the mean relative accuracy of the proposed method is 0.89% under various motion modes. Keywords: Kalman filter; foot-mounted PNS; ZUPT

1. Introduction The rapid development of micro-electromechanical systems (MEMS) has facilitated the production of inexpensive, lightweight and small-sized inertial sensors with low power consumption. These properties are desirable for a PNS. PNS’ that employ MEMS inertial sensors are proposed in [1–6]. In this paper, a strapdown inertial navigation algorithm [7,8] is applied to a PNS. Such a PNS is useful for locating and guiding emergency first responders, blind individuals and security personnel. The major challenge of MEMS-based PNS concerns how to restrain the rapid accumulation of navigation errors. For example, position error is proportional to time cubed. Without an error-resetting algorithm, this error can exceed a meter in ten seconds [1]. A zero velocity update (ZUPT) algorithm could be employed if the PNS is mounted on a shoe. During normal walking cycles, a foot periodically returns to a stationary state and remains on the ground for a brief period of time (approximately 0.1~0.3 s); this interval is referred to as the zero velocity interval. When a stationary state is detected, the velocity error can be employed as an observation to estimate and can correct the sensor bias errors, attitude errors and position errors using a Kalman filter [9,10]. Researches show that the performance of a PNS can be significantly increased using a ZUPT algorithm. The detection of the above static periods is a critical step in ZUPT, and many detection methods have been developed [5,9–11]. In [11], the zero velocity intervals are determined based on a likelihood ratio test (LRT) detector. The detector provides good performance at low gait speeds (approximately 0.83 m/s). In [5], an algorithm based on a hidden Markov model is constructed using a segmentation of gyroscope outputs. The algorithm shows good reliability under walking and running conditions. Sensors 2016, 16, 139; doi:10.3390/s16010139

www.mdpi.com/journal/sensors

Sensors 2016, 16, 139

2 of 13

However, the state transition model is complex and not easy to implement. In [9], a stance phase detector that consists of one footstep detector and two zero velocity detectors is proposed. The detector can successfully detect zero velocity during walking, stair climbing, and running. However, the detector is easily confused when the pedestrian randomly alternates between walking and running. In this paper, a zero velocity detection algorithm based on the variations in speed during a gait cycle is proposed. This paper is organized into seven sections. In Section 2, the inertial navigation algorithm of the PNS is provided. In Section 3, the dynamic and measurement models for the ZUPT Kalman filter are summarized. In Section 4, foot-stance phase detection based on variations in speed is presented. In Section 5, the software flow of the PNS is provided. The performance of the proposed method is experimentally verified in Section 6. The last section includes the conclusion and directions for future studies. 2. Inertial Navigation Algorithm of the PNS The inertial navigation algorithm of a PNS is similar to traditional inertial navigation algorithm [12,13]; however, certain simplifications are made based on the characteristics of a PNS. The body frame is defined as a right-handed (x,y,z) Cartesian coordinate system (x—forward, y—left, z—upward). The navigation frame is defined as east-north-up (ENU). We use the subscripts b (body) and n (navigation) to denote the project of a vector in a corresponding frame. The traditional complete form of the velocity differential is: .n

b n n ` ωen q ˆ V n ` gn V “ Cnb f ib ´ p2ωie

(1)

b where Cnb is the transformation matrix from the b frame to the n frame and f ib is the specific force in the body frame. n ` ωn q ˆ V n can be omitted, and g n can be regarded as For a PNS, the term p2ωie en approximately constant. The differential equation of the attitude is: .n

b Cb “ Cnb pωnb ˆq

(2)

b represents the angular rate of the body frame relative to the navigation frame. ωb ˆ represents ωnb nb b . the cross product matrix of ωnb The position can be updated using the following difference equation:

Rn pkq “ Rn pk ´ 1q ` V n pkqTs

(3)

where Ts is the sampling period and is set to 10 m¨ s. The calculation period of the attitude, velocity and position is equal to Ts . 3. ZUPT Kalman Filter 3.1. Error Model of Attitude Let Ψ be the rotation vector from the navigation frame n to the computed navigation frame n1 ; then: . Ψ “ ´εn “ ´Cnb εb “ ´Cnb pεrb ` εbg q (4) where ε is the vector of the gyroscope measurement error, εr is white noise, and ε g is the gyro bias. The 1 . gyro bias is regarded as a first-order Markov process, εg “ ´ εg ` ωg , where Tg is the correlation Tg time, and ω g is the driven noise with covariance σg2 .

Sensors 2016, 16, 139

3 of 13

3.2. Error Model of Velocity The error model of velocity is given by: .n

δV “ f n ˆ ψ ` ∇n “ Cnb f b ˆ ψ ` Cnb ∇b

(5)

where ∇b “ ∇rb ` ∇ba is the vector of the accelerometer measurement error, ∇r is white noise, and ∇ a is the accelerometer bias. The accelerometer bias is modeled as a first-order Markov process, namely, . 1 ∇ a “ ´ ∇ a ` ωa where Ta is the correlation time and ωa is the driven noise with covariance σa2 . Ta 3.3. Error Model of Position The error model of position is expressed as: .n

δR “ δV n

(6)

3.4. Kalman Filter Equations The state vector that is employed in the KF has the form: x “ pΨ b , δvn , εbg , ∇ba q where Ψ b represents attitude errors, δvn is the velocity errors, εbg is the gyro bias., and ∇ba is the accelerometer bias. The dynamic error model of the Kalman filter is given by Equation (7): »

0 0 — f nˆ 0 — — . x“— 0 — 0 — – 0 0

´cnb I 0 1 ´ I Tg

fi

0 cnb 0

0

´

1 I Ta

» ffi ffi — ffi ffi x ` — — ffi – ffi fl

fi εr ∇r ωg ωa

ffi ffi ffi fl

(7)

The measurement equation can be modeled as: Z “ Hx ` v H “ r 03ˆ3

I 3 ˆ3

(8) 0 6ˆ3 s

(9)

The observation δ v is the difference between the INS velocity and zero, v is the measurement noise and Ervpt1 qvpt2 qs “ Qv δpt1 ´ t2 q. When the ZUPT is applied, the pedestrian’s foot is usually not perfectly stationary. The uncertainty is modeled in the measurement covariance matrix. Qv is set to (0.05 m/s)2 I3ˆ3 based on experimental results. 3.5. Feedback Compensation The estimated state values are used as feedback to the navigation algorithm to correct the corresponding errors. Observation analysis indicates that the rank of the observation matrix Tobser is nine, which is less than twelve. Additional analyses conclude that heading error and gyroscope bias errors cannot be observed. Thus, heading error and εbg are not used as feedback for the filter. The position errors are corrected using Equation (10): δRptq “

1 n δV ptqt 2

(10)

Sensors 2016, 16, 139 Sensors Sensors 2016, 2016, 16, 16, 139 139

4 of 13 44 of of 13 13

4. Velocity Detection 4. Zero Zero Velocity Detection 4. Zero Velocity Detection in aa Gait Cycle 4..11.. Variations Variations in Velocity Velocity inGait Gait Cycle 4.1. 4Variations in Velocity in ain Cycle Most detection methods comparisons thresholds and Most zero velocity velocity detection methods employ comparisons between thresholds and the the Most zero zero velocity detection methods employemploy comparisons betweenbetween thresholds and the magnitude magnitude of acceleration, magnitude of angular rate, or their combinations. The primary constraint magnitude of acceleration, magnitude of angular rate, or their combinations. The primary constraint of acceleration, magnitude of angular rate, or their combinations. The primary constraint of these of methods is variations in and angular rate differ greatly under of these these methods is that that the the in variations in acceleration acceleration andrate angular rate differunder greatlyvarious under various various methods is that the variations acceleration and angular differ greatly motion motion modes, such as walking, running, and stair climbing. Thus, it is difficult to find a threshold motion modes, such as walking, running, and stair climbing. Thus, it is difficult to find a threshold modes, such as walking, running, and stair climbing. Thus, it is difficult to find a threshold function or function or value that We this in 11 and function or threshold threshold valueapplicable. that is is widely widely applicable. We demonstrate demonstrate this in Figures Figures and 2. 2. threshold value that is widely Weapplicable. demonstrate this in Figures 1 and 2. (a)magnitude (a)magnitude of of acceleration acceleration and and the the detected detected zero zero interval interval

2 [m/s2]

60 60 40 40 20 20 00 00

11

22 33 44 sample sample time[s] time[s] (b) (b) magnitude magnitude of of angular angular rate rate and and the the detected detected zero zero interval interval

55

[rad/s]

15 15 10 10 55 00 00

11

22 33 sample sample time[s] time[s]

44

55

Figure 1. The detected zerozero velocity interval when a pedestrian is walking. TheThe redred lineline represents the Figure 1. velocity interval when aa pedestrian is represents Figure 1. The The detected detected zero velocity interval when pedestrian is walking. walking. The red line represents stationary state and moving state. Small values indicate the stationary state.state. Large values indicate the the state and state. indicate the Large values indicate the stationary stationary state and moving moving state. Small Small values values indicate the stationary stationary state. Large values indicate the the moving moving state. moving state. state. magnitude magnitude of of acceleration acceleration and and the the detected detected zero zero interval interval

[m/s22]] [m/s

150 150 100 100 50 50 00 00

11

22

33

44

55

magnitude magnitude of of angular angular rate rate and and the the detected detected zero zero interval interval

[rad/s] [rad/s]

15 15 10 10 55 00 00

11

22 33 sample sample time[s] time[s]

44

55

Figure 2. detected zero velocity interval when running. Figure 2. The The detected zero velocity interval when a pedestrian pedestrianisis isrunning. running. In In these these time time intervals, intervals, Figure 2. The detected zero velocity interval when a apedestrian these time intervals, there are no false detections for the accelerometer (upper). However, only two zero velocity there are no false detections for the accelerometer (upper). However, only two zero velocity intervals there are no false detections for the accelerometer (upper). However, only two zero velocity intervals intervals are detected for the gyroscope (lower). are detected for the gyroscope (lower). are detected for the gyroscope (lower).

Sensors 2016, 16,16, 139 Sensors Sensors2016, 2016, 16,139 139

513 of 13 55ofof 13

Two Two traditional traditional methods methods are are employed: employed: comparisons comparisons of of acceleration acceleration magnitudes magnitudes with with aa Two traditional methods are employed: comparisons ofwith acceleration magnitudes with a threshold threshold and comparisons of angular rate magnitudes a threshold. Figure 1 shows threshold and comparisons of angular rate magnitudes with a threshold. Figure 1 shows that that and comparisons of angularmagnitude rate magnitudes with a threshold. than Figure 1 acceleration-magnitude shows that although the although although the the angular angular rate rate magnitude detector detector performs performs better better than the the acceleration-magnitude angular rate magnitude detector performs better than the acceleration-magnitude detector, both detector, detector,both bothmethods methodsproduce producefalse falsepositives positivesduring duringwalking. walking.Figure Figure22shows showsthat thatthe theacceleration acceleration methods produce false positives during walking. Figure 2 shows that the acceleration magnitude magnitude detector performs better than the angular rate magnitude detector during running; magnitude detector performs better than the angular rate magnitude detector during running;the the detector performs better than the angular rate magnitude detector during running; the latter failed to latter failed to detect most of zero velocity intervals. latter failed to detect most of the zero velocity intervals. detect As most of theinin zero velocity(1) intervals. Equations and Asshown shown Equations (1) and(2), (2),the the calculation calculationof of the thevelocity velocityuses usesboth bothacceleration accelerationand and angular rate data; thus, we attempt to use speed (the norm of velocity) to detect zero As shown in Equations (1) and (2), the calculation of the velocity uses both and angular rate data; thus, we attempt to use speed (the norm of velocity) to detectacceleration zero velocity velocity intervals. Figure 3 shows the speeds that correspond to walking, running, stair climbing and stair angular rate Figure data; thus, we attempt to use speed (the norm of velocity) to detect zero velocity intervals. intervals. 3 shows the speeds that correspond to walking, running, stair climbing and stair descending. in gait are under different modes, Figure 3 showsThe thevariations speeds that correspond toaawalking, running, stair climbing andmotion stair descending. descending. The variations inspeed speedduring during gaitcycle cycle aresimilar similar under different motion modes, except magnitude, duration certain details. AAcomparison 33with Figures 11and The variations in speed duringand a gait cyclelocal are similar differentof motion modes, magnitude, except magnitude, duration and certain local details.under comparison ofFigure Figure withexcept Figures and22 show that the variation in speed is simpler and more distinct than the variations in acceleration and duration and the certain local details. Figure 3 withthan Figures 1 and 2 show that the variation show that variation in speedAiscomparison simpler andofmore distinct the variations in acceleration and angular rate. angular in speed is rate. simpler and more distinct than the variations in acceleration and angular rate. 55

(a) (a)walking walkingspeed speed

88 66

33

m/s m/s

m/s m/s

44

22

33

0.5 0.5

11

1.5 1.5

00 00

22

(c) (c)stair stairclimbing climbingspeed speed

33

0.5 0.5

11

1.5 1.5

22

(d) (d)stair stairdescending descendingspeed speed

22 m/s m/s

m/s m/s

22 11 00 00

44 22

11 00 00

(b) (b)running runningspeed speed

0.5 11 1.5 0.5 1.5 sample time[s] sample time[s]

22

11 00 00

11 22 sample time[s] sample time[s]

33

Figure Norm ofofvelocity velocity Figure3.3.3.Norm Normof velocityfor fordifferent differenttypes gait. Figure for different typesofofgait. gait.

Figure 4. Speed trend and human limb limb kinematicinina atypical typical walking cycle. Figure Figure4.4.Speed Speedtrend trend andhuman human limbkinematic kinematic in a typicalwalking walkingcycle. cycle.

Sensors 2016, 16, 139 Sensors 2016, 16, 139

6 of 13 6 of 13

Figure 4 shows the speed trend and a human limb kinematic during a typical walking cycle. Figure 4 shows the speed trend and a human limb kinematic during a typical walking cycle. The lower panel is taken from [14]. During a walking cycle, the speed changes from acceleration to The lower panel is taken from [14]. During a walking cycle, the speed changes from acceleration to deceleration, and then changes back to zero. The acceleration interval corresponds to the change deceleration, and then changes back to zero. The acceleration interval corresponds to the change from from the heel lift to the swing at the highest point. The deceleration interval corresponds to the the heel lift to the swing at the highest point. The deceleration interval corresponds to the change from change from the highest point to a flat foot. The zero velocity intervals correspond to the change the highest point to a flat foot. The zero velocity intervals correspond to the change from a flat foot to a from a flat foot to a heel lift. heel lift. 4.2. 4.2.Hidden HiddenMarkov MarkovModel Modelfor forZero ZeroVelocity VelocityDetection Detection We Weintroduce introduceaahidden hiddenMarkov Markovmodel modelfor forzero zerovelocity velocitydetection. detection.Gait Gaitcycles cyclesare aremodeled modeledas asaa finite state machine and each gait cycle is divided into three states. The state transition diagram finite state machine and each gait cycle is divided into three states. The state transition diagramisis shown shownin inFigure Figure5. 5.State State11corresponds correspondsto tozero zerovelocity velocityintervals. intervals.State State22corresponds correspondsto toacceleration acceleration intervals. State 3 corresponds to deceleration intervals. intervals. State 3 corresponds to deceleration intervals. NOT condition1

state1 condition3

condition1

NOT condition2

state2

state3

NOT condition3

condition2 Figure5.5.State Statetransition transitiondiagram. diagram. Figure

AA sliding window isisused usedtoto determine state transitions. the sliding window sliding window determine state transitions. TheThe size size of theofsliding window is N ˆ is Ts .

N  Tspeeds  speeds N  1 moments, saved in a buffer. If the current The the Nof`the 1 moments, tk , tk`1 ¨ ¨t¨kt,kt`k N a buffer. If the current state is s . The of 1` k  N saved 1 , are in 1 , tare state 1 and the slope of the speed in the window, denoted by slope_s, is larger than the threshold state is state 1 and the slope of the speed in the window, denoted by slope _ s , is larger thanTh_a the (conditionTh_a 1), then the state to state If theto current is state 2 and theisspeed tk isthe the threshold (condition 1),moves then the state 2. moves state 2.state If the current state state 2ofand maximum speed in the window (condition 2), the state moves to state 3. If the current state is state 3 speed of tk is the maximum speed in the window (condition 2), the state moves to state 3. If the and the speed of tk is the minimum speed in the window (condition 3), the state moves to state 1. Th_a current is state 3 and 2 . N is is set tostate 0.3 m/s set tothe 20.speed of tk is the minimum speed in the window (condition 3), the 2. N is set to 20. state moves to state 1. Th_a is set to 0.3 m/s The first order polynomial fitting method is employed to calculate the slope of the speed, as Theinfirst order(11): polynomial fitting method is employed to calculate the slope of the speed, shown Equation as shown in Equation (11): w_spiq 1, 2, 2, ¨ ¨ ¨N N `11 w _ s (i )“s0s0`s1s1ˆpi(i´1q 1)ˆ  TT `  zzii ,, ii “  1,

(11) (11)

slope_s=s1 1 is is the thethe speed, which can becan interpreted as the mean acceleration in the window. slope_s=s the slope slopeof of speed, which be interpreted as the mean acceleration in the window. 5. PNS Software Flow

5. PNS Software Flow The flow chart for the PNS software algorithm is shown in Figure 6. During the initial alignment, the PNS is initialized with attitude The flow chart for the PNS software algorithm is shown in the Figure 6. and position. The initial pitch and roll are calculated using accelerometer data [15], The initial azimuth is calculated using magnetometer data [15], the outdoor position is initialized using GPS data, and the indoor position is initialized using the building plan data, as shown in [2].

Sensors 2016, 16, 139 Sensors 2016, 16, 139

7 of 13 7 of 13

Figure flow chart. chart. Figure 6. 6. Pedestrian Pedestrian navigation navigation system system software software flow

During the initial alignment, the PNS is initialized with the attitude and position. The initial The bias of the gyroscope is estimated during initial alignment as well, too. The average of pitch and roll are calculated using accelerometer data [15], The initial azimuth is calculated using the gyroscope data is calculated and used as the approximate gyroscope bias. If the variance of the magnetometer data [15], the outdoor position is initialized using GPS data, and the indoor position gyroscope data is greater than a preset threshold, or if the zero velocity detector has detected motion is initialized using the building plan data, as shown in [2]. of pedestrian in less than 6 s, the estimation of the gyroscope bias is skipped. The bias of the gyroscope is estimated during initial alignment as well, too. The average of the The matrices G3ˆN and A3ˆN are employed to store the sampling data of the gyroscopes gyroscope data is calculated and used as the approximate gyroscope bias. If the variance of the and accelerometers in the window. The matrices C3ˆ3pN`1q , V 3ˆpN`1q , P3ˆpN`1q and S1ˆpN`1q are gyroscope data is greater than a preset threshold, or if the zero velocity detector has detected motion employed to store the attitude matrix, velocity, position and speed in the window. of pedestrian in less than 6 s, the estimation of the gyroscope bias is skipped. The zero velocity detection algorithm decides whether the velocity at the starting moment of The matrices G3×N and A3×N are employed to store the sampling data of the gyroscopes and the window is zero. If the zero velocity moment is detected, attitude errors, velocity errors, and accelerometers in the window. The matrices C3×3(N+1), V3×(N+1), P3×(N+1) and S1×(N+1) are employed to store position errors are estimated by the Kalman filter and compensated; then, the sampling data in the attitude matrix, velocity, position and speed in the window. G3ˆN and A3ˆN are used to recalculate the attitude, velocity and position in the window. After each The zero velocity detection algorithm decides whether the velocity at the starting moment of navigation calculation and ZUPT calculation, C3ˆ3pN`1q is left shifted by three columns, and G3ˆN , the window is zero. If the zero velocity moment is detected, attitude errors, velocity errors, and A3ˆN , V 3ˆpN`1q , P3ˆpN`1q and S1ˆpN`1q are left shifted by one column. position errors are estimated by the Kalman filter and compensated; then, the sampling data in G3×N and A3×N are used to recalculate the attitude, velocity and position in the window. After each navigation calculation and ZUPT calculation, C3×3(N+1) is left shifted by three columns, and G3×N, A3×N, V3×(N+1), P3×(N+1) and S1×(N+1) are left shifted by one column.

Sensors 2016, 16, 139

8 of 13

Sensors 2016, 2016, 16, 16, 139 139 Sensors

88of of13 13

6. Experiments

6. Experiments Experiments 6.

6.1. The Inertial Measurement Unit

6.1. The The Inertial Inertial Measurement Measurement Unit 6.1.

The inertial measurement unit that we employed is the model MTI-G from Xsens Technologies The inertial inertial measurement measurement unit that we employed is the The the model model MTI-G MTI-G from from Xsens Xsens Technologies Technologies B.V.B.V. (Enschede, The Nethelands). It is configured to provide inertial data at 100atHz. The IMU includes (Enschede, The Nethelands). It is configured to provide B.V. (Enschede, provide inertial inertial data data at 100 100 Hz. Hz. The The IMU IMU three MEMS accelerometers, three MEMS gyroscopes and three magnetometers. The gyroscope bias includes three MEMS accelerometers, three MEMS gyroscopes and three magnetometers. includes three MEMS gyroscopes and three magnetometers. The The repeatability 0.5repeatability deg/s (max), anddeg/s the in-run stability 10 deg/h (typical). The accelerometer gyroscopeis bias repeatability is 0.5 (max), bias and the in-run stability is (typical). The gyroscope bias in-runisbias bias stability is 10 10 deg/h deg/h (typical). The 2 (max),and the 2in-run bias stability is 40 µg (typical). The IMU is strapped biasaccelerometer repeatability is 0.05 m/s 2 accelerometer bias bias repeatability is 0.05 m/s (max),and the in-run in-run bias bias stability stability is is 40 40 μg μg(typical). (typical).The The on to theis of a on shoe or the rear of rear a shoe, shown in Figure 7. in IMU isfront strapped on or the partas side of as IMU strapped to the front of apart shoeside side of aa shoe, shoe, as shown shown inFigure Figure7.7.

Figure 7. (Left) IMU strapped on the front of a shoe; (Right) IMU strapped on the rear side of a shoe.

Figure 7. (Left) IMU strappedon onthe thefront frontof of aa shoe; shoe; (Right) rear side of of a shoe. Figure 7. (Left) IMU strapped (Right)IMU IMUstrapped strappedononthe the rear side a shoe.

6.2. Zero Velocity Detection

Zero Velocity Detection 6.2.6.2. Zero Velocity Detection

(a) zero velocity detection from running to walking (a) zero velocity detection from running to walking

10 10 5 5

speed(m/s)/state speed(m/s)/state

0 00 0 4 4

speed(m/s)/state speed(m/s)/state

speed(m/s)/state speed(m/s)/state

The experiments experiments were were conducted conducted using The using aa pedestrian, pedestrian, aa 25-year-old 25-year-old male male with withaa height heightof of1.73 1.73m m Thea weight experiments were conducted using a on pedestrian, a 25-year-old male with a conducted height of 1.73 m and of 70 kg. The IMU was strapped to the front of a shoe. The pedestrian and a weight of 70 kg. The IMU was strapped on to the front of a shoe. The pedestrian conductedsix six andtypes a weight of 70 kg.walking, The IMU was strapped on to the frontdescending, of a shoe. The pedestrian conducted six of motion: motion: running, stair types of walking, running, stair climbing, climbing, stair stair descending, uphill uphill and and downhill. downhill. The The types of motion: walking, running, stair climbing, stair 0.8 descending, uphill and downhill. The average average speeds are approximately 1.35, 2.2, 0.7, 1.09, and 1.4 m/s, respectively. Figure average speeds are approximately 1.35, 2.2, 0.7, 1.09, 0.8 and 1.4 m/s, respectively. Figure 88shows shows speeds are approximately 1.35, 2.2, 0.7, 0.8 and 1.4 m/s, respectively. Figure 8 shows speeds the speeds speeds and the the corresponding corresponding zero1.09, velocity detector states. The represents the speeds, the and zero velocity detector states. The blue blue line line represents thethe speeds, and the red line represents the state. “0” denotes state 1, “1” denotes state 2 and “2” denotes state andand thethe corresponding zero velocity detector states. The blue line represents the speeds, and the red line represents the state. “0” denotes state 1, “1” denotes state 2 and “2” denotes state3.3.red Figure 8 shows that the“0” zero velocitystate detector state well the in all lineFigure represents thethat state. denotes 1, “1” denotes state 2 and “2” denotes stateunder 3. Figure 8 shows the zero velocity detector state well matches matches the variation variation in speed speed under all 8 motion modes. shows thatmodes. the zero velocity detector state well matches the variation in speed under all motion modes. motion

5 5

1 2 1 2 (b) zero velocity (b) zero velocity

3 4 5 6 7 8 9 3 4 5 6 7 8 9 detection from stair climbing to stair descending detection from stair climbing to stair descending

10 10

2 2 0 00 0

0 00 0

1 1

1 1

2 3 4 5 6 7 8 2 3 4 5 6 7 8 (c) zero velocity detection from uphill to downhill (c) zero velocity detection from uphill to downhill

2 2

3 3

4 5 6 4sample5time[s]6 sample time[s]

7 7

8 8

9 9

10 10

9 9

10 10

Figure 8. Zero velocity detection using the method proposed in this paper. Figure Zero velocitydetection detectionusing using the the method method proposed Figure 8. 8. Zero velocity proposedininthis thispaper. paper.

Sensors 2016, 16, 139

9 of 13

Sensors 2016, 16, 139

9 of 13

To provide a comparison, we examine the performance of the algorithm in [11] using the same To provide a comparison, we zero examine the performance the algorithm the same experimental data. The detected velocity intervals areof shown in Figurein9.[11] Asusing illustrated by experimental data. The detected zero velocity intervals are shown in Figure 9. As illustrated by panel panel (a), except for one interval, none of the zero velocity intervals, are detected during running. (a), illustrated except for by one interval, none of ofthe thezero zerovelocity velocityintervals intervals,are aredetected detected during running. As As panel (b), none during stair climbing. illustrated by panel (b), none of the zero velocity intervals are detected during stair climbing. Moreover, the detected zero velocity intervals during stair descending are incorrect. As illustrated by Moreover, the detected zero velocity intervals during stair uphill descending are incorrect. As illustrated panel (c), some of the detected zero velocity intervals during and downhill are correct, although by panel (c), some of the detected zero velocity intervals during uphill and downhill are correct, others are incorrect. although others are incorrect. 7

4

(a) zero velocity detection from running to walking

x 10

2 0 2

0

1

2

3

4

5

6

7

8

9

10

7 x 10 (b) zero velocity detection from stair climbing to stair descending

1 0

0

1 7

2

2

3

4

5

6

7

8

9

10

9

10

(c) zero velocity detection from uphill to downhill

x 10

1 0

0

1

2

3

4 5 6 sample time[s]

7

8

velocity detection using using methodmethod proposed in [11]. The unitevertical is dimensionless Figure 9.9.Zero Zero velocity detection proposed in vertical [11]. The unite is numbers. dimensionless numbers. (a) zero velocity detection from running to walking

(1) (2)

speed(m/s)/state

speed(m/s)/state

speed(m/s)/state

To examine whether the mounting position of the IMU affects the effectiveness of the proposed 10 algorithm, we conducted experiments with the IMU strapped onto the rear side of a shoe, as illustrated in Figure 7. Six types 5of motion were performed by a pedestrian, specifically, a 30-year-old male with a height of 1.70 m and a weight of 73 kg. The speed and zero velocity detector states are illustrated in 0 it can be observed that the proposed algorithm performed well. Figure 10, from which 0 2 4 6 8 10 12 14 16 18 20 To test the robustness (c) of zero the algorithm, we randomly selected three other people from the Beijing velocity detection from stair climbing to stair descending 4 University of Technology to conduct the experiments. They wore different types of shoes, including leather shoes and sport shoes. One pedestrian conducted the experiments in the same location used 2 by the 25-year-old male. Another two pedestrians conducted the experiment in randomly selected locations in our university. We asked the pedestrians to conduct six motion modes as before. The IMU 0 2 a shoe. 4 The 6 users 8 can be 10 described 12 14 16 20 was strapped onto the 0front of as follows: a1826-year-old female with (c) zero velocity detection from uphill to downhill a height of 1.58 m and a weight of 49 kg, a 40-year-old male with a height of 1.78 m and a weight of 4 62 kg, and a 38-year-old female with a height of 1.60 m and a weight of 51 kg. We carefully compare the performance of the proposed algorithm and the algorithm of [11] and draw the following conclusion: 2 The algorithm presented in [11] performs well during slow walking but does not perform well 0 during running, 0stair climbing downhill. 2 4 and6descending, 8 10uphill 12 and14 16 18 20 The algorithm proposed in this paper performs well under all the above-mentioned types Figure 10. Zero velocity detection of six types of gait when the IMU is strapped onto the rear side of motion. aofshoe. The parameters are the same as those in Figure 8.

0

0

1

2

3

4 5 6 sample time[s]

7

8

9

10

Figure 9. Zero velocity detection using method proposed in [11]. The vertical unite is dimensionless 10 of 13 numbers.

Sensors 2016, 16, 139

speed(m/s)/state

(a) zero velocity detection from running to walking 10 5 0

0

2

4

6

8

10

12

14

16

18

20

speed(m/s)/state

(c) zero velocity detection from stair climbing to stair descending 4 2 0

0

2

4

6

8

10

12

14

16

18

20

18

20

speed(m/s)/state

(c) zero velocity detection from uphill to downhill 4 2 0

0

2

4

6

8

10

12

14

16

Figure 10. Zero velocity detection ofgait gaitwhen when IMU is strapped theside rearofside Figure 10. Zero velocity detectionof ofsix six types types of thethe IMU is strapped ontoonto the rear a of shoe. The parameters are the same as those in Figure 8. a shoe. The parameters are the same as those in Figure 8.

6.3. Field Test Experiments Experiments under three motion modes, including walking, running and alternating between walking and running, were conducted around the boundary line of the sports field at the Beijing University of Technology. The travelled distance is approximately 422 m. The calculated trajectories of the proposed algorithm and of that in [11] are shown in Figure 11. The IMU was strapped onto the front of a shoe. The blue line (walking alternating with running) and light blue (walking) line are the calculated trajectories of algorithm [11]. The red line (walking), yellow line (walking alternating with running) and green line (running) are calculated trajectories of the proposed method. The calculated trajectory of method [11] under the running mode is not illustrated because of the excessive position errors. The mean error (start/end distance) of the proposed algorithm is approximately 4.64 m, or approximately 1.10% of the travelled distance. The mean error (start/end distance) of the algorithm [11] is approximately 15.82 m, or approximately 3.75% of the travelled distance. We also conducted experiments along another more complex trajectory that included uphill movement and stair descending as illustrated by the red dashed line in Figure 12. The pedestrian walked along the trajectory defined by the red dashed line. She stopped for a few seconds when moving uphill (blue), on the horizontal plane (red) and when descending the stair (green). The travelled distance is approximately 147 m, and the mean error is approximately 0.68% of the travelled distance. Table 1 summarizes the final return position errors along the two trajectories. The maximum error is 1.61% during running along trajectory 1. The mean error of the two trajectories is 0.89%. The data in Table 1 indicate that the proposed algorithm provided robust positioning results under various motion modes and with different pedestrians.

Sensors 2016, 16, 139 Sensors Sensors 2016, 2016, 16, 16, 139 139

11 of 13 11 11 of of 13 13

Figure Comparison Figure 11. Figure 11. 11. Comparison Comparison of of the the calculated calculated trajectories trajectories between between the the proposed proposed algorithm algorithm and and algorithm [11]. algorithm algorithm [11]. [11].

55 44

z(m) z(m)

33 22

60 60

11

40 40

00 -1 -1 -10 -10

20 20 00 00

10 10

20 20

30 30

40 40

-20 -20

x(m) x(m)

Figure Uphill and stair descending trajectory. Path used for testing (left). The calculated Figure12.12. 12. Uphill descending trajectory. Path for(left). testing The trajectories calculated Figure Uphill andand stairstair descending trajectory. Path used forused testing The (left). calculated trajectories of the proposed algorithm (right). trajectories of the proposed(right). algorithm (right). of the proposed algorithm

y(m) y(m)

Sensors 2016, 16, 139

12 of 13

Table 1. Field test return position errors. Event

Average Speed (m/s)

Travelled Distance (m)

Position Error (%)

Trajectory 1

Walking Running Running and Walking

1.3 2.6 1.8

422 421 422

0.60% 1.61% 1.10%

Trajectory 2

Stop on the uphill Stop on the horizontal plane Stop on the stair descending

0.8 0.7 1.2

148 147 147

0.44% 0.67% 0.93%

7. Conclusions The experimental results show that the algorithm proposed in this paper can correctly detect zero velocity intervals under various motion modes. The algorithm is insensitive to the mounting position of the IMU and differences in pedestrians. We also conducted experiments under an elevator environment. Because the acceleration of the elevator was lower than the threshold Th_a, the ZUPT state machine remained in the zero velocity state regardless of whether the elevator was rising or descending. We will attempt to solve this problem in the future. ZUPT cannot estimate or compensate for heading errors, which are a primary error source in PNS. Other techniques, such as received signal strength (RSS) measurements [16], map matching [2,17], building heading [7] or computer vision-derived position measurements [18] can be employed to improve the accuracy of a PNS. We will discuss the integration of these techniques with ZUPT in a future paper. Acknowledgments: This study is supported by the “General program of science and technology development project of Beijing Municipal Education Commission” (Grant No.: SQKM201610005006). Author Contributions: Mingrong Ren planned the research project, and wrote, revised and edited the manuscript. Kai Pan contributed to the practical studies and experiments and helped edit the manuscript. Yanhong Liu analyzed the data and conducted the research project. Hongyu Guo and Xiaodong Zhang improved the quality of the manuscript and of the completed revision. Pu Wang supervised the research. Conflicts of Interest: The authors declare no conflicts of interest.

References 1. 2.

3. 4. 5. 6. 7. 8.

Foxlin, E. Pedestrian Tracking with Shoe-Mounted Inertial Sensors. IEEE Comput. Graph. Appl. 2005, 25, 38–46. [CrossRef] [PubMed] Pinchin, J.; Hide, C.; Moore, T. A Particle Filter Approach to Indoor Navigation Using a Foot Mounted Inertial Navigation System and Heuristic Heading Information. In Proceedings of the 2012 International Conference on Indoor Positioning and Indoor Navigation (IPIN), Sydney, Australia, 3–15 November 2012. Zhang, R.; Hoflinger, F.; Reindl, L. Inertial Sensor Based Indoor Localization and Monitoring System for Emergency Responders. IEEE Sens. J. 2013, 13, 838–848. [CrossRef] Bird, J.; Arden, D. Indoor navigation with foot-mounted strapdown inertial navigation and magnetic sensors [Emerging Opportunities for Localization and Tracking]. IEEE Wirel. Commun. 2011, 18, 28–35. [CrossRef] Park, S.K.; Suh, Y.S. A zero velocity detection algorithm using inertial sensors for pedestrian navigation systems. Sensors 2010, 10, 9163–9178. [CrossRef] [PubMed] Olivares, A.; Ramirez, J.; Gorriz, J.M.; Olivares, G.; Damas, M. Detection of (in)activity periods in human body motion using inertial sensors: A comparative study. Sensors 2012, 12, 5791–5814. [CrossRef] [PubMed] 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. [CrossRef] Sabatini, A.M. Estimating three-dimensional orientation of human body parts by inertial/magnetic sensing. Sensors 2011, 11, 1489–1525. [CrossRef] [PubMed]

Sensors 2016, 16, 139

9.

10.

11. 12. 13. 14.

15. 16.

17. 18.

13 of 13

Li, Y.; Wang, J.J. A robust pedestrian navigation algorithm with low cost IMU. In Proceedings of the 2012 International Conference on Indoor Positioning and Indoor Navigation (IPIN), Sydney, Australia, 13–15 November 2012; pp. 1–7. Romanovas, M.; Goridko, V.; Al-Jawad, A.; Schwaab, M.; Traechtler, M.; Klingbeil, L.; Manoli, Y. A Study on Indoor Pedestrian Localization Algorithms with Foot-Mounted Sensors. In Proceedings of the 2012 International Conference on Indoor Positioning and Indoor Navigation (IPIN), Sydney, Australia, 13–15 November 2012. Skog, I.; Handel, P.; Nilsson, J.O.; Rantakokko, J. Zero-velocity detection—An algorithm evaluation. IEEE Trans. Bio-Med. Eng. 2010, 57, 2657–2666. [CrossRef] [PubMed] Titterton, D.H.; Weston, J.L. Strapdown Inertial Navigation Technology, 2nd ed.; American Institute of Aeronautics & Astronautics: Reston, VA, USA, 2004. Qin, Y.Y. Inertial Navigation; Science Press: Beijing, China, 2014. Kwakkel, S.P. GNSS Aided In Situ Human Lower Limb Kinematics During Running. In Proceedings of the International Technical Meeting of the Satellite Division of the Institute of Navigation, Savannah, GA, USA, 16–19 September 2008. Huang, C.; Liao, Z.; Zhao, L. Synergism of INS and PDR in Self-Contained Pedestrian Tracking with a Miniature Sensor Module. IEEE Sens. J. 2010, 10, 1349–1359. [CrossRef] Ruiz, A.R.J.; Granja, F.S.; Honorato, J.C.P.; Rosas, J.I.G. Pedestrian Indoor Navigation by aiding a Foot-mounted IMU with RFID Signal Strength Measurements. In Proceedings of the 2010 International Conference on Indoor Positioning and Indoor Navigation, Zurich, Switzerland, 15–17 September 2010. Zampella, F.; Jimenez Ruiz, A.R.; Seco Granja, F. Indoor Positioning Using Efficient Map Matching, RSS Measurements, and an Improved Motion Model. IEEE Trans. Veh. Technol. 2015, 64, 1304–1317. [CrossRef] Placer, M.; Kovacic, S. Enhancing indoor inertial pedestrian navigation using a shoe-worn marker. Sensors 2013, 13, 9836–9859. [CrossRef] [PubMed] © 2016 by the authors; licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons by Attribution (CC-BY) license (http://creativecommons.org/licenses/by/4.0/).

A Novel Pedestrian Navigation Algorithm for a Foot-Mounted Inertial-Sensor-Based System.

This paper proposes a novel zero velocity update (ZUPT) method for a foot-mounted pedestrian navigation system (PNS). First, the error model of the PN...
4MB Sizes 0 Downloads 19 Views