<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta />
    <article-meta>
      <title-group>
        <article-title>Pedestrian Dead-Reckoning Using Multiple Low-Cost Inertial/Magnetic Sensors on Lower Limbs</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Position</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Location</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>And Navigation (PLAN) Group</string-name>
          <email>chandra.tjhai@ucalgary.ca</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Department of Geomatics</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Engineering, Schulich School of Engineering, University of Calgary</institution>
          ,
          <addr-line>Alberta</addr-line>
          ,
          <country country="CA">Canada</country>
        </aff>
      </contrib-group>
      <abstract>
        <p>This paper presents a pedestrian dead-reckoning method that uses seven low-cost wearable sensors distributed on the pelvis, thighs, shanks, and feet. A commercial inertial sensor is also used and mounted on the right foot for the comparison purposes. The proposed method uses the gait kinematics of the lower limbs to compute the positioning solution by estimating the joint angles and step lengths. The positioning solution is compared with Kalman lter based solutions computed from the two types of foot-mounted sensors. Indoor walking experiments with linear and rectangular trajectories are conducted to evaluate the proposed method. The results indicate that the low-cost wearable multisensor system is able to detect the turning motion at corners and provides a 2D position error of less than 1% after walking for 36 m.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>Over the past two decades, pedestrian navigation systems have gone into rapid
development due to the emergence of micro-electromechanical systems (MEMS).
This technology has enabled the miniaturization of many navigation sensors
including accelerometers, gyroscopes, magnetometers, and barometers. Most MEMS
sensors are as small as integrated circuit chips, lightweight and low-cost and
found in consumer devices. These low-cost inertial sensors are available in the
market with a price tag of 20 US dollars or less.</p>
      <p>
        The motion of a pedestrian can be estimated using the knowledge of the gait
kinematics of the lower limb segments during walking. Some of the works in
pedestrian navigation can be found in these references [
        <xref ref-type="bibr" rid="ref4 ref5">4, 5</xref>
        ]. This paper
demonstrates the capability of using such a low-cost wearable multi-sensor system to
track pedestrian motion and compares the results to a typical foot-mounted
single sensor solution. The proposed algorithm uses a model of the gait kinematics
and inertial and magnetic measurements to estimate the change of position and
orientation of the pedestrian. The wearable sensors are distributed on the lower
limbs with one sensor on each segment.
      </p>
    </sec>
    <sec id="sec-2">
      <title>Methodology</title>
      <p>2.1</p>
      <sec id="sec-2-1">
        <title>Inertial-Based Foot Position Tracking</title>
        <p>
          There are two advantages in tracking pedestrian motion using foot-mounted
sensors. First, the walking gait can be easily detected using the change of
direction in the gyroscope measurement, especially the sagittal component. Second,
the stance phase during walking introduces a quasi-static period where
pseudomeasurements of zero velocity and zero angular rate can be applied as Kalman
lter updates. The Kalman lter formulation is similar to the implementation
found in the references [
          <xref ref-type="bibr" rid="ref3 ref5">3, 5</xref>
          ] and only the zero velocity and zero angular rate
updates are implemented.
2.2
        </p>
      </sec>
      <sec id="sec-2-2">
        <title>Foot Gait Segmentation</title>
        <p>
          Human walking gait is a cyclic process that alternates between swing and stance
phases. A walking cycle can be de ned as two consecutive gait phases, a pair of
swing and stance in any order. The stance phase is marked by a heel-strike event
and ended by a toe-o event while the swing phase is vice versa. The proposed
method used in this paper requires the information about when the heel-strike
and toe-o events occur. One way is to detect these foot gait events using inertial
sensor mounted on the foot. The detection method for the swing and stance
phases is based on the work reported in [
          <xref ref-type="bibr" rid="ref7">7</xref>
          ] while the foot gait detection method
is similar to the method reported in [
          <xref ref-type="bibr" rid="ref8">8</xref>
          ].
2.3
        </p>
      </sec>
      <sec id="sec-2-3">
        <title>Kinematics of Lower Limbs</title>
        <p>The human gait kinematic model can be modelled using a skeleton consisting of
seven segments connected by joints. These segments are the pelvis, the left and
right thighs, the left and right shanks, and the left and right feet. This paper
uses a simpli ed skeletal model that replaces the feet with an extended shank
from knee to heel, as shown in Fig. 1a, to reduce the complexity. The model
has four joints: two hips (HL and HR) and two knees (KL and KR). The hip
joints are connected by the pelvis and are allowed to move with three degrees of
freedom. Meanwhile, the knees are modelled as single axis revolute joints which
can only rotate in the sagittal plane.</p>
        <p>The computation of forward kinematics requires one end of the links to be
xed while the other end is free to move. This condition ts the cyclic nature
of the walking cycle. The computation sets the xed end to be the standing
foot while the other end be the swinging foot and alternates between steps. The
mechanization of the forward kinematics starts from the xed foot and follows
the skeletal linkages until the other foot. Based on the model shown in Fig. 1a,
this computation requires all three attitude angles of the pelvis sensor and the
pitch angles of the thigh and shank sensors. Assuming the right foot is in stance</p>
        <p>HR</p>
        <p>KL
KR Stance</p>
        <p>FL
X FR Toe-Of</p>
        <p>KL</p>
        <p>HL</p>
        <p>HR</p>
        <p>KR</p>
        <p>FR
Heel-Strike
(a) Human skeletal (b) Step sizes extracted from mechanization
model of lower limbs. of forward kinematics of lower limbs.
phase and the left foot is in swing phase, the forward kinematics equations can
be written as follows
where the subscripts are described by Fig. 1a. The position vectors are expressed
in the local level frame, denoted by pn, and the symbol Cbn; denotes the direction
cosine matrix transforming from body frame to local level frame. This matrix is
computed based on the estimated attitude angles. The lengths of body segments
are expressed in the body frame and written as `b . For the case where the
left foot is in stance phase and the right foot is in swing phase, the forward
kinematics equations need to be adjusted by swapping the subscripts L and R.
The starting point (pnF R or pnF L) is assumed to be the local origin position in
each mechanization.</p>
        <p>
          The attitude estimation algorithm used in this paper is based on the
gradient descent algorithm proposed by Madgwick et al. [
          <xref ref-type="bibr" rid="ref6">6</xref>
          ]. The step sizes can
be extracted from the mechanization of the forward kinematics between toe-o
and heel-strike events of each swing phase. A stride length is the foot position
displacement from toe-o to heel-strike while a step length can be extracted
in two di erent ways: the position displacement of the hip during stance phase
or the swing phase, and the diagonal distances between the two feet at toe-o
and heel-strike. Fig. 1b sketches a visualization of forward kinematics and the
computations of step and stride lengths.
2.4
        </p>
      </sec>
      <sec id="sec-2-4">
        <title>Pedestrian Dead-Reckoning Filter</title>
        <p>
          The kinematics of lower limbs can be used to estimate the step length and
its corresponding azimuth at each step. A pedestrian dead-reckoning lter can
then be implemented using these two observations. A simpli ed Kalman lter is
adopted from the reference [
          <xref ref-type="bibr" rid="ref2">2</xref>
          ] and modi ed for 2D positioning. The lter state
is propagated using the following equation
        </p>
        <p>N^ ; E^; ^</p>
        <p>k+1 = N^k + s cos ^k; E^k + s sin ^k; ^k
where s represents a constant step length estimated assuming the pedestrian
moves at 1 m/s. The measurements are the step length and heading estimated
by the kinematics of the lower limb segments.
(2)
(3)
3</p>
        <p>Experiments
zk = s~k ~k T</p>
        <p>In the experiments, one sensor was mounted on each foot, shank, and thigh,
and two sensors were mounted on back of the pelvis as shown in Fig. 2a. One of
the pelvis sensors is redundant and only one is used in the computation. These
wearable sensors were mounted such that the right leg had MPU-9250 modules
while the left leg had MPU-6050 modules, while the pelvis had one of each. Both
sensor modules are manufactured by TDK Invensense. The sampling rate was
set at 50 Hz and two microcontrollers were used to collect the data send to a
computer for logging. Additionally an Xsens MTi-G-710 was mounted on the
right foot below the low-cost module to use for comparison purposes.</p>
        <p>The experiments were conducted in an empty o ce room with approximate
dimensions of 6:5 11 m. There were 44 reference points marked on the ground
with one 1 m spacing. The room layout and walking paths are shown in Fig. 2b.
Two walking scenarios were conducted: straight line walk and rectangular loop.
In the straight line walk, the test subject walk with approximately equal step
lengths of 75 cm while the rectangular walk consisted of approximately 75 steps
in total. In addition to the low cost and commercial inertial sensors, the test
subject was also video recorded in order to compare the estimated leg segment
angles with those obtained from the wearable multi-sensor system.
4
4.1</p>
      </sec>
    </sec>
    <sec id="sec-3">
      <title>Results and Discussions</title>
      <p>Orientations of Lower Limb Segments
(a) Pose estimation using OpenPose
library.
]10
g
e 0
d
[
l
lo-10
R
-2016 17 18 19 20 21 22 23 24 25 26
]g10
ed 0
[
h
tc-10
i
P
-2016 17 18 19 20 21 22 23 24 25 26
]10
g
e 0
d
[
aw-10
Y
-2016 17 18 19 20 Tim2e1 [s] 22 23 24 25 26
(b) Attitude angles of pelvis.
]40
g
ed20
[
h
itc 0
P
t
fLe-20
-40 17
]g40
[ed20
ch
itP 0
t
h
ig-20
R
-40 17</p>
      <p>OMpaedngPwoicske AHRS
OMpaedngPwoicske AHRS
]50
g
[e
d
h
itc 0
P
ft
e
L
-50
]50
g
[ceh
d
itP 0
it
h
g
R
-50
18
19
20
21
22
23
24
17
18
19
20
21
22
23
24
18
19</p>
      <p>
        To check the validity of the estimated pitch angles from thighs and shanks, a
publicly released computer vision library (OpenPose [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ]) is used to estimate the
2D human pose and extract the pitch angles at each frame and the results are
visualized in Fig. 3. Fig. 3b shows the results of pelvis attitude angles for walking
on a straight line. There is a small di erence between the initial and nal heading
angles, and the alternation of heading angle is not symmetric due to accumulated
      </p>
      <sec id="sec-3-1">
        <title>OMpaedngPwoicske AHRS</title>
      </sec>
      <sec id="sec-3-2">
        <title>OMpaedngPwoicske AHRS</title>
        <p>gyroscope and magnetometer errors. The pitch angles estimated by OpenPose
and sensor fusion algorithm are plotted in Fig. 3c and Fig. 3d. These two results
have a good agreement between the two estimated pitch angles. The OpenPose
results have larger variation on the thigh segment and smaller variation on the
shank due to the fact that the 2D projected area of the thigh is both larger and
less rectangular than the shank. There are some outliers due to the failure of the
classi cation algorithm in di erentiating between the left and the right limbs
(shown by the rst foot step in Fig. 3a).
4.2</p>
        <sec id="sec-3-2-1">
          <title>Forward Kinematics</title>
          <p>The equations of the forward kinematics require two inputs, the segment attitude
angles and the segment lengths. The attitude angles are estimated using the
gradient descent algorithm. The segment lengths can be obtained by measuring
the limb segments directly.</p>
          <p>MPU-9250 EKF-ZUPT</p>
          <p>ZUPT
3
2
1
0
]-1
[m-2
h
tr-3
o
N
-4
-5
-6
-7
-8</p>
          <p>The results of mechanizing the forward kinematics are plotted in Fig. 4a as
position trajectories of the lower limb joints and heels. Based on the position
of the right foot, the nal position solution has drifted 0.42 m to the left and
0.56 m downward. The total forward travelled distance error is 0.08 m over 4.5
m. The vertical error is due to the e ect of ignoring the foot segments in the
forward kinematics model. During walking, the foot segment rotates the heel
upward after each heel-strike. Treating this foot rotation as quasi-static motion
causes the position solution to drift on the vertical axis. The other components
of the position errors are caused by the accumulation of the errors of the attitude
angles.
4.3</p>
        </sec>
        <sec id="sec-3-2-2">
          <title>Comparison of Position Solutions in a linear path</title>
          <p>For comparison, the typical foot-mounted EKF algorithm is implemented an
applied both the MPU-9250 and Xsens MTi-G-710 data. The lter is tuned such
that an optimal solution can be obtained by selecting the values of the process
noise matrix and measurement covariance. For both sensors, the process noise
models of the attitude and the velocity are modelled as random walks driven by
the noises in the gyroscope and accelerometer. The augmented bias states are
simply modelled as random constants.</p>
          <p>The results shown in Fig. 4a indicate that there are signi cant di erences
in the position solutions computed with the EKF-based algorithm (Section
2.1). The zero measurement updates cannot correct the error drift on the
lowcost MPU-9250 sensor that is signi cantly larger than the accumulated error
on the Xsens. The purple line (INS-ZUPT) represents the foot position
solution computed by mechanizing the inertial equations with zero velocity
pseudomeasurement. This computation strategy is better for the low-cost inertial
sensors than applying the EKF framework.</p>
          <p>The Fig. 4a also indicates that the kinematics of the lower limbs can be used
to improve the positioning solution of the low-cost sensors. The angular rates
and accelerations estimated from the inertial sensors can accumulate huge errors
when going through multiple time integrals to get the position estimates. By
using the kinematics of lower limbs, there is only one time integral function used
in order to estimate the attitude angles from the angular rate measurements.
4.4</p>
        </sec>
        <sec id="sec-3-2-3">
          <title>Pedestrian Dead-Reckoning on a rectangular path</title>
          <p>The motion data collected during a rectangular walk are processed using di erent
algorithms described in Section 2. The size of the rectangular path is about 4
m 5 m. The test subject starts and ends the walking experiment at the same
location. The EKF lters of the two foot-mounted sensors are tuned with the
same values with the straight line walk.</p>
          <p>The performance comparison is tabulated in Table 1. The result computed
by mechanizing the inertial equation with ZUPT (INS-ZUPT) has a smaller
error, but the foot-mounted sensor is not able to estimate the heading
accurately. The PDR results do not represent the best possible PDR solution due
to the simplicity of the lter architecture. This simple lter was implemented
to demonstrate that the step length and heading estimated by the equations of
the forward kinematics can be used as the inputs to the navigation lter. The
kinematics of lower limb can detect the turns at the corners despite using such
a simple attitude estimator. The heading is mainly estimated from using using
the pelvis mounted sensor. The error of the forward kinematics is small. Thus,
this computation strategy is able to estimate the step lengths.</p>
        </sec>
      </sec>
    </sec>
    <sec id="sec-4">
      <title>Summary and Future Work</title>
      <p>This paper proposes a method to use step lengths and orientation angles as
the inputs to the pedestrian dead-reckoning lter. These gait parameters are
estimated using the gait kinematics of the lower limbs. The kinematics of lower
limbs are able to detect turns and provide positioning error of &lt; 1% of total
travelled distance while using low cost inertial sensors. The results of this paper
cannot assess the complete performance of a PDR system due to the small testing
area. Future work will include larger experiment area and vertical displacement.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1. OpenPose, https://github.com/CMU-Perceptual-Computing-Lab/openpose,
          <source>Last accessed 19 July 2019</source>
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <surname>Ahmed</surname>
            ,
            <given-names>D.B.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Diaz</surname>
            ,
            <given-names>E.M.</given-names>
          </string-name>
          :
          <article-title>Loose Coupling of Wearable-Based INSs with Automatic Heading Evaluation</article-title>
          .
          <source>Sensors</source>
          <volume>17</volume>
          (
          <issue>11</issue>
          ),
          <volume>2534</volume>
          (
          <year>2017</year>
          ). https://doi.org/10.3390/s17112534
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <surname>Dehkordi</surname>
            ,
            <given-names>M.B.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Frisoli</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Sotgiu</surname>
            ,
            <given-names>E.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Loconsole</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          :
          <article-title>Pedestrian indoor navigation system using inertial measurement unit</article-title>
          .
          <source>International Journal of Sensor Networks and Data Communications</source>
          <volume>3</volume>
          (
          <issue>1</issue>
          ), 1{
          <issue>9</issue>
          (
          <year>2014</year>
          ). https://doi.org/10.4172/2090-
          <fpage>4886</fpage>
          .
          <fpage>1000115</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <surname>Foxlin</surname>
          </string-name>
          , E.:
          <article-title>Pedestrian tracking with shoe-mounted inertial sensors</article-title>
          .
          <source>IEEE Computer Graphics and Applications</source>
          <volume>25</volume>
          (
          <issue>6</issue>
          ),
          <volume>38</volume>
          {
          <fpage>46</fpage>
          (
          <year>2005</year>
          ). https://doi.org/10.1109/
          <string-name>
            <surname>MCG</surname>
          </string-name>
          .
          <year>2005</year>
          .140
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <surname>Jimenez</surname>
            ,
            <given-names>A.R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Seco</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Prieto</surname>
            ,
            <given-names>J.C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Guevara</surname>
          </string-name>
          , J.:
          <article-title>Indoor Pedestrian Navigation Using an INS/EKF Framework for Yaw Drift Reduction and A Foot-Mounted IMU</article-title>
          .
          <source>In: 2010 7th Workshop on Positioning, Navigation and Communication</source>
          . pp.
          <volume>135</volume>
          {
          <issue>143</issue>
          (March
          <year>2010</year>
          ). https://doi.org/10.1109/WPNC.
          <year>2010</year>
          .5649300
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <surname>Madgwick</surname>
            ,
            <given-names>S.O.H.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Harrison</surname>
            ,
            <given-names>A.J.L.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Vaidyanathan</surname>
          </string-name>
          , R.:
          <article-title>Estimation of IMU and marg orientation using a gradient descent algorithm</article-title>
          .
          <source>In: 2011 IEEE International Conference on Rehabilitation Robotics</source>
          . pp.
          <volume>1</volume>
          {
          <issue>7</issue>
          (Jun
          <year>2011</year>
          ). https://doi.org/10.1109/ICORR.
          <year>2011</year>
          .5975346
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <surname>Skog</surname>
            ,
            <given-names>I.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Handel</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Nilsson</surname>
            ,
            <given-names>J.O.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Rantakokko</surname>
          </string-name>
          , J.:
          <article-title>Zero-velocity detection - an algorithm evaluation</article-title>
          .
          <source>IEEE Transactions on Biomedical Engineering</source>
          <volume>57</volume>
          (
          <issue>11</issue>
          ),
          <volume>2657</volume>
          { 2666 (Nov
          <year>2010</year>
          ). https://doi.org/10.1109/TBME.
          <year>2010</year>
          .2060723
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <string-name>
            <surname>Tjhai</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>O'Keefe</surname>
            ,
            <given-names>K.</given-names>
          </string-name>
          :
          <article-title>Step-Size Estimation Using Fusion of Multiple Wearable Inertial Sensors</article-title>
          .
          <source>In: 2017 International Conference on Indoor Positioning and Indoor Navigation (IPIN)</source>
          . pp.
          <volume>1</volume>
          {
          <issue>8</issue>
          (Sep
          <year>2017</year>
          ). https://doi.org/10.1109/IPIN.
          <year>2017</year>
          .8115926
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>