Application from Hamburg Bit-Bots for RoboCup 2017
Rami Aly, Marc Bestmann, Fabian Fiedler, Niklas Fiedler, Ronja Güldenring, Jasper Güldenstein, Christopher Hahn, Julius Hansen, Judith Hartfill, Nicolas Hirsch, Katja Hoffmann, Jessica Jobski, Wiebke Kroll, Maike Paetzel, Martin Poppinga, Dennis Reher, Bente Reichardt, Robin Riebesehl, Nils Rokita, Laura Schüttpelz, Oliver Sengpiel, Daniel Speck, Sebastian Stelter, Felix Wiedemann, Helge Wrede
Department of Informatics, Universität Hamburg, Vogt-Kölln-Straße 30, 22527 Hamburg, Germany
http://data.bit-bots.de/applications/application2017.mp4 · http://www.bit-bots.de
Abstract After the world championship in Leipzig, the Humanoid Kid-Size team Hamburg Bit-Bots put the main focus into the improvement of the current robot platforms Hambot and Minibot. New versions will be available for usage during the tournament in Japan in 2017. The software is undergoing a major revision as well: The bio-inspired neural architecture for visual perception that was presented during last years RoboCup Symposium is getting integrated in the new vision framework. The code base is ported to ROS to allow for easier sharing and code re-usage among the teams and a new walking algorithm is under development that utilizes 3D-printed pressure sensors. We are looking forward to present our hardware and software improvements during the world championship in Nagoya, Japan.
Introduction
The team Hamburg Bit-Bots consists of Bachelor and Master students from the Department of Informatics at the University of Hamburg, Germany. The team is financially supported by the University of Hamburg and its Department of Informatics. Apart from that Hamburg Bit-Bots are an independent work group led and organized solely by students.
Prior performance in RoboCup
Since 2012 our team participates in the GermanOpen (2nd place in 2013, 3rd place in 2012 and 2014). Moreover, our participation in the WorldCup since 2012 and the Iran Open since 2014 (3rd place in 2015) allows us to connect with other teams and to exchange research ideas with the RoboCup community.
Further dedication to RoboCup
We have many further projects to push interconnectedness between teams and support the accessibility of robotics and RoboCup to the general public. Since 2014, we are actively supporting the RoboCup Federation and development of the league by organizing the RoboCup world championship and participating in the enhancement of the rules. For the upcoming year, we are planning to revise the GameController to support the new rule changes. Apart from supporting the organization of the world championship, we are collaborating with another RoboCup Team from our home town which competes in the SPL to host the annual RoHOW.
Outreach to the general public and promotion of young scientists is very important to our team. We therefore give demonstrations at the "Hamburg Night of Knowledge" and "Berlin Night of Knowledge", the annual open house at our university, the annual trial studies for high school students and the girls day to support young female students. In cooperation with a school we created a yearly course in robotics for high school students which is very successful since 2013. Furthermore, in 2014, we started to provide practical as well as theoretical lectures in robotics at our university which are highly attended by students.
Hardware
(section header only)
Mechanical structure
When we started participating in RoboCup in 2012, our team was solely composed of Darwin-OP robots. With the roadmap of the humanoid league in mind, we started developing our own robot platform with increased size and stability. The first version with the working title GOAL had 24 DoF and was brought for inspection to the RoboCup 2014 for the first time. The main improvements compared to the Darwin-OP are the increased height of 86 cm, pitch and roll servos for the torso and a yaw servo for the shoulder to provide more human-like movement.
With the experiences we gained during the world championship 2014, the body of the new robot was modified and the project renamed to Hambot. We are able to completely build the robot in our own laboratory by using 3D printing for the majority of the body parts. The project is open source and can be found at GitHub. The Hambot robot is still under revision and we are aiming to have a new version ready for the world championship in Japan in 2017. This robot will have better abilities to walk and stand up stably.
In parallel to the development of Hambot, we are using our experiences to create a slightly smaller and light weight robot called Minibot. The body part is mostly made of aluminium, which decreases the weight while having the same stability as Hambot. The body is constructed similarly to the Darwin-OP robots, which allows the usage of the same Kinematics as used for the Darwin-OP platform. We are working on releasing the construction plans for Minibot as well to allow KidSize Darwin-OP teams an easier transfer to using larger robots.
We will bring evolved versions of both Hambot and Minibot to the competition in Japan and we aim to fully replace our remaining Darwin-OP robots in the near future. In general, we are still working on building robots that have a more human-like way of controlling the skeleton. While the human body contains a hard skeleton and muscles to move the skeleton, in robots the motors work as muscles and are a part of the robot's skeleton, which causes much pressure on the motors. To decrease the pressure on the motors without loosing degrees of freedom, we are exploring the usage of ribbons with motors working like muscles and tendons similar to the human joints. In a recent bachelor thesis written by a member of our team we could show that the technique is not yet applicable to humanoid robots because it is difficult to determine the strain on the tendons.
The modified Darwin-OP
The Darwin-OP robot has the following electronic components:
- Actuators: The Robotis Dynamixel MX-28 servos have Hall sensors to measure the position of the joint and measurement of voltage, current and the temperature inside the servo.
- IMU: The CM 730 board provides a 3 axis accelerometer and a 3 axis gyroscope that is used for the stabilization of the robot.
- Camera: The robot is equipped with a "Logitech HD Pro Webcam B910". A resolution of 800x600 is used at 20 frames per second.
- Computer: The main computing board is a "Fit Pc 2i", providing a singlecore Intel Atom process which runs at 1.6 Ghz. The subcontroller is the CM730 board by Robotis.
Hambot
Hambot has the following electronic components:
- Actuators: The Robotis Dynamixel MX-28, MX-64 and MX-106 servos have Hall sensors to measure the position of the joint and measurement of voltage, current and the temperature inside the servo.
- IMU: Hambot has 2 MPU6050 chips with 3 axis gyroscope and accelerometer per chip. It has more accuracy than the one built in the Darwin-OP robot and enhances the stability of the robot.
- Camera: The robot is equipped with a "Logitech HD Pro Webcam B910". A resolution of 800x600 is used at 20 frames per second.
- Computer: The main computing board is an Odroid XU3 Lite, with an ARM octacore processor. The subcontroller is a selfmade board with three independent buses for the servo communication and a direct UART communication between the ARM Cortex M4 and the Odroid board.
Minibot
Minibot has the following electronic components:
- Actuators: The Robotis Dynamixel MX-28, MX-64 and MX-106 servos have hall sensors to measure the position of the joint and measurement of voltage, current and the temperature inside the servo.
- Sensors: The CM 730 board provides a 3 axis accelerometer and a 3 axis gyroscope that is used for the robots stabilization. Additionally it has 3D-Printed Force Sensors to determine the current Center-of-Pressure.
- Camera: The robot is equipped with a "Logitech HD Pro Webcam B910". A resolution of 800x600 is used at 20 frames per second.
- Computer: The main computing board is an Odroid XU3 Lite, with an ARM octacore processor. The subcontroller is the CM730 board by Robotis.
Software
(section header only)
General Architecture
Our software framework (released) is split into two main parts: a cognition part for the behaviour and a motion part. The cognition part consists of a decision making behaviour and a set of basic modules which perform the preprocessing and the calculations required by the behaviour. The team communication (Section 3.2) and vision (Section 3.6), among others, are part of the set of basic modules. The motion is a complex state machine acting as a service for the behaviour and can take commands for animations, positioning of motors and furthermore encapsulates the walking algorithm.
We use Python for high level programming of behaviour and Cython and C++ for low level sensor/motor control and optimized implementations of algorithms. We currently work on a full transfer of our software to ROS. The goal is to ease code exchange with other teams and to increase the modularization of our software. We proposed some standard messages and nodes that make sense for the league during this year's ROHOW and discussed them with other teams.
Team communication
The communication between the robots is implemented in the so called mitecom protocoll. It's a shared protocol developed by team FUmanoids. Using this shared protocol, we are capable of communication with other robots in a drop in challenge as we tested during previous championships. We share different information about the robot specific world model, as the assumed position of the robot and the relative position of the ball. This information is used in software modules such as the localization and behaviour modules.
Localization
In the last years we were working on different approaches for the localization to adapt to the new difficulties like the differentiation between the field halves with the two white goals and the recognition of the field markings. We are still working on a more robust approach, which can handle false positives as well as missing landmarks. Our Monte-Carlo-Localization/ particle-filter based approach uses a variety of features from the field. As features we use the goals, the field markings and partly other robots. We are also trying to adapt SLAM-like approaches for landmarks outside the field and using the team communication for further improvement.
Walking
The focus of the new walking approach is to utilize 3D-printed pressure sensors to enhance the walking pattern. It uses the pressure sensors to determine the current Zero-Moment-Point (ZMP) and feeds its position via reinforcement learning to the walking pattern generator. With the ZMP as a reward signal the temporal-difference (TD(λ)) based algorithm learns the optimal trajectory of the robot, which leads to a gradually improving walking. The walking generator is therefore capable of adapting in-game and on-line to differences in motion, e.g. changing torque of its motors or differences of the surface.
Behaviour
The behaviour framework is based on a hierarchical state machine and decision trees. Inside the behaviour tree, it is first determined which role the robot performs on the field. We currently have behaviours for the three different roles goalkeeper, defender and striker. The final decision is pushed on a stack and, if needed, registered for occasionally recomputing. Regular modules are only computed if they are on top of the stack. Leaves of the decision trees perform specific tasks, e.g. going to the ball, while more high level tasks such as attack and stay away are taken deeper in the tree.
For path finding and aligning to the ball we use an offline trained neural network based on ball and goal positions.
Vision Framework
We are currently working on images of the YUYV-Format, which is optimized for low bandwidth and the important information for humans. The source of these images is either the camera on the robot, pre-recorded files or a simulator.
For the current change in our software architecture we have separated the module for the image source from the actual image processing. This loose coupling makes the modules interchangeable and the development more independent from the rest of the code. The modularization of our computer vision will also improve the knowledge exchange with other teams.
Our current approach to search for objects in the image is a classification of the pixels in the used subset of all points using the colour information. This is done via lookup tables. The classes include ball/goal/line, turf, team markers and obstacles. All these are preconfigured except for the colour of the turf which is calibrated dynamically during the game. To reduce the complexity of our algorithms we reduce the number of used image points by using a point cloud. The point cloud is a mask of randomly pre-generated points. We use multiple point clouds with different distributions for different situations (e.g. a higher density to detect smaller objects farther away.)
For the detection of the field outline we use a scan line algorithm to search along vertical lines for the edge between the field-classified area and the non-field area above and calculate the convex hull from these points. In addition we are using the kinematic horizon which is calculated from the kinematic chain of the current robot pose. Clustering the classified pixels we get candidates for the ball, goal and other objects. The ball candidates are rated according to the roundness of the objects outline.
Standard vision algorithms supply reasonable results for many tasks, but often struggle with interpreting complex scenes. Due to the rising complexity of visual perception in RoboCup humanoid soccer (for example the recent introduction of multi-color balls) standard vision algorithms became less accurate or even impractical. Complex scenes have changing color histograms and patterns in dependence of the current orientation and movement. Therefore we are working on fundamental research of deep learning approaches in order to contribute bio-inspired neural architectures that are able to learn significant features and enhance the visual perception of complex scenes. Recently, this topic was covered with a paper as well as a corresponding bachelor thesis and improving this techniques is part of the current research in this branch.
Code from other teams
We include the cross-team developed communication library mitecom from team FUmanoids for easier communication between robots from different teams. Our walking is heavily influenced by the Team DARwIn. We also use features from the kinematic library of team NUbots. We are currently building a common ROS infrastructure which shares modules from WF Wolves and Rhoban Football Club which will be completed until the world championship. All other code is fully written by members or former members of our team.
Publications (2015 - 2016)
(section header only)
Ball Localization for Robocup Soccer using Convolutional Neural Networks
This paper presents a convolutional neural network that is able to localize multi-color balls in complex scenes of the RoboCup environment. The approach proposes a new way to model the ball's coordinates with probability distributions, which are used to train the network. It works without pre-processing, is biologically inspired and was awarded with the Best Paper Award for Engineering Contribution at the 20th RoboCup International Symposium in Leipzig (2016).
Design and Control of Biologically Inspired Joints
In this thesis a bio-inspired joint operating with tendons and the controlling of such with neural networks is developed. Joints operated by tendons have some advantages over motors in the joint, e.g. the elastic properties of the joint can protect the motor from the forces if the robot falls.
Development of a user-interface for realtime editing of robot animations
This work covers the design and implementation of a user-friendly application to generate and edit static robot-animations (or motions) in realtime directly on a robot via an arbitrary text-terminal.
Hambot: An Open Source Robot for RoboCup Soccer
In this paper we present our newly developed soccer robot platform Hambot. Hambot can be produced entirely using 3D-printing.
Development of a stable robot walking algorithm using center-of-gravity control
Bachelor thesis about the implementation of a walking algorithm based on capture steps as described in. This thesis concludes that capture steps are not applicable for our robot hardware. In this context, we also improved our inverse kinematics, which is conceptually inspired by the FUmanoids.
Statements
Participate: We assure to participate in the RoboCup 2017 Humanoid League.
Referee: We further assure that we have a person with sufficient knowledge of the rules and that this person will be available as referee during the competition.
Video & website
The following resource provides additional access to our team application video for the tournament: http://data.bit-bots.de/applications/application2017.mp4 Further material can be found at our offical homepage: http://www.bit-bots.de.
Conclusion
Both the hardware and software of our robots are undergoing major revisions to compete in the world championship in Nagoya, Japan, in 2017. In Leipzig, our robots still had trouble walking, localizing and finding objects on the field. With the improved hardware and walking algorithm, we made good progress towards a stable walk on artificial grass. The bio-inspired vision framework helps classifying objects on the field, which will be a major support for the localizer as well. We are looking forward to see how our robots compete in Japan, which is also another opportunity to exchange our experiences with other students and researchers from all over the world and improve our cooperation with other teams as well as contribute to the success of humanoid robotics.
References
- Rokita, N.; Design and Control of Biologically Inspired Joints. Bachelor thesis, Universität Hamburg, Department of Informatics, Germany (2015)
- Giese, Timon.: Development of a user-interface for realtime editing of robot animations. Bachelor thesis, Universität Hamburg, Department of Informatics, Germany (2015)
- Schmidt, R.: Development of a stable robot walking algorithm using center-of-gravity control. Bachelor thesis, Universität Hamburg, Department of Informatics, Germany (2015)
- Bestmann, M.: Biologically Inspired Localization On Humanoid Soccer Playing Robots. Bachelor thesis, Universität Hamburg, Department of Informatics, Germany (2014)
- Poppinga, M.: Intelligente Wegfindung humanoider Roboter am Beispiel des RoboCup. Bachelor thesis, Universität Hamburg, Department of Informatics, Germany (2014)
- Hamburg Bit-Bots. Hamburg Bit-Bots Coderelease 2016. Available online at: http://data.bit-bots.de/CodeReleaseHamburgBitBots2016.tar.gz
- The mechanical parts of the open source robot Hambot are available at https://github.com/bit-bots/hambot
- Marc Bestmann, Bente Reichardt, Florens Wasserfall. Hambot: An open source robot for robocup soccer. 19'th RoboCup international Symposium, Hefei, 2015
- Marcell Missura and Sven Behnke. Balanced walking with capture steps. 18'th RoboCup international Symposium, Joao Pessoa, 2014
- Speck, D., Barros, P., Weber, C., Wermter, S.: Ball Localization for Robocup Soccer using Convolutional Neural Networks. 20'th RoboCup International Symposium, Leipzig, 2016
- Speck, D.; Balltracking for Robocup Soccer using Deep Neural Networks. Bachelor thesis, University of Hamburg, Department of Informatics, Germany (2016)