rapid prototyping of mobile robots for research, education and appli- ... VolksBot is a flexible and modular mobile robot construction kit. ... Custom GUI building.
VolksBot - A flexible component-based mobile robot system Thomas Wisspeintner, Walter Nowak, Ansgar Bredenfeld Fraunhofer Institute for Autonomous Intelligent Systems (AIS), D-53754 Sankt Augustin, Germany {thomas.wisspeintner, walter.nowak, ansgar.bredenfeld}@ais.fraunhofer.de, WWW home page: http://www.ais.fraunhofer.de
Abstract. In this paper we present a component-based framework for rapid prototyping of mobile robots for research, education and application. The VolksBot construction kit addresses the rising demand for reusability in software, electronic hardware and mechanics by offering open and clearly defined interfaces as well as standardized components in all three fields. We show the versatility of the concept by applying it to different domains, particularly RoboCup Middle Size League as well as the Rescue scenario.
1
Introduction
Participating in RoboCup Middle Size League since 1998, we constructed six generations of different mobile robot platforms. Like many other teams we faced several problems related to specialized system development, time-consuming maintenance and high fluctuation of people combined with loss of knowledge. With this experience in mind, we started the VolksBot project [1] in September 2002. The goal of the project is to create a scalable, cost-effective and robust robot construction kit for advanced research experiments, education as well as for effective prototyping of applications. Prominent examples of already existing robot construction kits used in education are Lego Mindstorms [2], Fischertechnik Mobile Robots [3], Tetrixx[5] or the Cube System[4]. Although aspects of modularity are addressed by these systems, they are limited in complexity since the building blocks are simple and focus on miniaturization. On the other side, several robot platforms of higher complexity are usually specialized for a certain field of application like indoor or outdoor [6][7][8] or do not follow a construction kit approach. An interesting exception is an approach presented in the MoRob project with a focus on educational robotics [9]. In this paper, we present the VolksBot concept by showing its usage in the RoboCup domain.
2
The VolksBot Concept
VolksBot is a flexible and modular mobile robot construction kit. The componentbased approach offers a plug-in architecture with open interfaces in mechanics,
II
electronic hardware and software. Quick integration of own modules combined with reuse of existing ones foster application-specific but effective system development. An example of a VolksBot indoor platform is depicted in Figure 1.
Fig. 1. Example of an indoor VolksBot platform
2.1
Mechanical Design
To obtain a high grade of flexibility we set up some design criteria for the robot’s body construction. Among these are: – – – –
Usage of standardized parts Light-weight but rigid construction Easy modification Quick access and easy exchange of components
Regarding these criteria, we decided to use aluminum machine construction extrusions (x-profile) and proper connectors to build up the robots main frame. Size and shape of the body can be adjusted individually to the needs by simple mechanical processing. All sides of the x-profiles can be used to connect to additional elements. This enables all hardware components to be connected to the main frame. Therefore only geometrical dependencies between the component and the main frame occur, not between the components themselves. Figure 2 shows, how different components, like a battery, a motor-controller and the holonomic drive can be attached to the main frame. The mounting positions of the components are variable.
III
Fig. 2. CAD model of a VolksBot main frame with attached components including holonomic drive
2.2
Hardware Components
A set of basic hardware components consisting of processing unit, actuators and sensors is described here. A standard notebook or an embedded PC is used as the robot’s central control unit. The motor-controller TMC200 is connected via serial interface to the control PC. The controller offers odometric data analysis, thermal motor protection, battery voltage monitoring, PID-control of velocity and current for three DCmotors up to 200W power. The drive units consist of a DC-motor, a scalable planetary gear and a shaft encoder being attached to the supported wheel shaft via a damped coupling. The entire unit is encapsulated in an aluminum block which can be attached at different positions on the main frame. The catadioptric vision system AISVision includes an IEEE1394 CCD camera and a hyperbolic mirror as shown in Figure 1. Before construction, the system was designed entirely in simulation using ray-tracing software. In an iterative process, all relevant geometry parameters of the system were optimized for the use on a RoboCup Middle Size field. These include height of the mirror with respect to the camera, height of the entire vision-system above the ground, diameter of the mirror, focal distance of the camera and especially the two parameters a and b of the mirrors hyperbolic surface equation z2 r2 − =1 (1) a b with r being the radius and z the dimension along the optical axis. The criteria for this optimization were full visibility of all landmarks from any position in the field, including goals and corner-posts, and a good visibility of the close region. The rendered and the real camera image are depicted in Fig. 3. The optimization can be repeated for any other scenario with the described method. 2.3
Software Framework
Also in software a clear framework concept with well-defined components is being used. The aim is to provide easy access with a low entry level via an intuitive programming interface, similar to systems like Lego Mindstorms and Fischertechnik.
IV
Fig. 3. Comparison between simulated (left) and real (right) camera image
At the same time it should be possible to use native computer languages like C++ to implement also sophisticated algorithms. Further demands are: – – – – – –
Direct and stable hardware access Library of existing functionality Easy integration of own algorithms High performance and real-time capability Structured architecture Custom GUI building
ICONNECT [10], a professional software framework by Micro-Epsilon specialized on signal processing and industrial system automation fulfills these demands well. Other similar software packages such as Simulink [11] or Labview [12] are viable, but fail in some aspect like real-time capability or hardware independency. The underlying principle of ICONNECT are signal graphs built up with interconnected modules. A simple example of a signal graph used for robot control is depicted in Figure 4. These graphs provide a well-structured representation for
Fig. 4. A simple ICONNECT signal graph for robot control including camera interface, image visualization, image processing, robot behavior and motor control
system control and help to bridge the gap between easy access and high scalability by offering different levels of abstraction, ranging from parametrization
V
and visual composition of signal graphs to coding of user-specific modules. The execution of such graphs is handled by ICONNECTs scheduler which provides real-time capability under Microsoft Windows. Different graphs can be executed without recompilation, supporting an iterative development process and rapid prototyping. In Figure 5 the ICONNECT programming environment is depicted, including an example of an easy to build graphical user interface.
Fig. 5. ICONNECT GUI with signal graph (top), visualization of sensor data (left),a user cockpit (center) and the module library (right)
Several ways to implement new functionality exist in ICONNECT. Besides visual composition of modules and building hierarchies by macro modules, completely new modules can be written in several programming languages ranging from integrated script code over Visual Basic and Perl up to native C++. Such a module is an encapsulated software component, having a well-defined interface specifying the type of in- and outgoing data. Technically it is implemented as a dynamic library which is loaded and instantiated at runtime, independently from other modules. In order to emphasize the notion of an independent, encapsulated and ready-to-use component, each module is associated with a help page, example graph and an individual set of parameters. ICONNECT offers pre-defined modules in a module library, covering areas like signal processing, image processing or hardware IO. We extended the ICONNECT module library by providing robot-specific software modules. In such a way integrated functionality, even when coming from very different backgrounds and sources, can work together in one system in a compatible manner. Thus the software framework acts as a means for standardization. We already implemented several modules in the domain of robotics, reaching from simulation based on the ODE engine [13] and Matlab over image processing with OpenCV [14], interfaces to CAN-bus and IEEE1394 to RoboCup related
VI
behavior. With this method, we constantly add reusable functionality to the existing module-pool.
3
Volksbot in RoboCup Middle Size League
In the beginning of 2004 an international student-team (AIS/BIT) using VolksBot was built up under guidance from AIS Fraunhofer to participate in RoboCup Middle Size League. The modular concept of VolksBot supported this international collaboration and is elaborated in the following. The main demands on Middle Size League robots are quite different from other scenarios, requiring higher dynamics, superior motion control and real time color vision. To meet the demands set by this special scenario, the team had to introduce only a few additional plug-in components to the existing system. Some of them, like AISVision or our motor-controller TMC200 have even been used by other Middle Size teams for their own robots. Since the goal keeper has a different role in the game than the field players, it motivates a special design with larger main frame and different orientation of the kicking device. Reusing already existing hardware components, this variant could be build up within very short time. All of these modifications in hardware required only minor software changes due to the component-based structure of ICONNECT. As each hardware component is directly related to one module, only the module itself had to be changed, without affecting the entire system. This also holds true for the behavior architecture itself, where we focused on the use of Dual Dynamics[15], an architecture based on dynamical systems. The DD-Designer [16] tool was extended to directly generate ICONNECT modules, which made the behavior become an easily interchangeable component. An important aspect of the development process is simulation. A module incorporating physical simulation of robots based on the ODE engine was developed. It has the same interfaces as the hardware, so the development of behaviors can be done without any special treatment, just by replacing the simulator with the corresponding hardware access modules in the graph. This modular concept makes it much easier for new students to get an overview of the system and to become productive, as the number of dependencies between modules is minimized and made explicitly by the module interfaces. This eases also ongoing cooperations with other research groups and universities. After specifying few module interfaces, the spatially distributed groups could work on different modules with minimal integration issues. Similar results regarding successful teamwork were also achieved in RoboCup Real Rescue described in the next section.
4
RoboCup Real Rescue and Outdoor
In 2004, the idea had risen to extend the VolksBot concept, which until then had been purely used for indoor robots, to fit to the needs of rough terrain including the Real Rescue scenario and outdoor. As a consequence new demands have to
VII
be set on the system including high payload, mobility, ground clearance and rigidity. A Universal Drive Unit was developed enabling us to build new variants of VolksBot for rough terrain, the new VolksBot RT. Within only 3 weeks, including development of this unit, manufacturing of parts and final assembly, a six-wheeled version of the VolksBot as depicted in Figure 6 was ready to use. This is due to the fact that we mainly reused existing VolksBot components combined with available standard parts. Only four different parts had to be machined to build up the Universal Drive Unit. Equipped with two 150W DC-motors the robot is able to climb a slope of 43 degrees and has a maximum speed of 1.3m/s. As the motor gears can be exchanged as easily as for the indoor version, the maximum speed can be adjusted according to the demands. With little effort different variants in size and wheel configuration of the VolksBot RT can be built. This 6-wheeled version of VolksBot RT was
Fig. 6. 6-wheeled and 4-wheeled version of VolksBot RT
used as base platform at the RoboCup Rescue Workshop 2004 in Rome. There, within 15 hours of lab-activities, two groups of three and six persons - with no prior experience of the system - worked together to build a functional rescue robot with autonomous behavior which has been demonstrated at the end of the workshop. The task of one group was to build up the entire control system on the robot including signal processing of laser-scanner data, image-processing, compression and WLAN transmission of the AISVision image stream, interfaces for tele-operation, autonomous behavior and motor control. An obstacle-avoidance method was modified to achieve the desired behaviors like general obstacle avoidance, ”left- and right-wall following” or ”centering between the aisle”. The task of the other group was to build an interface for the operator including visualization of the robots state, camera image and laserscanner radar. Further on it was required to set the robots state e.g. from manual to autonomous and build an interface to joystick and throttle for proper teleoperation.
VIII
The two groups worked together well, first defining the interfaces then testing the results iteratively. In summary the VolksBot concept of rapid system development resulted in a running system within very short time.
5
Conclusion and Future Work
In this paper we have presented our approach to foster re-usability and systematic construction of hardware and software components for mobile robotic systems. Since we concentrate on the concept and not on a single platform, we offer much freedom in the actual design of the robot. This was effectively demonstrated in RoboCup where the VolksBot concept was put into practice in Middle Size League as well as in Real Rescue. It supports research by re-use and exchange of existing components and therefore gives more time and opportunities to concentrate on innovative development. The already existing VolksBot module-pool will be further extended and shared with the growing community. Further on didactic material is being collected, so lecturers can exchange their course material with others to minimize their preparation time. We will continue to build up new variants based on this concept and widen the range of applications, with a special focus on outdoor and navigation.
References 1. AIS Fraunhofer: Volksbot. http://www.volksbot.de 2. Mikhak, B., Berg, R., Martin, F., Resnick, M., Silverman, B.: To Mindstorms and Beyond: Evolution of a Construction Kit for Magical Machines. Robots for Kids: Exploring New Technologies for Learning Experiences 00 (2000) 3. Fischertechnik: http://www.fischertechnik.de 4. Birk, A.: Fast Robot Prototyping with the CubeSystem. Proc. ICRA 04 (2004) 5. Enderle, S., Sablatnog, S., Simon, S., Kraetzschmar, G.: Tetrixx - A Robot Development Kit. Proc. First International Workshop on Edutainment Robots 00 (2000) 6. Evolution Robotics ER1: http://www.evolution.com/er1 7. ActiveMedia: Pioneer. http://www.activrobots.com/ROBOTS/p2dx.html 8. K-Team: Koala robot. http://www.k-team.com/robots/koala/index.html 9. Gerecke, U., Hohmann, P., Wagner, B.: Concepts and Components for Robots in Higher Education. Proc. WAC 04 (2004) 10. Mandl, R., Sick, B.: Messen, Steuern, Regeln mit ICONNECT. (2003), ISBN: 3528058129 11. The MathWorks, Inc.: Simulink Users Guide. (2004) 12. Kalman, CJ.: LabVIEW: a software system for data acquisition, data analysis, and instrument control. J Clin Monit 95 (1995) 51–58 13. Smith, R.: Open Dynamics Engine User Guide. (2005) 14. OpenCV: http://sourceforge.net/projects/opencvlibrary 15. Jaeger, H., Christaller T.: Dual dynamics: Designing behavior systems for autonomous robots. Artificial Life and Robotics (1998) 108–112 16. Bredenfeld, A., Indiveri, G.: Robot Behavior Engineering using DD-Designer. Proc. ICRA 01 (2001)