Professional Documents
Culture Documents
The NavChip™ is the world’s first MEMS 6-axis inertial The standard tool for evaluating gyro noise and stability is
measurement unit in a surface-mount chip package. Based
the Allan Variance plot [5]. Gyro angle random walk
on breakthrough MEMS inertial sensor design, signal (ARW), which is caused by white noise in the angular
processing and packaging, the NavChip achieves a level rate output, produces an angular error whose standard
of performance, miniaturization, and environmental
deviation grows with √t. Because the standard deviation
ruggedness not available in inertial measurement units of the average of N samples of white noise is proportional
using standard off-the-shelf gyros and accelerometers. to 1/√N, angle random walk shows up with a slope of -1/2
The NavChip comes in a hermetically-sealed epoxy
on a log/log plot of Allan Deviation (square-root of Allan
surface-mount package. It operates off a wide 3.25-5.5 V
Accelerometer 5g 11g
Figure 6: a) Handheld PC running NavShoe
range
algorithms and visualization software b,c,d) Different
Angle 5.3°/√hr typ. 0.25°/√hr typ. sensor mounting locations on shoe were tried
Random Walk
Prior to collecting more extensive test data, various
Gyro Bias 62°/hr typ. 12°/hr typ. locations for mounting the sensor on the shoe were tried,
Stability a few of which are illustrated in Figure 6: b) embedded in
sole, c) taped to heel, d) taped to toe. We initially
Accel Bias 0.1 mg typ. 0.04 mg typ. expected that the location would have a bearing on how
Stability reliably and accurately we could determine ZUPTs, but
Operating 0 to 70°C -40 to 85°C we found no obvious performance differences as a result
Temp. of the different locations, and most of the data below were
collected by simply taping the sensor to the side of the
Size 26x38x15 mm 12.8x24x8.3 mm heel or tucking it in the laces.
(15.2 cm3) (2.55 cm3)
Another pilot experiment was conducted to evaluate the
Power 225 mW 120 mW effect of IMU data rate. The NavChip always samples its
sensors internally at 1000 Hz, but it can be configured to Figure 7 shows the results of the five trials with IC3
report data at this rate or any submultiple, in which case it overlaid together with the surveyed truth points. There is
reports an accumulated Delta-Theta and Delta-V over a marked contrast with the excellent results demonstrated
several internal i-rate samples. Walking trials were in [1], because the earlier system used the magnetometers
conducted with data reporting rates of 1000 Hz, 500 Hz, in the IC3 to correct heading drift, while here they are
333 Hz, and 200 Hz, with the NavShoe software being ignored.
integrating the inertial data and updating the EKF at the
reporting rate. As no significant differences in navigation
performance were noted, the remainder of the trials were
conducted with the 200 Hz reporting rate for the 25 truth point
walk step path
NavChip, and 180 Hz for the InertiaCube3. test point
20
y (m)
12” linoleum floor tiles. The tiles appear to form a very 5
precise and regular square grid, which we confirmed by
measuring across 50 tiles with a tape measure and 0
verifying a distance of 50’ within ¼”. We then counted
out the tiles and marked 27 test points along a 160 m long -5
closed loop path with yellow stickers. Subjects were
instructed to walk in straight lines from test point to test -10
-30 -25 -20 -15 -10 -5 0 5 10 15
point, and mark each point with a double heel lift so that x (m)
it could later be detected in our analysis software as two
footstep locations that are within a few centimeters from Figure 8: Results with NavChip
each other.
Figure 8 shows the results for 12 trials using the NavChip
Three subjects participated, and tested two different IMU (one trial had to be thrown out because the sensor
NavChips and two InertiaCube3 units. A total of 13 trials was poorly taped to the shoe and fell off in the middle).
were run with the NavChips, and 5 trials with the IC3s. As hoped, there is a significant improvement in unaided
Since the initial heading value was arbitrary, all the test navigation performance. It will still be necessary to aid
results were aligned by using the first two test points to the NavChip with some other sensor (e.g. magnetometer
establish the initial heading. After the subject progresses or ranging sensor) for accurate long-term navigation
beyond the second test point, no further manipulation is performance, but even very infrequent updates will be
performed and the dead-reckoning system is free to drift. sufficient, which greatly eases the task of rejecting
spurious data.
2.5
20
2
15
Position Error (m)
10 1.5
y (m)
5 1
0
0.5
-5
0
0 20 40 60 80 100 120 140 160 180
-10 Distance Traveled (m)
-30 -25 -20 -15 -10 -5 0 5 10 15 Figure 9: Horizontal positioning errors at each test
x (m) point from 12 NavChip trials
Figure 7: Results with InertiaCube3
Figure 9 shows the horizontal positioning errors at each
test point, plotted against elapsed travel distance.
Interestingly, the errors increase for the first 90 meters or but it will generate approximately the right RMS heading
so, and then they start to decrease. It is fairly intuitive error at each time.
why this happens after looking at trajectories in Figure 8,
but it is in stark contrast to the assumption that errors Integration of Angular Rate
40
accumulate as a percentage of distance travelled, which is
the way most dead-reckoning manufacturers state their 30
accuracy specifications, and most acquisition programs
state their requirements. Another interesting observation 20
from looking at the data is that the down-range errors
(along the direction of travel) are virtually non-existent – 10
angle (degree)
approximately 0.1% of the distance travelled. Practically
0
all the error is cross-range error due to heading drift. This
results in 1-dimensional error distributions which are far -10
from the ellipsoidal point clouds normally modeled by
navigation system covariance matrices. These -20
observations led us to wonder if we could produce a
-30
usable model for predicting dead-reckoning position
errors, given a particular set of gyroscope specifications, -40
which is attempted in the next section. 0 500 1000 1500 2000 2500 3000 3500 4000
time (sec)
ERROR ACCUMULATION MODEL Figure 10: Ensemble of drift traces from real NavChip
data
ZUPT pseudo-measurements enable correction of
position, velocity, accelerometer biases, pitch, roll, and
40
the pitch and roll gyro biases. The only important EKF
states which are not observable from zero velocity 30
measurements are yaw (heading) and the yaw gyro bias.
20
We have experimentally confirmed that operating the
NavShoe with just ZUPTs results in good short-term 10
navigation performance, but gradually loses horizontal
angle error (deg)
0
position accuracy due to heading drift. This leads to an
extremely simplistic x-y plane positioning error model -10
which should be adequate for explaining the main features
of a pedestrian dead-reckoning (PDR) system based on a -20
drift -50
• Assume gyro bias random walk and angle 0 500 1000 1500 2000 2500 3000 3500 4000
time(seconds)
random walk, and therefore accumulated heading
error, are functions of time (not distance) Figure 11: Ensemble of drift traces from simulated
• At each step, accumulate a small additional NavChip data
cross-track error proportional to the length of the
step and current heading error. The simulation takes as input a list of foot positions, one
position point per step, which represent the “truth” path.
A very simple Monte Carlo simulation was written to For each step, it calculates the true step vector, and then it
propagate position traces with random errors according to updates 300 Monte Carlo particles as follows:
these assumptions. The only subtlety was to come up with 1) For each particle, update its heading error by
a gyro simulation model to generate an appropriate propagating the gyro drift model forward by the
heading error at each step. We took an ad hoc approach time interval corresponding to one step
to this, based on the RMS Gyro Drift plot described above (nominally 1 s).
(Figure 5). Figure 10 below shows an ensemble of 1-hour 2) For each particle, update its position by adding
gyro drift traces extracted from a long static dataset as to the previous position a perturbed step vector
previously described. We then hand-tuned a second-order which is calculated by rotating the true step
Gauss-Markov model until it generated a qualitatively- vector around the z axis by the current gyro
similar ensemble of drift traces (Figure 11). This is by no heading error.
means a precise or scientific approach to gyro modeling,
3) For each particle, calculate its horizontal position the peak errors, which occur at the extremities of the path
error (distance from the truth position), and plot furthest from the center of mass and are spread mainly in
the median horizontal error amongst the 300 the tangential direction.
particles.
Based on the results of Figure 12 a), one would predict
Figure 12 shows simulation results for four different that doubling the size of a closed loop path would
paths. In each case, the figure on the left shows the X-Y quadruple the error accumulation per loop, since each
plot of the path, with the truth points in red, and a cloud straight side accumulates error quadratically. To confirm
of 300 blue Monte Carlo perturbed position dots this, we simulated another square of 100 m side length,
surrounding each red dot. The figure on the right shows and indeed the error per loop was about 4 times larger.
the median error at each step, plotted against the total Noticing that the error over a rectangular loop of a given
distance walked up to that point. Different combinations perimeter is fairly comparable for any aspect ratio, from
of step length and step time were tried and it was verified the square in track c) to the infinitely thin “rectangle” of
that the step length does not matter as long as the net track b) we wondered if the error per loop is quadratically
walking speed is the same. For example, travelling 150 m related to the loop length regardless of loop shape.
at a walking speed of 1.5 m/s produces the same results However Figure 12 d) shows a path of length 272 m
whether accomplished using 100 steps of length 1.5 m at which has less error than the three previous paths of
one second per step, or using 150 steps of length 1 m at length 200 m. Although the trajectory is longer, the path
0.67 seconds per step. This makes sense given the keeps looping in and out, so it doesn’t get as far away
assumption that the error accumulated on each step is the from the center-of-mass, and the extremities are where the
product of the length of that step and current heading rotation errors are amplified by larger lever arms. Due to
error, making the cumulative position error (for a straight this very complicated dependence on path we cannot
path and small heading error) proportional to the product come up with any precise formula for specifying
of cumulative distance and time, or distance-squared over accuracy, but a useful rule of thumb is that the trend of
speed. Figure 12 a) confirms this hypothesis of error the peak errors (which always occur at the outer extrema
growth roughly proportional to distance squared for a of the path) is proportional to the product of time and
straight segment. All simulations were implemented using diameter of the bounding circle around the whole path.
a 1.2 m/s walking speed. Applied to a building search application, we might state
the peak median errors of the NavChip as modeled here to
Figure 12 b) shows another 200 m walk, but with a 180o be “ 0.14% of the path bounding diameter per minute”.
about face in the middle. The direction reversal This formula fits fairly well all the data in Figure 12. As
dramatically changes the error accumulation, and error further confirmation, an additional simulation is shown in
actually starts decreasing for a while. This can be Figure 13 for another longer path around our office
explained because the heading error shortly after the recorded with the NavShoe. We simulate walking around
reversal is highly correlated with the heading error before the path three times over the course of 12.5 minutes.
the reversal, and a clockwise heading error before the According to the rule above, using a 60 m bounding
reversal will contribute errors in the +Y direction, but diameter we would expect the error to reach 1.05 m after
after the reversal it will contribute errors in the –Y 12.5 minutes, as shown by the added black line in Figure
direction that tend to cancel previous errors. Gradually the 14. As can be seen, the rule does a reasonable job of
correlation fades out and the errors start to build up again. predicting the median accuracy over time. Once we
Due to the reversal of error accumulation, the total error integrate aiding sources to arrest the long term growth of
at the end of 200 m is far lower (0.32 m instead of 0.59 heading error, this time dependency should be reduced or
m) than for a straight line. Clearly, errors are not simply eliminated.
proportional to the total distance travelled as one might
surmise from reading product specification sheets! The keen observer will notice that the complex path used
as input to the simulation in Figure 12 d) is actually
Figure 12 c) shows a 200 m square loop repeated four computed output from a real trial run, and that the loop
times. The error grows roughly linearly over the long closing error is larger than the simulation predicts.
term, accumulating approximately 0.3 m per lap around Clearly, the simulation based only on the gyro model we
the 200 m track. The fact that the error accumulates generated from analysis of static data is too optimistic.
linearly rather than quadratically over repetitions of a There are probably other error sources which occur when
closed path stems from the observation, looking at the the NavChip is operating in the dynamic environment on
paths in Figure 12 and Figure 13, that the general the foot, which we have yet to identify and compensate.
tendency is for the trajectory to gradually rotate about its To the extent that some of these errors cannot be reliably
center-of-mass, what we might call a “Spirograph effect”. compensated, we will have to add them to the gyro error
Since the RMS heading error grows almost linearly in model that drives the navigation error simulation.
time, the overall “twist” of the path does too, and with it
Median Horizontal Error
a) 0.7
0.6
0.5
0.3
0.2
0.1
0
0 20 40 60 80 100 120 140 160 180 200
distance travelled (meters)
0.3
0.25
0.15
0.1
0.05
0
0 20 40 60 80 100 120 140 160 180 200
distance travelled (meters)
45
1.2
40
35 1
median error (meters)
30
x (meters)
0.8
25
20 0.6
15
0.4
10
5
0.2
0
0
-10 0 10 20 30 40 50 60 0 100 200 300 400 500 600 700 800
y (meters) distance travelled (meters)
25
0.2
20
median error (meters)
0.15
x (meters)
15
10
0.1
0.05
0
-5
0
-40 -35 -30 -25 -20 -15 -10 -5 0 5 0 50 100 150 200 250 300
y (meters) distance travelled (meters)
Figure 12: Monte Carlo simulation for different paths: a) straight 200m, b) forward/back 200 m roundtrip, c) 4 laps
around 200 m perimeter square, c) 272 m building search pattern
increase translates into a comparable improvement in
25 accuracy for raw unaided navigation. The accuracy is still
20
not sufficient to be used for long missions without any
form of aiding or drift correction, but we believe that its
15
performance will make selection of aiding techniques and
10
start
implementation of robust aiding algorithms considerably
5 easier.
x (meters)
0
Some simulations were conducted to try to gain some
-5
insight into the qualitative characteristics of error
-10 accumulation in an unaided inertial dead-reckoning
-15 system, which might help a system designer understand
-20
what kind of aiding is needed at what temporal or spatial
intervals. Further work is needed to make the simulation
-25
model quantitatively accurate, as it currently predicts
-60 -50 -40 -30 -20 -10 0
y (meters) much lower errors than the experimental results
demonstrated. However, it does provide a guideline on
Figure 13: A larger 300 m office loop (red dots) with
what we can hope to achieve with the NavChip in un-
simulated errors (blue dots) over 3 laps
aided configuration, which will guide us in future work as
we try to improve the sensor compensation, strapdown
Median Horizontal Error
1.4 inertial algorithms and ZUPTing implementation to come
as close as possible to that goal.
1.2
ACKNOWLEDGMENTS
1 0.14% of bounding diameter per minute
Portions of this research were supported by the DARPA
median error (meters)