Professional Documents
Culture Documents
An Optimization-Based Approach To Human Body Motion Capture Using Inertial Sensors
An Optimization-Based Approach To Human Body Motion Capture Using Inertial Sensors
Original Publication:
Manon Kok, Jeroen Hol and Thomas Schön, An optimization-based approach to human body
motion capture using inertial sensors, 2014, In Proceedings of the 19th IFAC World Congress,
2014, 79-85. ISBN: 978-3-902823-62-5
Series: World Congress, ISSN 1474-6670; World Congress, Volume# 19 | Part# 1
DOI: http://dx.doi.or/10.3182/20140824-6-ZA-1003.02252
Copyright: International Federation of Automatic Control
http://www.ifac-papersonline.net/
Abstract: In inertial human motion capture, a multitude of body segments are equipped
with inertial measurement units, consisting of 3D accelerometers, 3D gyroscopes and 3D
magnetometers. Relative position and orientation estimates can be obtained using the inertial
data together with a biomechanical model. In this work we present an optimization-based
solution to magnetometer-free inertial motion capture. It allows for natural inclusion of
biomechanical constraints, for handling of nonlinearities and for using all data in obtaining
an estimate. As a proof-of-concept we apply our algorithm to a lower body configuration,
illustrating that the estimates are drift-free and match the joint angles from an optical reference
system.
1. INTRODUCTION
The position, velocity and orientation of each sensor Si The biomechical model from Section 3 and the dynamic
are related from time t to time t + T using the accelerome- and sensor models from Section 4 can be combined and
ter measurements ∆pSt i , ∆vtSi and the gyroscope measure- used to describe the probability density functions in (2).
ments ∆qtSi . The position and velocity states at each time Eliminating all constant terms from the optimization, this
step are modeled according to results in a constrained weighted least-squares problem.
This problem is given by
pLSi ,t+T =pLSi ,t + T vSLi ,t + XX BS
2 min keSp,t
i
k2Σ−1 + keq,ti k2Σ−1
RtLSi ∆pSt i + wp,tSi
+ T2 g L , (6a) z
t∈T Si ∈S |
p
{z
q
}
placement of sensors on body (4)
vSLi ,t+T =vSLi ,t + RtLSi ∆vtSi + wv,t
Si
+ T gL , (6b)
Si 2 Si 2 Si 2
+ kwp,t kQ−1 + kwv,t kQ−1 + kwq,t kQ−1
p v q
where ∆pSt i and ∆vtSi denote the inputs based on the | {z }
accelerometer measurements. The noise terms are modeled dynamic model (6)
as wp,t ∼ N (0, Qp ) and wv,t ∼ N (0, Qv ). The earth grav-
X X X
+ kbω,Si k2Σ−1 + keJk ,t k2Σ−1
ity is denoted by g L . The orientation states are modeled Si ∈S
bω
| {z } t∈T Jk ∈H | {z }
k
Algorithm 1 Inertial human motion capture Fig. 3. Experimental setup where the human body is
(1) Define the set of sensors S, the set of body segments equipped with inertial sensors on different body seg-
B and the set of joints J . Mount the inertial sensors ments. Optical markers for the reference system have
on the body and been placed on the right foot sensor, right lower and
(a) define for each sensor Si ∈ S on which body seg- upper leg sensors and – not visible in the figure – the
ment BSi ∈ B it is placed. Calibrate the system pelvis.
BS
to obtain the position rSi i and orientation q BSi Si instance during foot impact on the ground. To speed up
of each sensor Si ∈ S on body segment BSi ∈ B, the computations, the optimization algorithm itself has
(b) define the set of body segments BJk connected to been run at a frequency of 10 Hz.
each joint k for all Jk ∈ J . Calibrate the system
B The optimization problem typically converges in a few
to obtain the distances rk j of each body segment
coordinate frames Bj ∈ BJk to the different joints iterations. To solve the problem for an experiment of
k, 10 seconds takes about 5 minutes on an AMD X4 2.8
(c) define the subset H of joints that are restricted GHz processor for a first inefficient Matlab implementation
in their rotations and can be regarded as a hinge of the algorithm. Initial tests with a C-implementation,
joint. however, show that speed improvements of up to 500
(2) Perform an experiment collecting inertial measure- times are easily obtained. Taking into account that at the
ments ∆pSt i , ∆vtSi and ∆qtSi and a magnetometer moment we postprocess the whole data set while for a real-
Si time application a moving horizon can be used, we think
measurement at t = 1, ym,1 .
that a real-time implementation of the algorithm is indeed
(3) Postprocess the data quite possible.
(a) Initialize z0 and set l = 0.
(b) Determine the values of the cost functions and The collected inertial data has been postprocessed used in
the constraints in (2), their Jacobians and the the optimization problem (2) for a lower body configura-
approximate Hessian of the cost function. De- tion consisting of a set S of 7 sensors placed on 7 body
termine a step direction using an infeasible start segments B: both feet, both lower legs, both upper legs
Gauss-Newton algorithm and update zl → zl+1 . and the pelvis. The position of each sensor Si ∈ S on
BS
(c) Set l := l + 1 and iterate from 3(b) until the the body segment rSi i has been manually measured. The
algorithm is converged and the solution zl+1 is orientations of the sensors on the body segments q BSi Si
feasible. for all Si ∈ S have been determined by standing still in
a pre-determined pose as described by Roetenberg et al.
6. EXPERIMENTS [2013]. The 7 body segments are connected by 6 joints J of
which the two knee joints are assumed to be hinge joints.
B
We validated our approach with experiments using an Calibrating for the distances rk j amounts to defining the
MVN Awinda system [Xsens Technologies B.V., 2013] distances between the different joint centers which is again
which is a wireless inertial motion capture system with done by manual measuring. We acknowledge that this is
17 sensors attached to different body segments as shown an inaccurate calibration method and as future work we
in Fig. 3. An optical motion capture system has been used therefore plan to extend the algorithm to automatically
as a source of reference data. Since our focus is on the legs, estimate these calibration parameters.
one leg has been equipped with optical markers, providing
reference position and orientation of the foot sensor, lower Fig. 4 visualizes the pose of the lower body of a walking
leg sensor, upper leg sensor and – not visible in the figure subject estimated using Algorithm 1 for parts of an ex-
– the pelvis sensor. periment. Note that our experimental setup does allow for
accurate absolute position estimates. The location of the
Inertial data has been collected at 30 Hz. The sensors, how- different steps has therefore been corrected for one joint
ever, run the strapdown integration algorithm discussed location using the position estimates from the optical refer-
in Section 4 internally at 600 Hz to capture the high ence system. The steps are taken from a short experiment
bandwidth of the measurement signals during impact, for and the optimization is run at 30 Hz for plotting purposes.
Abduction/adduction [deg]
40
20
−20
−40
5 10 15 20 25 30 35