Technical Report #94-22 UMBmark: A Method for Measuring, Comparing, and Correcting Dead-reckoning Errors in Mobile Robots by Johann Borenstein' and Liqiang Feng2 December 1994 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 2) Dr. Liqiang Feng The University of Michigan The University of Michigan Department of Mechanical Department of Mechanical Engineering and Applied Mechanics Engineering and Applied Mechanics Mobile Robotics Laboratory Mobile Robotics Laboratory 1101 Beal Avenue 1101 Beal Avenue Ann Arbor, MI 48109 Ann Arbor, MI 48109 Ph.: (313) 763-1560 Ph.: (313) 936-9362 Fax: (313) 944-1113 Fax: (313) 763-1260 Email: Johann_Borenstein@um.cc.umich.edu Email: Fenggengin.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 wheelslippage 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.......................... 7 3.1 The unidirectional square path as a benchmark test.......................... 7 3.2 The bi-directional square path experiment: "UMBrrark"....................... 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 E................... 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 deadreckoning (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 Page 1

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.50, 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." Page 2

2. PROPERTIES OF DEAD-RECKONING ERRORS Figure 2.1 shows a typical differential drive Bumper mobile robot, the LabMate platform manufac- astors — tured by [TRC]. In this design incremental encoders are mounted onto the two drive motors Drive enterpont to count the wheel revolutions. Using simple motor otorive geometric equations, it is straight-forward to compute the momentary position of the vehicle Drive B relative to a known starting position. This com- wheels Bumper putation is called dead-reckoning. For complete- Incremenfal ness, we rewrite the well known equations for encoders. dead-reckoning below. Figure 2.1: A typical differential-drive mobile robot (bottom view). 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 = irDnnCe (2.1) where Cm - Conversion factor that translates encoder pulses into linear wheel displacement. D, - 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, AULI and AUR.I, according to AUL/R, I = Cm NL/R, I (2.2) and the incremental linear displacement of the robot's centerpoint C, denoted AUj, according to AUj = (AUR,i + AUL )/2 (2.3) Next, we compute the robot's incremental change of orientation A0i = (AUR,i - AULi)/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. Page 3

The robot's new relative orientation Oi can be computed from 0, = 0,1. + AO (2.5) and the relative position of the centerpoint is Xi = x;, + AUi cos0, (2.6a) yi = y_, + AUi sin0, (2.6b) where xi, y, - 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, deadreckoning 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 Page 4

Systematic errors are particularly grave, because they accumulate constantly. On most smooth indoor surfaces systematic errors contribute much more to dead-reckoning errors than nonsystematic 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, 1 994a; 1994b; 1995] showed that by using redundant encoder data, nonsystematic 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. Page 5

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, deadreckoning 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 E 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 E,. 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. Page 6

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 "unidirectional 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 Referencewall overccme the shortcomings of the uni-direc- Forward tional square path test, we introduce in Htart Section 3.2 the "bi-directional square path test," H (Xo, Yo, 0) Pre-programmed/ called "UMBmark." In Section 3.3 we discuss End square path the (limited) applicability of the UMBmark test (yx+x to the measurement of non-systematic errors. 00+E) Section 3.4 summarizes the UMBmark procedure. 3.1 The uni-directional square a path as a benchmark test __ Figure 3.1a shows a 4x4 m uni-directional square path. The robot starts out at a position Reference wall x0, Y0, 00, which is labeled START. The starting od area should be located near the corner of two perpendicular walls. The walls serve as a fixed Start reference before and after the run: measuring \ Pre-programmed the distance between three specific points on U the robot and the walls allows accurate determi- 87 deg turn instead of 90 deg nation of the robot's absolute position and turn (due to uncertainty about I orientation. ',, effective wheelbase) Curved instead of straight path The robot is programmed to traverse the four (due to unequal wheel diameter). legs of the square path. The path will return the causes a 3 deg orietation error I vehicle to the starting area, but, because of.. dead-reckoning and controller errors, not pre- -....... — cisely to the starting position. Since this test aims at determining dead-reckoning errors and not controller errors, the vehicle does not need Figure 3.1: The unidirectional square path to be programmed to return to its starting epThermnalpath position precisely - returning approximately b. Either one of the two significant errors Eb or Ed can cause the same final position error. Page 7

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 ax, sy, and cO. EX - Xahs - Xcalc y = Yahbs - Ycalc (3.1) ~g = Oabs - Ocalc where ~X, cy, E0 - Position and orientation errors due to dead-reckoning. ab,, Yabs, 0h., - Absolute position and orientation of the robot. Xcal, Ycc, Oc,,c - Position and orientation of the robot as computed from dead-reckoning. The path shown in Fig. 3.1 a 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. la 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. lb (dotted line); or, (2) the dead-reckoning error is the result of uncertainty about the wheelbase, Eb. In the example of Fig. 3, lb, Eb, caused the robot to turn 870 instead of the desired 900 (dashed trajectory in Fig. 3.1 b). As one can see in Fig. 3.1 lb, 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 900 turn. In doing so, the experimenter will soon have adjusted b to the "ideal" value that will cause the robot to turn 930, thereby effectively compensating for the 30 orientation error introduced by each slightly curved (but nominally straight) leg of the square path. Page 8

Reference wall Start Forward, 3~ orientation error. 930 deg turninstead of 90 turn (due to the uncertainty about the effective wheelbase) * \ Pre-programmed square path, 4m x 4m. \designer\doe94\deadre30.ds4, deadre30.wmf, 09/28/94 Figure 3.2: The effect of the two dominant systematic dead-reckoning errors Eb and Ed. Note how both errors may cancel each other out when the test is performed in only one direction. 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 unidirectional 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 Bidirectional Square Path experiment, called University of Michigan Benchmark (UMBmark). UMBmark requires that the square path experiment is performed in both clockwise and counterclockwise 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. Page 9

Pre-programmed _,o. square path, 4m x 47 /ro f J,~.. Curved instead of straight path (due to unequal wheel diameter) *,.4...\ In the example here, this error causes a 3' orientation error. / in the opposit diret (due to uncertainty about r\~ \~effective wheelbasE Forward Start ' End' Reference wall \desgnerldoe\deadre30.ds, deadre2.wmf, 09/28/94 Figure 3.3: The effect of the two dominant systematic deadreckoning errors Eb and Ed: When the square path is performed in the opposite direction one may find that the errors add up. 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 4x4 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 deadreckoning error is notably larger' than the contribution of non-systematic errors. In informal tests with two other LabMate robots at our lab we have observed (but not methodically noted) greater systematic dead-reckoning errors than those in Fig. 3.4. These may be due to less balanced load-distributions in those earlier tests. Page 10

Y [mm], cw cluster Center of gravity 100 of cw runs 50 /~~I ~~X [mm] -50 50 100 150 200 250 -50 Center of gravity 'i, of ccw runs -100+ -150 ----- -200-, xCg..,ccw CCW -250- - cluster DEADRE41.DS4, DEADRE41.WMF, 11/25/94 Figure 3.4: Typical results from running UMBmark (a square path run in both cw and ccw directions) with an uncalibrated vehicle. 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 n Xc.g.,CW/ccw Xi,/ccw n i=l (3.2) Yc.g.,cw/ccw Ey Y,cw/ccw n i=l where n = 5 is the number of runs in each direction. Page 11

The absolute offsets of the two centers of gravity from the origin are denoted rcg.c and rcgc (see Fig. 3.4) and are given by rc.g.,cw (X c.g.,cw c.g., and (3.3) rc.g.,ccw:Ixc.g.,ccw)2 (.g.,ccw) 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 sO is not considered explicitly in the expression for Emaxsyst. 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, a. We will list a 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 a, since a reflects only on the interaction between the vehicle and a certain floor. Furthermore, it can be shown that from comparing the a from two different robots (even if they traveled on the same floor), one cannot necessarily conclude that the robots with the larger a 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 a 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 Page 12

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= 1 mm is roughly AO = 0.440 [Borenstein, 1994b]. Next, we need to discuss which measurable In November 1994 Brad Holt from the University of Michigan's Mobile Robotics Lab talked to John Kennerly at parameter would be the most useful one for ORNL about the expected floor characteristics at potential expressing the vehicle's susceptibility to non- D&D application sites. The following are Brad Holt's notes from this conversation: systematic errors. Consider, for example, Path A and Path B in Fig. 3.5. If the 10 bumps required The floors are cement with an epoxy-coated surface that by the extended UMBmark test were concen- is "like an old carfinish." trated at the beginning of the first straight leg (as There are expansionjoints along the column lines, (approximately 30 x30 feet) and can be as deep as 1/4 inch. shown in exaggeration in Path A), then the return Nonstandard cracks are rare and would be "hairline." position error would be very small. Conversely, The buildings are uninhabited, but are regularly if the 10 bumps were concentrated toward the surveyed and maintained. The odds of encountering chunks of debris such as wrenches or wires or even papers would be end of the first straight leg (Path B in Fig. 3.5), very rare if at all. In heavy rains, however, the roofs can then the return position error would be larger. leak leaving puddles that are cleaned up after the storm Because of this sensitivity of the return position passes. The loors are no longer swept regularly. In general, the floors are "very clean", and "look good," errors to the exact location of the bumps it is not and were I to view them, I would not know that they were a good idea to use the return position error as an unused, or not swept daily. indicator for a robot's susceptibility to non- The specific buildings referred to were K31 and K33. K25 is "dirty, " K2 7 and 29 are better, but are smaller and systematic errors. Instead, we suggest to use the have a higher frequency of stairs, columns, and other return orientation error, cO. Although it is more obstacles. difficult to measure small angles, we found measurement of cO to be a more consistent Sidebar 1: Notes on expected floor characteristics at quantitative indicator for comparing the perfor- potential application sites. mance 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 nonsys 1 leenonsys sys Inonsys(3.5) -avrg IEZ,cw - avrg,cw OcCW ovrgccw n/i=l n'i=a Page 13

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 asys 1.sys avrg,cw L. i,cw n i=1 (3.6) EeSY - esys avrg,ccw,.CCW / i=1 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 c0 = 10 and in the next run ~O = -1, then we should not conclude that efnsYs = o. Using the average absolute return error as computed in Eq. (3.5) would correctly compute eOOnys = 1L By contrast, in Eq. (3.6) we compute the actual arithmetic average, because we want to identify a fixed bias. p hEnd ~o CBumps for Bumps for path B Path A -- Fo rward Path A I I ~i~~~ ~Nominal deadre2l.ds4,.wmf, 11/25194 I, _m Figure 3.5: The return position of the extended UMBmark test is sensitive to the exact location where the 10 bumps were placed. The return orientation is not. Page 14

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 4x4 m square path in cw direction, making sure to ~ stop after each 4 m straight leg; ~ make a total of four 900-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 deadreckoning 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 accuracyfor systematic errors, Emaxsyst. 8. Optionally, use a plot similar to Fig. 3.4 to represent xi and cyi 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, EcO"Ysaccording to Eqs. (5) and (6). Page 15

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 Table I: Summary of properties and UMBmark results for the six different vehicles tested Tested vehicle Result in [mm] Platform Name Comment Calibration Emaxsyst C 1. TRC LabMate none none (b=340.0, DR/D,=l) 2.Cybermotion K2A Slightly worn-out, in Original, from 63 60 service since 1987 manufacturer 3. University of Michigan 4-DOF vehicle, made yes. manual CLAPPER from 2 TRCs 22 11 with compliant linkage 4. Remotec Andros Tracked vehicle none 11,500 6,000 (11.5m) (6m) 5. Andros with Basic Encoder Tracked vehicle, Trial and error 74 200 Trailer wheeled trailer 6. Smart Encoder Trailer Simulation results only N/A in simulation 30 5 Page 16

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 1 00 [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. Figure 4.1: One of the four TRC LabMates at the University of Michigan. The system shown here is equipped with 8 ultrasonic sensors that were not used in the UMBmark experiment. In the 4x4 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-I (in Appendix C) shows the return position errors (defined in Section 3.1.) for the unmodified/uncalibrated TRC LabMate. In this test Emax,sys 310mmanda= 50mm. 4.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 nonsystematic 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 Page 17

Figure 4.2: CARMEL, the University of Michigan's oldest mobile robot has been in service since 1987. CARMEL is a Cybermotion K2A platform with many custom additions. In 1992 CARMEL was voted one of the 100 "Best of What's New" products in Popular Science. 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 Em,,,ys = 63 mm and a = 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. Page 18

4.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 University of Michigan. The CLAPPER can measure and correct non-systematic dead-reckoning errors during motion. 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 Ema.y = 22 mm and a = 11 mm. Note that a = 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 position properly (see [Borenstein, 1994b] for details); (c) The CLAPPER's average speed was Page 19

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. 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, 0CLAPPER = 11 mm and K2A = 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 lessthanl-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. Figure 4.4: The University of Michigan's Remotec Andros is custom equipped with incremental optical encoders on both drive motors and on the auxiliary track motors. The original onboard computer and motor controllers were replaced by a 486-66 MHZ PC-compatible single board computer and our own HCTL 1100 -based motor controllers. Page 20

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 aind 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 4x4 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 IO to 12 meters(!) for a square path of nominally 16 meters total length. The orientation error was typically on the order of 120 - 1300! 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 Page 21

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 contin- Figure 4.5: This encoder trailer was recently developed at uous absolute position updates, to provide the University of Michigan for use with tracked robots. The control feedback. With conventional trailer is here shown temporarily attached to a TRC LabMate, prior to its permanent installation on the Remotec techniques, this would require the costly Andros. 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. Page 22

4.6 Smart Encoder Trailer tDirection of Travel The Smart Encoder Trailer (SET) is an innovative method for accurate dead-reckoning with mobile robots. Bump This approach is based on a method called Internal Posi- MobileRobot tion Error Correction (IPEC), which was recently devel- D Absolute Drive oped at the University of Michigan. This is the same method as the one used on the CLAPPER (discussed in Drive Dnve Section 4.3, above). The SET is designed to be attached to encoder encoder an existing mobile robot (see Fig. 4.6), unlike the CLAPPER, which is a special purpose custom-built vehicle. Encoder Trailer We have just completed the construction of the SET (see Fig. 4.7), but the system is not functional yet. How- Extension ever, we will present recent simulation results, which, combined with experimental results from the similarly configured CLAPPER, strongly suggest the feasibility of the SET implementation. |Left wheel encoder Right wheel encoder Left ~ \ / (,Right 4.6.1 Validity of the SET Simulation wheelment measuremen *AeTVIN28ET d4. rVN2SET.%f" Many experimentalists (including the authors here) are Figure 4.6: Concept drawing of the Unioften critical of simulation results. This is particularly true versity of Michigan's Smart Encoder when new concepts are tested for which the theoretical Trailer (SET). Figure 4.7: Prototype of the University of Michigan's Smart Encoder Trailer (SET). In the photo here, the SET is attached to a TRC LabMate, but the SET's encoders are not interfaced yet. Note that the location of the absolute encoder is behind the robot, not at the robot's centerpoint. U of M plans to implement the IPEC method in early 1995. Then, if successful, U of M will develop algorithms designed to allow fully transparent backward travel with a trailer. Page 23

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 deadreckoning 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 AOm. AOm 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 Page 24

Original path be determined in a similar way, relative to the center of the robot. Lateral displacement - ( f sampting-inteval lat It is evident from Fig. 4.8 that the measured Direction after orientation error AOm is not identical to the actual traversing the orientation error AOa, and one must ask how we can ragt pat< a tcorrect the original dead-reckoning orientation if traversing we don't know the actual error. The answer to this urved path Robot question is that AOm is almost identical to AOa, and bump I f, that for the kinematic configuration of the ro/d enter- bot/trailer system this near-identity is guaranteed Center _ ftgunder all operating conditions (with a few known exceptions). Our simulation program accurately models the oobot actually kinematic design of a TRC LabMate robot with a Robot exects L sees trailer SET attached (see Fig. 4.9). The simulation proto "see" trailer ite m along this line along this line gram models a wheelbase error by giving the XI erctualrientation simulated TRC an "actual" wheelbase of 337 mm instead of 340 mm, as assumed by the programs Measured orientation e rror iaon 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 Encoder'/ j| i Jthe non-systematic error experiments (see Fig. D6), the program also models a series of 10 bumps, trailer /I [I each 10 mm high, during the first leg of the square I!!_ \tvins\tvin4set.ds4 path prescribed by the UMBmark procedure. The /:_-I== \tvin3set.wmf bump is "applied" to the wheel that faces the inside of the square path. Furthermore, the roughness of a Figure 4.8: After traversing a bump, the result- concrete floor is simulated by random bumps, ing change of orientation of the robot can be which are "applied" to the drive wheels approximeasured relative to the trailer. mately 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 Page 25

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). F[ml!, Actual Perceived path ' End Start " ~l a~~ 1, 2, 3, 4, 5, 6 [] [ End pa Actual Start 7 b SOE #xp.pcx 1, 3, 4, 5, 6 [ml] Figure 4.9: The screen shot here was taken after an earlier experiment in which the simulated robot/SET traversed bumps during all 4 legs of the square path. The double images show the difference between "actual" and "perceived" positions of the robot, due to deadreckoning errors. (a) IPEC disabled, and (b) IPEC enabled. Page 26

-

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 1 0-mm bumps were introduced during the first leg of each run. The resulting average return orientation errors, EOn~S")S(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 nonsystematic errors is best expressed in terms of the average return orientation error, EO""~YS 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, EOyg" and E0Srg cw, 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 O - 1 mm height result On'ys. 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-l 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. Page 27

Table II: Comparing experimental results of non-systematic error measurements with the help of the extended UMBmark test. A smaller average absolute return orientation error ee onYs in the bottom line indicates better resilience to non-systematic errors. The CLAPPER's average absolute return orientation error eenongys is 24 times smaller than that of the LabMate and 11 times smaller than the error of the Cybermotion. Return Orientation Errors [0] TRC Cyber- UofM Remotec Remotec Smart Encoder LabMate motion CLAPPER Andros Andros with Trailer (SET) Basic Encoder Simulation Trailer results only sys 0.3 3.8 -0.2 137 -0.31 0.34 avrg,cw e 0 Sayvs c cw l -2.0 1.0 -0.1 -125 -0.71 -0.06 avrg,ccw cw 1 7.1 7.8 0.1 A testwith 10 -0.1 0.4.......... 8-9 mm high cw 2 6.4 4.2 0.1 bumps is not 5.6 0.3 applicable to the Remrnotec nonsys cw 3 5.6 1.7 0.1 Andros -0.3 0.3 l,CW because the cw 4 6.6 4.2 -0.7 grooves on the 5.1 0.3 vehicle's tracks cw 5 5.9 3.6 0.2 are much larger -1.4 0.4 than 9 mm. ccw 1 -7.5 -11.4 |0.6 Furthermore, -1.0 0.0 the deadccw 2 -8.8 -2.5 -0.4 reckoning -1.0 0.3 errors of the ccw 3 -6-4.6 -0.5 track-2.2 0.3 0fonlonsys ____are so large Ei,ccw that deadccw 4 -8.8 -6.3 0. reckoning is -1.7 0.2 totally ccw 5 -8.7 -2.3 0.2 unfeasible. 1.1 0.2 no ansys 8.35 39:1 0.35: 2.53 0.16 Page 28

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 900 per turn. However, because the actual wheelbase of the vehicle was larger than the nominal value, the vehicle actually turned only 850 in each corner of the square path. In the example of Fig. 6.1 the robot will actually turn only 0,oal = 4x850 = 3400, instead of the desired 0,ominal = 3600. We observe that in both the cw and the ccw experiment the robot ends up turning less than the desired amountr, i.e., 0total, cwl < 0Enominall and 10tow. ccwl < l(nominall. 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., l0totaIccwl > l0nominall but l0total cj < 10nominaj. 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 Edand 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. Page 29

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: Lsiny = Ly Lsin2y = 2Ly (6.1) Lsin3y = 3Ly Lcosy - L Lcos2v - L (6.2) Lcos3y = L where L - the length of each side of the square path. y - any incremental orientation error caused by either Ed or Eh, measured in [rad]. For simplicity, we assume that the starting position (xO, yo) 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. Page 30

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 900 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: xI = x0 + L (6.3a) Ot. YI = Y0 (6.3b).................... x2=x,+LsinaoL+ La (6.4a) > 1 { y2 =Y+ Lcosa - L (6.4b) / x3 =x2 - Lcos2a - La (6.5a) r Y3 =Y2+ Lsin2c L + 2La (6.5b) / Nominalsquare path 3 x4=x3 -Lsin3a =-2La (6.6a) CCW y4 =3 - Lcos3a 2La (6.6b) End I X41 Y4 b. For Type A errors in cw direction: F D o I a Start_ x2 =x, + L L+ La (6.8a) 4 _, Y Y 2 y2 -=Lcosa =-L (6.8b) ' i Forward x3 =x2 -Lcos2a La (6.9a) End/' YY2- Lsin2a -L- 2La (6.9b) \ Nominalsquare path x4 =x3 -Lsin3a =-2La (6.10a) \ I y4 = 3 + Lcos3ao -2La (6.10b) \ CW 3I P- %X L =4 m y3 Figure 6.1: Type A errors in cow and cw direction. Type A errors are caused almost exclusively by the wheelbase error Eb. Page 31

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 A, 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 P/2 because it is parallel to the tangent to the midpoint of arc cl. With respect to the unknown parameter ( (in [rad]), we obtain: a. For Type B errors in ccw direction: X2, Y2 X1=xo+Lcos(/2)L (611a) X3 --- —----—................................................................. xI = x0 + Lcos(P/2) = L (6.1 la) s y =y + Lsin(3/2) L13/2 (6.11b) x2 =x- Lsin(33/2) = L-3L1/2 (6.12a) y2=y1+Lcos(33/2) = L13/2+L (6.12b) x3 = x2- Lcos(53/2) z -3LB3/2 (6.13a) \\ 3 =Y2 -Lsin(53/2) =-2L3 +L (6.13b) Nominalsquare path I x4 = x3 + Lsin(7f3/2) = 2LP (6.14a) y4 =y3 - Lcos(7f/2) = -2LP (6.14b) \ F \ Forw ard _t~ Start \ / I _ b. For Type B errors in cw direction: End L=4...m CF ~9X4, Y4 x, = x0 +- Lcos([3/2) = L (6.15a) y, = yO + Lsin(P/2) = LP/2 (6.15b) Start [/2 xi yXO' YO P/2 1 x2=x, + Lsin(3[3/2) L + 3L3/2 (6.16a) End y2 =y - Lcos(313/2) = L1/2 -L (6.16b) Forward4m C x3 = x2 - Lcos(5(/2) = 3L3/2 (6.17a) \Nominalsquare path Y3 =Y2 - Lsin(53/2) = -L(23 + 1) (6.17b) Nominasquare path x4 =x3 - Lsin(7p/2) = -2LP (6.18a) CWV y4 =y3 + Lcos(713/2) = -2LP (6.18b) Y I X3, y31 5'" igakm42.64,.. 0'R?114 Figure 6.1: Type B errors in ccw and cw direction. Type B errors are caused almost exclusively by unequal wheel diameters (Ed). Page 32

Superimposing Type A and Type B errors for the cw experiment in x-direction yields xCw: -2Loa - 2LP = -2L(ca + 3) = XC.g.,cw (6.19) XcCw: -2Lc + 2L3 =-2L(a - 3)= xc.g.ccw (6.20) Subtracting (6.20) from (6.19) yields -4LP = Xc.g.cw - Xc.g.ccw (6.21) or = Xc.g.,cw - Xc.g.ccw (1800) (6.22a) -4L for 3 in degrees. Comparing terms in y-direction yields a similar result p = Yc. g.,cw + Yc. g., ccw (1800) (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. R L/2 (6.23) L2 sin(P/2) (.) 2 c,1 - curved path (curvature strongly Once the radius R is computed, it is easy to determine A exaggerated) the ratio between the two wheel diameters that caused the \DOo94DEADRE70.d4, W.rit0.=Desired straight line path robot to travel on a curved, instead of a straight path (see Figure 6.3: Geometric relations for Fig. 6.4): finding the radius of curvature. DR_ R + b/2 Ed=R= R+b/2 (6.24) DL R-b/2 R --- - _M.............=_ _..._..._.....DL - DR Drjve Figure 6.4: Unequal wheel diameters cause the robot to travel on a curved path of radius R (curvature is exaggerated for better illustration). Page 33

The ratio of Eq. (6.24) can be used to correct Type B errors as will be explained in Section 6.2. Similarly, ac can be found by adding Eq. (6.19) and Eq. (6.20) -4Lc = xc.g.,cw + XC.g.,cc (6.25) or = Xc.g.,cw + Xcgcc (18G) 6.26a) oC =4I (6.26a) solves for ca in [degrees]. Again, comparing terms in;-direction yields a similar result for oc c= Y.g.c - Yc.g., (1800) (6.26b) -4L iz 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 90~ 90~- (6.27) so that 90~ bcrtum 90o0t bnonnal (6.28) where, per definition of Eq. (2.8) 900 Eh 90~ - (6.29) 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) Page 34

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+ I and DR (1/Ed) + (6.32) We can now define the two correction factors CL = 2 (6.33) and CR = (l/Ed) + 1 (6.34) which can be implemented in the dead-reckoning algorithm by rewriting Eq. (2.2) as A/UIJR I = CIUR C,, NJR, 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 4x4 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 900. This means that the robot made a fourth 900 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 comer. 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.4~ in orientation. Page 35

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 deadreckoning) 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 g; E is defined by Eqs. (3.1), above. The uncalibrated robot (i.e., DR/DL = 1.0000 and b = bnominaI = 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 xcg. and y,.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)2. 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, Emaxsyst. In the example of Fig. 6.5, Em.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. 2 Hoping to reduce the effect of non-systematic errors further, we actually computed Ed and Eb in two ways: (1) based on the values for xcg, according to Eqs. (6.22a) and (6.26a); and (2) based on the values for Yc.g. according to Eqs. (6.22b) and (6.26b). We then averaged EdX, and Ed,y, as well as Ebx and Eby This measure may not be necessary in general, because the respective correction values (based on xcg. or yo9g) differed by less than 1% in all cases. Page 36

Y [mm] 0 100 0 0 0 0 Center of gravity of cw runs, | D after correction X [mm] -50 50 1 00 1 50 200 250 -50 -Center of gravity of ccw runs, after correction O Before correction, cw * Before correction, ccw C After correction, cw -150 After correction, ccw -200 — -250 OEADRE81 DS4, DEADRES~MF, 10(09" Figure 6.5: Position errors of a TRC LabMate after completing the UMBmark test (4 x 4 m). Before calibration: b=340.00 mm, DRIDL = 1.00000 After calibration: b=336.17 mm, DRIDL = 1.00084 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 (a) 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 a = 25 mm. The Standard Error of the Mean (SEM), defined as SEM = a/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 Em,,,sys, < 3 xSEM 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 Ema,,,,,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 > 3xSEM = 33.6 mm, so that a second compensation run was indicated. After the second compensation, the vehicle's error was Emaxsyst = 20 mm, i.e., a 21-fold reduction relative to the uncompensated systematic error. Page 37

Table 1'l: The Measure of Dead-reckoningAccuracy forSystematic Errors, Em,,,,s, before and after compensation. Expert- Emaxsyst before Emasyst after cor- Improve- Comment ment # compensation pensation [mm] ment and Fig. [mm] E-1 317 21 15-fold Details also shown in Fig. 6.5 E-2 349 32 11-fold E-3 310 31 1 O-fold These 3 experiments used the same set of uncalibrated results and identical correction E-4 310 14 22-fold factors. E-5 310 26 12-fold E-6 403 35 11-fold after I st In this experiment the diameter of the right comp: 66 21 -fold* wheel was slightly increased by winding three E-7 423 lafter 2nd oops of masking tape around the wheel perimeter. comp: 20 In this experiment the diameter of the left E-8 232 12 19-fold 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. Page 38

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, Em,,sys, that represents a quantitative measure of a vehicle's systematic deadreckoning 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 synchrodrive 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. Page 39

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 deadreckoning 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 corer of the testing site. The robot would then run the fully automated selfcalibration 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 deadreckoning would want to run the self-calibration routine periodically to correct for different loads and tire-wear. Page 40

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 reestablish 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 deadreckoning 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 $1 OK. 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! Page 41

8. REFERENCES 1. Barshan, B. and Durrant-Whyte, H.F., 1993, "An Inertial Navigation System for a Mobile Robot." Proceedings of the 1st IA V, 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 (IROS '94). Miinchen, 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 ofASME, Journal ofDynamics, 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." Submittedfor 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 andAutomation. Scottsdale, Arizona, May 14-19, pp. 1277-1282. Page 42

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 (iROS '94). Minchen, 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., and Koren, Y., 1995, "Positioning of Mobile Robots." University of Michigan, Department ofMEAM, Technical Report #95-01, January. 1. 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 (IROS '94). Mtinchen, 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 (IROS '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. Page 43

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 Al shows the two drive wheels of the robot before and after the nominal 900 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) '0' can be found easily as shown in Fig. Al. 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 y the actual wheel diameters DL and DR, and the actual angle of rotation z. From Figure Al we obtain UL\ I rR DR (A. 1) rL DL | where rR/L is the distance from the ICR 'O' to the / right or left wheel. deadre45.ds4, rewriting Eq. (A. 1) yields deadre45.wmf, 9/28/94 Figure Al: When turning through a nominal 90~ turn, rR = (DR/DL) rL (A.2) it is not the "unequal wheel diameter" error, but rather the "average actual wheel diameter" error, that affect the amount of turning. 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 D b (A.4a) DR + DL Next, we compute the nominal linear travel distance and the nominal number of encoder pulses that correspond to a 90~ turn. Page 44

n 90 _ 900 (A.6) 7b 3600 or 7xb U, 90= (A.7) 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 900 turn. N,0= Ce b (A.8) N"9~ 4 D, Finally, we derive from the geometric relations in Fig. Al UL _ 2lrrL (A.9) T 360~ 360~ or =3600 UL (A. 10) 2,nrL 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)): n 7CDL (A. 11)!l - C, n'90 Substituting Eq. (A.8) into Eq. (A.1 1) UL =- 1DL b (A. 12) 4D, and substituting Eq. (A. 12) in Eq. (A. 10) we obtain the actual angle of rotation, z: 3600 DL Substi=tutin b (A. 13) 8rL Dn Substituting Eq. (A.4b) yields Page 45

450 (DR + DL) Dn (A. 14) Dn To interpret this result more easily, we define the average actual wheel diameter Davrg = (DR + DL) (A. 15) avrg 2 (A. and we rewrite Eq. (A. 14) as Davrg- Dn (A.16) (A.16) -r 900 actEqual ation (A. 16) can be expressed in wordsing as t"The nominaverage actual 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. Page 46

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 deaQ-reckoning program by the compensated nominal diameter Dn*: D,* = Es D, (B.2) With the simple procedure explained above, the scaling error Es will be a 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. Page 47

APPENDIX C: UMBMARK EXPERIMENTAL RESULTS FOR SYSTEMATIC ERRORS 100 UMB1TRC: Modification: none Calibration: none F I + _ I 0 _. + --- -t - -— H- -- I ------- _ — _ -300 -250 -200 -150 -100 -50 Il 50 100 150 200 250 300 350 400 -50 -100 E -150 -200 * cw -250 -G ccW - C.G., cw -300 - C.G.,ccw -350 X [mm] Figure C-1: Return Position Errors for the TRC LabMate. UMBmark test with 4x4 m bidirectional square path. Smooth concrete floor, no bumps. Page 48

Appendix C: UMBmark Experimental Results for Systematic Errors 100 50 * UMB1CYB.XLS: ~ Modification: worn-out, in service since 1987 K- I |ts X — - -- -- t -- -... — -... -.... -...- -—, Xi -300 -250 -200 -150 -100 -50 ) 50 100 150 200 250 300 350 400 +-50 _ _ 2' DD ~ Set 1, cw -100 __ Set 1, ccw E,-,E I C.G., Set 1, cw >. -150 0 C.G., Set 1, ccw -200 -250 -300 -350 X [mm] Figure C-2: Return Position Errors for the Cybermotion K2A. UMBmark test with 4x4 m bi-directional square path. Smooth concrete floor, no bumps. Page 49

Appendix C: UMBmark Experimental Results for Systematic Errors 150 1 00 -UMB1 CLAP: Modifications: 4DOF vehicle, made of 2 LabMates, 50 connected with compliant linkage Calibration: yes F --- —-- I- - I t-i t-h Ak t i- i 5-t-. t. -300 -250 -200 -150 -100 -50 0 50 100 150 200 250 300 350 400 -50 -100 * cw 3 CCW -150 - C.G., cw -200 -_ t C.G., ccw -250 -300 X [mm] Figure C-3: Return Position Errors for the University of Michigan's CLAPPER. UMBmark test with 4x4 m bi-directional square path. Smooth concrete floor, no bumps. Page 50

I

Appendix C: UMBmark Experimental Results for Systematic Errors UMB1REMO: 10000 Remotec Andros Tracked Vehicle. [ Modification: none (without encoder trailer). Calibration: none 5000 -15000 -10000 -5000 5000 10000 15000 20000 -5000 * CW * ccw -10000 C C.G., cw + C.G., ccw -15000 X [mm] Figure C-4: Return Position Errors for the Remotec Andros. UMBmark test with 4x4 m bidirectional square path. Smooth concrete floor, no bumps. Note that the scale of this plot is 50 times coarser than that of all other plots. The typical return position error of the tracked Andros vehicle was on the order of 8-10 meters! The average orientation error was 1300! Clearly, dead-reckoning with a tracked vehicle is out of the question. Page 51

Appendix C: UMBmark Experimental Results for Systematic Errors 150 100 50 i I t --- -..... — i-.. -.. — 0_ ---- -..... I t.-.. --- —----... -... — ---- e [] -300 -250 -200 -150 -100 -50 50 100 150 200 250 300 350 400,..., -50 E E ->_ _ - -100 UMB01 BET: * 10 Bumps, cw Remotec Andros with Basic Encoder Trailer Without big bumps [ 10 Bumps, ccw -150 Without big bumps Modifications: None Calibration: Trial and error for Trailer C C.G., 10 Bumps, cw -200 + C.G., 10 Bumps, ccw -250 -300 X [mm] Figure C-5: Return Position Errors for the Remotec Andros with Basic Encoder Trailer. UMBmark test with 4x4 m bi-directional square path. Smooth concrete floor, no bumps. We hypothesize that the large spread of return position errors is a measuring error caused by wear in the slipring mounted on the joint between Andros platform and encoder trailer. Page 52

Appendix C: UMBmark Experimental Results for Systematic Errors 150 UMB01SET: Smart Encoder Trailer (with IPEC) 1oo - Without big bumps Modifications: None Calibration: None. Simulation Results only. 50 K + ---- -— t - - '- -- -Xi ---— t --- —--- -- t --- -- - -300 -250 -200 -150 -100 -50 )t 50 100 150 200 250 300 350 400 -50 ).. -100 Notes on Simulation Model: Eb =340/337, Ed =0.9985. ___ ____ -150 No big bumps, but random bumps of 0-1 mm height, * 10 Bumps, cw every 2 cm of travel. L 10 Bumps, ccw;-200 _ Absolute encoder resolution: 0.3 deg m C.G., 10 Bumps, cw -250 - C.G., 10 Bumps, ccw — 300 X [mm] Figure C-6: Simulation result - return position errors for a TRC Labmate combined with the Smart Encoder Trailer (SET). UMBmark test with 4x4 m bi-directional square path. Smooth concrete floor, no bumps. Note how the accurately modeled systematic errors of the LabMate (we modeled the actually measured values from the uncalibrated LabMate in experiment E-2) are almost completely corrected by the SET (compare to Fig. E-2 with results "before correction"). Also note the (expected) similarity of the simulated result herewith the actual results from the CLAPPER in Figure Page 53

APPENDIX D: EXTENDED VMN4BMARK EXPERIMENTAL RESULTS FOR NON-SYSTEMATIC ERRORS 150 o00o UMB1OTRC: With 10 bumps Modifications: None Calibration: yes (trial 'n error) 50 -4 b -400 -350 -300 -250 -200 -150 -100 -50 50 100 150 200 250 300 Fi! * -50 -100 -150 - * 10 Bumps, cw * 10 Bumps, ccw -200 * C.G., 10 Bumps, cw -250 J- C.G., 10 Bumps, ccw _____________-__ --- —--— 300 X [mm] Figure DA1: Return Position Errors for the TRC Labmate. Extended UMBmark test with 4x4 m bi-directional square path. 10 bumps, each 10 mm high, were introduced during the first leg. Page 54

Appendix D: Extended UMBmark Experimental Results for Non-systematic Errors 250 Graph for Cybermotion K2A: 200 Return Position Errors after 10 bumps 150 100.50 E U E * - " ~- -t ---- I --- t -~ ---.........-........t.-i - t —.............i-..-. --- t-........h —.....i -300 -250 -200 -150 -100 -50 50 100 150 200 250 300 350 400 -50 * 10 bumps, cw -100 o 10 bumps, ccw -150 * _ C C.G., 10 bumps, cw -200 + yr- C.G., 10 bumps, ccw X [mm] Figure D-2: Return Position Errors for the Cybermotion K2A. Extended UMBmark test with 4x4 m bi-directional square path. 10 bumps, each 10 mm high, were introduced during the first leg. It is difficult to explain the exceedingly wide spread of the return position errors in ccw direction. Page 55

Appendix D: Extended UMBmark Experimental Results for Non-systematic Errors 150 1 00 __UMB2CLAP: With 10 bumps Modifications: 4DOF vehicle, made of 2 LabMates, 50 connected with compliant linkage,, ~: ~Calibration: yes ___ __ i -T_ --- t - t +_- I- --— to - - 1 - 0 -300 -250 -200 -150 -100 -50 * 50 100 150 200 250 300 350 400 -50 E -100 10 Bumps, cw -150 10 Bumps, ccw -200 m C.G., 10 Bumps, cw -250 C.G., 10 Bumps, ccw -250 -300 X [mm] Figure D-3: Return Position Errors for the University of Michigan's CLAPPER. Extended UMBmark test with 4x4 m bi-directional square path. 10 bumps, each 10 mm high, were introduced during the first leg. The CLAPPER is especially designed to detect and correct non-systematic deadreckoning errors. The result: a vehicle that is almost completely resilient to errors due to bumps, cracks, or other irregularities of the floor. Page 56

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 4x4 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. 0-4. Page 57

Appendix D: Extended UMBmark Experimental Results for Non-systematic Errors 200 a- UMB02BET: 1-3 Remoted Andros with Basic Encoder Trailer. 150 v With 10 bumps under the trailer wheels. Modifications: None Calibration: Trial and Error. 100 50 E -450 -400 -350 -300 -250 -200 -150 -100 -50 9 100 150 200 250 300 >- - 5t -100 ~ 10 Bumps, cw -150 3 10 Bumps, ccw * C.G., 10 Bumps, cw -200 + C.G., 10 Bumps, ccw _ _-__ _ _-250 X [mm] Figure D-5: Return Position Errors for the Remotec Andros with Basic encoder Trailer attached. This test comprised the nominal 4x4 m bidirectional square path. 10 bumps, each 8-9 mm high, were introduced under the trailer's wheels during the first leg of the run. Page 58

Appendix D: Extended UMBmark Experimental Results for Non-systematic Errors 150 100 UMB01SET: With 10 bumps I Modifications: None Calibration: None. Simulation Results only. 50 I__+_i-____ +- — a- - ------- --------- l -- -- - --- — t- - -450 -400 -350 -300 -250 -200 -150 -100 -50 0 50 100 150 200 250 300 -50;_ E ~. -100 -- Notes on Simulation Model: Eb =340/337, Ed =0.9985. 50 10 bumps of 10 mm height. Random bumps of 0-1 mm height, * 10 Bumps, cw every 2 cm of travel. -200 Absolute encoder resolution: 0.3 deg o 10 Bumps, ccw m C.G., 10 Bumps, cw -250 C.G., 10 Bumps, ccw ____-_ -300 X [mm] Figure D-6: Return Position Errors for a simulation run with the Smart Encoder Trailer (SET). The Extended UMBmark test with a 4x4 m bidirectional square path was applied, and, in addition, 10 bumps, each 10 mm high, were introduced during the first leg of the square path. The SET uses the same principle of error correction as the CLAPPER. The simulation program is directly derived from a similar simulation for the CLAPPER. Results from the CLAPPER simulation were consistently similar to the actual CLAPPER, increasing our trust in the accuracy of the SET simulation. Page 59

APPENDIX E: CORRECTION OF SYSTEMATIC ERRORS - EXPERIMENTAL RESULTS (All experiments in Appendix E were performed with the same TRC LabMate) 100 Il 50 1 — t- i -t --- —-i i - j t. - - t-I - t I -- - - - - -300 -250 -200 -150 -100.50 Q 50 100 150 200 250 300 350 400 -50 * Without correction, cw -100 E a Without correction, ccw E * C.G., before correction, cw -150 + C.G., before correction, ccw - * After correction, cw 1. C[ -250 G h * After correction, ccw Graph 1: Position errors after completion of I C.G., after correction, cw -300 the Bi-directional Square Path Experiment (4 x 4 m) Before correction: b =340, Dr/DI = 1.0000 I C.G., after correction, ccw,, -350 After correction: b =336.17, D r/D =1.00084 X [mm] Figure E-1: Experiment E-1 shows how the return position error of the LabMate is reduced dramatically after compensation with the analytical compensation factors derived in Section 6. Here the improvement is 15-fold (Improvement is measured as the ratio between the furthest center of gravity (C.G.) of the uncalibrated runs and the furthest C.G. of the runs after calibration). Page 60

Appendix E: Correction of Systematic Errors - Experimental Results 100 -50 i --- —---. _ - -_ _ -"- 0 — t -— t- + — -.... — —...-.- -i -300 -250 -200 -150 -100 -50* ) 50 100 150 200 250 300 350 400 -50 | Without correction, cw -100 | o Without correction, ccw ~~>1~~~~~~ ~-150 * C.G., without correction, cw + C.G., without correction, ccw -200 * After correction, cw - -250 _ _c ~ After correction, ccw Graph 2: | C.G., after correction, cw -300 - Position errors after completion of the B i-directional Square Path Experiment (4 x 4 m). * C.G., after correction, ccw Before correction: b =340, Dr/DI =1.0000, ________ __-350 - After correction: b-337.089, Dr/DI =1.001474 X [mm] Figure E-2: Experiment E-2 shows another set of runs before and after calibration. Here the improvement is. Page 61

Appendix E: Correction of Systematic Errors - Experimental Results 100 50 -300 -250 -200 -150 -100 -50 (. 50 100 150 200 250 300 350 400 * -50 * Without correction, cw -100 i. Without correction, ccw >1~-~~~~~ ~-150 m C.G., without correction, cw -200 t C.G., without correction, cw -200 * After Correction, cw -250 Graph 3: * After Correction, ccw Position errors after completion of the -300 Bi-directional Square Path Experiment (4 x 4 m) m C.G., after correction, cw Before correction: b=-340, Dr/DI =1.0000, After correction: b =337.210, D r/D I =1.001 217 I C.G., after correction, ccw -350 X [mm] Figure E-3: Experiment E-3 shows yet another set of runs before and after calibration. Here the improvement is 10-fold (the least successful run in this series of eight experiments). Page 62

Appendix E: Correction of Systematic Errors - Experimental Results 100 50 F - -- t -- t. - -......I......... t ' i I -300 -250 -200 -150 -100 -50 '* 50 100 150 200 250 300 350 400 -50 | Without correction, cw -100 E o Without correction, ccw C.G., without correction, cw -150 + C.G., without correction, cw -200 * After correction, cw F * After correction, ccw -250 Graph4: Position errors after completion of the * C.G., after correction, cw -300 Bi-directional Square Path Experiment (4 x 4 m) Before correction: b -340, D r/D I = 1.0000 * C.G., after correction, ccw Correction: b-=337.210 -350 C_Left=0.999392, CRight 1.000608 X [mm] Figure E-4: Same set of correction factors used as experiment 3, but new set of "after-calibration runs.".Here the improvement is 21-fold (see text inSection 6.3 for explanation of this seemingly.different result, as compared to experiment E-3 Page 63

Appendix E: Correction of Systematic Errors - Experimental Results 100 5. I.-2 -0 -5 0 X -....., I - L II -300 -250 -200 -150 -100 -50 52 100 150 200 250 300 350 400 -50 * ~ Without correction, cw 100 E i Without correction, ccw -150 I C.G., without correction, cw, C.G., vithout correction, ccw -200 * After correction, cw -250 Graph 5: * After correction, ccw Position errors after completion of the B i-directional Square Path Experiment (4 x 4 m) "*i C.G., after correction, cw-'J00 Before correction: b =340, Dr/DI =1.0000, I C.G., after correction, ccw Correction: b=337.210, -350 V C Left=0.9993919, C right=1.000608 X [mm] Figure E-5: Once more, the same set of correction factors as in E-3 and E-4 was used. The improvement this time is 12-fold. Experiments E-3, E4, and E-5 reinforce our observation that the UMBmark calibration procedure provides consistently one order of magnitude improvment in deadreckoning accuracy (with respect to systematic errors). Page 64

Appendix E: Correction of Systematic Errors - Experimental Results 100 5! 300- - 2 - 2- t - 1 0 t t -300 -250 -200 -150 -100 -50 0 50 100 150 200 250 300 350 400 -50 Without correction, cw.. -100 -- Graph 6: E J Without correction ccw WithoutcorrecE tio, ccw -100 Position Errors after completion of the C.G., wthoutcorrection, cw -150 j Bi-directional Square Path Experiment (4x4m) Before correction: b =340, D r/D_I =1.0000, C.G., without correction, ccw After correction: b =336.1 55 Cleft=0.999250, Cright=1.000750 * After correction, cw -250 * After correction, ccw LO I C.G., after correction, cw -300 L I C.G., after correction, ccw -350 X [mm] Figure E-6: To test the repeatability of the UMBmark calibration procedure, we ran the procedure again, from the beginning: we ran UMBmark without any correction, derived the correction factors from the results of the UMBmark run, and ran UMBmark again with the computed correction factors. Here the improvement in accuracy was 11-fold. Page 65

Appendix E: Correction of Systematic Errors- Experimental Results........................... Witht 100 * Without correction, cw *Without correction, ccw 50 C C.G., without correction, cw. - C.G., without correction, ccw.0.,, 100 -50 0 0 100 150 200 250 300 350 400 ~ After 1st correction, cw -50 o After 1st correction, ccw M Graph 7: -100 Position Errors after completion of the E C. G0., after 1 st correction, cw Bi-directional Square Path Experiment (4 x 4 m) > 0.0., after 1st correction, ccw -150 Before correction: b=340, D_r/D_I = 1.0000, After 1st correction: b=337.107 * After 2nd correction, cw C_left= 0.998985, C_right=1.001015.-20200 After 2nd correction: b=336.277 * After 2nd correction, ccw C_left= 0.998905, C_right= 1.001095 -250 * C.G., after 2nd correction, cw * C.G., After 2nd correction, ccw -300. - -350 X [mm] Figure E-7: In this experiment the diameter of the right wheel was slightly increased by winding three loops of masking tape around the wheel perimeter. This results effectively in a "different" vehicle.ln this experiment, the initial improvement was only 6-4old. However, applying a simple test (explained in Section 6.3) it is immediately clear that further improvement can be achieved. Applying the JMBmark calibration procedure for a second time, the overall improvement becomes 21-fold. Page 66

Appendix E: Correction of Systematic Errors - Experimental Results 100 50 it ti - t -t -- r Ht --- —---- --- --- t -- t -a-i --- —---- * -*t T -— I -300 -250 -200 -150 -100 -50 0 50 100 150 200 250 300 350 400 -50 "Without correction, cw Eo Without correction, ccw -100 >. I* C.G., without correction, cw -150 t C.G., without correction, ccw % -200 * After correction, cw Graph 8: * After correction, ccw -250 T Position Errors after completion of the * C.G., after correction, cw Bi-directional Square Path Experiment (4 x 4 m) -300 Before correction: b=340, Dr/DI = 1.0000 * C.G., after correction, ccw After correction: b=337.572 C_left= 0.999610, C_right= 1.000390 -350 X [mm] Figure E-8: In this experiment the diameter of the left wheel was slightly increased by winding five loops of masking tape around the left wheel perimeter. The improvement after applying the UMBmark calibration procedure was 19-fold. Page 67

Reprint of: Proceedings of the 1994 IEEE International Conference on Robotics and Automation, San Diego, CA, May, 1994, pp. 3085-3090. 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 [Congdon et al, 1993]. With any one of these measurements it is necessary that the work environment be either prepared This paper presents a new approach to accurate and or be known and mapped with great precision. Satellite-based reliable dead-reckoning with mobile robots. The approach navigation can be used only outdoors and has poor accuracy makes use of special properties of our recently developed (on the order of several meters) when used in real-time, Multi-Degree-of-Freedom (MDOF) mobile platform, in during motion. which two differential-drive mobile robots (called "trucks") Another approach to the position determination of mobile are physically connected through a compliant linkage. Using robots is based on inertial navigation with gyros and/or one linear and two rotary encoders, the system can measure accelerometers. Our own experimental results with this the relative distance and bearing between the two trucks. approach, as well as the results published in a recent paper by During operation, both trucks perform conventional dead- Barshan and Durrant-Whyte [1993], indicate that this reckoning with their wheel encoders, but, in addition, use approach is not advantageous. Accelerometer data must be information about their relative position to correct dead- integrated twice to yield position, thereby making these reckoning errors. sensors exceedingly sensitive to drift. Another problem is Our system, called Compliant Linkage Autonomous that accelerations under typical operating conditions can be Platform with Position Error Recovery (CLAPPER), requires very small, on the order of 0.01 g. Yet, fluctuation of this neither external references (such as navigation beacons, magnitude already occur if the sensor deviates from a artificial landmarks, known floorplans, or satellite signals), perfectly horizontal position by only 0.50, for example when nor inertial navigation aids (such as accelerometers or the vehicle drives over uneven floors. Gyros can be more gyros). Nonetheless, the experimental results included in this accurate (and costly) but they provide information only on paper show one to two orders of magnitude better positioning the rotation of a vehicle. accuracy than systems based on conventional dead-reckon- This paper introduces a new method for correcting deading. reckoning errors without external references. This method requires two collaborating mobile robots that can accurately 1. INTRODUCTION measure their relative distance and bearing during motion. Our previously developed MDOF vehicle [Borenstein, 1993; In most mobile robot applications two basic position- 1994a] meets these requirements and we were able to estimation methods are employed together: absolute and implemented and test our error correction method on this relative positioning [Borenstein and Koren, 1987; Hongo et vehicle with only minor modifications. Section 2 summarizes al, 1987]. Relative positioning is usually based on dead- the relevant characteristics of our MDOF vehicle. Because of reckoning (i.e., monitoring the wheel revolutions to compute the new error correction capability, we now call our vehicle the offset from a known starting position). Dead-reckoning the Compliant Linkage Autonomous Platform with Position is simple, inexpensive, and easy to accomplish in real-time. Error Recovery (CLAPPER). Section 3 describes the error The disadvantage of dead-reckoning is its unbounded correction method in detail, and Section 4 presents experiaccumulation of errors. mental results. Absolute positioning methods usually rely on (a) navigation beacons, (b) active or passive landmarks, (c) 2. THE MDOF COMPLIANT LINKAGE VEHICLE map matching, or (d) satellite-based navigation signals. Each of these absolute positioning approaches can be implemented In previous research we have developed an innovative by a variety of methods and sensors. Yet, none of the Multi-Degree-of-Freedom (MDOF) vehicle with compliant currently existing systems is particularly elegant. Navigation linkage (Fig. 1). beacons and landmarks usually require costly installations and maintenance, while map-matching methods are either very slow or inaccurate [Cox, 1991], or even unreliable Page 68

Reprint of: Proceedings of the 1994 IEEE International Conference on Robotics and Automation, San Diego, CA, May, 1994, pp. 3085-3090. __;,: "~ * *.~ 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.30. We will call these the three "internal" encoders. The experiments with our MDOF vehicle [Borenstein, 1993V I] 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 4x4 m square path experiments we found typical dead-reckFigure 1: The University of Michigan's experimental oning errors to be less than 6.5 cm in x and y direction, and dual differential drive vehicle with compliant linkage. orientation errors were less than ~1~ [Borenstein, 1994a]. This dead-reckoning accuracy is comparable with that of conventional 2-DOF robots. Of course, these results were obThe advantage of MDOF vehicles over conventional tained on smooth floors without irregularities, and with well mobile robots is that they can travel sideways and they can calibrated parameters to minimize systematic errors. negotiate tight turns easily. However, existing MDOF vehicles have been found difficult to control because of their 3. INTERNAL CORRECTION OF overconstrained nature [Reister, 1991; Killough and Pin, DEAD-RECKONING ERRORS 1992]. These difficulties translate into severe wheel slippage or jerky motion under certain driving conditions. Because of At first glance, it may appear impossible to obtain this excessive wheel-slippage existing MDOF vehicles are accurate position corrections from a "floating reference not very suitable for mobile robot applications that rely point," such as another mobile robot in motion. Yet, our heavily on dead-reckoning. Our MDOF vehicle overcomes method is designed to overcome this problem: it exploits the these difficulties by introducing the compliant linkage design fact that certain dead-reckoning errors develop slowly while (Fig. 2). The compliant linkage accommodates momentary others develop quickly. For example, when a robot traverses controller errors and thereby successfully eliminates the a bump or crack in the floor, it will experience an appreciable excessive wheel slippage reported by other makers of MDOF orientation error within just a few centimeters of travel vehicles. ('fast-growing" error). The lateral position error, on the other The schematic drawing in Fig. 2 shows the essential hand, is very small at first ("slow-growing" error), although components of the compliant linkage vehicle. The vehicle it will grow with distance as a function of the orientation comprises of two trucks (in our prototype, these are commer- error. Our method performs relative position measurements cially available LabMate robots from TRC [1993]). The two very frequently, allowing each truck to detect errors in its trucks are connected by the compliant linkage, which allows orientation (which can have changed significantly during one force-free relative motion within its physical range. A linear sampling interval), while relying on the fact that the lateral encoder measures the momentary distance between the two position error of both trucks was only small during the same trucks, and two absolute rotary encoders measure the rotation interval. of the trucks relative to the compliant linkage. Each of the Before we present the details of our method we should four drive wheels in the system has a shaft encoder to allow make a clear distinction between two types of dead-reckonconventional dead reckoning. ing errors found in mobile robot navigation: (a) systematic Truck A Drive Drive Truck B errors, which are related to properties of the vehicle, that is, wheel wheel they are independent of the environment; and (b) nonCC~astor I d Compliant systematic errors, which are usually caused by irregularities or roughness of the floor. (=Roly Note that non-systematic errors can neither be avoided ncoder B nor can they be compensated for in conventional dead-reckoning. By contrast, the CLAPPER can detect and reduce both Rotary \absolute = systematic and non-systematic errors by one to two orders of encoder A it~|[I9 Ad /.| magnitude, even with both trucks in motion. -, \ Yt d In this Section we explain our approach for the simple Drive LInear Die case of straight-forward motion, but the method works Castor wheel encoder wheel ~,,1,nl equally well (and without any modification) for curved Figure 2: Essential components of the MDOF vehicle trajectories. We will develop a numeric example throughout with compliant linkage, this section, to show why certain assumptions are valid. Page 69

Reprint of: Proceedings of the 1994 IEEE Intemational Conference on Robotics and Automation, San Diego, CA, May, 1994, pp. 3085-3090. At first, we assume that both trucks are longitudinally aligned i Original path 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 i (Lateral dislacement that the sampling time of the internal encoders is T, = 40 ms. atend of sampling interval Thus, during a sampling interval both trucks travel a distance Ds = VT, = 20 mm. Direction after W i, 1 traversing the Whe~Lm / bump Dm/. M I traversing / \\ \dbump B Figure3 Simplified geometry of o X pat wheel traversing a bump traversing 0 or rb1I ~ TrckAactuallj ~~~~~~~~~~~~~~~~~~~~~~~~~~~R-h i)~~~~~~ contact C until the wheel's center point O is right above C (at! 0'). During this motion the wheel encoder measures a rota-: Measured orientation tion a, which is interpreted as the linear travel distance Dmerror A Yet, the actual travel distance in horizontal direction is only 1.1, e rr I Dhor. Th is d iscrepancy creates a linear error AD = 2(Dmea - D,r) (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 con- t ~ ventional differential-drive mobile robot will try to keep the i:::i:;:: i:.} /-....:::.: rotational velocities of both wheels equal. Thus, the horizontal distance traveled by the wheel that traversed the bump (let -.I::: -::::::::::: us assume it is the right wheel, in our example) will be AD: less than that of the left wheel, causing a curved motion to B:TIl the right, as shown in Fig. 4. If.-.I...:E Applying simple geometric relations (based on Figs. 3 \mdof\clap41.ds4 and 4, but not derived here in detail), the numeric sample Figure 4: After traversing a bump, the resulting change of orientation of truck A can be measured Table 23: Sample path errors after traversing a relative to truck B. bump results shown in Table I are obtained (all physical dimenPhysical Dimension sions correspond to the LABMATE robot from TRC). We will Wheelbase b 340 mm use these sample numbers in the following discussion. Wheel radius R 75 mm The resulting orientation error AOa (see Fig. 4) is the most Height of bump h 10 mm | significant error in the system [Feng et al, 1993], because it will cause an unbounded lateral error, eta,, which grows Computed Results proportionally with distance at a rate of Linear error AD 2.63 mm Orientation error A0a (see Fig. 3) 0.44~0 eAD)=D AD/b=DsinAO (1) Lateral error after 10m travel eiat (D=lom) 77 mm where Page 70

Reprint of: Proceedings of the 1994 IEEE International Conference on Robotics and Automation, San Diego, CA, May, 1994, pp. 3085-3090. D - Distance traveled since clearing the bump Next, we can show that this lateral error has no significant b - wheelbase influence on the accuracy of the relative orientation measurement between the two trucks. For example, the CLAPPER For example, Table I shows that the lateral error of maintains a distance of L = 1 m between the two trucks. One truck A after only 10 m travel would be e1aAD=1o m) = 77 mm. can easily compute from the geometry of Fig. 4 that the small The method for detecting dead-reckoning orientation er- lateral error ea,(D,) = 0.15 mm will reduce the actual orienrors is based on our new concept offast-growing and slow- tation error A0a = 0.760 by c =`'ijn (e (D,)/L) -=sin growing dead-reckoning errors. The CL;APPE~ performs '(0.15/1000) = 0.0P and result in a measured orientation relative position measurements very frequently, allowing error AOm = A- a = 0.760 - 0.01~ =0.75~. each truck to detect fast-growing errors in its orientation Thus, the lateral error ea, does reduces the accuracy of the (which can have changed significantly during one sampling orientation error measurement, but only by c = 0.01~, i.e., interval), while much less than the resolution of the internal encoders. The practical implementation of this approach works as This numeric example illustrates how our approach follows: Figure 4 shows the direction in which truck A exploits the concept of slow-growing andfast-growing dead"expected" truck B, based on the dead-reckoning data from reckoning errors: Most floor irregularities will cause an both trucks. If, however, truck A had traversed a bump, it appreciable, immediately measurable orientation error (fastwould have acquired an orientation error A0a. Comparing the growing error), while the resulting lateral error ela, remains direction reading from absolute encoder A with the "ex- negligibly small during the sampling interval (slow-growing pected" direction, the system can uncover this orientation error). error. Subsequently the internal world model of truck A can Figure 4 shows the simple case in which only truck A be corrected accordingly. One problem with this approach is encountered a bump while truck B retained its heading. Howthe fact that even a perfectly accurate measuring system ever, even in the worst case, (i.e., if truck B also encountered cannot reveal the actual orientation error A0a. Rather, a bump during the same sampling interval), its lateral error because of the lateral offset ela, the orientation error is eAaD,) would be similarly small. Neither this lateral error nor measured (incorrectly) as AOm. This allows us to correct the the orientation error of truck B would cause a significant momentary orientation 0 (based on dead-reckoning) in the error in the orientation measurement of truck A relative to B internal world model of truck A by adding the measured or vice versa. Yet, even in this extreme case, the inaccuracy orientation error Aom. The corrected orientation of truck A is of the orientation error measurement would only be c = therefore Ocorected = 0 + A3m. 2x0.01~ = 0.020, or 0.02/0.76x 100 = 2.6%. In order to illustrate the validity of our approach we must The method described above can detect and reduce only show that the difference between A0a and Aq, is indeed rotational errors, but not translational errors. However, rotanegligibly small under all normal driving condition. To do tional errors are much more severe than translational errors, so, let us consider the enlarged area of Fig. 4. It is easy to because orientation errors cause unbounded growth of lateral compute the lateral position error e,a,(D) after traversing the position errors. In the numeric example above, the bump, because it increases at a constant rate as shown in Eq. translational error resulting from traversing a bump of height (1). However, while traversing the bump the lateral position 10 mm was AD = 2.63 mm. By comparison, the lateral error error changes as a function of the orientation error, which, in due to the rotational error AO is e/at = 77 mm after only 10 m turn, is a function of the shape of the bump. Nonetheless, it of further travel. can be shown that the orientation error increases monoto- Another important strength of the CLAPPER's error nously while traversing a bump [Borenstein, 1994b]. Thus, correction system is the fact that orientation errors do not any time we sample the orientation error A0,, we can be sure accumulate. This is so because the error correction (i..e., it is the largest orientation error from the time the bump was adding A0m to the internal world model of truck A is done in first encountered (i.e., AOsA0sm,,). This holds true even if every sampling interval, Our experiments show that overthe wheel had not yet cleared the bump at the end of the correction or under correction in one sampling interval is sampling interval. simply "caught" in the next interval. Furthermore, it doesn't With this explanation in mind, an upper bound for the matter whether the discrepancy between expected and lateral orientation error while traversing a bump can be measured relative direction is the result of bumps, cracks, or defined as systematic errors. In principal the total orientation error of each truck is eat(D,) < D, sin(A0) (2) bounded by the resolution of the internal encoders. This is a major advantage compared to conventional dead-reckonWe recall that in our numeric example D, = 20 mm and ing, where orientation errors do accumulate. In practice, A0, = 0.44~. Substituting these values into Eq. (2) yields however, our system cannot guarantee an error to be bounded e/t(D,) = 0.15 mm after traversing the bump. by the encoder resolution. Our system is sensitive to systematic measurement errors from the encoders. For example, if Page 71

Reprint of: Proceedings of the 1994 IEEE International Conference on Robotics and Automation, San Diego, CA, May, 1994, pp. 3085-3090. rotary encoder A is constantly biased by, say, 0.50, then the cable placed under the wheels. We used bumps only on the error correction function will assume a steady state in which return leg of the 2x 18 m round-trip and only under the righttruck A has a constant orientation error of 0.50 relative to the side wheels of the vehicle (to avoid mutual cancellation of compliant linkage. Such an error would cause slightly curved errors). In the runs with error correction we used 20 bumps motion of the CLAPPER (even on a perfectly smooth that were evenly spaced along the 18 m return-path. Some surface). Fortunately this systematic error can be detected bumps affected both the front and rear truck, some affected experimentally and corrected by calibration with excellent only one of the two trucks. In the runs without error corresults. rection we used only 10 bumps, because our cluttered lab could otherwise not accommodate the large path deviations. 4. EXPERIMENTAL RESULTS Without error correction, each bump caused an orientation error of approximately 0.6~. In order to evaluate the performance of the CLAPPER's Figure 5 summarizes the results from the straight-line error correction method we performed numerous sets of experiment. shown are the stopping positions and orientaexperiments. tions of the vehicle after completing the 36 m journey back In this paper we present the results of the basic straight- and forth along the x-axis. Each on-, of the four conditions of line experiment, where the CLAPPER was programmed to this experiment was performed three times. Note that without travel straight forward for 18 m, stop, and return straight- disturbances, the ending positions with error correction are backward for 18 m, to the starting position. only slightly better than those without correction. We relate In order to automate the evaluation of the experiments, all the almost uniform error of approx. - 1.70 in the run without experiments started and ended near an L-shaped reference error correction to systematic errors. The run with error corner. Three ultrasonic sensors were mounted on the vehi- correction shows how the systematic error is overcome. The cle, two sensors were facing the long side of the L-shaped more important results are those from runs with disturbances. corner, the third sensor faced the short side. The ultrasonic Here the non-error corrected runs average -7.7~, out of which sensor system allowed measurement of the absolute position -1.7~ are the result of the systematic error. The remaining of the vehicle to within ~2 millimeters error average of -6~ were caused in the x and y directions, and to about by applying identical 0.60 distur~0.250 in orientation. {[m] Y bances along the return path. At the beginning of each run a Also note that the lateral position sonar measurement was taken to deter- | -errors (without correction) would mine the starting position of the vehi- have been larger if the disturcle. The vehicle then traveled through 1.3- bances had been applied in the the programmed path and returned to beginning of the return path. the L-shaped corner, where the per- We performed many more ceived position (i.e., the position the 1.1-A.... -8.3 experiments than the ones docuvehicle "thought" it had, based on mented here. In all runs the oridead-reckoning) was recorded. Then, entation error with the CLAPa sonar measurement was taken to 0.9- Without PER was less than ~1.00 for the determine the absolute position. The 0.8 error correction, 36 m path. The experiment dedifference between the absolute posi- 10 disturbances scribed in this section, as well as tion and the perceived position was the 0.7 — Without several other experiments, are position error. 0.6 error correction, documented in the video We performed three runs for each no disturbances proceedings of this conference one of the following four conditions: 0.5 — [Borenstein, 1994V2. (a) without error correction, without 0.4- With error correction, disturbances; (b) without error correc- -1,._, 20 disturbances 5. ALTERNATIVE tion, with disturbances; (c) with error 0.3.1- 7- IMPLEMENTATIONS correction, without disturbances; and 0.2 - 3 (d) with error correction, with distur- We are currently investigatbances. l 0.1 | ing the possibilities of impleamenting our error correction In the runs "without disturbances" ineti one can assume disturbance-free mo- | o5o ~A 0.10 method in a different kinematic tion because our lab has a fairly configuration. This configuration smooth concrete floor. In the runs Witer no disturbances comprises only one differential "with disturbances" bumps were cre-Figure 5: CLAPPER stopping positions after drive mobile robot, which tows a ated by placing a 10 mm diameter completing the straight-path experiment small trailer with encoder Page 72

Reprint of: Proceedings of the 1994 IEEE Intemrnational Conference on Robotics and Automation, San Diego, CA, May, 1994, pp. 3085-3090. wheels. Simulation results for this possible implementation Linkage." Proceedings of the 1993 IEEE International indicate the feasibility of this approach [Borenstein, 1994c]. Conference on Robotics and Automation, Atlanta, GeorFrom a commercial point of view, the encoder trailer may be gia, May 2-7, pp. 3.7-3.12. more attractive to manufacturers of mobile robots and AGVs, 5. Borenstein, J., 1994a, "Control and Kinematic Design because the trailer can be attached to most existing vehicles. for Multi-degree-of-freedom Mobile Robots With Compliant Linkage." Accepted for publication. To 6. CONCLUSIONS appear in the IEEE Transactions on Robotics and Automation, February 1995. The method described in this paper is applicable to many 6. Borenstein, J., 1994b, "Internal Correction of Deadother autonomous vehicles. Vehicles used in construction or reckoning Errors With the Compliant Linkage Vehicle." agricultural applications, where dead-reckoning has been Accepted for publication in the Journal of Robotic impossible in the past because of the large amount of Systems, November 1994. slippage on soft soil, may benefit directly from our new 7. Borenstein, J, 1994c, "Internal Correction of Deadmethod. Furthermore, it may is possible to expand the reckoning Errors With the Smart Encoder Trailer." growth-rate concept to tracked vehicles (like tanks or Proceedings of the International Conference on Intellibulldozers) and possibly even to those watercraft and aircraft gent Robots and Systems (IROS '94)- Advanced Robotic that have significantly different growth-rates in their posi- Systems and the Real World. September 12-16, 1994, tioning errors. Mtnchen, Germany, pp. 127-134. These features are made possible by exploiting the new 8. Borenstein, J., 1994V1, "Four-Degree-of-Freedom concept of growth-rate of dead-reckoning errors that is Redundant Drive Vehicle With Compliant Linkage." introduced in this paper for the first time. The growth-rate Video Proceedings of the 1994 IEEE International concept distinguishes between certain dead-reckoning errors Conference on Robotics and Automation, San Diego, that develop slowly while other dead-reckoning errors CA, May 8-13, 1994. (Note: Video Proceedings booklet develop quickly. Based on this concept, truck A frequently lists this entry under incorrect title and abstract). measures a property with slow-growing error characteristics 9. Borenstein, J., 1995, "The CLAPPER: A Dual-drive on reference truck B (thus admitting a small error) to detect Mobile Robot With Internal Correction of Dead-reckona fast-growing error on truck A (thus correcting a large ing Errors." Submittedfor inclusion in the Video Proerror), and vice versa. ceedings of the 1994 IEEE International Conference on In summary, the advantage of the CLAPPER system are: Robotics and Automation. 1. The immediate correction of orientation errors, which 10. Congdon, I. et al., 1993, "CARMEL Versus FLAKEY would otherwise cause unbounded growth of lateral - A Comparison of Two Winners." AI Magazine position errors. Winter 1992, pp. 49-56. 2. Prevention of accumulation of orientation errors, to the 11. Cox, I. J., 1991, "Blanche - An Experiment in Guidlimit determined by the calibration of the internal position ance and Navigation of an Autonomous Robot Vehicle." measurement accuracy, and provided that none of the IEEE Transactions on Robotics and Automation, vol. 7, wheels slipped sideways. no. 2, April, pp. 193-204. 12. Feng, L, Koren, Y., and Borenstein, J., 1993, "A Acknowledgements: Cross-Coupling Motion Controller for Mobile Robots." This research was funded by NSF grant # DDM-9114394 and in IEEE Journal of Control Systems Magazine. December part by the Department of Energy. Special thanks to Dr. Liqiang pp. 35-43. Feng who provided comments and suggestions for this manuscript. 13. Killough, S. M. and Pin, F. G., 1992, "Design of an Omnidirectional Holonomic Wheeled Platform Proto7. REFERENCES type." Proceedings of the IEEE Conference on Robotics 1. Barshan, B. and Durrant-Whyte, H.F., 1993, "An Inertial andAutomation, Nice, France, May 1992, pp. 84-90. Navigation System for a Mobile Robot." Proceedings of 14. Hongo, T., Arakawa, H., Sugimoto, G., Tange, K., and the Ist IA V, Southampton, England, April, pp. 54-59. Yamamoto, Y., 1987, "An Automated Guidance System 2. Borenstein, J. and Koren, Y., 1985, "A Mobile Platform of a Self-Controlled Vehicle." IEEE Transactions on For Nursing Robots." IEEE Transactions on Industrial Industrial Electronics, Vol. IE-34, No. 1, 1987, pp. 5-10. Electronics, Vol. 32, No. 2, pp. 158-165. 15. Reister, D. B., 1991, "A New Wheel Control System for 3. Borenstein, J. and Koren, Y., 1987, "Motion Control the Omnidirectional HERMIES-III Robot." Proceedings Analysis of a Mobile Robot." Transactions of ASME, of the IEEE Conference on Robotics and Automation Journal of Dynamics, Measurement and Control, Vol. Sacramento, California, April 7-12, pp. 2322-2327. 109, No. 2, pp. 73-79. 16. TRC (Transition Research Corp), Shelter Rock Lane, 4. Borenstein, J., 1993, "Multi-layered Control of a Four- Danbury, Connecticut, 06810. Degree-of-Freedom Mobile Robot With Compliant Page 73