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.
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.
In statistical terms, the calibration problem is a maximum likelihood
estimation problem where one seeks to identify the kinematic parameters
that appear most plausible under
the data d:
Instead, our approach decomposes the estimation problem into a
sequence of single-step problems, which can be estimated much more
Finally, the desired kinematic parameters, and , 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.
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.