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.