Darmstadt Dribblers
M. Friedmann, T. Hemker, S. Kohlbrecher, K. Petersen, S. Petters, K. Radkhah, M. Risler, D. Scholz, D. Thomas, O. von Stryk
Department of Computer Science, Technische Universität Darmstadt, Hochschulstr. 10, D-64289 Darmstadt, Germany
Abstract This paper describes the hardware and software design of the kidsize humanoid robot systems of the Darmstadt Dribblers in 2010. The robots are used as a vehicle for research in control of locomotion and behavior of autonomous humanoid robots and robot teams with many degrees of freedom and many actuated joints. The Humanoid League of RoboCup provides an ideal testbed for such aspects of dynamics in motion and autonomous behavior as the problem of generating and maintaining statically or dynamically stable bipedal locomotion is predominant for all types of vision guided motions during a soccer game. A modular software architecture as well as further technologies have been developed for efficient and effective implementation and test of modules for sensing, planning, behavior, and actions of humanoid robots.
1 Introduction
The RoboCup scenario of soccer playing robots represents an extraordinary challenge for the design, control, stability, and behavior of autonomous humanoid robots. In a game, fast, goal oriented motions must be planned autonomously and implemented online while preserving the robot's postural stability and adapting them in real-time to the quickly changing environment.
The Darmstadt Dribblers participated in 2004 as the first German team in a soccer competition of the RoboCup Humanoid League (penalty kick) where they reached the semi-final. In RoboCup 2006 the Dribblers reached the 3rd place in the 2-2 games out of 16 teams. In 2007 and 2008 the quarter finals out of 20, resp. 24 teams were reached in the 3-3 games and lost both times in tight games against the later champion. In the technical challenges the Dribblers reached the 4th place in 2007 and the 2nd place in 2008 where they were the only team that completed the passing challenge. In 2009 the Darmstadt Dribblers reached the first place in the 3-3 games after winning all 8 games in series. They also reached the first place in the technical challenge being the only team mastering all 3 parts and received the Louis Vouitton Best Humanoid Award.
The information processing of the robot's sense-plan-act cycles are realized in two, resp. three layers, cf. Sect. 4. In RoboCup 2010 the Darmstadt Dribblers participate in the Humanoid KidSize League with further enhanced hardware and software based on the achievements of previous years.
2 Research Overview
The research of the Darmstadt Dribblers in humanoid robotics focuses on
– online-optimization for fast and stable humanoid locomotion, e.g. [1–3], – bio-inspired, elastic humanoid arms and legs [4, 5], – modular, flexible and reusable software and control architectures for cooperating and possibly heterogeneous robot teams [6, 7], – clocked, hierarchical finite state automata for programming high-level behavior of autonomous robots and robot teams [1, 8, 9], – modeling, simulation and optimal control of the full nonlinear dynamics of motion of humanoid and four-legged robots [2, 10], – a real-time software- and hardware-in-the-loop environment simulating humanoid robot kinematics and dynamics as well as external and internal robot sensors with adaptable level of abstraction for evaluating any onboard software used for image interpretation and perception, localization and control of a humanoid robot [11, 12], – humanoid perception using an articulated, directed camera mounted on a pan-tilt-joint as well as acoustic communication and localization [13].
3 Hardware
In 2010 a slightly improved robot design of the model DD2009 will be used by the Darmstadt Dribblers. The kinematic structure with 21 DoF can be seen in Fig. 1. The robots are equipped with an articulated camera and distributed computing hardware, consisting of a controller-board for motion-generation and stability control and an embedded PC board for all other functions. For motion stabilization 3 1D-gyroscopes and a 3-axes-accelerometer are used.
4 Software
In the current robotic system the computational power for information processing is distributed into three layers. The lowest layer of computation is performed in each of the 21 servo motors. Every servo motor is equipped with a microcontroller for position and velocity control with online adjustable parameters. The motors are also able to monitor their operational environment, e.g. temperature of the motor, thus allowing autonomous emergency shutdown in case of overheating. Further hard real-time tasks like motion generation and stability control are executed on a microcontroller board (reflex layer). High level control like vision, world modeling, behavior control and team coordination is executed on a standard embedded PC board (cognitive layer). All three layers of the control software communicate by a serial connection (Fig. 1 middle right).
The development process of the software is supported by several technologies and tools developed by the team. These include a graphical user interface (GUI) and a real-time simulator of the robots which can be used to transparently replace a real robot for software-in-the-loop (SIL) tests of software modules.
4.1 Low-Level Control Software (Reflex Layer)
The main task of the low-level control software is motion control including the generation of stable walking motions in hard real-time. To allow for precise and fast walking and smooth transitions between walking in different directions the walking parameters are interpolated between motion commands. To ensure realtime performance it is executed on a microcontroller board allowing a 10 ms control cycle. Motion generation is based on an inverse kinematics model of the 6 DoF robot's legs. For each time-step the pose of the robot's feet and hip is calculated and respective angles for the leg joints are calculated. The basic trajectories of hip and feet are based on ZMP theory and can be parameterized and altered at runtime [1]. Stability control is based on the robot's gyroscopes. Readings of the gyros are used to calculate offset angles for the shoulder, hip and ankle joints to compensate for disturbances [14].
The walking engine's parameters (e.g. different length and time variations during one stride) are well suited for optimization. By applying a new, general optimization method developed by the team a maximum walking speed of 40 cm/s in permanent operation was achieved [3]. From the accelerometer the robot detects if it has fallen down and to which side. The robot can stand up autonomously from lying on its back or its front side. The low-level control software also includes several hardware related drivers and a main control function which is executed at the robot's control rate. For software-in-the-loop testing the control function can be re-compiled to a shared library which can be executed within the Darmstadt Dribblers' multi-robot simulator [12].
4.2 High-Level Control Software (Cognitive Layer)
RoboFrame. The base of the robot control software is the object oriented and platform independent framework RoboFrame (www.dribblers.de/roboframe). This robot middleware has been developed to match the special requirements of small sized light-weight robots, both legged and wheeled, with low payload abilities resulting from requirements for dynamical and inertially stabilized locomotion. The framework provides flexible communication connections between the data processing parts of the applications, the so called modules. Currently packet and shared memory based communication is possible. The connections are established during runtime with very little overhead, thus allowing to change the layout of the application very fast. Very different deliberative or reactive behavior control paradigms may be realized on the basis of RoboFrame which has already been employed successfully on a variety of robots with different locomotion and onboard computing properties.
For debugging and monitoring of the software, a graphical user interface based on the platform independent GUI toolkit QT is available. With the GUI it is possible to visualize any kind of data by extending the provided API. TCP based data connections to multiple robots are possible. For further details on the architecture, the framework and the modules see, e.g. [6, 7, 15]
Current modules. Four main interacting modules developed on the basis of RoboFrame are used for the Dribblers's humanoid robots: image procession, world modeling, behavior decision and motion control (Fig. 1 right).
Image processing. To achieve a modular and extendable vision system for different camera types, the vision module can process images in different color spaces with different resolutions by choosing a highly object oriented approach which allows rapid prototyping of new image processors while providing the possibility for code optimizations for high computational efficiency. Image processing is split into two parts: a common pre-processing stage and several exchangeable modules for object recognition. Object recognition, done by so called perceptors, can work with multiple image types, such as pre-processed segmented or gray scale images, or the unprocessed raw image. Thus, depending on the object and underlying recognition algorithms, the proper level of abstraction can be used by each perceptor while keeping the pre-processing efforts at the required minimum. The perceptors developed up to now detect field lines, line crossings, the center circle, the ball, goals, poles and obstacles.
World modeling. The world model consists of a set of models which are updated using the detected percepts from the vision module. One part of the world model is a self localization, which is accomplished by Markov localization with particle filtering [16]. Additional for almost every percepted object a modeling exists, for example the ball and the obstacles. A selected subset of information from the models is exchanged between all robots in the scenario via wireless LAN. This information is integrated into the various models, for example if no ball is seen by a robot, it uses the ball position communicated by its team players to start its search for the ball. Additionally this information is used in a role model to dynamically select the different roles of the field players.
Behavior control. The data provided by the world model is used to control a more complex behavior such as it is required for playing soccer autonomously. The main task is separated into subtasks until they can be described as a set of atomic actions which can be executed by the humanoid robot. This is done by a hierarchical state machine implemented in XABSL [8] (cf. www.xabsl.de). The basic motion actions are transfered to and interpreted by the motion module, other basic actions are processed in further modules.
Motion control. The current motion module is mainly used to calculate walking trajectories (see Sect. 4.1) and to control the neck joints with two DoF depending on the robot type. The control of the other joints in the arms aims to improve postural stability during walking and kicking.
Monitoring and offline analysis. During a game predefined data can be logged onboard to a mass storage device, for example the precepted objects, the world model and the activation tree of the behavior. In combination with a video of the course of the game this data allows for a more detailed insight of the robots decisions and potential improvements. Using the GUI and different log recorders for each robot, the data and the video can be visualised synchronously.
4.3 Simulation
Developing and testing the key modules of autonomous humanoid soccer robots (e.g., for vision, localization, and behavior control) in SIL experiments, requires real-time simulation of the relevant motion and sensing properties. These include humanoid robot kinematics and dynamics, the interaction with the environment, and sensor simulation, especially the camera properties. To deal with an increasing number of humanoid robots per team the simulation algorithms must be very efficient. The simulator framework MuRoSimF (Multi-Robot-Simulation-Framework, www.dribblers.de/murosimf) has been developed which allows the flexible and transparent integration of different simulation algorithms with the same robot model [12]. A simulator for teams of humanoid robots based on MuRoSimF has been developed [11, 17]. A unique feature of this simulator is the scalability of the level of detail and complexity of motion and sensor simulation which can be chosen individually for each simulated robot and tailored to the requirements of a specific SIL test.
Acknowledgement
The team Darmstadt Dribblers currently consists of students and researchers of the Technische Universität Darmstadt, namely Barbara Pfister, Christian Groß, David Becker, Dirk Thomas, Dorian Scholz, Florian Jung, Georg Stoll, Janis Wojtusch, Jochen Mück, Jonathan Römer, Jörg Zimmer, Karen Petersen, Katayon Radkhah, Marian Wieczorek, Martin Friedmann, Mathias Kosch, Max Risler, Sebastian Jakob, Sebastian Petters, Stefan Kohlbrecher, Thilo Molitor, Thomas Hemker, and Oskar von Stryk.
Further information (including preprints of publications as well as videos) is available online for download from our website www.dribblers.de.
References
- M. Friedmann, J. Kiener, S. Petters, H. Sakamoto, D. Thomas, and O. von Stryk. Versatile, high-quality motions and behavior control of humanoid robots. Intl. J. of Humanoid Robotics, 5(3):417–436, Sep. 2008.
- M. Hardt and O. von Stryk. Dynamic modeling in the simulation, optimization and control of legged robots. ZAMM: Zeitschrift f. Angewandte Mathematik und Mechanik, 83:648–662, 2003.
- T. Hemker, H. Sakamoto, M. Stelzer, and O. von Stryk. Efficient walking speed optimization of a humanoid robot. Intl. J. of Robotics Research, 28:303–314, Feb. 2009.
- S. Klug, O. von Stryk, and B. Möhl. Design and control mechanisms for a 3 dof bionic manipulator. In Proc. 1st IEEE / RAS-EMBS Intl. Conf. on Biomedical Robotics and Biomechatronics (BioRob), number 210, Pisa, Italy, Feb. 20-22 2006.
- A. Seyfarth, R. Tausch, M. Stelzer, F. Iida, A. Karguth, and O. von Stryk. Towards bipedal jogging as a natural result for optimizing walking speed for passively compliant three-segmented legs. Intl. J. of Robotics Research, pages 257–265, 2009.
- M. Friedmann, J. Kiener, S. Petters, D. Thomas, and O. von Stryk. Reusable architecture and tools for teams of lightweight heterogeneous robots. In Proc. 1st IFAC Workshop Multivehicle Systems, pages 51–56, Salvador, BR, Oct. 2-3 2006.
- S. Petters, D. Thomas, and O. von Stryk. Roboframe a modular software framework for lightweight autonomous robots. In Proc. Workshop on Measures and Procedures for the Evaluation of Robot Architectures and Middleware of the 2007 IEEE/RSJ Int. Conf. on Intelligent Robots and Systems, San Diego, CA, USA, Oct. 29 2007.
- M. Lötzsch, M. Risler, and M. Jüngel. XABSL a pragmatic approach to behavior engineering. In Proceedings of IEEE/RSJ Intl. Conf. of Intelligent Robots and Systems (IROS), pages 5124–5129, Beijing, China, 2006.
- M. Risler. Behavior Control for Single and Multiple Autonomous Agents Based on Hierarchical Finite State Machines. PhD thesis, Technische Universität Darmstadt, May 15 2009.
- M. Hardt and O. von Stryk. The role of motion dynamics in the design, control and stability of bipedal and quadrupedal robots. In G.A. Kaminka, P.U. Lima, and R. Rojas, editors, RoboCup 2002 Intl. Symposium (Robot Soccer World Cup VI), volume 2752 of LNAI, pages 206–223, Fukuoka, Japan, Jun. 24-25 2003. Springer.
- M. Friedmann, K. Petersen, and O. von Stryk. Adequate motion simulation and collision detection for soccer playing humanoid robots. Robotics and Autonomous System Journal (Elsevier), 57:786–795, 2009.
- M. Friedmann. Simulation of Autonomous Robot Teams With Adaptable Levels of Abstraction. PhD thesis, Technische Universität Darmstadt, Nov. 30 2009.
- D. Becker and M. Risler. Mutual localization in a team of autonomous robots using acoustic robot detection. In RoboCup International Symposium, Suzhou, China, Jul. 15-18 2008.
- D. Scholz, M. Friedmann, and O. von Stryk. Fast, robust and versatile humanoid robot locomotion with minimal sensor input. In Proc. 4th Workshop on Humanoid Soccer Robots at the 2009 IEEE-RAS Intl. Conf. on Humanoid Robots, Paris, Dec. 7-10 2009.
- S. Petters, D. Thomas, M. Friedmann, and O. von Stryk. Mutlilevel testing of control software for teams of autonomous mobile robots. In S. Carpin et al., editor, Simulation, Modeling and Programming for Autonomous Robots (SIMPAR 2008), number 5325 in LNAI, pages 183–194. Springer, Nov. 2008.
- S. Thrun, W. Burgard, and D. Fox. Probabilistic Robotics. MIT Press, 2005.
- M. Friedmann, K. Petersen, and O. von Stryk. Simulation of multi-robot teams with flexible level of detail. In S. Carpin et al., editor, Simulation, Modeling and Programming for Autonomous Robots (SIMPAR 2008), number 5325 in LNAI, pages 29–40, Venice, Italy, Nov. 2008. Springer. Best paper award.