Experimental Results from Internal Odometry Error Correction With the OmniMate Mobile Robot


Johann Borenstein

For press release of 3/16/99 Click here

For news reports on the OmniMate click here

The OmniMate is a new, commercially available mobile robot with unique features. One of these features is the vehicle's full omnidirectional motion capability, which allows it to travel sideways, diagonally, rotate on the spot, or perform any other motion in the plane. The most important and unique feature of the OmniMate, however, is its ability to detect and correct odometry errors, such as those incurred by bumps, cracks, or other irregularities of the floor. In the past, such artifacts made it impossible mobile robots or for Automated Guided Vehicles (AGVs) (widely used in industry to transport materials within a plant) to rely on odometry (sometimes called "dead reckoning") only. Instead, almost all AGVs in use today follow guide-wires buried under the floor. Actually working mobile robot installations (which are rare) require frequent position updates from artificial landmarks. Whether guide wire or landmark, expensive installation is necessary prior to using the system.

With the high accuracy of the OmniMate, on the other hand, it is possible to travel large distances throughout a plant, with either none or only sporadic position updates that can be obtained from simple ultrasonic sensors. The large, rectangular, completely free loading deck of the OmniMate, along with its 250 lbs payload capacity make this vehicle ideally suited for many light-to-medium duty transport tasks in industry.

The design of the OmniMate is based on an earlier prototype, called the "CLAPPER." The patented CLAPPER was invented and built at the University of Michigan, where the unique odometry error correction properties discussed in this paper were first implemented and demonstrated (see [Paper48]).

Figure 1: The OmniMate is based on two TRC LabMate "trucks" connected by a compliant linkage. This design provides an uncluttered 180x90 cm (72x36-in) loading deck for up to 114 Kg (250 lbs) of payload.


The OmniMate came into life in response to an order placed by Oak Ridge National Lab's (ORNL) Robotics and Process Systems Division, which required a highly maneuverable, highly accurate mobile platform with a large mounting surface for auxiliary equipment. In early 1996 HelpMate Robotics Inc. ([HRI] -- formerly TRC), in collaboration with the University of Michigan (UM) built the first commercial OmniMate for industrial applications. HRI substantially improved on the original CLAPPER's mechanical design, allowing large payloads in addition to massive on-board battery power. After the OmniMate was built, it was instrumented at UM with a sophisticated onboard control system that provides smooth, coordinated motion of this MDOF vehicle. UM also implemented its patented Internal Position Error Correction (IPEC) method and performed extensive tests on the effectiveness of this method. Some results from these tests are reported in this web page.

The OmniMate is made from two differential-drive TRC LabMate platforms (here called "trucks") as shown below. the front truck can rotate around rotational joint A, which is "welded" to the bottom of a rigid loading deck. The rear truck can rotate around rotational joint B, which is welded to a slider assembly. The slider assembly can linearly move along slider bars that are welded at their ends to the bottom of the loading deck. Rotary encoders mounted on joints A and B measure the relative rotation between each truck and the loading deck, while a linear encoder measures the position of the linear slider assembly, from which the distance between the center points of the two trucks can be computed. Additional joints not shown in Figure 2 allow for limited pitch, roll, and yaw motion of the trucks relative to each other, to accommodate uneven ground. Four optical incremental encoders mounted on the four drive wheels provide raw odometry data.

Figure 2: Schematic diagram of the OmniMate mobile robot.

Because of the linear slider the two trucks can freely move relative to each other. This patented UM design is called "compliant linkage." The purpose of the compliant linkage is to absorb the inevitable momentary controller errors that can cause wheel slippage in conventional, rigidly-built MDOF mobile robots, as reported by other researchers who had worked with conventional MDOF robots.

Figure 1 shows how the OmniMate design provides a completely flat, 180x90 cm (72x36 inch) loading deck that is available exclusively for the end-user's payload. A 24-Volt battery pack, designed to power user-installed equipment and the onboard control computer, is installed underneath the loading-deck. In addition, each of the trucks is individually powered by a 24-Volt battery pack installed inside of each truck. Control and feedback signals to and from the trucks are passed through slip-ring assemblies. The onboard motion control computer is a 486/100 MHz PC-compatible single board computer made by Ampro.

The onboard computer controls and coordinates the motion of the two trucks in a user-transparent manner. This means that the user (or a user-written high-level control program) must prescribe the desired translation and rotation of the vehicle only with respect to the loading-deck, without worrying about the motion of the two trucks that would result in the desired motion of the loading-deck. The control system is described in detail in [Paper34].

Another function of the control system is to perform the Internal Position Error Correction (IPEC), which is capable of detecting and automatically correcting odometry errors caused by bumps, cracks, or other irregularities on the floor. The UM-developed IPEC method is described in detail in [Paper48].

Experimental Results

The experimental results of the odometric accuracy tests were performed according to the UMBmark and extended UMBmark tests described in detail in the UMBmark Technical Report as well as in Papers #59 and #60. During these tests the OmniMate was equipped with the auxiliary devices shown below. One noteworthy item is the "sonar calibrator," a device that uses three ultrasonic sensors to measure the distance between three points on the robot to two L-shaped walls. With the sonar calibrator the absolute position of the vehicle can be measured at the beginning and end of each run fully automatically, and, subsequently, the onboard computer can compute the return position and orientation errors (Ex, Ey, Etheta). Using the sonar calibrator the UMBmark test with multiple laps can be run fully automatically in each direction. Following is a brief summary of the actually employed test procedure, which differed slightly from the formal UMBmark procedure.

Figure 3: Auxiliary equipment used in the experiments

Experiments were performed in sets of 10 laps along a rectangular path with rounded corners. The total length of the rectangular path (i.e., for one lap) was 18.5 meters (60 ft) and the platform performed a total of four 90-degree-turns in each lap. Four sets of fully automatic runs were performed:

Set 1: 10 laps with IPEC, cw
Set 2: 10 laps with IPEC, ccw
Set 3: 9 laps without IPEC, cw
Set 4: 9 laps without IPEC, ccw

In each of the four sets the first five laps were run without bumps (i.e., on marginally smooth concrete floor). The remaining laps were run with artificial 9-mm diameter bumps placed under the OmniMate's wheels, as follows:

Lap #6: 20 bumps under the inside wheel of the front truck
Lap #7: 20 bumps under the outside wheel of the front truck
Lap #8: 10 bumps each under the inside wheels of the front truck and the rear truck, for a total of 20 bumps).
Lap #9: 10 bumps each under outside wheels of the front truck and the rear truck, for a total of 20 bumps.
Lap #10: 20 bumps placed randomly under all wheels (this test omitted for runs without IPEC).

Note that the tests performed in Laps #6 - #10 differ from the procedure originally described as the extended UMBmark in [Technical Report #1]. The reason for this change is that the original extended UMBmark test was designed for basic differential-drive mobile robots. Although the extended UMBmark test could be performed with the OmniMate without modification, we noticed during experimentation with the OmniMate that skeptical observers often asked if the placement of bumps under the wheels of the other truck would have any negative impact on the odometry error correction. To diffuse these concerns we modified the "with-bumps" procedure to include bumps under both the left and right wheels of the front- and the rear truck. Lap #10, with bumps placed randomly under all four wheels, was omitted in the runs without error correction, because the effects of random bumps cancel each other out and thus produce a meaningless result.

As a consequence to this change in the testing procedure it is not meaningful to compute the average return orientation error as prescribed by Borenstein and Feng [1994; 1995b]. Instead, we consider the worst orientation error from among any one of laps #5 through #10 as the representative worst error of runs with bumps. For completeness, we also note the worst position error, although this data is not meaningful for comparison purposes.

Our experiments were performed under certain conditions and premises that were not explicitly addressed by the original UMBmark procedures. Here is a summary:

Figure 4 below shows the experimental set-up used in all tests. Also shown are the traces of the centerpoints of the front and rear truck as recorded and plotted by the onboard computer for one particular lap. In each lap the robot started and finished in the area labeled "Start/Finish" in Figure 4. To produce the rectangular path we pre-programmed the four corner points as via-points for the OmniMate's "pass_by" command. The pass_by command implies that another motion command will follow and, to produce smooth, continuous motion, does not stop the robot at the pass_by location. Instead, the control program executes the next motion command as soon as the centerpoint of the front truck comes within a tolerance range of 50 cm (20 in) from the via-point. This is why in Figure 4 the trace of the front truck doesn't touch the via-points. The four via-points don't form a rectangle exactly, since the exact shape of the trajectory is irrelevant in the UMBmark test. What is important is that the robot turns through a total of 360 degrees in each lap. The somewhat irregular placement of the via points was mandated by the need to keep the robot as far away from obstacles as possible, to allow for the large path deviations in runs without error correction.

Figure 4: Experimental setup for the OmniMate experiments. Traces of the front and rear trucks as recorded and plotted by the onboard computer are also shown.

The sonar calibrator, with two sonars installed at the corners of the left side and one sonar in the rear of the OmniMate (see Figure 3), uses the four stationary walls as absolute references. For cw runs the walls on the left-hand side and bottom of Figure 4are used, while for ccw runs the walls at the center and top of Figure 4 serve as absolute references. Because of the relatively large distance between the rear sonar and the respective rear walls, measurements in y-direction are less accurate, on the order of 3 cm (1.2 in). The accuracy of the side-facing sonars is better, on the order of 3 mm (0.12 in), because of the shorter distance to the respective reflector walls. Using the two side-facing sonars, the sonar calibrator can determine the robot's true orientation with respect to the reflector walls with an accuracy of about 0.1 degrees.

At the beginning of each lap the OmniMate determined its absolute position with the sonar calibrator and initialized the odometry system with that data. Traveling at a maximum speed of 0.3 m/s (11.8 in/s) during straight segments, the robot slowed down near via-points. Then, when within the tolerance range of 50 cm (20 in) and while still moving, the robot would begin to align itself with the direction to the next via-point and, simultaneously, aim its front truck toward that new via-point. At the end of each run the sonar calibrator measured the robot's actual position and compared the result to the vehicle's internal position, based on odometry. The error, expressed as Ex, Ey, and Etheta, was automatically recorded, the internal position (i.e., odometry) was reset to the actually measured one, and the robot continued with the next lap.

Test Results

Graphical representations of our test results are shown in Figs. 5 through 8.

Figure 5: OmniMate return position errors after completing the 18.5 m rectangular path of Figure 4 on a smooth concrete floor without bumps.

Figure 6: OmniMate return orientation errors after completing the 18.5 m rectangular path of Figure 4 on a smooth concrete floor without bumps.

Figure 7: OmniMate return position errors after completing the 18.5 m rectangular path of Figure 4 on a smooth concrete floor with 20 artificial 9-mm bumps.

Figure 8: OmniMate return orientation errors after completing the 18.5 m rectangular path of Figure 4 on a smooth concrete floor with 20 artificial 9-mm bumps.

It is interesting to note that for the variety of results shown in Figures 5-8, the IPEC error correction method provides consistently one order of magnitude greater accuracy than that that obtained from running the same vehicle without IPEC.


This research was funded by Department of Energy Grant DE-FG02-86NE37969.

Questions? Answers? Please contact:
Johann Borenstein
The University of Michigan
Advanced Technologies Lab
1101 Beal Avenue
Ann Arbor, MI 48109-2110
Ph.: 313-763-1560
fax: 313-944-1113
email: johannb@umich.edu

This page last updated by Johann Borenstein, July 4th, 1996