0% found this document useful (0 votes)
16 views

H.J. Luinge: Inertial Sensing of Human Movement

Uploaded by

dooms day
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
16 views

H.J. Luinge: Inertial Sensing of Human Movement

Uploaded by

dooms day
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 88

Inertial Sensing of Human Movement

H.J. Luinge

2002

Ph.D. thesis
University of Twente Twente University Press

Also available in print:


http://www.tup.utwente.nl/tupress/catalogue/book/index.jsp?isbn=9036518237
INERTIAL SENSING OF HUMAN MOVEMENT
The support of the Dutch Technology Foundation STW (contract TEL.4167) is
gratefully acknowledged.

Copyright © 2002, H.J.Luinge

ISBN 9036518237

Cover photographs by Elles de Wit

Print: Océ Facility Services

Publisher:
Twente University Press
P.O. Box 217, 7500 AE Enschede, the Netherlands, www.tup.utwente.nl
INERTIAL SENSING OF HUMAN
MOVEMENT

PROEFSCHRIFT

ter verkrijging van de graad van doctor


aan de Universiteit Twente, op gezag van
de rector magnificus, prof.dr. F.A. van Vught,
volgens besluit van College voor Promoties
in het openbaar te verdedigen op
woensdag 30 oktober 2002 om 15:00 uur.

door

Hendrik Johannes Luinge


geboren op 15 februari 1973
te Hoogezand-Sappemeer
Dit proefschrift is goedgekeurd door de promotoren:
prof.dr.ir. P.H. Veltink
prof.dr.ir. P. Bergveld
CONTENTS

Introduction 7

Inclination measurement of human movement using a 3D accelerometer with


autocalibration 17

Measuring orientation of human body segments using miniature gyroscopes and


accelerometers 37

Ambulatory measurement of arm orientation 59

A method to Measure angular velocity and acceleration in three dimensions using a


triaxial single mass inertial sensor - a model study 73

Abstract 83

Samenvatting 85

Dankwoord 87
CHAPTER 1

INTRODUCTION
Introduction
The human vestibular system (fig.1) measures head movements, without the need for
a reference. The system is essential for stable posture control and it enables humans to
move freely because it is not earth bound. An artificial vestibular system, consisting
of man-made sensors would be valuable for many applications [1]. Applications in the
medical field include human movement analysis, artificial feedback in human motor
control and virtual reality. Other applications involve navigation of cars, missiles and
aeroplanes.

Figure 1: The human vestibular system. The three semicircular canals (1,2,3) are
mainly used for obtaining a measure of 3D angular acceleration. The otolith (4)
measures the acceleration and gravity.

Over the last few years, micromachined inertial sensors (accelerometers and
gyroscopes) have become more widely available. Because they are small in size, they
can be worn on the body. Like the vestibular system, the working principle of these
sensors is based on the omnipresent inertia, enabling measurement anywhere without
the need for a reference.

Inertial sensors

Accelerometers
A single axis accelerometer consists of a mass, suspended by a spring in a housing
(fig. 2). The mass is allowed to move in one direction which is the sensitive direction
of the accelerometer. The displacement of the mass is a measure of the difference of
acceleration ( a ) and gravity ( g ) along the sensitive axis given by the unit vector n .
A to be measured electrical signal s A, n is related to these physical quantities
according to:
s A, n = k A, n ( a − g )gn + o A, n (1)
with k A, n representing the scaling factor and o A, n the offset. By mounting three such
single axis accelerometers together, an tri-axial accelerometer can be constructed. The
three gains and offsets plus the orientation of the three sensitive axes with respect to
the housing can be found using an algorithm proposed by Ferraris [2]. The output
vector S y A can thus be related to the original acceleration and gravity according to:
S
yA = Sa − Sg (2)

Introduction 9
n

d a

Figure 2: A single axis accelerometer, containing a mass suspended by a spring.


The distance d of the mass with respect to the sensor housing is measured and is
a function of acceleration and the direction of gravity with respect to the
direction of distance measurement. The unit vector n represents the sensitive axis
of the sensor.

The S on the left side of a vector is used to indicate that the vector is expressed in
coordinate system of the sensor housing. The analyses of accelerometer signals in this
thesis are based on a tri-axial accelerometer system with an output described by
equation (2), after being calibrated on the basis of equation (1). A 3D accelerometer
can be used to measure inclination (tilt) for applications in which the acceleration is
small compared to the gravity vector. The inclination is determined by calculating the
angle of the sensor axes with respect to the gravity vector. Since the vector S y A
remains constant if the sensor is rotated around the gravity vector, the rotation around
the vertical can not be measured.

Instead of assembling a tri-axial accelerometer from single or dual axis


accelerometers, it can also be constructed using a single mass. A 3D accelerometer,
based on only one mass with three translational degrees of freedom was constructed
by Lötters et. al. [3]. Lötters used a capacitive distance measurement in three
directions to measure the displacement of a cubic mass, suspended in its housing by
rubber springs (fig. 3). The measured displacement can be related to the difference
between acceleration and gravity in the same way as in the case of a single axis
accelerometer.

Spring

Mass

Capacitor
plate
Figure 3: Schematic representation of the accelerometer designed by Lötters
et. al. (front cover of housing removed). A cubic mass is suspended by springs
on all six sides. The 3D displacement of the mass with respect to the housing is
measured capacitively, enabling the sensor to be used as a 3D accelerometer.

10 Chapter 1
Gyroscopes
The construction of angular rate sensors (gyroscopes) is based on different designs:
spinning rotor gyroscopes, laser gyroscopes and vibrating mass gyroscopes. The
conventional spinning rotor gyroscope and laser gyroscopes are mainly used for
navigational purposes. They are not suitable for human motion analysis because they
are both expensive and bulky [1]. The vibrating mass gyroscopes are small,
inexpensive and have low power requirement, making them ideal for human
movement analysis. Many different geometries are used, but each one is based on the
principle of a vibrating mass undergoing an additional vibration caused by the coriolis
effect.

A 2D view of a typical gyroscope design is drawn in figure 4. It consists of a mass


that is actuated in the direction given by ract , often using a piezoelectric element. The
displacement of the mass is measured in the direction perpendicular to the actuation
direction. If the housing is rotated with an angular velocity perpendicular to the plane,
the mass will experience an apparent force (coriolis force) in the direction
perpendicular to the angular velocity and momentary mass speed. This force is only
apparent in the sensor coordinate system, not in the inertial coordinate system. The
magnitude of the coriolis force fC is given by:
f C = 2m ⋅ v ⋅ ω (3)
where m is the mass, v the momentary mass speed and ω the angular velocity. Thus
the displacement caused by the coriolis force is proportional to the angular velocity
and is used therefore as a measure of angular velocity.

A. B.
Distance
ract Distance ract
measurement Mass measurement
Housing rcor
Actuator

Angular velocity

Figure 4: A.: A gyroscope consists of a mass, which is brought into vibration by an


actuator in the direction given by ract. B: When the gyroscope is rotated, the mass will
not only vibrate in the actuation direction, but will also undergo a (small) additional
displacement in the direction perpendicular to both the original displacement ract and
the angular velocity vector. This additional displacement, also known as the coriolis
effect, is used as a measure of angular velocity.

Like the 3D accelerometer setup, a 3D gyroscope can be assembled using three single
axis gyroscopes. Ferraris [2] described a method for obtaining the gain, offset and
sensitive axis of each of these gyroscopes with respect to the sensor housing. The
output of the calibrated 3D gyroscope system is the angular velocity vector, expressed
in the coordinate frame of the sensor housing.

Introduction 11
Inertial measurement unit
A sensor, consisting of a three axial accelerometer and a three axial gyroscope,
approximately mounted in one point is called an Inertial Measurement Unit (IMU). In
theory, a calibrated IMU measures 3D angular velocity and 3D acceleration and
gravity with respect to the sensor housing. Given an initial position and orientation,
ideally these signals would contain sufficient information to derive the IMU
kinematics completely. The orientation can be obtained using a known initial
orientation and the change in orientation that can be obtained using gyroscopes [4].
The resulting orientation can be used to subtract the gravity from the 3D
accelerometer vector to yield an acceleration. Expressed in a nonrotating reference
frame, double integration of the acceleration yields the position change. However, in
the real world the sensor signals from micromachined gyroscopes and accelerometers
contain errors which makes it difficult to obtain orientation and position in the way
described above, because of integration drift.

Kooi et. al. [5] constructed a 3D single mass IMU by adding two electromagnets to
the accelerometer developed by Lötters [3] (fig 5). It can be shown in theory that the
angular velocity can be simultaneously measured in all directions by vibrating the
mass in only two directions using the electromagnets. Moreover, the acceleration can
be obtained by considering the low-frequency part of the signals, enabling the
measurement of 3D acceleration and 3D angular velocity using a sensor based on only
one mass. Although this concept can be proven theoretically, it has only been shown
experimentally for an angular velocity around a single axis. Constructing such a
sensor will have large advantages over a sensor containing three single axis
accelerometers and three single axis gyroscopes in terms of size and power
consumption.

Sensor fusion
The orientation that is obtained using present day micromachined gyroscopes that can
be body worn typically shows an increasing error of a few degrees per second. This
integration drift is mainly caused by fluctuations of the gyroscope offset and
measurement noise. Obtaining a change in position using an IMU is even more
difficult. In this case, the acceleration in an earth bound coordinate system is obtained
by adding the gravity, obtained using the orientation from gyroscopes, to the
accelerometer output vector and expressing the result in the earth bound coordinate
system. Since the gravity vector is rather large compared to the acceleration of many
typical human movements, a small orientation error will yield a large acceleration
estimation error. Moreover, if double integration is carried out to derive position,
integration drift may cause the error to increase rapidly in time. Because of these large
errors, estimation of position using this method can typically not be performed with
adequate accuracy for periods longer than a second.

12 Chapter 1
It is hypothesized that the kinematics of the human movement can be obtained from
the signals of 3D inertial measurement units. In particular sensor fusion algorithms
can combine the available information in an optimal manner. The first objective of
the research described in this thesis is to investigate the potential of these techniques
(chapter 2-4). A second objective is to design signal analysis methods to derive 3D
acceleration and gyroscope signals from the single mass inertial measurement unit
developed by Kooi et.al. (chapter 5).

Spring

Mass

Actuator Capacitor
plate

Figure 5: By adding two high frequency electromagnetic actuators to the


sensor shown in figure 3, the accelerometer function can be extended with
an angular velocity sensing function. The low-frequent parts of the
measured mass displacement signal can be related to the gravity and
acceleration, whereas the high frequent components of the displacement
signal can be related to angular velocity.

Kinematics measurement using accelerometers and gyroscopes has received much


attention in the field of navigation [6], [7]. Kinematics were obtained using large but
accurate gyroscopes and accelerometers, together with other measurement devices
such as radar, GPS or a baro altimeter. Generally, signals from these devices were
fused using a Kalman filter to obtain quantities of interest. A Kalman filter [8] uses
information from several signals and a priori information about the behavior of the
system under consideration in order to make a most-likely estimate of the system
states. A Kalman filter has already been used for a sensor unit containing a 3D
gyroscope, a 3D accelerometer and a 3D magnetometer for virtual reality applications
[9]. The approach in chapter 2,3 and 4 of this thesis was to use IMU signals together
with a-priori knowledge of the characteristics of human movements to estimate
relevant kinematic quantities. The performance of the techniques was evaluated for
some representative tasks.

Since 3D accelerometers are widely used for the analysis of human movement, these
sensors are considered first. Two major problems exist when using 3D accelerometers
as inclinometers, namely the occurrence of offset fluctuation and the property that
accelerometers measure the vector difference of acceleration and gravity. These two
vectors can not be separated without additional information. The additional
information used is based on a-priori assumptions concerning the movement, mainly
with respect to the frequency spectrum of the acceleration. It appears to be possible to
separate the acceleration and gravity components, and to estimate the offset (chapter
2). The direction of the gravity, measured by a 3D accelerometer is used to estimate
of the inclination of the accelerometer.

Introduction 13
An important quantity required in many biomechanical analyses is the orientation of
body segments. The third chapter describes a method to obtain this information using
an orientation estimate, based on the integration of angular velocity. This gyroscope-
based orientation estimate is continuously adjusted using inclination data obtained
from the 3D accelerometer unit. This results in a method for accurate and stable
inclination estimation. Since the signals of the 3D accelerometer unit are not affected
by a rotation around the vertical (heading), the heading drift which is due to
integration can not be adjusted using the accelerometer signals. Therefore, additional
information is required to solve the heading drift. A possibility is to use constraints
imposed by joints connecting two segments of which the movements are measured
using IMU’s. This is investigated for the forearm and upperarm using a rotational
constraint of the elbow (chapter 4).

The methods described in thesis have one drawback, that is, the algorithms depend on
assumptions made about the movement to be measured. As a consequence, the
accuracy of the estimated kinematics depends on the particular movement to be
performed. Furthermore, every measuring device makes implicit assumptions about
the signals that are to be measured. The techniques used in this thesis may easily
make assumptions that are not valid for every measurement.

A Kalman filter has been described by van der Kooij [10] to investigate the human
balancing system. The models used in this particular Kalman filter were quite
different from those described in this thesis. They do not only take into account the
vestibular organ, but involve many more physiological sensors. Interestingly, the
study of van der Kooij showed that actual body balancing could only be explained by
this Kalman filter when assuming that the body uses a priori knowledge concerning
its movements.

References
1. Söderkvist, J., Micromachined gyroscopes. Sensors and Actuators A, 1994.
43: p. 65-71.
2. Ferraris, F., U. Grimaldi, and M. Parvis, Procedure for Effortless In-Field
Calibration of Three-Axis Rate Gyros and Accelerometers. Sensors and
Materials, 1995. 7(5): p. 311-330.
3. Lötters, J., et al., Design, fabrication and characterization of a highly
symmetrical capacitive triaxial accelerometer. Sensors and Actuators A,
Physical, 1998. 66(1-3): p. 205-212.
4. Bortz, J.E., A new Mathematical Formulation for Strapdown Inertial
Navigation. IEEE Trans. Aerosp. and Elec. Sys., 1971. 7(1): p. 61-66.
5. Kooi, B.J., W. Oltuis, and P. Bergveld. Rate of turn sensing with a modified
triaxial accelerometer. in Eurosensors. 2000. Kopenhagen.
6. Broxmeyer, C., Inertial Navigation Systems. 1964, New York: McGraw-Hill
Book Company
7. Barshan, B. and H.F. Durrant-Whyte, Inertial Navigation Systems for
Mobile Robots. IEEE Tans. on Robotics and Automation., 1995. 11(3): p.
328-342.
8. Kalman, R.E., A New Approach to Linear Filtering and Prediction
Problems. Journal of Basic Eng., 1960: p. 35-45.

14 Chapter 1
9. Bachman, E.R., Inertial and magnetic tracking of limb segment orientation
for inserting humans in synthetic environments. 2000, Naval postgraduate
school.
10. Kooij, H.v.d., et al., A multisensory integration model of human stance
control. Biological Cybernetics, 1999. 80: p. 299-308.

Introduction 15
CHAPTER 2

INCLINATION MEASUREMENT OF HUMAN


MOVEMENT USING A 3D ACCELEROMETER
WITH AUTOCALIBRATION
Introduction
There are many applications of ambulatory measurement of human movements in the
field of rehabilitation. Inertial sensors, especially accelerometers are very suitable for
these applications because of their small dimensions and weight and the useful
movement information they supply. Fields where accelerometers are used include the
monitoring of daily life activities [1-5]. In these studies, quantities relating to a
subject’s energy expenditure, tremor or functional use of a body segment are derived
from the accelerometer output. Other applications of accelerometers for human
movement recording include the assessment of motor control [6], load estimation
using inverse dynamics techniques [7, 8] or artificial sensory feedback for control of
electrical neuromuscular stimulation [9-11].

A 3D accelerometer unit, from now on sometimes in short referred to as an


accelerometer, is a transducer that measures acceleration and gravity in three
directions. It can be assembled by mounting three single axis accelerometers in a box
with their sensitive axes in different directions or using a sensor based on one mass
[12]. Calibrated accelerometers measure the gravity vector and the acceleration in
three directions. If the acceleration is small compared to the gravity, the accelerometer
can be used as an inclinometer [13]. Accelerometers are frequently used because they
are small, robust, relatively cheap, have low power requirements and can easily be
attached to a human body segment. These properties enable the ambulatory
monitoring of patients during daily life. No other ambulatory movement sensor to
date can match these specifications.

A problem with many accelerometers is that they suffer from a fluctuating offset. This
can be due to a temperature change or small changes in the structure (mechanical
wear). When accelerometers are to be used in clinical practice a calibration procedure
is impractical and can lead to disuse. Lötters et al. proposed an implicit calibration
procedure [14]. A high pass filter was used to determine quasistatic periods, in which
the subject was standing almost still. Once the accelerometer output was measured at
several quasistatic periods in several orientations, the offset and gain could be
estimated. This restricts the method to off-line analysis. Furthermore, the method only
provides proper calibration if a sufficient number of quasistatic periods occur during a
trial. A continuous online implicit calibration procedure, not requiring strict
quasistatic periods is highly desirable.

Another problem arises when an accelerometer is used as an inclinometer [4, 13]. It


requires the acceleration to be sufficiently small in comparison to the gravity. This
assumption may be valid under quasistatic conditions like the measurement of sway
[15], but is violated during dynamic tasks like lifting [8].

Despite the mentioned drawbacks of accelerometers, they are still the only suitable
sensors for long term ambulatory recording of human body movements. If one 3D
accelerometer could be used to measure an inclination during dynamic tasks without
requiring additional sensors, the number of applications will be large. This justifies
the current investigation of the maximum amount of information that can be extracted
from a 3D accelerometer.

Inclination measurement using a 3D accelerometer 19


This chapter proposes a method to estimate the offset, acceleration and the gravity
vector in a continuous way. It uses a Kalman filter and knowledge about the dynamics
of human body movements. The performance of this method was assessed for the
daily life task of lifting and stacking objects.

Methods: Filter Design

Accelerometer signal components


In order to estimate offset and inclination from 3D accelerometer signals, a
description of the output of the accelerometer system is required. In the current study
the 3D accelerometer output are assumed to be composed of an acceleration, a gravity
and an offset vector with inevitable superimposed measurement noise (1).
y t = at − g t + bt + v A,t (1)
All accelerometer output signal components, the acceleration at , the gravity gt , the
offset bt and white noise v A,t are expressed in the sensor coordinate frame. The offset
bt is a component that may change slowly with time and is considered unknown at
the start of an experiment. Possible disturbances due to non-linear contributions and
fluctuations of gain are assumed to have a minor effect on the sensor output and are
therefore not incorporated in the model.

Knowing the direction of the gravity vector in the sensor coordinate frame, the
inclination can be calculated. In order to obtain the inclination, the different
components of (1) have to be separated. For this purpose, a Kalman filter was
designed that uses the characteristics of the different accelerometer components.

Description of estimation procedure


On the basis of a model of the accelerometer signal, a discrete-time complementary
Kalman filter [16, 17] was designed to estimate the acceleration, offset and gravity
(fig. 1).

The estimation procedure is as follows (fig. 1): An a priori prediction of the


accelerometer signal components offset, gravity and acceleration and their
covariances is made on the basis of the previously estimated values and the sensor
signal. This prediction is then compared to the actual sensor output. The Kalman filter
uses an error model in state space format that relates the prediction error to errors in
the a priori offset and gravity estimates. On the basis of this error model and
covariances of the estimated sensor components, the difference between predicted and
actual sensor output is attributed to a priori prediction errors.

First, a model is presented that describes the accelerometer signals, based on the
characteristics of the components. This model is used to estimate the different signal
components. Subsequently, the covariances of these components are derived, on the
basis of which the Kalman filter can attribute the prediction error to these
components.

20 Chapter 2
aˆ t −1 , gˆ t −1 , bˆ t −1 aˆ t , gˆ t , bˆ t
aˆ t− , gˆ t− , bˆ t−
Prediction +

Qt
yˆ t− aˆ ε ,t , gˆ ε ,t , bˆ ε ,t

Kalman
yt yε ,t

Figure 1: Structure of the Kalman filter. Previous estimates of the acceleration,


gravity and offset ( aˆ t− , gˆ t− , bˆ t− ) are used to predict the sensor output vector. The
difference ( y ε ,t ) between predicted sensor output ( yˆ t− ) and actual sensor output ( y t )
is a function of the prediction error of the acceleration, gravity and offset. A Kalman
filter attributes this difference to the prediction errors ( aˆ ε ,t , gˆ ε ,t , bˆ ε ,t ) using the
variances of the predicted components ( Qt ).

Accelerometer signal generation model


The model describing the accelerometer signals is based on the following
assumptions.
1. The bandwidth of the acceleration is limited because of the inertia of the body
segment on which the sensor is attached.
2. The acceleration of a body segment expressed in a nonrotating coordinate frame
has zero mean. Even a small acceleration in a particular direction for longer than
a few seconds would result in an unrealistic displacement and speed of the human
segment. This means that the acceleration spectrum is zero for low-frequencies.
3. The bandwidth of the offset vector is low with respect to the bandwidth of the
acceleration.

A block diagram of the model is given in figure 2. The acceleration G a in a global


coordinate frame was modeled as a realization of a band pass filtered white zero-mean
noise (block A in fig. 2, assumption 1 and 2). The accelerometer measures the
acceleration minus gravity vector in a coordinate frame that is rotating with an
angular velocity ω with respect to an earth-fixed coordinate frame (block B,
rotation). A white noise signal v A and the slowly varying offset b are added to form
the accelerometer signal. (block C, assumption 3).

Inclination measurement using a 3D accelerometer 21


G ω
wa a vA
A.Band-pass S S
a− g
+ B.Rotation +
y
G
g
b
wb C.Low-pass

Figure 2: Model of the different components that constitute the accelerometer signal.
wa and wb are white noise signals. G a denotes the acceleration in an earth fixed
reference frame. The sensor output is modeled as the angular velocity and gravity,
expressed in the accelerometer coordinate frame that is rotating with an angular
velocity ω, plus a white measurement noise component vA and slowly varying offset
b. The lower cut-off frequency of the band-pass filter of block A is much higher than
the low pass cut-off frequency of block C.

The acceleration was modeled as an AR process (block A in figure 2, assumption 1


and 2).
G
at = H (q ) { a }+
G
t
G
w a ,t (2)
where wa is a white noise vector and H a polynomial function, using the backward
shift operator q. The left superscript G denotes a vector expressed in the global
coordinate frame. Because of assumptions 1 and 2, a bandpass characteristic is to be
expected. Relation (2) was used to predict the acceleration. Since the acceleration is
not measured in the global frame but in the sensor frame, the acceleration expressed
in the current sensor frame was used for the prediction. The unknown noise term
G
w a,t was set to zero.
S ,t −
aˆ t = H(q) { S ,t +
}
aˆ t −1 (3)
A hat on top of a symbol denotes an estimation and the minus superscript denotes the
a priori estimation of a signal component before it is corrected with the Kalman filter.
A plus superscript denotes an estimation that is made after correction with the Kalman
filter and the S,t on the left of a vector means that the vector is expressed in the sensor
coordinate frame at time t.

The gravity remains the same vector in a nonrotating coordinate frame. Therefore the
direction of the new gravity estimate equals the old and the magnitude is renormalized
to 1 g. gC equals the gravitational constant.
S ,t +
S ,t − gˆ t −1
gˆ t = gC ⋅ (4)
S ,t +
gˆ t −1

Equations (3) and (4) express the predicted acceleration and gravity at previous
instances in the sensor coordinate frame of the current timestep. The vectors at
previous sensor frames have to be rotated in order to be expressed in the current

22 Chapter 2
sensor frame. Relation (5) describes the transformation of the acceleration and gravity
from the previous sensor coordinate frame (S,t-1) to the current sensor coordinate
frame (S,t) by rotating the vectors over a small angle given by the angular velocity ω
and sampletime T.
S ,t
r = S ,t −1r − Tω × S ,t −1r (5)
The angular velocity is estimated from the raw accelerometer signal, as described in
the next section.

The angular velocity is estimated by considering the rate of change of the


accelerometer output. If the accelerometer would measure a constant and nonrotating
vector in an earth-fixed coordinate frame, the angular velocity would cause a change
in the measured vector according to (5). Because for many types of human movement
the gravity vector is a large component of the sensor signal vector, a rough estimation
of the angular velocity vector can be made. The component of the angular velocity
perpendicular to the measured vector is used as an estimate of angular velocity and
can be written explicitly according to (6)
1
ˆ t = ⋅ nt −1 × nt
ω (6)
T
with n the unit vector in the direction of the measured accelerometer signal vector y t .

The angular velocity prediction in the direction of y t can not be assessed by an


accelerometer and was therefore set to zero. The accuracy of the angular velocity
estimate perpendicular to y t depends on the validity of the assumption that the
change in acceleration is small with respect to the magnitude of the sensor signal
vector.

In order to obtain an expression describing the accuracy of (6) consider a sensor


signal that changes during a time interval T because of a change in acceleration ∆a
and a sensor rotation with an angular velocity ω .
S ,t
y t = S ,t −1 y t −1 + S ,t ∆at − Tωt × S ,t −1 y t −1 (7)
The error in the angular velocity estimate, ωε = ω ˆ − ω , can be found by substituting
the expression for the change in accelerometer output vector (7) into the angular
velocity estimation (6) .
1
ωε ,t = − ( ω ⋅ nt −1 ) nt −1 + nt −1 × ∆at
gC (8)
= ωP,t + ωε ⊥,t
The two terms on the right hand side of (8) are the angular velocity parallel and
perpendicular to the accelerometer signal vector, respectively. Because this vector
will mostly point approximately in gravity direction, the angular velocity around the
vertical will generally be unknown.

The angular velocity prediction only requires accelerometer signals and can therefore
be obtained before processing the accelerometer signals with the Kalman filter. In
order to diminish the error caused by the second term on the right hand side of (8) the
estimated angular velocity is low-pass filtered.

Inclination measurement using a 3D accelerometer 23


The offset is modeled as a markov process according to (block C figure 2, assumption
3):
bt = bt −1 + w b,t (9)
A prediction of the offset is made by setting the white noise vector wb to zero.

Error model
The Kalman filter uses a state space structure that describes the effect of prediction
errors in the acceleration, gravity and offset on the difference in predicted and
measured accelerometer vector.
xε ,t = A ⋅ xε ,t −1 + w t
(10)
yε ,t = C ⋅ xε ,t − vt
y ε ,t is the difference between the predicted and measured accelerometer output. This
difference is a result from errors in predicted offset, gravity and acceleration. The
error state xε ,t is the state that is estimated by the Kalman filter. Since the goal of
this article is to estimate the inclination and offset, these two vectors were included in
the state vector xε :
T
xε ,t = éëgε ,t bε ,t ùû (11)
wt and vt are white noise signals with covariance matrices Q and R, respectively. Q is
a 6×6 matrix describing the error covariance matrix of the state vector xε ,t . Since it is
assumed that the offset error is not correlated with gravity, the matrix format is
described by
éQ g ,t 0 ù
(
Q t = E xε xε T = ê ) ëê 0
ú
Qb,t ûú
(12)

The Kalman filter uses the error model, together with the covariance matrices Q and
R to attribute the prediction error ( y ε ,t ) of the accelerometer signal to the different
accelerometer signal components. Qt and R t depend on the covariance matrices of
the previously estimated states and the unknown model input signals w a,t , w b,t and
ωP,t .

The 3×6 matrix C was found by subtracting the predicted sensor output from the
actual sensor output:
yε ,t = yˆ t− − y t

( ) (
= aˆ t− − gˆ t− + bˆ t− − at − g t + bt + v A,t ) (13)
= ( −gε−
,t + bε−,t ) + aε−,t − v A, t
= [ −I3 I 3 ] ⋅ xε + vt
where I3 is the 3 by 3 identity matrix and the first matrix on the last line of (13) equals
C. The noise term vt incorporates the measurement noise v A,t and the a priori
acceleration error estimate aε− .

24 Chapter 2
The matrix A describes the dynamics of the error state. The state only contains
prediction errors that do not depend on previous estimates. Therefore A equals the
zero matrix.

Error behavior
Finally an expression of the prediction error covariance matrices Qt and R t will be
derived. Prediction errors are either caused by errors in previously estimated states or
unknown inputs wa and wB and ωP . A relation is derived that describes the error in
the predicted states as a function of the previous estimation errors and unknown
inputs. The covariance is then obtained by taking the variance.

The error of the predicted acceleration ( aε- ,t ) expressed in the sensor coordinate frame
was found by comparing the estimate (3) with the modeled acceleration (2).
S ,t -
aˆ t = S ,t a t + S ,t aε- ,t
(14)
{ }
= S ,t a t +H(q) S ,t aε ,t-1 + S ,t w a,t
Using (5) to express the acceleration in the sensor frame and neglecting products of
errors yields the following acceleration error.
S ,t −
aˆ t = S ,t −1aˆ t− − Tωˆ t × S ,t −1aˆ t−
(15)
= S , t at + ( I − T [ωˆ t ×]) S ,t −1aε−,t −1 + é P aˆ t− ×ù Tωε ,t
ë û
Where the matrix cross product is defined as:
é 0 −ω z ω y ù
ê ú
[ω ×] ⋅ x = ê ω z 0 −ω x ú ⋅ x = ω × x
ê −ω y ω x 0 úû
ë

The estimate of the acceleration is critical in movements with a large centripetal


acceleration. Even if the mean of the acceleration in a global coordinate frame is zero
it does not mean that the mean acceleration in the sensor coordinate frame is close to
zero. Especially in movements with large centripetal accelerations like bending, the
acceleration in the sensor frame will not be close to zero. Therefore the predicted
acceleration is rotated every timestep. If either the acceleration or the angular velocity
estimation is inaccurate, a biased prediction of acceleration will occur. The effect of
an error in acceleration is shown by the second term of (15) and the effect of an
angular velocity error is represented by the third term. When the acceleration estimate
is biased it will cause biased offset and gravity estimates.

Neglecting the change by renormalization (4), the prediction error of gravity is


determined by the error in the previous gravity estimate and the error introduced by
rotating with an angular velocity error. In the same way as was done for the
acceleration, the prediction error of the gravity was derived to be:
gˆ t = S ,t g t + ( I − T [ω
S ,t −
ˆ t ×]) S ,t −1 gε−,t −1 + é S ,t −1 gˆ t− ×ù Tωε ,t (16)
ë û
Since the angular velocity can only be estimated in the direction perpendicular to the
accelerometer signal and the gravity vector is a large component of this signal, the
error in gravity prediction will be relatively small with respect to the acceleration
prediction. Since the accuracy of the angular velocity estimate is determined by the

Inclination measurement using a 3D accelerometer 25


change in acceleration, the gravity estimate will be poorer in periods with a relatively
large acceleration.

Covariances
The angular velocity error covariance matrix is obtained by taking the variances of the
unknown quantities in (8):
1 T
Qω ,t = QΩ ⋅ nt ⋅ nt T + 2 [ gˆ t ×] ⋅ Q ∆a ⋅ [ gˆ t ×] (17)
gc
QΩ is the variance of the actual angular velocity averaged over the x,y and z-axes
during a measurement and Q ∆a is the covariance matrix describing the change in
acceleration. Both are parameters of the Kalman filter which need to be determined in
order to estimate the components of the accelerometer signal.

Taking the variances of (15) yields the acceleration error covariance matrix:
T
Q a ,t = ( I − T [ω
ˆ t ×]) Q a,t −1 ( I − T [ω
ˆ t ×]) + T 2 é S ,t aˆ t− ×ù Qω ,t é S ,t aˆ t− ×ù
T
(18)
ë û ë û
In much the same way as was done with the acceleration prediction, the gravity error
covariance matrix was found to be:
T
Q g ,t = ( I − T [ω
ˆ t ×]) Q g ,t −1 ( I − T [ω
ˆ t ×]) + T 2 é P g t− ×ù Qω ,t é P gt− ×ù
T
(19)
ë û ë û
t

The covariance of the estimation bˆ that is made by substituting bˆ t −1 with covariance
matrix Q b ,t −1 into (9) and setting wb to zero is:
Qb,t = Qb,t −1 + Q wb (20)
Q wb is the covariance matrix of wb. If the duration of the measurement is only a few
minutes or the temperature is relatively constant, the change in offset will play a
minor role with respect to the initial uncertainty.

Methods: Experimental validation


A 3D accelerometer was assembled using three AD XL-05 accelerometers that were
mounted perpendicular with respect to each other. In order to compare the estimated
angular velocity with the real angular velocity, 3 orthogonally mounted murata-
ENC05 gyroscopes were added as a reference. The inertial measurement unit (IMU),
consisting of the 3D accelerometer and three gyroscopes was calibrated according to
Ferraris [18], enabling the measurement of accelerometer signals and angular velocity
in the IMU coordinate frame. The output signals were sampled at 100 [Hz] using a
portable datalogger. The IMU was attached to the body segment using double sided
adhesive tape and Leukoplast (figure 3). The IMU was mounted with the z-
accelerometer axis in cranial direction, the x-axis in frontal direction and the y-axis
laterally to the left.

A crate lifting task was chosen to test the algorithm as described in the previous
sections. In this task, the subject was asked to move a pile of 5 empty beer crates one
by one from one stack to another, placed 1 m away at the pace of a metronome. As
soon as the stack was empty the subject started stacking the crates vice versa. This
task was chosen because of the 3D nature of the movement and the relevance of the
use of accelerometers for back load estimation.

26 Chapter 2
Two series of crate lifting measurements were conducted:
a) A set of trials for identification of the model parameters, constituting of a series of
10 trials of 2 minutes each at a comfortable lifting speed of 3 s. per crate.
b) A series to test the filter performance, constituting of a series of 10 trials of 2
minutes each at different lifting speeds of subsequently 7, 6, 5, 4, 3.5, 3.5, 3, 3, 2
and 1.5 crates per second.
Both series were conducted with a different male subject. Both signed an informed
consent prior to the measurement. One IMU was placed at the pelvis and one at the
trunk at the height of T4/T5.

Figure 3: Placement of the IMU on the back on the trunk. The sensor module is placed
at the T4/T5 level just left of the spine in order to mount the sensor on a flat surface.
Three reflective markers were placed on the IMU housing in order to measure the
reference orientation of the accelerometer using the Vicon system as a reference.

As a reference, the inclination of the IMU was recorded with a 5 camera ViconTM
optokinetic camera system with a sampling rate of 50 Hz. The system measured the
position of three markers that were placed on 100 mm carbon fiber sticks secured to
the IMU (fig. 3). These marker positions were using to construct a marker coordinate
frame. An estimate of the accuracy of the marker frame orientation was obtained by
analyzing the relative motion of two markers. The RMS of the orientation error was
assumed to be in the same order as the RMS distance variation divided by the
distance between two markers. The orientation of the IMU coordinate frame with
respect to the Vicon markers was found by holding the IMU 4 seconds still in two
different orientations.

In order to identify the parameters for offset fluctuation, it was assumed that it is
mainly determined by temperature changes. The effect of temperature on
accelerometer offset was measured by cooling two IMU’s in an oven from 40 to 20
degrees Celsius in a time period of 3 hours. This was done with the IMU laying on six
different sides, enabling measurement of all accelerometer offsets. A value for a
typical accelerometer offset error was obtained using the change in output from 30 to
20 degrees Celsius, since this was assumed to be a typical temperature step for
mounting a calibrated IMU on a body segment.

Inclination measurement using a 3D accelerometer 27


Accelerometer signal [ms-2]
Magnitude

10

y
z
0

x
-10

0 3 6
Time [s]
Figure 4: Example recording of the three accelerometer signals of the trunk
accelerometer during two crate lifts. The magnitude of the accelerometer signal
vector is given by the solid line.

Model parameters are the coefficients of the polynomial H (q ) and the variances of
w a , w b and ω . The offset was assumed not to change during the two minute trials
and was set to zero. The angular velocity variance was obtained using the gyroscopes.
The acceleration parameters in H (q ) and Q a were determined by analyzing the
acceleration of the trunk during the stacking task. The acceleration was obtained by
adding the gravity to the accelerometer output vector (1). The gravity was obtained
using the Vicon reference measurement. It was assumed that the offset bt and
measurement noise vector v a ,t could be neglected for the purpose of identification of
the accelerometer spectrum. A fifth order polynomial was used to describe H (q ) . Its
coefficients were found using the Matlab system identification toolbox developed by
Ljung [19].

The inclination was defined as the angle which the negative gravity vector makes with
Z-axis of the IMU coordinate frame. This definition coincides with the intuitive
measure of a water dial. The rms error of the inclination estimate during a trial was
taken as a measure of inclination error. In order to compare the effect of the filter with
respect to other methods for inclination measurement using an accelerometer, the
inclination was obtained from the accelerometer signals using three methods. In the
first method, the measured signals were processed using the Kalman filter as
described above. In the second method, the Kalman filter was used without taking
account of changing IMU coordinate frame orientation (5). In this case, the angular
velocity estimate was set to zero and it’s variance was set to QΩ . The last method did
not make use of the Kalman filter. The accelerometer signals were each low-pass
filtered with a cutoff frequency of 4 Hz, using a 4th order butterworth filter. The
inclination was estimated from the direction of the resulting signal vector.

28 Chapter 2
Results
The accuracy of the reference measurements using the optokinetic system depends on
the accuracy of the position measurement of the markers and on the accuracy of the
marker to IMU orientation estimate. The accuracy of the position measurement was
estimated by considering the distance between two markers. The standard deviation of
the fluctuation of measured distance was 1 mm. This corresponds to a standard
deviation of measured orientation of less than 1 degree. The orientation of the marker
coordinate frame with respect to the IMU coordinate frame was obtained using the
accelerometer signal during two moments in which the IMU was put in different
orientations, assuming the accelerometer only measures gravity when holding the
accelerometer still and simultaneously measuring the orientation of the marker frame.
An error in IMU to marker orientation is caused by the variation of the accelerometer
offset. The offset change of six accelerometers after a temperature step from 30 to 20
degrees was 0.2 ms-2 on average (s.d. 0.2 ms-2). An offset error of 0.2 ms-2
corresponds to an angle error of 1.1 degrees. It was assumed that these were the
largest sources of error of the orientation obtained using the reference system.

An example of the accelerometer output signals during two crate lifts is given in fig 4.
At the start of the trial, the subject was in upright position. At this time the
accelerometer output was approximately 1g in z-direction of the IMU coordinate
frame, since the z-direction of the IMU was chosen to point cranially. The
accelerometer output along the IMU x- and y axes was close to zero at this time, since
these were almost horizontal. Once the subject starts to bend, the IMU x-axis starts to
point downwards and the IMU z-axis turns horizontally. Hence the change in x and z
accelerometer output at 1.5s and 4s.

The variance value of the white noise term v a ,t , estimated by measuring


accelerometer output while the IMU is laying still, was 0.1 ms-2. The error of the
angular velocity depends on two effects: the uncertainty of the angular velocity in the
direction parallel to the IMU output vector and the errors caused by a change in
acceleration. The error due to change in acceleration is given by the second term on
the right hand side of (8) and is diminished by low-pass filtering the accelerometer
signal before the angular velocity is estimated. In order to determine the cutoff
frequency, the spectrum of the angular velocity magnitude, obtained using
gyroscopes, is plotted together with the spectrum of ωε ⊥ , given in equation (8) (fig.
5). Based upon this figure the cutoff-frequency for determining the angular velocity
signal was chosen to be 4 Hz, and a 4th order zero-phase butterworth filter was
applied.

Inclination measurement using a 3D accelerometer 29


1.5
Trunk
ω
ωε ⊥ 1
ω
[rad]

0.5 ωε ⊥
Pelvis

0
0.1 1 10 100
Frequency [Hz]
Figure 5: Spectra of angular velocity ω (solid) and angular velocity error ωε ⊥
(dashed) in the direction perpendicular to the accelerometer output vector. The
spectra were taken using the gyroscope signals measured during a crate lifting trial
at comfortable lifting speed (3.5s per crate) at the trunk and the pelvis.

An example of the estimated angular velocity of the trunk is plotted in figure 6. The
left figure shows the y component of the angular velocity for bending forward and
getting upright, measured using the gyroscopes and the accelerometer. For this
movement, the error will be largely determined by a change in acceleration. Mainly
because of the centripetal acceleration, the acceleration will be large when the angular
velocity is also large. The plot on the right hand side of figure 6 shows the angular
velocity in z-direction as estimated with an accelerometer and as measured using
gyroscopes during a torsion trial of the trunk while standing upright. As expected, the
angular velocity in the direction of the accelerometer vector y t can not be measured
using an accelerometer.
5 Acc ωz 5
ωy
[ rad / s]
[rad / s ] 0 0
Gyr
-5 -5
0 1 2 3 0 1 2 3
time [s] time [s]
Figure 6: Angular velocity as measured with accelerometer (solid) and gyroscope
(dotted) on the trunk. The left graph shows the angular velocity along the lateral
(y) axis during a flexion with the accelerometer on the trunk. The right graphs
shows the angular velocity estimates along the vertical during a torsion trial.

30 Chapter 2
100 1
Normalized rms A. B.

RMS of ang. vel.


error of angular
velocity estimates.
[-] 50 0.5

[rad/s]
0 0
ω ωP ω⊥ ω ωP ω⊥ Pelvis Trunk

Pelvis Trunk

Figure 7: A. rms error of the angular velocity estimates of an accelerometer


averaged over 10 lifting trials. Errors are given as a percentage of angular
velocity magnitude rms. ω P is the angular velocity error along the
accelerometer output vector that can not be measured usingthe accelerometer
signals. ω ⊥ is the angular velocity error in the direction perpendicular to the
accelerometer output vector. B. rms of the angular velocity magnitude for pelvis
and trunk averaged over ten trials.

In order to asses the possibility of measuring the angular velocity during lifting trials,
the rms of the angular velocity error magnitude as a percentage of angular velocity
magnitude is given in figure 7. The percentages are obtained by averaging the rms of
the angular velocity errors over 10 trials at comfortable lifting speed (3 s per crate).
As expected, the errors in estimating angular velocity from acceleration are mainly
due to the angular velocity component parallel to gravity, which can not be estimated
using accelerometers.

The measured and identified spectrum of the acceleration is given in figure 8. The
acceleration in all three directions is used in the identification process. Due to a
limited order of the model, the identified spectrum does not exactly coincide with the
spectrum that is obtained using a Fourrier transformation. Since a least squares
identification of a time series will generally focus on prediction of the high-frequent
components, mainly the spectrum estimate of the low-frequent components differs
considerably with the spectrum obtained by Fourrier transformation.

0.04 Measured
Identified
Magnitude of
acceleration
spectrum in
global coordinate 0.02
frame
[ms-2Hz-1]

0
1 10
0.1
Frequency [Hz]

Figure 8: Measured and identified spectrum of the acceleration in the global


frame. The acceleration in all three directions of 9 comfortable speed trials
was used to identify a 5th order autoregressive process. The spectrum of this
identified system was compared to the spectum that was obtained with a
fourier transform of the same acceleration signals.
Inclination measurement using a 3D accelerometer 31
5

Inclination 4
error [deg]
3

0
Kal. No rot. Acc. Kal. No rot. Acc.

Pelvis Trunk

Figure 9: Average rms inclination error. Kal: estimated using the Kalman filter.
No rot: estimated using the Kalman filter, not accounting for changing sensor
frame orientation, by setting the angular velocity to zero. Acc: estimated using
the accelerometer as an inclinometer, applying a cutoff freuqency of 4 Hz to all
three accelerometer signals. The inclination errors were averaged over 10
trials for the Pelvis and 9 trials for the trunk sensor.

Inclination estimate by the Kalman filter


The ability of the filter to estimate inclination with and without taking account of
changing orientation of the IMU coordinate frame as assessed by the estimated
angular velocity was compared to the performance of the inclination estimate based
on a low pass filtering of all three accelerometer signals (fig. 9). The rms of the
inclination error using the filter was significantly smaller as compared to the
inclination error obtained by the method of only low pass filtering the accelerometer
signals. Accounting for rotation did not significantly improve the inclination estimate.

6 6
Sensor on Pelvis Sensor on Trunk
5 5
Inclination 4 Accelerometer 4
error. [deg] Accelerometer
3 3

2 2

1 Kalman Filter 1 Kalman Filter


0 0
0 0.5 1 0 0.1 0.2 0.3 0.4
Lifting frequency [Hz] Lifting frequency [Hz]
Fig 10. Error in estimated inclination against the number of crates lifted per
second, obtained using a Kalman filter and using the accelerometer directly.
The accelerometer was placed on the pelvis (left) and trunk (right).

32 Chapter 2
In order to test the effect of speed of movement on the inclination estimation, the rms
of the inclination error of each trial was plotted against lifting speed (fig. 10). A linear
regression was used to describe the effect of lifting speed on inclination estimation
errors. All graphs had a slope significantly different from zero (p<0.05). Again, the
Kalman filter performed better in estimating the pelvis as well as trunk inclination and
this difference tended to increase at higher lifting speeds.

0.8
Offset
error 3 s per crate
0.6
[ms-2]
0.4

0.2
6 s per crate
0
0 140
Time [s]
Figure 11: Estimation of the magnitude of the accelerometer offset error vector
during lifting trials at the speed of 3s per crate and the speed of 6 second per
crate. Offset is given an initial error of 1 ms-2 in x-direcion (forward).

Offset
An example of the accelerometer offset estimation is given in figure 11. It shows the
magnitude of the offset error vector when the accelerometer signals were processed
with the Kalman filter using an initial offset error of 1ms-2 in x direction. Each of the
two lines represents a trial at a different lifting speed. After a rapid decline of offset
error during the first few seconds, the offset error monotonically decreases. There is
only a small difference between offset estimation during a slow and a fast task.

The effect of an initial offset on different axes was investigated by artificially adding
an offset error of 1 ms-2 to one of the IMU axes. The offset estimate at the end of the
120 s trial was taken as a measure of the ability of the filter to estimate the offset. The
results are shown in figure 12. Using a paired t-test, it was found that the different
estimates were not significantly different from each other. It appeared that an offset in
the IMU z-axis could be estimated with a smaller error than the y- and x axes. This is
because the offset can only be estimated in the direction of gravity, and the sensor z
axis was pointing in the gravity direction more often than the x and y axes of the
IMU.

Inclination measurement using a 3D accelerometer 33


0.6

0.4
Offset
error after
120 s.
[m/s/s] 0.2

0
x y z x y z
Pelvis Trunk
Fig 12: Average magnitude of offset error vector after 120 seconds of
crate lifting at different lifting speeds, subsequently applying an initial
offset error of 1 ms-2 in each of the three sensor axes (x, y and z).
Values were averaged over 10 trials.

Discussion

Inclination
Two important assumptions in the design of the Kalman filter are: the acceleration has
a band-pass characteristic and the acceleration is zero in the global coordinate frame.
The effect of these assumptions was tested by comparing the filter performance to a)
the filter performance used without taking account of changing IMU coordinate frame
orientation (fig. 9) and b) to the performance of direct inclination estimation from the
accelerometer signal vector after low-pass filtering all three constituting signals. Of
these three methods, the two approaches using a Kalman filter perform almost twice
as good as the method based on a low pass filtered accelerometer signal. The two
different versions of the Kalman filter did not differ significantly. Taking account of
changing sensor coordinate frame orientation between subsequent measurement
instances using the estimated angular velocity does not substantially improve the
performance and it can therefore be concluded that the improvement of the Kalman
filter over the low-pass filter can be solely attributed to the assumption that the
acceleration is described by a band-pass characteristic.

The conclusion that taking into account the angular velocity does not improve the
filter can be explained by the poor estimation of the angular velocity (fig. 7). An
advantage of not using the angular velocity information in the Kalman filter is that the
algorithm can be implemented in real time. Because the zero phase filter requires
samples in advance, the angular velocity can not be obtained in real time. Without
using the a-priori estimated angular velocity, the Kalman filter can be implemented in
real time.

Offset
The mean acceleration of the sensor in an earth-fixed coordinate frame is assumed to
be zero in all directions. Because of centripetal accelerations, this is generally not the
case for the acceleration with respect to the sensor frame. If the angular velocity is not
estimated correctly, the predicted acceleration and hence the offset will be biased.
Another factor that may determine the offset accuracy is the angle over which the

34 Chapter 2
sensor is rotated. Since the offset can only be estimated in gravity direction, the offset
estimate in all three directions will be more accurate when the sensor is rotated over a
larger angle.
From figure 12 it can be seen that an offset error in cranial direction can be reduced
more rapidly than in a horizontal direction, reflecting that the offset can only be
estimated in gravity direction. The reason that the pelvis offset estimation was
somewhat better than that of the trunk may be attributed to the centripetal
accelerations that are larger on the trunk. Apparently, the larger orientation changes of
the trunk do not compensate for this.

Task
The sensor was tested on the pelvis and trunk because these positions are relevant for
the measurement of back load and stability [8]. The task that was tested will probably
give larger errors than a task involving a sequence of daily tasks because it involves a
continuous repeated movement. The filter is expected to be more accurate in periods
involving small accelerations and angular velocities, like many daily life activities
(fig. 10). These periods hardly occur in the considered crate lifting task, especially at
high frequencies of performing the task.

The offset estimation is expected to be relatively accurate during periods with


relatively small acceleration and angular velocity, especially in the vertical direction.
These periods occur frequently during daily life. It is to be expected that the Kalman
filter will accurately estimate the offset for long recordings of the daily life of
patients. In these recordings automatic recalibration is relevant because frequent
calibration of the accelerometer is difficult. The effect of an offset error of 1 ms-2 in a
horizontal direction will cause an inclination error of nearly 6 degrees, and will
therefore be a significant error in many applications. The described Kalman filter may
significantly improve robustness of such systems. Especially when an accelerometer
is to be implanted, robustness is an important specification.

If the Kalman filter is applied to accelerometer measurements on other segments like


arms or legs, moving with large centripetal acceleration components, the inclination
estimate will probably be less accurate. A more accurate estimate of the inclination
using ambulatory methods can be obtained by using additional sensors like
gyroscopes [20, 21] (Luinge, chapter 3). However, current micromachined gyroscopes
are heavier, larger and require more power than state of the art micromachined
accelerometers. For this reason, only accelerometers may be used if weight and power
are important.

References
1. Veltink, P.H., et al., Detection of static and dynamic activities using uniaxial
accelerometers. IEEE Transactions on Rehabilitation Engineering: a
Publication of the IEEE Engineering in Medicine and Biology Society, 1996.
4(4): p. 375-385.
2. Busser, H.J., et al., Method for objective assessment of physical work load at
the workplace. Ergonomics, 1998. 41(10): p. 1519-1526.
3. Foerster, F., M. Smeja, and J.U. Fahrenberg, Detection of posture and motion
by accelerometry: a validation study in ambulatory monitoring. Computers in
Human Behavior, 1999. 15(5): p. 571-583.

Inclination measurement using a 3D accelerometer 35


4. Bouten, C.V.C., Koekkoek, K.T.M., Verduin, M., Kodde, R., Janssen, J.D., A
Triaxial Accelerometer and Portable Processing Unit for the Assesement of
Daily Physical Activity. IEEE Transactions on biomedical eng., 1997. 44(3): p.
136-147.
5. Uswatte, G., Objective Measurement of Functional Upper-Extremity
Movement Using Accelerometer Recordings Transformed With a Treshold
Filter. Stroke, 2000. 31: p. 662-667.
6. Moe-Nilssen, R., A new method for evaluating motor control in gait under
real-life environmental conditions. Part 1: The instrument. Clinical
Biomechanics, 1998. 13(4-5): p. 320-327.
7. van den Bogert, A.J., L. Read, and B.M. Nigg, A method for inverse dynamic
analysis using accelerometry. Journal of Biomechanics, 1996. 29(7): p. 949-
954.
8. Baten, C.T.M., et al. Inertial Sensing in ambulatory load estimation. in
Proceedings of the IEEE Eng. in Med. & Biol Soc., 18th Annual Int. Conf.,
Amsterdam. 1996. Amsterdam.
9. Fisekovic, N. and D.B. Popovic, New controller for functional electrical
stimulation systems. Medical Engineering & Physics, 2001. 23(6): p. 391-399.
10. Willemsen, A.T., F. Bloemhof, and H.B. Boom, Automatic stance-swing
phase detection from accelerometer data for peroneal nerve stimulation. IEEE
Transactions on Bio-Medical Engineering, 1990. 37(12): p. 1201-1208.
11. Tong, K.Y. and M.H. Granat, Virtual artificial sensor technique for functional
electrical stimulation. Medical Engineering & Physics, 1998. 20(6): p. 458-
468.
12. Lötters, J., et al., Design, realization and characterization of a symmetrical
triaxial capacitive accelerometer for medical applications. Sensors and
Actuators A, Physical, 1997. 61(1-3): p. 303-308.
13. Kemp, B., A.J.M.W. Janssen, and B. van der Kamp, Body position can be
monitored in 3D using miniature accelerometers and earth-magnetic field
sensors. Electro encephalography and Clinical Neurophysiology/
Electromyography and Motor Control, 1998. 109(6): p. 484-488.
14. Lötters, J., et al., In-use calibration procedure for a triaxial accelerometer.
Sensors and Actuators A, 1998. 68(1-3): p. 221-228.
15. Kamen, G., et al., An accelerometry-based system for the assessment of
balance and postural sway. Gerontology, 1998. 44(1): p. 40-45.
16. Brown, R.G. and P.Y.C. Hwang, Introduction to random signals and applied
kalman filtering. 1997: John Wiley and Sons. ISBN 484.0-471-12839-2
17. Kalman, R.E., A New Approach to Linear Filtering and Prediction Problems.
Journal of Basic Eng., 1960: p. 35-45.
18. Ferraris, F., U. Grimaldi, and M. Parvis, Procedure for Effortless In-Field
Calibration of Three-Axis Rate Gyros and Accelerometers. Sensors and
Materials, 1995. 7(5): p. 311-330.
19. Ljung, L., System Identification, Theory for the user. 1999: Prentice Hall.
ISBN 0-13-656695-2
20. Mayagoitia RE, N.A., Veltink PH, Accelerometer and rate gyroscope
measurement of kinematics: an inexpensive alternative to optical motion
analysis systems. Journal of Biomechanics, 2002. 35(4): p. 537-542.
21. Bachman, E.R., Inertial and magnetic tracking of limb segment orientation for
inserting humans in synthetic environments. 2000, Naval postgraduate school.

36 Chapter 2
CHAPTER 3

MEASURING ORIENTATION OF HUMAN BODY


SEGMENTS USING MINIATURE GYROSCOPES
AND ACCELEROMETERS
Introduction
Since micromachined sensors such as gyroscopes and accelerometers have become
generally available, human movement can be measured continuously outside of a
specialized laboratory with ambulatory systems. Applications of ambulatory
measurement of human movement include monitoring of activities of daily living
(ADL) [1-7]. In these studies, accelerometers are used to generate a measure of
activity or to identify certain tasks. This enables the study of the effect of certain
treatments. Another application involves measurement of neurological disorders,
either for measuring postural stability [8, 9] or for quantifying affected movement [3,
10]. Furthermore, the availability of gyroscopes and accelerometers has enabled the
assessment of load and loadability during daily life tasks [11-13].

In most of these applications, orientation is an essential quantity to be estimated. If


accelerometers and gyroscopes are to be used for load estimation using inverse
dynamics techniques, the orientation, angular velocity as well as the acceleration of a
segment has to be known. Also the identification of tasks during ADL and the
diagnosis of motor disorders will be simplified when the orientation is known.

3D accelerometer units can be used as an inclinometer in the absence of acceleration.


Under this condition they measure the angle of the sensor unit with respect to gravity
[5, 14-18]. This method is appropriate if the magnitude of the acceleration can be
neglected with respect to the gravity and will therefore give unacceptable errors in
many practical human movement recordings. Furthermore, accelerometer signals do
not contain information about the rotation around the vertical and therefore do not
give a complete description of orientation. The accuracy of inclination estimation can
be increased using a Kalman filter and a model of the spectrum of the acceleration
(chapter 2). It was suggested in chapter 2 that in order to increase the accuracy,
gyroscopes could be used in addition to accelerometers.

A gyroscope measures angular velocity. Change in orientation can be estimated by


integrating the angular velocity according to an algorithm such as given by Bortz or
Ignagni [19, 20]. However, an error in measured angular velocity will result in an
increasing inaccuracy in the estimated orientation. Especially a relatively small offset
on the gyroscope signal will give rise to large integration errors, restricting the time of
accurate measurement to one minute for current commercially available
micromachined gyroscopes. Moreover, if an absolute orientation is required instead of
a change in orientation, a reference orientation has to be obtained at least once during
a recording.

Orientation can be estimated by combining the sensor signals from gyroscopes and
accelerometers. This has already been performed in the automotive field [21] and for
the assessment of human balancing [22]. The design of a filter for estimation of the
orientation of human body segments have been described by Foxlin [23] and
Bachman [24]. Bachman used a filter that relied on accelerometers and
magnetometers for low frequency components of the orientation and used gyroscopes
to measure faster changes of orientation. This method seemed to be robust, although
the performance of the filter has not been investigated. A more detailed description of

Measuring orientation using gyroscopes and accelerometers 39


the signals that are measured may help to further improve this method of orientation
estimation.

In this study a Kalman filter is designed that fuses the information of a tri-axial
accelerometer system with a tri-axial gyroscope system in order to measure
orientation of a human body segment. Body segment orientation obtained with this
3D inertial measurement unit (IMU) was compared with an orientation obtained using
a laboratory bound camera system for lifting tasks and arm tasks. The orientation
error was expressed in an orientation drift component and an inclination error
component.

A model was designed that relates the accelerometer signals to the gyroscope signals.
This model makes assumptions about the gyroscope and accelerometer behavior and
the frequency and magnitude of the acceleration and angular velocity. A Kalman filter
was used to estimate the states of the model in a statistical most-likely sense,
considering the measured signal. The described algorithm was tested by making
recordings in which the subject had to stack a pile of crates.

Design of an optimal filter for orientation estimation

Sensor fusion with a Kalman filter


A complementary Kalman filter [25], [26] was designed to estimate orientation by
combining the three accelerometer and the three gyroscope signals using a model of
the IMU system and relevant signals. The structure of the estimation procedure is
shown in figure 1.

Gyroscope
QZG, Qb, Qθ
signal Gyroscope
system
S
Zˆ G

-
Kalman
filter
θˆ ε , bˆ ε
Accelerometer
signal
S
Zˆ −A
Accelerometer QZA
system

Figure 1: Structure of Kalman filter estimation. Both the accelerometer and the
gyroscope system are used to make an estimate of the global vertical unit vector (Z).
The difference between the two estimates is written as a function of orientation error
( θε ) and offset error ( bε ). A Kalman filter estimates θε and bε using this function,
together with the error covariances of the orientation (Qθ) , offset (Qb) and inclination
estimation (QZG and QZA) . These estimated errors are used to correct the estimated
orientation.

A sensor signal generation model was developed to make two estimates of inclination,
ˆ − ) and one based on the accelerometer signals
one based on the gyroscope signals ( Z G

40 Chapter 3
( Zˆ −A ). The Kalman filter uses an error model in state-space format that relates the
inclination difference, Zˆ −A - Z
ˆ − to errors in orientation, offset and measurement noise.
G
Since the measurement noise terms are unknown, they are only specified by a
covariance matrix. On the basis of this error model and the covariances of the
estimated sensor signal components, the difference zε is attributed to offset and
orientation error.

In the following section, a model describing the sensor output is described that was
used to obtain an inclination estimate from both the gyroscopes and accelerometers.
By considering the effect of uncertain model states on the error of both the gyroscope
and accelerometer based inclination estimate, the error model was derived. The
covariances of the estimated sensor components were found by taking the
expectations of the unknown noise components in the sensor model.

Sensor signal generation model


The sensor is assumed to be attached to a human body segment that rotates and
translates with respect to a global coordinate frame. A model of the measured signals
is based on the following assumptions (fig 2): (a) a gyroscope measures a 3D angular
velocity plus an offset and white measurement noise in the sensor coordinate frame,
(b) the spectrum of the gyroscope offset has a low cut-off frequency in comparison
with the bandwidth of the kinematic signals that are to be measured, (c) a 3D
accelerometer measures acceleration minus gravity and a white noise component, all
in the sensor coordinate frame, (d) the acceleration of a body segment in the global
system can be described as low pass filtered white noise.

vG
wb Offset
yG

GS
ω Strapdown R
integration

GS
Rinit
S
wa G
a Rotate a-Sg yA
Low pass

G
g
-
vA

Figure 2: Model of the relations between the segment kinematics and the measured
gyroscope and accelerometer signals (yG and yA). The gyroscope signal is modeled as
a slowly varying offset plus an angular velocity ω and white measurement noise vG .
The relation between angular velocity and orientation ( GS R ) is described in the box
labeled ‘strapdown integration’. The accelerometer signal is composed of an
acceleration and gravity contribution which are expressed in the sensor frame (Sa-Sg)
plus an measurement noise vector v A . The acceleration of a segment is modeled as
low-pass filtered white noise and the gravity is a constant vector.

Measuring orientation using gyroscopes and accelerometers 41


Using assumption (a), the signals as measured using the gyroscope system (described
by the column vector yG=[yG,x yG,y yG,z]T ) are assumed to be the sum of the angular
velocity vector (ωt), a slowly varying offset vector (bt ) and a three element white
Gaussian noise vector (vG,t). The variation of the offset is assumed to be caused by
slowly changing properties of the sensor, due to mechanical wear, and to temperature
sensitivity.
yG,t = ωt + bt + vG,t (1)

The slow variation of the gyroscope offset (b) is modeled as a realization of a first
order markov process, driven by white Gaussian noise vector wb,t :
bt = bt −1 + w b,t (2)

The three accelerometer signals are modeled as the sum of the linear acceleration
vector (at), the gravity vector (g) and a white Gaussian noise signal (vA).
y A,t = S at − S gt + v A,t (3)
In (3), a superscript S is used to indicate vectors that are expressed in the sensor
coordinate system.

The acceleration was modeled as a first order low-pass filtered white noise process
according to
G
at = ca ⋅ G at −1 + w a,t (4)
Where ca is a constant that determines the cutoff frequency. The superscript G is used
to denote a vector that is expressed in the global coordinate system.

A strapdown integration algorithm calculates the change in orientation from an


angular velocity signal. The word strapdown means that the angular velocity is
obtained using gyroscopes strapped to an object. A number of integration methods
have been described [19, 20, 27, 28]. The orientation of the sensor with respect to the
global coordinate frame is expressed with a rotation matrix, containing the three unit
column vectors of the global coordinate system expressed in the sensor coordinate
system (5).
T
GS
R = éSX S
Y S
Zù (5)
ë û

The acceleration in the global coordinate frame (4) is related to the measured
acceleration in the sensor coordinate frame (3) through the axes transformation (6).
G
at − G gt = GS
Rt ⋅ ( S
at − S gt ) (6)

Inclination estimation based on sensor model


The sensor model was used to make two estimates of the inclination, one on the basis
of the 3D gyroscope signals and one on the basis of the accelerometer signals. Fig 3
describes the estimation procedure. The inclination was defined as the estimate of the
vertical direction by the IMU. Because the global Z-axis was defined in vertical

42 Chapter 3
direction, the inclination was expressed as S Zt , the Z-axis of the global coordinate
system expressed in the sensor coordinate frame.

The offset, angular velocity and acceleration are estimated using (2), (1), (3), (4) and
setting unknown white noise components wb,t, vG,t vA,t and wa,t to zero. The estimated
ˆ t− ) and the estimated orientation at the previous timestep ( GS R
angular velocity ( ω ˆ+ )
t −1
are then used to calculate the current orientation according to the algorithm proposed
by Ignagni [20]. The third row of the resulting rotation matrix (5) gives the inclination
based upon the gyroscope signals ( S Z ˆ − ).
g ,t
A hat on top of a symbol denotes an estimate, a minus superscript the a priori estimate
that is made using the sensor model and a plus superscript an estimate that is made
after correction by the Kalman filter.

GS
Rˆ t+−1 S
Zˆ G

,t
yG,t + Strapdown
Integration
ˆ t−
ω
-
bˆ t+−1 GS
Rˆ t−
yA,t
G ˆ+
G ˆ−
at
S
Zˆ −A,t
at −1 Rotate
S ˆ−
at Normalize
ca
-
Figure 3: Diagram describing the estimation of the inclination of a human body
segment based on the the gyroscope system (ZG) and based on the accelerometer
system (ZA) using the sensor signals, the previously estimated states and the model
described in figure 2. The angular velocity ( ω ˆ t ) is estimated by subtracting the
estimated offset from the gyroscope signal (yt). A strapdown integration algorithm is
used to estimate the change in orientation( GS Rˆ − ) and the inclination ( S Z
ˆ − ). The
t G ,t
orientation is used to estimate the acceleration in the sensor coordinate system,
enabling a measurement of inclination based on accelerometers ( S Z ˆ − ).
A,t

The inclination estimated from the accelerometer is made by subtracting the predicted
acceleration ( aˆ t− ) from the accelerometer signal to obtain the gravity vector. The
gravity estimate is normalized and reversed in order to obtain an estimation of the
ˆ− .
inclination S Z A,t
S −
S ˆZ − = y t − aˆ t (7)
A
y t − S aˆ t−

Measuring orientation using gyroscopes and accelerometers 43


Filter structure
A Kalman filter uses a state space representation to model the relation between errors
in estimated model variables ( xε ) and the error in the inclination predicted by the
model (8). This relation is called an error state model.
xε ,t = Α ⋅ xε ,t −1 + w t
(8)
zε ,t = C ⋅ xε ,t + vt
wt and vt are Gaussian white noise processes specified by covariance matrices Qw,t
and Qv,t , respectively. The measurement difference vector zε is formed by the
difference between the gyroscope and accelerometer inclination estimates.
z = SZ ˆ − SZ ˆ (9)
ε ,t A G
A difference in the two inclination estimates is caused by prediction errors. The two
most important factors causing an inclination error are incorporated in the error state
vector xε which is estimated using the Kalman filter (10). The first factor is the
orientation error at the previous timestep, since this orientation is used as a starting
point to obtain the next orientation by strapdown integration. The second factor is the
gyroscope offset error, since already a small offset error causes a dramatic effect on
the estimated orientation.
T
xε ,t = éëθε ,t −1 bε ,t ùû (10)
The orientation error is defined as the angle and direction over which the actual sensor
coordinate frame has to be rotated in order to coincide with the estimated sensor
coordinate frame. It is expressed by θε , which has a magnitude that equals the angle
of rotation whereas the rotation axis is given by the direction of θε . In order to use
the Kalman filter to make an estimate of the error vector xε , the matrices A and C
and the covariance matrices Qw and Qv are derived.

Matrix A and noise w describe the propagation of the a priori error state vector xε .
They were found by considering the effect of unknown system components on the
error state. Matrix C and noise v describe the relation between the error states and the
Kalman filter input zε . They were found by considering the effect of an offset and
orientation error on the inclination estimate. The covariances Qv and Qw were derived
by taking the variances of v and w.

Error propagation
The offset prediction error is denoted by bˆ ε−,t −1 and can be found by substituting the
prediction of the offset in the offset model (2).
bε−,t = bˆ t− − bt
(11)
+
= bε ,t −1 − w b,t
For small errors, the relation between the actual and estimated orientation is given by
(12) [19]
GS ˆ
R = GS R ⋅ ( I + [θε ×]) (12)

The matrix cross product operator is given by:

44 Chapter 3
é 0 −a z a y ù
ê ú
[ a ×] = ê a z 0 − a x ú
ê −a y ax 0 úû
ë
The orientation after one integration step is found by considering a first order
approximation of a strapdown integration step:
GS ˆ − ˆ + + GS R ˆ + ⋅ éTω − ù
R t = GS R t −1 t −1 ë ˆ t ×û (13)

where T is the sampletime. An expression for the angular velocity estimate ω ˆ t− was
found by substituting the gyroscope output (1) and the expression for the offset error
(11) into the definition of the angular velocity error:
ωˆ ε−,t = ωˆ t− − ωt
(14)
= w b,t − bε+,t −1 + vG,t
By substituting the angular velocity estimation and the orientation estimation (13) and
neglecting products of errors the estimated orientation is given by:
GS ˆ −
( ( ë ) )
R t ≈ GS R t ⋅ I + é θε+,t −1 − Tbε+,t −1 + Tv G ,t ×ù
û
(15)

Finally by comparing (15) with (12) it follows that the error propagation θε ,t is
described by:
θε−,t = θε+,t −1 − Tbε+,t −1 + Tv G ,t (16)

The matrix A of (8) describes the propagation of the a priori error state vector xε .
Considering (16) and (11) it can be found that the a priori expected errors bε−,t and
θε−,t do not depend on previous a priori estimated states bε−,t −1 and θε−,t −1 . This means
that knowledge about previous errors is incorporated in the current estimate and that
there is no correlation left between the a priori estimate errors between two timesteps.
Therefore the A matrix equals the zero matrix.

Relation between filter input and error states


The error of the gyroscope based inclination estimate was obtained in the same way as
the error in the orientation estimate (15), yielding:
S ˆ−
ZG,t ≈ Z t + S Zˆ t −1 × θε+,t −1 − T S Zˆ t −1 × bε ,t + T S Zˆ t −1 × vG,t (17)
The error of the accelerometer-based inclination estimate ( S Zˆ , (7)) depends on the
A
error in estimated acceleration expressed in the sensor coordinate frame and the
accelerometer noise. The error in predicted acceleration in the global coordinate frame
was found by comparing the real acceleration with the estimate, using (4).
G −
aε ,t = G aˆ t− − G at
(18)
= ca ⋅ G aˆ ε+,t −1 − w a,t
In order to obtain the acceleration error in the sensor coordinate frame, relation (6)
was applied using the acceleration error estimate (18) and orientation estimate (12).
The resulting error is both caused by an orientation error as well as an error in global
acceleration estimate (19).

Measuring orientation using gyroscopes and accelerometers 45


S
aε ,t = S aˆ t− − S at
(19)
= ca ⋅ S aε ,t −1 − S w a,t + S aˆ t− × θε ,t
Then the accelerometer based inclination estimate can be found using expression (7),
where y is given by (3):
S ˆ−
Z A,t = Zt +
1 S −
g
(
− aˆ t × θε ,t − ca ⋅ S aε ,t + S w a,t + v A,t (20) )
In (20), the magnitude of the accelerometer output vector was approximated by the
gravitational constant g and products of errors are neglected.

The relation between the inclination difference and the filter states (8) was found by
substitution of (17) and (20) into (9) and using the matrix format of the cross product
in order to obtain the relation as a matrix multiplication.
zε ,t = S Zˆ A − S Zˆ G

= ( S
)
Zˆ t −1 − S aˆ t− × θε ,t + T S Zˆ t −1 × bε ,t +
1
g
( S
)
w a,t − ca ⋅ S aε ,t + v A,t − S Zˆ t −1 × T ⋅ vG,t

ìθ üï
ï
= C ⋅ í ε ,t ý + vt
îïbε ,t þï
(21)
with C a 3×6 matrix, consisting of two 3×3 cross product matrices.

{(
C = é Zˆ t − S aˆ t− ×ù éëT ⋅ Zˆ t ×ùû
ë û ) } (22)
The noise term vt is described by the third and fourth term of (21):
vt =
1 S
g
(
w a,t − ca ⋅ S aε ,t + + v A,t − S Zt −1 × vG,t ) (23)

Covariance matrices
The error covariance matrix (Qw,t) of the noise term w in the error propagation part of
the Kalman filter (8) can be obtained using the knowledge that the matrix A equals
the zero matrix. Therefore the error covariance matrix can be found by taking the
variance of the error propagation equations (11) and (16).

Q w,t = ê (
é E θ − ⋅ θ−T
ε ,t ε ,t ) ( ú =ê
)
E θε−,t ⋅ bTε ,t ù éQ + + T 2Q + + T 2Q
θ ,t −1 b ,t −1 vG T 2Qb+,t −1 ù
ú
ê
êë E b −
ε ,t(⋅ θ −T
ε ,t E b −
ε ,t) (
⋅ b −T ú ê
ε ,t úû ë ) T 2 +
Q b,t −1 Q +
b ,t −1 + Q bú
û
where Qθ+,t −1 and Qb+,t −1 are the a posteriori error covariance matrices of the
orientation and offset at the previous timestep. Qb is the covariance matrix of the
offset noise wb and QvG is the gyroscope noise covariance matrix.

Taking the covariance of the noise term (23) yields:


1
(
Qv,t = 2 ca2 ⋅ Q +a,t −1 + Q wa + Q va + QvG
g
) (24)

With Q a+,t −1 the a posteriori acceleration error covariance matrix, Q wa the covariance
matrix of wa,t and Qva the covariance of the measurement noise vector v A,t . The last

46 Chapter 3
term of (24) was found by assuming that the gyroscope noise variance is equal in the
x-y- and z direction. In this case the noise covariance matrix does not change when
the noise is expressed in a different reference system.

Experimental Methods
An inertial measurement unit (IMU) was constructed by mounting three vibrating
beam gyroscopes (Murata ENC05) and three piezo resistive accelerometers (AD
XL05) perpendicularly to each other in a 30×20×50 mm3 box. These sensors were
calibrated according to Ferraris et al. [29] to obtain the gains and offsets of both the
accelerometer and gyroscopes.

A measurement of gyroscope and accelerometer offset fluctuation was carried out to:
a) identify the parameter for gyroscope offset change wb and b) validate the
assumption that the accelerometer offset does not change during a measurement. It
was assumed that the major factor influencing the offset is the temperature. Therefore,
the effect of temperature on gyroscope and accelerometer offset was measured by
cooling down two IMU’s in an oven from 40 to 20 degrees celcius in a time period of
3 hours. This was done by laying the sensor on six different sides, enabling to
measure both the gyroscope as well as the accelerometer offset dependence on
temperature. A practical value for gyroscope offset variation w b could be estimated
by taking the time derivative with respect to temperature at 30 degrees celcius. A
value for the error in accelerometer offset during a measurement on a subject was
obtained using the change in output from 20 to 30 degrees celcius, since this was
assumed to be a typical temperature step while mounting a calibrated sensor on a
body segment.

The algorithm was tested by comparing the orientation as calculated by the Kalman
filter to the orientation that was obtained by a laboratory bound 3D human motion
tracking system Vicon. Three markers on 0.10 m. carbon fiber sticks on a pvc holder
were securely attached to each sensor box in order to measure the sensor orientation.
The IMU was placed on the pelvis, trunk and fore-arm. Tasks that were performed
were: lifting crates, mimicking eating and mimicking typical morning routine tasks.
For the crate lifting tasks the IMU was placed on the dorsal side of the pelvis and
between the shoulder blades at the height of the T10 vertebra (fig. 4). The z-axis of
the pelvis and trunk IMU pointed cranially and the y axis laterally to the left. The
forearm IMU was placed on the dorsal side of the wrist, with the y-axis of the IMU
unit along the arm, pointing in proximal direction, and the z-axis in dorsal direction.
Gyroscope and accelerometer signals were sampled with 100Hz. and recorded with a
portable datalogger.

Measuring orientation using gyroscopes and accelerometers 47


Figure 4: Sensor placement on the back on the trunk. The IMU is placed at the T4/T5
level just left of the spine in order to mount the IMU on a flat surface. Three reflective
markers were placed on the sensor box in order to measure the reference orientation
of the accelerometer using the Vicon optokinetic measurement system.

The first task is a lifting task. A stack of 6 empty beer crates was placed in front of the
subject. The subject was asked to move the crates one by one from one stack to build
a new stack one meter away. Once the new stack was completed, the routine was
reversed. This was repeated for the duration of the trial. 10 recordings were made at
different lifting speeds. The pace of crate stacking was dictated by a metronome.
Time intervals between the handling of two crates were 1.5 s and 2 to 7 s. with steps
of 1 s. In addition two trials were performed at a pace of 3.5 seconds per crate since
this was experienced a comfortable lifting speed.

The second task consisted of three trials of 90s in which the subject was asked to
mimic eating. It consisted of the subsequent sessions of the following activities:
pouring a glass (10 s), eating soup (20 s), eating spaghetti (20 s), eating meat (30 s),
drinking (10 s). The tasks with morning routines consisted of: pouring water on face
and drying it using a towel (10s), applying deodorant (10 s), buttoning a blouse (10 s),
combing hair (20 s), brushing teeth (30 s).

Prior to and after each recording, the subject was asked to stand still for four seconds.
The gyroscope signals that were recorded in this interval were averaged to yield the
initial offset. Experiments were performed on two healthy subjects. The first subject
(male 29 yr.) performed the lifting task and the second (female, 28 yr.) performed the
eating and morning routine tasks. Both subject signed an informed consent prior to the
measurement.

Before using the Kalman filter, the model parameters were estimated. The sensor
noise variances QvA and QvG were found by taking the variance of the sensor signal
while the sensor was lying on the ground. The acceleration parameters ca and Q a were
estimated by expressing the accelerometer signal, measured during a representative
crate lifting trial, in the global coordinate frame and subtracting the gravity, using the
orientation obtained from the Vicon system. The parameters ca and Q a were
estimated using a least squares fitting algorithm (Matlab System Identification
Toolbox).

48 Chapter 3
The ability of the filter to estimate the gyroscope offset was tested by adding an error
of 1 rad/s to each of the gyroscope channels during off line analysis and determining
the offset error at the end of each trial after applying the Kalman filter.

The quality of the orientation estimation was described by the angle θε , expressed in
the global coordinate system. It was split into an inclination and a heading part. The
first two elements of θε define the inclination, which can be visualized as the angle
the estimated Z-axis makes with the real Z-axis. The heading, defined by the third
component of θε can be conceived as that part of the orientation that describes the
rotation around the vertical.

Results

Accuracy of the reference measurement system


The accuracy of the reference measurements performed with the Vicon system
depends on the accuracy of the position measurement of the markers and on the
accuracy of the marker-sensor orientation estimate. The accuracy of the position
measurement was estimated by considering the distance between two markers. The
standard deviation of the fluctuation in measured distance was 1 mm. This
corresponds to a standard deviation in measured orientation of less than 1 degree.
The orientation of the marker frame with respect to the sensor coordinate frame was
obtained using the accelerometer output vector during two moments in which the
IMU was put in a different orientation. Fluctuation of accelerometer offset may cause
an error in sensor to marker orientation. Using the temperature experiments, the offset
change of six accelerometers after a temperature step from 20 to 30 degrees was 0.2
ms-2 on average (s.d. 0.2 ms-2). An offset error of 0.2 ms-2 corresponds to an angle
error of 1.1 degrees. It was assumed that these were the largest sources of error of the
reference system.
A.
4
x
2 y
uG z
[rads-1]
0

-2

-4
0 1 2 3 4
time [s]
B. 20

uA 10
[ms-2]
0

-10

-20
0 1 2 3 4
time [s]
Figure 5: Measured sensor signals during a one crate lift. The sensor is attached
to the trunk. A: gyroscope output vector, B.: accelerometer output vector. The
accelerometer magnitude is represented by the thick line.

Measuring orientation using gyroscopes and accelerometers 49


Parameter identification
An example of a gyroscope and accelerometer recording is given in fig 5. Shown are
the signals of a sensor on the trunk during the lift of one crate, involving flexion as
well as lateroflexion. It can be seen that the z-component of the accelerometer output
is close to 1g at the beginning and end, indicating an upright posture. As soon as the
movement starts the magnitude of the accelerometer output vector differs from 1g,
indicating an acceleration.
Static measurement with the sensor on the ground for obtaining gyroscope and
accelerometer noise resulted in an RMS of 0.01 rad/s and 0.1 m/s2, respectively. The
temperature tests indicated that the temperature dependency of the gyroscope offset
was 2 deg/s/oC (s.d. 1) for six gyroscopes. Assuming a temperature change of less
than 1 oC per minute for laboratory experiments, this corresponds to an offset change
per timestep wb of 0.3⋅10-3 deg/s.

The parameters ca and the standard deviation of the acceleration white noise term wa
were identified and are shown in table 1 for a few tasks. A lower ca means that the
accelerometer has a higher bandwidth, a higher ca means a lower bandwidth. While
testing the Kalman filter, it appeared that a low ca of 0.6 and an standard deviation of
each component of wa of 0.4 ms-2 gave good results. The reason that these values
were better than those listed in table 1 is that low-frequent components are over-
estimated with the identified values.

Task Segment ca s.d.wa [m/s-2]


Slow crate lifting pelvis 0.77 0.2
Slow crate lifting trunk 0.89 0.2
Fast crate lifting pelvis 0.85 0.5
Fast crate lifting trunk 0.97 0.7
Morning routine forearm 0.94 0.6
Eating routine forearm 0.90 0.6
Table 1: Parameters that describe the
acceleration, as identified using a least squares
parametric identification of a first order markov
process.

Filter performance
The analysis of the quality of the filter estimates was separated in an orientation and
an offset estimation part.

An example of the filter performance during a crate lifting trial s shown in figure 6.
The error of the orientation obtained using the filter was compared to the integration
method described by Bortz [19]. The error was defined as the magnitude of the
orientation error vector. It can be seen that the orientation error as obtained by
integrating the gyroscope signal is larger than the error of the Kalman filter estimate.
The reason that the slope of the orientation error is close to zero at the start and end of
the trial is because the gyroscope offset was determined at these points.

50 Chapter 3
200
Orientation
error [deg] Strapdown integration
150

100

50 Kalman filter

0
0 20 40 60 80 100 120 140 160
Time [s]

Figure 6: Example trial of orientation error during a crate lifting trial. Orientation
error is defined as the angle over which the computed sensor frame has to be rotated
in order to coincide with the actual sensor frame.

The magnitude of orientation drift was defined as the time derivatives of the
orientation error. The heading drift was defined likewise as the time derivative of
change in heading error. The average orientation and heading drift over several trials
is given in figure 7. Using paired t-tests with a 5% significance level it was found that
the orientation errors from the Kalman filter are significantly smaller than the errors
obtained by integration alone. However, the heading errors from the Kalman filter are
not significantly different from the heading errors from the strapdown integration
algorithm.

Orientation 2.5
and heading 2 Kalman filter
drift [deg/s]
1.5
Gyroscopes

0.5

0
orientation heading orientation heading orientation heading
Pelvis Trunk Forearm
Figure 7: Heading and orientation drift when using the Kalman filter as compared to
strapdown integration of the gyroscope signals only. The drift of estimated orientation
during a trial was obtained by taking the time derivative of the orientation and
heading error. The inclination of pelvis and trunk were obtained during a crate lifting
task (Number of measurements=10) and the inclination of the fore-arm was obtained
from three morning and three eating routines.

The rms value of the inclination error during different tasks is shown in figure 8. For
three tasks, the inclination as computed with the Kalman filter is compared to the
inclination that is obtained by low-pass filtering the accelerometer signals and
applying (7). The low-pass filter is a 4th order butterworth filter with a 5 Hz. cutoff
frequency. The Kalman filter performed significantly better than the method without
Kalman filter (paired t-test).

Measuring orientation using gyroscopes and accelerometers 51


15
Kalman filter
10 Accelerometer
RMS of
inclination error
[deg] 5

0
Pelvis Trunk Forearm
Figure 8: The rms value of the inclination error for three types of movements as
obtained using the Kalman filter and using the accelerometer as an inclinometer.
The inclination of pelvis and trunk were obtained during crate lifting tasks
(Number of measurements=10) and the inclination of the fore-arm was obtained
from three morning and three eating daily routines.

In order to test the robustness of the filter for the speed of movement, the influence of
the lifting speed on the inclination error was determined (fig. 9). A linear regression
was made between the lifting speed and inclination error. The slope was significantly
different from zero and the correlation coefficient was 0.77 for the Kalman filter and
0.95 for the method only using the accelerometer. Especially at high lifting speeds,
the Kalman filter shows a considerable improvement over using accelerometers as
inclinometers.
8
Accelerometer
Inclination error [deg]

4
Kalman

0
0 0.2 0.4 0.6
Lifting speed
[Numer of crates stacked per second]
Figure 9: Inclination error as a function of lifting speed for inclination obtained
using accelerometer and Kalman filter, along with the 95% confidence intervals.

Gyroscope offset estimation


The time required for the filter to estimate the offset was tested by off-line processing
of the sensor signals using an initial offset error, artificially added to the gyroscope
signals during prior to applying the Kalman filter. The offset error at the end of the
measurement is then used as a measure for the ability of the filter to estimate the
offset.

52 Chapter 3
15
S.d. offset
Offset
[deg] 1
[deg]
10
bZ
5 bx
bx
by
0
by
bz
-5 0.975
0 100 200 0 100 200
time [s] time [s]
Figure 10: Example of offset estimation of trunk sensor during a crate lifting trial.
Initial offset error was 10 deg added to the x-gyroscope. The left graph shows the
offset error, whereas the right graph shows the offset s.d., estimated by the filter. The
offsets of gyroscopes in the horizontal plane can only be estimated on the basis of
inclination information from the accelerometer. The y-gyroscope points laterally and
is, most of the time, approximately in the horizontal plane. Therefore the offset on the
y-gyroscope wass estimated more accurtely than the x and z offsets.

An example of the gyroscope offset estimation during a crate lifting experiment is


given in figure 10. The decline in offset that is estimated using the Kalman filter is
presented using an initial offset error of 10 deg. Fig 10 also gives the standard
deviation estimated by the Kalman filter. These are the square roots of the three
diagonal elements of Qb+,t . Since the accelerometer gives an estimate of the
inclination, merely the gyroscope offset of gyroscopes with their sensitive axes in the
horizontal plane can be corrected. This is also shown in the standard deviation graph.
Since the y-axis points in lateral direction during the entire trial, the y component of
the offset has the smallest covariance at the end of the trial.

The offset estimation was tested for the lifting experiments (N=10) with the sensor on
the trunk and pelvis as well as on the eating and morning routine tasks together (N=6)
for the sensor on the fore-arm. The remaining offset error after 120 seconds is shown
in figure 11. From the figure it can be seen that for crate lifting tasks the estimation of
the offsets in the sensor z-axis is most difficult. This is because the z-axis of the
sensor coordinate frame is predominantly vertical during these trials.

Measuring orientation using gyroscopes and accelerometers 53


Offset 15 15 15
[deg]

5 5 5

0 0 0
X Y Z X Y Z X Y Z
Pelvis Trunk Fore arm
Figure 11: Offset estimation after a trial of 120 seconds. Each trial was filtered using
an initial offset error of 1 rad applied to the x,y and z-axis subsequently. Left plot:
The offset error of the IMU on the pelvis during a lifting experiment. Middle: Offset
error of the IMU on the trunk in a lifting experiment. Right graph: Offset error of the
IMU on the arm, morning routine tasks.

Discussion
Considering figure 7 and 8 it can be concluded that the orientation drift of the
examined trials processed using the Kalman filter can almost completely be attributed
to heading error. This is in accordance with the notion that the accelerometer signal
only contains information about inclination and not about heading. In theory, the
heading drift from the Kalman filter could be smaller than the heading drift of
strapdown integration, because the Kalman filter estimates the offset in three
directions. However, the heading errors obtained with the Kalman filter and with the
strapdown integration appeared to be almost the same. In terms of the model (fig 2),
this would mean that the offsets are not sufficiently observable to effectively reduce
the heading drift. This is in accordance with the finding that the offset estimation is
especially difficult for the gyroscope that is mostly in vertical direction (figure 11).

For applications in which the heading is important, additional sensors or assumptions


are required. For example, biomechanical constraints on the joints between segments
can be used. This method could only result in an accurate orientation between two
segments. Magnetic field sensors may make the heading observable [24], but have the
disadvantage that they are difficult to use in the vicinity of ferromagnetic metals.

If the inertial sensing unit is to be used during measurement of activities of daily


living, the temperature may fluctuate more than in the laboratory, resulting in
considerable errors because of offset fluctuation. In this case, the offset errors shown
in figure 11 will be realistic, and will give large errors in orientation estimates. The
Kalman filter described in this article has a limited ability to track these offset
changes.

The gyroscope offset estimation could be improved using a better spectral model for
the acceleration signal. In this study the acceleration was modeled as a low pass
realization of a white noise signal. Therefore the Kalman filter will assume low-
frequency components in the acceleration. In practice however, a segment will never
accelerate in the same direction for more than a few seconds. Therefore the
acceleration will have a band-pass spectrum [Chapter 2]. If the acceleration spectrum
is modeled as a band-pass spectrum, the overlap of the acceleration and gyroscope

54 Chapter 3
offset spectra will be less. This makes it easier for the filter to distinguish between
both. A disadvantage of this method is that more assumptions restrict the general
applicability of the filter.

Adding the acceleration to the state vector will not largely improve the filter
performance, while it will significantly increase computational burden. Because the
acceleration is only moderately correlated in time, an accurate estimation of
acceleration at one time step will not be of large influence on the next time step.

Contrary to what could be expected, the orientation and heading drift of the forearm
during eating and morning routine tasks is less than those of the pelvis during crate
stacking, although the rotations and accelerations are larger. This may be attributed to
the fact that different sensor modules were placed on different segments. Since not all
gyroscopes are equal, a plausible explanation would be that coincidentally the arm-
sensor performed better than the pelvis sensors.
This means that the heading drift is determined by the quality of the sensors and to a
lesser extent by the conducted task.

The most important effect of the Kalman filter is the ability to estimate inclination.
The inclination error is not only dependent on the gyroscope noise and offset but also
on the acceleration. The inclination errors for different tasks (fig 8) give an indication
of the effect of the Kalman filter. These errors are within the specifications required
by most applications.

Because of the heading drift, the proposed Kalman filter will only be useful for long
measurements if only an accurate inclination is required. There are, however, many
applications which require only short measurements or for which the heading is not
important. A Kalman filter for estimating inclination merely using accelerometers was
described in chapter 2. For measuring trunk and pelvis inclination during lifting tasks,
the rms value of the inclination error obtained using the Kalman filter for
accelerometer signals only was in the same order as when using accelerometers and
gyroscopes. This means that for these tasks the relatively heavy and power consuming
gyroscopes could be omitted. The advantage of applying gyroscopes, however, is that
angular velocity and a short term estimate of total orientation is available.

References
1. Moe-Nilssen, R., A new method for evaluating motor control in gait under real-
life environmental conditions. Part 1: The instrument. Clinical Biomechanics,
1998. 13(4-5): p. 320-327.
2. Sekine, M., et al., Classification of waist-acceleration signals in a continuous
walking record. Medical Engineering & Physics, 2000. 22(4): p. 285-291.
3. Alusi, S.H., et al., A study of tremor in multiple sclerosis. Brain: a Journal of
Neurology, 2001. 124(4): p. 720-730.
4. Bouten, C.V.C., Koekkoek, K.T.M., Verduin, M., Kodde, R., Janssen, J.D., A
Triaxial Accelerometer and Portable Processing Unit for the Assesment of Daily
Physical Activity. IEEE Transactions on biomedical eng., 1997. 44(3): p. 136-
147.
5. Busser, H.J., et al., Method for objective assessment of physical work load at the
workplace. Ergonomics, 1998. 41(10): p. 1519-1526.

Measuring orientation using gyroscopes and accelerometers 55


6. Foerster, F., M. Smeja, and J.U. Fahrenberg, Detection of posture and motion by
accelerometry: a validation study in ambulatory monitoring. Computers in
Human Behavior, 1999. 15(5): p. 571-583.
7. Uswatte, G., Objective Measurement of Functional Upper-Extremity Movement
Using Accelerometer Recordings Transformed With a Treshold Filter. Stroke,
2000. 31: p. 662-667.
8. Perennou, D.A., et al., The polymodal sensory cortex is crucial for controlling
lateral postural stability: evidence from stroke patients. Brain Research
Bulletin, 2000. 53(3): p. 359-365.
9. Nouillot, P., M.C. Do, and S. Bouisset, Are there anticipatory segmental
adjustments associated with lower limb flexions when balance is poor in
humans? Neuroscience Letters, 2000. 279(2): p. 77-80.
10. Liu, X., et al., Frequency analysis of involuntary movements during wrist
tracking: a way to identify ms patients with tremor who benefit from
thalamotomy. Stereotactic and Functional Neurosurgery, 2000. 74(2): p. 53-62.
11. Moe-Nilssen, R., A new method for evaluating motor control in gait under real-
life environmental conditions. Part 2: Gait analysis. Clinical Biomechanics,
1998. 13(4-5): p. 328-335.
12. C.T.M., B., et al. Inertial Sensing in ambulatory load estimation. in Proceedings
of the IEEE Eng. in Med. & Biol Soc., 18th Annual Int. Conf., Amsterdam. 1996.
Amsterdam.
13. van den Bogert, A.J., L. Read, and B.M. Nigg, A method for inverse dynamic
analysis using accelerometry. Journal of Biomechanics, 1996. 29(7): p. 949-
954.
14. Bussmann, J.B.J., et al., Ambulatory accelerometry to quantify motor behavior
in patients after failed back surgery: a validation study. Pain, 1998. 74(2-3): p.
153-161.
15. Kemp, B., A.J.M.W. Janssen, and B. van der Kamp, Body position can be
monitored in 3D using miniature accelerometers and earth-magnetic field
sensors. Electroencephalography and Clinical Neurophysiology/
Electromyography and Motor Control, 1998. 109(6): p. 484-488.
16. Lötters, J., et al., Design, fabrication and characterization of a highly
symmetrical capacitive triaxial accelerometer. Sensors and Actuators A,
Physical, 1998. 66(1-3): p. 205-212.
17. Veltink, P.H., et al., Detection of static and dynamic activities using uniaxial
accelerometers. IEEE Transactions on Rehabilitation Engineering: a Publication
of the IEEE Engineering in Medicine and Biology Society, 1996. 4(4): p. 375-
385.
18. Willemsen, A.T., J.A. van Alste, and H.B. Boom, Real-time gait assessment
utilizing a new way of accelerometry. Journal of Biomechanics, 1990. 23(8): p.
859-863.
19. Bortz, J.E., A new Mathematical Formulation for Strapdown Inertial
Navigation. IEEE Trans. Aerosp. and Elec. Sys., 1971. 7(1): p. 61-66.
20. Ignagni, M.B., Optimal Strapdown Attitude Integration Algorithms. J.Guidance,
1990. 12(2): p. 363-369.
21. Barshan, B. and H.F. Durrant-Whyte, Inertial Navigation Systems for Mobile
Robots. IEEE Tans. on Robotics and Automation., 1995. 11(3): p. 328-342.
22. Baselli, G., et al., Assessment of inertial and gravitational inputs to the
vestibular system. Journal of Biomechanics, 2001. 34(6): p. 821-826.

56 Chapter 3
23. Foxlin, E., M. Harrington, and Y. Altshuler. Miniature 6-DOF inertial system
for tracking HMDs. in Aerosense 98. 1998. Orlando, FL.
24. Bachman, E.R., Inertial and magnetic tracking of limb segment orientation for
inserting humans in synthetic environments. 2000, Naval postgraduate school.
25. Kalman, R.E., A New Approach to Linear Filtering and Prediction Problems.
Journal of Basic Eng., 1960: p. 35-45.
26. Brown, R.G. and P.Y.C. Hwang, Introduction to random signals and applied
kalman filtering. 1997: John Wiley and Sons. ISBN 484.0-471-12839-2
27. Goldstein, H., Classical Mechanics. 2 ed. 1981: Addison Wesley. 672.0-201-
02918-9
28. Jiang, Y.F. and Y.P. Lin, Improved strapdown coning algorithms. IEEE Trans.
on Aerosp. and Elec. Systems, 1992. 28(2): p. 484-489.
29. Ferraris, F., U. Grimaldi, and M. Parvis, Procedure for Effortless In-Field
Calibration of Three-Axis Rate Gyros and Accelerometers. Sensors and
Materials, 1995. 7(5): p. 311-330.

Measuring orientation using gyroscopes and accelerometers 57


CHAPTER 4

AMBULATORY MEASUREMENT OF ARM


ORIENTATION
Introduction
Measurement of the movement of body segments is important in the field of
rehabilitation, medicine and ergonomics. For applications that require that these
measurements are performed outside the laboratory, body mounted sensors like
accelerometers and gyroscopes can be used. Micromachined accelerometers and
gyroscopes are suitable for measuring arm movements, since they are small enough to
be attached to the upper and forearm without obstructing the subject.

The assessment of neurological disorders is often conducted by measuring arm


movements. For example, Beer et al.[1] measured the path of the hand in pointing
tasks for quantifying hemiparesis, Goldvasser et. al. [2]for quantifying ataxia and
Topka et. al. [3] for quantifying dyskinesia. Symptoms of Parkinson’s disease were
measured using accelerometers [4],[5]. Uswatte et. al. [6] used an accelerometer
attached to the arm in order to obtain a measure of arm function during daily life. In
ergonomics, the measurement of arm movement is important for load estimation. The
guidelines given by the National Institute for Occupational Safety and Health
(NIOSH) [7] describe a measure of loadabiliy during lifting tasks. In this case an
important parameter is the distance of a load from the body.

Suitable sensors for ambulatory measurement of human body orientation are


accelerometers, gyroscopes, magnetometers and goniometers. Each of these sensors
have different characteristics, advantages and disadvantages. Micromachined
accelerometers are small, relatively cheap and have a low energy consumption. They
measure acceleration and gravity and can be used as an inclinometer for movements
in which the acceleration can be neglected with respect to the gravity [8]. Gyroscopes
measure angular velocity, which can be used to estimate a change in orientation. The
drawback of gyroscopes is that the estimation of orientation change is prone to
integration drift. Magnetometers are used to measure the local earth magnetic field
vector. This provides additional information about orientation. However, the fixed
magnetic field, and thus the derived orientation, is disturbed in the vicinity of
ferromagnetic metals and by electronic equipment generating magnetic fields.
Another method is to use goniometers, which measure the angle between two joints.
Because goniometers cross a joint, they are vulnerable to breakage. Also the
alignment of the two ends is critical for obtaining reliable results.

Several combinations of the sensors described above have been proposed in order to
overcome the drawbacks of the separate sensors. Kemp [9] combined a tri-axial
accelerometer and a tri-axial magnetometer to measure an orientation. A tri-axial
gyroscope and tri-axial accelerometer were applied by Luinge (this thesis, chapter 2
and 3). Orientation was estimated using a Kalman filter. The change in orientation
obtained using gyroscopes was fused with the inclination measured by the
accelerometers, yielding an inclination estimate that was sufficiently accurate even in
the presence of accelerations. However, the error in rotation around the vertical could
not significantly be reduced. Bachman [10] used magnetometers in addition to
gyroscopes and accelerometers to overcome this problem. However, magnetometers
are not reliable for orientation measurements in a disturbed magnetic field.

All of the systems mentioned above give some measure of orientation. The estimation
of displacement and relative distances on the body still remains a problem. One

Ambulatory measurement of arm orientation 61


method to measure displacement is double integration of acceleration. This will give
huge drift if the acceleration is not known with sufficient accuracy. The accuracy of
the acceleration is not only determined by the quality of the accelerometers, but also
by the accuracy of the orientation estimate. A good estimate of the orientation is
required in order to subtract the gravity from the accelerometer signal and to express
the acceleration in the global reference system. For these reasons, accelerometers can
only supply short-term estimates of position change.

Another method of obtaining displacement between two body segments is to estimate


the orientations of each segment using a multiple sensor system and use anatomical
constraints to link the different segments. This method was applied for measurement
of trunk position with respect to the pelvis, required for the ambulatory measurement
of low back load [11].

In this chapter, a method is described for measuring the orientation of the forearm
with respect to the upperarm using gyroscopes and accelerometers. These orientations
could be the basis for assessing relative positions of the hand with respect to the
shoulder. Initially, the sensor orientation is related to the segment orientation.
Subsequently, the orientation between segments is estimated. The orientation estimate
is based on the algorithm proposed by in chapter 3 as well as on the assumption that
the elbow joint does not permit adduction.

Methods
If the elbow and shoulder can be considered to have one point of rotation, the distance
between the shoulder and wrist can be determined by adding two vectors, describing
the length and direction the upperarm and forearm.
r = G rU + G r F
(1)
= GU R ⋅ U rU + GF R ⋅ F r F
The coordinate system in which the vector is expressed is indicated by the left
superscript, the segment under consideration by the right superscript. The letter U is
used to indicate the upper arm segment and associated coordinate system, F is used
for the forearm. A rotation matrix is used to express the arm vector in the global
coordinate system (G).

The orientation of the upperarm with respect to the forearm was measured using an
inertial measurement unit (IMU) consisting of three gyroscopes and three
accelerometers. The measurement procedure consisted of two stages. First of all, a
sensor to segment calibration was conducted in order to find the orientation of the
inertial measurement unit (IMU) with respect to the segment to which it is attached.
Secondly, the orientations of the upperarm and forearm were obtained using angular
velocity and accelerometer signals described in the segment coordinate frame. The
Kalman filter described in the third chapter of this thesis was used to obtain an
orientation estimate suffering from a slowly increasing heading error. The heading
was defined as that part of the orientation that describes the rotation around the
vertical. Thirdly, heading error between the two segments was minimized using the
knowledge that abduction/adduction of the elbow joint is constrained.

62 Chapter 4
IMU-Segment orientation calibration
An inertial measurement unit attached to a rigid body segment measures signals that
are expressed in the sensor coordinate frame. If these signals are to be expressed in
the coordinate frame of a body segment, the orientation of the IMU with respect to the
segment is required. This orientation was obtained by recording the IMU signals
while the subject performed several predefined movements.

The coordinate systems of the upperarm and the forearm are defined according to van
der Helm et al. [12] as shown in figure 1. The forearm IMU was placed on the dorsal
side of the forearm, near the wrist. The upper arm IMU was placed on the lateral side
of the upper arm near the elbow.

yU

zU
xU
xF

rU
rU F zF
y

Figure 1: The definitions of the segment reference frame. The unit y axes are
defined along the segment, upwards. In anatomical position, the z axes point in
dorsal direction and the x-axes laterally.

The orientation of the IMU with respect to the forearm was found as the subject
performed a pronation-supination movement, while the palm of the hand faced
downwards at the start and end of the measurement. The upper arm was to be held
vertically. It is assumed that the angular velocity during pronation is in the direction
of the y-axis. By holding the palm of the hand downwards, it is assumed that the z-
axis of the forearm coordinate system points in the vertical direction at the beginning
and end of each trial. This vertical direction was measured using the 3D accelerometer
in the IMU.

The orientation of the IMU coordinate frame (S) to the segment coordinate frame (F)
is expressed using a rotation matrix containing the three unit vectors of the forearm,
expressed in the IMU coordinate system:
SF
R = é S xF S y F S z F ù (2)
ë û

Ambulatory measurement of arm orientation 63


The direction of the forearm y-axis can be determined using the direction of the
angular velocity during pronation ( ω Pron ), or the opposite direction of the angular
velocity during supination ( ωSup ):
S ω Pron ωSup
yF = =− (3)
ω Pron ωSup
Likewise the z-axis can be found by measuring the direction of gravity at the start and
end of the trial (4). At the start and end of the trial, the z-axis of the forearm has a
direction opposite to the gravity vector. The accelerometer part of the IMU can be
used to measure this vector.
S F− −g
z = Start (4)
gStart
The x-axis can be found making an orthogonal coordinate system. Because the y and
z axes of the segment are defined by measurements, they may not be exactly
orthogonal due to measurement errors. The direction of the z-axes is particularly
difficult to measure because it is hard to keep the forearm horizontal. In order to
compensate for this, the z-axes is recomputed using the y and x axes to make the
system orthogonal.
SF
R = é S yF × S zF − S yF
ë (S F S F−
y × z ) × S yF − ù
û
(5)

The orientation of IMU with respect to the upper arm was found using the following
movements:
1. Place the elbow on a tabletop and perform a endorotation/exorotation movement.
Assume the rotation axis is the y-axis.
2. Start in anatomical position. Flex the elbow 90 degrees. Then abduct the upper
arm while keeping the elbow fixed. Hold the arm still at the start and end of the
movement. The direction of rotation defines the z-axis.

The procedure used to compute the orientation of the upperarm with respect to the
IMU is the same as for the forearm, except for the determination of the z-axis of the
segment. The direction of the z-axis can be found using the gravity at the start and end
of the abduction movement (6). The gravity vector was measured using the 3D
accelerometer.
S
S U− g Start × S g End
z = (6)
S
g Start × S g End

Holding the elbow flexed during the abduction movement aims to reduce
endo/exorotation of the upper arm. Although the z-axis of the segment could also be
obtained using the gyroscope signals during the movement instead of accelerometer
signals at the start and end of the trial, it was assumed that the latter would yield
more reliable results.

Anatomical constraints in elbow


The elbow of healthy humans admits flexion/extension and pronation/supination.
Abduction/adduction of the elbow is restricted to small angles. Because of this, the y
axis of the forearm will always be in the zy-plane of the upper arm. The adduction
angle γ is defined as the angle between the x-axis of the upperarm and the y-axis of

64 Chapter 4
the forearm minus 90 degrees. In radians this can be approximated using the dot
product:
γ ; xU gy F (7)
A least squares filter was designed to use the knowledge that the adduction angle is
zero, in order to improve the orientation estimate given by the Kalman filter described
in Chapter 3. The structure of the estimation procedure during one timestep is given in
figure 2. Each timestep, the orientation of the upperarm and the forearm is estimated
using gyroscopes and accelerometers according to the method described in chapter 3,
yielding two orientation estimates GU R ˆ − and GF R ˆ − with their variances given by
t t
covariance matrices QθU,t and QθF,t respectively. These orientation estimates are used
to calculate the adduction angle (joint model). The least squares filter estimates the
orientation error in a way that sets the adduction angle to zero. For this purpose a
function relating the orientation errors to an adduction angle is required. Finally, the
ˆ − and GF R
estimated orientation error is used to correct the orientation GU R ˆ −.
t t

GU ˆ ,Q
R GU ˆ + , QU +
R
t −1 θ ,t −1 t θ ,t
Upper arm GU ˆ , QU
R Correct
t θ ,t θˆ Ut

yUt
γˆt
Joint Least
model squares

GF ˆ ,Q
R GF ˆ + , QF +
R
t −1 θ ,t −1 GF ˆ ,QF Correct t θ ,t
Forearm R t θ ,t θˆ tF
y tF

Figure 2: Block diagram of method to estimate orientation of upper- and forearm. The
signals from an inertial measurement unit (IMU) on the upper (U) as well as on the
forearm (F) are used to estimate an orientation GU R t and GF R t with respect to a
global reference frame. The uncertainty in these orientations are given by QθU,t and
QθF,t . Both estimates are used to estimate elbow abduction γ . This angle is assumed
to be zero in healthy persons. A least squares approximation attributes the angle γ
to errors in the orientation estimate ( θˆ Ut and θˆ tF ) . These errors are used to correct
the orientation estimate (denoted by +)

In order for the least squares filter to correct the orientation in a way that sets the
adduction angle to zero, a function will be derived that relates the orientation error to
the adduction angle. An orientation is described by a rotation matrix. The orientation
error is expressed using θ , which has the direction and magnitude the real orientation
of a segment has to change in order to coincide with the estimated orientation. For
small angles an error of the unit x-axis of the upper arm can be described using the
cross product [13]:

Ambulatory measurement of arm orientation 65


xˆ U = xU − xU × θU (8)
Using the relation
T
x × θgy = y gx × θ = y × xgθ = ( y × x ) ⋅ θ
and neglecting products of errors, the relation was found describing the estimated
adduction γˆ as a function of the real adduction γ and orientation errors:
γˆ = G xˆ U g G yˆ F
= ( G U
x − G xˆ U × G θU g )( G F
y − G yˆ F × G θ F )
(9)
= γ − G xˆ U g G yˆ F × G θ F − G xˆ U × G θU g G yˆ F

( ) ( )
T T
G U
=γ − xˆ × G yˆ F ⋅ G θF − G F
yˆ × G xˆ U ⋅ G θU
A small dot is used to describe a matrix multiplication and a larger dot to indicate the
dot product. in order to obtain the orientation errors using a least squares technique,
equation (9) was written as a matrix multiplication and the real γ was set to zero:
T ùì
ï θ üï
G F
é
( ) ( )
T
G U
γˆ = ê xˆ × G yˆ F G U
xˆ × G yˆ F ú íG U ý
ë û îï θ þï
(10)
ìï G θ F üï
= H⋅í ý
G U
îï θ þï
According to Gelb [14], the optimal estimate can be obtained by
ìï G θˆ F üï
í G U ý = K ⋅ γˆ (11)
ïî θˆ ïþ
where K is defined as:
−1
K = Q ⋅ HT ⋅ é H ⋅ Q ⋅ HT + R ù (12)
ë û
and R is the variance of the adduction angle and Q is the covariance matrix,
describing the covariances of the a priori estimated orientation errors:
éQθU,t 0 ù
Q=ê ú (13)
êë 0 QθF,t úû

Experimental methods
The method was tested on one subject by comparing elbow orientations obtained
using the IMU’s with the orientations as determined using a laboratory bound
optokinetic system (Vicon). The following procedure was used: markers and IMU’s
were attached to the upperarm and the forearm (fig. 3). The forearm IMU was placed
on the dorsal side of the forearm near the wrist and the upperarm IMU was placed on
the lateral side of the forearm near the elbow. Sensor to segment calibrations were
conducted. Every movement required for the calibration was conducted five times and
averaged. The subject signed an informed consent prior to measurement.

The subject performed two tasks: mimicking eating routines and mimicking morning
routines. The eating task consisted of the following activities: pouring a glass (10 s),
eating soup (20 s), eating spaghetti (20 s), eating meat (30 s), drinking (10 s). The
morning routines task consisted of: splashing water on face and drying it using a

66 Chapter 4
towel (10s), applying deodorant (10 s), buttoning a blouse (10 s) , combing hair (20
s), brushing teeth (30 s).

Figure 3: Attachment of Vicon markers and inertial sensing units to the


forearm and upperarm. Sensors are adhered to the segment using
double sided adhesive tape and secured using Leukoplast.

The orientation of the upperarm with respect to the forearm was determined using the
described method as well as using the Vicon reference system. The error was defined
as the magnitude of the angle the estimated forearm orientation had to be rotated in
order to coincide with the forearm orientation obtained using Vicon. The resulting
error was compared to the error that was obtained by using the orientation algorithm
in which no relation between upperarm and forearm was assumed (chapter 3). The
orientation of the Vicon marker frame with respect to the segment was obtained using
the same procedure as for the IMU’s.

x z Angular velocity,
2.0
Angular given in IMU
velocity coordinate frame
(rad)
0.0

y
-2.0
0 5 10 15 20
Time (s)
2.0 y Angular velocity in
Angular
upperarm
velocity coordinate frame
(rad)
0.0

x,z
-2.0
0 5 10 15 20
Time (s)
Figure 4: Angular velocity as measured in the coordinate frame of the IMU
during an endorotation/exorotation movement (top graph). This
endorotation/exorotation movement was used to find the y-axis of the upper
arm. The same angular velocity, now expressed in the upperarm coordinate
frame, is given in the bottom graph.

Ambulatory measurement of arm orientation 67


Results
The accuracy of the reference measurements depends on the accuracy of the position
measurement of the markers and on the accuracy of the marker-sensor orientation
estimate. The accuracy of the position measurement was estimated by considering the
distance between two markers. The standard deviation of the fluctuation in measured
distance was 1mm. This corresponds to a standard deviation in measured orientation
of less than 1 degree. Since the orientation of the Vicon marker frame with respect to
the arm was obtained in the same way as the orientation of the IMU with respect to
the arm, the orientation error depends on the accuracy in which the angular velocity
and gravity could be estimated. The accuracy of the angular velocity and gravity will
largely depend on stability of the offset and scale factors of the individual sensor
components. As discussed in chapter 3, the resulting rms error is expected to be in the
order of 1 degree.

The angular velocity in the sensor and segment coordinate frames during
endo/exorotation around the upperarm y-axis is shown in figure 4. The IMU was
placed on the upper arm with the x-gyroscope along the forearm. After determining
the orientation of the IMU with respect to the segment, the angular velocity of the
segment could be expressed in the segment coordinate frame, causing the rotation
around the x-axis to be transformed to an angular velocity around the y-axis.

Orientation without
Morning tasks
error (deg) 80 arm-filter

arm-filter
40

0
0 50 100 140
Time (s) Start Rinsing
brushing toothbrush
teeth

Orientation 40
Eating tasks without
error (deg) arm filter

20
arm filter

0
0 50 Time (s)
100

Figure 5: The error of the orientation of the upperarm with respect to the forearm for
a morning routine task and an eating routine task, obtained using the method
described in the text (arm filter) . The error is compared to the case in which the
orientation is not corrected using the constraint on the abduction angle (without arm
filter).

An example of the performance of the method is shown in figure 5. The error was
defined as the angle about which the estimated orientation of the forearm with respect

68 Chapter 4
to the upperarm has to be rotated in order to coincide with the forearm-upperarm
orientation obtained by the reference system. The error obtained using the method
described in this chapter was compared to the error obtained by the method without
using the elbow constraint, as was described in chapter 3. For the graphs shown in
figure 5, the standard deviation of γ was set to 10 degrees. It can be seen that although
both errors are still considerable, the orientation estimate obtained using the elbow
constraint is much smaller than the orientation estimate that does not use this
assumption.

The assumption that the adduction angle is zero was tested using the video camera
reference system. Figure 6 shows the adduction angle during a morning routine task.
The rms value of the angle was 8 degrees. The least squares algorithm for estimation
of orientation errors requires the specification of R (see eq.(12)), being the variance
of the adduction angle. If R is set close to zero, it is to be expected that the filter will
adjust the orientation such that the adduction angle is close to zero. For the two
measured tasks, the rms value of the calculated adduction angle is plotted for several
values of R (figure 7a). For stricter values of the elbow constraint, the rms of the
estimated adduction angle diminishes. However, this does not necessarily result in a
better orientation estimate, as compared to the Vicon reference measurement (figure
7b).

Elbow 40
abduction
angle (deg) 0

-40
0 50 100 140
Time (s)
40
Elbow
Abduction
angle 0
(deg)
-40

0 50 100 140
Time (s)
Figure 6: Adduction angle as measured using the reference system (top) and inertial
sensors (bottom) during a morning routine task. The adduction angle in the bottom
graph was found using a standard deviation of the elbow abduction angle (square
root of R) of 10 deg.

Discussion
The results clearly indicate that the method to impose anatomical restrictions in the
elbow does in fact improve the estimate of forearm to upperarm orientation. However,
errors are still too large for many practical applications. There are three possible
explanations for these large errors. First of all, the segment calibration may not be
accurate. An error in segment calibration will cause an error in the estimated
adduction axis. Secondly, the assumption of rigid segments with a single well defined
adduction axis may be incorrect. A third explanation for the large errors may be

Ambulatory measurement of arm orientation 69


explained by the effect that the accuracy of the orientation estimate depends on the
task of the upper and forearm.

A.

RMS of adduction angle. (degrees)


20
Morning routines task.
Eating routines task.

15

10

0
Ref. Without 1 2 5 10 20 30
elbow
constraints Standard deviation of estimated γ
(degrees)

B.
RMS of angle error (degrees)

Morning routines task.


Eating routines task.
40

30

20

10

0
Without 1 2 5 10 20 30
elbow
constraints Standard deviation of γ (degrees)

Figure 7. A: RMS of estimated adduction angle during a morning routines trial and
an eating routines trial. The trials were processed for several values of the model
parameter R, the assumed variance of the elbow adduction angle, expressed in the
figure as a standard deviation. For comparison, the RMS of the abduction angle
obtained with the reference frame is given, as well as the RMS for the situation in
which only the gyroscopes and accelerometers are used without assumptions
concerning the elbow angle. The estimated adduction angle is smaller for lower
values of the standard deviation of γ.
B: RMS errors of elbow orientation without and with the application of elbow
constraints at several values of the standard deviation of γ (square root of model
parameter R). The errors were determined with respect to the Vicon reference
orientations.

The described sensor to segment calibration is a practical method to estimate the


orientation of the IMU with respect to the segment, thereby removing the need for an
exact alignment of the IMU on the segment. The movements that are required are
easily performed by most healthy subjects. The adduction axis is described by the axis

70 Chapter 4
perpendicular to the upper arm x-axis and the forearm y-axis. Therefore these are the
two axes which are most important to be determined. Errors in estimated segment
axes will cause elbow flexion and pronation/supination to be conceived as an apparent
elbow adduction. It was not tested whether or not the errors in the proposed sensor to
segment calibration method were structural, nor to what extent the method will be
different for different subjects. A possible improvement of the sensor to segment
calibration could be made by adapting the described least squares method to estimate
the orientation between sensor and segment, instead of the orientation of the upperarm
with respect to the forearm.

An erroneous arm model could also result in orientation estimation errors. In reality,
neither the segments are rigid nor the adduction axes can be described by one single
axis which does not move with respect to the segment [15]. Also, the assumption that
the arm can be described by rigid segments causes errors. Especially the IMU on the
upperarm is difficult to attach rigidly.

The last possible cause for the errors is the limited observability of the upperarm to
forearm orientation using the elbow adduction angle. Inertial sensors as used
according to the method described in chapter 3 give an accurate inclination estimate,
but suffer from a slow integration drift around the vertical. It is this drift in heading
angle that has to be estimated using the elbow constraint. If the adduction axis, which
is the axis perpendicular to the upperarm x-axis and forearm y-axis, is nearly vertical,
a heading error will cause a change in estimated adduction, which can be corrected.
This can be seen in figure 5, where the orientation error increases during the brushing
of the teeth. During this movement, the forearm was almost horizontal, resulting in
orientation drift. As soon as the arm is lowered, the heading angle was adjusted.

The current study demonstrates that the application of the adduction constraint on the
elbow angle can result in considerable improvement in the estimated relative
orientation of upperarm and forearm. General statements regarding accuracy of the
sensor to segment calibration and of the orientation estimate can not be made, because
the method was tested for only two trials on the same subject. However, the results
give an indication of the accuracy which can be expected. It should be noted that
orientation errors in the order of 20 degrees are large for some applications for
example load estimation using inverse dynamics. For other applications such as the
assessment of activities of daily living, the accuracy may be sufficient and therefore
the described segment calibration procedure and orientation measurement method can
attribute to a relevant characterization of arm tasks.

References
1. Beer, R.F., J.P.A. Dewald, and W.Z. Rymer, Deficits in the coordination of
multijoint arm movements in patiens with hemiparesis: evidence for disturbed
control of limb dynamics. Exp. Brain Res, 2000. 131: p. 305:319.
2. Goldvasser D, M.C., Krebs DE, High curvature and jerk analyses of arm
ataxia. Biological Cybernetics, 2001. 14(6): p. 745-752.
3. Topka, H.K., J. Dichgans, J., Coordination of multi-joint arm movements in
cerebellar ataxia: analysis of hand and angular kinematics. Experimental
Brain Research, 1998. 119(4): p. 483-492.
4. Hoff, J.I. and B.J.V. Hilten, A review of the assessment of dyskinesias.
Movement disorders, 1999. 15(5): p. 737-743.

Ambulatory measurement of arm orientation 71


5. Dunnewold, R.J.W., C.E. Jacobi, and J.J. van Hilten, Quantitative assessment
of bradykinesia in patients with parkinson's disease. Journal of Neuroscience
Methods, 1997. 74(1): p. 107-112.
6. Uswatte, G., Objective Measurement of Fnctional Upper-Extremity Movement
Using Accelerometer Recordings Transformed With a Treshold Filter. Stroke,
2000. 31: p. 662-667.
7. Waters, T.R., V. Putz-Anderson, and A. Garg, Applications manual for the
revised NIOSH lifting equation., . 1994, Centers for Disease control and
Prevention. National Institute for Occupational Safety and Health.: Cincinnati.
8. Willemsen, A.T., J.A. van Alste, and H.B. Boom, Real-time gait assessment
utilizing a new way of accelerometry. Journal of Biomechanics, 1990. 23(8):
p. 859-863.
9. Kemp, B., A.J.M.W. Janssen, and B. van der Kamp, Body position can be
monitored in 3D using miniature accelerometers and earth-magnetic field
sensors. Electroencephalography and Clinical Neurophysiology/
Electromyography and Motor Control, 1998. 109(6): p. 484-488.
10. Bachman, E.R., Inertial and magnetic tracking of limb segment orientation for
inserting humans in synthetic environments, . 2000, Naval postgraduate
school.
11. Baten, C.T.M., et al. Ambulatory spinal curvature estimation applying 3D
motion analysis through inertial sensing for use in net spinal moment
estimation. 2002.
12. van der Helm, F.C. and G.M. Pronk, Three-dimensional recording and
description of motions of the shoulder mechanism. Journal of Biomechanical
Engineering, 1995. 117(1): p. 27-40.
13. Bortz, J.E., A new Mathematical Formulation for Strapdown Inertial
Navigation. IEEE Trans. Aerosp. and Elec. Sys., 1971. 7(1): p. 61-66.
14. Gelb, A., Applied Optimal Estimation, ed. A. Gelb. 1999: M.I.T. press.0-262-
57048-3
15. Prokopenko, R.A., et al., Assessment of the accuracy of a human arm model
with seven degrees of freedom. Journal of Biomechanics., 2001. 34: p. 177-
185.

72 Chapter 4
CHAPTER 5

A METHOD TO MEASURE ANGULAR


VELOCITY AND ACCELERATION IN THREE
DIMENSIONS USING A TRIAXIAL SINGLE MASS
INERTIAL SENSOR - A MODEL STUDY
Introduction
Ambulatory measurement of human body movements using inertial sensors has many
applications in medicine, sports and ergonomics [1]. It requires small and light sensor
modules measuring acceleration and angular velocity in 3D. Currently, small and light
accelerometers are available, but current gyroscopes are still uniaxial, have large
power demands and are relatively large and heavy.

An inherently 3D accelerometer and gyroscope has been developed by Kooi et. al.
[2]. The sensor concept was based on a design of a single mass 3D accelerometer
described by Lötters et. al. [3]. The accelerometer consists of a central cubic mass,
suspended by springs in a box. The distance change between the mass and the box,
measured capacitively, is a measure for acceleration and gravity. A 3D gyroscope
function was integrated with this accelerometer design by vibrating the mass. Using
the coriolis effect, the angular velocity can be estimated from the vibration
perpendicular to the actuation direction.

A triaxial sensor based upon one mass has several advantages over a sensor system
consisting of three single axis gyroscopes:
§ Only two actuators and only one mass are required. This saves energy and space.
§ Because of symmetry, the change of sensor properties caused by temperature,
humidity and wear are likely to be diminished. Also, measurement principles can
be used which measure differentially, taking advantage of this symmetry [4].
§ There is no mechanical interference between vibrating masses. When two
gyroscopes, vibrating at almost the same frequency are assembled in one unit,
mechanical interference can affect the gyroscope output.

The objective of this article is to derive a method for simultaneously measuring 3D


acceleration and angular velocity from this single mass inertial sensor. This includes a
procedure for continuous 3D measurement of angular velocity with continuous 2D
actuation. The expected mass displacement due to the coriolis effect was predicted for
realistic sensor parameters as described by Kooi [2].

Methods

Sensor structure
The sensor consists of a cubic mass that is suspended by rubber springs in a housing
(fig. 1). The mass is actuated electromagnetically. As a result of electromagnetic
forces, accelerations, gravity and rotations the mass will move with respect to the
housing. This displacement is measured using capacitor plates. In order to measure
angular velocity and acceleration, the relations between these quantities and the forces
acting on the central mass need to be derived. A sensor model describing these
relations will first be presented.

Sensor model
The central mass was modeled as a point mass suspended in a housing by linear
springs. A free body diagram of the mass is shown in figure 2. Forces acting on the
mass include magnetic forces (fB ), the gravitational force (mg), spring forces (fS) and
damping forces ( f D ).

Measuring angular velocity and acceleration with a triaxial single mass sensor 75
Spring

Mass

Actuator Capacitor
plate

Figure 1: Construction of the sensor (not on scale). A ferromagnetic


cubic mass is suspended by springs in a box. The walls of the box
contain capacitor plates for measuring the distance of the mass with
respect to the box. Two electromagnetic actuators are used to vibrate
the mass.

FD z-axis

FS
C
r y-axis
O

FB
mg
Figure 2: Free body diagram of the central seismic mass. The forces
acting on the mass include magnetic ( FB ), gravitational ( mg ),
damping ( FD ) and the spring forces( FS ).

The spring and damping forces are assumed to act on the centroid and depend linearly
on the displacement vector ( r ) and the velocity vector ( r& ), which can be described
using the 3×3 matrices K and D:
fS = K ⋅ r f D = D ⋅ r& (1),(2)
The origin of the sensor coordinate system is defined as the equilibrium position of
the centroid (C) of the mass in the absence of gravity and magnetic forces. The
direction of the x,y,z axes are defined perpendicular to the faces of the mass. The
displacement of the mass is expressed as the deviation of its centroid from the origin.

Summing forces and applying Newton’s law yields:


mg + f B (t ) + K ⋅ r + D ⋅ r& = maC (3)
Newton’s law applies for an acceleration in an inertial coordinate frame. However, the
displacement of the mass is measured in a rotating and translating coordinate frame.
The relation between the acceleration in an inertial coordinate frame and the sensor
coordinate frame is given by [5]:
aC = aO + && r + 2 ( Ω × r& ) + Ω & × r + Ω × (Ω × r ) (4)
with

76 Chapter 5
aC the acceleration of the centroid with respect to the global coordinate
system.
aO the acceleration of the origin of the sensor frame with respect to the
global coordinate system.
r the position of the centroid with respect to the sensor coordinate
system.
Ω the angular velocity of the sensor coordinate frame.

The third term on the right hand side is the coriolis acceleration, which is used to
measure the angular velocity. For sufficiently high vibration frequencies, the last two
terms in (4) can be neglected because they depend on the small displacement r rather
than its derivative r& .

Substitution of (3) into (4) yields the relation between the mass displacement and the
acceleration and angular velocity.
1 1 1
g+ r + 2 ( Ω × r&
f B (r) + K ⋅ r + D ⋅ r& = a0 + && ) (5)
m m m
If the sensor characteristics (m,K,D) are known and the displacement (r) of the mass
is measured,
eq. (5) contains 3 equations and 6 unknown variables describing acceleration and
angular velocity ( a0 , Ω ). The following sections describe how the acceleration and
angular velocity are obtained.

Method for measuring acceleration and angular velocity


If the electromagnetic actuation is performed at a sufficiently high frequency, mass
displacements are induced at a frequency above the frequency band of gravity and
acceleration, assuming human movement to have limited bandwidth. This knowledge
can be used to separate the components of (5) into an accelerometer part and a
gyroscope part. If both sides of (5) are low-pass filtered, the velocity r& and
acceleration &r& can be neglected with respect to the gravity, position of the mass and
acceleration of the sensor housing, resulting in:
1
g + K ⋅ rL = aO (6)
m
The vector rL denotes the low pass filtered components of r. The resulting relations
describe the output signals of a 3D accelerometer. It can be concluded that even
though the mass is actuated the sensor can still be used as a 3D accelerometer by low
pass filtering the sensor signals.

If the terms of (5) are considered at the actuation frequency, the gravity and sensor
acceleration terms can be discarded and the remaining coriolis term (fc) can be
written as:
fC = −2m ⋅ ( Ω × r&H )
(7)
= m ⋅ &&
rH − K ⋅ rH − D ⋅ r&H − f B
The vectors rH and r&H denote the components of r and r& at actuation frequency,
respectively. The coriolis term can be obtained from (7) if the model parameters are
known, as well as the mass displacement and its derivatives. The angular velocity can
not be written explicitly because multiple values of Ω exists for a coriolis term fC
and mass velocity r&H .

Measuring angular velocity and acceleration with a triaxial single mass sensor 77
Extracting angular velocity
Given the coriolis term fC and the mass velocity r&H at a particular time, only the
angular velocity component perpendicular to the two vectors can be obtained (fig. 3).
Therefore, two time instances with different mass velocity directions must be
considered to derive the total angular velocity Ω . Two time instances with different
mass velocity directions can be generated by actuating the mass out of phase in x and
y directions. The angular velocity at two instants with 90 degrees phase shift are
shown in figure 4. If the mass is in point A, the angular velocity component in the xz-
plane can be measured, if the mass is in point B, the angular velocity component in
the yz-plane can be measured. Combining the two measurements yields the angular
velocity Ω .
ΩII
Ω⊥ Ω

r&H

FC = −2m ⋅ Ω × r&H

Figure 3: The coriolis effect causes an actuation perpendicular to the


angular velocity and the mass velocity. Given a coriolis force FC and
a momentary mass velocity r&H , only the angular velocity component
Ω⊥ perpendicular to these two vectors can be obtained.

path of y
mass
centroid A
z x

rB B rA
Figure 4: Schematic representation of mass centroid trajectory induced by out of
phase electromagnetic actuation in x- and y direction. The coriolis force is
perpendicular to the angular velocity and momentary mass velocity. If the mass is in
A, the angular velocity component in the xz-plane can be measured. Likewise when
the mass is in B, the angular velocity component in the yz-plane can be measured.
Combining the two measurements, the complete angular velocity can be assessed.

78 Chapter 5
This method can be analyzed in the frequency domain by taking a Laplace transform
of (7) at the actuation frequency:
FC = −2m ⋅ ( Ω × sR )
(8)
= é ms 2I − sD − K ù ⋅ R − FB
ë û
I stands for the 3×3 identity matrix and R denotes the Laplace transform of rH . If the
Laplace transform is taken of a signal section for which the angular velocity can be
considered to be constant, the coriolis term FC can be readily obtained by taking the
real and imaginary parts (fig. 3).
ì1 ü ì1 ü
Ω ⊥,Re = Re í FC × ( sR ) ý , Ω ⊥,Im = Im í FC × ( sR ) ý
îm þ îm þ
The values can easily be obtained at the right frequency using a lock-in amplifier.
Using the notion that the nonmeasurable component ΩII ,Re of the angular velocity is
parallel with the mass velocity sR:
Ω = Ω ⊥,Re + α Re {sR}
ì1 ü (9)
= Re í FC × ( sR ) + α sR ý
îm þ
This can be done equivalently for the imaginary parts:
Ω = Ω ⊥,Im + β Im {sR}
ì1 ü (10)
= Im í FC × ( sR ) + β sR ý
îm þ
Relations (9) and (10) consist of 6 equations containing 5 unknowns ( Ω ,α, β) which
can be solved. The relations to calculate the angular velocity are even redundant.

Effect of sensor parameters and actuation frequency


The magnitude of the coriolis force depends on the velocity of the mass. In turn, the
velocity is caused by the sum of the electromagnetic actuation and the coriolis forces.
Since the velocity caused by the coriolis effect is small compared to the actual
velocity, it can be assumed that the coriolis force only depends on the electromagnetic
actuation. Under this assumption, the mass displacement due to magnetic actuation
and coriolis effect can be described by the block diagram of figure 5.

FB RB + R
H(s)
+
sRB FC RC
s -2ω× H(s)
Figure 5: Laplace domain model of the single mass 3D gyroscope: The mass is
vibrated using an electromagnetic force (FB). The relation between FB and vibration
RB is described by the sensor transfer function (H). If the sensor rotates with an
angular velocity Ω, the vibration of the mass causes a small coriolis force that results
in an extra displacement (RC ). Note that the sensor transfer function appears twice in
the diagram.

Measuring angular velocity and acceleration with a triaxial single mass sensor 79
A critical aspect of the sensor design is the capacitive measurement of the
displacements caused by the coriolis effect. The modulus of the coriolis displacement,
described in fig. 5 in the Laplace domain by R C , is critical because it must be large
enough to be measurable capacitively. In addition, the displacement caused by the
coriolis effect should be relatively large with respect to the errors in the displacement
caused by the electromagnets ( R B , fig. 5), as can be seen from the addition of R B
and R C in figure 5. The magnitude of the coriolis effect for different actuation
frequencies was obtained using parameters obtained from the sensor realized by Kooi
et. al. [2]: a mass of 220 mg, out of phase harmonic actuation forces of 3 mN along
the x-and y axes, a spring stiffness of 1000 Nm-1 and a damping of 0.2 Nsm-1. In order
to show the effect of a different spring stiffness and damping, the magnitude of the
coriolis displacement was also obtained for different spring stiffnesses of 800 Nm-1
and 1200 Nm-1, as well as damping values of 0.15 Nsm-1 and 0.25 Nsm-1 (fig. 6). The
magnitude of the coriolis effect was defined as the maximum amplitude of the mass
displacement caused by the coriolis effect at an angular velocity of 1 rads-1. It
appeared that, for the sensor parameters mentioned above, the expected displacement
caused by the coriolis effect is only a few promille of the displacement caused by the
electromagnets.

K=1000 Nm-1, K=1000 Nm-1,


Displacement D=0.2 Nsm-1 D=0.15 Nsm-1
caused by 30 0.3
coriolis effect K=800 Nm-1,
(nm) D=0.2 Nsm-1
20 K=1200 Nm-1,
0.2 D=0.2 Nsm-1
K=1000 Nm-1, 0.2
0.2
D=0.25 Nsm-1
10 0.16

0
1000 1500 2000 2500 3000

Actuation Frequency (rad/s)


Figure 6: The predicted magnitude of the mass displacement caused by the coriolis
effectas a function of fequency, for several values of the model parameters K and D
around the parameter values K=1000 Nm-1 and D=0.2Nsm-1, described by Kooi [2].
Model parameters not specified in the figure are: an angular velocity of 1 rad/s in z-
direction, an out of phase actuation of 3mN in x-and y direction, and a mass of 220
mg. The percentage of the displacement caused by coriolis effect with respect to the
displacement caused by the electromagnets at resonance frequency is shown at the
top of the resonance peaks. Natural frequencies of the undamped oscillations were
1907Hz., 2132Hz., 2336 Hz for spring stiffnesses of 800Nm, 1000Nm and 1200Nm,
respectively.

80 Chapter 5
For a second order mass-spring-damper system (H(s) in fig. 5), the amplitude of
displacement at resonance frequency will decrease with the square root of the spring
stiffness, but the mass velocity amplitude will remain constant [6]. This means that,
for increasing stiffness and an actuation at resonance frequency, the ratio between
mass displacement caused by electromagnetic actuation and coriolis effect will be the
same, but the absolute coriolis displacement will decrease (fig. 6).

With respect to the effect of damping, it should be noted that a low damping can
increase the displacement caused by the coriolis effect. However, a low damping may
result in a smaller bandwidth of the angular velocity measurement because of a larger
time constant of the impulse response envelope which is inversely related to the
damping [6]. Also the effect of disturbances may be larger. In the case of the sensor
parameters mentioned above the time constant is 2ms, which is small when
considering the frequency band of human movements.

If the system (H(s) in fig. 5) is actuated exactly at resonance frequency, the phase
shift between actuation and displacement is zero degrees. In this case, figure 5
indicates that the coriolis displacement ( R C ) is 90 degrees out of phase with the
displacement caused by actuation ( R B ). In a practical sensor, small fluctuation in
sensor parameters may change the resonance frequency. Because the transfer function
H(s) was described as a second order mass-spring-damper system, this will
immediately change the phase shift between actuation displacement and coriolis
displacement, resulting in an inaccurate measurement. In this case, choosing an
actuation frequency just higher or lower than the resonance frequency may solve this
problem.

Discussion
In this chapter, an ideal symmetric single mass inertial sensor was described,
consisting of a simple point mass suspended by linear springs and linear damping.
The sensor description accounts for different compliance and damping in different
directions, including cross-talk. This description may not be realistic for actual
sensors. For example, large differences in stiffness of the different springs acting in
the same direction generate a moment which may cause a rotation of the mass that is
not accounted for. Other mechanisms that may play a role are the effect of
nonlinearities and instability in springs, actuation and damping.

The measurement of angular velocity is separated from the measurement of


acceleration through simple filtering in the frequency domain. This operation is only
valid because the accelerations and angular velocities are assumed to have a limited
frequency band. While this is a reasonable assumption for human movements it may
not be valid in many other applications or under other conditions, for example when
the sensor is hits rigid objects. Especially when the sensor is mounted on a rigid
mechanical structure, high-frequent accelerations may distort measurement of angular
velocity. In this case, the housing and connection to the structure should therefore
have adequate dynamic characteristics.

In order to obtain the angular velocity, the mass trajectory at zero angular velocity has
to be subtracted from the actual trajectory, yielding the displacement caused by the
coriolis effect. For parameters taken from the sensor described by Kooi [2], the

Measuring angular velocity and acceleration with a triaxial single mass sensor 81
displacement caused by the coriolis effect was calculated to be smaller than 0.3
percent of the displacement caused by electromagnets. This means that the mass
displacement at zero angular velocity has to be known within 0.3 percent, requiring a
sensor with very stable properties or a method for in-use calibration. Kooi [2] already
managed to measure angular velocity in one direction in an experimental setup. A 3D
inertial sensor based upon a single mass is therefore expected to be feasible when
combining an adequate electronic design of measurement system with the in-use
calibration methods described in chapter 2 and 3 of this thesis.

References
1. Söderkvist, J., Micromachined gyroscopes. Sensors and Actuators A, 1994.
43: p. 65-71.
2. Kooi, B.J., W. Oltuis, and P. Bergveld. Rate of turn sensing with a modified
triaxial accelerometer. in Eurosensors. 2000. Kopenhagen.
3. Lötters, J., et al., Design, fabrication and characterization of a highly
symmetrical capacitive triaxial accelerometer. Sensors and Actuators A,
Physical, 1998. 66(1-3): p. 205-212.
4. Lotters, J.C.O., W.; Veltink, P.H.; Bergveld, P., A sensitive differential
capacitance to voltage converter for sensor applications. Instrumentation and
Measurement, 1999. 48(1): p. 89-96.
5. Goldstein, H., Classical Mechanics. 2 ed. 1981: Addison Wesley. ISBN
672.0-201-02918-9
6. Meirovitch, L., Elements of vibration analysis. 1986, Singapore, McGraw-
Hill. ISBN 0-07-041342-8

82 Chapter 5
ABSTRACT
In the medical field there is a need for small ambulatory sensor systems for measuring
kinematics of body segments. Applications for such devices include the estimation of
joint load, the assessment of motor control in patients that suffer from a neurological
disorder. Also in the area of virtual reality this sensor need is apparent. It may enable
virtual reality to be used ouside of expensive laboratories at home and at work.

Sensors that meet the specifications of being small and ambulatory are gyroscopes
and accelerometers. A 3D sensor system was constructed by assembling three single
axis gyroscopes and three single axis accelerometers in a rectangular box, sized
20*20*30 mm.

If the sensors were perfect, the gyroscope and accelerometer signals could be used to
describe the complete kinematics of the body segment. In particular, the orientation
could be obtained by a strapdown integration algorithm using the angular velocity
signal and the position could be obtained by double integration of the acceleration,
calculated using the accelerometers and gyroscopes.

However, because of the non ideal behavior of the sensors, the errors in calculated
orientation and position will continuously increase with time. Using current
micromachined sensors, the integration drift in orientation is in the order of one
degree per second. It was investigated how signal processing techniques, possibly
using a priori knowledge about the measured signals, could be used in order to obtain
a better estimate of the kinematics of human body segments.

Chapter 2 described the design and performance of a Kalman filter to estimate


inclination from signals of a tri-axial accelerometer. This design is based on
assumptions concerning frequency content of the acceleration and the knowledge that
the magnitude of the gravity is 1g. It is shown that for measuring trunk and pelvis, the
inclination error is in the order of 2 degrees. This is superior to current methods based
on low-pass filtering accelerometer signals.

Additional kinematic information is obtained when combining the tri-axial


accelerometer with a tri-axial gyroscope. This combination is called an inertial
measurement unit (IMU). Chapter 3 presents a Kalman filter to estimate orientation of
body segments from the signals measured using an IMU. Like the accelerometer
method described in chapter 2, the method uses assumptions about the movement that
is made. The inclination that can be estimated this way is accurate within a few
degrees rms, although the problem of integration drift around the global vertical
remains.

The remaining integration drift can be diminished when relating the orientation of
body segments which are coupled by joints with kinematic restrictions. This principle
was analyzed by estimating the orientation of the forearm with respect to the
upperarm (chapter 3). Errors in upperarm and forearm orientation were corrected by
using the assumption that the adduction angle is zero for the elbow. Although this
method has not been tested extensively, the results are promising.

Abstract 83
The last part of this thesis concerns a model study of the signal processing required
for a new 3D micromachined inertial sensor. This sensor consists of only one cubic
mass with a rib length of 3 mm which is suspended in a box by rubber springs and is
able to measure angular velocity as well as acceleration. The distance of the mass to
the housing is measured capacitively in three directions and the mass is actuated in
two directions by means of two small electromagnets. By actuating the mass in a
certain prescribed way, the angular velocity and acceleration are obtained. Two main
advantages of such a micromachined sensor over a sensor that is made from off-the-
shelve components are the small size and the low energy consumption. The
advantages of the described method are low processing requirements, while the mass
is actuated in an energy effective manner.

84
SAMENVATTING
In de geneeskunde en in de sport is het anlyseren van 3D lichaamsbewegingen met
kleine, draagbare sensoren een belangrijk onderwerp. Het is bijvoorbeeld van belang
bij het meten van mechanische gewrichtsbelasting of het kwantificeren van
neurologische aandoeningen. Ook in virtual reality systemen is het meten van
lichaamsbewegingen vereist.

Een sensor bestaande uit 3 gyroscopen en 3 accelerometers voldoet aan deze eisen.
Als een beginoriëntatie bekend is kan de volledige kinematica van zo’n sensormodule
worden bepaald op basis van de gemeten hoeksnelheid en versnelling. Echter door
integratiedrift ten gevolge een beperkte kwaliteit van de sensoren zal de
nauwkeurigheid van de geschatte stand snel afnemen. In het geval van de in dit
proefschrift beschreven gyroscopen is de integratiedrift ongeveer 1 graad per seconde.
Er is onderzocht in hoeverre door middel van singaalbewerking de geschatte
kinematica verbeterd kan worden, met name door het maken van aannamen over de te
verwachten beweging.

Hoofdstuk 2 beschrijft hoe met behulp van een drie assige accelerometer de inclinatie
van een lichaamssegment kan worden geschat. Het beschrijft het ontwerp van een
Kalman filter dat gebruik maakt van de te verwachten frequentie inhoud van de
versnelling en de kennis dat de valversnelling 1g is. Voor het meten van inclinatie van
de romp tijdens tilbewegingen bleek de methode een fout te maken in de orde van 2
graden, significant beter dan de huidige methode gebaseerd op het laagdoorlaat
filteren van de accelerometer signalen.

Ten einde nog nauwkeuriger de stand van een lichaamssegment te kunnen bepalen is
een drie assige gyroscoop toegevoegd aan de drie assige accelerometer. Hoofdstuk 3
beschrijft een methode om met behulp van zo’n gecombineerde sensor en een Kalman
filter de oriëntatie te schatten. De oriëntatie, verkregen door het integreren van de
gyroscoop signalen wordt continu bijgesteld aan de hand van de inclinatie verkregen
met accelerometers. De inclinatie die op deze manier kan worden geschat heeft een
kleinere fout dan de methode beschreven in hoofdstuk 2. De onnauwkeurigheid van
de hoek die de sensor maakt in kompasrichting zal echter toenemen in de tijd, omdat
de accelerometer signalen over deze hoek geen informatie bevatten.

De resterende integratiedrift in de hoek rond de verticaal kan verminderd worden daar


aannamen te doen over de manier waarop twee segmenten ten opzichte van elkaar
bewegen. In hoofdstuk 3 is op deze manier de oriëntatie van het ellebooggewricht
geschat met een sensor op de boven- en onderarm. Door gebruik te maken van het
beperkt aantal vrijheidsgraden kan met behulp van de inertiële sensoren een stabiele
orientatieschatting verkregen worden. De methode is getest voor twee korte metingen.
In deze twee metingen was de integratie drift van de hoek rond de vertikaal sterk
gereduceerd.

Het laatste hoofdstuk van dit proefschrift beschrijft de signaalbewerking voor een
nieuw type sensor. Deze sensor bestaat uit een geveerd opgehangen kubische massa
met een riblengte van 3mm en wordt gebruikt voor het meten voor het meten van 3D

Samenvatting
versnelling en 3D hoeksnelheid. De massa wordt in trilling gebracht met behulp van
twee electromagneten en de afstand van de massa ten opzichte van de behuizing
wordt capacitief gemeten. Er wordt beschreven hoe uit de relatie tussen de gemeten
verplaatsing en de opgelegde electromagnetische kracht de hoeksnelheid en
versnelling kan worden bepaald. De belangrijkste voordelen de nieuwe sensor boven
bestaande enkel assige gyroscopen en accelerometers is dat de beschreven sensor
zeer klein gemaakt kan worden en relatief weinig energie verbruikt. De methode lijkt
geschikt om met een praktische sensor een zinvolle schatting te geven van de te meten
kinematica.

86
DANKWOORD
Het zit er bijna op. Iets meer dan vier jaar werken aan het bedwingen van
sensorsignalen die hun eigen wil lijken te hebben. Deze overwinning is behaald met
een grote groep mensen die hebben meegedacht, uitgelegd en geadviseerd. Aan
iedereen die heeft meegeholpen: bedankt, ik kijk met plezier op afgelopen periode
terug. Enkele mensen wil ik specifiek noemen.

Ten eerste wil ik Peter Veltink als dagelijks begeleider bedanken. Niet alleen voor het
altijd ter zake commentaar en het snel corrigeren van teksten, maar zeker ook voor de
grote vrijheid die ik heb gehad in het kiezen van onderwerpen en voor het serieus
nemen van de opleidings kant van het promoveren. Ook wil ik mijn andere promotor,
Piet Bergveld bedanken voor het corrigeren van het proefschrift en voor het mede
schrijven van de projectaanvraag waardoor ik me kon storten op een interessant
promotie onderwerp.

Natuurlijk wil ik mijn studenten, Tjerk Goossen en Ewan Henderson bedanken.


Bedankt voor de enorme hoeveelheid werk, inzet en plezier. Ik wil Chris Baten
bedanken voor alle informele besprekingen en het vertrouwen in het meten met
inertiële sensoren. Ik heb er zeker in het begin niet altijd zoveel vertrouwen in gehad.
Ook wil ik Gerrit Bultstra hier noemen. Het heeft voor een snelle start gezorgd dat ik
vanaf het begin van de promotieperiode over goede, kleine en robuuste sensoren heb
kunnen beschikken. Per Slycke en Casper Peeters van het bedrijf Xsens wil ik graag
bedanken voor het meedenken en het zonneklaar maken van de relevantie van het
onderzoek.

Het bedenken van de signaalverwerking van de gyracc was niet mogelijk geweest
zonder Bart Kooi. Dank je voor de metingen en de discussies, waaruit steeds vanuit
twee verschillende gezichtspunten dezelfde mechanismen zijn verklaard.

Natuurlijk bestaat er ook een leven buiten het onderzoek. Het is ondoenlijk om
iedereen te bedanken die hier een rol in heeft gespeeld: van frisbie toernooi tot
barbecue tot wadlopen. Aan iedereen: bedankt!

Ten slotte wil ik mijn paranimfen, Erik-Jan en Otto hartelijk bedanken voor het
bijstaan tijdens de verdediging.

Pap en mam, bedankt dat jullie me altijd onvoorwaardelijk hebben gesteund en me


altijd mijn eigen keuzes hebben laten maken. Broer en zus: ook dankzij jullie is het
altijd weer mooi om naar het noorden te reizen.

Elles, bedankt voor al je steun en liefde!

You might also like