NimbRo TeenSize Team Description 2017
Philipp Allgeuer, Hafez Farazi, Sven Behnke
Rheinische Friedrich-Wilhelms-Universität Bonn Computer Science Institute VI: Autonomous Intelligent Systems
Abstract This paper describes the RoboCup Humanoid League team NimbRo TeenSize of Rheinische Friedrich-Wilhelms-Universität Bonn, Germany, as required by the RoboCup qualification procedure for the competition held from the 27th of July to the 30th of July 2017 in Nagoya, Japan. Our team uses self-constructed robots for playing soccer. This paper describes the mechanical and electrical design of the robots, covers the software used, and highlights some of our scientific achievements, including in particular in areas of motion and perception.
Introduction
Team NimbRo has had a large number of successes in the RoboCup competition over the past years. Most recently, in 2016, team NimbRo TeenSize won the TeenSize league, with a combined score of 29:0 over the five games that were played. Further back, between 2009 and 2013, team NimbRo also won the competitive Humanoid TeenSize soccer tournament five times in a row, also winning the technical challenges in the years 2012 and 2014. In 2015, the igus Humanoid Open Platform, which was developed in cooperation with igus GmbH, had its RoboCup debut, where it won the RoboCup Design Award. The following year, the igus Humanoid Open Platform project, which is open-source in terms of both hardware and software, was also awarded the first International HART-ING Open Source Prize [4].
As in previous years, we have put great effort into making the walking gait of our robots more stable, especially in light of the continued use of an artificial grass walking surface, and less prone to disturbances. In the 2017 competition, we want to display the advancements made in our open-source ROS framework, e.g. in the areas of walking, vision processing, localisation, and soccer behaviors. Our software includes no software modules from other teams at this point, but shares its codebase with the NimbRo AdultSize team.
Mechanical and Electrical Design
The igus Humanoid Open Platform, as used in its competition outfitting, is shown in Fig. 2. The older TeenSize robot Dynaped, in its upgraded form, is shown in Fig. 3. The mechanical designs of each of our robots are focused on the principles of simplicity, modularity, mechanical robustness, and low weight.
igus Humanoid Open Platform
The igus Humanoid Open Platform is a robot that has been developed as an open-source hardware and software project, in collaboration with igus GmbH, and with the support of the DFG [5]. It is 92 cm tall and weighs 6.6 kg. Powered by a 4-cell LiPo battery, Robotis Dynamixel MX series actuators are used for all joints. Six MX-106 servos are used for each leg (3 in the hip, 1 in the knee and 2 in the ankle), and three MX-64 servos are used for each arm (2 in the shoulder and 1 in the elbow). Two MX-64 servos also control the pan and tilt of the head. All actuators communicate with a Robotis CM730 board, which is running a fully custom firmware. Electrically, the actuators are connected via a star topology Dynamixel bus, with both TTL and RS485 variants existing, and being supported. The CM730 incorporates 3-axis accelerometer and gyroscope chips, for a total of 6 axes of inertial sensory data. For visual perception, the robot is equipped with a Logitech C905 USB camera fitted with a wide-angle lens. Stereo vision is also optionally supported. All mechanical parts of the robot were 3D printed out of Nylon-12 (Polyamide 12) using a Selective Laser Sintering (SLS) process. This allows for high modularity, production speed, design flexibility and aesthetic appeal. There are no further supporting elements underneath the outer plastic shell. All of the electronics and sensors are housed inside the torso, apart from the camera and USB WiFi adapter (802.11b/g/n), which are located in the head. The robot is nominally equipped with a dual-core Intel Core i7-5500U CPU, which has four logical cores and a base frequency of 2.4 GHz with Turbo Boost up to 3.0 GHz. The PC is fitted with 4 GB of RAM and a 128 GB ADATA SX300 solid state disk. Available communication interfaces include USB 3.0, HDMI, Mini DisplayPort and Gigabit Ethernet.
Dynaped
Dynaped has long been active in the RoboCup Humanoid league, and was a core player of team for many years. While the focus of development has transitioned to the igus Humanoid Open Platform, Dynaped continues to be an active soccer playing robot. Dynaped's size and weight are 111 cm and 7.5 kg respectively. The robot has 14 DoF—5 DoF per leg, 1 DoF per arm, and 2 DoF in the neck. Its main features are the effective use of parallel kinematics, coupled with high torque, provided by pairs of EX-106 actuators in the roll joints of the hip and ankle, and pitch joints in the knee. All other DoFs are driven by single actuators. Due to a flexible shoulder joint socketed on rubber struts, Dynaped is capable of safely falling and performing a goalie dive. The torso is constructed entirely of aluminium and consists of a cylindrical tube and a rectangular cage that holds the electronics.
In 2016, Dynaped was upgraded with a new head and new electronics, and now runs on the same software as the igus Humanoid Open Platform, and on the same PC hardware. A CM740 board has been fitted, but this is transparently compatible with the older CM730 thanks to the fully custom firmware that we wrote to run on both.
Perception
Many components of the software rely on accurate low-latency estimates of the orientation of the robot's torso. For this purpose, an attitude estimator is used that is based on a nonlinear passive complementary filter [1]. To increase data quality, however, proper management of the IMU sensor data is required, so gyroscope scale calibration, online automatic gyroscope bias estimation, and IMU offset calibration methods have been implemented. With proper calibration, a raw gyroscope drift as low as 0.02 °/s can be maintained. The estimated torso orientation is combined with the measured joint positions to estimate the entire pose of the kinematic model of the robot relative to the ground. This can be used to estimate the current CoM position and support foot.
Proprioception
Many components of the software rely on accurate low-latency estimates of the orientation of the robot's torso. For this purpose, an attitude estimator is used that is based on a nonlinear passive complementary filter [1]. To increase data quality, however, proper management of the IMU sensor data is required, so gyroscope scale calibration, online automatic gyroscope bias estimation, and IMU offset calibration methods have been implemented. With proper calibration, a raw gyroscope drift as low as 0.02 °/s can be maintained. The estimated torso orientation is combined with the measured joint positions to estimate the entire pose of the kinematic model of the robot relative to the ground. This can be used to estimate the current CoM position and support foot.
Computer Vision
Visual perception is an essential part of successful soccer play. We divided perception into two parts, preprocessing and object detection. In the first part, we convert the taken image from the RGB colour space to the HSV colour space, due to the intuitive nature of the HSV space, and its ability to separate brightness and chromatic information [6]. To ensure short-term consistency of the perceived colors, we set a fix set of camera parameters before each game. Each robot is equipped with one Logitech C905 camera, fitted with a wide-angle lens. Although wide-angle lenses allow more information to be perceived at once, it forces us to compensate a significant amount of distortion. We use the pinhole camera model to compensate radial and tangential distortion. Using the distortion model, we can project pixels to the camera frame, but in order to project detections into egocentric coordinates, an estimate of the extrinsic camera matrix is needed. The ROS-native tf2 library [9], which can be used to manage relative transformations between coordinate frames that are attached to both the robot and its environment, is used to retrieve the transformation between the egocentric world frame and the camera frame. This information is computed in our ROS framework based on the state estimation and kinematic information. Although the exact kinematic model of the robot is known, some variations occur in the real hardware, often leading to large projection errors if ignored, especially in distant detected objects. To resolve this issue, we have semi-automatic calibration procedures that seek to minimise the reprojection errors using the Nelder-Mead method [10].
Due to significant changes in the RoboCup rules, including the use of white goal posts, a mostly white ball, and artificial grass, for the purposes of object detection we have designed, and utilise, methods that are suitable for low colour information environments. For ball and goal detection, we use a histogram of oriented gradients (HOG) descriptor, which works very well for pedestrian detection [7], in the form of a cascade classifier. After gathering a number of positive and negative samples, we train the classifier with use of the AdaBoost technique. Due to the fact that HOG feature extraction is a computationally expensive procedure, using sliding windows [7] is not feasible. So, we use the descriptor only on those candidates that are preselected based on shape, size, and colour.
As the field lines painted on the artificial grass are no longer clearly white, an edge detector is used for line detection, followed by probabilistic Hough line detection. After detecting line segments, we do post-processing to filter them to avoid false positive line segments. Finally, the remaining similar line segments are merged with each other to produce fewer larger lines. Shorter line segments are used for detecting the field circle, while the remaining lines are passed to the localisation method. A sample output for object detection is depicted in Fig. 4. Further details on the line detection method can be found in [8].
Localisation
A single-hypothesis model is used to estimate the three-dimensional robot pose (x, y, θ) on the field. Our primary approach to overcoming sensor aliasing is by tracking integrated gyroscope values as the main source of global orientation information. We can then handle the unknown data association of ambiguous landmarks, such as goal posts and T-junctions. Over time, based on our observations, we try to update the location of the hypothesis towards an estimated position in such a way that, with consideration of noise, the hypothesis eventually points to an optimal output.
We update the location based on a probabilistic model of landmark observations involving mainly lines and goal posts [8]. The inputs to the probabilistic model come from the vision module and dead-reckoning odometry data. Currently, we are working on a full 6D pose localisation approach, that makes use of 3D model-based tracking techniques. A sample output of the localisation is shown in Fig. 5.
Simulation of the Robot
To assist in the testing of the software algorithms and modules that are developed for the robots, a TeenSize RoboCup soccer environment has been constructed in the Gazebo simulator. A camera sensor has been attached to the robot model, and great care has been taken to make the simulation as close to the true RoboCup environment as possible, and as realistic as possible. For example, the rolling friction of the ball was adjusted to ensure that the kicking distances match those in real life, and a texture was mapped onto the ball to ensure the fidelity of the virtual captured images.
All in all, it is expected that the Gazebo simulation of the robot will assist in the development and testing of algorithms for vision, localisation, walking, kicking, and behaviour control. It is intended to serve as a virtual testbed to allow all such algorithms to be tested out before going to the real hardware.
Human-Robot Interfaces
Even though the robots must operate autonomously when in a soccer game, during service, calibration, and testing scenarios, the robots must still expose suitable human-robot interfaces to allow them to be efficiently and conveniently configured and tested. On the lowest level, this can be done from the command line, using SSH to open a terminal session on the robot PC. This theoretically has the greatest flexibility, but is tedious, inefficient, error-prone, and requires a vast amount of on-hand knowledge from the user. To overcome these issues, a web application has been developed for the robot, shown in Fig. 7, with the robot PC as the web server and any standard web browser on any connected devices as the web client. The web application trivialises routine tasks with the robot, and operates on a higher level of abstraction than the command line approach. By exploiting the well-developed client-server architectures and protocols of the web, the connection is very robust, even over poor quality networks, and has low computational requirements on the robot, as most things have been implemented on the client side.
Motion Generation
The three fundamental motion skills required for robot soccer are walking, kicking, and getting up. The walking engine used on the igus Humanoid Open Platform robots consists of an open-loop central pattern generated gait that is stabilised by a number of independent feedback mechanisms [3]. The only source of feedback for these mechanisms is the orientation of the torso, which is estimated from 6-axis IMU data. The feedback mechanisms function independently in the sagittal and lateral planes, using the fused pitch and fused roll angles respectively [2], and activate a set of corrective actions that aim to keep the robot balanced. The set of corrective actions include adjustments to the arm angle, hip angle, continuous foot angle, support foot angle, CoM location, and virtual slope. The concepts of arm angle and foot angle come from the abstract pose space—a way of representing the pose of the robot that was developed specifically in the context of walking and kicking. Timing feedback has also been implemented based on the deviation of the fused roll angle from its expected limit cycle.
Kicking and getting up on the igus Humanoid Open Platform has been implemented using a keyframe motion player. The keyframes are automatically interpolated to become a smooth complete motion, and additional components such as required joint velocities, joint efforts, feedback gains, support coefficients and motion rule tunings are also handled. The keyframe motions are designed using a dedicated trajectory editor, which can handle all of these features. Some of the get-up and kicking motions are pictured in Fig. 8.
Acknowledgements
This research has been supported by the Deutsche Forschungsgemeinschaft (German Research Foundation, DFG) under grants BE 2556/10 and BE 2556/13.
Team Members
Team NimbRo commits to participating in RoboCup 2017 in Nagoya, 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: Philipp Allgeuer, Hafez Farazi, Diego Rodriguez, Michael Schreiber
References
- Philipp Allgeuer and Sven Behnke. Robust sensor fusion for robot attitude estimation. In Proceedings of 14th IEEE-RAS Int. Conference on Humanoid Robots (Humanoids), Madrid, Spain, 2014.
- Philipp Allgeuer and Sven Behnke. Fused Angles: A representation of body orientation for balance. In Int. Conf. on Intelligent Robots and Systems (IROS), Hamburg, Germany, 2015.
- Philipp Allgeuer and Sven Behnke. 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.
- Philipp Allgeuer, Hafez Farazi, Grzegorz Ficht, Michael Schreiber, and Sven Behnke. The igus Humanoid Open Platform: A child-sized 3D printed open-source robot for research. In Robot Soccer World Cup. Springer, 2016.
- Philipp Allgeuer, Hafez Farazi, Michael Schreiber, and Sven Behnke. Child-sized 3D Printed igus Humanoid Open Platform. In Proceedings of 15th IEEE-RAS Int. Conference on Humanoid Robots (Humanoids), Seoul, Korea, 2015.
- Pedro MR Caleiro, António JR Neves, and Armando J Pinho. Color-spaces and color segmentation for real-time object recognition in robotic applications. Electrónica e Telecomunicações, 4(8):940–945, 2007.
- Navteen Dalal and Bill Triggs. Object detection using histograms of oriented gradients. In Pascal VOC Workshop, ECCV, 2006.
- Hafez Farazi, Philipp Allgeuer, and Sven Behnke. A monocular vision system for playing soccer in low color information environments. In Proceedings of 10th Workshop on Humanoid Soccer Robots, IEEE-RAS Int. Conference on Humanoid Robots, Seoul, Korea, 2015.
- Tully Foote. tf: The transform library. In Technologies for Practical Robot Applications (TePRA), 2013 IEEE International Conference on, Open-Source Software workshop, pages 1–6, April 2013.
- John A Nelder and Roger Mead. A simplex method for function minimization. The computer journal, 7(4):308–313, 1965.