Integrating Learning for Robust Mobile Robot Development

Nicholas Roy


Traditional techniques for programming mobile robots have proven to be successful in a number of domains; however, these behaviours are typically low-level in nature, such as simple motion and obstacle avoidance. The most sophisticated programmed systems at best can navigate autonomously in a precisely-known, limited environment.

Machine learning techniques, by contrast, are good at determining behaviours and actions in those domains where programming a robot is hard. Machine learning has been successful in extracting information from sensor data, learning non-linear controllers, and in robust planning. However, machine learning systems require tremendous amounts of data or training examples to converge to a reasonable behaviour. In many instances, it is not practical or even possible to provide the time and training to a mobile robot to learn all necessary behaviours from scratch.

The problem then is to combine machine learning techniques with traditional programming techniques to generate more complex and more robust mobile robot behaviours.


Most robot systems that can exhibit complex behaviours consist of large code bases, are brittle and non-scalable. By integrating machine learning into the behaviour development, we plan to improve robot development in three directions. First, machine learning should reduce the amount of traditional coding necessary; this will reduce the size of the code base, which will reduce coding time and maintenance needs. Robotic systems will be simultaneously easier and faster to build. Secondly, machine learning implies adaptivity, and the robustness that typically accompanies adaptivity. Finally, the use of machine learning will allow us to implement algorithms at many different scales.

State of the Art:

Machine learning has typically been confined to modules of a larger system, where the learned module is treated as a black box. There has been very little effort to reuse modules, or to combine them with existing techniques. Success is beginning to be seen along the dimension of abstracting code by using probabilistic representations as the primary spatial representation in robot positioning and navigation, and then using E-M to combine sensor data to perform more accurate map learning. Success along the dimension of robustness has also been seen by using probabilistic representations to correct odometric error in mobile robots.


The approach of using machine learning to increase robustness of mobile robot systems can be seen an early experiment, using probabilistic representations to improve robot odometry. Navigation is typically difficult in mobile robot systems because the open-loop nature of dead-reckoning generates positional error. Regardless of the accuracy of the wheel encoders providing odometric information, accumulation of error is inevitable. We therefore used Bayes' Rule to combine sensor information from the laser range sensor and the odometers to provide a better approximation of the true robot pose.

Figure 1: Maps generated at the Smithsonian Museum of American History (100 meters). The image on the left is the map computed using raw (uncorrected odometry) and the image on the right is the map computed using corrected odometry. Note that the structure of the museum is much more visible in the corrected odometry.

In statistical terms, the calibration problem is a maximum likelihood estimation problem where one seeks to identify the kinematic parameters $\delta_{\rm trans}$ and $\delta_{\rm rot}$ that appear most plausible under the data d:

$\displaystyle \langle \delta_{\rm trans}^*,\delta_{\rm rot}^*\rangle$ = $\displaystyle \mathop{\rm argmax}_{\delta_{\rm trans},\delta_{\rm rot}} P(\delta_{\rm trans},\delta_{\rm rot}\vert d)$ (1)

If the data set is large, this problem is mathematically intractable (see [2]). In addition, computing it would require that the robot memorised all data d, which is undesirable for a robot that calibrates its motion parameters continuously.

Instead, our approach decomposes the estimation problem into a sequence of single-step problems, which can be estimated much more efficiently:

$\displaystyle \langle \delta_{\rm trans}^{(i)*},\delta_{\rm rot}^{(i)*}\rangle
... P(\delta_{\rm trans},\delta_{\rm rot}\vert s^{(i)}\!,\! o^{(i)}\!,\!s^{(i+1)})$     (2)

Here i is a time index. This series of local maximum likelihood estimators determines the motion parameters $\delta_{\rm trans}^*$ and $\delta_{\rm
rot}^*$ based on data just perceived. More specifically, the estimator considers only the sensor data obtained before the transition, s(i), sensor data obtained after the transition, s(i+1), and the displacement measured by the robot's odometry o(i).

Finally, the desired kinematic parameters, $\delta_{\rm trans}$ and $\delta_{\rm rot}$, are estimated recursively using an exponential estimator, where past estimates are discounted exponentially over time thus, the parameters can be used for continuously calibrating a robot whose drift parameters change slowly over time, e.g., with wear and tear.

Figure 1 show the result of the improvement that results from using corrected odometry. The error parameters were learned over a separate set of training data, and then applied to a trajectory through the Smithsonian National Museum of American History. The image on the left is the trajectory depicted by raw (uncorrected odometry). The solid black line is the trajectory, and the grey regions are the obstacles perceived by the laser range sensor.

The image on the right is the trajectory generated by the corrected odometry. Notice that the structure of the museum is readily apparent. Although the trajectory is not perfect, it is correct at a fairly coarse level, demonstrating the utility of the probabilistic reasoning and parameter learning for improving the accuracy of robot odometry.

Future Work:

Our current approach is to develop the framework of probabilistic reasoning. We intend to create a programming framework to allow more natural use of probabilistic reasoning and other machine learning techniques in traditional mobile robot development.


N. Roy and S. Thrun.
Online self-calibration for mobile robots.
Submitted to IROS, 1998.

S. Thrun, D. Fox, and W. Burgard.
A probabilistic approach to concurrent mapping and localization for mobile robots.
Machine Learning and Autonomous Robots (joint issue), 1998.
to appear.

About this document...

This document was generated using the LaTeX2HTML translator Version 98.1p1 release (March 2nd, 1998).
The translation was performed on 1998-04-19.