Content uploaded by Lauro Ojeda
Author content
All content in this area was uploaded by Lauro Ojeda on Jan 11, 2013
Content may be subject to copyright.
Proceedings of the 2000 IEEE International Conference on Robotics and Automation, San Francisco, CA, April 24-28, pp. 2064-2069
Precision-calibration of Fiber-optics Gyroscopes
for Mobile Robot Navigation
by
Lauro Ojeda, Hakyoung Chung, and Johann Borenstein*
The University of Michigan
Dept. of Mechanical Engineering and Applied Mechanics
lojeda@umich.edu; chy@duck.snut.ac.
kr; johannb@umich.edu
ABSTRACT
Fiber-optics gyroscopes (“gyros”) are gaining impor-
tance as a means for improving dead-reckoning accuracy
in mobile robots. In the past, the relatively high drift rate
of moderately priced gyros presented the foremost techni-
cal limitation of these devices.
More recently, fiber-optics gyros with very low drift
rates have become available and affordable. Because of
their low drift rate attention is warranted to sources of
errors that were previously considered as of secondary
importance. In the KVH E-Core RD2100 gyros that were
examined at our lab we found that the non-linearity of the
scale-factor and temperature dependency caused signifi-
cant errors. A calibration method, described in this paper,
reduces the resulting errors by one order of magnitude.
1. INTRODUCTION
Dead-reckoning is widely used in mobile robot
navigation because the method is self-contained and
always capable of providing the robot with an estimate of
its position. Odometry is the most frequently used
component in a dead-reckoning system, but increasingly
gyroscopes are being used as well. However, with dead-
reckoning the position and heading errors increase without
bound. Filtering scheme such as Kalman filter can be
utilized to reduce these errors [Park et al., 1996; Barshan,
B., and Durrant-Whyte, H. F., 1995], but an observability
analysis shows that the states related to the position and
heading are unobservable. That means that dead-
reckoning system has the inevitable characteristics of
divergence [Park et al., 1998]. Therefore errors, especially
deterministic errors of dead-reckoning sensors, should be
reduced before they affect the navigation system.
The University of Michigan’s Mobile Robotics Lab
has been working with fiber-optics gyroscopes (in short:
“gyros”) for several years [Borenstein et al., 1996; Boren-
stein, 1998]. As a result we identified the need for accu-
rate calibration procedures in order to improve measure-
ment accuracy. This paper describes the motivation and
technique for a calibration procedure that improves meas-
urement accuracy by one order of magnitude.
One key concern with the use of gyros as a means for
improving dead-reckoning in mobile robots is the inherent
bias drift. Bias drift is the slowly changing error in meas-
uring the rate-of-rotation. For example, a stationary gyro
should output readings of ω
g
= 0.00 °/s. In practice, how-
ever, the reading will differ from that value due to bias
drift. For dead-reckoning purposes it is necessary to per-
form numeric integration of the output readings, ω
g
, in
order to determine relative orientation. Due to this integra-
tion any small constant or near-constant error (as opposed
to noise) will accumulate and grow without bound, result-
ing in ever-increasing orientation errors.
Until just a few years ago all but the highest-grade
mechanical gyroscopes had large bias drift rates. These
rates would accumulate several degrees of orientation
error after, say, one minute. Such large error rates made it
impractical to use suitably priced gyros on mobile robots.
This situation changed with the reduction in cost of
commercially available fiber-optics gyros. For example,
the KVH E-Core RD2100 gyro [KVH], which was the
model used in our experiments, costs about $2,000 and its
drift rate is specified as (at most) 0.002°/s = 0.12°/min =
7.2°/hr (see Table I). With these specifications it is feasi-
ble to run a mission of, say, 10 minutes duration, while
incurring an orientation error of at most 1.2°
However, with the reduction of bias drift errors other
measurement errors gain in relative significance. Most
notable among these hitherto secondary error are (1) the
nonlinearity of the scale factor and (2) the susceptibility of
the sensor to changes in ambient temperature. These two
errors can be reduced substantially by performing an indi-
vidual calibration for each gyro.
This paper presents a calibration procedure developed
at our lab specifically for the KVH E-Core RD2100,
which was previously made by Andrews Corp. under the
Table I:
Technical specifications for the E-Core RD2100
fiber-optics gyroscope. (Courtesy of [KVH])
Performance
RD2100
Input Rate (max)
± °/sec 100
Resolution °/sec 0.004
Scale factor - °/bit 0.000305
Nonlinearity %, rms 0.5
Full Temp %, p-p 2
Bias Stability
Constant Temp °/sec, 1 0.002
Full Temp °/sec, p-p 0.2
Repeatability °/sec, p-p 0.002
Angle Rand. Walk
(°/hr)/ Hz 5
- °/ hr 0.08
Bandwidth (3 dB) 45° phase shift 100
2
name Autogyro. Specifications for the RD2100, as pub-
lished by the manufacturer, are shown in Table I. As will
be seen, consistent improvements of one order of magni-
tude in accuracy over a wide range of operating conditions
are achieved by applying our calibration procedure.
2. STATIC BIAS DRIFT CALIBRATION
A common compensation procedure for static bias
drift (see Figure 1) is to collect several samples (for, say,
10-20 seconds) with the gyro stationary and immediately
prior to every mission.
Specifically, this is done by computing
∑
=
=
n
i
igs
n
1
,
1
ωω (1)
where
ω
s
- static bias drift
n - total number of samples (n = 100 for a 10-
second sample with the RD2100)
During the immediately following mission, ω
s
is sub-
tracted from subsequent measurements ω
g
. Since the static
bias drift is small for the RD2100, this technique will as-
sure that errors due to static bias drift will be less than
about one degree for subsequent missions of fewer than
10 minutes of duration. Note that ω
s
also includes the rate-
of-rotation component introduced by the earth’s rotation.
However, this simple method does not correct the errors
due to the non-linearity in the scale factor and tempera-
ture, discussed next.
3. CALIBRATION
The procedure discussed in this section aims at finding
a mathematical model for representing the error of the
gyro due to the changes in the temperature, static bias drift
error, and non-linearity in the scale factor.
Our basic approach is to rotate the gyro at different,
accurately controlled rates-of-rotation while maintaining
different temperatures. In order to provide accurate rota-
tion the gyro is mounted on an Arrick Robotics stepper
motor-driven 4:1 reduction gear that serves as a rotary
table [ARRICK] (see Figure 2). While this rotary table is
very inexpensive, precision timing routines and control
software for stepper motors developed at our lab allow for
accurate rates-of-rotation to be obtained. The rotary table
can rotate at rates of ±100°/s, which is the maximum input
rotation rate of the RD2100.
In order to calculate the effect of the change in tem-
perature on the gyro’s output, one should be able to
change the ambient temperature through the range of tem-
peratures the gyro will encounter under actual working
conditions. However, this goal was not implemented in
our work, due to cost constraints (i.e., requirement for an
environmental chamber).
In our work we varied the ambient temperature only
within the rather limited range of 25° - 45°. However, the
method developed in this paper is, of course, applicable to
calibration sessions with larger changes of temperatures.
3.1 Non-linearity of the scale factor
As mentioned above, the basic idea is to rotate the
gyro at a known input rate ω, and compare this value with
the measurement output of the gyro, ω
g
. The difference ε
between both values is the error introduced by the gyro
because of the non-linearity in the scale factor.
ωωε −=
g
(2)
The same procedure has to be repeated at different
speeds trying to cover the whole range of operation of the
gyro. The result of this experiment provides the error
characteristic due to the non-linearity of the scale factor
(see Figure 3).
The resulting error can be approximated by a third-
order polynomial
(
)
3
3
2
210 gggg
aaaa ωωωωε +++= ( 3 )
3.2 Effect of the changes in temperature
Up to here the procedure did not consider the effect of
the temperature T, but, as Figure 4 shows, the measure-
ment error ε varies with temperature. This relationship can
be expressed in terms of a second-order polynomial
0 1 2 3 4 5 6 7 8 9 10
-0.2
-0.18
-0.16
-0.14
-0.12
-0.1
-0.08
-0.06
-0.04
ω
g
(deg/sec)
time (sec)
ω
s
↓
Figure 1: Output readings of the stationary gyro over a
10- seconds period. The average of these readings is the
momentary static bias drift.
Figure 2: The KVH E-Core RD2100 mounted on the
Arrick Robotics stepper motor-driven 4:1 reduction gear
that served as a rotary table during experimentation.
3
(
)
2
210
TbTbbt ++=ε ( 4 )
The parameters b
i
are not constant but depend of the
input rate of rotation, ω. This means that all experiments
must be repeated at different temperatures to calculate the
final error model or compensation function of the gyro.
We should also note that beyond the error sources
considered here there are still other sources of errors. For
example: angle random walk (white noise), bias instabil-
ity, and magnetic sensitivity. However, the effects of these
error sources are secondary.
3.3 Defining the error function
In order to determine the calibration function for the
gyro, gyro data was collected under varying conditions.
We will refer to the gyro data collected during rotation at
a fixed rate-of-rotation and at a fixed temperature as one
data set. Because of white noise in the gyro output and
vibration introduced by the rotary table it is desirable to
average the readings obtained in any one data set.
In practice this is done by defining two data vectors
for each rate-of-rotation, ω
i
. One for the output of the
gyro, ωs
i
, and the other for the corresponding tempera-
tures, Ts
i
.
=
=
im
i
i
i
gim
gi
gi
gi
Ts
Ts
Ts
Ts
s
s
s
s
.
.
.
.
2
1
2
1
ω
ω
ω
ω ( 5 )
where m is the number of data points in a data set.
The average value of each set is then computed from
∑
∑
=
=
=
=
=
=
mj
j
iji
mj
j
gijgi
Ts
m
T
s
m
1
1
1
1
ωω
( 6 )
The final result comprises three vectors: ω, ω
g
, and T,
all of dimension n
=
=
=
n
gn
g
g
g
n
T
T
T
.
.
.
.
.
.
2
1
2
1
2
1
T
ω
ω
ω
ω
ω
ω
ω
ω ( 7 )
The difference between the output of the gyro, ω
gi
, and
the rate of rotation of the rotary table, ω
i
, represents the
error of the gyro ε
i
at temperature T
i
, (see Figure 5).
The next step is to find a mathematical model of the
error ε as a function of the known variables: the output of
the gyro, ω
g
, and the temperature, T
),(
g
Tf ωε = ( 8 )
Finding an error model from the measurements, ω
g
and T, is a two-input single-output system identification
problem. In order to use a general least-square algorithm
for a single-input single-output system, we adopted a
Vandermonde matrix (explained below) that reduces the
problem to a single-input single-output system.
We determined the order of the polynomial function
that best fits the error characteristic of the gyro by consid-
ering modeling error and computational burden. We found
the best match with the error data was obtained from a
polynomial function of third order with respect to the rate
of rotation (p = 3) and of second order with respect to the
temperature (q = 2). The general regression problem can
now be formulated in a linear equation as
VCE
=
( 9 )
where E = [ε
1
, ε
2
, … ε
n
]
T
is an n-dimensional output vec-
tor. V is an input matrix characterized by the Vander-
monde matrix, which has a dimension of n rows and
(p+1)(q+1) columns. C is a system vector. The Vander-
monde matrix V is defined as [Press et al., 1982]:
-100 -50 0 50 100
-2
-1.5
-1
-0.5
0
0.5
1
ω
g
(deg/sec)
ε
(deg/sec)
Figure 3: The error due to the non-linearity in the scale
factor. The range of input rates in this and all
subsequent experiments was –100°/s to +100°/s.
32.5 35 37.5 40 42.5 45
-2.5
-1.5
-0.5
0.5
1.5
2.5
ε
(deg/sec)
T (
°
C)
-90deg/sec
-75deg/sec
-60deg/sec
60deg/sec
75deg/sec
90deg/sec
Figure 4: Gyro measurement errors due to changes in
temperature at different rates-of-rotation.
4
a
-100 -50 0 50 100
-3
-2
-1
0
1
2
ω
g
(deg/sec)
ε
(deg/sec)
←
35
°
C
←
41
°
C
35
°
C
→
41
°
C
→
b
Figure 5: Experimental error of the gyro at different
speeds and temperatures. Note that the relative small
errors due to temperature variations are coincidental in
this particular gyro unit.
)1()1(
)1(,
+−+−
−+
⊗=
jq
k
ip
gkpjik
TV ω ( 10 )
where
i =1,2,…, p+1; j=1,2,…, q+1; k=1,2,…, n
The symbol “
⊗
” represents an element-by-element
multiplication of two vectors of the same dimension.
The next step is to use the Vandermonde matrix to cal-
culate C. For a solution to exist, n must be equal to or
greater than (p+1)(q+1). If n = (p+1)(q+1), C is the solu-
tion of the equation E= VC (i.e., C = V
-1
E). If
n->-(p+1)(q+1), C is a solution of the system E= VC in
the least squares sense [Whittaker and Robinson, 1967].
For p = 3 and q = 2, the minimum n is 12, but it has to
be taken at four different rates of turn and for each rate of
turn at three different temperatures. For better results in
practice we took readings every 10 deg/sec with the tem-
perature varying from 25°C to 45°C approximately every
2°C, therefore p = 11 and q = 11, resulting in n = 121.
The resultant C is a (p+1)(q+1)-dimensional vector
that can be written in matrix form as:
=
3,22,21,20,2
3,12,11,10,1
3,02,01,00,0
CCCC
CCCC
CCCC
C
( 11 )
35
36
37
38
39
40
41
-100
-50
0
50
100
-3
-2
-1
0
1
2
3
T (
°
C)
ω
g
(deg/sec)
ε
(deg/sec)
a
-100 -50 0 50 100
-3
-2
-1
0
1
2
ω
g
(deg/sec)
ε
(deg/sec)
←
35
°
C
←
41
°
C
35
°
C
→
41
°
C
→
b
Figure 6: Plot of the error/compensation function ε(ω
g
,T).
a. 3-dimesional view. b. 2-dimensional view of a.
Using this notation, the compensation function can be
expressed in such a way that, given the temperature and
output of the gyro, the proper correction is calculated.
( )
[ ]
=
1
1,
2
3
3,22,21,20,2
3,12,11,10,1
3,02,01,00,0
2
g
g
g
g
CCCC
CCCC
CCCC
TTT
ω
ω
ω
ωε
( 12 )
The error function ε(ω
g
, T), shown in Figure 6, can
now be used as a compensation function, simply by sub-
tracting the appropriate value of ε(ω
g
, T) from every gyro
measurement ω
g
.
),(* T
ggg
ωεωω −= ( 13 )
where
ω
g
- Gyro reading before compensation
ω
g
* - Compensated gyro reading
Figure 7 shows the errors of the gyro after correcting
its output with the compensation function in Eq. 12.
4. ERROR ANALYSIS FOR FULL 360° TURNS
In mobile robot applications the gyro is most likely be-
ing used to measure changes in the orientation of the plat-
form. For this reason it is not very intuitive for the re-
searcher to know the error of the gyro in terms of °/s. A
5
more intuitive measure is the error after integration (i.e.,
expressed in degrees), for a nominal 360° turn.
In this section we analyze gyro measurement errors in
terms of degrees for a nominal 360° turn. Because nu-
meric integration of the native output of the gyro is an
additional source of errors, the overall error, ε
a
, will be
affected by all of these parameters: the rate of rotation ω
g
,
the temperature (T), the data output frequency of the gyro
f
s
and the time required to complete the full 360° turn (t).
We thus rewrite Eq. (8) as
tfT
sga
),( ωεε = ( 14 )
The KVH E-Core RD2100 has an RS-232 digital out-
put that provides data every 100 ms, that is, the data out-
put frequency f
s
is 10 Hz. The rate-of-rotation of the gyro
mounted on our Arrick rotary table is considered constant
throughout the full 360° turn. Acceleration and decelera-
tion at the beginning and end of the turn are neglected
because the full rotational reference speed is reached
within a fraction of a second.
It is important to note that in this section all plots
showing errors in terms of degrees-per-360°-turn have
singularities around ω = 0°/s. This is because at ω = 0°/s it
takes infinitely long to complete the 360° turn, and, thus,
the bias drift will grow without bound to an infinite error.
For this reason we ran our tests at a minimum rate of rota-
tion of |ω
min
| = |±5°/s|.
To date we have calibrated five gyros using our proce-
dure, and have found that each gyroscope present a differ-
ent error characteristic. We have used two of them in our
robots for almost one year, and so far neither of them re-
quired recalibration. However when the gyro is powered
for extended periods, we observed that errors increased
moderately. Further experiments revealed that this effect
was directly related to the static bias drift.
The static bias drift, it is computed as
( )
∑
=
−=
n
i
iigigs
T
n
1
,,
*
),(
1
ωεωω ( 15 )
where
ω*
s
- average static bias drift computed with our
compensation function
The combined compensation applied to all subsequent
gyro readings for a mission is thus
***
),(
sggg
T ωωεωω −−= ( 16 )
The graph in Figure 8 shows the errors for a gyro after
using the simple static-bias compensation discussed in
Section 2, but not the comprehensive calibration function
discussed in Section 3.
35
36
37
38
39
40
41
-100
-50
0
50
100
-15
-10
-5
0
5
10
15
T (
°
C)
ω
g
(deg/sec)
ε
a
(deg)
a
-100 -80 -60 -40 -20 0 20 40 60 80 100
-15
-10
-5
0
5
10
15
ω
g
(deg/sec)
ε
a
(deg)
←
35
°
C
←
41
°
C
35
°
C
→
41
°
C
→
b
Figure 8: Experimental results of the accumulated error
for full 360° turns, when only static bias drift
compensation is applied. a. 3-D view. b. 2-D view of a.
a
-2
-1
0
1
2
ε
(deg/sec)
b
Figure 7: Gyro error after applying the compensation
function ε(ω
g
, T). a. 3-D view. b. 2-D view of multiple lines
corresponding to different temperatures are plotted in b.
6
As is evident from Figure 8, the errors for a 360° turn
can be quite substantial when only the simple static bias
drift compensation of Section 2 is used prior to each run.
In contrast, when our compensation function is used, er-
rors are much smaller, as evident in Figure 9.
5. CONCLUSIONS
This paper presents experimental results of a calibra-
tion procedure for fiber-optics gyroscopes. This method
has been developed and tested with five identical units of
the KVH E-Core RD2100.
Our method measures errors for static bias drift, non-
linearity in the scale factor, and changes in temperature. A
temperature-varying third-order polynomial function is
defined based on this experimental data. This function can
then be used for error compensation of subsequent read-
ings of the gyro. Experimental data shows that the final
error after compensation was reduced to less than 2% over
all operating conditions.
Application of our compensation method was found to
improve the overall accuracy of the five gyros tested at
our lab by one order of magnitude. Indeed, these results
have let us to conclude that a calibrated fiber-optics gyro-
scope is the single, most effect sensor modality for mobile
robot dead-reckoning systems.
Acknowledgements
This work was funded by DARPA under Award No
DAAE07-98-C-L029 and by DOE under Award No. DE-
FG04-86NE37969.
6. REFERENCES
ARRICK, P.O. Box 1574, Hurst, Texas, 76053 USA,
http://www.robotics.com/resource.html
Barshan, B., and Durrant-Whyte, H. F., 1995, “Inertial
Navigation Systems Mobile Robots.” IEEE Transaction
on Robotics and Automation, June, pp. 328-342.
Borenstein, J., Everett, B., and Feng, L., 1996, “Navi-
gating Mobile Robots: Systems and Techniques.” A. K.
Peters, Ltd., Wellesley, MA, ISBN 1-56881-058-X, Pub-
lication Date: February 1996.
Borenstein, J., 1998, “Experimental Evaluation of a
Fiber Optics Gyroscope for Improving Dead-reckoning
Accuracy in Mobile Robots.” 1998 IEEE Int. Conf. on
Robotics and Automation. Leuven, Belgium, May 16-21,
pp. 3456-3461.
Bennett, S. M., Dyott, R., Allen, D., Brunner, J., Kid-
well, R. and Miller, R., 1998, “Fiber Optic Rate Gyros as
Replacements for Mechanical Gyros.” American Institute
of Aeronautics and Astronautics, AIAA-98-4401, Boston,
MA, Aug 10-12, pp. 1315-1321.
a
-100 -80 -60 -40 -20 0 20 40 60 80 100
-15
-10
-5
0
5
10
15
ω
g
(deg/sec)
ε
a
(deg)
b
Figure 9: Experimental results of the accumulated error
for full 360° turns, after the compensation function has
been applied. a. 3-D view. b. 2-D view of a. Multiple lines
corresponding to different temperatures are plotted in b.
KVH, 8412 W. 185th St., Tinley Park, IL 60477,
USA, http://KVH.com.
Park, K., Chung, H., and Lee, J., 1996, “Dead Reckon-
ing Navigation of a Mobile Robot Using the Indirect
Kalman Filter.” Proc. of the IEEE/SICE/RSJ Int. Conf. on
Multisensor Fusion and Integration for Intelligent Sys-
tems, Washington D.C. USA, Dec. 8-11, pp. 132-138.
Park, K., Chung, H., and Lee, J., 1998, “Dead Reckon-
ing Navigation for Autonomous Mobile Robots.” Pro-
ceeding of Intelligent Autonomous Vehicle, Madrid, Spain,
March 25-28, pp. 441-446.
Press, W. H., Flannery, B. P., Teukolsky, S. A., and
Vetterling, W. T. 1982, “Numerical Recipes in FOR-
TRAN: The Art of Scientific Computing.” 2nd ed. Cam-
bridge, England: Cambridge Univ. Press, pp. 82-89.
Whittaker, E. T. and Robinson, G., 1967, “The Calcu-
lus of Observations: A Treatise on Numerical Mathemat-
ics.” 4th ed. New York, Dover, pp. 209-265.