[German Museum Bonn] [University of Bonn] [Carnegie Mellon University]

How RHINO Does Its Job

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.

Overview papers

Task Planning

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.


Collision avoidance

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


Map Acquisition and Motion Planning

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)



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!


Robot Learning

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.


[Tourguide Home Page] [Site Guide] [Time Schedule]
wolfram@cs.uni-bonn.de - Wolfram Burgard - 15.05.97