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.

Page 6

휎푣= 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. 4.

external parameters as given in Section IV-E.

√ˆ 푚(휃int,휃ext,j)

푠

(RMSE of postion) for stride period 1.2 [s] and other

휎푣= 0.005[m/s]

√

ˆ 푚(휃int,휃ext,j)

푠

휎휔[∘/푠]

휎푎[m/s2]

102

102

100.5

100

100

100

10−1

10−1.5

10−2

10−2

10−2

10−0.5

10−2.5

Fig. 5.

external parameters as given in Section IV-E.

√ˆ 푚(휃int,휃ext,j)

푠

(RMSE of postion) for stride period 1.8 [s] and other

F. Achievable performance

The minimum points of the surfaces in Figs. 3-5 (corre-

sponding to ˆ 푚ach(휃ext,j)) are 0.29%, 0.27%, and 0.21% respec-

tively. If (16) is changed slightly to include only the horizontal

error the corresponding figures are 0.17%, 0.20%, and 0.10%.

Weighing together all the squared errors equally from the dif-

ferent walking speeds on hard flat floor the minima are 0.29%

and 0.19% respectively. The minima of Fig. 6 (corresponding

to ˆ 푚ach) are 0.44% and 0.25% respectively. However, note

that all these values are for a symmetric trajectory in which

the influence of the heading drift is suppressed. One should

be careful when comparing performance figures based on

different trajectory parameterisations and external parameter

weighings. Comparison with other publications in which often

some information about the set-up, the performance metric,

and the internal and external parameter settings are missing

휎푣= 0.005[m/s]

√

ˆ 푚(휃int)

푠

휎휔[∘/푠]

휎푎[m/s2]

102

102

100.5

100

100

100

10−1

10−2

10−2

10−2

10−0.5

10−1.5

Fig. 6.

compressibility conditions as given in Section IV-E.

√

ˆ 푚(휃int)

푠

for uniform distribution of walking speed and ground

Regions corresponding to operational modes

휎휔[∘/푠]

휎푎[m/s2]

103

103

102

102

101

101

100

100

10−1

10−1

10−2

10−2

10−3

10−3

A

B

C

Fig. 7.

of the ZUPT-aided INS. The chart correspond to Fig. 6 seen from above.

Region A correspond to free inertial navigation. Region B and C correspond

to modes in which errors due to the gyroscopes and the accelerometers

respectively are assumed to dominate.

The figure illustrates the regions corresponding to operational modes

is difficult. Also note that the performance estimate figure of

0.44% is dominated by a handful trajectories giving errors in

the range 0.3-0.9% while most of the trajectories give an error

in the range 0-0.3%. Our experience is that order of magnitude

20 trajectories recorded at two different occasions are needed

to estimate the performance consistently.

G. Operational modes

In Figs. 4-6 some more or less flat regions are present.

These are parameter ranges over which the system seems to

behave about the same. That is, they could be interpreted to

correspond to operational modes of the system. Fig. 7 show

the surface in Fig. 6 from above with the regions marked and

labeled. In region A both the process noise covariances of the

accelerometer and the gyroscopes are low in comparison with

Page 7

the measurement noise covariance. This means that we trust

the inertial measurement to a high degree in comparison to

the ZUPTs. This flat area would correspond to free inertial

navigation. In region B the process noise covariance of the

accelerometer is low while the process noise covariance of

the gyroscopes is high in comparison with the measurement

noise covariance. This means that the filter will enforce the

compliance between the ZUPTs and the state estimates by

adjusting the velocity and position but also by adjusting the

orientation which are correlated with velocity and position

with gravity as a lever. The opposite noise magnitude relation

hold for region C. This means that the filter will enforce the

compliance by mainly adjusting the velocity and position.

The performance is typically best in region C but with

symmetric trajectories the performance in region B and C

are comparable. Using nonsymmetric trajectories (results not

shown) the performance in region C is often order of magni-

tude worse.

H. Intermediate regions

Between the regions A, B, and C in Fig. 7 there are some

intermediate transition regions. To begin with there is a diag-

onal transition region between region B and C. Here a ditch is

often present indicating that the accelerometer and gyroscope

process noise covariances are balanced. Between the region

A and B and between region A and C there are often similar

ditches present. The explanation for this is probably that at

these noise covariance values the filter smoothen out the zero-

velocity enforcing over the short retardation period of the foot

impact on the ground. Remember that a fix detector threshold

was used for the data. Then there is a short transition region in

each step from moving to stationary in which the detector will

trigger with increasing probability the closer the foot gets to

stationary. With smooth update, that is balanced accelerometer

process noise values to measurement noise values, this will not

be a problem but with hard updates enforcing zero-velocity

on the first ZUPT this might introduce errors giving a less

satisfactory performance. Detailed analysis will have to verify

this hypothesis. Either way, as seen in Figs. 3-5 this ditch

is increasingly pronounced for low walking speeds making

the parameter settings more sensitive. This is in agreement

with the poor robustness often observed in the system for

irregular motions patterns, e.g. loitering. These ditches could

be thought of as regions in which time and measurement

error covariance effects are balanced. Finally, occasionally a

minimum is present in the intersecting intermediate regions

between all regions. This minimum corresponds to settings of

which the effects of both the time and all measurement error

covariance settings are balanced.

I. Internal parameter settings

The region, in the 휎푎휎휔-parameter-subspace in which the

minima corresponding to the achievable performances dis-

cussed in subsection IV-F were found, is in the intersection

between all the regions A, B, and C with a bias towards or

even inside region C. The numerical values of the components

of 휃int of the achievable performance (0.44%) of Fig. 6 are

휎푎 = 6[m/s2], 휎휔 = 2.5[∘/s], and 휎푣 = 0.005[m/s]. Note:

that the process noise parameters (휎푎and 휎휔) are scaled with

the sampling period in the covariance update equation; The

noise covariances are inflated to take care of all measurement

errors explaining why the values are significantly higher than

typical noise values of MEMS IMUs; Changing 휎푣 will

change the point of the achievable performance in the 휎푎휎휔-

subspace; Different IMUs and applications will give different

values. Hence, the given values should be used with caution.

Similar plots as of Figs. 3-6 should be produced to tune and

determine the achievable performance of a ZUPT-aided INS

implementation. Also note that the filter implementation of [8]

is slightly different (no noise covariance scaling with sampling

period) which partially explains the difference in the given

values.

V. CONCLUSIONS

In this article we have suggested a methodology for eval-

uating performance of foot-mounted ZUPT-aided INS and

other related systems. General system structure and compo-

nents have been identified. Performance of ZUPT-aided INSs

and other related systems has been mathematically defined.

Based on this definition and some general division of the

parameterisation, methods for estimating performance have

been derived. Finally, these methods have been applied to a

baseline system set-up giving performance characteristics and

achievable performance over a range of internal and external

parameter ranges. The achievable performance has, depending

on external parameters, been estimated to be in the range 0.1-

0.44%.

REFERENCES

[1] E. Foxlin, “Pedestrian tracking with shoe-mounted inertial sensors,” IEEE

Computer graphics and Applications, vol. 1, pp. 38–46, 2005.

[2] L. Ojeda and J. Borenstein, “Non-gps navigation for security personnel

and first responders,” J. Navigation, vol. 60, pp. 391–407, 2007.

[3] I. Skog, P. H¨ andel, J. Rantakokko, and J.-O. Nilsson, “Zero-velocity

detection — an algorithm evaluation,” IEEE Trans. on Biomedical Engi-

neering, vol. 57, no. 11, pp. 2657–2666, 2010.

[4] A. Jim´ enez, F. Seco, J. Prieto, and J. Guevara, “Indoor pedestrian

navigation using ins/ekf framework for yaw drift reduction and a foot-

mounted imu,” in Proc. WPNC2010, Dresden, March 2010.

[5] ¨Ozkan Bebek, S. Rajgopal, M. J. Fu, X. Huang, M. C. C. D. J. Young,

M. Mehregany, A. J. van den Bogert, and C. H. Mastrangelo, “Personal

navigation via high-resolution gait-corrected inertial measurement units,”

IEEE Trans. on Instrumentation and Measurement, vol. 59, no. 11,

pp. 3018–3027, 2010.

[6] J. A. Farrell, Aided Navigation. McGraw-Hill, 2008.

[7] S. M. Kay, Fundamentals of Statistical Signal Processing, Volume 1:

Estimation Theory. Prentice Hall, 1993.

[8] I. Skog, J.-O. Nilsson, and P. H¨ andel, “Evaluation of zero-velocity de-

tectors for foot-mounted inertial navigation systems,” in Proc. IPIN2010,

Z¨ urich, Sept 2010.