Table Of ContentUpper Limb Joint Angle Tracking with Inertial Sensors
Mahmoud El-Gohary, Lars Holmstrom, Jessie Huisinga, Edward King, James McNames, and Fay Horak
Abstract—Wearableinertialsystemshaverecentlybeenused
to track human movement in and outside of the laboratory.
Continuous monitoring of human movement can provide valu-
able information relevant to individual’s level of physical ac-
tivityandfunctionalability.Traditionally,orientationhasbeen
calculatedbyintegratingtheangularvelocityfromgyroscopes.
However, a small drift in the measured velocity leads to large
integrationerrorsthatgrowwithtime.Tocompensateforthat
drift, complementary data from accelerometers are normally
fused into the tracking systems using the Kalman or extended
Kalman filter (EKF). In this study, we combine kinematic
modelsdesignedforcontrolofroboticarmswiththeunscented
Kalman filter (UKF) to continuously estimate the angles of
human shoulder and elbow using two wearable sensors. This
methodology can easily be generalized to track other human
joints.Wevalidatethemethodwithanopticalmotiontracking
system and demonstrate correlation consistently greater than
0.9 between the two systems.
Fig.1. ExampleofanOpalinertialsensor(APDM,Inc.).
I. INTRODUCTION
Measurement and analysis of human movement has many
applicationsincludingassessmentofneurologicalmovement showed that integration of gyroscope data resulted in a
disorders, rehabilitation from injury, and enhancement of drift between 10−25◦ after one minute [2]. One approach
athletic performance. Movement can be measured using a to reducing integration drift is to fuse the gyroscope data
wide variety of techniques and sensors. Wearable inertial with complementary data from other sensors. Luinge et al.
sensors enjoy the advantages of being simple, unobtrusive, estimated orientation by fusing gyroscope and accelerom-
and self-contained. They are well suited to recording long- eter data [3]. The difference between tilt computed from
termmonitoringwhilethesubjectperformsnormalactivities gyroscope and that from accelerometer sensors was used as
of daily life at home. A typical wearable inertial sensor an input to a Kalman filter to obtain a better tilt estimate.
is a compact wearable device that contains a triaxial ac- The estimate was then combined with the rotation around
celerometerandtriaxialgyroscope.Fig.1showsanexample the vertical axis to produce a better orientation estimate.
of Opal sensor (APDM, Inc., Portland, OR) used in this However, the estimation was accurate for only brief periods
study. Traditionally, the orientation of a body segment is when the subject was not moving and when the acceleration
estimated by integrating the angular velocity measured by measurements were only due to gravity. Luinge et al. devel-
gyroscopes,andpositionisobtainedbydoubleintegrationof opedamethodthatusedconstraintsintheelbowtomeasure
thetranslationalaccelerationmeasuredbyaccelerometers.A the orientation of the forearm with respect to the upper
significant problem with integration, however, is that inac- arm [4]. They reported an average orientation error of 20◦.
curacies inherent in the measurements quickly accumulate Giansanti et al. combined gyroscopes with accelerometers
in the integrated estimation, resulting in an unacceptable to track position and orientation during three tasks; stand-
levelsofpositionerrorinaslittleas10–60s[1].Roetenberg to-sit, sit-to-stand and gait-initiation [5]. Estimation error
wasminimal,howevertheyrestrictedtheapplicationtoshort
M. El-Gohary and J. McNames (Director) are with the Biomedical
periods of 4s.
SignalProcessingLaboartoryintheDepartmentofElectricalandComputer
Engineering at Portland State University (PSU), Portland, Oregon. Email: Bachmann et al. investigated the effect of electrical and
mahmoud@pdx.edu,mcnames@pdx.edu. ferromagneticmaterialsontheaccuracyoforientationtrack-
L. Holmstrom is Chief Information Officer at APDM, Inc. Email:
ing using a triaxial accelerometer, gyroscope and magne-
lars@apdm.com.
J.Huisinga,E.King,andF.Horak(Director)aremembersoftheBalance tometer sensors [6]. They observed errors that ranged from
DisordersLaboratoryintheDepartmentofNeurologyatOregonHealth& 12◦ to 16◦ and stated that these errors can be avoided by
ScienceUniversity(OHSU).Email:huisinga@ohsu.edu,kinged@ohsu.edu,
maintaining an approximate distance of two feet from any
horakf@ohsu.edu.
J.McNames,L.Holmstrom,F.Horak,OHSU,andPSUhaveasignificant source of disturbance. This restricts the use of their tracking
financialinterestinAPDM,acompanythatmayhaveacommercialinterest system to custom laboratory environment. Yun et al. used a
intheresultsofthisresearchandtechnology.Thepotentialindividualand
quaternion-basedEKFtotrackhumanbodymotion.Arotary
institutionalconflictsofinteresthavebeenreviewedandmanagedbyOHSU
andPSU. tilttablewithtwoDOF’swasusedtoassesstheperformance
of the tracker [7]. The error for the pitch angle was not origins together. Third, rotate about Z an angle θ to align
i i
reported, and an error of 9◦ in less than 2s was obtained Xi and Xi−1. Finally, translate along Zi a distance di−1
for the roll angle. Zhou et al. successfully estimated elbow to bring Xi and Xi−1 into coincidence. Each of these
orientation using inertial sensors mounted on the wrist and four operations can be expressed by a basic homogeneous
elbow joints. They integrated the rotational rate to localize rotation-translation matrix and the product of these four
the wrist and elbow, and smoothed the abrupt amplitude transformation matrices yields a composite matrix i−1T,
i
changes to reduce overshoots of the inertial measurement knownastheD-Htransformationmatrixwhichdefinesframe
due fast movements to reduce error in position estimation. i to its adjacent i−1
They attained a high correlation between position estimates
from the inertial tracker and estimates from a reference
i−1T =
optical tracking system, ≥ 0.91. However, all the reported i
correlations were not statistically significant [8]. c(θi) −s(θi) 0 ai−1
In this paper we combine kinematic models designed s(θi)c(αi−1) c(θi)c(αi−1) −s(αi−1) −s(αi−1)di
for control of robotic arms with state space methods to s(θi)s(αi−1) c(θi)s(αi−1) c(αi−1) c(αi−1)di
directly estimate human joint angles of a multi-segment 0 0 0 1
limb. Estimated joint angles are computed from measured
where s(αi−1)=sin(αi−1), c(θi)=cos(θi), etc.
inertial data as a function of time in a single step using
a nonlinear state space estimator. The estimator utilizes B. Shoulder and elbow joint angle tracker example
the unscented Kalman filter which incorporates state space
As an example, we present a model for forearm move-
evolutionequationsbasedonakinematicmodelofthemulti-
ment with shoulder and elbow joints. Fig. 2 shows the
segmentlimb.Theproposedalgorithmcanbeappliedtoany
base reference frame 0 at the center of the shoulder joint.
combinationofsensorstotrackanylimbmovementineither
Frames1through3representshoulderflexion/extension,ab-
real-time or off-line processing mode with higher accuracy
duction/adductionandinternal/externalrotation,respectively.
for slow and fast motion with a minimal number of sensors.
Frames4through5representtheelbowflexion/extensionand
II. THEORY pronation/supinationoftheforearm.Thetwoinertialsensors
are placed near the wrist and on the upper arm between the
Intheanalysisandcontrolofroboticmanipulators,arobot
shoulder and elbow as shown in Fig. 3. Table I shows the
armisnormallyrepresentedasasequenceoflinksconnected
byjoints[9].Thisconventionhasalsoalsobeensuccessfully
applied in addressing human motion and is based upon
characterizing the configuration between consecutive links
by a transformation matrix. If each pair of consecutive links
is related via a matrix, then using the matrix chain-rule
multiplication,itispossibletorelateanysegmentallink(e.g.,
between the wrist and elbow) to another (e.g., between the
elbow and shoulder).
Toobtainasystematicmethodfordescribingpositionand
orientation of each pair of consecutive links, we generate
a transformation matrix between the links using the De-
navit and Hartenberg (D-H) method, starting with attaching
frames or coordinate systems to each link [10]. Each frame
{X ,Y ,Z }isthenrelatedtothepreviousoneusinga4×4
i i i
homogeneoustransformationmatrix.Thismatrixdependson
fourparametersassociatedwitheachlink.Thefirstparameter Fig. 2. Kinematics diagram of the arm model with Frame 0 as the
reference fame. Frames 1 through 3 represent shoulder flexion/extension,
is the link length ai which is the distance from Zi to Zi+1 abduction/adduction and internal/external rotation, respectively. Frames 4
measured along the Xi axis. The second parameter is the through5representtheelbowflexion/extensionandpronation/supination.
link twist αi which is the angle from Zi to Zi+1 measured
about the Xi axis. The distance from Xi−1 to Xi measured D-H parameters, where αi−1 is the angle to rotate to make
along the Z axis is known as the link offset d . The fourth the two coordinate systems coincide, the length of the upper
i i
parameteristhejointangleθi,whichistheanglefromXi−1 armlu,isthedistancefromZ3 toZ4 alongtheX4 axis,lf is
to X measured about the Z axis. the length of the forearm, and θ is the ith angle of rotation.
i i i
A. Link Transformations C. Velocity and acceleration propagation from link to link
Four transformations are needed to relate the ith frame At any instant, each link of the arm in motion has some
to its neighboring (i−1)th frame. First, rotate about X an linear and angular velocity. The linear velocity is that of
i
angle αi−1 to make the two coordinate systems coincide. the origin of the frame. The angular velocity describes the
Next, translate along Xi a distance ai−1 to bring the two rotational motion of the link. The velocity of link i+1 is
parameters shown in Table I. We initialize ω0 = ω˙0 =
(0,0,0)T, and v˙0 = (gx,gy,gz)T, where g is gravity.
These equations are part of what is known as Newton-Euler
equationsofmotion.Theareforwardrecursiveequationsthat
propagate linear and angular velocity and acceleration from
the reference coordinate system to the last link.
D. State Space Model
Having defined the kinematic model of the arm, we now
formulatetherelationshipbetweenthemeasureddataandthe
biomechanical states using a state space model. The general
discrete time statistical state-space model is of the form,
x(n+1)=f [x(n),u(n)] (2)
n
y(n)=h [x(n),v(n)] (3)
n
Fig.3. Subjectperformingelbowflexion,withoneinertialsensorattached where n is the discrete time index, x(n) is the unobserved
withablackbandonthewristandanotherontheupperarm.Tenreflective state of the system, y(n) is the observed or measured data,
markerswereattachedtothearm,andthreewereattachedtothesternum.
f [·]andh [·]arenonlinearstateandobservationequations,
n n
TABLEI u(n)isprocessnoise,andv(n)isanobservationnoise.Both
DENAVIT-HARTENBERGPARAMETERSFORTHEARMMODEL. u(n)andv(n)areassumedtobewhitenoiseprocesseswith
zero mean. The state model equations which describe the
Frame αi−1 ai−1 di θi evolution of the states with time are given by
1 0 0 0 θ1
2345 ---π2πππ222 l000u l000f θθθθ2345 θθ˙ii((nn++11))==θθ˙ii((nn))++TTssθθ¨˙ii((nn))+ 12Ts2θ¨i(n) ((54))
θ¨i(n+1)=αθ¨i(n)+uθ¨i(n) (6)
where i = {1,...,5}, θ (n) is the ith angle at time n,
thatoflinkiplusthenewvelocitycomponentaddedbyjoint i
θ˙ (n) is the angular velocity of the ith angle at time n,
i+1 i
iωi+1 = iωi+ ii+1R θ˙i+1 i+1Zi, (1) nθ¨i,(nu)θ¨i(isn)thies aanwguhliater nacociseeleprartoicoenssofwitthhezietrhoamngelaen,aαt tiismae
where ii+1R is the rotation matrix that relates frame i process model parameter, and Ts = 1/fs is the sampling
to frame i + 1, and is use to represent added rotational period. These are standard equations for a physical object
components due to motion at the joint in frame i. If we traveling at a constant acceleration. In this case the model
multiply both sides of the equation by i+1R, we find the assumes the acceleration is constant for the duration of a
i
description of the angular velocity of link i+1 with respect sampling interval, which is short enough (approximately
to frame i+1 8ms) for this approximation to be sufficiently accurate for
tracking. The model of angular acceleration is a first-order
i+1ωi+1 = ii+1R iωi+θ˙i+1 i+1Zi+1 autoregressive process with zero mean. Typically the value
The linear velocity of the origin of frame i+1 is the same of α will be assigned an intermediate value that represents
asthatoftheoriginofframeiplusanewcomponentcaused typical patterns of human motion in joint angles.
by the rotational velocity of link i The observation model describes the relationship of the
states to the observed data obtained from the inertial sen-
i+1vi+1 = ii+1R(ivi+ iωi × iPi+1) sor. We assume that the inertial sensor includes triaxial
where iPi+1 is the position vector of the frame i+1 and is accelerometers and triaxial gyroscopes. This simple model
assumes the sensor noise is additive and white, but could
the upper right 3×1 vector of the D-H matrix. The angular
be easily generalized to include drift, which is common to
acceleration from one link to the next is
MEMS inertial sensors.
i+1ω˙i+1 = ii+1Riω˙i+ii+1Riωi×θ˙i+1i+1Zi+1+θ¨i+1i+1Zi+1 ωx(n) vgx(n)
The linear acceleration of each link frame origin is ωy(n) vgy(n)
i+1v˙i+1 = ii+1R(cid:2)iω˙i× iPi+1+ iωi×(iωi× iPi+1)+ iv˙i(cid:3) y(n)= ωv˙xz((nn)) + vvagxz((nn)) , (7)
wherethesingleanddoubledotnotationisusedtorepresent v˙y(n) vay(n)
firstandsecondderivativeswithrespecttotime.Therotation v˙z(n) vaz(n)
matrices R can be obtained by taking the transpose of the where ω , ω and ω are the angular velocities along the
x y z
upper left 3×3 D-H transformation matrix, and the D-H x, y and z axes, respectively. The gyroscope noise along the
differentaxesisdescribedbyv ,v andv .Similarly,the One of the limitations of previous tracking methods is
gx gy gz
translationalaccelerationsalongthethreeaxesarev˙ ,v˙ and that they performed well only during slow movements. To
x y
v˙ ,andtheaccelerometernoiseisgivenbyv ,v andv . determine the capability of the proposed algorithm of track-
z ax ay az
The acceleration measurement vector includes translational ing fast activities, the subject was instructed to repeat the
accelerations and the effects of gravity. same activities as fast as they could. On average, the subject
reached from initial anatomical position to maximum joint
E. Nonlinear state estimator
movement range in 0.5s, compared to 1.0s during normal
The arm model introduced above exhibits nonlinearities. speedactivities.Although,thecorrelationwasslightlylower
The use of the linear Kalman filter in a highly nonlinear than that for the regular speed, the correlation coefficients
dynamics introduces estimation errors. The most common were still statistically significant (p < .05) and were all
approach to solving the nonlinear estimation problem is ≥0.89.
the extended Kalman filter (EKF), which is based upon
IV. CONCLUSION
linearizing the state and observation models with a first-
order Taylor expansion. However, this linearization leads Thispaperdescribedanewmethodforestimatingjointan-
to poor performance if the dynamics are highly nonlinear glesofamulti-segmentlimbusinginertialsensors.Estimated
and the simple linearized model based on the gradient is an joint angles are computed from measured inertial data as a
inaccurate approximation. The EKF also requires Jacobian functionoftimeinasinglestepusinganonlinearstatespace
matrices and inverse matrix calculation. Alternatively, se- estimator. The estimator utilizes the unscented Kalman filter
quentialMonteCarlomethods(i.e,particlefilters),whichare whichincorporatesstatespaceevolutionequationsbasedona
applicable to highly nonlinear and non-Gaussian estimation kinematic model of the multi-segment limb. The algorithms
problems, allow for a complete representation of the density outlined in this paper can be applied to any combination
function of the unobserved states using a finite number of sensors, and could be generalized to track any limb
of samples. However, particle filters require much more movementineitherreal-timeoroff-linewithhigheraccuracy
computation. The unscented Kalman filter (UKF) has nearly for slow and fast motion with a minimal number of sensors.
the same computational requirements as the EKF, but uses a
REFERENCES
more accurate method to characterize the nonlinear effects.
[1] O. Woodman, “An introduction to inertial navigation,” Computer
The results in this paper were generated with a UKF [11].
Laboratory,UniversityofCambridge,UK,Tech.Rep.,August2007.
[2] D. Roetenberg, “Inertial and magnetic sensing of human motion,”
III. RESULTS Ph.D.dissertation,UniversityofTwente,Enschede,TheNetherlands,
2006.
Toevaluatetheperformanceoftheinertialtrackingsystem
[3] H.J.Luinge,“Inertialsensingofhumanmotion,”Ph.D.dissertation,
in monitoring arm movement, the joint angles calculated by UniveristyofTwente,Enschede,TheNetherlands,December2002.
the inertial tracker were compared to those obtained by an [4] H. J. Luinge, P. H. Veltink, and C. T. M. Baten, “Ambulatory
measurement of arm orientation,” Journal of Biomechanics, vol. 40,
optical tracking system, used as a reference system. The
pp.78–85,2007.
study was conducted in the Balance Disorders Laboratory at [5] D. Giansanti, G. Maccioni, and V. Macellari, “The development and
OHSU, which is equipped with an optical motion tracking testofadeviceforthereconstructionof3-dpositionandorientation
by means of a kinematic sensor assembly with rate gyroscopes
system that comprises eight high-speed, infrared cameras
and accelerometers,” IEEE Transactions on Biomedical Engineering,
(Eagle Analog System, Motion Analysis Corporation, Cal- vol.52,no.7,pp.1271–1277,2005.
ifornia). The cameras record position of reflective markers [6] E. R. Bachmann, X. Yun, and C. Peterson, “An investigation of the
effectsofmagneticvariationsoninertialklagneticorientationsensors,”
placed on the upper arm, forearm, shoulder and wrist.
inProceedingsofthe2004IEEEInternationalConferenceonRobotics
Optical relative joint angles were calculated from three- andAutomation,2004,pp.1115–1122.
dimensional markers positions using Grood’s method [12]. [7] X. Yun and E. R. Bachmann, “Design, implementation, and exper-
imental results of a quaternion-based kalman filter for human body
One subject performed a set of tasks described in Table II.
motion tracking,” IEEE Transaction on Robotics, vol. 22, pp. 1217–
Each articulation was performed for 15s while keeping the 1227,2006.
restofthebodystill.Thecorrelationcoefficientsbetweenthe [8] H.ZhouandH.Hu,“Upperlimbmotionestimationfrominertialmea-
surements,”InternationalJournalofInformationTechnology,vol.13,
angle estimates from the inertial tracker and estimates from
no.1,pp.1–14,2007.
the reference optical tracking system were all statistically [9] J. J. Craig, Introduction to Robotics, Mechanics and Control, ser.
significant (p<.05) and ≥0.91. ElectricalandComputerEngineering:ControlEngineering. Addison-
Wesley,1989.
[10] J. Denavit and R. S. Hartenberg, “A kinematic notation for lower-
TABLEII
pairmechanismsbasedonmatrices,”AppliedMechanics.,vol.23,pp.
CORRELATIONBETWEENOPTICALANDINERTIALANGLESOF 215–221,1955.
[11] S. J. Julier and J. K. Uhlmann, “Unscented filtering and nonlinear
SHOULDERANDELBOWOFASUBJECTPERFORMINGASETARM
estimation,” in Processings of The IEEE, vol. 92, March 2004, pp.
MOVEMENT. 401–422.
[12] E. S. Grood and W. J. Suntay, “A joint coordinate system for the
Task R(normalspeed) R(fastspeed) clinical description of three-dimensional motions: Application to the
ElbowFlexion/Extension 0.92 0.89 knee,”ASME,vol.105,pp.136–142,1983.
ElbowSupination/Pronation 0.96 0.93
ShoulderFlexion/Extension 0.97 0.94
ShoulderAbduction/Adduction 0.94 0.91
2013 12th IEEE International Conference on Trust, Security and Privacy in Computing and Communications
Measuring Walking and Running Cadence using Magnetometers
Umran A. Abdulla Ken Taylor Michael Barlow Khushnood Z.
School of Engineering & IT ICT Center School of Engineering & IT Naqshbandi
UNSW@ADFA CSIRO UNSW@ADFA Khushnood.Zn@gmail.com
Canberra, Australia Canberra, Australia Canberra, Australia
Umran.Abdulla@student.ad Ken.Taylor@csiro.au M.Barlow@adfa.edu.au
fa.edu.au
Abstract— Several smart phone connected devices are sampling) and algorithms have to be power efficient so as
becoming popular as replacements for pedometers for not to exhaust the phone’s battery too quickly [1].
monitoring human activity and exercise levels. Most of them, Among the sensors available on smart phones are
including Fitbit and Nike Fuel Band measure step cadence accelerometers, magnetometers and gyroscopes. At the time
using accelerometers. It would be advantageous to obtain this of writing this paper, gyroscopes are still new and few in
data using smart phone sensors without additional devices but number, but almost all smart phones come with
smart phones produce varying accelerometer signal patterns accelerometers and magnetometers.
when carried in different locations on the body.
Among the three sensors accelerometers are becoming
Magnetometers are an alternative low power sensor on most
widely accepted for human motion studies in free-living
smart phones that could potentially be used for cadence
environments [2]. The signal from the accelerometer, among
estimation. We provide an algorithm that derives walking and
other things, depends on the location it is placed on [2].
running cadence from magnetometer readings that is robust to
Much research has been done in measuring cadence or
the location on the body that the smart phone is carried. The
step-counts. Although the algorithms used by most
algorithm has been tested with data gathered from twenty one
commercial pedometers are unavailable, several papers have
subjects while walking and running, in several body locations
that should comprehensively represent body movements. A gone into verifying the results of commercial step-counters
high accuracy was achieved when the estimated cadence was that were then common, without considering how the devices
verified against an accelerometer worn on the subject’s thigh. work internally or the fact that the devices get phased out
The algorithm is robust in dealing with sudden changes in and replaced with new devices after a few years. One
direction while walking or running which is also likely to make published algorithm by Oliver and Flores-Mangas [3]
it robust against magnetic field fluctuations that are common requires the accelerometer to be worn on the chest, and an
in urban environments. adaptive threshold is used to detect steps from magnitude of
the accelerometer signal. Similarly, Barralon, Vuillerme and
Keywords-magnetometer, compass, candance, activity- Noury [4] worked on detecting periods of walking in elderly
recognition, energy-expenditure, smart phone, body sensor people and used frequency analysis on the subject’s vertical
network, sensor localization
acceleration for chest-mounted accelerometers.
I. INTRODUCTION Yumono, Su, Moulton and Nguyen [5] looked into
detecting walking and measuring gait parameters by
Several smart phone connected devices are becoming extracting the periodicity in torso pitch angle, which in turn
popular as replacements for pedometers for monitoring is extracted from signals from chest-worn accelerometers
human activity and exercise levels. Most of them, including and gyroscopes.
Fitbit and Nike Fuel Band measure step cadence using Instead of using the accelerometer and gyroscope as done
accelerometers. It would be advantageous to obtain this data by [5] and [6], we use the orientation given by the
using smart phone sensors without additional devices. magnetometer and extract the period of each gait cycle.
Smart phones are an excellent platform for context-aware Magnetometers are an alternative low power sensor on most
computation and pervasive health applications. This arises smart phones that could potentially be used for cadence
from the large number of sensors integrated into the phone, estimation. Magnetometers easily provide the orientation
the large processing resources available, the relatively low angle (as has been extracted from accelerometer and
cost and availability, and the internet connection available. gyroscope data by [5]) hence reducing the required
On the other hand, smart phones face different challenges processing. On the other hand, magnetometers face the
from purpose-built sensors, in that: they can be carried in problem that they get attracted to magnetic and ferrous
many different orientations and locations on the human body materials in the subject’s vicinity.
with each different location producing different signal Magnetometers have been used in dead-reckoning for in-
patterns; may have little connectivity to the body itself (such door navigation [7][8] and estimation of body segment
as when in a loose pocket or handbag); have to deal with orientations [6][9][10]. We found no research has been done
issues originating from platform design (such as inconsistent into examining magnetometer readings for pervasive health
applications.
978-0-7695-5022-0/13 $26.00 © 2013 IEEE 1458
DOI 10.1109/TrustCom.2013.176
In the following sections, we discuss how we collected multiple walking surfaces, for 4 of the subjects, data was
the data, our method of extracting cadence from taken on both hard (pavement) and soft (grass) surfaces.
magnetometer readings, the results we got when we
compared the cadence extracted from magnetometer
readings and the cadence extracted from an accelerometer
won on the subject’s thigh, and future work we hope to do.
II. DATA COLLECTION
To avoid issues originating from mobile platform design
(e.g. inconsistent sampling due to multitasking, and low
sampling rates), an Opal System from APDM [11] was used
in wireless buffering mode to capture data. Each sensor
module has a triaxial accelerometer (range: ±6g, noise:
0.0012 m/s(cid:993)/(cid:284)Hz), a triaxial magnetometer (range: ±6
Gauss, noise: 0.5 mGauss/(cid:284)Hz) and a triaxial gyroscope
(range: ±2000 deg/s, noise: 0.05 deg/s/(cid:284)Hz). Sampling was
done at 128Hz (<=10μs synchronized sample timing
difference). Figure 2. Sensor placement on the subjects.
The data collection method was selected so as to allow
the subjects to walk and run naturally, at their own natural
pace, while at the same time, allow us to observe and
accurately label the dataset.
III. METHOD
The algorithm we propose for extracting cadence is based
on the assumption that when we analyze the orientation at a
point on the body, while walking or running, each body part
completes one cycle in every two steps (one right step and
one left step, equivalent to one complete gait cycle). Based
on this assumption we attempted to extract the time-taken by
the gait cycle (the period) and hence derive the cadence of
Figure 1. Subject age and gender distributions. (a) shows the age the activity.
distribution, while (b) shows the age distribution.
In order to extract the subject’s cadence our method
includes the following steps: conversion from 3D space to
Fig. 1 above shows the age and gender distributions of
2D space, signal filtering, and cadence extraction.
the subjects.
Sensor modules were strapped onto 21 able-bodied A. Conversion from 3D space to 2D space
subjects on 3 locations: thigh, trunk, and palm. For 4 of the
Data sampled from the magnetometer is in the form of
subjects, additional modules were strapped on the ankle,
3D vectors pointing to the direction of magnetic North. We
upper arm, and on the navel (near the body’s center of
can reduce the data’s dimensions from 3 to 2 while still
gravity [12]). The placement is illustrated in the Fig. 2.
maintaining the important attributes in the data that allow the
The sensors were strapped onto the locations, because we
period of the cycles to be extracted, by removing the length
wanted to avoid artifacts caused by the sensor module
of the vector (normalizing) then converting the orientation of
moving in the pocket so as to obtain the best-case
the vectors as the latitude and longitude. Whether or not the
performance of our algorithm.
magnetometer was pointing towards the magnetic North is
The subjects were asked to walk 20 meters on flat
not important, as long as it points towards a stationary
ground, turn and walk back. Each subject did this 3 times for
external (off the subject’s body) point. The actual direction
each activity, making a total distance of 120 meters recorded
they point to is also not important, since we discard this but
per subject-activity session. Two activities were recorded:
maintain the relative angles between the vectors.
walking and running. No speed or time constraints were set
By using the relative direction to any fixed point instead
to avoid any effects the constraints might have on the
of to the magnetic North, we avoid errors that would have
walking and running styles. For running, the subjects were
been caused had the magnetometer been attracted to a
instructed to do a “light run”, and were left to decide what
magnetic or ferrous material in the subject’s vicinity.
that meant to them. The turns made at the end of every 20
The 3D vectors are converted to points on a 2D Cartesian
meter straight were included in the data recording. The
plane representing the longitude and latitude of the given
subjects took the turns in different ways; some took sharper
magnetometer vector with relation to a given equator. The
turns while some took wider turns. In addition, to cover
direction and magnitude of the change in the longitude and
1459
latitude from one vector to the next vector must be walking speed, 95% confidence level, for a person that is
maintained in the conversion process. This means avoiding walking [13].
the wrapping of angles to the range [-π rad, π rad] that The split removes any effect of sharp changes of
happens because of trigonometric equations, and the π rad direction (e.g. when the magnetometer suddenly gets
flip that occurs when the vectors cross the north and south attracted to a different item in the subject’s vicinity, or when
poles. The following algorithm was used to do this: the subject turns sharply) in the high frequency signal and
1. Normalize the 3D vectors gathered. leaves the gradual change in direction reflected in the low
2. Compute the mean vector, m. frequency signal.
3. Find the furthest vector, f, which has the largest Samples of data before and after the 5Hz low pass filter
angle to the mean vector, m. are shown in the Fig. 4. Fig. 5 shows a sample containing a
4. Compute vector u, such that: u = m*f, where * subject walking towards, turning around a cone and walking
represents the cross product. u is then taken as the back and its low frequency signal. The arc is a result of the
vector that points to the north pole of the sphere, of turn, while the clusters on either side of the arc represent the
which m and f lie on the equator. subject’s walk towards the cone, and return. In addition, Fig.
5. For each of the normalized 3D vectors extract: 5 shows the low frequency component which tracks the arc
a. Change in longitude from the previous vector and hence shows the greatest change for the turn section.
along the equator. The longitude of a vector can
C. Cadence Extraction
then be obtained as the cumulative change of
longitude from the first vector to the current In this step we extract the gait cycle frequency in the data
vector. The longitude of the first vector would (i.e. the smallest period at which gait cycles exist). We based
be zero. the process on the assumption that, as a cycle repeats, the
b. Latitude from the sphere’s equator, positive Euclidean distance of a point to a similar point on the
towards the direction of vector u, and negative previous cycle is minimized.
in the opposite direction. To do this, we define the distance function d of the point
at index aind time period τ, as:
(cid:2) (cid:2) (cid:3)(cid:4)(cid:5)(cid:2)
Where x and y are the longitude and latitude.
We then define the mean distance function h for time
period τ, based on d(i,τ), as the mean of the distances for i in
the range of [1,N] where N are the number of points in the
given window.
(cid:2) (cid:2) (cid:3)(cid:6)(cid:5)(cid:2)
We then find the first time offset with local minima (m)
Figure 3. A 3D rendering of some sample data taken from the thigh while that occurs after a local maxima (n), such that (m – n) > a.
the subject was walking. The mean vector m and the furthest vector f lie on
Where a is a threshold value that is experimentally
the equator of the unit sphere. The points on which the normalized
determined and set to avoid selecting local minima caused by
magnetometer data intersect with the surface of the sphere are shown in
yellow. The up vector u points to the north of this sphere. The longitudes noise. The time offset at which m occurs corresponds to the
extracted are degrees along the sphere’s equator while the latitudes period of the gait cycle.
extracted are the angles between the sphere’s equator and the normalized
magnetometer vectors, positive in the direction of the up vector u, and
negative away from it.
B. Filtering
We assume the highest cadence for a human being while
running is 10 steps per second. To reduce noise we filter the
signal using an FFT-based FIR low pass filter, removing any
signal components above 5Hz. We then again use FFT to
split the signal into low frequency components and high
frequency components. We used a cutoff threshold of 0.5Hz.
Since the frequencies reflect half of the cadence, 0.5Hz
equates to 1 step per second, which is lower than the slowest (cid:2) (cid:2) (cid:3)(cid:7)(cid:5)(cid:2)
1460
While analyzing the signals, we found that because of the
noisy chaotic nature of the signals (especially the chest
signals) this method works better than the autocorrelation of
the complex signal (longitude and latitude). Fig. 6 shows an
example where the function h(τ) performs better than
autocorrelation.
Figure 6. Results of the function h(τ) for τ=[0,3] seconds compared to
autocorrelation results of the same walking data. The peak/minima of the
actual measured cadence is expected at approximately 1 second, equivalent
to the period of a single gait cycle for this subject at this point in time. (a)
Shows the autocorrelation of the complex signal, while (b) shows results of
function h(τ). Autocorrelation gives several peaks, of which the closest to
Figure 4. Sample data after convertion from 3D space to 2D space, then measured cadence is the third, while the first minima of h(τ) gives the
filtered using a low band pass of 5Hz. (a) Shows data from a thigh mounted required minima.
sensor, (b) from a hand mounted sensor, and (c) from a chest mounted
sensor. Each graph shows the data before the 5Hz low band pass filter, and
after the filter.
IV. RESULTS ANALYSIS
In this section we validate the cadence extracted using
our method against the actual cadence. The actual cadence
that we used to verify our results was extracted using a
method similar to that of [3], except we made use of the
autocorrelation of the vertical component extracted from
accelerometer data from the thigh-mounted sensor, which we
then visually verified to be correct.
We measured the accuracy of our method based on the
deviation from the actual cadence (estimated – actual). We
then manually fit a Gaussian cluster over the data and
extracted two sets of values:
1. the mean and standard deviation of the main cluster;
and
2. the percentage of samples outside the main cluster
(outliers).
The reason for doing this is that the results had a majority
Figure 5. A sample of chest data with the subject taking a corner showing of the estimated cadences distributed close to the actual
the data after the 5Hz low pass filter and low frequency signal (< 0.5Hz). cadence, while some were distributed far from the actual
The arc represents the corner, and the two clusters on either side of the arc cadence. These outlying points affect our results by
represent the signal as the subject walks into the corner and later out of the
increasing the standard deviation and hence giving the
corner.
impression of a wider Gaussian distribution.
1461
The results are given in Table 2 for the three body V. CONCLUSION
locations and two activities. For each location-activity
Magnetometers have largely been used in dead-reckoning
combination, the mean and standard deviation (S. D.) of the
and less in context-aware computation and pervasive health
main cluster is given, together with the percentage of
applications. The closest work is that of body segment
samples outside the cluster. Data from sensors on the ankle,
orientation, of which most has been done using gyroscopes
upper arm and navel, gave similar results to thigh, hand and
and accelerometers. Although there have been relatively few
chest respectively.
publications pertaining to the usage of magnetometers in
context-aware computation, we have shown that
TABLE I. DEVIATION OF ESTIMATED CADENCE FROM ACTUAL
CADENCE (STEPS PER SECOND) FOR THREE BODY LOCATIONS, AND TWO magnetometer data can be used for measuring walking and
ACTIVITIES STUDIED. MEAN AND STANDARD DEVIATION (S. D.) OF THE running cadence. Our algorithm involves converting the
MAIN CLUSTER DISTRIBUTION IS GIVEN, TOGETHER WITH PERCENTAGE OF magnetometer vectors to 2D space, filtering, and then
DATA OUTSIDE THE CLUSTER.
estimating the period at which cycles repeat in the 2D
signals. This period is equal to the period of the gait cycle,
Walking Running
hence the inverse has to be multiplied by two to obtain the
Location
% % cadence in steps per second. Our algorithm is able to extract
Mean S. D. Mean S. D.
outliers outliers
the cadence from the chaotic patterns and has led to results
Thigh 0.00 0.04 1.69 0.00 0.04 0.55 comparable to those of a thigh-mounted accelerometer. In
the future, we hope to implement the algorithm on a smart
Hand 0.00 0.02 4.04 -0.02 0.06 1.99 phone so that the cadence can serve as a parameter in
activity-recognition and ubiquitous energy-expenditure
Chest -0.04 0.04 21.31 0.00 0.06 2.44
estimation in our day-to-day lives.
From the results in Table 2, we can see that for the main REFERENCES
clusters the magnetometer results are close to the thigh
[1] K. Taylor, U. A. Abdulla, R. J. Helmer, J. Lee, I. Blanchonette,
accelerometer results (maximum standard deviation of 0.06 “Activity classification with smart phones for sports activities,”
for chest and hand running). However there are a number of Procedia Engineering, vol. 13, pp. 428-433, Jul. 2011.
samples for the chest location while walking that were [2] M. J. Mathie, A. C. Coster, N. H. Lovell, B. G. Celler,
outside the main cluster. The error causing this effect is “Accelerometry: providing an integrated, practical method for long-
shown on Fig. 7. It can be noticed that each gait cycle (loop) term, ambulatory monitoring of human movements,” Physiological
measurement, vol. 25, no. 2, pp R1-R20, Apr. 2004.
has a chaotic period in which an inner loop forms. The
[3] N. Oliver, F. Flores-Mangas, “MPTrain: a mobile, music and
chaotic period results in another peak occurring at half the
physiology-based personal trainer,” in Proceedings of the 8th
time period (twice the cadence).
conference on Human-computer interaction with mobile devices and
services, Espoo, Finland, 2006, pp. 21-28.
[4] P. Barralon, N. Vuillerme, and N. Noury, "Walk detection with a
kinematic sensor: frequency and wavelet comparison," in 28th Anual
International Conference of the IEEE Engineering in Medicine and
Biology Society (EMBS '06), New York, NY, 2006, pp. 1711 -1714.
[5] M. Yuwono, S. W. Su, B. D. Moulton, and H. T. Nguyen, “Gait cycle
spectrogram analysis using a torso¬attached inertial sensor,” in
Annual International Conference of the IEEE Engineering in
Medicine and Biology Society (EMBC), San Diego, Cal., 2012, pp.
6539-6542.
[6] C. Mazzà, M. Donati, J. McCamley, P. Picerno, and A. Cappozzo,
"An optimized Kalman filter for the estimate of trunk orientation
from inertial sensors data during treadmill walking," Gait & Posture,
vol. 35, no. 1, pp. 138-142, Jan. 2012.
[7] E. Foxlin, "Pedestrian tracking with shoe-mounted inertial sensors,"
Computer Graphics and Applications, vol. 25, no. 5, pp. 38-46, Dec.
2005.
[8] X. Yun, E. R. Bachmann, H. Moore, and J. Calusdian, “Self-
contained position tracking of human movement using small
inertial/magnetic sensor modules,” in IEEE International Conference
on Robotics and Automation, Roma, Italy, 2007, pp.2526-2533.
[9] D. Roetenberg, H. J. Luinge, C. T. M. Baten, and P. H. Veltink,
“Compensation of magnetic disturbances improves inertial and
Figure 7. Example of cycles with chaotic periods forming inner loops. magnetic sensing of human body segment orientation,” IEEE Trans.
This particular sample was obtained from the chest sensor. (a) Shows the on Neural Syst. and Rehabil. Eng., vol. 13, no. 3, pp. 395 -405, Sept.
graph cycles (b) Graph of the output of h(τ) (eq. 2); even though the actual 2005.
cadence (1.4 cycles/sec or 2.8 steps/sec) is found as the second trough, a [10] D. Roetenberg, C. T. M. Baten, and P. H. Veltink, “Estimating body
significant first trough is also found resulting to it’s selection instead of the segment orientation by applying inertial and magnetic sensing near
actual cadence. ferromagnetic materials," IEEE Trans. on Neural Syst. and Rehabil.
Eng., vol 15, no. 3, pp. 469 -471, Sept. 2007.
1462
[11] Opal by APDM, inc. [Online]. Available:
http://apdm.com/products/movement-monitors/opal/
[12] S. Gambino, M. Mirochnik, and S. Schechter. (2006). Center of mass
of a human [Online]. Available:
http://hypertextbook.com/facts/2006/centerofmass.shtml
[13] T. Öberg, A. Karsznia, and K. Öberg, "Basic gait parameters:
reference data for normal subjects, 10-79 years of age," Journal of
Rehabilitation Research and Development, vol. 30, no. 2, pp. 210-
223, 1993.
[14] D. Mizell, “Using gravity to estimate accelerometer orientation,”
Proceedings of the 7th IEEE International Symposium on Wearable
Computers, White Plains, NY, 2003, pp. 252.
1463
Description:(Eagle Analog System, Motion Analysis Corporation, Cal- . issues originating from platform design (such as inconsistent .. estimation in our day-to-day lives. [14] D. Mizell, “Using gravity to estimate accelerometer orientation,”.