The idea that robots with a humanoid body plan, equipped with human-like motion and multimodal communication skills could relive humans from performing a large variety of tasks has been a key factor motivating the research on humanoid robots. Even though multiple platforms exist that allow researchers to explore this field, none of the available ones are affordable and large enough to allow for easy interaction with an unmodified human environment. To develop such a platform requires not only a lot of resources but also expertise, which is a steep entry point for any research team. As demonstrated by successful examples, such as Open-HRP , Aldebaran Nao, and our own predecessor NimbRo-OP , having standard platforms openly available facilitates collaboration and accelerates research.
The NimbRo-OP2, which we are presenting in this paper, is the effect of our many years of experience with building such platforms, like the NimbRo-OP and the collaborative work on the igus® Humanoid Open Platform together with igus® GmbH. The NimbRo-OP2 aims to fill the void for affordable, adult-sized humanoid robots without compromising on factors such as output torque or computing power. Due to the 3D printed nature of the robot, parts can be modified and replaced with great freedom. The robot, along with its kinematics schema is shown in Fig. 1. A demonstration video of the NimbRo-OP2 is available111Video: http://www.ais.uni-bonn.de/videos/Humanoids_2017.
Ii Related Work
Humanoid robot design has been investigated by multiple industrial and academic research groups. Several standard humanoid platforms for research are available. By using a platform which already handles low level tasks, such as joint actuation, and sensor feedback, researchers can directly focus on their specific research topics. This can be most clearly observed for robots that are less than tall, as the cost of their acquisition is lowest. Examples include the Nao robot , from Aldebaran Robotics and both, the DARwIn-OP  and its successor the ROBOTIS OP2, distributed by Robotis. These robots have enabled many groups to use them as the foundation for their research, thanks to the available software and documentation. Being small gives the robot an advantage of also being low-cost. Small size is also a limiting factor when it comes to application, however, as small robots require a scaled-down environment. Recently, also slightly taller humanoid platforms have become available. These platforms could be considered to be child-sized so their interaction with a human environment is possible—although limited. The two most prominent child-size examples are the tall Poppy robot from the Inria Flowers Laboratory  and the result of our collaboration with igus® GmbH: the tall igus® Humanoid Open Platform . Both of these robots are open source platforms that are mostly 3D printed. Poppy’s main features include a compliant bio-inspired morphology, a multi-articulated trunk and skeletonized design. Although visually appealing, Poppy has not yet displayed walking without assistance, nor with on-board power supply and computing. In our previous work, we have shown the igus® Humanoid Open Platform performing various tasks, such as autonomous omni-directional balanced walking, or getting up from different poses, without external help.
When comparing the previously mentioned robots to larger humanoid platforms, such as Honda Asimo [6, 7], HRP , Hubo , NASA Valkyrie , DLR TORO , and Boston Dynamics Petman  and Atlas robots, one can easily notice the increased complexity, which contributes to a price being two orders of magnitude higher. By being more complex and expensive, these platforms are much more difficult to operate and maintain. In extreme cases, they can even be dangerous to the user. These factors limit the possibility of using such robots by most research groups.
The NimbRo-OP2 addresses the issues mentioned with the robots above and seeks to be the solution for an affordable, maintainable and customizable larger-sized, humanoid robot. A comparison between different sized platforms and the NimbRo-OP2 is shown in Fig. 2. The cost of the NimbRo-OP2 is about twice of the 90 cm igus® Humanoid Open Platform  and about four times that of the 45 cm DARwIn-OP, but at least one order of magnitude less than humanoid robots of similar size.
Iii Hardware Design
|General||Height & Weight||,|
|Battery||4-cell LiPo (, )|
|Material||Polyamide 12 (PA12)|
|PC||Product||Intel NUC NUC7I7BNH|
|CPU||Intel Core i7-7567U, –|
|Memory||DDR3 RAM, SSD|
|Network||Ethernet, Wi-Fi, Bluetooth|
|Other||4USB 3.0, HDMI, Thunderbolt 3|
|CM730||Microcontroller||STM32F103RE (Cortex M3)|
|Other||3Buttons, 7Status LEDs|
|No load speed|
|Gyroscope||3-axis (L3G4200D chip)|
|Accelerometer||3-axis (LIS331DLH chip)|
|Camera||Logitech C905 (720p)|
|Camera lens||Wide-angle lens with 150 FOV|
As with our previous platforms, we have focused on creating a design that is easy to manufacture, assemble, maintain, and modify. The usage of 3D-printing technology contributes a great amount to all of these points. For a summary of the main hardware components, please refer to Table I.
Iii-a Mechanical Structure
To create an affordable platform of such size which has enough torque not only to support its own weight but is also able to walk and perform dynamic motions we have decided to use a kinematic structure which efficiently combines multiple actuators working in parallel, external gearing and regular serial chains. By using only one COTS (commercial off-the-shelf) type of actuator we have not only minimized complexity, but reduced cost as well, as the actuators can be purchased in bulk.
The frame of the new design is completely 3D-printed with Selective Laser Sintering (SLS) performed on Polyamide 12 in approximately increments. The robot’s structure is supported without any additional frames behind the outer surface—the exoskeleton is not only load-bearing but also for outward appearance. This approach greatly increases space and weight savings, as evidenced by the very low weight of the NimbRo-OP2 relative to its size. The structural integrity and resistance to deformation and buckling is ensured through varying the wall thickness in the areas that need it, and through regular widespread use of ribs and other geometric strengthening features, which are printed directly into the structure. Essentially, through the freedoms of 3D printing, the durability of the frame can be maximized exactly where it is needed, without making the whole structure overly heavy. The CAD files are available online .
Iii-B Design Optimizations
The design of the robot has been optimized in many ways, which contribute to the overall performance and appearance. All actuators are easily accessible for diagnostics and repairs either directly or after a cover removal. All of the leg servos—which are the most probable to be under stress in normal operation—have the possibility to dissipate heat through strategic placement of venting holes. The knee is the best example of both of these points. A single knee is composed out of eight actuators and three plastic parts. Four of the servos are accessible from the front and four from the back. All three 3D-printed components have vents in the most crucial points, while still remaining rigid enough to support the torque being exerted. For extra cooling, mounting DC fans is also possible, but so far was not necessary. Having universal parts was also a point of the design, so that a single part could act as a spare in multiple spots. The parallel kinematics in the thigh and shank are a representation of this. The parts are horizontal and vertical mirror images of each other, so although the thigh and shank consist of eight parts in total, having two is enough to repair the legs in case any of the parts should break. The same can be said about the upper and lower arm and their covers, which are the same in both the shoulder and elbow joints.
Iii-C Actuation Methods
The kinematic structure of the robot is shown in Fig. 1. The upper body only consists of serial chains. The neck is formed by a yaw and a pitch joint, while the arms have two pitch joints with a roll joint in between. To reinforce the arms, two igus® axial thrust bearings have been used in between the trunk and shoulder. This solution not only provides the required dry-rubbing self-lubrication but also removes any possible stress from the shoulder pitch axis, increasing the lifespan of the actuators. The noteworthy differences that separate the NimbRo-OP2 and the igus® Humanoid Open Platform are in the construction of the legs. Although we use only one type of actuator, through their arrangement in combination with gearing we can distinguish three different joint types. The first type has been employed in the hip yaw and consists of a single actuator and external gearing. This gear is mounted in between the hip part and an igus® PRT slewing ring bearing, which connects the hip to the torso. The three components all have a common hole going through the middle that allows for effortless cable feeding. The second actuation type is used in both the hip and ankle roll, as these joints mirror each other. Here, two actuators work in a master-slave connection that drives a set of external gears. The final type is used in the parallel kinematics and consists of fitting an actuator into each mounting point of the thigh and shank and using a master-slave connection to maintain synchronization between the servos. The various type of joints used and their design can be seen in Fig. 3 and Fig. 4.
Iii-D Robot Electronics
The key to having a low-cost and capable platform is lowering the complexity without compromising on any features. The electronics of the robot are a perfect reflection of this mindset. At the core of the computing unit lies the newest Intel NUC computer with an Intel Core i7-7567U processor operating at a possible maximum frequency of 4.0GHz. The onboard PC is not limited to currently available small form factor (SFF) PCs, but in the design we have taken into account future possible upgrades by incorporating VESA75 and VESA100 standard mounts. In combination with a non-specific back cover (unlike in the igus® Humanoid Open Platform), the user is granted great flexibility when choosing a SFF PC. If even more compute power is needed, there is enough space inside the robot torso to fit a Mini-ITX board with a GPU. Detailed specifications are given in Table I.
To control all of the Dynamixel MX-106R actuators on the RS-485 bus, we employ the CM740 sub controller board provided by the same manufacturer—Robotis, from South Korea. The sub controller consists of an STM32F103RE microcontroller with on-board peripherals, such as a 3-axis accelerometer, 3-axis gyroscope, RS-485 transceiver and USB driver. To increase reliability and performance, the firmware has been redesigned and rewritten when developing the igus® Humanoid Open Platform. Since our first release, many new features have been added e.g. recovery after a power failure. Compatibility with the standard Dynamixel protocol has been retained.
Interfacing with the robot is done with a sub-board that is included in the CM740 set. Currently, the three available buttons on the board are used to fade-in and fade-out the robot, start and stop the behaviour control and force a power reset to relax the servos in case of an emergency. These functions can be reprogrammed and additional functionality through pushing and holding the buttons can also be achieved. A total of seven LEDs provide the user with feedback on the state of the robot, two of which are RGB controlled.
Further available external connections to the robot include USB, HDMI, Mini DisplayPort, Gigabit Ethernet, IEEE 802.11b/g/n Wi-Fi, and Bluetooth 4.0. By default, the Ethernet network interface of the PC is configured system-wide to automatically swap between static and DHCP connections as required, while simultaneously allowing the use of a static secondary IP address while DHCP is active.
A very inconvenient design feature of the igus® Humanoid Open Platform was the power board which was originally intended to use with the DARwIn-OP and ROBOTIS OP2, which consume less current. The advantage of using it was the ability to apply power to the whole robot with a single switch. However, due to inrush currents there exists a potential risk of damaging the electronic components. This effect scales in size with the number of devices connected to the power supply. The power board also has a current limit which we exceed with the amount of actuators used. To solve this, we have created a power switch circuit based on the BTS555 smart high-side power switch which separates the actuators from the control components. This solution has the added benefit of being able to make working changes on the robot without unnecessarily dissipating power through idle servos. The Robotis power board is still used for the control components as it is a part of the microcontroller board set. The full electrical architecture can be seen in Fig. 5.
For vision purposes a single USB camera is used, which is mounted in the right eye. The vision can be expanded to stereo with a second camera in the left eye. For compatibility purposes between all of our platforms, we have decided to use the 720p Logitech C905 camera with a 150 wide-angle lens. However, the user has the flexibility to mount any other camera depending on the requirements, as some teams have done with the igus® Humanoid Open Platform, thanks to the flexible nature of 3D-printing.
Our open-source software based on the ROS middleware  has become a well-established framework in the research community since the initial release, with multiple views and downloads each week. We continue to further develop it, in hope that other research groups can contribute to the goal of creating a user-friendly and effortless robot experience.
The software architecture that we use on the NimbRo-OP2 continues to expand on the legacy of the NimbRo-OP and its successor, the igus® Humanoid Open Platform . The sources are available online . Although the software was developed with humanoid robot soccer in mind , the modularity of the behaviour control, motion modules and vision allows practically any other usage of the robot. For a full schematic of all the software interaction, please refer to Fig. 6. Many parts of the framework have been reused, as was the intention when developing the igus® Humanoid Open Platform—which proves the flexibility of our design. We build upon the inherent modularity of ROS with the usage of plugin schemes. By providing an interface to a selected task, the user has the liberty to implement his or her own solution or select from one of the provided plugins.
For visual perception of the environment, the selected camera captures the picture with a resolution of at . In order to achieve real-time processing the image is scaled down in ROS to a resolution of . We then convert it to the HSV color space to separate color data from luminance. Due to the distortion introduced by the wide-angle lens, we use a Newton-Raphson based undistorting method which populates a pair of lookup tables, thus allowing real-time performance. The effect of undistorting the image is shown in Fig. 7. With an undistorted image, we project the image coordinates into egocentric world coordinates. Although we have a relatively exact kinematic model of the robot, some unavoidable deviations still occur in the real hardware, potentially resulting in large projection errors for distant objects. To correct this, we calibrate the position and orientation of the camera frame in the robot’s head using observations and the Nelder-Mead method.
Iv-C Orientation Feedback
To utilize closed-loop control, state feedback and estimation is necessary. In the NimbRo-OP2 we use a 6-axis IMU built into the CM740 sub controller board. We apply 3D nonlinear passive complementary filtering to raw measurements to achieve a globally stable 3D orientation output. We choose to represent this data as fused angles, as this representation is advantageous in the context of balance .
Iv-D Model-based Feed-forward Position Control
Reliably performing complex motions requires high tracking precision. To counter the effect of applying load to the joints, we use a feed-forward control scheme which modifies the joint trajectories based on the input trajectory and expected loads . To calculate the feed-forward components to offset the trajectories, factors such as battery voltage, joint friction and inertia of the model are used. To obtain this data we employ the Rigid Body Dynamics Library to calculate the full-body inverse dynamics of the robot 
. Each servo in the robot is configured to use exclusively proportional control. To control compliance of the joints we interpolate the proportional gain with an effort value between 0 and 1—higher effort values result in increased joint stiffness, through greater P gain values. To ensure proper servo operation, the proportional gain value is coerced at the lowest communication level.
Iv-E Gait Generation
The gait currently in use is similar to that of the igus® Humanoid Open Platform. It is based on an open loop pattern generated from the desired step frequency . Stabilization elements of gaits based on the open loop core and orientation feedback have been incorporated to keep the robot balanced, the most current one using fused angle feedback directly to add corrective actions to joint trajectories  . Although these gaits have been developed with robots without parallel kinematics in mind, the gait is also compatible with the parallel kinematics of the NimbRo-OP2, through various conversions described in the next subsection.
Iv-F Parallel Kinematics Adaptation
To maintain compatibility with our other robots and enhance the possibility of using parallel kinematics on future platforms we have developed a new hardware interface which creates a set of dependencies between chains in the URDF model. The URDF model of the NimbRo-OP2 has two instances of left and right legs. A virtual serial chain and a real parallel one. All of the conversions are set up automatically, based on joint name aliases from the URDF model and consist of copying, negating, summing and subtracting commands. Scaling of values for external gearing is also applied on this level. The conversions done include not only set joint positions but torques produced in the joint. These conversions work in both directions: when sending commands and reading feedback.
For playing pre-designed motions, we use the motion player which is a part of our software release. The motion player is a non-linear keyframe interpolator, which creates smooth trajectories between a list of keyframes for joint positions, velocities and efforts. It also supports PID control for specific joints based on the estimated orientation feedback. Creating and editing motions is the role of the trajectory editor seen in Fig. 8. The user-friendly interface allows for intuitive designing of complex motions consisting of multiple frames.
The robot has been tested, both in a controlled and uncontrolled environment. We have initially tuned and tested the robot’s gait achieve stable walking at relatively high speed of approximately . The tracking performance of the leg joints during walking are shown in Fig. 10. Under full load, the maximum tracking error varies depending on the joint. In the ankle roll, the 4 degree error is actually the result of a slight overcompensation of the feed-forward position control. This error does not hinder the robot’s balance while performing pre-programmed motions nor when walking. The error in itself is negligible as the artificial grass on which the robot walks provides a dampening effect. However in extreme cases, the error can be handled by the feedback mechanisms present on the robot. Other joints display better tracking abilities (below two degrees), as they are located consecutively closer to the CoM of the robot and the feed-forward position control can estimate torques with higher precision. To further increase the tracking performance, effort values could still be increased, although this decreases compliance and therefore the life-span of the servos.
We have also performed initial tests in a gazebo simulation of the platform, which shows promising results in terms of performing getting up from the supine and prone positions, as well as jumping motions. The robot’s walk and get-up motion in the simulator are shown in Fig. 9.
For our participation in RoboCup 2017, we have designed a reliable kicking motion, which allows the NimbRo-OP2 to kick the ball on a soccer field farther than any other of our robots, with distances exceeding . Fig. 12 shows the robot kicking a regular (size 4) soccer ball.
During the Humanoid League AdultSize competition at RoboCup 2017 in Nagoya, Japan, the NimbRo-OP2 robot proved to be robust, efficient and effective by outperforming all of it’s competitors (see Fig. 11). The robot has won both the soccer competition as well as the technical challenges. In five games, the robot has scored 46 goals, while conceding only a single goal in the final, ending the game early with a result of 11:1.
The NimbRo-OP2 has also been awarded the RoboCup Design Award by Flower Robotics, based on various criteria which include performance, simplicity, interaction and ease of use. Detailed results can be found on our website222http://nimbro.net/Humanoid.
The NimbRo-OP2 is a natural advancement on its predecessors—the NimbRo-OP and igus® Humanoid Open Platform. Using the experience we have gained with 3D-printed robots through our cooperation with igus® GmbH on the igus® Humanoid Open Platform, we have designed, built and tested a grown-up open platform that is affordable, easy to operate, with a rich set of features while being comparable in size with robots which are at least one order of magnitude more expensive.
Building this platform has also proven that our open-source software is modular and applicable to robots of different size and structure. In conjuction with the publication of this paper, we have released all the necessary hardware information in the form of printable 3D CAD files  and updated our already open-source software  in hope that other research groups benefit and contribute to further development of humanoid robotics.
-  K. Kaneko, F. Kanehiro, M. Morisawa, K. Miura, S. Nakaoka, and S. Kajita, “Cybernetic human HRP-4C,” in Proceedings of 9th IEEE-RAS Int. Conf. on Humanoid Robotics (Humanoids), 2009, pp. 7–14.
-  P. Allgeuer, H. Farazi, M. Schreiber, and S. Behnke, “Child-sized 3D printed igus humanoid open platform,” in Humanoid Robots (Humanoids), 15th IEEE-RAS International Conference on, 2015, pp. 33–40.
-  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 International Conference on Robotics and Automation (ICRA), 2009.
-  I. Ha, Y. Tamura, H. Asama, J. Han, and D. Hong, “Development of open humanoid platform DARwIn-OP,” in SICE Annual Conf., 2011.
-  M. Lapeyre, P. Rouanet, J. Grizou, S. Nguyen, F. Depraetre, A. Le Falher, and P.-Y. Oudeyer, “Poppy project: Open-Source fabrication of 3D printed humanoid robot for science, education and art,” in Digital Intelligence, 2014.
-  K. Hirai, M. Hirose, Y. Haikawa, and T. Takenaka, “The development of Honda humanoid robot,” in International Conference on Robobotics and Automation (ICRA), 1998.
-  M. Hirose and K. Ogawa, “Honda humanoid robots development,” Philosophical Transactions of the Royal Society of London A: Mathematical, Physical and Engineering Sciences, vol. 365, no. 1850, pp. 11–19, 2007.
-  I.-W. Park, J.-Y. Kim, J. Lee, and J.-H. Oh, “Mechanical design of humanoid robot platform KHR-3 (KAIST humanoid robot 3: HUBO),” in Humanoid Robots (Humanoids), 5th IEEE-RAS International Conference on, 2005, pp. 321–326.
-  N. A. Radford, P. Strawser, K. Hambuchen, J. S. Mehling, W. K. Verdeyen, A. S. Donnan, J. Holley, J. Sanchez, V. Nguyen, L. Bridgwater et al., “Valkyrie: Nasa’s first bipedal humanoid robot,” Journal of Field Robotics, vol. 32, no. 3, pp. 397–419, 2015.
-  J. Englsberger, A. Werner, C. Ott, B. Henze, M. A. Roa, G. Garofalo, R. Burger, A. Beyer, O. Eiberger, K. Schmid et al., “Overview of the torque-controlled humanoid robot TORO,” in Humanoid Robots (Humanoids), 14th IEEE-RAS International Conference on, 2014, pp. 916–923.
-  G. Nelson, A. Saunders, N. Neville, B. Swilling, J. Bondaryk, D. Billings, C. Lee, R. Playter, and M. Raibert, “Petman: A humanoid robot for testing chemical protective clothing,” Journal of the Robotics Society of Japan, vol. 30, no. 4, pp. 372–377, 2012.
-  NimbRo. (2017, Sep) NimbRo-OP2 hardware CAD data. [Online]. Available: https://github.com/NimbRo/nimbro-op2
-  M. Quigley, K. Conley, B. P. Gerkey, J. Faust, T. Foote, J. Leibs, R. Wheeler, and A. Ng, “ROS: An open-source robot operating system,” in ICRA Workshop on Open Source Software, 2009.
-  P. Allgeuer, M. Schwarz, J. Pastrana, S. Schueller, M. Missura, and S. Behnke, “A ROS-based software framework for the NimbRo-OP humanoid open platform,” in 8th Workshop on Humanoid Soccer Robots, Int. Conference on Humanoid Robots, 2013.
-  NimbRo. (2015, Oct) igus humanoid open platform ROS software. [Online]. Available: https://github.com/AIS-Bonn/humanoid_op_ros
-  M. Schwarz, J. Pastrana, P. Allgeuer, M. Schreiber, S. Schüller, M. Missura, and S. Behnke, “Humanoid TeenSize open platform NimbRo-OP,” in RoboCup 2013: Robot World Cup XVII, 2013, pp. 568–575.
-  P. Allgeuer and S. Behnke, “Robust sensor fusion for biped robot attitude estimation,” in Proceedings of 14th IEEE-RAS Int. Conference on Humanoid Robotics (Humanoids), 2014.
-  P. Allgeuer and S. Behnke, “Fused angles: A representation of body orientation for balance,” in Int. Conf. on Intelligent Robots and Systems (IROS), Hamburg, Germany, 2015.
-  M. Schwarz and S. Behnke, “Compliant robot behavior using servo actuator models identified by iterative learning control,” in RoboCup 2013: Robot World Cup XVII, 2013, pp. 207–218.
-  M. Felis. (2015, Jun) Rigid body dynamics library. [Online]. Available: http://rbdl.bitbucket.org/
-  S. Behnke, “Online trajectory generation for omnidirectional biped walking,” in International Conference on Robotics and Automation (ICRA), 2006.
-  M. Missura and S. Behnke, “Self-stable omnidirectional walking with compliant joints,” in Proceedings of 8th Workshop on Humanoid Soccer Robots, Int. Conf. on Humanoid Robots, 2013.