UMBmark -- A Method for Measuring, Comparing, and Correcting Dead-reckoning
Errors in Mobile Robots
by
J. Borenstein1 and L. Feng2
with the help of
Professors D. K. Wehe and Y. Koren
and Grad. Students Z. Fan, B. Holt, and B. Costanza
December 1994
Copies of this report are available from the University of
Michigan as: Technical Report UM-MEAM-94-22
Prepared by the University of Michigan
For the Oak Ridge National Lab (ORNL) D&D Program
and the
United States Department of Energy's
Robotics Technology Development Program
Within the Environmental Restoration, Decontamination and Dismantlement
Project
1) Dr. Johann Borenstein
The University of Michigan
Department of Mechanical
Engineering and Applied Mechanics
Mobile Robotics Laboratory
1101 Beal Avenue
Ann Arbor, MI 48109
Ph.: (313) 763-1560
Fax: (313) 944-1113
Email: Johann_Borenstein@um.cc.umich.edu
2) Dr. Liqiang Feng
The University of Michigan
Department of Mechanical
Engineering and Applied Mechanics
Mobile Robotics Laboratory
1101 Beal Avenue
Ann Arbor, MI 48109
Ph.: (313) 936-9362
Fax: (313) 763-1260
Email: Feng@engin.umich.edu
Please direct all inquiries to Johann Borenstein
Executive Summary
Dead-reckoning is the most widely used method for determining the momentary
position of a mobile robot. In most practical applications dead-reckoning
provides easily accessible real-time positioning information in-between
periodic absolute position measurements. The frequency at which the (usually
costly and/or time-consuming) absolute measurements must be performed depends
to a large degree on the accuracy of the dead-reckoning system.
This report introduces a method for measuring dead-reckoning errors
in mobile robots, and for expressing these errors quantitatively. When
measuring dead-reckoning errors, one must distinguish between (1) systematic
errors, which are caused by kinematic imperfections of the mobile robot
(for example, unequal wheel-diameters), and (2) non-systematic errors,
which may be caused by wheel-slippage or irregularities of the floor. Systematic
errors are a property of the robot itself, and they stay almost constant
over prolonged periods of time, while non-systematic errors are a function
of the properties of the floor.
Our method, called the University of Michigan Benchmark test (UMBmark),
is especially designed to uncover certain systematic errors that are likely
to compensate for each other (and thus, remain undetected) in less rigorous
tests. This report explains the rationale for the carefully designed UMBmark
procedure and explains the procedure in detail. Experimental test results
from different mobile robots are presented and discussed. Our report also
proposes a method called extended UMBmark for measuring non-systematic
errors. Although the measurement of non-systematic errors is less useful
because it depends strongly on the floor characteristics, one can use the
extended UMBmark test for comparison of different robots under similar
conditions. This report presents experimental results from six different
vehicles tested for their susceptibility to non-systematic error by means
of the extended UMBmark test. With the quantitative benchmark test proposed
here, researchers will be able to compare the dead-reckoning accuracy of
different robots, or they can measure and tune the performance of a single
robot.
Perhaps the foremost contribution of the work described here is a unique
and innovative method for the calibration of mobile robots. This method
is called UMBmark calibration because it is based on measurements from
the UMBmark test. Performing an occasional calibration as proposed here
will increase the robot's dead-reckoning accuracy and reduce operation
cost because an accurate mobile robot requires fewer absolute positioning
updates. Many manufacturers or end-users calibrate their robots, usually
in a time-consuming and non-systematic trial and error approach. By contrast,
the UMBmark calibration is systematic and provides near-optimal results.
Our procedure for measuring and correcting systematic dead-reckoning errors
can be performed easily and without complicated equipment. Furthermore,
UMBmark lends itself readily for adaptation as an automated self-calibration
procedure. Experimental results are presented that show a consistent improvement
of at least one order of magnitude in dead-reckoning accuracy (with respect
to systematic errors) for a mobile robot calibrated with the UMBmark calibration.
Table of Content
1. Introduction 1
1.1 Absolute Positioning Methods 1
1.2 The Importance of Dead-reckoning 2
2. Properties of Dead-reckoning Errors 3
2.1 Non-Systematic Dead-reckoning Errors 5
2.2 Systematic dead-reckoning errors 5
2.3 Definition of systematic dead-reckoning errors 6
3. Measuring Dead-reckoning Errors 7
3.1 The uni-directional square path as a benchmark test 7
3.2 The bi-directional square path experiment: "UMBmark"
9
3.4 Measuring Non-systematic Errors 12
3.5 Summary of the UMBmark Procedure 15
4. Measuring Systematic Errors Experiments 16
4.1 TRC LabMate 16
4.2 Cybermotion 17
4.3 CLAPPER 19
4.4 Remotec Andros 21
4.5 Remotec Andros with Basic Encoder Trailer 22
4.6 Smart Encoder Trailer 23
4.6.1 Validity of the SET Simulation 23
4.6.2 Implementation Details of the SET Simulation 24
5. Measuring Non-systematic Errors Experiments 27
6. Correction of Systematic Dead-reckoning Errors 29
6.1 Analysis of Type A and Type B Errors 30
6.2 Compensation for systematic dead-reckoning errors 34
6.3 Correction of Systematic Errors 35
7. Conclusions 39
7.1 Measurement of Systematic Errors 39
7.2 Measurement of Non-systematic Errors 40
7.3 Correction of Non-systematic Errors 40
7.4 Future Work 41
8. References 42
Appendix A: The Effect of Unequal Wheel-diameters During Turning 44
Appendix B: Measurement and Correction of the Scaling Error Es 47
Appendix C: UMBmark Experimental Results for Systematic Errors 48
Appendix D: Extended UMBmark Experimental Results for Non-systematic
Errors 54
Appendix E: Correction of Systematic Errors Experimental Results 60
Appendix F: Reprint of: "The CLAPPER A Dual-drive Mobile Robot
With Internal Correction of Dead-reckoning Errors." 68
1. Introduction
This report introduces a method for measuring the dead-reckoning accuracy
in mobile robots. Our method, called the University of Michigan Benchmark
(UMBmark) test, is especially designed and optimized for differential drive
robots (like the TRC LabMate), but the method can be used for all robots.
In the report we present the results from several different experiments
in which different aspects of the dead-reckoning performance of six mobile
robot (or robot configurations) were tested and compared. The six robots
are:
1. TRC LabMate
2. Cybermotion K2A
3. CLAPPER (4-DOF platform)
4. Remotec Andros
5. Remotec Andros with "encoder trailer"
6. TRC LabMate with Smart Encoder Trailer (simulation only)
Before we describe these platforms and the experiments in greater detail,
we will discuss the motivation for trying to improve dead-reckoning accuracy.
In Section 2 we define some important concepts in dead-reckoning and in
Section 3 we introduce the UMBmark procedure. Section 4 and 5 presents
the experimental results from testing the six robot platforms with the
UMBmark test. Finally, in Section 6 we present a method for calibrating
mobile robots using the UMBmark test.
1.1 Absolute Positioning Methods
In most mobile robot applications two basic position-estimation methods
are employed together: absolute and relative positioning [Borenstein and
Koren, 1987; Hollingum, 1991; Byrne et al., 1992; Chenavier and Crowley,
1992; Evans, 1994]. Relative positioning is usually based on dead-reckoning
(i.e., monitoring the wheel revolutions to compute the offset from a known
starting position). Dead-reckoning is simple, inexpensive, and easy to
accomplish in real-time. The disadvantage of dead-reckoning is its unbounded
accumulation of errors.
Absolute positioning methods usually rely on (a) navigation beacons,
(b) active or passive landmarks, (c) map matching, or (d) satellite-based
navigation signals. Each of these absolute positioning approaches can be
implemented by a variety of methods and sensors. Yet, none of the currently
existing systems is particularly elegant. Navigation beacons and landmarks
usually require costly installations and maintenance, while map-matching
methods are either very slow or inaccurate [Cox, 1991], or even unreliable
[Congdon et al, 1993]. With any one of these measurements it is necessary
that the work environment either be prepared or be known and mapped with
great precision. Satellite-based navigation (GPS) can be used only outdoors
and has poor accuracy, on the order of 10-30 meters [Byrne, 1993]. Radio
frequency-based systems are very expensive and are susceptible to reflections
from metal objects [Byrne et al., 1992].
Another approach to the position determination of mobile robots is
based on inertial navigation with gyros and/or accelerometers. Our own
experimental results with this approach, as well as the results published
by Barshan and Durrant-Whyte [1993; 1994], indicate that this approach
is not advantageous. Accelerometer data must be integrated twice to yield
position, thereby making these sensors exceedingly sensitive to drift.
Another problem is that accelerations under typical operating conditions
can be very small, on the order of 0.01 g. Yet, fluctuation of this magnitude
already occur if the sensor tilts relative to a perfectly horizontal position
by only 0.5o, for example when the vehicle drives over uneven floors. Gyros
can be more accurate (and costly) but they provide information only on
the rate of rotation of a vehicle, so their data must be integrated once.
This problem does not exist with electronic compasses that measure the
orientation of the robot relative to the earth's magnetic field. However,
electronic compasses are not recommended for indoor applications, because
of the large distortions of the earth's magnetic field near power lines
or steel structures [Byrne et al., 1992].
1.2 The Importance of Dead-reckoning
Improved dead-reckoning can dramatically reduce the cost for installations
of mobile robot systems because it simplifies the fundamental problem of
position determination.
Evidence for the importance of dead-reckoning accuracy was provided
at the 1992 AAAI Mobile Robot Competition in San Jose, California. Mobile
robots from 10 leading universities and research institutes took part in
this competition, which comprised of three different "typical mobile
robot tasks." The two teams with the first and second place winning
entries, "CARMEL" and "FLAKEY," ( U of Michigan and
Stanford Research Institute, respectively) summarized their experience
and insights from this competition in [Congdon et al., 1993]. Comparing
the performance of U of M's CARMEL and SRI's FLAKEY the teams concluded:
"The use of precise dead-reckoning and long-range sensing gave
CARMEL a marked advantage... [over FLAKEY's landmark navigation]."
In spite of the apparent importance of accurate dead-reckoning, little
research is directly aimed at improving the dead-reckoning accuracy of
mobile robots. We attribute this observation to the fact that a large portion
of research in mobile robotics is being done by the Artificial Intelligence
(AI) community. AI researchers are traditionally concerned with the higher-level
aspects of robotics. For this reason, AI researchers appear to focus on
methods of feature extraction and map matching [Skewis et al., 1991; Kortenkamp
et al. 1992; Rencken, 1994]. These research issues are of great importance
for the future development of mobile robots, but at this time they are
either too slow or too inaccurate to replace dead-reckoning altogether.
Even Cox [1991], a proponent of map-matching, says about the virtues of
dead-reckoning accuracy:
"There also appears to be a self sustaining property to this configuration
[map-matching combined with dead-reckoning]: Accurate knowledge of position
allows for fast robust matching, which leads to accurate knowledge of position."
2. Properties of Dead-reckoning Errors
Figure 2.1 shows a typical differential drive mobile robot, the LabMate
platform manufactured by [TRC]. In this design incremental encoders are
mounted onto the two drive motors to count the wheel revolutions. Using
simple geometric equations, it is straight-forward to compute the momentary
position of the vehicle relative to a known starting position. This computation
is called dead-reckoning. For completeness, we rewrite the well known equations
for dead-reckoning below.
Suppose that at sampling interval I the left and right wheel encoders
show a pulse increment of NL and NR, respectively. Suppose further that
cm = Dn/nCe (2.1)
where
cm - Conversion factor that translates encoder pulses into linear
wheel displacement.
Dn - Nominal wheel diameter (in mm).
Ce - Encoder resolution (in pulses per revolution).
n - Gear ratio of the reduction gear between the motor (where the
encoder is attached) and the drive wheel.
We can compute the incremental travel distance for the left and right
wheel, DUL, I and DUR, I , according to
DUL/R, I = cm NL/R, I (2.2)
and the incremental linear displacement of the robot's centerpoint
C, denoted DUi , according to
DUi = (DUR,i + DUL,i)/2 (2.3)
Next, we compute the robot's incremental change of orientation
Dqi = (DUR,i - DUL,i)/b (2.4)
where b is the wheelbase of the vehicle, ideally measured as the distance
between the two contact points between the wheels and the floor.
The robot's new relative orientation qi can be computed from
qi = qi-1 + Dqi (2.5)
and the relative position of the centerpoint is
xi = xi-1 + DUi cosqi (2.6a)
yi = yi-1 + DUi sinqi (2.6b)
where
xi, yi - relative position of the robot's centerpoint c at instant
I.
As one can see from Eqs. (2.1) - (2.6), dead-reckoning is based on
simple equations that are easily implement, and that utilize data from
inexpensive incremental wheel encoders. However, dead-reckoning is based
on the assumption that wheel revolutions can be translated into linear
displacement relative to the floor. This assumption is only of limited
validity. One extreme example is wheel slippage: If one wheel was to slip
on, say, an oil spill, then the associated encoder would register wheel
revolutions even though these revolutions would not correspond to a linear
displacement of the wheel.
Besides this extreme case of total slippage, there are several other,
more subtle reasons for inaccuracies in the translation of wheel encoder
readings into linear motion. All of these error sources fit into one of
two categories: (1) systematic errors and (2) non-systematic errors.
1. Systematic errors
a. Unequal wheel diameters
b. Average of both wheel diameters differs from nominal diameter
c. Misalignment of wheels
d. Uncertainty about the effective wheelbase (due to non-point wheel
contact with the floor)
e. Limited encoder resolution
f. Limited encoder sampling rate
2. Non-systematic errors
a. Travel over uneven floors
b. Travel over unexpected objects on the floor
c. Wheel-slippage due to:
slippery floors
over-acceleration
fast turning (skidding)
external forces (interaction with external bodies)
internal forces (e.g., castor wheels)
non-point wheel contact with the floor
Systematic errors are particularly grave, because they accumulate constantly.
On most smooth indoor surfaces systematic errors contribute much more to
dead-reckoning errors than non-systematic errors. However, on rough surfaces
with significant irregularities, non-systematic errors may be dominant.
2.1 Non-Systematic Dead-reckoning Errors
Non systematic dead-reckoning errors are those errors that are caused
by interaction of the robot with unpredictable features of the environment.
For example, irregularities of the floor surface, such as bumps, cracks,
or debris, will cause a wheel to rotate more than predicted by Eq. (2.2),
because the affected wheel travels up or down the irregularity, in addition
to the expected horizontal amount of travel. Non-systematic errors are
a great problem for actual applications, because it is impossible to predict
an upper bound for the dead-reckoning error. Recent work at the University
of Michigan [Borenstein, 1994a; 1994b; 1995] showed that by using redundant
encoder data, non-systematic errors can be reduced by orders of magnitude.
2.2 Systematic dead-reckoning errors
Systematic errors are usually caused by imperfections in the design
and mechanical implementation of a mobile robot. In the course of over
12 years of experimental work with differential-drive mobile robots we
observed that the two most notorious systematic error sources are unequal
wheel diameters and the uncertainty about the effective wheelbase. This
opinion is reflected in the literature, where these two error sources are
named most often [Borenstein and Koren, 1985; 1987; Crowley, 1989; Komoriya
and Oyama, 1994; Everett, 1995].
a) Unequal wheel diameters. Most mobile robots use rubber tires to
improve traction. These tires are difficult to manufacture to exactly the
same diameter. Furthermore, rubber tires compress differently under asymmetric
load distribution. Either one of these effects can cause substantial dead-reckoning
errors.
b) Uncertainty about the wheelbase. The wheelbase is defined as the
distance between the contact points of the two drive wheels of a differential-drive
robot and the floor. The wheelbase must be known in order to compute the
number of differential encoder pulses that correspond to a certain amount
of rotation of the vehicle. Uncertainty in the effective wheelbase is caused
by the fact that rubber tires contact the floor not in one point, but rather
in a contact area. The resulting uncertainty about the effective wheelbase
can be on the order of 1% in some commercially available robots.
In conventional mobile robots systematic errors can be reduced to some
degree by careful mechanical design of the vehicle and by vehicle-specific
calibration. In this paper we introduce new methods for finding and implementing
such calibration factors.
2.3 Definition of systematic dead-reckoning errors
Systematic errors, as explained above, are vehicle-specific and don't
usually change during a run (although different load distributions can
change some systematic errors quantitatively). Thus, dead-reckoning can
be improved generally (and in our experience, significantly) by measuring
the individual contribution of the most dominant errors sources, and then
counter-acting their effect in software.
As mentioned before, the two dominant systematic dead-reckoning error
sources are unequal wheel diameters and the uncertainty about the wheelbase.
We will denote these errors Ed and Eb, respectively. It is important to
note that Eb has an effect only when turning, while Ed affects only straight
line motion. Ed and Eb are dimensionless values, expressed as fractions
of the nominal value.
Specifically, we define
Ed = DR/DL (2.7)
where DR and DL are the actual wheel diameters.
The nominal ratio between the wheel diameters is of course 1.00. We
also define
Eb = bactual/bnominal (2.8)
where b is the wheelbase of the vehicle.
At this time we have defined only the wheelbase error, Eb, and the
ratio between actual wheel diameters, Ed, as relevant factors. However,
if the average of the two actual wheel diameters, denoted Da, differs from
the nominal wheel diameter, denoted Dn, then the vehicle will experience
an additional dead-reckoning error, which we call the scaling error Es.
Es affects straight-line motion and, according to Appendix A, pure turning
motion. However, even though Es can be a significant error, Es is exceedingly
easy to measure with just an ordinary tape measure. For this reason we
will assume that Es has been measured and corrected in software before
any of the procedures described in this paper is performed. Consequently
we don't consider Es a dominant error, because even with a cheap tape measure
Es can be measured and corrected with an accuracy of 0.3-0.5% of full scale.
For completeness, Appendix B describes a simple procedure for doing so
and explains why the accuracy of a tape measure is sufficient for the task.
3. Measuring Dead-reckoning Errors
In this section we investigate two methods for isolating and measuring
systematic dead-reckoning errors. We discuss two test sequences (benchmark
tests), which allow the experimenter to draw conclusions about the overall
dead-reckoning accuracy of the robot, and to compare the performance of
different mobile robots from different manufacturers.
The first benchmark test is called the "uni-directional square
path" test. This test, or some variations of this test, have been
mentioned in the literature [Cybermotion, 1987; Komoriya and Oyama, 1994],
but we will show that this test is unsuitable for differential drive vehicles.
To overcome the shortcomings of the uni-directional square path test, we
introduce in Section 3.2 the "bi-directional square path test,"
called "UMBmark." In Section 3.3 we discuss the (limited) applicability
of the UMBmark test to the measurement of non-systematic errors. Section
3.4 summarizes the UMBmark procedure.
3.1 The uni-directional square path as a benchmark test
Figure 3.1a shows a 4 4 m uni-directional square path. The robot starts
out at a position x0, y0, q0, which is labeled START. The starting area
should be located near the corner of two perpendicular walls. The walls
serve as a fixed reference before and after the run: measuring the distance
between three specific points on the robot and the walls allows accurate
determination of the robot's absolute position and orientation.
The robot is programmed to traverse the four legs of the square path.
The path will return the vehicle to the starting area, but, because of
dead-reckoning and controller errors, not precisely to the starting position.
Since this test aims at determining dead-reckoning errors and not controller
errors, the vehicle does not need to be programmed to return to its starting
position precisely returning approximately to the starting area is sufficient.
Upon completion of the square path, the experimenter again measures the
absolute position of the vehicle, using the fixed walls as a reference.
These absolute measurements are then compared to the position and orientation
of the vehicle as computed from dead-reckoning data. The result is a set
of return position errors caused by dead-reckoning and denoted ex, ey,
and eq.
ex = xabs - xcalc
ey = yabs - ycalc (3.1)
eq = qabs - qcalc
where
ex, ey, eq Position and orientation errors due to dead-reckoning.
xabs, yabs, qabs Absolute position and orientation of the robot.
xcalc, ycalc, qcalc Position and orientation of the robot as computed
from dead-reckoning.
The path shown in Fig. 3.1a comprises of four straight line segments
and four pure rotations about the robot's centerpoint, at the corners of
the square. The robot's end position shown in Fig. 3.1a visualizes the
dead-reckoning error.
While analyzing the results of this experiment, the experimenter may
draw two different conclusions: (1) The dead-reckoning error is the result
of unequal wheel diameters, Ed, as shown by the slightly curved trajectory
in Fig. 3.1b (dotted line); or, (2) the dead-reckoning error is the result
of uncertainty about the wheelbase, Eb. In the example of Fig. 3,1b, Eb
caused the robot to turn 87o instead of the desired 90o (dashed trajectory
in Fig. 3.1b).
As one can see in Fig. 3.1b, either one of these two cases could yield
approximately the same position error. The fact that two different error-mechanisms
might result in the same overall error may lead an experimenter toward
a serious mistake: correcting only one of the two error sources in software.
This mistake is so serious because it will yield apparently "excellent"
results, as shown in the example in Fig. 3.2. In this example, we assume
that the experimenter began "improving" performance by adjusting
the wheelbase b in the control software. According to Eq. (2.4), the experimenter
needs only to increase the value of b to make the robot turn more in each
nominal 90o turn. In doing so, the experimenter will soon have adjusted
b to the "ideal" value that will cause the robot to turn 93o,
thereby effectively compensating for the 3o orientation error introduced
by each slightly curved (but nominally straight) leg of the square path.
We should note that another popular test path, the "figure-8"
path [Tsumura et al., 1981; Borenstein and Koren, 1985; Cox 1991] can be
shown to have the same shortcomings as the uni-directional square path.
3.2 The bi-directional square path experiment: "UMBmark"
The detailed example of the preceding section illustrates that the
uni-directional square path experiment is unsuitable for testing dead-reckoning
performance, because it can easily conceal two mutually compensating dead-reckoning
errors. To overcome this problem, we introduce the Bi-directional Square
Path experiment, called University of Michigan Benchmark (UMBmark). UMBmark
requires that the square path experiment is performed in both clockwise
and counter-clockwise direction. Figure 3.3 shows that the concealed dual-error
from the example in Fig. 3.2 becomes clearly visible when the square path
is performed in the opposite direction. This is so because the two dominant
systematic errors, which may compensate for each other when run in only
one direction, add up to each other and increase the overall error when
run in the opposite direction.
The result of the Bi-directional Square Path experiment might look
similar to the one shown in Fig. 3.4, which shows actual results with an
off-the-shelf LabMate robot carrying an evenly distributed load. In this
experiment the robot was programmed to follow a 4 4 m square path, starting
at (0,0). The stopping positions for five runs each in clockwise (cw) and
counter-clockwise (ccw) directions are shown in Fig. 3.4. Note that Fig.
3.4 is an enlarged view of the target area. The results of Fig. 3.4 can
be interpreted as follows:
a. The stopping positions after cw and ccw runs are clustered in two
distinct areas.
b. The distribution within the cw and ccw clusters are the result of
non-systematic errors, as mentioned in Section 2.2. However, Fig. 3.4 shows
that in an uncalibrated vehicle, traveling over a reasonably smooth concrete
floor, the contribution of systematic errors to the total dead-reckoning
error is notably larger than the contribution of non-systematic errors.
After conducting the UMBmark experiment, one may wish to derive a single
numeric value that expresses the dead-reckoning accuracy (with respect
to systematic errors) of the tested vehicle. In order to minimize the effect
of non-systematic errors, we suggest to consider the center of gravity
of each cluster as representative for the dead-reckoning errors in cw and
ccw directions.
The coordinates of the two centers of gravity are computed from the
results of (3.1) as
where n = 5 is the number of runs in each direction.
The absolute offsets of the two centers of gravity from the origin
are denoted rc.g., cw and rc.g., ccw (see Fig. 3.4) and are given by
Finally, we define the larger value among rc.g., cw and rc.g., cw as
the measure of dead-reckoning accuracy for systematic errors
Emax,syst = max(rc.g.,cw ; rc.g.,ccw) (3.4)
The reason for not using the average of the two centers of gravity
rc.g.,cw and rc.g.,ccw is that for practical applications, one needs to
worry about the largest possible dead-reckoning error. Note that the final
orientation error eq is not considered explicitly in the expression for
Emax,syst. This is so because all systematic orientation errors are implied
by the final position errors. In other words, since the square path has
fixed-length sides, systematic orientation errors translate directly into
position errors (as will be shown by Eq. (6.10) and (6.18) in Section 6).
3.4 Measuring Non-systematic Errors
Some limited information about a vehicle's susceptibility to non-systematic
errors can be derived from the spread of the return position errors that
was shown in Fig. 3.4, above. When running the UMBmark procedure on smooth
floors (e.g., a concrete floor without noticeable bumps or cracks), an
indication of the magnitude of the non-systematic errors can be obtained
from computing the estimated standard deviation, . We will list in Section
4 (Experiments) along with other experimental results, but only with the
disclaimer that all runs were performed on the same floor, which was fairly
smooth and guaranteed free of large irregularities.
We caution that there is only limited value to knowing , since reflects
only on the interaction between the vehicle and a certain floor. Furthermore,
it can be shown that from comparing the from two different robots (even
if they traveled on the same floor), one cannot necessarily conclude that
the robots with the larger showed higher susceptibility to non-systematic
errors.
In real applications it is imperative that the largest possible disturbance
be determined and used in testing. For example, the of the test in Fig.
3.4 gives no indication at all as to what error one should expect if one
wheel of the robot inadvertently traversed a large bump or crack in the
floor.
For the above reasons it is difficult (perhaps impossible) to design
a generally applicable quantitative test procedure for non-systematic errors.
However, we would like to propose an easily reproducible test that would
allow to compare the susceptibility to non-systematic errors between different
vehicles. This test, here called the extended UMBmark, uses the same bi-directional
square path as UMBmark, but, in addition, introduces artificial bumps.
Artificial bumps are introduced by means of a common, round, electrical
household-type cable (such as the ones used with 15 Amp. 6-outlet power
strips). Such a cable has a diameter of about 9-10 mm. It's rounded shape
and plastic coating allow even smaller robots to traverse it without too
much physical impact. In the proposed extended UMBmark test the cable is
placed 10 times under one of the robot's wheels, during motion. In order
to provide better repeatability for this test, and to avoid mutually compensating
errors, we suggest that these 10 bumps be introduced as evenly as possible.
The bumps should also be introduced during the first straight segment of
the square path, and always under the wheel that faces the inside of the
square. It can be shown [Borenstein, 1994b] that the most noticeable effect
of each bump is a fixed orientation error in the direction of the wheel
that encountered the bump. In the TRC LabMate, for example, the orientation
error resulting from a bump of height h= 10 mm is roughly Dq = 0.44o [Borenstein,
1994b].
Next, we need to discuss which measurable parameter would be the most
useful one for expressing the vehicle's susceptibility to non-systematic
errors. Consider, for example, Path A and Path B in Fig. 3.5. If the 10
bumps required by the extended UMBmark test were concentrated at the beginning
of the first straight leg (as shown in exaggeration in Path A), then the
return position error would be very small. Conversely, if the 10 bumps
were concentrated toward the end of the first straight leg (Path B in Fig.
3.5), then the return position error would be larger. Because of this sensitivity
of the return position errors to the exact location of the bumps it is
not a good idea to use the return position error as an indicator for a
robot's susceptibility to non-systematic errors. Instead, we suggest to
use the return orientation error, eq. Although it is more difficult to
measure small angles, we found measurement of eq to be a more consistent
quantitative indicator for comparing the performance of different robots.
Thus, we measure and express the susceptibility of a vehicle to non-systematic
errors in terms of the its average absolute orientation error defined as
where n = 5 is the number of experiments in cw or ccw direction, superscripts
"sys" and "nonsys" indicate a result obtained from
either the regular UMBmark test (for systematic errors) or from the extended
UMBmark test (for non-systematic errors). Note that Eq. (3.5) improves
on the accuracy in identifying non-systematic errors by removing the systematic
bias of the vehicle, given by
Note that the arguments inside the Sigmas in Eq. (3.5) are absolute
values of the bias-free return orientation errors. This is so because we
want to avoid the case in which two return orientation errors of opposite
sign cancel each other out. For example, if in one run eq = 1o and in the
next run eq = -1o, then we should not conclude that . Using the average
absolute return error as computed in Eq. (3.5) would correctly compute
. By contrast, in Eq. (3.6) we compute the actual arithmetic average, because
we want to identify a fixed bias.
3.5 Summary of the UMBmark Procedure
In summary, the UMBmark procedure is defined as follows:
1. At the beginning of the run, measure the absolute position (and,
if measurement of non-systematic errors is planned, orientation) of the
vehicle and initialize the onboard dead-reckoning starting position to
that position.
2. Run the vehicle through a 4 4 m square path in cw direction, making
sure to
stop after each 4 m straight leg;
make a total of four 90o-turns on the spot;
run the vehicle slowly to avoid slippage.
3. Upon return to the starting area, measure the absolute position
(and, optionally, orientation) of the vehicle.
4. Compare the absolute position to the robot's calculated position,
based on dead-reckoning and using Eqs. (1).
5. Repeat steps 1-4 for four more times (i.e., a total of five runs).
6. Repeat steps 1-5 in ccw direction.
7. Use Eqs. (2) and (3) to express the experimental results quantitatively
as the measure of dead-reckoning accuracy for systematic errors, Emax,syst.
8. Optionally, use a plot similar to Fig. 3.4 to represent exi and
eyi graphically.
9. If an estimate for the vehicle's susceptibility to non-systematic
errors is needed, then perform steps 1-6 again, this time placing a round
10 mm diameter object (for example, an electrical household cable) under
the inside wheel of the robot. The object must be placed there 10 times,
during the first leg of the square path.
10. Compute the average absolute orientation error, according to Eqs.
(5) and (6).
4. Measuring Systematic Errors Experiments
In this section we present experimental results from testing five different
mobile robot systems with the UMBmark procedure. A sixth system, called
the Smart Encoder Trailer (SET), is currently under development at the
University of Michigan. Results from simulations of the SET are included
in this chapter. The six tested systems were:
1. TRC LabMate
2. Cybermotion K2A
3. CLAPPER a unique 4-degree-of-freedom (4-DOF) platform developed
at the University of Michigan [Borenstein, 1994a, 1994b, 1995].
4. Remotec Andros
5. Remotec Andros with the Basic Encoder Trailer
6. Smart Encoder Trailer (SET) Simulation results only
Table I below summarizes the properties of the six different vehicles
that were tested, and the following sections discuss each vehicle and result
in detail.
4.1 TRC LabMate
The LabMate was tested in its basic configuration, and without any
special calibration (i.e., using the nominal wheelbase b=340 mm and a wheel
diameter ration of DR/DL = 1.000). The LabMate shown in Fig. 4.1 is equipped
with ultrasonic sensors that were not used in this experiment. An onboard
486/50 MHZ PC compatible single board computer controls the LabMate. On
our LabMate platforms we bypass TRC's original onboard control computer
completely. This is done by means of a set of two HCTL 1100 [Hewlett Packard]
motion control chips that connect our 486 computer directly to the motors'
PWM amplifiers. Generally we do this in order to achieve a very fast control
loop, one that is not impeded by the relatively slow serial interface required
by the original onboard computer. In the particular case of the UMBmark
experiments described here, the bypass assures that the measurements are
not affected by the manufacturer's dead-reckoning method and, possibly,
software-embedded calibration factors. However, we emphasize that our bypass
of the original onboard computer is in no way necessary for performing
the UMBmark procedure.
In the 4 4 m square path experiments, the robot traveled at 0.2 m/s
during the four 4 m straight legs of the path and stopped before turning.
During the four on-the-spot turns the robot's wheels had a maximum linear
speed of 0.2 m/s. Figure C-1 (in Appendix C) shows the return position
errors (defined in Section 3.1.) for the unmodified/uncalibrated TRC LabMate.
In this test Emax,sys = 310 mm and = 50 mm.
UMB3TRC4.2 Cybermotion
The Cybermotion K2A platform is a smart implementation of the synchro-drive
(see [Everett, 1995] for a more detailed discussion on synchro-drives).
We believe that the implementation of the synchro-drive on the Cybermotion
K2A provides the inherently best dead-reckoning performance among all commonly
used mobile robot drive kinematics. This is especially true with regard
to non-systematic errors. For example, if the K2A encounters a bump on
the ground, then the wheel in contact with the bump would have to turn
slightly more than the other two wheels. However, since all the wheels
are powered by the same motor and have the same speed, the wheel on the
bump will slip (at least, this is more likely than to assume that both
other wheels on the ground will slip). Thus, if slippage occurs in the
wheel that is "off," then the dead-reckoning information from
the "correct" wheels remains valid, and only a small error (if
at all) is incurred.
The Cybermotion K2A platform shown in Fig. 4.2 is called CARMEL. CARMEL
was the first robot to be placed into service at the University of Michigan's
Mobile Robotics Lab when the lab was created in 1987. Since then, CARMEL
has had many collisions, was disassembled several times, and has survived
generally rough treatment. For these reasons, one should regard CARMEL's
UMBmark performance with caution. In our test, we found Emax,sys = 63 mm
and = 60 mm. Although we have not studied in depth the kinematics of
the K2A with regard to systematic errors, we believe that it is susceptible
to some of the same systematic errors as differential-drive mobile robots.
This is evident from the clearly defined separate clusters for the cw and
ccw runs in Fig. C-2 in Appendix C. CARMEL traveled at 0.2 m/s during the
four 4 m straight legs of the path and stopped before turning.
UMB1CYB4.3 CLAPPER
The Compliant Linkage Autonomous Platform with Position Error Recovery
(CLAPPER) is a 4-Degree-of-Freedom (4DOF) vehicle developed and built at
the University of Michigan [Borenstein, 1994a; 1994b, 1995]. The CLAPPER
comprises two off-the-shelf TRC LabMates (here called "trucks")
connected by a so-called compliant linkage (see Fig. 4.3). The vehicle
is instrumented with two rotary absolute encoders that measure the rotation
of the trucks relative to the compliant linkage. And a linear encoder measures
the relative distance between the centerpoints of the two trucks. The unique
ability to measure and correct non-systematic dead-reckoning errors during
motion. A more detailed description of the CLAPPER is given in Appendix
F, where we have included a reprint of reference Borenstein 1994a.
The CLAPPER can also detect and correct the two dominant systematic
dead-reckoning errors (i.e., unequal wheel-diameters and uncertainty about
the effective wheelbase). However, the CLAPPER also introduces some new
systematic errors related to its unique configuration (see more detailed
explanation in [Borenstein, 1994b]. These new systematic errors were reduced
by extensive trial-and-error calibration before running the UMBmark test.
Figure C-3 in Appendix C shows the results of the UMBmark test with the
CLAPPER. In this test Emax,sys = 22 mm and = 11 mm . Note that = 11
mm is substantially lower than the results for the other vehicles. This
fact demonstrates the successful correction of non-systematic errors.
We should note that the test condition for the UMBmark test of the
CLAPPER differed somewhat from the exact UMBmark specifications: (a) The
test path was of rectangular shape with 7 4 m dimensions; (b) the vehicle
also made some additional maneuvers in order to approach the stopping position
properly (see [Borenstein, 1994b] for details); (c) The CLAPPER's average
speed was 0.45 m/s, and (d) and the vehicle did not come to a complete
halt before turns. These deviations from the UMBmark specifications are
of little impact for a well calibrated system. If these differences had
any effect on the CLAPPER's UMBmark performance it was one of deterioration
and of not improvement.
UMB3TRC
Digressing for a moment from this section's focus on systematic errors,
we observe from comparing Figs. C-2 and C-3 that the active error correction
of the CLAPPER provides substantially better correction of non-systematic
errors than the passive error correction inherently present in the K2A's
synchro-drive. This observation is also supported by the two standard deviations,
CLAPPER = 11 mm and sK2A = 60 mm, which provide some indication for the
magnitude of non-systematic errors. However, this comparison is probably
slightly biased in favor of the CLAPPER, because of the less-than-perfect
physical condition of our K2A platform.
4.4 Remotec Andros
The Remotec Andros (the University of Michigan's modified model is
shown in Fig. 4.4) is a uniquely designed tracked vehicle for tele-operation
on difficult terrain. The most unique feature of the Andros is the set
of two auxiliary tracks that can be raised or lowered individually. These
auxiliary tracks allow the vehicle to climb over large obstacles and move
up and down stairs. When the auxiliary tracks are lifted the vehicle can
turn even in tight spots.
While tracked vehicles allow operation in rough terrain, a tracked
vehicle is very difficult to control under computer guidance and without
a human operator. This is so because the widely used odometry-based position
feedback cannot be implemented easily on a tracked vehicle: It is an inherent
property of tracked vehicle steering that the tracks slip substantially
during turning. Under tele-operator control, the lack of dead-reckoning
information is not a problem, because the operator has visual feedback.
In recent years there has been growing interest, especially in the
DOE Robotics community, in converting the Remotec Andros and other tracked
vehicles to fully autonomous operation. The University of Michigan procured
an Andros in 1993, and, in anticipation of autonomous operation, had the
vehicle motors custom-equipped with incremental encoders. These encoders
provide feedback on track position and rotational velocity for accurate
velocity control. One currently ongoing research effort at our lab aims
at developing a complex slippage model that would allow to correct to a
limited extend the huge dead-reckoning errors caused by track slippage
during turning (see [Fan et al., 1995] for more details).
To assess the extend of dead-reckoning errors in our encoder-equipped
Andros we performed the UMBmark test. However, the nominal test-procedure
had to be modified: The vehicle could not be programmed to perform a square
path, because the dead-reckoning errors were so large that the nominal
path could not even be approximated. Instead, we drove the vehicle by joystick
through the 4 4 m path and compared its computed (i.e., using dead-reckoning)
position with the vehicle's actually measured stopping position. Figure
C-4 shows the resulting dead-reckoning errors: Typically, we encountered
errors of 10 to 12 meters(!) for a square path of nominally 16 meters total
length. The orientation error was typically on the order of 120 - 130o!
It is quite clear from these results that odometric dead-reckoning is not
a viable option with tracked vehicles. One interesting observation is that
many of the run ended with very similar errors, indicating a high repeatability
of the error mechanism. However, there were also runs where the final errors
differed substantially from the set of "repeatable" errors.
4.5 Remotec Andros with Basic Encoder Trailer
In order to investigate and potentially improve dead-reckoning performance
of tracked vehicles, the University of Michigan has developed a unique
attachment for the Remotec Andros (or any robot with poor dead-reckoning),
called the "Basic Encoder Trailer" (BET) (see [Fan et al., 1995]
for more details). The BET differs in function from the "Smart Encoder
Trailer," as will be discussed in Section 2.5 below.
The BET is a small two-wheeled trailer that drags behind the main vehicle
(see Fig. 4.5). Mounted on each wheel is an optical incremental encoder.
A rotary joint allows the trailer to rotate horizontally about a fixed
point located behind the pulling vehicle. An optical absolute encoder measures
the angle between the trailer and the main vehicle. The trailer can rotate
around this joint without limitation because of a slip ring that provides
the electrical connections to the wheel encoders. When the Andros travels
backward, the BET is designed to swivel and lead. The BET is also designed
to be raised off the floor when the tracked vehicle drives over obstacles,
although this function is not yet implemented on our system. Using the
same dead-reckoning algorithm as is used for differential-drive robots,
one can easily compute the incremental position of the center-point of
the trailer. Then, using the angular measurements of the absolute encoder
on the trailer/vehicle joint, one needs to apply only a simple coordinate
transformation to compute the incremental position of the main vehicle.
The rational for using a device like the BET, despite its obvious disadvantages,
is the fact that many DOE applications might require a tracked vehicle
because of occasional obstacles, but would offer relatively smooth concrete
floors during most of the robot's travel. For autonomous operation, a "conventional"
tracked robot system would require nearly continuous absolute position
updates, to provide control feedback. With conventional techniques, this
would require the costly installation and maintenance of beacon systems
in which several of the beacons can be seen at all times. We believe that
the installation cost for such a system could be dramatically lower, if
dead-reckoning information was available most of the time.
The dead-reckoning accuracy of the Andros with BET attached was tested
with the help of the UMBmark test. The results are shown in Fig. C-5. As
expected, the average Return Position Error
was relatively small, on the order of 60-70 mm. However, Fig. C-5
shows an unexpected large spread of errors, larger than what could be explained
as caused by irregularities on the floor. We will further investigate this
matter in the future, but our current assumption is that electrical noise
from the low-cost slip ring causes random distortions of the encoder pulses,
thus resulting in erratic encoder readings.
4.6 The Smart Encoder Trailer
The Smart Encoder Trailer (SET) is an innovative method for accurate
dead-reckoning with mobile robots. This approach is based on a method called
Internal Position Error Correction (IPEC), which was recently developed
at the University of Michigan. This is the same method as the one used
on the CLAPPER (discussed in Section 4.3, above). The SET is designed to
be attached to an existing mobile robot (see Fig. 4.6), unlike the CLAPPER,
which is a special purpose custom-built vehicle.
We have just completed the construction of the SET (see Fig. 4.7),
but the system is not functional yet. However, we will present recent simulation
results, which, combined with experimental results from the similarly configured
CLAPPER, strongly suggest the feasibility of the SET implementation.
4.6.1 Validity of the SET Simulation
Many experimentalists (including the authors here) are often critical
of simulation results. This is particularly true when new concepts are
tested for which the theoretical models used in the simulation have not
been verified experimentally. In the case of our SET simulation, however,
we are fairly confident in the validity of our simulation. The reason is
as follows: The concept and actual design of the SET described here is
directly related to the concept and design of the CLAPPER (see Section
4.3). The CLAPPER is an actually working piece of hardware that has been
tested under realistic (in our lab) and under tougher-than-realistic (on
the lawn in the backyard of our lab) conditions. In addition, a simulation
program for the CLAPPER has been developed, which models the CLAPPER and
its method for measuring and correcting dead-reckoning errors very accurately.
We have compared and validated the accuracy of results from the CLAPPER
simulation against results of the actual experiments with the CLAPPER.
We are explaining all this because the SET simulation in this report
is directly derived from the CLAPPER simulation. Comparing Fig. 4.6 with
Figure 2 of the CLAPPER paper in Appendix F, it is quite obvious that the
SET is very similar in design yet substantially less complex. For these
reasons we are quite confident in the accuracy of the SET simulation presented
here.
4.6.2 Implementation Details of the SET Simulation
In this section we will briefly present the principle of operation
of our error correction method, called Internal Position Error Correction
(IPEC), and its implementation on the robot/trailer system of Fig. 4.6.
We recall that the primary purpose of the SET is to measure and correct
dead-reckoning errors. We further recall that the foremost problem in dead-reckoning
is the orientation error that results from traversing a bump or crack or
object on the floor.
Figure 4.8 shows a line labeled "direction after traversing the
bump," which is the (unintended) direction of the robot after it cleared
a bump. Since this direction differs from the intended (straight ahead)
direction as the result of a dead-reckoning error, the robot still "believes"
it was traveling straight ahead. Consequently, the robot would expect the
center of the trailer to be straight behind, along the dotted line labeled
Le in Fig. 4.8. Using dead-reckoning data from both the robot and the trailer,
the robot can always compute this expected direction to the center of the
trailer, whether both are traveling straight or along a curved path. This
expected direction can then be compared to the measured direction, which
is readily available from the absolute rotary encoder on the center of
the robot. The difference between the expected direction and the measured
direction is the measured orientation error Dqm. Dqm can then be used (as
will be explained below) to correct the computed orientation of the robot,
which was based on dead-reckoning. The orientation error of the trailer
can be determined in a similar way, relative to the center of the robot.
It is evident from Fig. 4.8 that the measured orientation error Dqm
is not identical to the actual orientation error Dqa, and one must ask
how we can correct the original dead-reckoning orientation if we don't
know the actual error. The answer to this question is that Dqm is almost
identical to Dqa, and that for the kinematic configuration of the robot/trailer
system this near-identity is guaranteed under all operating conditions
(with a few known exceptions).
Our simulation program accurately models the kinematic design of a
TRC LabMate robot with an attached SET (see Fig. 4.9). The simulation program
models a wheelbase error by giving the simulated TRC an "actual"
wheelbase of 337 mm instead of 340 mm, as assumed by the programs dead-reckoner.
Similarly, the vehicle is simulated to have a wheel diameter ratio of 0.9985,
while the dead-reckoner assumes the nominal ratio of 1. For the non-systematic
error experiments (see Fig. D-6), the program also models a series of 10
bumps, each 10 mm high, during the first leg of the square path prescribed
by the UMBmark procedure. The bump is "applied" to the wheel
that faces the inside of the square path. Furthermore, the roughness of
a concrete floor is simulated by random bumps, which are "applied"
to the drive wheels approximately every 2 cm. Each wheel experiences a
bump of different height, but always between 0-1 mm. The heights of each
bump are determined by a random number generator. Although we simulate
these small random bumps, this part of the simulation program is not very
effective. This is so because the random bumps average more or less evenly
over the complete run, causing only a minimal spread of the return error
positions. This fact is not obvious in the SET plot in Fig. D-6, since
the SET would minimize the spread anyway (because of the IPEC method).
5. Measuring Non-systematic Errors Experiments
In this section we present results of measurements of non-systematic
errors using the extended UMBmark test (explained in Section 3.4). Table
II lists the results for the three robots that were tested. As explained
in Section 3.4, ten 10-mm bumps were introduced during the first leg of
each run. The resulting average return orientation errors, (5 each in cw
and ccw direction) are compared in Table II.
We recall that according to the explanation in Section 3.4, a vehicle's
susceptibility to non-systematic errors is best expressed in terms of the
average return orientation error, , which can be computed from the raw
orientation data of the extended UMBmark test, using Eq. (3.5). Note that
this computation requires the average of the systematic return orientation
errors, and , in order to remove the systematic bias from the result of
the non-systematic error tests, as shown in Eq. (3.5). All of these measurements,
along with the "bottom line" of 0 - 1 mm height result . X-Y
plots of the return position errors of these experiments although not very
useful as a tool for comparison are presented in Figures D-1 through D-6,
in Appendix D.
The results in Table II show that the Cybermotion with its inherently
resilient synchro-drive is only half as sensitive to non-systematic errors
than the LabMate. However, the CLAPPER with active error correction is
one order of magnitude less sensitive than the Cybermotion and 24 times
less sensitive than the LabMate. The simulation results from the Smart
Encoder Trailer (SET) are, as expected, equal in magnitude to the results
from the CLAPPER.
6. Correction of Systematic Dead-reckoning Errors
One interesting aspect of the error distribution pattern in the UMBmark
experiment (see Fig. 3.4, in Section 3.3, above) is the fact that one can
analytically derive correction factors from the experimental results. Before
we do so, let us first define two new error characteristics that are meaningful
only in the context of the Bi-directional Square Path experiment. These
characteristics, called Type A and Type B, represent dead-reckoning errors
in orientation. Type A is defined as an orientation error that reduces
(or increases) the total amount of rotation of the robot during the square
path experiment in both cw and ccw direction. By contrast, Type B is defined
as an orientation error that reduces (or increases) the total amount of
rotation of the robot during the square path experiment in one direction,
but increases (or reduces) the amount of rotation when going in the other
direction. As examples consider Figures 6.1 and 6.2, further below. Figure
6.1 shows a case where the robot turns four times for a nominal amount
of 90o per turn. However, because the actual wheelbase of the vehicle was
larger than the nominal value, the vehicle actually turned only 85o in
each corner of the square path. In the example of Fig. 6.1 the robot will
actually turn only qtotal = 4 85o = 340o, instead of the desired qnominal
= 360o. We observe that in both the cw and the ccw experiment the robot
ends up turning less than the desired amount , i.e., |qtotal, cw| <
|qnominal| and |qtotal, ccw| < |qnominal|. Thus, the orientation error
is of Type A. In Fig. 6.2 the trajectory of a robot with unequal wheel
diameters is shown. This error expresses itself in a curved path that adds
to the overall orientation at the end of the run in ccw direction, but
it reduces the overall rotation in the ccw direction, i.e., |qtotal, ccw|
> |qnominal| but |qtotal, cw| < |qnominal|. Thus, the orientation
error in Fig. 6.2 is of Type B.
In an actual run Type A and Type B errors will of course occur together.
The problem is therefore how to distinguish and compute Type A and Type
B errors from the measured final position errors of the robot in the Bi-directional
Square Path experiment. We approach this problem by defining a simplified
model for systematic dead-reckoning errors. This model assumes that
1. Ed and Eb are the dominant sources of systematic dead-reckoning
errors.
2. An incorrect wheelbase (Eb) causes errors only during turning but
not during straight line motion.
3. Unequal wheel diameters (Ed) cause errors only during straight
line motion but not during turning. This assumption is substantiated in
Appendix B.
4. Eb causes only Type A errors but not Type B errors.
5. Ed causes only Type B errors but not Type A errors.
6. Because of assumption #1, eliminating Eb eliminates the system's
Type A error almost completely.
7. Because of assumption #1, eliminating Ed eliminates the system's
Type B error almost completely.
8. Orientation errors are the main source of concern because once
they are incurred they grow without bound into lateral position errors
[Crowley, 1989; Feng et al., 1993].
Because of the close association between Eb and Type A errors and between
Ed and Type B errors (according to assumptions #6 and #7) we will use the
terms Eb and Type A, as well as the terms Ed and Type B, interchangeably.
6.1 Analysis of Type A and Type B Errors
Having defined a model, we will now analyze the characteristics of
the UMBmark procedure with regard to that model. To simplify the mathematical
treatment, we note that the following approximations are valid for small
angles:
Lsin L
Lsin2 2L (6.1)
Lsin3 3L
Lcos L
Lcos2 L (6.2)
Lcos3 L
where
L - the length of each side of the square path.
- any incremental orientation error caused by either Ed or Eb, measured
in [rad].
For simplicity, we assume that the starting position (x0, y0) of the
robot is at (0,0). At first we will analyze and examine the contribution
of Type A and Type B errors separately. Then, we will superimpose both
errors to represent the actual conditions.
Figure 6.1 shows the contribution of Type A errors. We recall that
according to assumptions #1 and #4 Type A errors are caused mostly by Eb.
We also recall that Type A errors cause too much or too little turning
at the corners of the square path. The (unknown) amount of erroneous rotation
in each nominal 90o turn is denoted as a. Because of the approximations
in Eqs. (6.1) and (6.2), a is measured in [rad].
a. For Type A errors in ccw direction:
x1 = x0 + L (6.3a)
y1 = y0 (6.3b)
x2 = x1 + Lsina L + La (6.4a)
y2 = y1 + Lcosa L (6.4b)
x3 = x2 - Lcos2a La (6.5a)
y3 = y2 + Lsin2a L + 2La (6.5b)
x4 = x3 - Lsin3a -2La (6.6a)
y4 = y3 - Lcos3a 2La (6.6b)
b. For Type A errors in cw direction:
x1 = x0 + L (6.7a)
y1 = y0 (6.7b)
x2 = x1 + Lsina L + La (6.8a)
y2 = y1 - Lcosa -L (6.8b)
x3 = x2 - Lcos2a La (6.9a)
y3 = y2 - Lsin2a -L - 2La (6.9b)
x4 = x3 - Lsin3a -2La (6.10a)
y4 = y3 + Lcos3a -2La (6.10b)
Figure 6.2 shows the contribution of Type B errors. We recall that
according to our assumptions #1 and #5 Type B errors are caused mostly
by the ratio between wheel diameters, Ed. We also recall that Type B errors
cause a slightly curved path instead of a straight one during the four
straight legs of the square path. Because of the curved motion, the robot
will have gained an incremental orientation error, denoted b, at the end
of each straight leg. Note that the auxiliary line c'1, which connects
the corner points of the actual path, has a slope of b/2 because it is
parallel to the tangent to the midpoint of arc c1. With respect to the
unknown parameter b (in [rad]), we obtain:
a. For Type B errors in ccw direction:
x1 = x0 + Lcos(b/2) L (6.11a)
y1 = y0 + Lsin(b/2) Lb/2 (6.11b)
x2 = x1 - Lsin(3b/2) L - 3Lb/2 (6.12a)
y2 = y1 + Lcos(3b/2) Lb/2 + L (6.12b)
x3 = x2 - Lcos(5b/2) -3Lb/2 (6.13a)
y3 = y2 - Lsin(5b/2) -2Lb + L (6.13b)
x4 = x3 + Lsin(7b/2) 2Lb (6.14a)
y4 = y3 - Lcos(7b/2) -2Lb (6.14b)
b. For Type B errors in cw direction:
x1 = x0 + Lcos(b/2) L (6.15a)
y1 = y0 + Lsin(b/2) Lb/2 (6.15b)
x2 = x1 + Lsin(3b/2) L + 3Lb/2 (6.16a)
y2 = y1 - Lcos(3b/2) Lb/2 - L (6.16b)
x3 = x2 - Lcos(5b/2) 3Lb/2 (6.17a)
y3 = y2 - Lsin(5b/2) -L(2b + 1) (6.17b)
x4 = x3 - Lsin(7b/2) -2Lb (6.18a)
y4 = y3 + Lcos(7b/2) -2Lb (6.18b)
Superimposing Type A and Type B errors for the cw experiment in x-direction
yields
xcw: -2La - 2Lb = -2L(a + b) = xc.g.,cw (6.19)
xccw: -2La + 2Lb = -2L(a - b) = xc.g.,ccw (6.20)
Subtracting (6.20) from (6.19) yields
-4Lb = xc.g.,cw - xc.g.,ccw (6.21)
or
xc.g.,cw - xc.g.,ccw (180o)
b = (6.22a)
-4L
for b in degrees.
Comparing terms in y-direction yields a similar result
yc.g.,cw + yc.g.,ccw (180o)
b = (6.22b)
-4L
Using simple geometric relations, the radius of curvature R of the
curved path of Fig. 6.2 can be found from triangle ABM in Fig. 6.3.
L/2
R = (6.23)
sin(b/2)
Once the radius R is computed, it is easy to determine the ratio between
the two wheel diameters that caused the robot to travel on a curved, instead
of a straight path (see Fig. 6.4):
DR R + b/2
Ed = = (6.24)
DL R - b/2
The ratio of Eq. (6.24) can be used to correct Type B errors as will
be explained in Section 6.2.
Similarly, a can be found by adding Eq. (6.19) and Eq. (6.20)
-4La = xc.g.,cw + xc.g.,ccw (6.25)
or
xc.g.,cw + xc.g.,ccw (180o)
a = (6.26a)
-4L
solves for a in [degrees].
Again, comparing terms in y-direction yields a similar result for a
yc.g.,cw - yc.g.,ccw (180o)
a = (6.26b)
-4L
We can now compute the wheelbase error Eb. Since the wheelbase b is
directly proportional to the actual amount of rotation as shown by Eq.
(2.4), we can use the proportion:
bactual bnominal
= (6.27)
90o 90o - a
so that
90o
bactual= bnominal (6.28)
90o - a
where, per definition of Eq. (2.8)
90o
Eb= (6.29)
90o - a
6.2 Compensation for systematic dead-reckoning errors
Once we know the quantitative values of Ed and Eb, it is easy to compensate
for these errors in software. The correction for the wheelbase error Eb
is trivial: the wheelbase b is redefined in software according to Eq. (6.28).
The correction for the unequal wheel diameters, Ed, is slightly more complex:
After performing the UMBmark procedure, we know the actual wheel diameter
ratio Ed = DR/DL from Eq. (6.24). However, when applying a compensation
factor, we must make sure not to change the average wheel diameter Da,
since one would then have to recalibrate that parameter. Da will remain
unchanged if we consider it as a constraint
Da = (DR + DL)/2 (6.30)
Solving Eqs. (6.24) and (6.30) as a set of two linear equations with
two unknowns, DR and DL, yields
2
DL = Da (6.31)
Ed + 1
and
2
DR = Da (6.32)
(1/Ed) + 1
We can now define the two correction factors
2
cL = (6.33)
Ed + 1
and
2
cR = (6.34)
(1/Ed) + 1
which can be implemented in the dead-reckoning algorithm by rewriting
Eq. (2.2) as
DUL/R, I = cL/R cm NL/R, I (6.35)
We have thus corrected both dominant systematic errors.
6.3 Correction of Systematic Errors
In this section we describe experiments that validate the above described
method for correcting Type A and Type B errors by changing the effective
wheelbase b and the effective wheel-diameter ratio DR/DL. The experiments
were performed with a LabMate robot equipped with an onboard AMPRO 486/50
MHZ PC compatible single-board computer.
The robot was programmed for both a cw and a ccw 4 4 m square path.
To avoid slippage, the robot was traveling slowly, at a speed of 0.2 m/s
during the straight legs of the square path. At the end of each leg the
robot came to a complete stop and rotated on-the-spot through 90o. This
means that the robot made a fourth 90o turn after returning to its starting
area. The linear speed of the two drive wheels during turning was approximately
0.2 m/s and -0.2 m/s. The robot started and stopped near an L-shaped corner
and used a so-called "sonar calibrator" [Borenstein 1993] to
determine its position and orientation relative to the L-shaped corner.
We will refer to this as the absolute position. The sonar calibrator comprises
three standard POLAROID ultrasonic sensors. Two sensors were facing the
long side of the L-shaped corner, the third sensor faced the short side.
The ultrasonic sensor system allowed measurement of the absolute position
of the vehicle to within 2 millimeters in the x and y directions, and
to about 0.4o in orientation.
At the beginning of each run a sonar measurement was taken to determine
the starting position of the vehicle. The robot then traveled through the
programmed path and returned to the L-shaped corner, where the perceived
position (i.e., the position the vehicle "thought" it had, based
on dead-reckoning) was recorded. Then, a second sonar measurement was taken
to determine the absolute position. The difference between the absolute
position and the perceived position is called the return position error
e; e is defined by Eqs. (3.1), above.
The uncalibrated robot (i.e., DR/DL = 1.0000 and b = bnominal = 340.00
mm) made five cw trips and five ccw trips. As expected, the return position
errors were clearly grouped in a cw cluster and a ccw cluster, as was shown
in Fig. 5. For each of the two clusters the x and y components of the respective
centers of gravity were computed according to Eq. (3.2). The resulting
xc.g. and yc.g. were used to compute Ed according to Eqs. (6.22) - (6.24).
Then, correction factors cL and cR were computed according to Eqs. (6.33)
and (6.34) and introduced into the dead-reckoning program. Similarly the
corrected wheelbase bnew was computed according to Eqs. (6.26) - (6.28).
At this time the calibration procedure was complete. In order to verify
the results we ran the UMBmark experiment for a second time, this time
with the correction factors in place. Figure 6.5 shows the results of both
the uncalibrated runs and the runs with the calibrated vehicle.
As explained in Section 3, Eqs. (3.2) and (3.3) were used to express
the experimental results quantitatively as the measure of dead-reckoning
accuracy for systematic errors, Emax,syst. In the example of Fig. 6.5,
Emax,syst was 317 mm before compensation and 21 mm after compensation.
This represents a 15-fold improvement.
In order to assure that the experiment shown in Fig. 6.5 was not an
isolated case, we performed another seven carefully monitored experiments.
Table I lists the results from all eight experiments. We emphasize that
Table I lists all experiments we ever made, it is not a selection of the
best runs. We further emphasize that in each experiment we used all runs,
without eliminating "outliers" (with the exception of four or
five runs where the errors reported by the sonar calibrator were absurdly
large, presumably due to a malfunctioning of the sonar calibrator).
The seemingly large fluctuations in improvement, especially among experiments
#3, #4, and #5 (which all used the same correction factors) are due to
the fact that the centers of gravity (c.g.s) for the runs after calibration
are all very close to the origin (as seen in Fig. 6.5). Thus, the arbitrary
spread of return position errors caused by non-systematic error sources
has greater impact on the c.g.s. For example, the c.g. of Experiment 4
is only 17 mm (5/8") closer to the origin than the c.g. of Experiment
#3 a difference that is easily attributable to the arbitrary spread of
non-systematic errors.
In principle, it is possible to achieve even better results by performing
the compensation procedure for a second time, "on top of" the
first compensation. This is so because a compensated robot can be treated
as though it was a "new" uncompensated robot, but with different
initial parameters. Using the standard deviation () of the 5 runs in each
direction it is easy to decide when a second compensation run will be beneficial.
The standard deviation of the return position errors in the UMBmark test
was about = 25 mm. The Standard Error of the Mean (SEM), defined as SEM
= /sqrt(n), was 11.2 mm (n is the number of runs). As a rule-of-thumb
sometimes used in small sample statistics [Walpole and Myers, 1985], one
can say that if Emax,syst < 3 SEM it is unlikely (here: 5%) that the
result can be improved by a second compensation. We put this rule-of-thumb
to the test in Experiment #7, where Emax,syst = 66 mm was notably worse
(the improvement over the uncompensated run was only 6.4-fold) than in
the other experiments. Applying the above rule-of thumb, it is evident
that 66 mm > 3 SEM = 33.6 mm, so that a second compensation run was
indicated. After the second compensation, the vehicle's error was Emax,syst
= 20 mm, i.e., a 21-fold reduction relative to the uncompensated systematic
error.
Table III: The Measure of Dead-reckoning Accuracy for Systematic Errors,
Emax,syst, before and after compensation.
Expert-ment # and Fig.
Emax,syst before compensation [mm]
Emax,syst after compensation [mm]
Improve-
ment
Comment
E-1
317
21
15-fold
Details also shown in Fig. 6.5
E-2
349
32
11-fold
E-3
310
31
10-fold
These 3 experiments used the same set of uncalibrated results and
identical correction factors.
E-4
310
14
22-fold
E-5
310
26
12-fold
E-6
403
35
11-fold
E-7
423
after 1st comp: 66
after 2nd comp: 20
21-fold*
In this experiment the diameter of the right wheel was slightly increased
by winding three loops of masking tape around the wheel perimeter.
E-8
232
12
19-fold
In this experiment the diameter of the left wheel was slightly increased
by winding five loops of masking tape around the left wheel perimeter.
*) Two compensation runs were performed. See explanation in main text.
7. Conclusions
This report deals with the measurement and correction of systematic
dead-reckoning errors, and with the measurement and comparison of non-systematic
errors in mobile robots. The contribution of the work described in this
report falls into three areas: (1) measurement of systematic errors, (2)
measurement of non-systematic errors, and (3) correction of systematic
errors. We will summarize our conclusions for each one of these areas below.
7.1 Measurement of Systematic Errors
The report identifies specifically the errors due to the wheel diameter
ratio, Ed, and the uncertainty about the wheelbase, Eb as the foremost
source of systematic dead-reckoning errors in differential drive mobile
robots. A third potentially significant error is the scaling error, Es.
Es is the ratio between the average of the actual wheel diameters and the
nominal wheel diameter. However, this error is so easy to measure and correct
(see Appendix B) that we have removed it from consideration.
The focus on Ed and Eb is based on our error model, which assumes that
systematic orientation errors are either of Type A or Type B. Type A errors
are directly affected by Eb and Type B errors are directly affected by
Ed. Other systematic errors may also affect the overall Type A and Type
B error. However, we do not need to worry about this, because, in principle,
both Type A and Type B errors can be eliminated completely by changing
the effective wheelbase and wheel-diameter ration in software.
Based on this model we define a benchmark test for dead-reckoning accuracy
in differential-drive robots. This test, called UMBmark, assures that different
dead-reckoning errors don't compensate for each other, as may be the case
with other dead-reckoning test. The UMBmark procedure yields a single numeric
value, Emax,sys, that represents a quantitative measure of a vehicle's
systematic dead-reckoning errors. This makes UMBmark an effective tool
for evaluating the dead-reckoning performance of a vehicle with different
parameters or for the comparison of dead-reckoning performance between
different mobile robots.
One interesting result from the UMBmark tests is that the Cybermotion
K2A (which is a synchro-drive platform) appears to have similar error characteristics
as do differential drive vehicles. This observation is made evident by
the UMBmark test in Fig. C-2. In this result one can clearly identify the
characteristic cw and ccw clusters of return position errors. The formation
of such clusters points to the existence of underlying error mechanisms
that are subject to classification into Type A and Type B errors. We will
further investigate this matter in future work. It may be possible to derive
a calibration procedure that is similar to the one described in Section
6, but for the Cybermotion platform instead of the LabMate.
7.2 Measurement of Non-systematic Errors
To measure non-systematic dead-reckoning errors, we defined a variation
of our benchmark test, called the extended UMBmark. One interesting insight
gained from the work on the extended UMBmark test is that the average return
orientation error is the relevant criterium for expressing non-systematic
errors, while the return position error is the relevant criterium for systematic
errors.
The measurement of non-systematic errors by means of the extended UMBmark
test is of interest because it clearly shows the benefits of our previously
developed Internal Position Error Correction (IPEC) method. The results
produced by the implementations of the IPEC method in the CLAPPER and in
the (simulated) Smart Encoder Trailer are consistently one order of magnitude
better than the results of "conventional" mobile robots subjected
to substantial floor irregularities.
7.3 Correction of Non-systematic Errors
Another contribution of this report is the definition of a systematic
procedure for measuring and correcting Type A and Type B dead-reckoning
errors. The effectiveness of this procedure and the validity of its underlying
model are supported by the experimental results. The results show that
by changing only the effective wheelbase and the effective wheel-diameter
ratio the vehicle's dead-reckoning accuracy (with respect to systematic
errors only) increased by at least one order of magnitude. This improvement
was consistent when tested repeatedly for the same vehicle and when tested
on the same vehicle but with artificially altered wheelbases and wheel-diameter
ratios.
One should note that dead-reckoning calibration factors are used by
many researchers. However, to date such factors were usually found by some
form of trial-and-error and some intuition on the part of the experimenter.
This type of approach is very time consuming and yields inferior results.
By contrast, the UMBmark procedure offers a systematic approach that yields
near-optimal results. The strength of the UMBmark calibration procedure
lies in the fact that even minute mechanical inaccuracies, such as wheel
diameters that differ by as little as 0.1% can be isolated and identified.
Yet, a conventional measuring tape is all that is needed to conduct the
experiment.
A higher level of sophistication can be reached by mounting a sonar
calibrator (see Section 6.3). With the help of the sonar calibrator the
UMBmark procedure lends itself to be implemented as an automated self-calibration
procedure. U of M is now beginning to develop such an automated approach.
If successful, this method would require only two human interventions:
(1) manual measurement of the scaling error Es (with an ordinary tape measure);
and (2) initial placement of the robot in a n L-shaped corner of the testing
site. The robot would then run the fully automated self-calibration routine
(UMBmark), compute the calibration factors, and insert the calibration
factors into its dead-reckoning program. This method should be of interest
for all manufacturers of differential-drive autonomous vehicles. Similarly,
end-users who are concerned with accurate dead-reckoning would want to
run the self-calibration routine periodically to correct for different
loads and tire-wear.
7.4 Future Work
The work presented in this report offers some highly attractive possibilities
for future work. Encouraged by the results of this report, we can assume
that it is possible to reduce the susceptibility of mobile robot to non-systematic
errors by one to two orders of magnitude (as shown by the CLAPPER and the
SET). Based on the results of this report we can further assume that it
is possible to reduce the effect of systematic errors by at least one order
of magnitude (as shown by our results with the UMBmark calibration procedure).
Then we can conclude that all dead-reckoning errors are effectively reduced,
thereby potentially yielding a platform that can navigate accurately over
long distances with only sporadic absolute positioning updates. We must
note, though, that these results have been obtained on different platforms,
but have not been integrated yet into one single platform.
Integration of the above named features is our goal for the near future.
The benefits of a successful integration of our error reducing measures
are significant. For example, a conventional vehicle requires an absolute
positioning update after 10 m of linear travel. Even then, a severe disturbance
might cause the vehicle to lose track of its position to the extend that
it cannot re-establish its position. By contrast, a vehicle with the dead-reckoning
improvements as we envisage will be able to travel 100 m without absolute
position correction. If one finds this thought unlikely, it is because
in the back of our minds is buried the question: "but what if there
is a really big bump...?" This question is justified for conventional
mobile robots, because we have all seen such robots getting lost upon the
encounter with a sizable disturbance. Yet, we are simply not accustomed
to seeing a vehicle navigate that immediately detects and corrects errors
caused by large disturbances. For such a vehicle orientation errors due
to floor irregularities are virtually bounded.
Based on the results and insights gained from this report, we feel
strongly motivated to pursue our goal of developing a highly accurate and
reliable, yet commercially feasible dead-reckoning robot. Many colleagues
who see a demo of our CLAPPER vehicle are impressed by the dead-reckoning
performance, but wonder about the commercial feasibility of this complex
piece of equipment. Yet, the CLAPPER is not all that complex: it is the
combination of two standard LabMates, connected by a sliding-table (which
also serves as the loading deck). The end-user price of the two LabMates
is $10K each, the sliding table and encoders can easily be integrated by
the manufacturer of the LabMates (TRC) for perhaps another $10K. Further
required to build the CLAPPER is a linear encoder and two absolute encoders
with rotary bearings and slip-rings for, say, an additional $10K. Thus,
one can reasonably expect that a commerically produced CLAPPER vehicle
could sell for $40K. By comparison, the basic Cybermotion K3A platform
costs $50K. One additional advantage of the CLAPPER, not mentioned in this
report, is the CLAPPER's ability to be recovered from actuator failure
remotely based on its actuator redundancy.
Because of these potential benefits we will continuing our work with
both the CLAPERand the SET. Combining the UMBmark calibration (for the
reduction of systematic errors) with our method for detecting and rejecting
non-systematic errors (as implemented in the CLAPPER and hopefully soon
in the Smart Encoder Trailer) promises a new level of completely reliable
dead-reckoning performance with two-to-three orders of magnitude improved
accuracy!
8. References
1. Barshan, B. and Durrant-Whyte, H.F., 1993, "An Inertial Navigation
System for a Mobile Robot." Proceedings of the 1st IAV, Southampton,
England, April 18-21, pp. 54-59.
2. Barshan, B. and Durrant-White, H. F., 1994, "Orientation Estimate
for Mobile Robots Using Gyroscopic Information." 1994 International
Conference on Intelligent Robots and Systems (lROS '94). Mnchen, Germany,
September 12-16, pp. 1867-1874.
3. Borenstein, J. and Koren, Y., 1985, "A Mobile Platform For
Nursing Robots." IEEE Transactions on Industrial Electronics, Vol.
32, No. 2, pp. 158-165.
4. Borenstein, J. and Koren, Y., 1987, "Motion Control Analysis
of a Mobile Robot." Transactions of ASME, Journal of Dynamics, Measurement
and Control, Vol. 109, No. 2, pp. 73-79.
5. Borenstein, J., 1993, "Multi-layered Control of a Four-Degree-of-Freedom
Mobile Robot With Compliant Linkage." Proceedings of the 1993 IEEE
International Conference on Robotics and Automation, Atlanta, Georgia,
May 2-7, pp. 3.7-3.12.
6. Borenstein, J., 1994a, "The CLAPPER: a Dual-drive Mobile Robot
With Internal Correction of Dead-reckoning Errors." Proceedings of
the 1994 IEEE International Conference on Robotics and Automation, San
Diego, CA, May 8-13, pp. 3085-3090.
7. Borenstein, J., 1994b, "Internal Correction of Dead-reckoning
Errors With the Compliant Linkage Vehicle." Accepted for publication
in the Journal of Robotic Systems, November 1994.
8. Borenstein, J., 1995, "The CLAPPER: A Dual-drive Mobile Robot
With Internal Correction of Dead-reckoning Errors." Submitted for
inclusion in the Video Proceedings of the 1995 IEEE International Conference
on Robotics and Automation.
9. Byrne, R.H., KIarer, P.R., and Pletta, J.B., 1992, "Techniques
for Autonomous Navigation," Sandia Report SAND92-0457, Sandia National
Laboratories, Albuquerque, NM, March.
10. Byrne, R.H., 1993, "Global Positioning System Receiver Evaluation
Results." Sandia Report SAND93-0827, Sandia National Laboratories,
Albuquerque, NM, September, 1993.
11. Chenavier, F. and Crowley, J., 1992, "Position Estimation
for a Mobile Robot Using Vision and Odometry." Proceedings of IEEE
International Conference on Robotics and Automation, Nice, France, May
12-14, pp. 2588-2593.
12. Congdon, I. et al., 1993, "CARMEL Versus FLAKEY A Comparison
of Two Winners." AI Magazine Winter 1992, pp. 49-56.
13. Cox, I. J., 1991, "Blanche An Experiment in Guidance and
Navigation of an Autonomous Robot Vehicle." IEEE Transactions on Robotics
and Automation, vol. 7, no. 2, April, pp. 193-204.
14. Crowley, J. L., 1989, "Asynchronous Control of Orientation
and Displacement in a Robot Vehicle." Proceedings of the 1989 IEEE
International Conference on Robotics and Automation. Scottsdale, Arizona,
May 14-19, pp. 1277-1282.
15. Cybermotion, 1987, "K2A Mobile Platform." Commercial
Sales Literature, 115 Sheraton Drive, Salem, VA 24153.
16. Evans, J. M., 1994, "HelpMate: An Autonomous Mobile Robot
Courier for Hospitals." 1994 International Conference on Intelligent
Robots and Systems (lROS '94). Mnchen, Germany, September 12-16, 1994,
pp. 1695-1700.
17. Everett, H.R., 1995, "Sensors for Mobile Robots," A
K Peters, Ltd., Wellesley, expected publication date Spring 1995.
18. Fan, Z., Borenstein, J., Wehe, D., Koren, Y., 1994, "Experimental
Evaluation of an Encoder Trailer for Dead-reckoning in Tracked Mobile Robots."
Technical Report, The University of Michigan, UM-MEAM-94-24, December.
19. Feng, L, Koren, Y., and Borenstein, J., 1993, "A Cross-Coupling
Motion Controller for Mobile Robots." IEEE Journal of Control Systems.
December, pp. 35-43.
20. Hewlett Packard, "Optoelectronics Designer's Catalog, 1991-1992."
21. Hollingum, J., 1991, "Caterpillar make the earth move: automatically."
The Industrial Robot, vol. 18, no. 2, pp. 15-18.
22. Komoriya, K. and Oyama, E., 1994, "Position Estimation of
a mobile Robot Using Optical Fiber Gyroscope (OFG)." International
Conference on Intelligent Robots and Systems (lROS '94). Mnchen, Germany,
September 12-16, pp. 143-149.
23. Kortenkamp, D. et al., 1992, "Integrating Obstacle Avoidance,
Global Path Planning, Visual Cue Detection, and Landmark Triangulation
in a Mobile Robot." Presented at the 1992 SPIE Symposium on Advances
in Intelligent Systems, Mobile Robots VII, Boston, MA, Nov. 15-20.
24. Rencken, W. D., 1994, "Autonomous Sonar Navigation in Indoor,
Unknown, and Unstructured Environments."1994 International Conference
on Intelligent Robots and Systems (lROS '94). Muenchen, Germany, September
12-16, pp. 431-438.
25. Skewis et al., 1991, "Motion Planning for Hospital Transportation
Robot." Proceedings of the 1991 IEEE International Conference on Robotics
and Automation, Sacramento, California, April, pp. 58-63.
26. TRC (Transition Research Corporation), Shelter Rock Lane, Danbury,
CT, 06810-8159.
27. Tsumura T., Fujiwara, N., Shirakawa, T. and Hashimoto, M., 1981,
"An Experimental System for Automatic Guidance of Roboted Vehicle
Following the Route Stored in Memory." Proc. of the 11th Int. Symp.
on Industrial Robots, Tokyo, pp. 18-193.
28. Walpole, R. E. and Myers, R. H., 1985, "Probability and Statistics
for Engineers and Scientists," 3rd edition. Macmillan Publishing Company,
New York, New York 10022.
Appendix A: The Effect of Unequal Wheel-diameters During Turning
In this Appendix we investigate how unequal wheel diameters affect
on-the-spot turning of a differential-drive mobile robot. Figure A1 shows
the two drive wheels of the robot before and after the nominal 90o turn.
Since on-the-spot-turning requires that both wheels rotate at the same
speed, we can assume that the angular velocity of both wheels is equal.
However, due to the unequal wheel diameters the actual linear velocities
of the wheels are proportional to the actual wheel diameters DR and DL.
Thus, the instantaneous center of rotation (ICR) 'O' can be found easily
as shown in Fig. A1. Note that 'O' does not coincide with the vehicle centerpoint
C. At the completion of this turn point c will have moved to c'. The "on-the-spot"
turn is therefore accompanied by a lateral displacement. However, in the
square path experiment with four "on-the-spot" turns the four
resulting lateral displacements balance and can be ignored.
We now wish to derive a relation between the actual wheel diameters
DL and DR, and the actual angle of rotation . From Figure A1 we obtain
rR DR
= (A.1)
rL DL
where
rR/L is the distance from the ICR 'O' to the right or left wheel.
rewriting Eq. (A.1) yields
rR = (DR/DL) rL (A.2)
Under normal driving conditions the ICR is always on the drive axis
(or along its imaginary extension beyond the wheels), so that
rR + rL = b (A.3)
Substituting Eq. (A.2) into Eq. (A.3) and solving for rL yields
DL
rL = b (A.4a)
DR + DL
Next, we compute the nominal linear travel distance and the nominal
number of encoder pulses that correspond to a 90o turn.
Un, 90 90o
= (A.6)
b 360o
or
b
Un,90 = (A.7)
4
where the index n indicates a nominal value and U is the length of
the arc prescribed by either one of the wheels (assuming nominal diameters)
during turning.
Substituting Eq. (A.7) into Eq. (2.2) we can compute Nn,90, the nominal
number of encoder pulses required for a 90o turn.
n Ce
Nn,90 = b (A.8)
4 Dn
Finally, we derive from the geometric relations in Fig. A1
UL 2rL
= (A.9)
360o
or
360o
= UL (A.10)
2rL
where UL is the actual distance traveled by the left wheel, which has
a diameter DL. UL is not
known but we know that the left wheel is programmed to accumulate Nn,90
pulses, so that UL can be computed as follows (again from Eq. (2.2)):
DL
UL = Nn,90 (A.11)
n Ce
Substituting Eq. (A.8) into Eq. (A.11)
DL
UL = b (A.12)
4 Dn
and substituting Eq. (A.12) in Eq. (A.10) we obtain the actual angle
of rotation, :
360o DL
= b (A.13)
8rL Dn
Substituting Eq. (A.4b) yields
45o (DR + DL)
= (A.14)
Dn
To interpret this result more easily, we define the average actual
wheel diameter
(DR + DL)
Davrg = (A.15)
2
and we rewrite Eq. (A.14) as
Davrg Dn
= (A.16)
90o
Equation (A.16) can be expressed in words as "The average actual
wheel diameter relates to the actual angle of turning as the nominal wheel
diameter relates to the nominal angle of turning."
Three important conclusions can be drawn from Eq. (A.16):
1. The orientation error due to unequal wheel diameters is independent
of which wheel is larger or smaller than the nominal diameter. Therefore,
the same error will be experienced in both cw and ccw turning. The error
is thus of Type A.
2. The orientation error depends on the average actual wheel diameter
Davrg = (DL+DR)/2.
If Davrg > Dn, then the vehicle will turn more than the nominal
amount.
If Davrg < Dn, then the vehicle will turn less.
3. The orientation error during turning does not depend on the ratio
of the actual wheel diameters, Ed = DR/DL. Rather, Ed has a minor effect
on the x and y position of centerpoint C, because the actual center of
rotation, C', does not coincide with C, as shown in Fig. A.1.
Appendix B: Measurement and Correction of the Scaling Error Es
In Section 2.3 we mentioned that the scaling error Es is easily measured
with an ordinary tape measure. One simple procedure for doing so requires
that the robot be programmed to go straight for a distance of, say, 3 m.
The experimenter marks the robot's starting and stopping positions on the
floor. Using the tape measure, the distance between the two marks can be
measured with an accuracy of typically 1 mm or 0.03% of full scale. The
actual distance is then compared to the calculated distance, based on the
robot's dead-reckoning. Es is thus defined as
Es = Lcalc/Lactual (B.1)
Compensation for the linear scaling error is achieved by replacing
the original nominal wheel diameter Dn in the dead-reckoning program by
the compensated nominal diameter Dn*:
Dn* = Es Dn (B.2)
With the simple procedure explained above, the scaling error Es will
be 0.03%. For example, in a 10 m straight run, the position error due
to Es will be 3 mm. This is roughly one order of magnitude less than
the typical error-spread due to non-systematic errors when traveling over
reasonably smooth concrete floors.
Appendix C: UMBmark Experimental Results for Systematic Errors
Appendix D:
Extended UMBmark Experimental Results for Non-systematic Errors
Figure D-4: This Figure should show the Return Position Errors for
the Remotec Andros for the 4 4 m bi-directional square path test, with
10 bumps. However, this test is not applicable because the tracks of the
Andros vehicle have grooves that are much larger than the 8-9 mm diameter
bump used in our tests. The test result would therefore be essentially
identical to the result without bumps, shown in Fig. C-4. Appendix E: Correction
of Systematic Errors Experimental Results
(All experiments in Appendix E were performed with the same TRC LabMate)
Appendix F: Reprint of [Borenstein, 1994a], entitled:
"The CLAPPER: A Dual-drive Mobile Robot With Internal Correction
of Dead-reckoning Errors."
The CLAPPER: A Dual-drive Mobile Robot With
Internal Correction of Dead-reckoning Errors
Johann Borenstein
The University of Michigan, MEAM Mobile Robotics Lab
ABSTRACT
This paper presents a new approach to accurate and reliable dead-reckoning
with mobile robots. The approach makes use of special properties of our
recently developed Multi-Degree-of-Freedom (MDOF) mobile platform, in which
two differential-drive mobile robots (called "trucks") are physically
connected through a compliant linkage. Using one linear and two rotary
encoders, the system can measure the relative distance and bearing between
the two trucks. During operation, both trucks perform conventional dead-reckoning
with their wheel encoders, but, in addition, use information about their
relative position to correct dead-reckoning errors.
Our system, called Compliant Linkage Autonomous Platform with Position
Error Recovery (CLAPPER), requires neither external references (such as
navigation beacons, artificial landmarks, known floorplans, or satellite
signals), nor inertial navigation aids (such as accelerometers or gyros).
Nonetheless, the experimental results included in this paper show one to
two orders of magnitude better positioning accuracy than systems based
on conventional dead-reckoning.
1. INTRODUCTION
In most mobile robot applications two basic position-estimation methods
are employed together: absolute and relative positioning [Borenstein and
Koren, 1987; Hongo et al, 1987]. Relative positioning is usually based
on dead-reckoning (i.e., monitoring the wheel revolutions to compute the
offset from a known starting position). Dead-reckoning is simple, inexpensive,
and easy to accomplish in real-time. The disadvantage of dead-reckoning
is its unbounded accumulation of errors.
Absolute positioning methods usually rely on (a) navigation beacons,
(b) active or passive landmarks, (c) map matching, or (d) satellite-based
navigation signals. Each of these absolute positioning approaches can be
implemented by a variety of methods and sensors. Yet, none of the currently
existing systems is particularly elegant. Navigation beacons and landmarks
usually require costly installations and maintenance, while map-matching
methods are either very slow or inaccurate [Cox, 1991], or even unreliable
[Congdon et al, 1993]. With any one of these measurements it is necessary
that the work environment be either prepared or be known and mapped with
great precision. Satellite-based navigation can be used only outdoors and
has poor accuracy (on the order of several meters) when used in real-time,
during motion.
Another approach to the position determination of mobile robots is
based on inertial navigation with gyros and/or accelerometers. Our own
experimental results with this approach, as well as the results published
in a recent paper by Barshan and Durrant-Whyte [1993], indicate that this
approach is not advantageous. Accelerometer data must be integrated twice
to yield position, thereby making these sensors exceedingly sensitive to
drift. Another problem is that accelerations under typical operating conditions
can be very small, on the order of 0.01 g. Yet, fluctuation of this magnitude
already occur if the sensor deviates from a perfectly horizontal position
by only 0.5o, for example when the vehicle drives over uneven floors. Gyros
can be more accurate (and costly) but they provide information only on
the rotation of a vehicle.
This paper introduces a new method for correcting dead-reckoning errors
without external references. This method requires two collaborating mobile
robots that can accurately measure their relative distance and bearing
during motion. Our previously developed MDOF vehicle [Borenstein, 1993;
1994a] meets these requirements and we were able to implemented and test
our error correction method on this vehicle with only minor modifications.
Section 2 summarizes the relevant characteristics of our MDOF vehicle.
Because of the new error correction capability, we now call our vehicle
the Compliant Linkage Autonomous Platform with Position Error Recovery
(CLAPPER). Section 3 describes the error correction method in detail, and
Section 4 presents experimental results.
2. THE MDOF COMPLIANT LINKAGE VEHICLE
In previous research we have developed an innovative Multi-Degree-of-Freedom
(MDOF) vehicle with compliant linkage (Fig. 1).
The advantage of MDOF vehicles over conventional mobile robots is that
they can travel sideways and they can negotiate tight turns easily. However,
existing MDOF vehicles have been found difficult to control because of
their overconstrained nature [Reister, 1991; Killough and Pin, 1992]. These
difficulties translate into severe wheel slippage or jerky motion under
certain driving conditions. Because of this excessive wheel-slippage existing
MDOF vehicles are not very suitable for mobile robot applications that
rely heavily on dead-reckoning. Our MDOF vehicle overcomes these difficulties
by introducing the compliant linkage design (Fig. 2). The compliant linkage
accommodates momentary controller errors and thereby successfully eliminates
the excessive wheel slippage reported by other makers of MDOF vehicles.
The schematic drawing in Fig. 2 shows the essential components of
the compliant linkage vehicle. The vehicle comprises of two trucks (in
our prototype, these are commercially available LabMate robots from TRC
[1993]). The two trucks are connected by the compliant linkage, which allows
force-free relative motion within its physical range. A linear encoder
measures the momentary distance between the two trucks, and two absolute
rotary encoders measure the rotation of the trucks relative to the compliant
linkage. Each of the four drive wheels in the system has a shaft encoder
to allow conventional dead reckoning.
The linear incremental encoder has a resolution of 0.1 mm, but the
actual accuracy of distance measurements between the two trucks is only
5 mm because of mechanical inaccuracies in our prototype vehicle. The
resolution of the rotary absolute encoders is 0.3o. We will call these
the three "internal" encoders.
The experiments with our MDOF vehicle [Borenstein, 1993V1] showed
that control errors are effectively absorbed by the compliant linkage,
resulting in smooth and precise motion without excessive wheel slippage.
In a series of 4 4 m square path experiments we found typical dead-reckoning
errors to be less than 6.5 cm in x and y direction, and orientation errors
were less than 1o [Borenstein, 1994a]. This dead-reckoning accuracy is
comparable with that of conventional 2-DOF robots. Of course, these results
were obtained on smooth floors without irregularities, and with well calibrated
parameters to minimize systematic errors.
3. INTERNAL CORRECTION OF
DEAD-RECKONING ERRORS
At first glance, it may appear impossible to obtain accurate position
corrections from a "floating reference point," such as another
mobile robot in motion. Yet, our method is designed to overcome this problem:
it exploits the fact that certain dead-reckoning errors develop slowly
while others develop quickly. For example, when a robot traverses a bump
or crack in the floor, it will experience an appreciable orientation error
within just a few centimeters of travel ("fast-growing" error).
The lateral position error, on the other hand, is very small at first ("slow-growing"
error), although it will grow with distance as a function of the orientation
error. Our method performs relative position measurements very frequently,
allowing each truck to detect errors in its orientation (which can have
changed significantly during one sampling interval), while relying on the
fact that the lateral position error of both trucks was only small during
the same interval.
Before we present the details of our method we should make a clear
distinction between two types of dead-reckoning errors found in mobile
robot navigation: (a) systematic errors, which are related to properties
of the vehicle, that is, they are independent of the environment; and (b)
non-systematic errors, which are usually caused by irregularities or roughness
of the floor.
Note that non-systematic errors can neither be avoided nor can they
be compensated for in conventional dead-reckoning. By contrast, the CLAPPER
can detect and reduce both systematic and non-systematic errors by one
to two orders of magnitude, even with both trucks in motion.
In this Section we explain our approach for the simple case of straight-forward
motion, but the method works equally well (and without any modification)
for curved trajectories. We will develop a numeric example throughout this
section, to show why certain assumptions are valid. At first, we assume
that both trucks are longitudinally aligned and travel forward. For the
sake of the numeric example, let us assume that both trucks are traveling
at V = 0.5 m/s, and that the sampling time of the internal encoders is
Ts = 40 ms. Thus, during a sampling interval both trucks travel a distance
Ds = VTs = 20 mm.
Next, we consider the geometry of a wheel of radius R traversing a
bump of height h (see Fig. 3). Making the simplifying assumption that the
wheel was perfectly rigid, the wheel will traverse the bump by rotating
around the point of contact C until the wheel's center point O is right
above C (at O'). During this motion the wheel encoder measures a rotation
a, which is interpreted as the linear travel distance Dmeas. Yet, the actual
travel distance in horizontal direction is only Dhor. This discrepancy
creates a linear error DD = 2(Dmeas - Dhor) (not shown in Fig. 3). Note
that the factor '2' is used because the wheel travels up and down the bump.
For straight-line motion, the low-level controller of a conventional
differential-drive mobile robot will try to keep the rotational velocities
of both wheels equal. Thus, the horizontal distance traveled by the wheel
that traversed the bump (let us assume it is the right wheel, in our example)
will be DD less than that of the left wheel, causing a curved motion to
the right, as shown in Fig. 4.
Applying simple geometric relations (based on Figs. 3 and 4, but not
derived here in detail), the numeric sample results shown in Table I are
obtained (all physical dimensions correspond to the LABMATE robot from
TRC). We will use these sample numbers in the following discussion.
The resulting orientation error Dqa (see Fig. 4) is the most significant
error in the system [Feng et al, 1993], because it will cause an unbounded
lateral error, elat, which grows proportionally with distance at a rate
of
elat(D) = DDD/b = D sin Dqa (1)
where
D - Distance traveled since clearing the bump
b - wheelbase
For example, Table I shows that the lateral error of truck A after
only 10 m travel would be elat(D=10 m) = 77 mm.
The method for detecting dead-reckoning orientation errors is based
on our new concept of fast-growing and slow-growing dead-reckoning errors.
The CLAPPER performs relative position measurements very frequently, allowing
each truck to detect fast-growing errors in its orientation (which can
have changed significantly during one sampling interval), while relying
on the fact that the lateral position error of both trucks was only small
during the same interval.
The practical implementation of this approach works as follows: Figure
4 shows the direction in which truck A "expected" truck B, based
on the dead-reckoning data from both trucks. If, however, truck A had traversed
a bump, it would have acquired an orientation error Dqa. Comparing the
direction reading from absolute encoder A with the "expected"
direction, the system can uncover this orientation error. Subsequently
the internal world model of truck A can be corrected accordingly. One problem
with this approach is the fact that even a perfectly accurate measuring
system cannot reveal the actual orientation error Dqa. Rather, because
of the lateral offset elat the orientation error is measured (incorrectly)
as Dqm. This allows us to correct the momentary orientation q (based on
dead-reckoning) in the internal world model of truck A by adding the measured
orientation error Dqm. The corrected orientation of truck A is therefore
qcorrected = q + Dqm.
In order to illustrate the validity of our approach we must show that
the difference between Dqa and Dqm. is ndeed negligibly small under all
normal driving condition. To do so, let us consider the enlarged area of
Fig. 4. It is easy to compute the lateral position error elat(D) after
traversing the bump, because it increases at a constant rate as shown in
Eq. (1). However, while traversing the bump the lateral position error
changes as a function of the orientation error, which, in turn, is a function
of the shape of the bump. Nonetheless, it can be shown that the orientation
error increases monotonously while traversing a bump [Borenstein, 1994b].
Thus, any time we sample the orientation error Dqs, we can be sure it is
the largest orientation error from the time the bump was first encountered
(i.e., DqsDqs,max). This holds true even if the wheel had not yet cleared
the bump at the end of the sampling interval.
With this explanation in mind, an upper bound for the lateral orientation
error while traversing a bump can be defined as
elat(Ds) Ds sin(Dqs) (2)
We recall that in our numeric example Ds = 20 mm and Dqs = 0.44o. Substituting
these values into Eq. (2) yields elat(Ds) = 0.15 mm after traversing the
bump.
Next, we can show that this lateral error has no significant influence
on the accuracy of the relative orientation measurement between the two
trucks. For example, the CLAPPER maintains a distance of L = 1 m between
the two trucks. One can easily compute from the geometry of Fig. 4 that
the small lateral error elat(Ds) = 0.15 mm will reduce the actual orientation
error Dqa = 0.76o by
e = sin-1(elat(Ds)/L) = sin-1(0.15/1000) = 0.01o
and result in a measured orientation error
Dqm = Dqa - e = 0.76o - 0.01o =0.75o.
Thus, the lateral error elat does reduces the accuracy of the orientation
error measurement, but only by e = 0.01o, i.e., much less than the resolution
of the internal encoders.
This numeric example illustrates how our approach exploits the concept
of slow-growing and fast-growing dead-reckoning errors: Most floor irregularities
will cause an appreciable, immediately measurable orientation error (fast-growing
error), while the resulting lateral error elat remains negligibly small
during the sampling interval (slow-growing error).
Figure 4 shows the simple case in which only truck A encountered a
bump while truck B retained its heading. However, even in the worst case,
(i.e., if truck B also encountered a bump during the same sampling interval),
its lateral error elat(Ds) would be similarly small. Neither this lateral
error nor the orientation error of truck B would cause a significant error
in the orientation measurement of truck A relative to B or vice versa.
Yet, even in this extreme case, the inaccuracy of the orientation error
measurement would only be e = 2 0.01o = 0.02o, or 0.02/0.76 100 = 2.6%.
The method described above can detect and reduce only rotational errors,
but not translational errors. However, rotational errors are much more
severe than translational errors, because orientation errors cause unbounded
growth of lateral position errors. In the numeric example above, the translational
error resulting from traversing a bump of height 10 mm was DD = 2.63 mm.
By comparison, the lateral error due to the rotational error Dq is elat
= 77 mm after only 10 m of further travel.
Another important strength of the CLAPPER's error correction system
is the fact that orientation errors do not accumulate. This is so because
the error correction (i..e., adding Dqm to the internal world model of
truck A is done in every sampling interval, Our experiments show that over-correction
or under correction in one sampling interval is simply "caught"
in the next interval. Furthermore, it doesn't matter whether the discrepancy
between expected and measured relative direction is the result of bumps,
cracks, or systematic errors.
In principal the total orientation error of each truck is bounded
by the resolution of the internal encoders. This is a major advantage compared
to conventional dead-reckoning, where orientation errors do accumulate.
In practice, however, our system cannot guarantee an error to be bounded
by the encoder resolution. Our system is sensitive to systematic measurement
errors from the encoders. For example, if rotary encoder A is constantly
biased by, say, 0.5o, then the error correction function will assume a
steady state in which truck A has a constant orientation error of 0.5o
relative to the compliant linkage. Such an error would cause slightly curved
motion of the CLAPPER (even on a perfectly smooth surface). Fortunately
this systematic error can be detected experimentally and corrected by calibration
with excellent results.
4. EXPERIMENTAL RESULTS
In order to evaluate the performance of the CLAPPER's error correction
method we performed numerous sets of experiments.
In this paper we present the results of the basic straight-line experiment,
where the CLAPPER was programmed to travel straight forward for 18 m, stop,
and return straight-backward for 18 m, to the starting position.
In order to automate the evaluation of the experiments, all experiments
started and ended near an L-shaped reference corner. Three ultrasonic sensors
were mounted on the vehicle, two sensors were facing the long side of the
L-shaped corner, the third sensor faced the short side. The ultrasonic
sensor system allowed measurement of the absolute position of the vehicle
to within 2 millimeters in the x and y directions, and to about 0.25o
in orientation.
At the beginning of each run a sonar measurement was taken to determine
the starting position of the vehicle. The vehicle then traveled through
the programmed path and returned to the L-shaped corner, where the perceived
position (i.e., the position the vehicle "thought" it had, based
on dead-reckoning) was recorded. Then, a sonar measurement was taken to
determine the absolute position. The difference between the absolute position
and the perceived position was the position error.
We performed three runs for each one of the following four conditions:
(a) without error correction, without disturbances; (b) without error correction,
with disturbances; (c) with error correction, without disturbances; and
(d) with error correction, with disturbances.
In the runs "without disturbances" one can assume disturbance-free
motion because our lab has a fairly smooth concrete floor. In the runs
"with disturbances" bumps were created by placing a 10 mm diameter
cable placed under the wheels. We used bumps only on the return leg of
the 2 18 m round-trip and only under the right-side wheels of the vehicle
(to avoid mutual cancellation of errors). In the runs with error correction
we used 20 bumps that were evenly spaced along the 18 m return-path. Some
bumps affected both the front and rear truck, some affected only one of
the two trucks. In the runs without error correction we used only 10 bumps,
because our cluttered lab could otherwise not accommodate the large path
deviations. Without error correction, each bump caused an orientation error
of approximately 0.6o.
Figure 5 summarizes the results from the straight-line experiment.
shown are the stopping positions and orientations of the vehicle after
completing the 36 m journey back and forth along the x-axis. Each one of
the four conditions of this experiment was performed three times. Note
that without disturbances, the ending positions with error correction are
only slightly better than those without correction. We relate the almost
uniform error of approx. -1.7o in the run without error correction to systematic
errors. The run with error correction shows how the systematic error is
overcome. The more important results are those from runs with disturbances.
Here the non-error corrected runs average -7.7o, out of which -1.7o are
the result of the systematic error. The remaining error average of -6o
were caused by applying identical 0.6o disturbances along the return path.
Also note that the lateral position errors (without correction) would have
been larger if the disturbances had been applied in the beginning of the
return path.
We performed many more experiments than the ones documented here. In
all runs the orientation error with the CLAPPER was less than 1.0o for
the 36 m path. The experiment described in this section, as well as several
other experiments, are documented in the video proceedings of this conference
[Borenstein,1994V2].
5. ALTERNATIVE
IMPLEMENTATIONS
We are currently investigating the possibilities of implementing our
error correction method in a different kinematic configuration. This configuration
comprises only one differential drive mobile robot, which tows a small
trailer with encoder wheels. Simulation results for this possible implementation
indicate the feasibility of this approach [Borenstein, 1994c]. From a commercial
point of view, the encoder trailer may be more attractive to manufacturers
of mobile robots and AGVs, because the trailer can be attached to most
existing vehicles.
6. CONCLUSIONS
The method described in this paper is applicable to many other autonomous
vehicles. Vehicles used in construction or agricultural applications, where
dead-reckoning has been impossible in the past because of the large amount
of slippage on soft soil, may benefit directly from our new method. Furthermore,
it may is possible to expand the growth-rate concept to tracked vehicles
(like tanks or bulldozers) and possibly even to those watercraft and aircraft
that have significantly different growth-rates in their positioning errors.
These features are made possible by exploiting the new concept of
growth-rate of dead-reckoning errors that is introduced in this paper for
the first time. The growth-rate concept distinguishes between certain dead-reckoning
errors that develop slowly while other dead-reckoning errors develop quickly.
Based on this concept, truck A frequently measures a property with slow-growing
error characteristics on reference truck B (thus admitting a small error)
to detect a fast-growing error on truck A (thus correcting a large error),
and vice versa.
In summary, the advantage of the CLAPPER system are:
1. The immediate correction of orientation errors, which would otherwise
cause unbounded growth of lateral position errors.
2. Prevention of accumulation of orientation errors, to the limit
determined by the calibration of the internal position measurement accuracy,
and provided that none of the wheels slipped sideways.
Acknowledgements:
This research was funded by NSF grant # DDM-9114394 and in part by
the Department of Energy. Special thanks to Dr. Liqiang Feng who provided
comments and suggestions for this manuscript.
7. REFERENCES
1. Barshan, B. and Durrant-Whyte, H.F., 1993, "An Inertial Navigation
System for a Mobile Robot." Proceedings of the 1st IAV, Southampton,
England, April, pp. 54-59.
2. Borenstein, J. and Koren, Y., 1985, "A Mobile Platform For
Nursing Robots." IEEE Transactions on Industrial Electronics, Vol.
32, No. 2, pp. 158-165.
3. Borenstein, J. and Koren, Y., 1987, "Motion Control Analysis
of a Mobile Robot." Transactions of ASME, Journal of Dynamics, Measurement
and Control, Vol. 109, No. 2, pp. 73-79.
4. Borenstein, J., 1993, "Multi-layered Control of a Four-Degree-of-Freedom
Mobile Robot With Compliant Linkage." Proceedings of the 1993 IEEE
International Conference on Robotics and Automation, Atlanta, Georgia,
May 2-7, pp. 3.7-3.12.
5. Borenstein, J., 1994a, "Control and Kinematic Design for Multi-degree-of-freedom
Mobile Robots With Compliant Linkage." Accepted for publication. To
appear in the IEEE Transactions on Robotics and Automation, February 1995.
6. Borenstein, J., 1994b, "Internal Correction of Dead-reckoning
Errors With the Compliant Linkage Vehicle." Accepted for publication
in the Journal of Robotic Systems, November 1994.
7. Borenstein, J, 1994c, "Internal Correction of Dead-reckoning
Errors With the Smart Encoder Trailer." Proceedings of the International
Conference on Intelligent Robots and Systems (lROS '94)- Advanced Robotic
Systems and the Real World. September 12-16, 1994, Mnchen, Germany, pp.
127-134.
8. Borenstein, J., 1994V1, "Four-Degree-of-Freedom Redundant Drive
Vehicle With Compliant Linkage." Video Proceedings of the 1994 IEEE
International Conference on Robotics and Automation, San Diego, CA, May
8-13, 1994. (Note: Video Proceedings booklet lists this entry under incorrect
title and abstract).
9. Borenstein, J., 1995, "The CLAPPER: A Dual-drive Mobile Robot
With Internal Correction of Dead-reckoning Errors." Submitted for
inclusion in the Video Proceedings of the 1994 IEEE International Conference
on Robotics and Automation.
10. Congdon, I. et al., 1993, "CARMEL Versus FLAKEY A Comparison
of Two Winners." AI Magazine Winter 1992, pp. 49-56.
11. Cox, I. J., 1991, "Blanche An Experiment in Guidance and
Navigation of an Autonomous Robot Vehicle." IEEE Transactions on Robotics
and Automation, vol. 7, no. 2, April, pp. 193-204.
12. Feng, L, Koren, Y., and Borenstein, J., 1993, "A Cross-Coupling
Motion Controller for Mobile Robots." IEEE Journal of Control Systems
Magazine. December pp. 35-43.
13. Killough, S. M. and Pin, F. G., 1992, "Design of an Omnidirectional
Holonomic Wheeled Platform Prototype." Proceedings of the IEEE Conference
on Robotics and Automation, Nice, France, May 1992, pp. 84-90.
14. Hongo, T., Arakawa, H., Sugimoto, G., Tange, K., and Yamamoto,
Y., 1987, "An Automated Guidance System of a Self-Controlled Vehicle."
IEEE Transactions on Industrial Electronics, Vol. IE-34, No. 1, 1987, pp.
5-10.
15. Reister, D. B., 1991, "A New Wheel Control System for the
Omnidirectional HERMIES-III Robot." Proceedings of the IEEE Conference
on Robotics and Automation Sacramento, California, April 7-12, pp. 2322-2327.
16. TRC (Transition Research Corp), Shelter Rock Lane, Danbury, Connecticut,
06810.