NimbRo AdultSize Team Description Paper 2019
Diego Rodriguez, Hafez Farazi, Grzegorz Ficht, Dmytro Pavlichenko, André Brandenburger, Mojtaba Hosseini, Sven Behnke
Rheinische Friedrich-Wilhelms-Universität Bonn Computer Science Institute VI, Autonomous Intelligent Systems Endenicher Alle 19A, 53115 Bonn, Germany
Abstract This paper presents the latest improvements of team NimbRo AdultSize of the Rheinische Friedrich-Wilhelms-Universität Bonn, Germany. This paper aims to serve as qualification material for the competition held in Sydney from July 2–8. The design and construction of our robots was developed entirely by our team members. This paper focuses mainly on the hardware and software components that played a key role for winning the Humanoid League 2018, in Montreal. These components include: mechanical design, robot perception, and gait optimization.
1 Introduction
Each year, the competition rules are adapted to resemble more real soccer scenarios and to be more compliant with FIFA rules. This enforces the teams participating in the Humanoid League to improve drastically both the hardware and software capabilities of their platforms. In 2019, for example, the number of robot players in the AdultSize category has increased together with the dimensions of the field, which encourages the team to build new robot platforms and to develop teamplay strategies.
In the Humanoid League, team NimbRo has a long history. From 2009 and 2013, our TeenSize robots won the tournament each year consecutively, obtaining moreover the technical challenges trophy in the years 2012 and 2014. In 2015, the igus® Humanoid Open Platform, had its RoboCup debut, where it won the RoboCup Design Award. The following year, our team was awarded the first International HARTING Open Source Prize [3] and won TeenSize league [6]. In 2017, team Nimbro held the title in the last of its participation in the TeenSize category [13]. In the same year, the AdultSize category incorporated regular 1 vs. 1 games [7], which encouraged team NimbRo to participate in this category. In its debut, team Nimbro AdultSize won the tournament, the drop-in games and technical challenges, holding all the titles in the AdultSize competitions in 2018 (Fig. 1).
For the 2019 competition, we want to exhibit teamplay strategies considering the change in the rules and our advancements made in our open-source ROS framework, specially in the areas of perception, localization, walking, and soccer behaviors.
2 Mechanical and Electrical Design
This section covers the mechanical and electrical design of our robots.
2.1 NimbRo-OP2
Being almost 135 cm tall and only 18 kg in weight, the NimbRo-OP2 robot is able to participate in both TeenSize and AdultSize classes. The robot exoskeleton was 3D printed with an industrial-grade Selective Laser Selective Laser Sintering (SLS) printer out of PA-12 nylon, which contributes greatly to its low weight. In terms of electronics, the robot uses an Intel NUC in combination with the Robotis CM740.
The structure of the robot has been simplified as much as possible to maintain low complexity, but retain functionality that is required when playing soccer. The robot in its entirety uses 34 Dynamixel MX-106 actuators. The upper body kinematics consists of three serial chains—two arms and a neck connecting the head to the trunk. The neck consists of a yaw and a pitch joint, while the arms have two pitch and one roll joint. In the legs, we decided to use parallel kinematics along with external gearing to allow for more torque output, which is necessary for dynamic walking. More details can be found in [8].
2.2 NimbRo-OP2X
Creating a new robot is a complex and time-consuming process, of which manufacturing plays a big role. By taking advantage of the versatility of 3D printing, we were able to develop an affordable, customizable, highly-capable, adult-sized humanoid robot in little time. The total time consumed to produce a working robot (including the design stage and software adaptation) was only three months. Apart from screws, nuts, bearings, actuators, and electronics, the entirety of the robot is 3D printed using SLS. To support the weight of the robot with inexpensive actuators, parallel kinematics (in the leg pitch joints) and gear transmissions (in the leg roll and yaw joints) have been used. In comparison with the NimbRo-OP2, the gears have been redesigned. The NimbRo-OP2X uses 3D printed gears as shown in Fig. 3. This platform has 18 DOF, 5 per leg, 3 per arm and 2 in the neck [9].
2.3 Copedo
Copedo is 131 cm tall and 10.1 kg in weight. This platform 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 cylindrical tube and a rectangular cage that holds the main electronic components.
Copedo has 14 actuated degrees of freedom (DoF). The hip roll, hip pitch, and knee DoF are driven by master-slave pairs of Robotis Dynamixel EX-106+ actuators. All other DoFs are driven by single actuators including EX-106+ actuators for ankle roll, EX-106+ actuators for hip yaw and RX-64 actuators for shoulder pitch, as well as the neck yaw and pitch. The robot has been fitted with cleats in the corners of its feet, to assist walking on artificial grass. More details on the robot's core mechanical design features can be found in [11].
Copedo contains an Intel NUC computer with an Intel Core i7-7567U processor operating at a maximum frequency of 4.0 GHz. The PC is fitted with 4 GB of RAM and a 128 GB solid state disk. The PC is connected to a Robotis CM740 board, which communicates with all actuators on a RS485 star topology bus. The CM740 incorporates a 3-axis accelerometer and gyroscope for a total of 6 axes of inertial sensory data.
3 Perception
This section covers the perception capabilities of our robots.
3.1 Computer Vision
Our robots perceives the environment using a Logitech C905 camera which is equipped with a wide-angle lens and an infrared cut-off filter. With the introduced ability to utilize parallel computing, we are able to supersede our previous approach to vision [5], by using a deep neural network in conjunction with some post-processing. The presented vision system can work with different viewing angles, brightnesses, and lens distortions.
After detecting game-related objects, we filter them and project each object location into egocentric world coordinates. These coordinates then are further processed in the behavior node of our ROS-based open-source software for decision making. To alleviate projection errors due to the slight differences between the CAD model and real hardware, we calibrate the camera frame offsets, using the Nelder-Mead [12] Simplex method.
Through the improvements made on our vision system, we were able to perceive a FIFA size 5 ball up to 7 m with an accuracy of 99% and less than 1% of false detections. Goal posts can be detected up to 8 meters with 98% precision and with 3% false detection rate. Robots are detected up to 7 meters with a success rate of 90% and a false detection rate of 8%. The complete vision pipeline including a forward-pass of the network takes approximately 20 ms on the robots hardware. For more details including the network architecture, please refer to [9].
Landmark Detection
On artificial grass, the painted field lines are not clearly white; thus an edge detector followed by probabilistic Hough line detection are implemented. Line segments are filtered to avoid false positives. Finally, the remaining similar line segments are merged to produce fewer larger lines. The shorter line segments are used for detecting the field circle, while the remaining lines are passed to the localization method. For more details, please refer to [5].
Localization
To solve the global localization problem, our method relies on having a source of global yaw rotation of the robot. We used to utilize the compass sensor in previous years, but due to the magnetometer ban, introduced in the rules of the Humanoid League in 2017, we now use the integrated gyro measurements as the source for yaw orientation. In our case, gyro integration is a reliable source of orientation tracking, but it needs a global reference. In order to set the initial heading, we could either use manual initialization or automatic initial orientation estimation. Although manual initialization can be done once before the start of each game, it can fail during the match. Sometimes restarting the operating system of the robot is unavoidable, which will force a reinitialization of the heading. As a result, we reformulated the heading initialization problem as a classification task.
According to the rules, there are a few predefined positions and orientations that the robot can start in or enter the game from. As shown in Fig. 5, the robot can start in four different positions. In two of the spots, it should face the opponent goal—near the center circle and goal area. The other two sets of locations are at the sideline in the robot's own half—facing the field. We employ a multi-hypothesis version of our localization module, which is initialized with four instances of initial hypothetical locations. During a brief period at the beginning, the robot tries to find the most probable hypothesis among all running instances. This stops when either the process times out or the robot finds the best hypothesis. Finally, the vision module keeps the best instance and discards the rest. To make sure that the decision is correct, we double check the result based on the perceived landmarks like goalposts and the center circle.
Obstacle Detection
Obstacle detection is a crucial ability in the game, especially when the robot is handling the ball. we have two approaches for obstacle detection, the first one is done mainly based on a model of color distribution on the perceived robots, and second is using the prediction of the deep neural network. The first approach works as follows. By having the minimum and maximum height of the robot in each size class, we roughly know what size to expect in each distance from the observer. We search for the respected bounding box size in each distance level and discard obstacle candidates that are not in the expected size range. After detecting each obstacle bounding box, we compare the color histogram of each of the bounding boxes to the expected model of the obstacle, which are then labeled as either teammate, rival robot, or the referee. The detection history is then clustered in egocentric world coordinates and filtered based on the location of each cluster. For the second approach, the detections are projected into the soccer field. Finally, for both approaches, to make the output robust against false negatives, we predict the expected movement of the obstacle in accordance to the estimated changes in the robot's location.
Gait Optimization
The gait of our robots is based on an open-loop pattern generator that calculates joint states based on a gait phase angle, whose rate is proportional to the desired step frequency [4]. The phase angle is responsible for generating arm and leg movements such as lifting and swinging. We have built around this approach and incorporated corrective actions based on fused angle feedback [1, 2, 10].
We use Bayesian optimization methods to find proper values for the Fused Feedback controller used by the gait. To minimize hardware wear-off, this optimization does not only take place in the real world, but highly exploits information gained through the included Gazebo simulator. This approach has been previously applied to the igus® Humanoid Open Platform robot and is now utilized on the AdultSize platforms [14].
4 Teamplay
Teams participating in the AdultSize class in RoboCup 2019 can be composed by a maximum of two robots. We define dynamic Player Tasks which are frequently reassigned during the game. This task tells the robot what it is supposed to do according to its own state in the field and the state of its teammates. In addition, we define a task manager which is in charge of the safe assignment of these tasks.
A robot with the Attack taskhas active interaction with the ball. In possession of the ball, the robot will try to score either by kicking directly or by dribbling to get a better position for kicking the ball. The robot will also reach the ball and search for the ball in case the robot does not possess it. Searching for the ball, the robot goes first to the place where the ball was last seen. Reaching the ball means to place the robot behind the ball so it can kick or dribble.
The defender robot is not supposed to have contact with the ball but to be ready to change its task and approach the ball if necessary. with this task, the robot is able: i) to block opposite direct shots, ii) to be ready for one-vs-one fights, and iii) to get possession of the ball in case the previous striker is taken out of the match.
The task assignment is based on an asynchronous request-and-response system that ensures that there is only one robot actively interacting with the ball. This prohibits, for example, that two robots try to kick the ball simultaneously which could lead to team self-collisions. The request for a task reassignment depends on the state of the robot and its teammates.
5 Conclusions
We are looking forward to participate in RoboCup 2019 in Sydney. We want to demonstrate team play strategies in 2 vs. 2 games, which are still under development, and evaluate the performance of our improved deep neural networks used for detections.
Team Members
Team NimbRo commits to participating in RoboCup 2019 in Sydney, Australia, and to provide a referee knowledgeable of the rules of the Humanoid League. Currently, the NimbRo soccer team consists of the following members:
Team leader: Sven Behnke
Team members: Diego Rodriguez, Hafez Farazi, Grzegorz Ficht, Dmytro Pavlichenko, Diego Rodriguez, André Brandenburger, and Mojtaba Hosseini.
Acknowledgements This research has been supported by the Deutsche Forschungsgemeinschaft (German Research Foundation, DFG) under grant BE 2556/13.
References
- Allgeuer, P., Behnke, S.: Fused Angles: A representation of body orientation for balance. In: Int. Conf. on Intelligent Robots and Systems (IROS) (2015)
- Allgeuer, P., Behnke, S.: Omnidirectional bipedal walking with direct fused angle feedback mechanisms. In: Proceedings of 16th IEEE-RAS Int. Conference on Humanoid Robots (Humanoids). Cancún, Mexico (2016)
- Allgeuer, P., Farazi, H., Ficht, G., Schreiber, M., Behnke, S.: The igus Humanoid Open Platform: A child-sized 3D printed open-source robot for research. In: Robot Soccer World Cup XX. Springer (2016), lNCS 9776
- Behnke, S.: Online trajectory generation for omnidirectional biped walking. In: IEEE Int. Conf. on Robotics and Automation (ICRA) (2006)
- Farazi, H., Allgeuer, P., Behnke, S.: A monocular vision system for playing soccer in low color information environments. In: 10th Workshop on Humanoid Soccer Robots, Int. Conf. on Humanoid Robots. Seoul, Korea (2015)
- Farazi, H., Allgeuer, P., Ficht, G., Brandenburger, A., Pavlichenko, D., Schreiber, M., Behnke, S.: RoboCup 2016 Humanoid TeenSize winner NimbRo: Robust visual perception and soccer behaviors. In: RoboCup 2016: Robot Soccer World Cup XX. Springer (2017)
- Ficht, G., Pavlichenko, D., Allgeuer, P., Farazi, H., Rodriguez, D., Brandenburger, A., Kürsch, J., Behnke, S.: Grown-up NimbRo robots winning RoboCup 2017 Humanoid AdultSize soccer competitions. In: RoboCup 2017: Robot Soccer World Cup XXI. Springer (2018)
- Ficht, G., Allgeuer, P., Farazi, H., Behnke, S.: NimbRo-OP2: Grown-up 3D printed open humanoid platform for research. In: Proc. of 17th IEEE-RAS Int. Conference on Humanoid Robots (Humanoids). Birmingham, UK (2017)
- Ficht, G., Farazi, H., Brandenburger, A., Rodriguez, D., Pavlichenko, D., Allgeuer, P., Hosseini, M., Behnke, S.: NimbRo-OP2X: Adult-sized Open-source 3D Printed Humanoid Robot. Accepted for IEEE-RAS 18th International Conference on Humanoid Robots (Humanoids) (2018)
- Missura, M., Behnke, S.: Self-stable omnidirectional walking with compliant joints. In: 8th Workshop on Humanoid Soccer Robots, Humanoids (2013)
- Missura, M., Münstermann, C., Mauelshagen, M., Schreiber, M., Behnke, S.: Robocup 2012 best humanoid award winner nimbro teensize. In: RoboCup 2012: Robot Soccer World Cup XVI, pp. 89–93. Springer (2013)
- Nelder, J.A., Mead, R.: A simplex method for function minimization. The computer journal 7(4), 308–313 (1965)
- Rodriguez, D., Farazi, H., Allgeuer, P., Pavlichenko, D., Ficht, G., Brandenburger, A., Kürsch, J., Behnke, S.: Advanced soccer skills and team play of RoboCup 2017 TeenSize winner NimbRo. In: RoboCup 2017: Robot Soccer World Cup XXI. Springer (2018)
- Rodriguez, D., Brandenburger, A., Behnke, S.: Combining Simulations and Realrobot Experiments for Bayesian Optimization of Bipedal Gait Stabilization. RoboCup International Symposium, Montreal, Canada (2018)