This year's RoboCup host city was the farthest ever for all members of the team (as nobody of us went to RoboCup 2000 in Melbourne ;-)). Thirteen humans as well as the eight robots (plus one guest robot, which we named Else Kling) had a long but safe trip to Sydney (and back).
In contrast to the German Open, a RoboCup world championship does not only consist of a single competition but also features a mixed team tournament, technical challenges, as well as a conference. Everything took place at Sydney's new International Convention Centre (ICC), located downtown close to the harbor.
The goal for the main competition was the same as for the RoboCup German Open: Regaining the title from Nao-Team HTWK. However, first of all, the first two round robin stages of the Champions Cup had to be passed. In 2019, a total of 20 teams participated in the RoboCup, of which the twelve strongest ones were seeded in the Champions Cup and the other eight teams in the Challenge Shield.
In these rounds, B-Human played against the HULKs from TU Hamburg, the UPennalizers from the University of Pennsylvania, UT Austin Villa from the University of Texas in Austin and SPQR from La Sapienza University in Rome. We clearly won all round robin games with a total score of 31:0 goals! This qualified us for the quarter final, in which we had to play against the Bembelbots from Goethe University Frankfurt, who we were able to defeat by 10:0.
In the semifinal, we met - like at the German Open - the home team of RoboCup 2019: rUNSWift. As one would expect, it was a really tough game against a strong opponent. Furthermore, during this particular game, more set pieces than during the whole RoboCup German Open had to be executed. After an intense first half, the score was still 0:0. However, in the second half, we gained more control over the game and the performance of our opponents decreased, maybe due to the lighting conditions (rUNSWift now had to play towards the huge windows), maybe also due to overheating robots. This gave us the opportunity to score multiple times. In the end, we managed to win 3:0!
In the final, we faced the Nao-Team HTWK. Who else? This was the third RoboCup final between these two teams in a row. The previous two finals were very close and exciting. This one was not different! We started with some good chances to score, but were not able to move the ball over the opponent goal line. In football, you have to use your chances, otherwise, the opponent does: Nao-Team HTWK took the lead. A quick shot out of a group of robots hit our goalpost and rolled over the line without letting our goalkeeper any chance. In the course of the game, we had a lot of ball possession but the Nao-Team HTWK was always close to the ball, too. With only a few minutes remaining on the clock, the referee called a foul on one HTWK robot in midfield and we were awarded a free kick. This was carried out as a long pass deep into the opponent half, where one of our robots was able to almost directly kick the ball into the goal from a short distance! At the following kickoff, the Leipzig player lost control over the ball and one of our players decided to take a long shot towards the goal, which is quite typical for B-Human. The opponent defense was not aligned well for a short amount of time and the ball rolled straight into the goal: 2:1 for us! We turned the game! Some suspenseful minutes later, the game was over. We were World Champions again!
All results of the main competition can be found on the corresponding event page in the SPL Wiki.
In 2019, the Mixed Team Tournament was held for the third time. After two successful participations in 2017 (together with the HULKs) and 2018 (together with rUNSWift), we again took the opportunity to cooperate with a different team as this always leads to a worthwhile exchange of ideas. Thus, for this year's competition, we teamed up with Berlin United - Nao Team Humboldt from the Humboldt University of Berlin, who have participated in the Standard Platform League since the very beginning. The name of our mixed team was B & B (it remains up to the reader to decide which B refers to which team).
At RoboCup 2019, the tournament consisted of a preliminary round in which all five participating mixed teams played games against each other team. The two best teams proceeded to the final. We clearly won three of our preliminary round games and played one draw against Team Team, which was formed by Nao-Team HTWK and the Bembelbots. As they also won their other games, we met them again in the final. In that game, the equal strength of both mixed teams became obvious: the final game as well as the following penalty shootout ended in a draw, too. Thus, it needed a sudden death shoot-out, in which we finally won!
As both parts of B & B have robust implementations of all required basic abilities, such as stable walking, ball recognition, and self-localization, all robots on the field were able to play together reliably according to our intended strategy. We are very happy about our success and thank Berlin United - Nao Team Humboldt for playing with us!
The purpose of technical challenges is to foster the development of robot skills that are not yet needed for the actual games. This year, two challenges were held: the Directional Whistle Challenge and the Open Research Challenge.
In the main competition, the robots already need to be capable of detecting the sound of the referee's whistle at kickoff. In the Directional Whistle Challenge, this was extended by the computation of the direction as well as of the rough distance to the sound's origin. Having this information, the robots could be able to distinguish the whistle of the current game's referee from the whistles on other fields at the RoboCup venue (there are many!). Our robot successfully detected multiple whistles during this challenge but unfortunately computed their direction with an error of 180 degrees many times. Some of the others teams performed better. Thus, we finished this challenge with a medium score.
In the Open Research Challenge, all teams can show their current RoboCup-related research in a short demonstration on an SPL pitch. We decided to present our advances in robot detection and state estimation by letting two robots guide a blindfolded robot towards the ball and letting it score a goal! This is a really challenging task, as for being able to properly hit a ball, an error of only a few centimeters will already let the robot fail. A video of a trial attempt can be found on our YouTube channel. The score of the Open Research Challenge is based on a vote of the SPL teams. The other seemed to have liked our demonstration, as we received a quite high score and finished second in this challenge.
Overall, we reached the second place in this year's technical challenges. Congratulations to our mixed team partner Berlin United, who became first! All results of the challenges can be found in the SPL Wiki.
Each RoboCup ends with a conference, the RoboCup Symposium, at which recent RoboCup-related research results are presented. We are quite happy that for this year's symposium, our two submitted papers were both accepted for presentation. In JET-Net: Real-Time Object Detection for Mobile Robots (read our PDF or the original at Springer), we describe our new Deep-Learning-based robot detection, which has been used by us throughout the whole competition. Our new library for fast neural network inference on NAO robots is described in A JIT Compiler for Neural Network Inference (read our PDF or the original at Springer). To make it available to other researchers, its implementation has been released as open source on GitHub.
Overall, 2019 was an excellent year for B-Human! We regained our beloved titles: RoboCup world champion and RoboCup German Open champion. Furthermore, we succeeded in additional competitions and advanced our research activities. The time of most old team members ended in September. We released most of our code. You can download it for free from our repository at GitHub, including a beautiful and very detailed documentation of almost 200 pages! Furthermore, as the winner of the 2019 Champions Cup, we were invited to submit a paper for the proceedings of the RoboCup Symposium (read our PDF or the original at Springer). The paper, titled B-Human 2019 – Complex Team Play Under Natural Lighting Conditions includes, among other things, a description of our new and previously unpublished CNN-based approach for ball classification.
In the meanwhile, a new group of 16 students has joined the B-Human team as their Bachelor project. Bold plans have been made and coding for the 2020 competitions has begun. We are looking forward to a great new RoboCup year. Stay tuned!
The B-Human team would like to thank:
Our departments at the University of Bremen and the German Research Center for Artificial Intelligence (DFKI).
Our main sponsor CONTACT Software, the leading vendor of open standard software and open source pioneer for the product engineering process and the digital transformation.
Our sponsors and supporters engineering people, TME, igus, neuland, Alumni der Universität Bremen e.V., and sysGen.
If you are interested in more information, you might want to have a look at our