FAST-Robots: a rapid-prototyping framework for intelligent mobile robotics Holger Kenn, Stefano Carpin, Max Pfingsthorn, Benjamin Liebald, Ioan Hepes, Catalin Ciocov and Andreas Birk School of Engineering and Science International University Bremen P.O. Box 750561, Bremen, Germany email: h.kenn@iu-bremen.de ABSTRACT FAST-Robots (Framework Architecture for Selfcontroled and Teleoperated Robots) is an object-oriented network control architecture framework for robotics experiments that supports mixed teleoperation and autonomy. Its fea- tures are the abstraction from the underlying communica- tion system and its simplicity and flexibility towards mod- ification and extension. This architecture is used aboard mobile robots in the Robocup Rescue Robots League. KEY WORDS Robotics, Control Architecture, Teleoperation, Au- tonomous Systems, Robocup Rescue Robots League 1 Introduction In the recent years, applications of artificial intelligence systems in mobile robots have gained popularity among both the general public and researchers. Robotic systems such as the Sojourner Rover of the 1997 NASA Pathfinder Mission[1, 2] or the robots of the Robocup Robotic soc- cer competitions[3] have gained public attention but simi- lar robotic systems are used today in various fields, e.g. in underwater robotics[4]. Most systems integrate on-board control based on AI techniques with teleoperation capabil- ities using off-the-shelve network components. For various experimental sciences, the use of AI, robotics and computer networks for remote operation of experiments is becoming more and more important. The examples reach from simple webcam systems for visual in- spection to complete fiber optic computer networks to be deployed on the ocean floor as in the NEPTUNE project[5]. For remote operation of mobile robots, there are sev- eral commercial software packages available, but these of- ten only support the vendor-supplied robots, sensors and actuators. A simple, vendor-independent software archi- tecture for mobile robotics would not only ease the appli- cation of autonomous and tele-operated robotics for other experimental sciences, it would also allow the reuse of sen- sor systems and application software developed by other scientists and ease the repetition of experiments. For general robotics applications, other scientific projects have started to design and implement such software architectures, one example is the OROCOS project[6]. Unfortunately, the OROCOS approach resulted in a highly complex system that tries to cover almost all robotic systems and applications but currently focuses mainly on industrial robot arms. For the robots of the IUB Robocup Rescue Team 2003, the available architectures were found unsuited. Therefore, a simplified network control architecture has been developed that fulfills current and future requirements for mobile robotics research and is still easy to use by non- experts. It is provided as sourcecode under a GNU Public License. The remainder of the paper is structured as follows: First, the general requirements for a network control archi- tecture are presented, then, the robots of the IUB Robocup Rescue Team are presented as a general example for a flex- ible robotic system. The structure of the FAST-Robots net- work control framework is then explained and an example for the extension of the framework with a new sensor is given. 2 Requirements for the software architec- ture In order to provide an useful tool for the implementation of tele-operated experimental platforms, several issues have to be addressed in the design of the software architecture: Combination of teleoperation and on-board control: Most mobile robotic systems, especially the more complex ones include both autonomous functions and teleoperation, even if the teleoperation aspect is only used for test and data analysis purposes. Support for these two modes of operation (or even a combination of both) is a necessity. Simplicity: Robotic platforms used in research are often used for different experiments and the focus of the re- searchers is not on software engineering. Therefore, the architecture has to provide a number of building blocks that can be used in a straight-forward way.