NimbRo TeenSize 2013 Team Description
Marcell Missura, Michael Schreiber, Julio Pastrana, Cedrick Münstermann, Max Schwarz, Sebastian Schueller, Sven Behnke
Rheinische Friedrich-Wilhelms-Universität Bonn Computer Science Institute VI: Autonomous Intelligent Systems, Friedrich-Ebert-Allee 144, 53113 Bonn, Germany
Abstract This document describes the RoboCup Humanoid League team NimbRo TeenSize of Rheinische Friedrich-Wilhelms-Universität Bonn, Germany, as required by the qualification procedure for the competition to be held in Eindhoven in June 2013. Our team uses selfconstructed robots for playing soccer. This paper describes the mechanical and electrical design of the robots. It also covers the software used for perception and behavior control.
1 Introduction
Our TeenSize team participated with great success [5] during last year's RoboCup Humanoid League competition in Mexico City. Our robots won the 2 vs. 2 soccer tournament for the fourth time in row, achieved the maximum possible score in the Technical Challenge and received the Louis Vuitton Best Humanoid Award for the second time. We also successfully participated in a 3 vs. 3 exhibition match and demonstrated that the TeenSize class is in principal ready to increase the number of players, given enough participants and enough available robots. In 2012, our main innovation was the construction of a new TeenSize robot "Copedo", which is able to fall to the ground without sustaining damage and can which get up again after a fall. Copedo was able to outperform its successor Dynaped with the extended capabilities of get-up and throw-in motions due to more flexible arms. This year, we will continue to use the NimbRo TeenSize robots Copedo and Dynaped, but we also introduce the first version of our new NimbRo-OP Humanoid TeenSize Open Platform robot and will demonstrate its capabilities on the soccer field.
This document is organized as follows. In the next section, we describe the mechanical and electrical design of our robots. The perception of the environment and the internal robot state is covered in Section 3. The generation of motions and soccer behaviors in a hierarchical framework is explained in Section 4.
2 Mechanical and Electrical Design
Fig. 2 shows our humanoid TeenSize robots: NimbRo-OP, Copedo, and Dynaped. Their mechanical design is focused on simplicity, robustness, and weight reduction.
2.1 NimbRo-OP
NimbRo-OP [9] is 95 cm tall and weighs 6.6 kg. The robot has 20 degrees of freedom (DoF) altogether, 6 DoF per leg, 3 DoF per arm and 2 DoF in the neck. Limiting the robot size to 95 cm allowed for the use of a single actuator per joint, thus, reducing cost and complexity in comparison to our previous TeenSize robots Dynaped and Copedo. We also did not use the parallel kinematic legs of our previous robots to keep the design as simple as possible.
All joints are driven by intelligent actuators chosen from the Dynamixel MX series manufactured by Robotis. Specifically, MX-106 are used in the legs, and MX-64 in the arms and neck. All Dynamixel actuators are connected with a single TTL one-wire bus. The servo motors, as well as all other electronic components are powered by a rechargeable 14.8 V 3.6 Ah lithium-polymer battery. To keep the weight low, lightweight materials were used like carbon composite and aluminum. All parts not necessary for stability were removed. Arms and legs are constructed from milled carbon-composite sheets which are connected with U-shaped aluminum parts cut from sheets and bent on two sides. The torso, that harbors most of the electronic components, is a cage entirely made from aluminum, which was cut of a rectangular tube and milled from four sides. The head and the connecting pieces in the hands are 3D printed using ABS+ polymer. The feet are made of flexible carbon composite sheets. The kicking-toes are made of aluminum. NimbRo-OP is equipped with a small Zotac Zbox nano XS PC, capable of running Linux or Windows-based operating systems. This PC features a Dual-Core AMD E-450 processor with a clock frequency of 1.65 GHz. For data storage, 2 GB RAM (expandable to 4 GB) and a 64 GB solid state disk can be used. A memory card slot is also present. The available communication interfaces are USB 3.0, HDMI, and Gigabit Ethernet. The 10.6×10.6×3.7 cm PC case is embedded into the torso without modifications so that it is easy to upgrade or to exchange it for a different component. The head contains a small stub antenna that is part of a USB WiFi adapter, which supports IEEE 802.11b/g/n. In addition to the PC, a Robotis CM730 board is used to maintain a high-frequency serial communication link with the servo motors. Furthermore, the CM730 board comes with integrated three-axes accelerometers and three-axes gyroscopes as sensors for attitude estimation. The same Logitech C905 USB camera that Robotis used in the DARwIn-OP was incorporated. Additionally, we replaced the original lens by a custom wide-angle lens that allows the robot to have a field-of-view of up to 180°. The wide visual range resembles the human field-of-view and allows the robot to keep more objects of interest in sight, but it also introduces an image distortion that requires correction. Please see Section 3.2 for more details.
2.2 Copedo and Dynaped
Copedo is 114 cm tall and weighs 8 kg. Its body design is derived from its predecessor Dynaped, including the 5-DoF legs with parallel kinematics and the spring-loaded passive joint between the hip and the spine. Copedo, however, is equipped with an additional passive joint in the neck to protect the head. Our new generation of protective joints are able to snap back into position automatically after being displaced by mechanical stress, so that the robot remains operational after falling to the ground and does not need to be manually set. Copedo is constructed from milled carbon fiber parts that are assembled to rectangular shaped legs and flat arms. The torso is constructed entirely from aluminum and consists of a cylindric tube that contains the hip-spine spring and a rectangular cage that holds the information processing devices. For protection, a layer of foam was included between the outer shell and the skeleton.
Most importantly, Copedo is equipped with 3-DoF arms that include elbow joints to enable the robot to stand up from the ground, to pick up the ball from the floor, and to perform the throw-in motion (Figure 1, right). Including a neck joint to pan the head, Copedo has 17 actuated DoF. The hip roll, hip pitch, and knee DoF are actuated by master-slave pairs of Dynamixel EX-106+ servo motors. All other DoFs are driven by single motors including EX-106+ motors for ankle roll, EX-106 motors for hip yaw and shoulder pitch, RX-64 motors for shoulder roll and elbow, and an RX-28 motor for the neck yaw joint.
Size and weight of Dynaped are 105 cm and 7 kg, respectively. This robot has 13 DoF: 5 DoF per leg, 1 DoF per arm, and 1 DoF in the neck. It also uses parallel kinematics with pairs of EX-106 actuators. Due to a flexible shoulder joint socketed on rubber struts and the passive protective joint in the spine, Dynaped is capable of performing a goalie jump.
Both custom NimbRo robots are controlled by a small PC, which features an Intel 1.33 GHz processor and a touch screen. A HCS12X microcontroller board manages the detailed communication with all joints via a 1 Mbaud RS-485 bus. The microcontroller also reads in a dual-axis accelerometer and two gyroscopes.
3 Perception
Our robots need information about their internal state and the situation on the soccer field to act successfully.
3.1 Proprioception
A torso attitude estimation in roll and pitch directions is combined with the joint angle feedback of the servos to obtain a high level pose estimation using a kinematic model. First, we apply the joint angles to the model using forward kinematics and then we rotate the entire model around the current support foot such that the torso attitude matches the angle we estimated with the IMU. This way, we obtain a robot pose approximation that can be used to extract the location and the velocity of the center of mass. We assume that the support foot is the one that has a lower coordinate with respect to the vertical world axis of the rotated kinematic model. Temperatures and voltages are also monitored for notification of overheating or low batteries.
3.2 Computer Vision
For visual perception of the game situation, we process wide-angle YUV images from a Logitech C905 (NimbRo-OP) or an IDS uEye camera (Copedo and Dynaped) with fish eye lens. Pixels are color-classified using a look-up table. In down-sampled images of the individual colors, we detect the ball, goal-posts, poles, penalty markers, field lines, corners, T-junctions, X-crossings, obstacles, team mates, and opponents utilizing color, size and shape information. We estimate distance and angle to each detected object by removing radial lens distortion and by inverting the projective mapping from field to image plane. To account for camera pose changes during walking, we learned a direct mapping from the IMU readings to offsets in the image. We also determine the orientation of lines, corners and T-junctions relative to the robot.
While our wide-angle lens cameras allow the robot to have a human-like field of view of up to 180° and allow the robots to keep more objects of interest in sight, it also introduces an image distortion as shown in Figure 3. To implement a correction algorithm, we assume a simple barrel distortion model and use the following formula to compute corrected image coordinates q from distorted image coordinates p, relative to the center:
$$q = \frac{p}{1 - \alpha ||p||^2}$$
The parameter α depends on the individual optical system.
3.3 Localization
For localization, we track a three-dimensional robot pose (x, y, θ) on the field using a particle filter [11]. The particles are updated using a linear motion model. Its parameters are learned from motion capture data [7]. The weights of the particles are updated according to a probabilistic model of landmark observations (distance and angle) that accounts for measurement noise. To handle unknown data association of ambiguous landmarks, we sample the data association on a per-particle basis. The association of field line corner and T-junction observations is simplified using the orientation of these landmarks. By utilizing field line based landmarks and their orientations, we are able to reliably track the robot pose without the use of colored landmarks. Further details can be found in [8] and [3].
3.4 Learning colors of unknown balls
Last year, for the first time, the robots had to learn to recognize an unknown ball in the Obstacle Avoidance and Dribbling Challenge. To this end, we defined a region of interest in the field-of-view of the robot, which contained only the field color (green carpet) and the unknown ball (Fig. 4(a)). In this area, we segmented all colors different from the field color, white, and black (Fig. 4(b)). The remaining color histograms were thresholded with a minimum color count and smoothed. We fitted a Gaussian mixture model to the colors of the unknown ball and used its parameters to initialize the ball color in our color table (Fig. 4(c)). Dynaped was the only TeenSize robot to complete this challenge (Fig. 4(d)).
4 Behavior Control
We control our robots using a layered framework that supports a hierarchy of reactive behaviors [2]. This framework allows for structured behavior engineering. Multiple layers that run on different time scales contain behaviors at different abstraction levels. When moving up the hierarchy, the update frequency of sensors, behaviors, and actuators decreases. At the same time, they become more abstract. Raw sensor input from the lower layers is aggregated to slower, abstract sensors in the higher layers. Abstract actuators enable higher-level behaviors to configure lower layers in order to eventually influence the state of the world. Currently, our implementation consists of three layers. The lowest, fastest layer is responsible for a fall protection reflex, that relaxes all joints when an inevitable fall is detected by the attitude sensors, and generating motions, such as walking, kicking, getting up, and the goalie dive. Our central pattern generated omnidirectional gait [1] is based on rhythmic lateral weight shifting and coordinated swinging of the non-supporting leg in walking direction. This open-loop gait is extended with a lateral capture step controller [4] that modifies the timing and the lateral location of the footsteps to maintain balance. For the goalie, we designed a motion sequence that accelerates the diving motion compared to passive sideways falling from an upright standing posture [6]. The goalie jump decision is based on a support vector machine that was trained with real ball observations.
We designed get-up motions for Copedo and NimbRo-OP using a simple, linear interpolated keyframe technique [10]. The motions are executed open-loop after a prone or supine position has been detected. An example of the get-up motions is illustrated in Figure 5. Further details can be found in [5] and [9].
At the next higher layer, we abstract from the complex kinematic chain and model the robot as a simple holonomic point mass that is controlled with a desired velocity in sagittal, lateral and rotational directions. We are using a cascade of simple reactive behaviors based on the force field method to generate ball approach trajectories, ball dribbling sequences, and to implement obstacle avoidance.
The topmost layer of our framework takes care of team behavior, game tactics and the implementation of the game states as commanded by the referee box.
5 Conclusion
At the time of writing, January 27th, 2013, we made good progress in preparation for the competition in Eindhoven. We will continue to improve the system for RoboCup 2013. The most recent information about our team (including videos) can be found on our web pages www.NimbRo.net.
Commitment
Team NimbRo commits to participate in RoboCup 2013 in Eindhoven and to provide a referee knowledgeable of the rules of the Humanoid League.
Acknowledgements
This research is supported by Deutsche Forschungsgemeinschaft (German Research Foundation, DFG) under grant BE 2556/6.
Team Members
Currently, the NimbRo soccer team has the following members:
- Team leader: Sven Behnke
- Members: Marcell Missura, Michael Schreiber, Julio Pastrana, Cedrick Münstermann, Max Schwarz, and Sebastian Schueller
References
- Sven Behnke. Online trajectory generation for omnidirectional biped walking. In Proceedings of IEEE International Conference on Robotics and Automation (ICRA), Orlando, Florida, pages 1597–1603, 2006.
- Sven Behnke and Jörg Stückler. Hierarchical reactive control for humanoid soccer robots. International Journal of Humanoid Robots (IJHR), 5(3):375–396, 2008.
- Daniel D. Lee, Seung-Joon Yi, Stephen G. McGill, Yida Zhang, Sven Behnke, Marcell Missura, Hannes Schulz, Dennis Hong, Jeakweon Han, and Michael Hopkins. RoboCup 2011 Humanoid League winners. In RoboCup 2011: Robot Soccer World Cup XV, volume 7416 of LNCS, pages 37–50. Springer, 2012.
- Marcell Missura and Sven Behnke. Lateral capture steps for bipedal walking. In Proceedings of 11th IEEE-RAS International Conference on Humanoid Robots (Humanoids), Bled, Slovenia, pages 401–408, 2011.
- Marcell Missura, Cedrick Münstermann, Malte Mauelshagen, Michael Schreiber, and Sven Behnke. Robocup 2012 best humanoid award winner nimbro teensize. In RoboCup 2012: Robot Soccer World Cup XVI, 2012.
- Marcell Missura, Tobias Wilken, and Sven Behnke. Designing effective humanoid soccer goalies. In RoboCup 2010: Robot Soccer World Cup XIV, volume 6556 of LNCS, pages 374–385. Springer, 2011.
- Andreas Schmitz, Marcell Missura, and Sven Behnke. Learning footstep prediction from motion capture. In RoboCup 2010: Robot Soccer World Cup XIV, volume 6556 of LNCS, pages 97–108. Springer, 2011.
- H. Schulz and S. Behnke. Utilizing the structure of field lines for efficient soccer robot localization. Advanced Robotics, 26:1603–1621, 2012.
- Max Schwarz, Michael Schreiber, Sebastian Schueller, Marcell Missura, and Sven Behnke. Nimbro-op humanoid teensize open platform. In In Proceedings of 7th Workshop on Humanoid Soccer Robots, IEEE-RAS International Conference on Humanoid Robots, Osaka, November 2012.
- J. Stückler, J. Schwenk, and S. Behnke. Getting back on two feet: Reliable standingup routines for a humanoid robot. In Proceedings of The 9th International Conference on Intelligent Autonomous Systems (IAS-9), 2006.
- S. Thrun, W. Burgard, and D. Fox. Probabilistic Robotics. MIT Press, 2005.