H.J. Luinge: Inertial Sensing of Human Movement
H.J. Luinge: Inertial Sensing of Human Movement
H.J. Luinge
2002
Ph.D. thesis
University of Twente Twente University Press
ISBN 9036518237
Publisher:
Twente University Press
P.O. Box 217, 7500 AE Enschede, the Netherlands, www.tup.utwente.nl
INERTIAL SENSING OF HUMAN
MOVEMENT
PROEFSCHRIFT
door
Introduction 7
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
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.
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. B.
Distance
ract Distance ract
measurement Mass measurement
Housing rcor
Actuator
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
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
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.
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.
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.
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 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 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 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.
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 úû
ë
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.
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.
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.
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.
[rad/s]
0 0
ω ωP ω⊥ ω ωP ω⊥ Pelvis Trunk
Pelvis Trunk
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]
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.
6 6
Sensor on Pelvis Sensor on Trunk
5 5
Inclination 4 Accelerometer 4
error. [deg] Accelerometer
3 3
2 2
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.
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.
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.
36 Chapter 2
CHAPTER 3
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
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.
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.
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.
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.
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)
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−
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)
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.
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.
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.
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
-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.
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.
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).
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.
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.
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.
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).
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.
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.
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
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)
ë û
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.
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]:
( ) ( )
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).
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.
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
A.
15
10
0
Ref. Without 1 2 5 10 20 30
elbow
constraints Standard deviation of estimated γ
(degrees)
B.
RMS of angle error (degrees)
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.
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.
72 Chapter 4
CHAPTER 5
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.
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
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.
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.
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
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.
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.
0
1000 1500 2000 2500 3000
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.
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.
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.
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.
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.