The RHINO software consists of a collection of modules, embedded in a distributed and asynchroneous software architecture. There are two overview papers of the RHINO system. The following and incomplete list contains some of the fundamental modules.
S. Thrun, A. Bücken, W. Burgard, D. Fox, T. Fröhlinghaus, D. Hennig, T. Hofmann, M. Krell, and T. Schmidt, Map Learning and High-Speed Navigation in RHINO, AI-based Mobile Robots: Case studies of successful robot systems, Kortenkamp, D. and Bonasso, R.P. and Murphy, R. (eds.), MIT Press (to appear).
J. Buhmann, W. Burgard, A.B. Cremers, D. Fox, T. Hofmann, F. Schneider, J. Strikos and S. Thrun. The Mobile Robot Rhino , AI Magazin, 16:1, 1995.
Being a sophisticated tour guide requires careful planning at an abstract or task-oriented level, taking into account issues such as the amount of time available, choosing appropriate exhibits to visit on that tour, and planning the shortest path covering those exhibits. For that purpose we are using GOLOG, a declarative language based on the situation calculus and developed at the University of Toronto. GOLOG, which is implemented in Eclipse Prolog, allows the user to concentrate on the high-level specification of complex actions without having to worry about how these are actually carried out by the robot. Besides applying GOLOG to real world scenarios, the group is also engaged in exploring foundational issues such as the interaction between action and knowledge and extending the expressiveness of the language in collaboration with the University of Toronto.
G. Lakemeyer. Only Knowing in the Situation Calculus, to appear in Proc. of the 5th International Conference on Principles of Knowledge Representation and Reasoning, Morgan Kaufmann, 1996.
H.J. Levesque, R. Reiter, Y. Lesp rance, F. Lin and R. Scherl. GOLOG: A Logic Programming Language for Dynamic Domains. To appear in Journal of Logic Programming, Special issue on Reasoning about Action and Change.
RHINO employs the dynamic window approach for avoiding collisions with obstacles (such as rapidly moving humans). The dynamic window approach is a reactive, in the sense that it considers only a very short history of sensor readings. A key feature of this algorithm is that it correctly and in an elegant way incorporates the dynamics of the robot. This is done by reducing the search space to the dynamic window, which consists of the velocities reachable within a short time interval. Within the dynamic window the approach only considers admissible velocities yielding a trajectory on which the robot is able to stop safely. The dynamic window approach can quicky react to unexpected and rapidly moving obstacles.
Trajectory chosen by RHINO
D. Fox, W. Burgard, and S. Thrun. The Dynamic Window Approach to Collision Avoidance, IEEE Robotics and Automation Magazine (RAM), 4:1, 1997.
D. Fox, W. Burgard, and S. Thrun. Controlling Synchro-drive Robots with the Dynamic Window Approach to Collision Avoidance, Proceedings of the IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS'96), Japan, 1996.
RHINO is capable of learning its maps, based on sensor data. It interprets its sensor reading using a neural network, which is trained to convert proximity readings into circular, metric maps. Local metric maps constructed from different readings are integrated using Bayes's rule. From the metric maps, topological graphs are constructed that describe the environment in an abstract and compact way.
RHINO's motion planner is based on value iteration, a version of dynamic programming. Value iteration propagates values (very much like an activation spreading algorithm) through the map, to find minimum cost paths to a goal. The current implementation pre-plans for every possible exception, and also provides an optimized re-planner for efficiently adapting plans to a changing map. The planner is an any-time algorithm, i.e., it can be used to determine a robot's motion at any time, even before the value iteration process is completed. The following paper also describes novel version of motion planning using the topological maps, which enables the robot to pre-plan every motion plan (assuming the map is static); making motion planning a problem that can be solved by table lookup.
Maps of the "German Museum Bonn" constructed using laser (left) and ultrasonic sensors (right)
S. Thrun and A. Buecken, 1996. Integrating Grid-Based and Topological Maps for Mobile Robot Navigation, National Conference on Artificial Intelligence, AAAI-96. For more detail, see also our Technical Report: Learning Maps for Indoor Mobile Robot Navigation
Localization is the problem of finding out where a robot is. Accurate localization is essential for safe operation and for reliably perform tasks such as the one faced by RHINO. RHINO applies the recently developed position probability grid approach to solve its localization problem. The basic idea here is to estimate a position probability density function by repeatedly matching the sensor readings with a model of the environment. This approach is particularly well-suited for dealing with ambiguities, noise, and model inaccuracies in large-scale environment (50 by 100 meters or larger). These featuress are essential for the success of this project, since they allow RHINO to know its position even in populated environments such as the "German Museum Bonn".
Example of RHINO's belief state during global localization in the "German Museum Bonn". Shown in blue are is a two-dimensional map of the musem. The greyscale depicts the likelihood, assigned to each individual location after approximately 2 minutes of autonomous robot operation. At this point, the robot has successfully determined its location - completely by itself!
W. Burgard, D. Fox, D. Hennig, and T. Schmidt. Estimating the Absolute Position of a Mobile Robot Using Position Probability Grids, Proceedings of the Thirteenth National Conference on Artificial Intelligence (AAAI'96).
One of the fundamental research interests of the RHINO group is robot learning. How can we build robots that have the ability to improve by themselves? The RHINO group believes that the ability to learn from experience is a crucial component of autonomous robots. Below are a few papers that investigate issues of robot learning.
S. Thrun. A Bayesian Approach to Landmark Discovery and Active Perception in Mobile Robot Navigation, Technical Report CMU-CS-96-122, Carnegie Mellon University, Pittsburgh, PA, 1996.
S. Thrun, 1995. An Approach to Learning Mobile Robot Navigation. Robotics and Autonomous Systems, 15: 301-319.
J. Franklin, T. Mitchell, and S. Thrun (eds.), 1996. Recent Advances in Robot Learning. Kluwer Academic Publisher.
S. Thrun and J. O'Sullivan, 1996. Discovering Structure in Multiple Learning Tasks: The TC Algorithm. International Conference on Machine Learning, Morgan Kaufmann, 1996.