Performance characterisation of foot-mounted ZUPT-aided INSs and other related systems
ABSTRACT Foot-mounted zero-velocity-update (ZUPT) aided inertial navigation system (INS) is a conceptually well known with publications in the area typically focusing on improved methods for filtering and addition of sensors and heuristics. Despite this, the performance characteristics, which would ultimately justify and give guidelines for such system modifications of ZUPT-aided INSs and other related systems, are in some aspects poorly documented. Unfortunately, the systems are non-linear, meaning that the performance is dependent on the system set-up, parameter setting, and the true trajectory. This complicates the process of evaluating performance and partially explains the few publications with detailed performance characterisation results. Therefore in this article we suggest and motivate methodologies for evaluating performance of ZUPT-aided INS and other related systems, we apply them to a suggested baseline set-up of the system, and study some aspects of the performance characteristics.
-
Citations (0)
-
Cited In (0)
Page 1
2010 INTERNATIONAL CONFERENCE ON INDOOR POSITIONING AND INDOOR NAVIGATION (IPIN), 15-17 SEPTEMBER 2010, Z¨URICH, SWITZERLAND
Performance characterisation of foot-mounted
ZUPT-aided INSs and other related systems
John-Olof Nilsson⋄, Isaac Skog, and Peter H¨ andel
Signal Processing Lab, ACCESS Linneaus Centre, KTH Royal Institute of Technology
Stockholm, Sweden. Email:⋄jnil02@kth.se
Abstract—Foot-mounted zero-velocity-update (ZUPT) aided
inertial navigation system (INS) is a conceptually well known with
publications in the area typically focusing on improved methods
for filtering and addition of sensors and heuristics. Despite this,
the performance characteristics, which would ultimately justify
and give guidelines for such system modifications of ZUPT-
aided INSs and other related systems, are in some aspects
poorly documented. Unfortunately, the systems are non-linear,
meaning that the performance is dependent on the system set-up,
parameter setting, and the true trajectory. This complicates the
process of evaluating performance and partially explains the few
publications with detailed performance characterisation results.
Therefore in this article we suggest and motivate methodologies
for evaluating performance of ZUPT-aided INS and other related
systems, we apply them to a suggested baseline set-up of the sys-
tem, and study some aspects of the performance characteristics.
I. INTRODUCTION
Foot-mounted ZUPT-aided INS is conceptually a well
known technique with numerous related publications over the
last decade, e.g.[1]–[5] and references therein. However,
the system behaviour and performance characteristics are in
some aspects poorly documented and understood. The main
reasons for this are likely the difficulty of constructing sensible
simulations of the system, the non-linear nature of the system,
the multiple system parameters affecting the behaviour of the
system, and the high dynamic of the impact of the foot during
bipedal locomotion exciting error modes of the inertial sensors
rarely encountered in other aided INS. However, the current
status and trend of the technology, the fundamental technique
being well known and publications focusing on new filtering
methods and addition of more sensors and heuristic, would
benefit from knowledge about the performance characteristics
of different set-ups of the system. The reasons for this are
simple: First, to obtain guidelines for the development of
a system set-up the performance characteristics of the set-
up need to be understood; Second, a modification of a set-
up ought to be motivated by an increased performance. For
this a baseline performance is needed which is given by the
performance characteristics of a baseline set-up. However, our
experience is that, even for a rather narrow span of external
conditions, a wide range of performance can be achieved with
different parameter settings and vice versa. Without detailed
knowledge of the performance characteristics this might result
in erroneous conclusions about the effect on the performance
of system modifications. Therefore, in this article we set out to
make a structured approach to performance characterisation of
ZUPT-aided INSs and other related systems. The performance
characteristic of a ZUPT-aided INS set-up we define to be the
functional dependence of performance on parameters affecting
performance. The set-up we define to be the set of discrete
factors affecting performance, that is essentially the discrete
design choices determining the structure of a ZUPT-aided
INS implementation. The parameters are obtained from a
parameterisation of the remaining factors of continuous nature
that affect the performance. Hence, the goal is to evaluate the
functional dependence of performance on the parameters of a
given set-up.
Unfortunately, the ZUPT-aided INS is a nonlinear system.
Thus the performance is ultimately determined by the system
set-up, system parameter settings, and the true trajectory.
Therefore, it is not clear how to evaluate performance nor is it
clear how to handle the parameterisation of the system. Even
the concept of performance is not well defined for the type
of system in question. To handel this we begin in Section II
by identifying the fundamental structures and components of
a ZUPT-aided INS. This will partially set the framework for
factors affecting performance and hence also the performance
characterisation. In Section III, we proceed by defining per-
formance, drawing up guidelines for the parameterisation, and
deriving methods for estimating the performance. Finally, in
Section IV the methods are applied to a suggested baseline
set-up and some aspects of the performance characteristics are
studied.
The main results of this article are: 1. A mathematically
motivated methodology to evaluate performance of ZUPT-
aided INSs and other related systems. 2. An illustration and
analysis of the performance characteristics of a suggested
baseline set-up over a range of internal and external parameter
settings.
II. STRUCTURE OF ZUPT-AIDED INS SET-UPS
The set-up has been defined to be the discrete design choices
determining the structure of a ZUPT-aided INS implementa-
tion. The exact design choices will differ from different set-ups
since certain design choices will give rise to others. However,
a general structure and fundamental components of the system
can be identified, giving a structure to the set-up specifications.
Conceptually, the ZUPT-aided INS consists of an inertial
measurement unit (IMU) under the influence of a trajectory
978-1-4244-5864-6/10$26.00 c ⃝ IEEE
Page 2
Sensor
model
IMU
Mechanisation
equations
Dynamic
model
Fusion filter
Estimates
Trajectory
Fig. 1.
INS. The IMU is the only sensor, the sensor model relates the IMU output to
the ideal output, the mechanisation equations relate the ideal IMU output to
evolution of the navigational states, and the dynamic model adds knowledge
of the trajectory. The information from the building blocks are fused with the
fusion filter giving system state estimates.
The block diagram illustrates the building blocks of the ZUPT-aided
and a filter giving system state estimates. It is assumed that
the ZUPTs are derived from the inertial measurements such
that there are no other inputs to the system.
A. Filtering set-up
The filter in turn consists of models fused together by some
sensor fusion filter. Then the fundamental models of the ZUPT-
aided INS can be identified as: the sensor model of the IMU,
[˜ u푘,b푘+1] = 푔(u푘,b푘,n1,푘);
(1)
the mechanisation equations (kinematic model) of the INS,
x푘+1= 푓(x푘,u푘,푑푡푘,n2,푘);
(2)
and the dynamic model,
[0,c푘+1] = ℎ(x푘,u푘,c푘,n3,푘);
(3)
including distributions of the stochastic components, n1,푘,
n2,푘, and n3,푘, possibly dependent on x푘, u푘, b푘, and c푘.
˜ u푘 is the IMU output, u푘 is the ideal IMU output (the true
specific force and angular rates), b푘 is sensor states, x푘 is
the navigation states, 푑푡푘is the sampling period of the IMU,
and c푘 is dynamics states. Further, the zero-velocity-update
(ZUPT) attribute of the system implies that the dynamic model
will have the structure
[0,c푘+1] =ℎ(x푘,u푘,c푘,n3,푘)
=[ℎ′(x푘,u푘,c푘,n′
− [v푘,0];
where v푘 is the velocity (subcomponent of x푘), ℎ′(⋅) is the
zero-velocity detector, ℎ′′(⋅) is the dynamic state model, and
n′
of the ZUPT-aided INS are illustrated in Fig. 1.
Additionally, the sensor fusion of aided INS is typically im-
plemented with a complementary filter structure often making
use of some sort of Kalman filter (KF) [6]. Even though not a
defining attribute of ZUPT-aided INS, it is still so commonly
3,푘),ℎ′′(x푘,u푘,c푘,n′′
3,푘)]
(4)
3,푘and n′′
3,푘are subcomponents of n3,푘. The building blocks
Sensor
model
Dynamic
model
IMU
Mechanisation
equation
KF
Trajectory
State estimates Covariance est.
INS
Complementary filter
ZUPT
()−1
Fig. 2.
a ZUPT-aided INS set-up with a complementary filter structure implemented
with a KF. The complementary filter estimates and feed back the errors of
the filter of the INS.
The block diagram illustrates the components and their relations of
used that its implications are worse mentioning. The comple-
mentary structure adds yet another model derived from the
fundamental models. The estimation of the complementary
filter structure is based on a model for the evolution of the
errors of the state estimates rather than on models for the
evolution of the states themselves,
[훿x푘+1,훿b푘+1] = 푓훿(훿x푘,훿b푘, ˜ u푘) + n4,푘,
(5)
where 훿x푘+1and 훿b푘+1are the errors in the state estimates
and n4,푘is the combined effect of n1,푘, n2,푘, and linearisation
errors and other approximation made in the derivation of (5).
The structure of the ZUPT-aided INS, assuming a comple-
mentary filter structure, is illustrated in Fig. 2. Note that the
set-up contains the structure of the models and the fusion filter
(discrete choices) but not necessarily all numerical values of
constants in the models and the fusion filter.
B. Hardware set-up
Essentially the only hardware that will affect performance
is the IMU. The physical IMU cannot normally be varied
continuously in any way and would therefor be considered
to be a part of the set-up. Possibly also the boot in use could
be included in the set-up specifications. The IMU selection
might influence the selection of the sensor model. However,
the most important consideration of the IMU selection is to
choose an IMU with sufficient dynamic range or the sensor
model of the IMU will not be invertible over the operational
range.
III. EVALUATING PERFORMANCE OF ZUPT-AIDED INS
To evaluate the performance: First, performance need to
be defined and a performance metric chosen; Second, factors
apart from the set-up affecting the performance need to be
identified and parameterised; Third, methods for estimating
the performance need to be found and applied.
Page 3
A. Performance metric
Generally one speaks about performance of navigation
systems in terms of accuracy, integrity, availability, and
continuity of service. Being self-contained, availability and
continuity of service are not an issue for INSs. Consequently
we define the performance metric 푓푚(⋅) of the ZUPT-aided
INS to be a function of the system accuracy and integrity,
that is a function of the state estimate errors and the errors
in the estimate of some statistical dispersion measure (typi-
cally covariance) of the accuracy. However, the errors in the
estimates are stochastic variables and consequently we define
the performance 푚 of the system to be the expectation of the
performance metric,
푚 = 피(푓푚(ℰ)) =
∫
푝ℰ(휺)푓푚(휺)푑휺,
(6)
where 피 is the expectation operator, ℰ is the stochastic error
variables, 휺 is the errors, and 푝ℰ(⋅) is the error probability den-
sity function. To get a comparable quantity the performance
metric should preferably be a scalar function. This means
that the metric might have to weight errors of different units
relative to each other. The performance metric can be thought
of as a cost function of the errors and as a result it will reflect
how errors of different states and magnitude are valued relative
to each other. This also means that the preferable performance
metric will be dependent on the intended application of the
system.
Together with the performance metric an order relation
[>푚] also need to be defined. In non-mathematical language
this means that we have to define what “better performance”
means in the context of our performance metric. For a scalar
performance metric the order will be either the normal order
of the real field or its inverse.
In practice the distribution 푝ℰ(⋅) is not known and, therefore,
the performance must be estimated from a finite set of samples
from the distributions. To obtain these samples references to
the estimates are needed to calculate the errors. This can often
be achieved for the navigation states but might be difficult for
the dispersion measures. Therefore, the performance metric
would often be chosen as a function of accuracy only and the
integrity checked separately. Further, often references, only
for a subset of the navigational states (e.g. position) and for
a subset of the time instants, are available. However, due to
correlations of state estimate errors this can in many cases be
acceptable.
B. Performance parameterisation
Per definition the performance of a set-up will be deter-
mined by factors of continuous nature. These factors need
to be parameterised to make a performance characterisa-
tion possible. There are many considerations concerning the
parameterisation. Even if preferable, the parameters do not
necessarily need to be specified such that they are given by
numerical values. The important attribute is that the range of
interest of the parameters can be sampled in a sensible manner.
More important is to limit the total number of parameters. As
seen in Section III-C each parameter adds one dimension to
the final estimation problem. Therefore, only factors believed
to have a significant influence on performance should be kept
in the parameterisation.
The parameterisation will be set-up and application depen-
dent. As a result no universal parameters can be given. How-
ever, some groups of parameters can still be identified. The
parameters can be divided into internal parameters 휃int and
external parameters 휃ext. For an example of a parameterisation
see Section IV.
1) Internal parameters: The internal parameters 휃intcan in
turn be divided into filter parameters and hardware param-
eters. The system parameters are normally easily identified
based on the specific models (1)-(5) and the fusion filter of
the set-up. Considering the complete hardware component
selection as a part of the set-up, the parameters, of the
hardware set-up, are only the sensor placement/mounting and
sampling speed.
2) External parameters: The external parameters are the
parameters which, given the hardware, determine the trajectory
in a wide sense. The trajectory we define to include both
the path in the navigation state space and the sensor output.
The trajectory is not as easily parameterised as the filter and
the hardware. The true trajectory is not known (no perfect
reference) and difficult to reproduce in a sensible manner.
Further, being a real-world continuous quantity, the trajectory
will not be feasible to parameterise exactly with a finite set
of parameters. Hence, the parameterisation will have to be
done in an approximate manner. That is a limited set of
parameters, describing aspects of the trajectory important to
the performance of the system, has to be found. This can
be justified by treating the human locomotion as a stochastic
process which is parameterised by a finite set of parameters.
C. Estimate performance
Conceptually, there is a large difference between the internal
parameters 휃int and the external parameters 휃ext. In principle
we are always free to adjust the internal parameters while the
external parameters, or rather in this case a probability density
of the parameters, can be given by an intended application.
This means that depending on viewpoint the external param-
eters can be both parameters and realisation of a stochastic
variable. In the latter case denote the stochastic variable Θext
and the probability density function 푝Θext(⋅).
Ideally, if the external parameters would span the space of
trajectories perfectly then, without any application given, the
performance (6) of a set-up is parameterised by both 휃intand
휃ext,
푚(휃ext,휃int) = 피(푓푚(ℰ);휃ext,휃int),
while the achievable performance of a set-up would be param-
eterised by 휃extonly,
(7)
푚ach(휃ext) = max
휃int
(피(푓푚(ℰ);휃ext,휃int)),
(8)
where the max-function is with respect to [>푚]. On the other
hand, if an application is given, the performance of a set-up
Page 4
would be parameterised by 휃intonly,
푚(휃int) = 피휃ext(피(푓푚(ℰ)∣Θext= 휃ext;휃int))
= 피휃ext(푚(휃int,휃ext)),
(9)
while the achievable performance of a set-up, given an appli-
cation, would not be a function of any parameter,
푚ach= max
휃int
(피휃ext(피(푓푚(ℰ)∣Θext= 휃ext;휃int)))
(푚(휃int)),
= max
휃int
(10)
where once again the max-function is with respect to [>푚].
Equations (7)-(10) all represent performances but from differ-
ent viewpoints. Equations (8) and (10) give performance base-
lines and (7),(8), or (9) give performance characterisations.
Note that the evaluation of (10) would contain the evaluation
of (7) and (9) as intermediate steps and that (8) is equivalent
with (10) if 푝Θext(휃ext) = 훿(휃′
delta function and 휃′
Writing out the expectations in (10)
∫
Estimating performance is then a matter of estimating one or
more of the integrals and the max-function in (11) depending
on which one of the relations (7), (8), (9), or (10) that is of
interest.
In practice 휃ext does not span the space of trajectories
perfectly, 푝ℰ(휺∣Θext= 휃ext;휃int) is not known, and 푝Θext(휃ext)
is only known roughly for an application. However, assuming
that 휃ext spans important dimensions of the trajectory space
then the inner integral of (11) can be estimated by sampling
푁 trajectories at 푀 points in the external parameter space
with internal parameter settings 휃int. Together with refer-
ences this gives error samples 휖푖,푗(휃int) : 푖 = 1,...푁 at
휃ext,푗 : 푗 = 1,...푀. The inner integral (corresponding to
푚(휃ext,푗,휃int)) can then be estimated with the sample mean of
the performance metric [7],
ext−휃ext) where 훿(⋅) is the Dirac
extis the point at which (8) is evaluated.
푚ach= max
휃int
푝Θext(휃ext)
∫
푝ℰ(휺∣Θext= 휃ext;휃int)푓푚(휺)푑휺푑휃ext.
(11)
ˆ 푚(휃ext,푗,휃int) =
1
푁
푁
∑
푖=1
푓푚(휖푖,푗(휃int)).
(12)
The outer integral (corresponding to 푚(휃int)) can then in turn
be estimated by
ˆ 푚(휃int) =
푀
∑
푀
∑
푗=1
푤푗ˆ 푚(휃ext,푗,휃int)
=
푗=1
푤푗
1
푁
푁
∑
푖=1
푓푚(휖푖,푗(휃int))
(13)
where∑푀
Finally, the achievable performance can be estimated by a
푗=1푤푗= 1 and where 푤푗are weights chosen based
on the intended application and approximating 푝Θext(휃ext,j).
numerical evaluation of max휃int(⋅),
ˆ 푚 = ˜
max
휃int
(ˆ 푚(휃int))
= ˜
max
휃int
푀
∑
푗=1
푤푗
1
푁
푁
∑
푖=1
푓푚(휖푖,푗(휃int)),
(14)
where ˜
dim(휃int) ≥ 5. This poses significant difficulties when eval-
uating (14) and often make a brute force numerical search in-
feasible. A way around this would be to identify well behaved
parameters and groups of parameters with weak interdepen-
dencies such that sequential iterative minimisation methods
could be used on a subset of the parameter dimensions. Also,
some parameter dependencies could temporarily be eliminated
with external information, see Section IV and [8].
max(⋅) denotes a numerical approximation of max(⋅).
Unfortunately, (14) is nonlinear with respect to 휃int and
IV. BASELINE SET-UP PERFORMANCE EVALUATION AND
CHARACTERISATION
In this section we apply the methodologies given in Sec-
tion III to a suggested baseline set-up. The performance
characteristics of the zero-velocity detector part is studied in
a companion paper and left out here [8].
A. Baseline set-up
To keep the system as simple as possible the sensor model
is taken to be the true value plus noise. The mechaniza-
tion equations are first order discretisations of the kinematic
equations with zero order hold assumptions and with the
Coriolis and the Euler terms discarded. The zero-velocity
detector is the SHOE detector [8]. The fusion filter is a
complementary extended KF and the error models are based
on perturbation analysis discarding second and higher order
terms. This baseline filter set-up has been chosen since it
represents a common denominator of many studied systems
and also has a low number of parameters making analysis
and presentation of data manageable [1], [3]–[5]. The IMU in
use is a 3DM-GX2 from MicroStrain with a dynamic range
of 18[g] and 1200[∘/s] of the accelerometers and gyroscops
respectively. The boots used for the experiment was of the Dr.
Martens Classic model.
B. Performance metric
The performance metric is limited to the reference available.
In the measurement campaign only position reference for
the stop point (closed-loop trajectories) was available. The
performance metric was chosen as
푓푚(ℰ) = ∣ℰ푝∣2
(15)
where ℰ푝is the three-dimensional error in end-position. The
performance order relation is taken to be the inverse of the
standard real field order, [>푚] ∼ [<]. That is a smaller mean-
square error is better.
Page 5
C. Parameterisation
The internal parameters are taken to be the process
and measurement noise covariance matrices within the KF,
cov(nT
3,푘
are taken to be diagonal. The process noise covariance matrix
is assumed to have identical components in the velocity states
휎2
in the orientation states 휎2
the gyroscopes, and zero on the diagonal otherwise. The mea-
surement noise covariance matrix is assumed to have identical
components along the diagonal 휎2
훾 and the window length (even though not a parameter in
a strict sense) of the detector ℎ′(⋅) were tuned separately
with a reference based on force-sensitive-resistors as discussed
in [8]. The numerical values used were 훾 = 104.8and window
length 5 samples. No hardware parameters were used in the
presented data. The IMU was mounted in the foot instep and
the sampling speed was 250[Hz]. Hence, for the presented data
휃int= [휎푎,휎휔,휎푣].
In the measurement campaign the trajectory was param-
eterised (external parameters) with the walking speed, the
mechanical properties (compressibility/shock absorbtion) and
the topography (roughness/hilliness) of the ground surface, the
path length, some qualitative measures of the appearance of
the path, and the subject itself.
4,푘n4,푘) and cov(n′
Tn′
3,푘). The covariance matrices
푎, modelling measurement errors in the accelerometers, and
휔, modelling measurement errors in
푣. The detection threshold
D. Performance estimation
Trajectories were collected from a matrix of points in the
trajectory parameters space. The performance was estimated
using 2×10 trajectories (error samples) with each 10-set taken
over a single power-up cycle. For ease of interpretation the
estimated performance is presented as
√ˆ 푚(⋅)
푠
in which 푠 is the travelled distance. Together with (15) and
(12)-(14) this means that the presented performance figures are
the root-mean-square error (RMSE) of end position normalised
with the path length. The reason for normalising with the path
length is that, under the assumption of small influence of the
heading errors, the RMSE of position will grow approximately
linear with distance. Hence, given that this is true, the nor-
malisation will eliminate the dependency on the path length
parameter.
(16)
E. Performance characteristics
Presenting and interpreting ˆ 푚(휃int,휃ext,j) and ˆ 푚(휃int) is
difficult due to dimensionality. However, the 휎푣parameter and
the 휎푎and 휎휔 parameters scale the error covariances of the
inputs relative to each other. Therefore, one might expect that
most of the effect on performance will be captured by the
ratio between 휎푎and 휎휔and the ratio of that ratio to 휎푣. This
has indeed been noted to be the case for values of 휎푣above
approx. 0.001[m/s] and fixating 휎푣 most of the performance
characteristics will be described by the dependence on 휎푎and
휎휔. However, the system does have more than two degrees
휎푣= 0.005[m/s]
√
ˆ 푚(휃int,휃ext,j)
푠
휎휔[∘/푠]
휎푎[m/s2]
102
102
100
100
100
10−1
10−1.5
10−2
10−2
10−2
10−0.5
10−2.5
Fig. 3.
external parameters as given in Section IV-E.
√ˆ 푚(휃int,휃ext,j)
푠
(RMSE of postion) for stride period 0.9 [s] and other
of freedom due to coupling with physical quantities in (2) so
one still has to be careful in setting 휎푣. Based on inspection
of ˆ 푚(휃int,휃ext,j) the value is set to 휎푣 = 0.005[m/s]. The
remaining dependence on 휎푎and 휎휔gives a simplified picture
of the performance characteristics but it still contains many
important attributes. Also remember that the coupling with
the detector has been ignored by fixating its parameters. For
a detailed analysis all dependencies have to be considered.
Due to space limitation ˆ 푚(휃ext,j,휃int) is presented only for
a limited number of points in the external parameter space. In
Figs. 3-5 ˆ 푚(휃ext,j,휃int) is shown over a grid of values of 휎푎and
휎휔. The external parameter points are fast walk (stride period
of 0.9[s]), normal walk (stride period of 1.2[s]), and slow
walk (stride period of 1.8[s]) on flat hard floor in a trajectory
the shape of a digital eight starting and stopping in the
centre. The reason for using a closed-loop symmetric trajectory
was to minimise the influence of the heading estimate errors
since it is not observable and easily quantified separately.
This also ensured that the linear error growth assumption
implicitly made in (16) were valid. The radius of the corners
was approximately 1[m] and the trajectory length was about
100[m]. The subject was the same for all presented trajectories:
a male, 1.8[m], and approx. 80[kg]. Figures with equivalent
results for the detection threshold and window length are
available in [8].
In Fig. 6 ˆ 푚(휃int) is given for a grid of 휎푎and 휎휔 values.
Here ˆ 푚(휃ext,j,휃int), based on corresponding trajectories as of
flat hard floor but also for asphalt, gras, and gravel, has
been included and weighted together with equal weights. This
performance characteristic estimate is based on approx 120
trajectories, approx. 100[m] each, taken over a time period of
two weeks. Further comments and analysis of Figs. 3-6 are
found in the following sections.