Low-cost and easy to maintain standardized hardware platforms, such as the DARwIn-OP , have had a positive impact on the performance of teams in the KidSize class of the RoboCup Humanoid League. They lower the barrier for new teams to enter the league and make maintaining a soccer team with the required number of players easier. Out-of-the-box capabilities like walking and kicking allow the research groups to focus on higher-level perceptual or behavioral skills, which increases the quality of the games and, hence, the attractiveness of RoboCup for visitors and media. In the competition classes with larger robots, teams so far are forced to participate with self-constructed robots. Naturally, this severely affects the number of participants willing to compete, and, in consequence, the progress of the research that attempts to solve the challenges arising with robots of larger weight and size.
Inspired by the success of DARwIn-OP, we developed a first prototype of a TeenSize humanoid robot and released it as an open platform. Our NimbRo-OP bipedal prototype is easy to manufacture, assemble, maintain, and modify. The prototype can be reproduced at low cost from commonly available materials and standard electronic components. Moreover, the robot is equipped with configurable actuators, sufficient sensors, and enough computational power to ensure a considerable range of operation: from image processing, over action planning, to the generation and control of dynamic full-body motions. These features and the fact that the robot is large enough for acting in real human environments make NimbRo-OP suitable for research in relevant areas of humanoid robotics.
2 Related Work
In the KidSize class, a number of robust and affordable off-the shelf products suitable for operation on the soccer field are available. Entry-level construction kits including Bioloid  are a very cost effective way to enter the competitions. However, the limited capabilities of these construction kits are an obstacle for achieving the high performance required by soccer games.
With a body height of approximately 58 cm, the Nao robot , produced by Aldebaran Robotics, replaced Sony’s quadruped Aibo as the robot used in the RoboCup Standard Platform League. Nao is an attractive platform because it offers a rich set of features and reliable walking capabilities. However, the fact that it is a proprietary product is a disadvantage because one has restricted possibilities for customizing and repairing the hardware.
The recently introduced DARwIn-OP  is very popular in the KidSize class. In 2011 and 2012, team DARwIn won the KidSize competitions of RoboCup and successfully demonstrated its potential. DARwIn-OP has been designed to be assembled and maintained by the owner, but a fully operational version can be ordered from Robotis. Most importantly, DARwIn-OP has been released as an open platform. Software and construction plans are available for public access.
The limitations of the KidSize robots lay in their size. Falling—an undesired but inevitable consequence of walking on two legs—is a negligible problem for small robots. Larger robots, however, can suffer severe damage as result of a fall. A number of commercial platforms are available with sizes larger than 120 cm. The most prominent examples include Honda Asimo , the HRP  series, the Toyota Partner Robots , and Hubo . The extremely high acquisition and maintenance costs of these robots and their lack of robustness to falls make them unsuitable for use in soccer games. NimbRo-OP closes the gap between large, expensive robots and affordable small robots.
3 Hardware Design
The design of the NimbRo-OP hardware takes into consideration the following criteria: affordable price, low weight, readily available parts, robot appearance, and reproducibility in a basic workshop. Fig. 1 gives an overview of the main components.
NimbRo-OP is 95 cm tall and weighs 6.6 kg, including the battery. Selecting this specific size allowed the use of a single actuator per joint. All 20 joints are driven by configurable Robotis Dynamixel MX series actuators . MX-106 are used in the 6 DoF legs and MX-64 in the 3 DoF arms and the 2 DoF 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.
Keeping the weight as low as possible is achieved by using light-weight materials like carbon composite and aluminum. Arms and legs are constructed using milled carbon-composite sheets which are connected with U-shaped aluminum parts cut from sheets and bent on two sides. The feet are made of flexible carbon composite sheets. The torso is composed of a milled rectangular aluminum profile. The head and the connecting pieces in the hands are 3D printed using ABS+ polymer.
NimbRo-OP is equipped with a Zotac Zbox nano XS PC featuring a dual-core AMD E-450 1.65 GHz processor, 2 GB RAM, 64 GB solid state disk, and memory card slot. Communication interfaces are USB 3.0, HDMI, and Gigabit Ethernet. The PC is embedded into the torso without modifications to facilitate upgrades. The head contains a USB WiFi supporting IEEE 802.11b/g/n.
A Robotis CM730 board mediates communication between the PC and the actuators. It also contains three-axes accelerometers and three-axes gyroscopes for attitude estimation.
The robot head contains a Logitech C905 USB camera with fish eye wide-angle lens. Its extremely wide field of view (ca. ) allows for simultaneously having multiple objects in sight, e.g. the ball and the goal.
4 First Software Release
The hardware release of the first NimbRo-OP prototype is supported by a software package that provides a set of fundamental functionalities, such as bipedal walking and ball tracking. Out of the box, the robot is able to walk up to a uniformly colored ball and to kick it away. As a simple fall protection mechanism, the robot relaxes all its joints when it detects an inevitable fall. Moreover, the robot is able to stand up from a prone and a supine position. We used the freely available DARwIn-OP software framework  as a starting point for development and made only the modifications necessary for providing the aforementioned functionalities. More specifically, we added
correction of the wide-angle lens distortion,
attitude estimation based on CM730 acceleration and turning rate sensors,
a feedback stabilized bipedal gait configuration,
an instability detection and simple fall protection mechanism, and
get-up and kicking motions.
Please refer to Schwarz et al.  for more details. This software release has been made available  as a list of small patches against the original DARwIn-OP framework. For easier traceability of changes, each added or modified feature resides in an own patch file with a header describing the change.
5 ROS-based Software Development
The first version of the NimbRo-OP software is based on the freely available DARwIn-OP framework, making NimbRo-OP easily accessible to researches familiar with the DARwIn-OP robot, but it includes only basic skills.
We aim for more advanced functionality, including cognitive perceptual and action capabilities. To this end, we started a new software development based on the Robot Operative System framework (ROS) [13, 14]. This popular middleware makes it easy to implement multiple processes (nodes) that communicate with each another using data streams (topics)—facilitating modular software development. Additionally, effective development tools are provided that perform tasks such as data logging and serialization, specifying launch configurations, unit testing, and visualization. Most importantly, the ROS community includes thousands of robotic researchers and enthusiasts who are constantly contributing their experiences and results.
Our ROS-based software will incorporate accumulated experience, scientific achievements, and technologies developed throughout the successful history of team NimbRo. Fig. 2 depicts the initial structure of the soccer robot software that is being implemented. At the bottom of the figure are nodes that interface the robot and abstract from its hardware. The top of the figure, Perception, is composed of nodes that interpret all available sensory data to estimate the robot and environment state. The Behavior Control modules, shown in the middle of the figure, decide the robot actions based on the perceived state. The Motion Control modules generate walking, kicking, and other full-body motion and send joint targets to the robot.
5.1 Configuration Server and Visualization
A significant part of our development are the visualization and parameter tuning tools. For development and debugging, it is important to be able to capture and inspect the information flow through the system. ROS offers two fundamental software packages for this purpose: RVIZ and RQT. The former provides a 3D visualization of the robot and its environment. The latter permits the visualization of 2D data such as plots and images. Fig. 3 shows two examples of visualization tools that we implemented.
The software modules that we develop are highly configurable and, hence, contain many parameters. In order to allow for and keep track of parameter changes, we developed a configuration server. It manages parameters in a hierarchical structure and notifies subscribed nodes about changes. This server also makes robot configurations persistent for future use.
5.2 High-precision Timer
Some of the previously mentioned procedures require execution with high-precision periodic timing. In order to ensure this, the Linux native timerfd interface is being used. Furthermore, the communication thread uses the realtime FIFO scheduler instead of the non-realtime default scheduler. The entire motion layer and hardware communications including sending servo commands, position feedback and IMU readings are executed every ms.
5.3 Model-based Feed-forward Position Control
Basis for our current actuator interface is a servo model that facilitates compliant robot motion . This model is used for feed-forward position control to compensate gravity and dynamic forces known in advance. The model parameters are identified using Iterative Learning Control. Our approach tracks desired trajectories with low control gains, yielding smooth, energy efficient motions that comply to external disturbances.
5.4 Soccer Vision
Visual perception of the game situation is a necessary prerequisite for playing soccer. The robot camera supports resolutions up to 16001200. We process
YUYV images to achieve a frame rate above 24 fps. We classify all pixels by color and create lower-resolution images for the individual color classes (see Fig.4(a)). Using smaller, color classified images facilitates the fast and simple detection of ball, goals, obstacles, field lines, and field line crossings. Fig. 4(b) shows example detections. Please refer to Schulz and Behnke  for more detail.
5.5 Behavior Control
For initial testing, we implemented a central-pattern generated gait, based on the gait engine of earlier NimbRo robots . We also implemented a simple ball approach behavior that makes the robot walk to the ball while simultaneously aiming at the goal . The robot executes kicking and getting-up  motions based on trajectories designed in a motion editor that we developed.
The initial release triggered quite some interest from the RoboCup community and the general public. Several RoboCup teams expressed interest to acquire the robot from the University of Bonn or to manufacture it in their own lab using the released CAD files. There was even a vivid interest from resellers. Many news outlets reported on the release of the NimbRo-OP robot, which yielded more than 32,000 views on its release video. The first software release of our robot was demonstrated at the IROS 2012 and Humanoids 2012 conferences. The newer ROS-based software was demonstrated at ICRA 2013 and RoboCup German Open 2013, where NimbRo-OP received the HARTING Open-Source Award.
Our robot contributed to an increased interest in the Humanoid TeenSize class. For RoboCup 2013, the number of qualified teams in the TeenSize class reached an all-time high of six.
NimbRo-OP is a bipedal TeenSize robot prototype for research. It is expected that it will be of particular interest to those research groups that want to work with a larger robotic platform able to act in everyday environments. The robot has comparably low hardware costs, and it is easy to assemble and operate. Moreover, if necessary, the robot can be repaired by non-specialists and can be modified to suit other applications. Both hardware and software have been released open-source to support low-cost manufacturing and community-based improvements. The robot is equipped with high torque actuators, a dual-core PC for processing power, a wide-angle camera, and a software package that implements numerous fundamental robot skills.
Further development is planned in order to improve the hardware and software. With respect to the hardware, special attention will be paid to appearance, durability, impact resistance and easy maintenance. The NimbRo-OP ROS framework, which is still a work in progress, will receive additional functionality. For example, a self-localization node that uses information from the vision detection and the robot state to feed a particle filter model  and a simulator, where the user will be able to test behaviors and new algorithms before deployment on the real robot, will be among the next steps.
This work has been partially funded by grant BE 2556/6 of German Research Foundation (DFG). We also acknowledge support of Robotis Inc. and RoboCup Federation for the first robot prototype.
-  I. Ha, Y. Tamura, H. Asama, J. Han, and D.W. Hong. Development of open humanoid platform DARwIn-OP. In SICE Annual Conference, 2011.
-  J. Wolf, P. Hall, P. Robinson, and P. Culverhouse. Bioloid based humanoid soccer robot design. In Proc. of Second Workshop on Humanoid Soccer Robots, 2007.
-  D. Gouaillier, V. Hugel, P. Blazevic, C. Kilner, J. Monceaux, P. Lafourcade, B. Marnier, J. Serre, and B. Maisonnier. Mechatronic design of NAO humanoid. In Robotics and Automation, IEEE International Conference on (ICRA), 2009.
-  K. Hirai, M. Hirose, Y. Haikawa, and T. Takenaka. The Development of Honda Humanoid Robot. In Int. Conf. on Robotics and Automation (ICRA), 1998.
-  K. Kaneko, F. Kanehiro, M. Morisawa, K. Miura, S. Nakaoka, and S. Kajita. Cybernetic human HRP-4C. In IEEE-RAS Int. Conf. on Humanoid Robots, 2009.
-  S. Takagi. Toyota partner robots. J. of Robotics Society of Japan, 24(2):62, 2006.
-  Ill-Woo Park, Jung-Yup Kim, Jungho Lee, and Jun-Ho Oh. Mechanical design of humanoid robot platform KHR-3 (KAIST Humanoid Robot 3: HUBO). In IEEE-RAS Int. Conf. on Humanoid Robots (Humanoids), pages 321–326, 2005.
-  Robotis Dynamixel MX actuators. http://www.robotis.com/xe/dynamixel_en.
-  NimbRo-OP Hardware/Software:. https://github.com/NimbRo/nimbro-op.
-  NimbRo-OP Website. http://www.nimbro.net/OP/.
-  DARwIn-OP Robotis Software. http://sourceforge.net/projects/darwinop/.
-  M. Schwarz, M. Schreiber, S. Schueller, M. Missura, and S. Behnke. NimbRo-OP Humanoid TeenSize Open Platform. In Proceedings of 7th Workshop on Humanoid Soccer Robots, IEEE-RAS Int. Conference on Humanoid Robots, Osaka, 2012.
-  ROS Website. http://www.ros.org.
-  M. Quigley, K. Conley, B.P. Gerkey, J. Faust, T. Foote, J. Leibs, R. Wheeler, and A.Y. Ng. ROS: an open-source robot operating system. In ICRA Workshop on Open Source Software, 2009.
-  M. Schwarz and S. Behnke. Compliant robot behavior using servo actuator models identified by iterative learning control. In Proceedings of 17th International RoboCup Symposium, 2013.
-  H. Schulz and S. Behnke. Utilizing the structure of field lines for efficient soccer robot localization. Advanced Robotics, 26:1603–1621, 2012.
-  S. Behnke. Online trajectory generation for omnidirectional biped walking. In IEEE Int. Conference on Robotics and Automation (ICRA), pages 1597–1603, 2006.
-  J. Stückler and S. Behnke. Hierarchical reactive control for humanoid soccer robots. International Journal of Humanoid Robotics, 5(3):375 –396, 2008.
-  J. Stückler, J. Schwenk, and S. Behnke. Getting back on two feet: Reliable standing-up routines for a humanoid robot. In 9th International Conference on Intelligent Autonomous Systems (IAS-9), pages 676–685, 2006.