Next Article in Journal
Monitoring of Corroded and Loosened Bolts in Steel Structures via Deep Learning and Hough Transforms
Next Article in Special Issue
Interface Pressure System to Compare the Functional Performance of Prosthetic Sockets during the Gait in People with Trans-Tibial Amputation
Previous Article in Journal
Polarization-Insensitive Waveguide Schottky Photodetectors Based on Mode Hybridization Effects in Asymmetric Plasmonic Waveguides
Previous Article in Special Issue
Wearable Biofeedback Improves Human-Robot Compliance during Ankle-Foot Exoskeleton-Assisted Gait Training: A Pre-Post Controlled Study in Healthy Participants
Order Article Reprints
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:

Body-Worn IMU Human Skeletal Pose Estimation Using a Factor Graph-Based Optimization Framework

Department of Aeronautics and Astronautics, Massachusetts Institute of Technology, 77 Massachusetts Avenue, Cambridge, MA 02139, USA
Industrial and Operations Engineering, Robotics Institute, University of Michigan, 1205 Beal Avenue, Ann Arbor, MI 48109, USA
Author to whom correspondence should be addressed.
Sensors 2020, 20(23), 6887;
Received: 20 October 2020 / Revised: 17 November 2020 / Accepted: 28 November 2020 / Published: 2 December 2020
(This article belongs to the Special Issue Smart Sensors: Applications and Advances in Human Motion Analysis)


Traditionally, inertial measurement units- (IMU) based human joint angle estimation requires a priori knowledge about sensor alignment or specific calibration motions. Furthermore, magnetometer measurements can become unreliable indoors. Without magnetometers, however, IMUs lack a heading reference, which leads to unobservability issues. This paper proposes a magnetometer-free estimation method, which provides desirable observability qualities under joint kinematics that sufficiently excite the lower body degrees of freedom. The proposed lower body model expands on the current self-calibrating human-IMU estimation literature and demonstrates a novel knee hinge model, the inclusion of segment length anthropometry, segment cross-leg length discrepancy, and the relationship between the knee axis and femur/tibia segment. The maximum a posteriori problem is formulated as a factor graph and inference is performed via post-hoc, on-manifold global optimization. The method is evaluated (N = 12) for a prescribed human motion profile task. Accuracy of derived knee flexion/extension angle (4.34 root mean square error (RMSE)) without magnetometers is similar to current state-of-the-art with magnetometer use. The developed framework can be expanded for modeling additional joints and constraints.

1. Introduction

The estimation of the human skeletal pose is a well-studied problem [1,2,3]. The class of techniques referred to as human motion capture, or mocap for short, has been approached through different measurement technologies. While computer vision systems exist [4], the most common approach today is marker-based optical motion capture (OMC) [5]. These techniques generally involve the mounting of reflective markers on the human body which are triangulated in space using a set of specially-equipped cameras. While this approach is very accurate at localizing the position of each marker in the capture volume, additional modeling approaches (for example, OpenSim [6] or the Vicon plugin gait model [7,8]) are required to infer the biomechanical quantities of interest—joint angles, skeletal position, etc. Furthermore, marker-based mocap has measurement limitations. Markers may be occluded or fall off the subject, and the measurement typically must take place in a controlled laboratory environment [9].
Small, wearable inertial measurement units (IMUs) have garnered interest as a low-cost, in-the-field alternative to OMC. These sensor packages typically measure acceleration and angular velocity, and are often augmented with local magnetic field measurements to aid in heading estimation. IMUs have classically been used for inertial navigation on aerospace and nautical systems [10,11,12]. Modern IMUs mounted on the human body are compact and offer motion estimation without external equipment and a line-of-sight requirement. Approaches are developed to overcome the major disadvantages of IMUs, namely system noise and drift of estimated quantities (e.g., [13,14,15,16,17,18]). Along with developed human-body modeling approaches, IMUs have found multiple uses within human studies, including clinical sciences [19,20,21,22,23], sports performance [24,25,26,27,28], activity recognition [29,30,31,32,33], occupational ergonomics [34], and even spacesuit fit evaluation [35].
One major consideration to be made when using IMU-based human modeling approaches is prescribing or estimating the relationship between the IMU coordinate frame on the surface of the body segment and the underlying skeletal system in which many biomechanical quantities of interest are defined, sometimes referred to as the IMU-to-segment (I2S) pose relationship. A recent review by Vitali and Perkins [36] places these methods into four distinct categories—(1) assumed alignment methods, (2) functional alignment methods, (3) model-based methods, and (4) augmented data methods. Assumed alignment approaches have considered the a priori alignment of the IMU to the human skeletal system [37]. Mayagoitia et al. [38] used aligned gyroscope and accelerometer packages to track the pitch angle of the shank to an error of 2.7 ± 2.8 . Favre et al. [39,40] precisely aligns one of the axes of the IMU with the knee’s major rotation axis. Kok et al. [41] formulates the problem as a maximum a posteriori (MAP) estimation problem, solved through weighted least squares optimization, including the estimation of offset vectors from neighboring segment coordinate systems to their common point-revolute joint, after determining the I2S relationship from a priori measurement and a static calibration routine [42]. These methods are limited by the operator’s ability to precisely align the IMU, or their ability to measure the alignment offset. Functional alignment methods have considered using static or dynamic calibrations (referred to as functional calibrations) which the human subject must perform in order to determine the alignment between the IMU and skeletal system. Favre et al. [43,44] prescribes a functional calibration set with a subsequent root mean square error (RMSE) of the knee’s three major rotation angles between 4.0 and 8.1 . Many other works have also used functional calibration to aid in the estimation of segment kinematics [45,46,47,48,49,50,51,52]. These methods may be confounded by the subject’s ability to perform the prescribed calibrations.
More recently, efforts have shifted towards overcoming these limitations of functional or static calibrations. In this work, the phrase self-calibrating is used to describe model-based approaches that either (a) estimate the pose relationship between the IMU and underlying bone segment coordinate system (i.e., the I2S relationship), or (b) can derive relevant biomechanical parameters of the human skeleton (such as joint angles) without directly estimating the I2S relationship. These approaches generally exploit kinematic relationships that exist between IMUs mounted on a semi-rigid-body about a fixed-point rotating joint. Müller et al. [53] models the elbow as a 2 degree of freedom (DOF) system, and argues that the magnitude of the relative angular velocity about the joint may be decomposed into axis components through a formulated optimization problem. McGrath et al. [54] extends this argument to the 1DOF knee hinge joint, offering a computationally-efficient axis estimator based on principal component analysis (PCA). Seel et al. [55,56] presents an optimization-based approach to estimating joint axis and position in the IMU frames from measured angular velocities and accelerations for the knee and ankle joints. This method is expanded on by Salehi et al. [57] with a modified measurement model of the IMU positions relative to their neighboring joints to aid in accuracy and observability. Taetz et al. [58] presents a similar problem solved via a sliding-window weighted least squares algorithm, but with the novel addition of assuming a topology on which the IMU is mounted. In that work, the authors assume a capsule-type shape, but note that other shapes can be included. Often, these works estimate or otherwise kinematically include (i.e., through a priori measurement) an I2S calibration parameter for each IMU [41,58,59], typically modeled as a static S E ( 3 ) transformation between the underlying limb coordinate system and the coordinate system of the IMU on the limb surface. Other works [53,54,55,56,60,61] seek to derive relevant biomechanical states without directly estimating the underlying skeletal coordinate systems, a potentially minimal parameterization of the problem. The current work falls in the latter category. There are two major motivations for this approach: First, as noted in Taetz et al. [58], to estimate both the IMU coordinate system trajectory and the skeletal coordinate system trajectory (when the I2S relationship is assumed static) is a redundant variable set. Secondly, when mathematical relationships are cast as a function of skeletal coordinate system (rather than the IMU coordinate system), the resultant noise distributions are often immeasurable. For example, as of this publication, the authors are not aware of attempts to measure the noise distribution of (a) bone connection "error" at a single rotation center (i.e., the constraint first proposed by Kok et al. [41] and used by subsequent works [58]) when the constraint is cast in the skeletal coordinate system or (b) the distribution of the aforementioned static I2S parameter in S E ( 3 ) , although efforts have been made [62] to investigate the sensitivity of the optimized solution to the accuracy of this parameter. This modeling dichotomy deserves continued investigation.
These works also vary in their solution methodology. Many consider general batch optimization [41,53,55,56], while others have considered sliding window approaches [58], filtering approaches [52], or even PCA-based approaches [54]. Recently, Kok et al. [63] reconsiders the optimization problem [41] but with a more efficient approach to the selection of search direction, using a message passing algorithm [64].
Performing batch optimization for this class of problems is expensive due to high-frequency data measured from multiple IMUs. It has been proposed to use keyframes [65] to reduce the size of the optimization problem, i.e., to select only a relevant subset of the full state trajectory for MAP inference. Depending on the application, this keyframe approach can also yield faster solutions without loss in accuracy or operational decision making ability. For example, human walking can be captured with a slower keyframe rate than sprinting, and likely neither require estimated states at the same rate as high frequency IMU samples. Lupton and Sukkarieh [66] first proposed an implementation for inertial sensors as preintegrated IMU measurements. The current work relies on the implementation by Carlone et al. [67] and Forster et al. [68]. Their IMU preintegration work develops a relative motion constraint between keyframes, which robustly handles IMU bias propagation. Moreover, the IMU model variables, as with all relevant variables in this work, are implemented on-manifold for efficient computation (for a background on differential manifolds, Lie groups, and applications to visual/inertial/human navigation problems, the reader is referred to [69,70,71]). The GTSAM 4.0 library [72], which uses factor graphs [73] as the underlying computational framework, is a commonly-used library for on-manifold optimization and includes the IMU preintegration work.
Another consideration is that magnetometers are notoriously unreliable indoors [74,75] due to the presence of electromagnetic disturbances. While some works have considered compensation or recalibration for these disturbances [76,77,78,79], many works, including this one, avoid the use of magnetometers altogether [41,80]. Without the use of magnetometers, IMUs typically do not have a heading reference, leaving the yaw degree of freedom generally unobservable in the case of traditional dead-reckoning for IMU pose trajectory. Therefore, exploiting kinematic constraints inherent to the human skeletal system (cast in local frames, i.e., between body segments) may improve observability [57], however, may not provide absolute observability of the IMU heading angle, i.e., all solutions rotated about the global vertical axis are equivalent. Discerning the heading relationship between two IMUs flanking a joint may be possible using an approach that leverages a model of a static vector pair from the joint to the neighboring IMUs, e.g., [41], however, when these vectors lie normal to the horizontal plane they may not provide sufficient information. Tasks such as upright gait are likely to have static vectors from the IMU to joint centers that are directed proximal or distal on the limb, which would be approximately parallel to the global upward vector. In these situations, more information is necessary to discern the heading relationship between two IMUs. The current work presents a novel knee kinematic model for least-squares optimization which leverages the kinematic relationship between the pair of IMUs’ orientations and angular velocities in order to estimate a static rotation axis in each IMUs’ local frame. In the case of upright gait and an appropriately-behaved kinematic hinge (such as the human knee), the proposed model would provide enough information to discern the heading relationship between the two IMUs flanking the joint center. The direct estimation of the hinge axis, which points medial/lateral in the skeletal frames, permits the definition of segment coordinate systems consistent with the International Society of Biomechanics’ (ISB) recommendations [81,82,83]. Deriving joint angles according to ISB convention has the explicit benefit of both allowing comparison across different methods and presenting angles in a common convention that is already accepted.
In this work, we consider the problem of estimating lower body skeletal kinematics from a requisite set of seven IMUs mounted on the subject (on the lower back, thighs, shanks, and feet) under human motion without a heading reference. The proposed optimization-based approach uses accelerometer and gyroscope measurements to estimate IMU pose trajectories, knee hinge axes statically represented in the thigh and shank IMU local frames, and the assumed-static relationship between the IMU frame and its neighboring joint center(s) subject to a number of kinematic constraints. These estimated parameters allow for post-hoc derivation of the underlying femur, tibial, and pelvic coordinate systems, and as a result, the skeletal joint angles for the knee. A performance of the proposed approach is evaluated for 12 subjects, each performing a prescribed motion profile designed to excite all human lower body degrees of freedom. Additionally, the subject is outfitted with optical motion capture tracking as a truth datum. When appropriate, the proposed method is compared against a control IMU algorithm, which considers each of the seven IMUs individually as a dead-reckoning problem in an optimization-based smoothing framework.
We hypothesize that (1) the proposed model will not significantly affect error of estimated IMU orientations for the traditionally-observable orientation degrees of freedom (pitch and roll) and (2) that the derived knee flexion/extension angle will fall within 5 degrees RMSE when compared to optical motion capture estimates. Additionally, this work will characterize IMU position estimation accuracy.
This work extends the literature for estimation of human limb pose estimation from body-worn IMUs in three key ways. (1) This work presents a novel knee kinematic model similar to McGrath et al. [54] but reformulated for least-squares optimization, additionally exploiting kinematic information about the relationship between the knee’s rotation axis and the femur and tibia proximal direction [84]. (2) This work demonstrates the inclusion of population anthropometric information as a probabilistic constraint, namely length of the femur, tibia, and femoral head separation as well as femur and tibia length discrepancy. (3) This work leverages IMU preintegration theory [67,68] to reduce problem size and complexity without loss in accuracy or relevant estimated information. In addition to these contributions, the MAP estimation problem is presented in factor graph form, an expressive modeling framework which allows for a flexible inclusion of priors and advanced inference techniques. While in the presented problem the kinematic constraints are included at each keyframe, one could easily only include the kinematic constraints at a subset of keyframes or constrain across nonconsecutive keyframes if such information existed. This work adopts recommended conventions by the ISB for reporting knee angles [82] to increase operational interpretation for end users, which is made possible through the estimation of the knee’s rotation axis. The method is tested in a multi-subject study with differences between subjects considered.

2. Problem Formulation

The method requires a human subject to be outfitted with IMUs on the lower back, thighs, shanks, and feet. The assignment of IMU to limb segment is known however, the placement (i.e., orientation and position) of the IMU on the segment is unknown. It is desired to estimate the time-series pose trajectories of each IMU along with a static biomechanical map which relates these IMUs to the underlying skeletal system to which they are jointly attached. No reference of position or heading angle is assumed to be known—only measurements of the accelerometer and gyroscope of each IMU are taken. A visual representation of this system is shown in Figure 1.

2.1. Estimated Variables, Derived Quantities, and Notation

The local coordinate frames of the IMUs mounted on the lumbar, right thigh, right shank, right foot, left thigh, left shank, and left foot are denoted as 1, 2, 3, 4, 5, 6, and 7 respectively. The coordinate frames of the underlying pelvis, right femur, right tibia, right calcaneus, left femur, left tibia, and left calcaneus anatomical segments are denoted with a prime symbol ( ) above their associated IMU frame: 1 , 2 , 3 , 4 , 5 , 6 , and 7 , respectively. The shared navigation frame is denoted as N . Denote a numbered keyframe k = 1 M , within the set of all keyframes K . Let i , j K denote any two consecutive keyframes. The set of all IMU measurements (gyroscope and accelerometer) between keyframes i and j is denoted I ( i , j ) . As explained later (Section 2.2.1), the IMU states are not estimated at each measurement, but rather at a lower rate for computational efficiency.
The following variables are estimated in the model:
  • Discrete time-series pose trajectory of each IMU: X 1 , k N , X 2 , k N , X 3 , k N , X 4 , k N , X 5 , k N , X 6 , k N , X 7 , k N S E ( 3 ) for k = 1 M . It should be noted that a pose from frame A to the navigation frame, X A N S E ( 3 ) may equivalently be expressed in terms of its orientation R A N S O ( 3 ) and position p A R 3 components;
  • Discrete time-series velocities of each IMU: v 1 , k , v 2 , k , v 3 , k , v 4 , k , v 5 , k , v 6 , k , v 7 , k R 3 for k = 1 M ;
  • Discrete time-series angular velocities of each IMU: ω ^ k 1 , ω ^ k 2 , ω ^ k 3 , ω ^ k 4 , ω ^ k 5 , ω ^ k 6 , ω ^ k 7 R 3 for k = 1 M ;
  • Discrete time-series accelerometer and gyroscope biases for each IMU: b 1 , k , b 2 , k , b 3 , k , b 4 , k , b 5 , k , b 6 , k , b 7 , k R 6 for k = 1 M ;
  • The (static) hinge axis of the right knee, expressed in the right thigh and right shank IMU frame, respectively: r 2 , r 3 S 2 , and similar for the (static) axis of the left knee expressed in its respective thigh and shank frame: r 5 , r 6 S 2 ;
  • The (static) vector from the IMU frame to each adjacent joint center, i.e., the vector from the
    lumbar IMU frame to the right hip rotation center: s 1 rh R 3 ,
    right thigh IMU to the right hip center: s 2 rh R 3 ,
    right thigh IMU to the right knee center: s 2 rk R 3 ,
    right shank IMU to the right knee center: s 3 rk R 3 ,
    right shank IMU to the right ankle center: s 3 ra R 3 ,
    right foot IMU to the right ankle center: s 4 ra R 3
    lumbar IMU frame to the left hip rotation center: s 1 lh R 3 ,
    left thigh IMU to the left hip center: s 5 lh R 3 ,
    left thigh IMU to the left knee center: s 5 lk R 3 ,
    left shank IMU to the left knee center: s 6 lk R 3 ,
    left shank IMU to the left ankle center: s 6 la R 3 ,
    left foot IMU to the left ankle center: s 7 la R 3 .
The following quantities are not estimated, but rather derived from estimated variables in the model:
  • Discrete time-series orientations of the anatomical pelvic, right femur, right tibial, left femur, and left tibial segments: R 1 , k N , R 2 , k N , R 3 , k N , R 5 , k N , R 6 , k N S O ( 3 ) for k = 1 M ;
  • The time-series flexion/extension, internal/external rotation, and abduction/adduction joint angles of the knee.
The coordinate systems of the pelvis, femur, and tibia segments are assumed to be statically related to the coordinate systems of the IMU mounted on the surface of the associated limb segment. These anatomical coordinate systems are defined according to the recommendations of the International Society of Biomechanics ([82]):
  • z: positive in the proximal direction;
  • y: positive in the anterior direction;
  • x: positive to the subject’s right.
This choice of the anatomical coordinate system is motivated by the desire to derive joint angle definitions that are meaningful to end users.

2.2. Model

The following sections detail the proposed model of this work. Section 2.2.1 describes the time-series IMU dynamics, Section 2.2.2, Section 2.2.3, Section 2.2.4, Section 2.2.5, Section 2.2.6, and Section 2.2.7 describe the biomechanical and anthropometric constraints: Knee pseudo-hinge kinematics (Section 2.2.2), the relationship between the knee’s hinge axis and the femur/tibia proximal direction (Section 2.2.4), constrained joint center of rotation between adjacent IMUs (Section 2.2.3), anthropometry of femur length, tibia length, and pelvic width (Section 2.2.5), maximum/minimum allowable anthropometric lengths (Section 2.2.6), and femur and tibia length discrepancy (Section 2.2.7). Section 2.2.8 presents this model within a MAP estimation framework. Finally, Section 2.2.9 presents noteworthy model unobservability conditions.

2.2.1. IMU Dynamics Model

The following IMU dynamics model is due to Forster et al. [68] and summarized here. An IMU takes measurements in the local body frame B, specifically the rotation rate about the local body axes, ω ˜ , and body acceleration in the local frame a ˜ . These measurements are imperfect, corrupted by slowly-varying biases b ω and b a , and additive zero-mean white noise v ω N ( 0 , σ ω 2 ) and v a N ( 0 , σ a 2 ) .
ω ˜ ( t ) = ω ( t ) + b ω ( t ) + v ω ( t )
a ˜ ( t ) = ( R B N ) 1 ( a N ( t ) g ) + b a ( t ) + v a ( t )
where g is the acceleration due to gravity constant, expressed in the navigation frame. Using a kinematic model:
d R B N ( t ) d t = R B N ( t ) ω ( t ) × , d v ( t ) d t = a N ( t ) , d p ( t ) d t = v ( t )
and integrating over the interval [ t , t + Δ t ] , the kinematic model as a function of the IMU measurements ω ˜ and a ˜ is written:
R B N ( t + Δ t ) = R B N ( t ) exp ( ( ω ˜ ( t ) b ω ( t ) v ω d ( t ) ) Δ t )
v ( t + Δ t ) = v ( t ) + g Δ t + R B N ( t ) ( a ˜ ( t ) b a ( t ) v a d ( t ) ) Δ t
p ( t + Δ t ) = p ( t ) + v ( t ) Δ t + 1 2 g Δ t 2 + 1 2 R B N ( t ) ( a ˜ ( t ) b a ( t ) v a d ( t ) ) Δ t 2
where v a d ( t ) is the discrete-time noise, related to the continuous-time spectral noise through C o v ( v a d ( t ) ) = 1 Δ t C o v ( v a ( t ) ) , and similarly for v ω d ( t ) .
Equation (3) represent a valid set of constraints that could be incorporated in an inference problem to model IMU dynamics and estimate the state trajectory of an IMU { R ( t ) , p ( t ) , v ( t ) , b a ( t ) , b ω ( t ) } . However, typically these equations are discretized at the the same rate as the IMU measurements (i.e., 1 Δ t ) which is often more frequent than necessary for most biomechanics applications. Forster et al. [68] develops a suitable model for IMU preintegration on-manifold, which enables the summary of all IMU accelerometer and gyroscope measurements between two keyframes k = i and k = j , denoted by I ( i , j ) , into a single compound probabilistic constraint. Given I ( i , j ) , the residual error model r I i , j R 9 and the error model of slowly-time-varying measurement bias r b i , j R 6 are given in Equations (37) and (40) in Forster et al. [68]. This model of IMU dynamics evolution is used for each IMU in the current work.
Additionally, the instantaneous angular velocity of the IMU at keyframe k is also estimated. The estimated angular velocity ω ^ is simply related to the gyroscope measurement ω ˜ which coincides with keyframe k as:
e k = f ω ( ω ^ k , b k ω , ω ˜ k ) = ω ^ k + b k ω ω ˜ k , e k N ( 0 , Σ g ) k .

2.2.2. Knee Pseudo-Hinge Kinematics

The human knee is assumed to act as a pseudo-hinge with a single point of rotation. Moreover, the major hinge axis r is assumed to be statically representable in both the thigh IMU and shank IMU coordinate frames. For a perfect point-rotation hinge joint, the relative angular velocity across the joint will point normal to the plane of rotation (see McGrath et al. [54]). At every estimated IMU state keyframe, this relative angular velocity m k (Figure 2) may be computed. Due to soft tissue artifacts and the imperfect hinge kinematics of the joint, these vectors will not all point exactly in the same direction.
A point estimate of the hinge axis r may be found by minimizing the projection of m k onto r , as given by:
( m k · r ) r r 2 2 k .
Since r is always a unit axis, r 2 2 = 1 . Hence, the line segment between m k and the projection of m k onto r is simplified to m k ( m k · r ) r . The error model is then given by:
e k = m k ( m k · r ) r , e k N ( 0 , Σ k ) k .
Consider a hinge joint flanked by an IMU proximal and distal to the joint, A and B respectively. Then for each keyframe k, the relative angular velocity across the joint may be computed in frame A as:
m k = ω B A A = ( R A , k N ) 1 R B , k N ω ^ B , k ω ^ A , k k .
Combining Equation (6) and (7), the full error model for the hinge axis expressed statically in frame A may be rewritten as:
e k = f K ( r A , R A , k N , R B , k N , ω ^ A , k , ω ^ B , k ) = R A , k N 1 R B , k N ω ^ B , k ω ^ A , k ( R A , k N 1 R B , k N ω ^ B , k ω ^ A , k · r A ) r A e k N ( 0 , Σ K ) k .
This kinematic relationship can also be exploited for the hinge axis in the distal IMU frame by simply rearranging the arguments of Equation (8),
e k = f K ( r B , R B , k N , R A , k N , ω ^ B , k , ω ^ A , k ) k .

2.2.3. Constrained Joint Centers of Rotation

Originally proposed by Kok et al. [41] and commonly adapted across other implementations, the pose relationship between IMUs can be exploited. For any two IMUs mounted on either side of a 3DOF point-rotation joint, it is assumed that there is a vector which is static in each IMU frame which points to the center of rotation of the common joint. In the navigation frame, these vectors, composed with their associated IMU poses, should represent the same point—the joint’s center.
For any IMUs A and B flanking joint rotation center j , there exist static vectors in each IMU frame ( s A j and s B j respectively), such that the following relationship holds:
e k = f J ( X A , k N , s A j , X B , k N , s B j ) = X A , k N s A j X B , k N s B j , e k N ( 0 , Σ j ) k .

2.2.4. Angle Between the Knee Rotation Axis and Femur/Tibia Proximal

There exists an anthropometric relationship between the knee’s primary axis of rotation and the femur/tibia segment length. Hollister et al. [84] measured this angular distribution between the knee’s (lateral-pointing) rotation axis and the femur and tibia segments through the range of knee flexion/extension, and this relationship is not necessarily orthogonal. Such a model is useful in aiding model identifiability, discussed in detail in Section 2.2.9. A probabilistic constraint can be formulated to model this relationship. The angle between an axis a R 3 and a segment s, both expressed in a common frame, can be written as:
θ = arccos a · s ( a 2 s 2 )
where it is noted that for a unit axis, a 2 = 1 . This motivates the following error model for the right thigh:
e = f o ( r 2 , s 2 rh , s 2 rk ) = μ arccos r 2 · ( s 2 rh s 2 rk ) s 2 rh s 2 rk 2 , e N ( 0 , σ o 2 )
and similarly for other segments, where μ and σ o are the expected mean and standard deviation of the angle between the knee’s rotation axis and the segment proximal vector. In Hollister et al. [84], the values for μ are given for the exterior angle between the medial-pointing knee rotation axis and femur and tibia. However, in the proposed model, the knee’s rotation axis is always assumed to point to the subject’s right per ISB conventions [82]. These angular relationships can be adjusted through simple geometric identities. The adjusted values for μ and σ o can be found in Table 1.

2.2.5. Femur Length, Tibia Length, and Pelvic Width from Anthropometry

For any IMU that is between two neighboring joint centers, i.e., the thigh and shank IMUs, there exists an anthropometric relationship between these two joint centers, which has likely been tabulated in an anthropometric database. This relationship more precisely specifies the kinematic model of the human, especially under insufficient kinematics to identify model parameters or significant measurement noise. For an IMU A between two joints centers j 1 and j 2 , the static vectors from the IMU frame to the neighboring joint frame would be denoted s A j 1 and s A j 2 . Let the distance between these joint centers be denoted L, where an approximately-normal distribution from anthropometric measurements exists as L N ( μ L , σ L 2 ) . Then the distance between joint centers j 1 and j 2 may be constrained using this prior information:
e = f L ( s A j 1 , s A j 2 ; μ L ) = s A j 1 s A j 2 2 μ L , e N ( 0 , σ L 2 ) .

2.2.6. Maximum/Minimum Anthropometric Lengths

In addition to the probabilistic encoding of subject anthropometry in Equation (13), it is sometimes also useful to encode a hard maximum and/or minimum anthropometric length, which practically limits the solution space to reasonable values of segment lengths. This constraint is specifically relevant when using generic population measures for anthropometry (as is done in this work) rather than specifically calibrated anthropometric lengths. For a given state variable x for which minimum x m i n and maximum x m a x are desired, a continuously differentiable function may be defined which models zero error on the interval [ x m i n , x m a x ] , with increasing error otherwise.
f M ( x ; x m i n , x m a x , a ) = ( x x m a x ) ( tanh ( a ( x x m a x ) ) ) 2 x > x m a x ( x m i n x ) ( tanh ( a ( x m i n x ) ) ) 2 x < x m i n 0 otherwise
This may be encoded as a noise model in the system. For any vectors in frame A which span a common limb segment and anthropometric limits x m i n and x m a x ,
e = f M ( s A j 1 s A j 2 2 , x m i n , x m a x ; a ) .
As this error model is introduced to the system to model a hard limit constraint, the distribution of e is not motivated from the dynamics of the system. Rather, the “strength” of the constraint may be tuned through the adjustment of error model scalar parameter a.

2.2.7. Femur and Tibia Length Discrepancy

In addition to aforementioned anthropometric information about the distribution of femur and tibia lengths, there also exists anthropometric information about the discrepancy, or difference, between the right and left femur and tibia [85,86,87]. Similarly, such a constraint is useful to precisely specify the human kinematic model, especially under insufficient kinematics or high measurement noise. Assuming that this distribution is on average zero for the greater population, a probabilistic model of this error distribution for the femur is written:
e = f D ( s 2 rh , s 2 rk , s 5 lh , s 5 lk ) = s 2 rh s 2 rk 2 s 5 lh s 5 lk 2 , e N ( 0 , σ D 2 )
and similarly for the tibia, where σ D represents the standard deviation of the discrepancy distribution. According to Shultz and Nguyen [85], σ D = 0.8 cm for the femur and σ D = 0.6 cm for the tibia.

2.2.8. Full Problem Representation

Recall the convenient IMU numbering scheme of the IMU on the lower back, right thigh, right shank, right foot, left thigh, left shank, and left foot as S = { 1 , , 7 } respectively. Let IMU coordinate frames A and B and joint center(s) j represent relevant parameters of any of the formulated factor error models above. The posterior probability of all variables Y given all measurements Z and priors p ( Y 0 ) is represented as:
p ( Y | Z ) p ( Z | Y ) p ( Y 0 ) = p ( Y 0 ) ( i , j ) K s S p ( I ( i , j ) s | X s , i N , X s , j N ) IMU dynamics (Section 2.2.1) k K s S p ( ω ˜ s , k | ω ^ s , k , b s , k ω ) IMU angular velocities (Section 2.2.1) k K ( A , B ) S p ( r A , X A , k N , X B , k N , ω ^ A , k , ω ^ B , k ) knee hinge dynamics (Section 2.2.2) k K ( A , B ) S p ( X A , k N , X A , k N , s A j , s B j ) joint connection (Section 2.2.3) k K A S p ( r A , s A j 1 , s A j 2 ) knee axis vs. segment proximal (Section 2.2.4) A S p ( s A j 1 , s A j 2 ) Anthropometry (Section 2.2.5) ( A , B ) S p ( s A j 1 , s A j 2 , s B j 3 , s B j 4 ) Segment length discrepancy (Section 2.2.7)
The setting of all variables which maximize Equation (17) is referred to as the maximum a posteriori estimate of Y , denoted Y ^ MAP . Equivalently, Y ^ MAP minimizes the negative log likelihood of Equation (17), additionally separating the factors into a simple sum of squares of the residual error models presented in Section 2.2. Under the assumption of Gaussian factors,
Y ^ MAP = arg max Y p ( Y | Z ) = arg min Y [ log e p ( Y | Z ) ] = Y 0 e 0 Σ 0 2 + s S ( i , j ) K e I s Σ I 2 + k K s S f ω ( ω ^ s , k , b s , k ω , ω ˜ s , k ) Σ g 2 + k K ( A , B ) S f K ( r A , X A , k N , X B , k N , ω ^ A , k , ω ^ B , k ) Σ K 2 + k K ( A , B ) S f J ( X A , k N , X B , k N , s A j , s B j ) Σ J 2 + k K A S f o ( r A , s A j 1 , s A j 2 ) 2 / σ o 2 A S f L ( s A j 1 , s A j 2 ) 2 / σ L 2 + ( A , B ) S f D ( s A j 1 , s A j 2 , s B j 3 , s B j 4 ) 2 / σ D 2
The factor graph representation of this problem is given in Figure 3.

2.2.9. Model Identifiability

Following the terminology of Raue et al. [88], the proposed model has a short list of nonidentifiability conditions. There are two structural nonidentifiabilities, i.e., inherent unobservability properties of the model:
  • (Structural nonidentifiability #1) Gauge freedom [89] of the solution in absolute position, velocity, and heading. The proposed model does not have an absolute reference for position, velocity, or heading (i.e., GPS or magnetometers). Therefore, the estimated solution is correct up to a constant offset in these degrees of freedom. This nonidentifiability is addressed through the use of priors to anchor the solution, as detailed in Section 3.7;
  • (Structural nonidentifiability #2) Knee axis sign ambiguity: Both the positive and negative sign of knee axes r A and r B are equivalent nonunique solutions to Equations (8) and (9), respectively. This manifests as 2 2 = 4 discrete equivalent-error local minima per leg. These equivalent local minima are disambiguated post-hoc, detailed in Section 3.9.
Additionally, the model admits two practical nonidentifiabilities, i.e., nonidentifiabilities which are emergent due to the insufficient quality or amount of sensor observations:
  • (Practical nonidentifiability #1) (a) A trivial nonidentifiability of static vector and knee axis variables occurs when there is no motion of the subject—the proposed method does require human motion. (b) Similarly, static vectors to the hip and ankle joints must sufficiently explore all DOF of the joints. The solution to the constrained joint center of rotation model (Equation (10)) is only identifiable and unique when both IMUs flanking the joint sufficiently rotate in multiple DOF relative to the joint center;
  • (Practical nonidentifiability #2) Discerning heading relationship between IMUs flanking the hip and ankle joints. In a magnetometer-free estimation framework, the heading relationship between IMUs must be derived from human kinematics alone. It is possible the constrained joint center of rotation model Equation (10) provides the necessary information. However, in conditions where one or more of the static vectors from the IMU to neighboring joint centers is generally vertical, i.e., orthogonal to the heading plane, then the associated IMU’s orientation trajectory becomes underconstrained and all constant-offset heading solutions are viable. This situation may occur, for example, in upright walking gait with small step length. In the case of the 1DOF knee, this heading relationship between thigh and shank IMUs is well defined by hinge model Equation (8).
The relationship between the knee’s axis and segment direction (Equation (12)) prevents an additional structural nonidentifiability condition from emerging. As previously discussed in practical nonidentifiability #1, both IMUs flanking a joint must sufficiently rotate in multiple DOF relative to the joint center to yield a unique solution to the constrained joint center of the rotation model (Equation (10)). In the case of the 1DOF knee, this is biomechanically impossible. Therefore there would be no unique solution to Equation (10)—the set of solutions would define a knee rotation center anywhere along the medial/lateral line which contains the true knee rotation center. Indeed, for the hip, the medial/lateral location of the rotation center can only be specified through abduction/adduction of the hip. This illustrates the importance of modeling the angular relationship between knee’s axis and the femur/tibia segment length through Equation (12). This model specifies where along the medial/lateral line the knee rotation center must lie to be consistent with human anthropometric data.

3. Materials and Methods

3.1. Participants

A total of 12 subjects (4 male, 8 female, age = 24.6 ± 3.0 years) participated in this study. The protocol was approved by the Committee on the Use of Humans as Experimental Subjects at MIT (Protocol 1906898310). Exclusion criteria included (1) diagnosis or self-reporting of any lower extremity impairments that limit the subject’s ability to walk, (2) diagnosed or self-reported health conditions (e.g., muscle, heart, etc.) that would prevent the subject for walking for 30 min, (3) inability to walk independently of an assistive device for 30 min on a treadmill, and (4) lack of fluency in the English language.

3.2. Study Protocol

Each participant in the study performed a simple motion profile. Subjects additionally walked for 30 min on a treadmill, but those data are not presented in this paper. The motion profile was chosen to excite all degrees of freedom of the lower body, and was performed as follows:
  • Ankle calibration: Lift your right foot so that it is hovering a few inches off the ground. Perform three ankle flexion/extension cycles within maximum range of comfort. Then, while foot is lifted a few inches off ground, rotate the front of your foot in a circle three times within maximum range of comfort. Repeat for left ankle;
  • Knee calibration: Stand on left foot while keeping both thighs as vertical as possible. Swing right foot behind you (flexing the knee), at least 90 degrees, then return right foot to ground (extending the knee). Do this three times. Repeat for left knee;
  • Hip calibration: From standard pose, while keeping knee and ankle neutral, swing your straight right leg up in front of you to maximum range of comfort and return to ground (flexion/extension of hip) three times. Then, perform an adduction/abduction of hip by swinging straight right leg out to lateral side of the body to maximum range of comfort and then returning foot to ground three times. Finally, perform internal/external rotation of hip by keeping foot near to ground and rotating your foot in and out three times to maximum range of comfort while keeping your ankle and knee stiff. Repeat for left hip;
  • Torso calibration: From neutral pose, bend down and touch your toes and come back up. Then, twist your torso (forward-left torso twist-forward-right torso twist-forward) to maximum range of comfort. Finally, a side-to-side bend: Up-left-up-right-up.
Each subject was outfitted with a set of reflective motion capture markers (Figure 4) and strap-on IMUs (Opal IMU, APDM, Inc., Portland, OR, USA). The IMUs contained dual 3-axis accelerometers (±16 g, ±200 g), and a 3-axis gyroscope (±2000 deg/s). Markers were placed on anatomical landmarks and on the IMUs. These anatomical landmark markers were placed according to a modified Cleveland Clinic lower body marker set for use in OpenSim [6,90] inverse kinematic modeling. The position of the reflective markers was captured using a 13-camera Vicon motion capture system (Vicon Motion Systems, Inc., Los Angeles, CA, USA) at a sampling rate of 200 Hz. A timing pulse was used to start and stop the recording of the IMU and motion capture data at the same time, so the measurements were aligned in time and of the same length.

3.3. Data Processing

A methodology flowchart illustrating the derivation of IMU-based joint angles for the motion profile task is shown in Figure 5. The optimization of Equation (18) was implemented within the GTSAM 4.0 library [72] in C++ and MATLAB. The measured IMU data were recorded at 200 Hz, and 20 measurements were preintegrated between keyframes, i.e., the time-series IMU poses, velocities, biases—and additionally the derived joint angle calculations—were estimated at 10 Hz. Each of these datasets were processed post-hoc via Levenberg–Marquardt [91]. The size of the system squared Jacobian J J grows quickly: The number of rows or columns is equal to the total size of all variables in the problem (in their manifold representation). For 30 s of data with IMU states estimated at 10 Hz along with static variables for joint hinge axes r and static vectors from IMUs to joint centers s this yields a square matrix of size 37,850. The problem was solved on an Intel® Core i7-4910 MQ CPU (2.90 GHz). Criteria for convergence were the following: An absolute change in error between iterations of 1 × 10−6 or less, a relative change in error of 1 × 10−4 or less, or 10,000 iterations, whichever was satisfied first. The optical motion capture data, used as a comparison reference in this study, were compared directly to the derived IMU states at 10 Hz. The motion capture data were low-pass filtered with a 30 Hz, 6th order Butterworth filter and then processed in OpenSim 4.0 [6,90], with inverse kinematics computed according to OpenSim’s gait 2392 model [92,93,94,95]. A custom subject model was constructed for each subject prior to processing in the OpenSim solver by scaling the generic model according to anthropometric measures derived from the subject’s marker data while static. Additionally, the 3-marker acrylic reference placed on each IMU (right side of Figure 4) allowed for the simple calculation of a comparison reference for IMU orientation and position in the optical motion capture frame. The IMU data were processed according to the proposed model in Section 2. For each of the 12 motion trials, time-series measurements were compared: Knee angles as derived in Section 3.4 vs. the OpenSim-estimated joint angles and estimated IMU orientation/position vs. marker-based orientation/position comparison reference. It should be noted that optical motion capture is also an imperfect measurement system however, it is still useful to understand the comparison of IMU-derived measures against accepted gold standard technologies.

3.4. Derivation and Processing of Knee Angles

From the estimated states, it is desired to derive coordinate systems of the underlying femur, tibia, and pelvic anatomical segments. The knee axis and the proximal direction of the femur and tibia are not necessarily orthogonal [84]. The following function is used to construct an orthonormal leg coordinate system (LCS) where the proximal direction ( + z ) is fixed and the right direction ( + x ) is corrected to ensure orthonormality, with the anterior direction ( + y ) derived from the cross product:
R A A = f L C S ( x , z ) = ( ( z × x ) × z ) ( z × x ) z .
Then, the orientation between the IMU on the leg segment and underlying anatomical segment can be derived for the right femur, right tibia, left femur, and left tibia from the relevant knee axis and normalized proximal vector,
R 2 2 = f L C S r 2 , ( s 2 rh s 2 rk ) s 2 rh s 2 rk 2
R 3 3 = f L C S r 3 , ( s 3 rk s 3 ra ) s 3 rk s 3 ra 2
R 5 5 = f L C S r 5 , ( s 5 lh s 5 lk ) s 5 lh s 5 lk 2
R 6 6 = f L C S r 6 , ( s 6 lk s 6 la ) s 6 lk s 6 la 2 .
The knee’s three rotation angles are then reported according to Grood and Suntay [82].

3.5. Selection of Noise Parameters

One major advantage of casting the estimation problem of Equation (18) only in terms of IMU pose trajectories (i.e., the minimal parameterization of the problem), rather than estimating the time-series pose trajectories of the underlying anatomical frames (c.f. [41,58]) is that model noise terms may be measured empirically. The IMUs in this experiment had a comparison reference—the 3-marker planes on which the IMUs were mounted. Additionally, markers were placed on the medial and lateral rotation points of the knee and ankle to compute the mocap-derived joint centers. The mocap hip center was derived from subject pelvic anthropometry according to Seidel et al. [96], using markers on the anterior and posterior superior iliac spine (ASIS and PSIS, respectively). From these joint center locations according to optical motion capture data, the mocap-estimated distance between the IMU pose and a neighboring joint center can be computed. For a single subject (S1), for each IMU and neighboring joint center combination, the empirical distribution of e k in Equation (10) and best-fit Gaussian covariance Σ j were found. This covariance was used for each subject afterward. Similarly for the knee hinge constraint, the empirical distribution of e i in Equation (8) for S1 was found and best-fit Gaussian covariance Σ k was used for each subject in the experiment.

3.6. Selection of Anthropometric Priors

The parameters of the anthropometric model (Section 2.2.5) were defined for the three types of anthropometric constraints present in this model (Table 2): (a) Distance between ankle and knee rotation centers for both legs, (b) distance between knee and hip rotation centers for both legs, and (c) distance between the two hip rotation centers. Note that as constraint (a) and (b) exist for both legs, there are five anthropometric constraints implemented in the model. If the anthropometric length μ L is measured precisely for a given subject, associated variance σ L 2 may be set to a low value to enforce a hard constraint on anthropometric length. However, in this study, and in many other applications, measuring multiple μ L per subject is impractical. Therefore, these distributions were inferred from the literature.
The sources used for anthropometric measurements [97,98] report distributions separately for male and female subjects. As this study incorporated both male and female subjects, a composite distribution must be constructed. Given a measurement mean μ , standard deviation σ for each gender, the larger distribution of measurements was taken as N ( ( μ M + μ F ) / 2 , σ M 2 + σ F 2 ) .
Additionally, the maximum/minimum anthropometric length constraint of Section 2.2.6 was implemented in this model. For the femur and tibia length, the minimum and maximum constraints were set as the 1st percentile female length and the 99th percentile male length, respectively. For femoral head separation, the maximum was set as the 99th percentile male hip breadth. However, as no suitable minimum could be found, this value was set to zero.

3.7. Other Priors

This current implementation has no absolute reference of position (e.g., landmarks or GPS) or absolute reference of heading (e.g., landmarks or magnetometers). This leads to a gauge freedom [89] of absolute position, velocity, and heading of the estimated solution. There are multiple approaches [99] to remedy gauge freedom and here, the simplest approach was taken. At the first keyframe for the lumbar IMU, a prior of zero position, zero velocity, and zero heading angle were set. This approach yielded an estimated solution which is accurate up to a constant offset of absolute position, velocity, and heading.

3.8. Initialization

For general nonlinear, nonconvex optimization, a consideration of the initial point is important. A good initialization of the method not only yields faster convergence, but also reduces the chance of convergence to local minima [100], which will typically produce nonsensical solutions. For this work, position, velocity, and IMU biases were initialized to zero, and orientations were initialized to the identity rotation matrix. Static vectors from IMUs to neighboring joint centers and knee axes were initialized from an assumed nominal alignment.

3.9. Hinge Axis Direction Disambiguation

As discussed in Section 2.2.9, one structural nonidentifiability of this problem is that both the positive and negative signed knee axes sign are equivalent solutions to Equation (8). This condition does not affect the convergence of the optimization problem however it will impact the ISB-consistent anatomical coordinate system definition that assumes knee axes point to the subject’s right (Section 3.4). The following steps were performed post-hoc (after the optimization and prior to joint angle derivation) to ensure that all axes point to the subject’s right:
(Step #1)
Ensuring both knee axes are pointed in the same direction. First, the sign of r B is adjusted to ensure it points to the same side as r A . Both knee axes are transformed into the global frame for all points in time through estimated IMU orientations R A N and R B N . For each point in time, the angle between the knee axes in the world frame is computed. If the median of this distribution is greater than 90 degrees, we conclude that the knee axes point in opposite directions, and the sign of r B is flipped. Otherwise, we conclude that knee axes are pointed in the same direction;
(Step #2)
Ensuring both axes are pointed to the subject’s right. After Step #1, both knee axes will point to either the subject’s left or the subject’s right. However, if both axes point to the subject’s left, then the knee flexion/extension angle as derived in Section 3.4 will have the incorrect sign. Per the ISB-recommended knee angle convention (if both knee axes point to the subject’s right), the range of motion (ROM) of the knee angle should fall approximately in [+10 ,−150 ]. If both knee axes point to the subject’s left, this ROM will fall in [+150 ,−10 ]. Therefore, after Step #1 the knee angle is computed. If the median knee angle is greater than +20 , it is concluded that both knee axes must have been pointing to the subject’s left. Then both axes’ signs are flipped and the angle is recomputed.

3.10. Statistical Analysis

Hypothesis 1 considers the RMSE of estimated IMU pitch and roll for each IMU in the proposed model compared with a control method: The individual optimization-based smoothing of each IMU’s pose trajectory (i.e., without the biomechanical constraints of Section 2.2.2, Section 2.2.3, Section 2.2.4, Section 2.2.5, Section 2.2.6 and Section 2.2.7). For 12 subjects with 7 IMUs each, this produced 84 pitch and 84 roll RMSE values for each method. The 336 total RMSE values were considered as dependent measures of an analysis of variance (ANOVA) model. Categorical fixed effects were modeled for IMU, degree of freedom (i.e., pitch vs. roll), and model type (i.e., proposed vs. control). Subject was also included as a random effect. As each IMU can have a different accuracy in pitch or roll depending on the model used, an interaction term was also included. As the ANOVA fit for raw pitch/roll RMSE values was found to have right-skewed residuals, the model was refit using the log 10 transform.
To characterize IMU position estimation accuracy of the proposed method, RMSE of the norm distance between adjacent IMUs is reported and computed for each subject as:
RMSE ( p k , I M U A p k , I M U B 2 p k , O M C A p k , O M C B 2 ) k = 1 M
where p I M U is the estimation position of the IMU, p O M C is the position of the IMU according to the 3-marker mocap clusters on each IMU, and ( A , B ) S is every adjacent pair of IMUs in the model. Note that the norm difference in position is reported rather than vector components because the proposed model has no guarantee of absolute heading reference, so it was intractable to align the world frame of the proposed model with the world frame of the optical motion capture system.
The motion capture based OpenSim-estimated joint angles (hereafter referred to as mocap angles) and the joint angles derived according to the proposed method (hereafter referred to as IMU angles) for the knee flexion/extension angle were compared. Both the RMSE and peak error of the difference between the estimated mocap angles and IMU angles are reported. While the term RMSE is used, it is noted that both signals are observations and contain sources of error.

4. Results and Discussion

The average length of the motion dataset was 89.57 s. The median wall time to run the optimization to convergence of motion dataset for each subject was 792.49 s. Tabulated results of pitch and roll RMSE for both the proposed and control methods are presented in Table 3 and Table 4, respectively. The ANOVA model of these pitch and roll RMSE values is presented in Table 5.
As an interaction effect of model type with IMU was found, the paired difference in RMSE between methods was considered. The [25th, 75th] percentile values inclusive of all IMUs was 0.49 to + 0.21 . Thus, while a significant difference was observed, these differences are not operationally relevant. One notable outlier was for roll error of the left shank IMU, where the paired difference in the RMSE value (control method − proposed method) was + 1.59 , indicating that for this specific IMU the proposed method yielded a much lower roll error. It is concluded that hypothesis 1 is supported: The proposed method does not yield an operationally significant increase in error of IMU pitch/roll estimation. Note that yaw estimates were not analyzed, as the proposed method did not include any heading reference sensor. A motivation for this work was to estimate skeletal kinematics in a way which did not require an accurate absolute yaw estimation.
The RMSE of norm distance between adjacent IMUs are reported for each subject in Table 6. Average norm distance RMSE across all joints and subjects is 4.16 cm. These results support that the method robustly constrains the positional relationship between IMUs on the human body. The error is larger for the IMU pairs flanking the hip joints, i.e., the lumbar-thigh IMU pairs (8.16 cm mean RMSE for hip joints vs. 2.16 cm mean RMSE for all other joints). This may be due to significant thigh tissue motion through the 3DOF hip articulation. While these results demonstrate a constrained positional relationship between IMUs, future work is required to specify operationally-relevant position accuracy criteria for IMU-based human kinematics systems.
RMSE and peak error of IMU angles vs. mocap angles is presented in Table 7. Peak error represents the maximum absolute error observed over the entire trial for each subject. These results offer a few key takeaways. The proposed method adequately estimates knee flexion/extension without the use of magnetometers to provide IMU heading. Average knee flexion/extension angle RMSE was found to be 4.34 across all subjects and both knees. These results are generally in line with the accuracy reported elsewhere in the literature, such as McGrath et al. [54]. However, McGrath et al. [54] used simulated IMU data and assumed the proximal IMU vector for the thigh and shank IMU, whereas this method estimates these quantities and uses real IMU data. Average peak error across all subjects and both knees was found to be 11.47 . The magnitude of peak error that is considered acceptable will depend on the operational scenario. Some joints may necessitate different requirements. Future work should consider what threshold of peak error is acceptable for specific applications.
Proposed model error may be partly explained by an imperfect estimation of the static vectors from the IMUs to the joint centers. If these joint centers are improperly estimated to lie slightly anterior or posterior of their true values, this would induce a static offset in the derived joint angles. Additional sources of error may come from imperfect mocap data, such as a mismatch between the placement of the physical mocap markers on the human subject and the virtual markers of the scaled OpenSim skeletal model. The OpenSim model is also imperfect, making assumptions about subject geometry and kinematic joint definitions. An error of all surface-mounted IMU-based methods is generally increased by soft tissue artifacts, i.e., perturbations of the IMU due to soft skin, fat, and muscle tissues which compress and deviate during human motion. Finally, knee angles are estimated without a heading reference. It is reasonable to believe that if the subject were in an environment that allowed for robust magnetometer usage (such as outdoors) and a well-calibrated magnetometer was available on the IMU package, that the estimated joint angles would have increased accuracy, because full orientation identifiability would be established rather than relying solely on the kinematics of the system (e.g., the hinge model) to provide information on the heading relationship between IMUs.
It should be noted that only the flexion/extension angle is compared for the knee, as the mocap angles are based on the OpenSim gait 2392 model, which is a 1DOF knee model. However, the proposed method also derives knee internal/external and adduction/abduction angles. Across all subjects, the [25th, 75th] percentiles of knee ROM were [33.2 , 44.2 ] for internal/external rotation and [13.3 , 19.8 ] for abduction/adduction. In comparison, Deesloovere et al. [101] reports a knee internal/external rotation ROM of 14.41 ± 4.1 during walking. Lafortune et al. [102] reports a knee abduction/adduction ROM of 10 during the swing phase of gait however, no inter-subject variation of the five subjects studied is reported. Furthermore, Lafortune et al. attached the segment marker references to intracortical pins. This may reduce ROM compared to an IMU or mocap system which is confounded by soft tissue effects. The larger knee internal/external rotation and abduction/adduction ROM found in the current study are possibly due to (1) a motion task that differs from natural gait, (2) the variability from the selected sample, (3) suboptimal solutions from numerical optimization, or (4) noises within the system (e.g. soft tissue artifacts). As the knee articulates, the motion of muscle and underlying tissue alters the relative orientation between the IMU and anatomical coordinate frames, which may yield a larger ROM for internal/external and abduction/adduction.

Future Work and Limitations

The current work uses anthropometric measures derived from standard populations. However, in many relevant use cases of this system, an assumption of standard anthropometry may not be appropriate (e.g., for gait analysis, where limb length discrepancies may drive abnormal gait). In these instances, the end user should specifically measure the anthropometry of the subject where possible to avoid increased error due to inappropriate anthropometric constraints in the model. Furthermore, the proposed method requires seven IMUs mounted on the lower body, which may not be tractable in certain settings.
Future extensions of the current work should also implement more robust initialization schemes that initialize the solution within the "basin of attraction" of the global minimum. For this work, a few initialization approaches were implemented, but none were shown to be more robust than the trivial “zero” initialization approach. This trivial initialization yields a limitation, as some poor results were almost certainly the result of emergent local minimum in which the optimization method became trapped. Additionally, other solution methodologies such as a simulated annealing [103] type approach may more robustly avoid local minima. Furthermore, IMU-based methods may be confounded by sensor bias. In the current work, time-series IMU gyroscope and accelerometer bias were estimated under a random-walk model with calibration parameters provided by the manufacturer. In the case that a high error is observed, it may be necessary to re-calibrate the sensor to update its calibration parameters and/or collect robust prior measurements of sensor bias. Other augmented approaches may be used to assess the quality of joint motion in order to reduce error. Ledel et al. [104] proposed a method based on an artificial neural network to classify the quality of a joint motion. It may be possible to perform the proposed estimation methodology only on data, which is assessed to be of high quality. If the application allowed, it is also possible to use external systems (e.g., camera systems [105]) to improve accuracy of IMU estimates.
The ease of use of the factor graph-based approach presented here allows for many possible extensions to this work to be neatly included as probabilistic constraints. These possible extensions include foot ground contact estimation [59] (while leveraging zero velocity updates and IMU position anchoring), the IMU-to-segment assignment problem [106], gait parameter estimation, activity/task identification, detection of IMU discrete shifting on the body, and many more.
The current work was validated against a scripted human motion profile task. While many functional calibration methods are present in the literature, a systematic study of these methods and which minimal set of motions sufficiently excite the degrees of freedom of the human skeleton may unify the numerous approaches. A robotic reference (rather than a human) may be useful in this pursuit—a robot may quickly reproduce motions while removing soft tissue noise. Moreover, the current considered task was chosen to excite all degrees of freedom of the skeleton. In more operationally-relevant tasks, e.g., gait, all degrees of freedom may not be excited, and further model assumptions or heuristic approaches may be utilized to aid model observability.
The vectors constraining the IMUs to their neighboring joint centers and joint rotation axes were assumed to be static in the proposed method. This assumption is not strictly true, due to soft tissue perturbation and the imperfect hinge kinematics of joints. Future work could consider a time-series bias model of these parameters to better capture these dynamics or perform further investigation to characterize these noise models.
The accuracy of knee internal/external rotation and abduction/adduction were unable to be directly assessed because the mocap reference model did not permit these DOF. As a result, only the ROM of these DOF were able to be compared to the literature. Future work should consider comparing against 3DOF models of the knee where appropriate, in order to better capture the effects of system noise on these DOFs. Additionally, all noise models in this work are assumed Gaussian and isotropic. Future work could also consider alternate noise modeling approaches or parameter estimation techniques [107] where appropriate. The proposed method can also be expanded to derive hip and ankle angles.

5. Conclusions

A method was developed for an optimization-based human lower body kinematics estimator without the use of magnetometers, requiring no functional calibration under human kinematics that sufficiently excite the lower body degrees of freedom. The proposed method adequately estimated knee flexion/extension to 4.34 RMSE. This method directly estimated the knee’s rotation axis and positional relationship between IMUs and their adjacent joint centers, which enabled knee joints to be derived and reported using ISB convention. All results were presented for a scripted human motion profile task across 12 subjects. The method was shown to maintain the accuracy of IMU pitch/roll estimation once the biomechanical model was added. Relative norm positional RMSE between adjacent IMUs was 4.16 cm on average, supporting that the proposed method does robustly constrain IMU positional relationships. The method formulates a number of novel kinematic and anthropometric models of the human lower body, including a hinge model for the knee joint, inclusion of subject anthropometry from population data, femur/tibia segment length discrepancy, and modeling of the angle between the knee’s rotation axis and segment proximal direction. These novel constraints provide additional observability to the lower body kinematic model. This work was formulated as a factor graph and implemented in a framework which leveraged state-of-the-art IMU estimation techniques. The developed framework allows for expressive inclusion of new kinematics models, intended to provide a foundation for future work to build upon.

Author Contributions

Conceptualization, T.M. and L.S.; methodology, T.M. and L.S.; software, T.M.; formal analysis, T.M. and L.S.; investigation, T.M. and L.S.; resources, L.S.; writing–original draft preparation, T.M.; writing–review and editing, L.S.; supervision, L.S.; project administration, L.S.; funding acquisition, L.S. All authors have read and agreed to the published version of the manuscript.


This research was funded by the National Science Foundation (NSF) CAREER grant number IIS-1453141. Any views expressed in this work are not endorsed by the sponsor.


The authors thank Christopher Fourie (MIT) for their feedback during software implementation.

Conflicts of Interest

The authors declare no conflict of interest. The funders had no role in the design of the study; in the collection, analyses, or interpretation of data; in the writing of the manuscript, or in the decision to publish the results.


  1. Han, F.; Reily, B.; Hoff, W.; Zhang, H. Space-time representation of people based on 3D skeletal data: A review. Comput. Vis. Image Underst. 2017, 15, 85–105. [Google Scholar] [CrossRef][Green Version]
  2. Liu, Z.; Zhu, J.; Bu, J.; Chen, C. A survey of human pose estimation: The body parts parsing based methods. J. Vis. Commun. Image Represent. 2015, 32, 10–19. [Google Scholar] [CrossRef]
  3. Van der Kruk, E.; Reijne, M.M. Accuracy of human motion capture systems for sport applications; state-of-the-art review. Eur. J. Sport Sci. 2018, 18, 806–819. [Google Scholar] [CrossRef]
  4. Sarafianos, N.; Boteanu, B.; Ionescu, B.; Kakadiaris, I.A. 3D Human pose estimation: A review of the literature and analysis of covariates. Comput. Vis. Image Underst. 2016, 152, 1–20. [Google Scholar] [CrossRef]
  5. Ceseracciu, E.; Sawacha, Z.; Cobelli, C. Comparison of markerless and marker-based motion capture technologies through simultaneous data collection during gait: Proof of concept. PLoS ONE 2014, 9, e87640. [Google Scholar] [CrossRef]
  6. Delp, S.L.; Anderson, F.C.; Arnold, A.S.; Loan, P.; Habib, A.; John, C.T.; Guendelman, E.; Thelen, D.G. OpenSim: Open source to create and analyze dynamic simulations of movement. IEEE Trans. Bio-Med Eng. 2007, 54, 1940–1950. [Google Scholar] [CrossRef][Green Version]
  7. Davis, R.B.; Õunpuu, S.; Tyburski, D.; Gage, J.R. A gait analysis data collection and reduction technique. Hum. Mov. Sci. 1991, 10, 575–587. [Google Scholar] [CrossRef]
  8. Kadaba, M.P.; Ramakrishnan, H.K.; Wootten, M.E. Measurement of Lower-Extremity Kinematics during Level Walking. J. Orthop. Res. 1990, 8, 383–392. [Google Scholar] [CrossRef]
  9. Field, M.; Stirling, D.; Naghdy, F.; Pan, Z. Motion capture in robotics review. In Proceedings of the 2009 IEEE International Conference on Control and Automation, ICCA, Christchurch, New Zealand, 9–11 December 2009. [Google Scholar] [CrossRef][Green Version]
  10. Ahmad, N.; Ghazilla, R.A.R.; Khairi, N.M.; Kasi, V. Reviews on Various Inertial Measurement Unit (IMU) Sensor Applications. Int. J. Signal Process. Syst. 2013, 1, 256–262. [Google Scholar] [CrossRef][Green Version]
  11. Allerton, D.J.; Jia, H. A review of multisensor fusion methodologies for aircraft navigation systems. J. Navig. 2005, 58, 405–417. [Google Scholar] [CrossRef]
  12. Hays, K.M.; Schmidt, R.G.; Wilson, W.A.; Campbell, J.D.; Heckman, D.W.; Gokhale, M.P. A submarine navigator for the 21st century. In Proceedings of the IEEE PLANS, Position Location and Navigation Symposium, Palms Springs, CA, USA, 15–18 April 2002. [Google Scholar] [CrossRef]
  13. Zhao, J. A Review of Wearable IMU (Inertial-Measurement-Unit)-based Pose Estimation and Drift Reduction Technologies. J. Phys. Conf. Ser. 2018, 1087. [Google Scholar] [CrossRef]
  14. Jimenez, A.R.; Seco, F.; Prieto, J.C.; Guevara, J. Indoor Pedestrian navigation using an INS/EKF framework for yaw drift reduction and a foot-mounted IMU. In Proceedings of the 2010 7th Workshop on Positioning, Navigation and Communication, WPNC’10, Dresden, Germany, 11–12 March 2010. [Google Scholar] [CrossRef]
  15. Ilyas, M.; Cho, K.; Baeg, S.H.; Park, S. Drift reduction in IMU-only pedestrian navigation system in unstructured environment. In Proceedings of the 2015 10th Asian Control Conference: Emerging Control Techniques for a Sustainable World, ASCC 2015, Kota Kinabalu, Malaysia, 31 May–3 June 2015. [Google Scholar] [CrossRef]
  16. Ilyas, M.; Cho, K.; Baeg, S.H.; Park, S. Drift reduction in pedestrian navigation system by exploiting motion constraints and magnetic field. Sensors 2016, 16, 1455. [Google Scholar] [CrossRef][Green Version]
  17. Borenstein, J.; Ojeda, L.; Kwanmuang, S. Heuristic reduction of gyro drift in IMU-based personnel tracking systems. Opt. Photonics Glob. Homel. Secur. Biom. Technol. Hum. Identif. 2009, 7306. [Google Scholar] [CrossRef][Green Version]
  18. Yang, D.; Woo, J.K.; Najafi, K.; Lee, S.; Mitchell, J.; Challoner, D. 2ppm Frequency Drift and 300x Reduction of Bias Drift of Commercial 6-Axis Inertial Measurement Units Using a Low-Power Oven-Control Micro Platform. In Proceedings of the 2015 IEEE SENSORS, Busan, Korea, 1–4 November 2015; pp. 1–4. [Google Scholar] [CrossRef]
  19. Nerino, R.; Contin, L.; Gonçalves Da Silva Pinto, W.J.; Massazza, G.; Actis, M.; Capacchione, P.; Chimienti, A.; Pettiti, G. A BSN based service for post-surgical knee rehabilitation at home. In Proceedings of the BODYNETS 2013—8th International Conference on Body Area Networks, Brussels, Belgium, 30 September–2 October 2013. [Google Scholar] [CrossRef]
  20. Nerino, R.; Contin, L.; Tirri, A.; Massazza, G.; Chimienti, A.; Pettiti, G.; Cau, N.; Cimolin, V. An improved solution for knee rehabilitation at home. In Proceedings of the BODYNETS 2014—9th International Conference on Body Area Networks, Brussels, Belgium, 29 September–1 October 2014. [Google Scholar] [CrossRef]
  21. Vienne, A.; Barrois, R.P.; Buffat, S.; Ricard, D.; Vidal, P.P. Inertial sensors to assess gait quality in patients with neurological disorders: A systematic review of technical and analytical challenges. Front. Psychol. 2017, 8, 817. [Google Scholar] [CrossRef][Green Version]
  22. Caldas, R.; Mundt, M.; Potthast, W.; Buarque de Lima Neto, F.; Markert, B. A systematic review of gait analysis methods based on inertial sensors and adaptive algorithms. Gait Posture 2017, 52, 204–210. [Google Scholar] [CrossRef]
  23. Glowinski, S.; Łosiński, K.; Kowiański, P.; Waśkow, M.; Bryndal, A.; Grochulska, A. Inertial sensors as a tool for diagnosing discopathy lumbosacral pathologic gait: A preliminary research. Diagnostics 2020, 10, 342. [Google Scholar] [CrossRef]
  24. Nguyen, L.N.N.; Rodríguez-Martín, D.; Català, A.; Pérez-López, C.; Samà, A.; Cavallaro, A. Basketball activity recognition using wearable inertial measurement units. ACM Int. Conf. Proc. Ser. 2015, 1–6. [Google Scholar] [CrossRef][Green Version]
  25. Dadashi, F.; Arami, A.; Crettenand, F.; Millet, G.P.; Komar, J.; Seifert, L.; Aminian, K. A hidden Markov model of the breaststroke swimming temporal phases using wearable inertial measurement units. In Proceedings of the 2013 IEEE International Conference on Body Sensor Networks, BSN, Cambridge, MA, USA, 6–9 May 2013. [Google Scholar] [CrossRef]
  26. Clark, W.W.; Romeiko, J.R. Inertial Measurements of Sports Motion. U.S. Patent No. 8,944,939, 3 February 2015. [Google Scholar]
  27. Dadashi, F.; Crettenand, F.; Millet, G.P.; Aminian, K. Front-crawl instantaneous velocity estimation using a wearable inertial measurement unit. Sensors 2012, 12, 2927. [Google Scholar] [CrossRef][Green Version]
  28. Vitali, R.V.; Cain, S.M.; Ojeda, L.V.; Potter, M.V.; Zaferiou, A.M.; Davidson, S.P.; Coyne, M.E.; Hancock, C.L.; Mendoza, A.; Stirling, L.A.; et al. Body-worn IMU array reveals effects of load on performance in an outdoor obstacle course. PLoS ONE 2019, 14, e0214008. [Google Scholar] [CrossRef]
  29. Xu, R.; Agarwal, P.; Kumar, S.; Krovi, V.N.; Corso, J.J. Combining skeletal pose with local motion for human activity recognition. In Proceedings of the International Conference on Articulated Motion and Deformable Objects), Mallorca, Spain, 11–13 July 2012. [Google Scholar] [CrossRef][Green Version]
  30. Koskimäki, H.; Huikari, V.; Siirtola, P.; Laurinen, P.; Röning, J. Activity recognition using a wrist-worn inertial measurement unit: A case study for industrial assembly lines. In Proceedings of the 17th Mediterranean Conference on Control and Automation, Thessaloniki, Greece, 24–26 June 2009. [Google Scholar] [CrossRef]
  31. Chinimilli, P.T.; Redkar, S.; Zhang, W. Human activity recognition using inertial measurement units and smart shoes. In Proceedings of the American Control Conference, Seattle, WA, USA, 24–26 May 2017. [Google Scholar] [CrossRef]
  32. Storm, F.A.; Heller, B.W.; Mazzà, C. Step detection and activity recognition accuracy of seven physical activity monitors. PLoS ONE 2015, 10, e0118723. [Google Scholar] [CrossRef]
  33. Bayat, A.; Pomplun, M.; Tran, D.A. A study on human activity recognition using accelerometer data from smartphones. Procedia Comput. Sci. 2014, 34, 450–457. [Google Scholar] [CrossRef][Green Version]
  34. Lim, S.; D’Souza, C. A narrative review on contemporary and emerging uses of inertial sensing in occupational ergonomics. Int. J. Ind. Ergon. 2020, 76, 102937. [Google Scholar] [CrossRef]
  35. Fineman, R.A.; McGrath, T.M.; Kelty-Stephen, D.G.; Andrew, A.F.; Stirling, L.A. Objective metrics quantifying fit and performance in spacesuit assemblies. Aerosp. Med. Hum. Perform. 2018, 89, 985–995. [Google Scholar] [CrossRef]
  36. Vitali, R.V.; Perkins, N.C. Determining anatomical frames via inertial motion capture: A survey of methods. J. Biomech. 2020, 109832. [Google Scholar] [CrossRef]
  37. Luinge, H.J.; Veltink, P.H.; Baten, C.T.M. Estimating orientation with gyroscopes and accelerometers. Technol. Health Care 1999, 7, 455. [Google Scholar] [CrossRef]
  38. Mayagoitia, R.E.; Nene, A.V.; Veltink, P.H. Accelerometer and rate gyroscope measurement of kinematics: An inexpensive alternative to optical motion analysis systems. J. Biomech. 2002, 35, 537–542. [Google Scholar] [CrossRef]
  39. Favre, J.; Luthi, F.; Jolles, B.M.; Siegrist, O.; Najafi, B.; Aminian, K.; Ne, K.; Favre, E.J.; Najafi, A.B.; Aminian, A.K.; et al. A new ambulatory system for comparative evaluation of the three-dimensional knee kinematics, applied to anterior cruciate ligament injuries. Knee Surg. Sport. Traumatol. Arthrosc. 2006, 14, 592–604. [Google Scholar] [CrossRef][Green Version]
  40. Favre, J.; Jolles, B.; Siegrist, O.; Animian, K. Quaternion-based fusion of gyroscopes and accelerometers to improve 3D angle measurement. Inst. Eng. Technol. 2006, 42, 612–614. [Google Scholar] [CrossRef]
  41. Kok, M.; Hol, J.D.; Schön, T.B. An optimization-based approach to human body motion capture using inertial sensors. Ifac Proc. Vol. (IFAC-PapersOnline) 2014, 19, 79–85. [Google Scholar] [CrossRef][Green Version]
  42. Roetenberg, D.; Luinge, H.; Slycke, P. Xsens MVN: Full 6DOF human motion tracking using miniature inertial sensors. Xsens Motion Technol. 2009, 1. Available online: (accessed on 1 December 2020).
  43. Favre, J.; Jolles, B.M.; Aissaoui, R.; Aminian, K. Ambulatory measurement of 3D knee joint angle. J. Biomech. 2008, 41, 1029–1035. [Google Scholar] [CrossRef]
  44. Favre, J.; Aissaoui, R.; Jolles, B.M.; de Guise, J.A.; Aminian, K. Functional calibration procedure for 3D knee joint angle description using inertial sensors. J. Biomech. 2009, 42, 2330–2335. [Google Scholar] [CrossRef] [PubMed]
  45. Zhu, R.; Zhou, Z. A real-time articulated human motion tracking using tri-axis inertial/magnetic sensors package. IEEE Trans. Neural Syst. Rehabil. Eng. 2004, 12, 295–302. [Google Scholar] [CrossRef] [PubMed]
  46. Luinge, H.J.; Veltink, P.H.; Baten, C.T.M. Ambulatory measurement of arm orientation. J. Biomech. 2007, 40, 78–85. [Google Scholar] [CrossRef] [PubMed]
  47. O’Donovan, K.J.; Kamnik, R.; O’Keeffe, D.T.; Lyons, G.M. An inertial and magnetic sensor based technique for joint angle measurement. J. Biomech. 2007, 40, 2604–2611. [Google Scholar] [CrossRef]
  48. Cooper, G.; Sheret, I.; McMillian, L.; Siliverdis, K.; Sha, N.; Hodgins, D.; Kenney, L.; Howard, D. Inertial sensor-based knee flexion/extension angle estimation. J. Biomech. 2009, 42, 2678–2685. [Google Scholar] [CrossRef][Green Version]
  49. Tadano, S.; Takeda, R.; Miyagawa, H. Three dimensional gait analysis using wearable acceleration and gyro sensors based on quaternion calculations. Sensors 2013, 13, 9321–9343. [Google Scholar] [CrossRef] [PubMed]
  50. Cutti, A.G.; Ferrari, A.; Garofalo, P.; Raggi, M.; Cappello, A.; Ferrari, A. ‘Outwalk’: A protocol for clinical gait analysis based on inertial and magnetic sensors. Med. Biol. Eng. Comput. 2010, 48, 17–25. [Google Scholar] [CrossRef]
  51. Vitali, R.V.; Cain, S.M.; McGinnis, R.S.; Zaferiou, A.M.; Ojeda, L.V.; Davidson, S.P.; Perkins, N.C. Method for estimating three-dimensional knee rotations using two inertial measurement units: Validation with a coordinate measurement machine. Sensors 2017, 17, 1970. [Google Scholar] [CrossRef] [PubMed][Green Version]
  52. Adamowicz, L.; Gurchiek, R.; Ferri, J.; Ursiny, A.; Fiorentino, N.; McGinnis, R. Validation of Novel Relative Orientation and Inertial Sensor-to-Segment Alignment Algorithms for Estimating 3D Hip Joint Angles. Sensors 2019, 19, 5143. [Google Scholar] [CrossRef][Green Version]
  53. Müller, P.; Bégin, M.A.; Schauer, T.; Seel, T. Alignment-Free, Self-Calibrating Elbow Angles Measurement Using Inertial Sensors. IEEE J. Biomed. Health Inform. 2017, 21, 312–319. [Google Scholar] [CrossRef]
  54. McGrath, T.; Fineman, R.; Stirling, L. An Auto-Calibrating Knee Flexion-Extension Axis Estimator Using Principal Component Analysis with Inertial Sensors. Sensors 2018, 18, 1882. [Google Scholar] [CrossRef][Green Version]
  55. Seel, T.; Schauer, T. Joint Axis and Position Estimation from Inertial Measurement Data by Exploiting Kinematic Constraints. In Proceedings of the IEEE International Conference on Control Applications, Dubrovnik, Croatia, 3–5 October 2012. [Google Scholar]
  56. Seel, T.; Raisch, J.; Schauer, T. IMU-based joint angle measurement for gait analysis. Sensors 2014, 14, 6891–6909. [Google Scholar] [CrossRef][Green Version]
  57. Salehi, S.; Bleser, G.; Reiss, A.; Stricker, D. Body-IMU autocalibration for inertial hip and knee joint tracking. Bodynets Int. Conf. Body Area Netw. 2015, 51–57. [Google Scholar] [CrossRef][Green Version]
  58. Taetz, B.; Bleser, G.; Miezal, M. Towards self-calibrating inertial body motion capture. In Proceedings of the FUSION 2016—19th International Conference on Information Fusion, Heidelberg, Germany, 5–8 July 2016. [Google Scholar]
  59. Miezal, M.; Taetz, B.; Bleser, G. Real-time inertial lower body kinematics and ground contact estimation at anatomical foot points for agile human locomotion. In Proceedings of the IEEE International Conference on Robotics and Automation, Singapore, 29 May–3 June 2017. [Google Scholar] [CrossRef]
  60. Miezal, M.; Bleser, G.; Schmitz, N.; Stricker, D. A generic approach to inertial tracking of arbitrary kinematic chains. In Proceedings of the BODYNETS 2013—8th International Conference on Body Area Networks, Boston, MA, USA, 30 September–2 October 2013. [Google Scholar] [CrossRef]
  61. Miezal, M.; Taetz, B.; Schmitz, N.; Bleser, G. Ambulatory inertial spinal tracking using constraints. In Proceedings of the BODYNETS 2014—9th International Conference on Body Area Networks, London, UK, 29 September–1 October 2014. [Google Scholar] [CrossRef]
  62. Miezal, M.; Taetz, B.; Bleser, G. On inertial body tracking in the presence of model calibration errors. Sensors 2016, 16, 1132. [Google Scholar] [CrossRef]
  63. Kok, M.; Pakazad, S.K.; Schon, T.B.; Hansson, A.; Holz, J.D. A scalable and distributed solution to the inertial motion capture problem. In Proceedings of the FUSION 2016—19th International Conference on Information Fusion, Heidelberg, Germany, 5–8 July 2016. [Google Scholar]
  64. Pakazad, S.; Hansson, A.; Andersen, M. Distributed Primal-dual Interior-point Methods for Solving Loosely Coupled Problems Using Message Passing. arXiv 2015, arXiv:1502.06384. [Google Scholar]
  65. Leutenegger, S.; Lynen, S.; Bosse, M.; Siegwart, R.; Furgale, P. Keyframe-based visual-inertial odometry using nonlinear optimization. Int. J. Robot. Res. 2015, 34, 314–334. [Google Scholar] [CrossRef][Green Version]
  66. Lupton, T.; Sukkarieh, S. Visual-inertial-aided navigation for high-dynamic motion in built environments without initial conditions. IEEE Trans. Robot. 2012. [Google Scholar] [CrossRef]
  67. Carlone, L.; Kira, Z.; Beall, C.; Indelman, V.; Dellaert, F. Eliminating conditionally independent sets in factor graphs: A unifying perspective based on smart factors. In Proceedings of the Proceedings—IEEE International Conference on Robotics and Automation, Hong Kong, China, 31 May–7 June 2014. [Google Scholar] [CrossRef][Green Version]
  68. Forster, C.; Carlone, L.; Dellaert, F.; Scaramuzza, D. IMU preintegration on manifold for efficient visual-inertial maximum-a-posteriori estimation. Robot. Sci. Syst. 2015. [Google Scholar] [CrossRef]
  69. Warner, F.W. Foundations of Differentiable Manifolds and Lie Groups; Springe: Berlin, Germany, 1983. [Google Scholar] [CrossRef]
  70. Blanco, J.L. A Tutorial on SE(3) Transformation Parameterizations and On-Manifold Optimization; Technical Report; University of Malaga: Malaga, Spain, 2010. [Google Scholar]
  71. Kok, M.; Hol, J.D.; Schön, T.B. Using inertial sensors for position and orientation estimation. arXiv 2017, arXiv:1704.06053. [Google Scholar] [CrossRef][Green Version]
  72. Dellaert, F. Factor Graphs and GTSAM: A Hands-On Introduction; Technical Report; Georgia Institute of Technology: Atlanta, GA, USA, 2012. [Google Scholar]
  73. Kschischang, F.R.; Frey, B.J.; Loeliger, H.A. Factor graphs and the sum-product algorithm. IEEE Trans. Inf. Theory 2001, 47, 498–519. [Google Scholar] [CrossRef][Green Version]
  74. Roetenberg, D.; Luinge, H.J.; Baten, C.T.M.; Veltink, P.H. Compensation of magnetic disturbances improves inertial and magnetic sensing of human body segment orientation. IEEE Trans. Neural Syst. Rehabil. Eng. 2005, 13, 395–405. [Google Scholar] [CrossRef][Green Version]
  75. De Vries, W.H.; Veeger, H.E.; Baten, C.T.; van der Helm, F.C. Magnetic distortion in motion labs, implications for validating inertial magnetic sensors. Gait Posture 2009, 29, 535–541. [Google Scholar] [CrossRef]
  76. Laidig, D.; Schauer, T.; Seel, T. Exploiting kinematic constraints to compensate magnetic disturbances when calculating joint angles of approximate hinge joints from orientation estimates of inertial sensors. In Proceedings of the IEEE International Conference on Rehabilitation Robotics, London, UK, 17–20 July 2017; pp. 971–976. [Google Scholar] [CrossRef]
  77. Chow, J.C. Drift-free indoor navigation using simultaneous localization and mapping of the ambient heterogeneous magnetic field. Int. Arch. Photogramm. Remote. Sens. Spat. Inf. Sci. ISPRS Arch. 2017. [Google Scholar] [CrossRef][Green Version]
  78. Kok, M.; Schon, T.B. Magnetometer calibration using inertial sensors. IEEE Sensors J. 2016, 16, 5679–5689. [Google Scholar] [CrossRef][Green Version]
  79. Lee, J.K.; Jeon, T.H. Magnetic Condition-Independent 3D Joint Angle Estimation Using Inertial Sensors and Kinematic Constraints. Sensors 2019, 19, 5522. [Google Scholar] [CrossRef][Green Version]
  80. Laidig, D.; Lehmann, D.; Begin, M.A.; Seel, T. Magnetometer-free Realtime Inertial Motion Tracking by Exploitation of Kinematic Constraints in 2-DoF Joints. In Proceedings of the Annual International Conference of the IEEE Engineering in Medicine and Biology Society, EMBS, Berlin, Germany, 23–27 July 2019. [Google Scholar] [CrossRef]
  81. Wu, G.; Cavanagh, P.R. ISB recommendations for standardization in the reporting of kinematic data. J. Biomech. 1995, 28, 1257–1261. [Google Scholar] [CrossRef]
  82. Grood, E.S.; Suntay, W.J. A Joint Coordinate System for the Clinical Description of Three-Dimensional Motions: Application to the Knee. J. Biomech. Eng. 1983, 105, 136. [Google Scholar] [CrossRef]
  83. Wu, G.; Siegler, S.; Allard, P.; Kirtley, C.; Leardini, A.; Rosenbaum, D.; Whittle, M.; D’Lima, D.D.; Cristofolini, L.; Witte, H.; et al. ISB recommendation on definitions of joint coordinate system of various joints for the reporting of human joint motion—part I: Ankle, hip, and spine. J. Biomech. 2002, 35, 543–548. [Google Scholar] [CrossRef]
  84. Hollister, A.M.; Jatana, S.; Singh, A.K.; Sullivan, W.W.; Lupichuk, A.G. The axes of rotation of the knee. Clin. Orthop. Relat. Res. 1993, 290, 259–268. [Google Scholar] [CrossRef]
  85. Shultz, S.J.; Nguyen, A.D. Bilateral asymmetries in clinical measures of lower-extremity anatomic characteristics. Clin. J. Sport Med. 2007, 17, 357–361. [Google Scholar] [CrossRef]
  86. Ugochukwu, E.; Ugbem, L.; Ijomone, O.; Ebi, O. Estimation of Maximum Tibia Length from its Measured Anthropometric Parameters in a Nigerian Population. J. Forensic Sci. Med. 2016, 2, 222. [Google Scholar] [CrossRef]
  87. Pierre, M.A.; Zurakowski, D.; Nazarian, A.; Hauser-Kara, D.A.; Snyder, B.D. Assessment of the bilateral asymmetry of human femurs based on physical, densitometric, and structural rigidity characteristics. J. Biomech. 2010, 43, 2228–2236. [Google Scholar] [CrossRef][Green Version]
  88. Raue, A.; Becker, V.; Klingmüller, U.; Timmer, J. Identifiability and observability analysis for experimental design in nonlinear dynamical models. Chaos 2010, 20, 045105. [Google Scholar] [CrossRef]
  89. Triggs, B.; McLauchlan, P.F.; Hartley, R.I.; Fitzgibbon, A.W. Bundle adjustment—A modern synthesis. In International Workshop on Vision Algorithms; Lecture Notes in Computer Science (Including Subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics); Springer: Berlin/Heidelberg, Germany, 2000; Volume 1883, pp. 298–372. [Google Scholar] [CrossRef][Green Version]
  90. Seth, A.; Hicks, J.L.; Uchida, T.K.; Habib, A.; Dembia, C.L.; Dunne, J.J.; Ong, C.F.; DeMers, M.S.; Rajagopal, A.; Millard, M.; et al. OpenSim: Simulating musculoskeletal dynamics and neuromuscular control to study human and animal movement. PLoS Comput. Biol. 2018, 14, e1006223. [Google Scholar] [CrossRef]
  91. Moré, J.J. The Levenberg-Marquardt algorithm: Implementation and theory. In Numerical Analysis; Springer: Berlin/Heidelberg, Germany, 1978; pp. 105–116. [Google Scholar] [CrossRef][Green Version]
  92. Delp, S.L.; Loan, J.P.; Hoy, M.G.; Zajac, F.E.; Topp, E.L.; Rosen, J.M. An Interactive Graphics-Based Model of the Lower Extremity to Study Orthopaedic Surgical Procedures. IEEE Trans. Biomed. Eng. 1990, 37, 757–767. [Google Scholar] [CrossRef]
  93. Yamaguchi, G.T.; Zajac, F.E. A planar model of the knee joint to characterize the knee extensor mechanism. J. Biomech. 1989, 22, 1–10. [Google Scholar] [CrossRef]
  94. Anderson, F.C.; Pandy, M.G. A dynamic optimization solution for vertical jumping in three dimensions. Comput. Methods Biomech. Biomed. Eng. 1999, 2, 201–231. [Google Scholar] [CrossRef]
  95. Anderson, F.C.; Pandy, M.G. Dynamic optimization of human walking. J. Biomech. Eng. 2001, 123, 381–390. [Google Scholar] [CrossRef][Green Version]
  96. Seidel, G.K.; Marchinda, D.M.; Dijkers, M.; Soutas-Little, R.W. Hip joint center location from palpable bony landmarks-A cadaver study. J. Biomech. 1995, 28, 995–998. [Google Scholar] [CrossRef]
  97. Paquette, S.; Gordon, C.; Bradtmiller, B. Anthropometric Survey (ANSUR) II Pilot Study: Methods and Summary Statistics; Anthrotch, US Army Natick Soldier Research, Development and Engineering Center: Natick, MA, USA, 2009. [Google Scholar]
  98. Rabari, Y.B.; Sanap, A.; Prasad, D.V.; Thadeshwar, K.H. The distance of the centre of femoral head relative to the midline of the pelvis: A prospective X-ray study of 500 adults. Int. J. Res. Orthop. 2017, 3, 565. [Google Scholar] [CrossRef][Green Version]
  99. Zhang, Z.; Gallego, G.; Scaramuzza, D. On the Comparison of Gauge Freedom Handling in Optimization-Based Visual-Inertial State Estimation. IEEE Robot. Autom. Lett. 2018, 3, 2710–2717. [Google Scholar] [CrossRef][Green Version]
  100. Carlone, L.; Tron, R.; Daniilidis, K.; Dellaert, F. Initialization techniques for 3D SLAM: A survey on rotation estimation and its use in pose graph optimization. In Proceedings of the IEEE International Conference on Robotics and Automation, Seattle, WA, USA, 26–30 May 2015. [Google Scholar] [CrossRef]
  101. Desloovere, K.; Wong, P.; Swings, L.; Callewaert, B.; Vandenneucker, H.; Leardini, A. Range of motion and repeatability of knee kinematics for 11 clinically relevant motor tasks. Gait Posture 2010, 32, 597–602. [Google Scholar] [CrossRef]
  102. Lafortune, M.A.; Cavanagh, P.R.; Sommer 3rd, H.J.; Kalenak, A. Three-dimensional kinematics of the human knee during walking. J. Biomech. Eng. 1992, 25, 347–357. [Google Scholar] [CrossRef]
  103. Kirkpatrick, S.; Gelatt, C.D.; Vecchi, M.P. Optimization by simulated annealing. Science 1983, 220, 671–680. [Google Scholar] [CrossRef]
  104. Lebel, K.; Boissy, P.; Nguyen, H.; Duval, C. Autonomous quality control of joint orientation measured with inertial sensors. Sensors 2016, 16, 1037. [Google Scholar] [CrossRef][Green Version]
  105. Lebel, K.; Hamel, M.; Duval, C.; Nguyen, H.; Boissy, P. Camera pose estimation to improve accuracy and reliability of joint angles assessed with attitude and heading reference systems. Gait Posture 2018, 59, 199–205. [Google Scholar] [CrossRef]
  106. Zimmermann, T.; Taetz, B.; Bleser, G. IMU-to-segment assignment and orientation alignment for the lower body using deep learning. Sensors 2018, 18, 302. [Google Scholar] [CrossRef][Green Version]
  107. Zhang, Z. Parameter estimation techniques: A tutorial with application to conic fitting. Image Vis. Comput. 1997, 15, 59–76. [Google Scholar] [CrossRef][Green Version]
Figure 1. The human-IMU kinematic system, with the subject mid-stride. Image is an excerpt frame from a 3D animation using the proposed method. The subject’s left leg is labeled with coordinate systems of the IMUs (bold RGB triplets with black text label) and anatomical segments (thin RGB triplets with gray text label), the static vectors from the IMUs to neighboring joint centers (red and green), and the knee’s hinge axis (dotted brown) with their static representations in the thigh and shank IMU frames (solid brown). Notation of variables is detailed in Section 2.1.
Figure 1. The human-IMU kinematic system, with the subject mid-stride. Image is an excerpt frame from a 3D animation using the proposed method. The subject’s left leg is labeled with coordinate systems of the IMUs (bold RGB triplets with black text label) and anatomical segments (thin RGB triplets with gray text label), the static vectors from the IMUs to neighboring joint centers (red and green), and the knee’s hinge axis (dotted brown) with their static representations in the thigh and shank IMU frames (solid brown). Notation of variables is detailed in Section 2.1.
Sensors 20 06887 g001
Figure 2. The set of relative angular velocity vectors m k projected onto knee axis r with resulting residuals e k . Note that for a perfect hinge m k r k however, due to imperfect hinge kinematics of the human knee and soft tissue perturbation of the gyroscopes mounted to the skin of the leg, the set of vectors m k takes this characteristic double cone shape.
Figure 2. The set of relative angular velocity vectors m k projected onto knee axis r with resulting residuals e k . Note that for a perfect hinge m k r k however, due to imperfect hinge kinematics of the human knee and soft tissue perturbation of the gyroscopes mounted to the skin of the leg, the set of vectors m k takes this characteristic double cone shape.
Sensors 20 06887 g002
Figure 3. Factor graph representation of the problem for consecutive keyframes i and j. Variables are represented as circles, whereas the connecting factors are represented as solid squares. For readability, factors and their connecting lines to variables are colored according to factor type: black is the IMU dynamics factor, teal is the angular velocity model, pink is anthropometry, blue is knee hinge kinematics, red is the constrained joint center between IMUs model, violet is the knee axis to segment length quasi-orthogonality factor, and orange is the segment length discrepancy factor. All variable notation is defined in Section 2.1.
Figure 3. Factor graph representation of the problem for consecutive keyframes i and j. Variables are represented as circles, whereas the connecting factors are represented as solid squares. For readability, factors and their connecting lines to variables are colored according to factor type: black is the IMU dynamics factor, teal is the angular velocity model, pink is anthropometry, blue is knee hinge kinematics, red is the constrained joint center between IMUs model, violet is the knee axis to segment length quasi-orthogonality factor, and orange is the segment length discrepancy factor. All variable notation is defined in Section 2.1.
Sensors 20 06887 g003
Figure 4. (Left) Placement of the reflective markers (black circles) and IMUs (green squares) on the subject. IMUs on the thigh and shank were not placed precisely, and location varied both vertically and in the transverse plane. (Right) A blown-up illustration of the marker triads with three markers affixed and IMU. Coordinate system of the IMU was known a priori, and the comparison reference coordinate system of the marker triad was constructed to match.
Figure 4. (Left) Placement of the reflective markers (black circles) and IMUs (green squares) on the subject. IMUs on the thigh and shank were not placed precisely, and location varied both vertically and in the transverse plane. (Right) A blown-up illustration of the marker triads with three markers affixed and IMU. Coordinate system of the IMU was known a priori, and the comparison reference coordinate system of the marker triad was constructed to match.
Sensors 20 06887 g004
Figure 5. Conceptual process methodology to compute IMU-derived joint angles for the human motion profile task. Levenberg–Marquardt is used as an iterative solver to the proposed optimization problem.
Figure 5. Conceptual process methodology to compute IMU-derived joint angles for the human motion profile task. Levenberg–Marquardt is used as an iterative solver to the proposed optimization problem.
Sensors 20 06887 g005
Table 1. Distribution of angle between the knee’s rotation axis and the leg segments according to Hollister et al. [84] for use in Equation (12), adapted for a right-pointing knee axis and proximal-pointing segment definition.
Table 1. Distribution of angle between the knee’s rotation axis and the leg segments according to Hollister et al. [84] for use in Equation (12), adapted for a right-pointing knee axis and proximal-pointing segment definition.
Segment μ σ o
Left femur96 2.4
Left tibia88 1.2
Right femur84 2.4
Right tibia92 1.2
Table 2. Assumed mean and variance for anthropometric priors in the proposed model. All values in meters.
Table 2. Assumed mean and variance for anthropometric priors in the proposed model. All values in meters.
Constraint μ L σ L L min L max Source
Tibial length0.4110.0260.3440.479ANSUR II [97], Calf Link
Femur length0.3940.0300.3260.480ANSUR II [97], Thigh Link
Femoral head separation0.1870.00900.409Rabari et al. [98], ANSUR II [97], Hip Breadth
Table 3. Pitch root mean square error (RMSE) (degrees) by subject and IMU for the proposed (P) method and the control (C) method.
Table 3. Pitch root mean square error (RMSE) (degrees) by subject and IMU for the proposed (P) method and the control (C) method.
Subject P C P C P C P C P C P C P C
Table 4. Roll RMSE (degrees) by subject and IMU for the proposed (P) method and the control (C) method.
Table 4. Roll RMSE (degrees) by subject and IMU for the proposed (P) method and the control (C) method.
Subject P C P C P C P C P C P C P C
Table 5. ANOVA model of estimated IMU pitch/roll RMSE.
Table 5. ANOVA model of estimated IMU pitch/roll RMSE.
SourceSum Sq.d.f.Mean Sq.Fp
Model2.0 × 10 3 12.0 × 10 3 0.040.85
DOF refers to IMU degree of freedom, i.e., pitch and roll.
Table 6. RMSE in centimeters of total distance between each IMU pair, per subject.
Table 6. RMSE in centimeters of total distance between each IMU pair, per subject.
Table 7. Error (degrees) of IMU joint angles vs. mocap joint angles for the motion profile dataset. F/E refers to flexion/extension of the joint.
Table 7. Error (degrees) of IMU joint angles vs. mocap joint angles for the motion profile dataset. F/E refers to flexion/extension of the joint.
RMSEPeak Error
Subject RKnee F/E LKnee F/E RKnee F/E LKnee F/E
Publisher’s Note: MDPI stays neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Share and Cite

MDPI and ACS Style

McGrath, T.; Stirling, L. Body-Worn IMU Human Skeletal Pose Estimation Using a Factor Graph-Based Optimization Framework. Sensors 2020, 20, 6887.

AMA Style

McGrath T, Stirling L. Body-Worn IMU Human Skeletal Pose Estimation Using a Factor Graph-Based Optimization Framework. Sensors. 2020; 20(23):6887.

Chicago/Turabian Style

McGrath, Timothy, and Leia Stirling. 2020. "Body-Worn IMU Human Skeletal Pose Estimation Using a Factor Graph-Based Optimization Framework" Sensors 20, no. 23: 6887.

Note that from the first issue of 2016, MDPI journals use article numbers instead of page numbers. See further details here.

Article Metrics

Back to TopTop