Implementation Details

Diese Seite in Deutsch

See also Technical Reports.

The control software of the autonomous mobile robot MOBOT-IV is realized as a distributed system of cooperating processes. This facilitates the implementation on a parallel system and the separate treatment of independent problems.
The following paragraphs deal with the system's single tasks.

Exploration and World-Modelling

Before being able to conduct task-specific actions in the operational area MOBOT-IV needs to perform an exploration tour to get used to the environment. During the exploration phase a software component 'Geographer' assembles current sensor shots from the laserscanners to a complete map of the environment. (Picture 1 - For reasons of efficiency Geographer uses sensor shots in a very low resolution, the maximum resolution is only used by the component for self-localization.)
In order to insert this sensor shot at the right coordinates in the global map the robot must know the exact position where it has been taken. Self-localization is a central topic in mobile robot research and the method used in the MOBOT-IV-project is explained in a later paragraph.

Assembly of global maps
Picture 1 Creation of global maps out of current sensor shots

The exploration is controlled by the software component 'Explorator' that successively visits all reachable places. Thus a complete exploration of the operational area is guaranteed. Picture 2 shows the result of an exploration tour on the lab's floor. The dimensions of the represented area are approximately 70 by 55 meters.
Internal World-Model
Picture 2 Complete internal model after exploration tour (bigger)


The software component 'Navigator' plans obstacle-free routes to given targets. For this purpose it uses the internal world-model of the environment and its knowledge about the vehicle's size and maneuvrability. 'Navigator' generates a number of intermediate targets which represent significant turning points on the way to the main target and hands this data to the software component which actually controls the vehicle's movements ('Pilot', below).

Collision-Free Course-Following

The software component 'Pilot' is responsible for controlling the vehicle's movements on the way to given main or intermediate targets. 'Pilot' tries to stay exactly on the track that has been computed by the Navigator. To avoid collisions with mobile or unknown objects 'Pilot' receives sensorial information about near objects and passes - if possible - unexpected obstacles in safe distance. If an obstacle not known to the Navigator during the planning phase prevents the 'Pilot' from reaching a target, 'Pilot' signals this fact to the Navigator to start computation of an alternative path.


As explained in the paragraph 'Exploration and World-Modelling' the Geographer must always know the robot's position during the exploration phase for a correct generation of the internal world-model. It is also clear that the Pilot depends on the knowledge of the exact position in order to move the vehicle to the destination coordinates provided by the Navigator.
That makes the software component 'Correlator' an essential part of MOBOT's control structure. This task extracts the robot's current position and orientation by comparing abstract features of current and previously stored laser range scans (using full resolution of 0.5 degrees -> 720 range readings per scan). Picture 3 shows the statistical method's functional principle. This continous self-localization technique is processed two times a second and guarantees navigation within a precision of few millimeters.

Picture 3 Statistical processing of laserscans
for position and orientation estimation used by MOBOT-IV

Last modified: 08.08.97, Joachim Weber

Back to homepage