NimbRo KidSize 2009 Team Description
Sven Behnke, J¨org St¨uckler, Michael Schreiber
Rheinische Friedrich-Wilhelms-Universit¨at Bonn Computer Science Institute VI: Autonomous Intelligent Systems R¨omerstr. 164, 53117 Bonn, Germany
http://www.NimbRo.net · www.NimbRo.net
Abstract This document describes the RoboCup Humanoid League team NimbRo KidSize of Rheinische Friedrich-Wilhelms-Universit¨at Bonn, Germany, as required by the qualification procedure for the competition to be held in Graz in July 2009.
Our team uses self-constructed robots for playing soccer. The paper describes the mechanical and electrical design of the robots. It also covers the software used for perception and behavior control.
1 Introduction
The project NimbRo – Learning Humanoid Robots moved in 2008 from Freiburg to Bonn. Our KidSize team participated with success at last year's RoboCup Humanoid League competition in Suzhou. The robots won the soccer tournament and came in second in the obstacle run. Figure 1 shows the soccer final, where our robots met for the fourth time in a row Team Osaka.
For 2009, we will continue to use the NimbRo KidSize robots from the 2007 and 2008 generations. We continuously improve the computer vision and behavior control software.
This document describes the current state of the project as well as the intended development for the RoboCup 2009 competitions. It is organized as follows. In the next section, we describe the mechanical and electrical design of the robots. The perception of the internal robot state and the situation on the field is covered in Sec. 3. The generation of soccer behaviors in a hierarchy of agents and time-scales is explained in Sec. 4.
2 Mechanical and Electrical Design
Fig. 2 shows Lothar, one of our 2007 KidSize robots and Steffi from the 2008 generation. As can be seen, the robots have human-like proportions. Their mechanical design focused on simplicity, robustness, and weight reduction. The robots have a height of 60cm. The 2007 robots have 20DOF: six per leg, three per arm and two in the trunk. Their weight is 4kg. The 2008 robots have only two joints per arm, not joint in the trunk, and one joint in the neck, resulting in a total of 17DOF. They weight only 3.5kg.
The robots are controlled by an UMPC, a Sony Vaio UX, which features an Intel 1.33GHz ULV Core Solo Processor, 1GB RAM, 32GB SSD, a touchsensitive display, 802.11a/b/g WLAN, and a USB2.0 interface. Three IDS uEye UI-1226LE industrial USB2.0 cameras with 1/3" WVGA CMOS sensor are mounted in the head. The nose is the wide-angle lens of one of these cameras. The two other cameras are located below the visible eyes. They have an overlapping field-of-view and cover together a horizontal field-of-view of about 160◦ .
The robots are also equipped with a HCS12X microcontroller board, which manages the detailed communication with all joints via an 1Mbaud RS-485 bus. The microcontroller also read in a dual-axis accelerometer and two gyroscopes. This board communicates whith the main computer via a RS-232 serial line at 115KBaud. The robots are powered by high-current Lithium-polymer rechargeable batteries, which are located in their lower back and last for about 20min of operation.
3 Perception
3.1 Proprioception
The readings of accelerometers and gyros are fused to estimate the robot's tilt in roll and pitch direction. The gyro bias is automatically calibrated and the lowfrequency components of the tilt estimated from the accelerometers are combined with the integrated turning rates to yield an estimate of the robot's attitude that is insensitive to short linear accelerations. Joint angles, speeds, and loads are also available. Temperatures and voltages are monitored to notify the user in case of overheating or low batteries.
3.2 Computer Vision
We capture and process YUV images from all three cameras at an aggregated frame rate of approx. 24 fps. Each pixel is color-classified in a fast multistage process using a color look-up table. In the downsampled color-classified image we detect the ball, the goals, the poles, goal-posts, restart markers, field line features, obstacles, team mates, and opponents by color and size. We estimate distance and angle to each feature in the robot's egocentric coordinate frame by removing radial lens distortion and by inverting the projective mapping from field to image plane. For field line features at corners and T-junctions, we also estimate their orientation relative to the robot.
The NimbRo KidSize robots are equipped with yaw joints in either the trunk (2007 robots) or the neck (2008). Behavior control moves these joints to actively keep objects like the ball within the FOV or to look into the walking direction. This active vision strategy effectively increases the FOV of the robot. The twist of the cameras with respect to the robot's egocentric coordinate frame can easily be taken into account when the projective function is inverted.
With limited FOV, parts of the soccer field and the dynamic world state can not be perceived directly. This knowledge has to be inferred and estimated indirectly instead. The goalkeeper, for example, must estimate its pose within the goal through localization using a limited set of visible landmarks. Also, it is valuable to distribute knowledge of the ball position among the players in a team using localization information.
The robot can not perceive its motion directly. Instead, we model its motion based on its gait target velocity. The model accounts for the high noise in its execution. Also, the distance and angle measurements to landmarks are subject to high noise, especially due to inclinations of the robot during walking.
As the goals, the poles, and the goal posts are not sufficient for our localization purposes, we use landmarks like the restart markers, field line corners, and field line T-junctions in addition. However, these landmarks are not uniquely identifiable by color and can not always be identified through geometric constraints in the image.
We estimate the robot's pose on the field by filtering uncertain motion information and landmark observations in a probabilistic way. We use a Monte Carlo localization (MCL) [5] approach, as it can represent multi-modal pose beliefs and can cope with unknown data association. In MCL, the estimate of the current pose of the robot based on previous observations and motion information, $p(s_t|z_{1:t},u_{1:t})$, is represented with a set of weighted particles, as shown in Fig. 3. At each time step, the estimate is updated recursively with new motion information and landmark observations. This recursive Bayesian filter is implemented with the Sampling-Importance-Resampling method.
To handle unknown data association of unidentified landmarks in MCL, we sample the data association $c_t$ on a per-particle basis. It indicates the ID of the landmark to which the observation $z_t$ corresponds. For each particle, we sample the association with a likelihood proportionally to the observation likelihood for the landmark in the particle's pose $s_t^{[i]}$, i.e. $c_t \sim \eta \ p(z_t|c_t,s_t^{[i]})$.
The association of field line corner and T-junction observations to landmarks can be improved further. We compare the observed orientation with the expected orientation of the corners and T-junctions in each particle's point of view. By this, these landmark observations become uniquely identifiable in many situations.
4 Behavior Control
We control the robots using a framework that supports a hierarchy of reactive behaviors [1]. This framework allows for structured behavior engineering. Multiple layers that run on different time scales contain behaviors of different complexity. When moving up the hierarchy, the speed of sensors, behaviors, and actuators decreases. At the same time, they become more abstract. The framework forces the behavior engineers to define abstract sensors that are aggregated from faster, more basic sensors. Abstract actuators give higher-level behaviors the possibility to configure lower layers in order to eventually influence the state of the world.
The control hierarchy of our robots is arranged in an agent hierarchy, where – multiple joints (e.g. left knee) constitute a body part (e.g. left leg),
- multiple body parts constitute a player (e.g. field player), and
- multiple players constitute a team.
In this hierarchy, we implemented:
- basic skills (e.g. omnidirectional walking, kicking, getting-up behaviors)
- soccer behaviors (e.g. searching the ball, positioning behind the ball), and
- tactics and team behaviors (e.g. role assignment, player positioning)
Further details on the implemented behaviors have been described by Behnke and St¨uckler [2].
In soccer games, physical contact with other robots is unavoidable, especially when multiple robots are going for the ball. This might destabilize the robots and lead to falls. One notable improvement to our system is the use of feedback mechanisms that stabilize omnidirectional walking. We use feedback as sketched in Fig. 4 to increase the robustness of the gait against disturbances. This also increases usable gait velocities. The robots handle small disturbances by controlling the foot inclination according to the tilting rate of the trunk of the robot. To compensate larger tilts and tilting rates in the sagittal plane, we implemented a foot placement controller that modulates the sagittal walking velocity to 'catch up' with the tilt. We stabilize the lateral weight shifting by adjusting the lateral leg angles proportionally to the lateral tilt.
These feedback mechanisms significantly improve the robustness of our gait. Hence, the feedback mechanisms are effective means to avoid falls. Falls cannot be prevented completely though. Our robots detect gait instabilities and try to prevent damage by landing in a controlled way [3]. After a fall, they get up quickly [4].
5 Conclusion
At the time of writing, Feb 13th, 2009, we made good progress in preparation for the competition in Graz. We will continue to improve the system for RoboCup 2009. The most recent information about our team (including videos) can be found on our web pages www.NimbRo.net.
Acknowledgements
Funding for the project is provided by Deutsche Forschungsgemeinschaft (German Research Foundation, DFG) under grant BE 2556/2, /4 and Rheinische Friedrich-Wilhelms-Universit¨at Bonn.
Team Members
Currently, the NimbRo soccer team has the following members:
- Team leader: Prof. Sven Behnke
- Staff: J¨org St¨uckler, Michael Schreiber, and Marcell Missura
- Students: Weichao Liu, Andreas Schmitz, Ralf Waldukat, Tobias Wilken, and Thomas Windheuser
References
- Sven Behnke and Raul Rojas. A hierarchy of reactive behaviors handles complexity. In Balancing Reactivity and Social Deliberation in Multi-Agent Systems, pages 125–136. Springer, 2001.
- Sven Behnke and J¨org St¨uckler. Hierarchical reactive control for humanoid soccer robots. International Journal of Humanoid Robots (IJHR), 5(3):375–396, 2008.
- Reimund Renner and Sven Behnke. Instability detection and fall avoidance for a humanoid using attitude sensors and reflexes. In Proceedings of IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS 2006), Beijing, China, pages 2967–2973, 2006.
- J¨org St¨uckler, Johannes Schwenk, and Sven Behnke. Getting back on two feet: Reliable standing-up routines for a humanoid robot. In Proc. of The 9th International Conference on Intelligent Autonomous Systems (IAS-9), Tokyo, Japan, pages 676–685, 2006.
- S. Thrun, W. Burgard, and D. Fox. Probabilistic Robotics. MIT Press, 2005.