Upper 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 [email protected],[email protected]. ferromagneticmaterialsontheaccuracyoforientationtrack- L. Holmstrom is Chief Information Officer at APDM, Inc. Email: ing using a triaxial accelerometer, gyroscope and magne- [email protected]. 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:[email protected],[email protected], maintaining an approximate distance of two feet from any [email protected]. 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 [email protected] Canberra, Australia Canberra, Australia Canberra, Australia [email protected] [email protected] [email protected] 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: