Don’t worry, we haven’t suddenly decided to compete in a different league. But since out team was also affected by the ongoing pandemic, we had to make due with the new regulations. Here is a short update on what we’ve been doing for the past couple weeks:
Today, three weeks ago, we should have been in the middle of our preparation camp for the world cup. When we got the message, that that is cancelled, that all non-necessary activities are postponed until further notice and that we’re not allowed to enter our lab for at least the next few weeks, we were unsure how our team would go on. Nevertheless we quickly recovered from the initial shock, built an digital infrastructure, re-prioritized our goals and moved all essential tools and components to our apartments. Despite these challenges, we managed to use the Hamburg Closed effectively and solve a lot of problems.
Since we cannot use our real world robots at the moment, these changes were also a motivation to improve our simulation technologies. By using a more precise robot model and swapping to PyBullet as our simulation framework, we will be able to solve many problems completely without a robot in the future. Additionally, we have decided to release our current software stack as software version 2.0. Even though some of the features we initially planned couldn’t be completed in time, we are very happy with the results. Version 2.0 includes a lot of new features, such as a heavily improved walking algorithm, as well as the second version of our localization.
By now we’ve pretty much gotten used to the new circumstances. The initial chaos slowly changes back to normal day to day life, we’re having regular meetings (online, of course), and are eagerly working on the code that will win us the next world cup.
Sometimes something unexpected happens and suddenly one finds himself on the other side of the world. Something like that just happened to four brave Bit-Bots: Last Week Jasper and Sebastian (human), as well as Rory and Jack (humanoid) were informed that they were supposed to fly to Beijing a few days later to give a presentation at the first Running Robot Competition…
This message left us with a lot of excitement, but also a lot of stress: There was so much to do in such little time; and so all gears were set in motion to ensure that we got our visa by wednesday evening, so we could board our flight on thursday morning. The flight went pretty uneventful, and just 19 hours later we found ourselves at the convention centre, ready to set up. Our presentation was supposed to be on Saturday, so there was more than enough time to prepare everything and everything should be smooth sailing, right? Wrong! Turns out, packing in a hurry leads to chaos and so we stood in Beijing with two charged and two empty batteries and without a charging cable, and with a very short LAN cable. But we arranged and everyone seemed to have liked our presentation. In fact, it went so well, that chinese television decided to have an interview with us (link).
But we hadn’t just taken this journey to give a short talk. We also wanted to see the other presentations and, of course, the competition. While, sadly, most of the other demonstrations turned out to be dancing robots that play keyframe animations, which is not really interesting for our research, we still met many new, and surprisingly a few known faces. The competition consisted of several parcour elements the robot had to cross. They had eight minutes to solve eight different tasks. Most of these tasks could be solved rather easily with a decent colour recognition, but for a first year it still was a challenge and we hope the difficulty will improve in the next years and drive the competition towards new smart solutions. Maybe reducing the colours of the parcour elements would be a good start to force the participants to use artificial intelligence.
Lastly we also found some time to look around in Beijing. Thanks to our amazing guides we got to see the Forbidden City, the Olympic Park and Tian’anmen Square. We also went to visit the campus of the Tsinghua University and get to see our guides’ lab.
And suddenly, just three days after our arrival it was already time to leave. It were stressful, yet very interesting days. And maybe we will come back one day.
After our arrival, the setup days were very busy while we prepared our hard- and software, which is why we didn’t have the time to publish another article yet. Today we put our hard work of the last days to the test in the first games of this years world championship.
During the preparation days we spontaneously decided to switch out parts of our modular vision pipeline with a neural network based on the YOLO architecture – with surprising results: We were able to detect balls across the whole field. The goalpost detection was also greatly improved by these changes. We were expecting some improvements by exchanging the module, but still everyone was very surprised by just how good it actually worked.
Another thing we changed: We’re dynamic. We introduced DynUp™ and a reworked version of the dynamic kick that was initially developed by a group of students in one of our bachelor courses. These modules allow our robots to stand up even faster while being more stable and to kick the ball in different directions without falling over.
Finally, we also made some changes to our tactics, and improved some visualization tools to help us keep an overview of what the robot is doing during the games.
Today, we had a lot of chances to test out, whether our changes actually work out: With 6 Drop-in, and 4 regular games we were busy all day. Luckily, thanks to our cooperation with the WF Wolves, together we were able to have our robots play in all games, while also covering several referee duties.
However, not everything went perfect today and at one point it looked really dark for us: When we replaced our cameras earlier this year, we did not keep in mind the additional weight. While our modified head stayed intact, the part connecting the head to the body wasn’t made for the additional forces and broke. After our game against ZJLabers, the heads of three of our four robots were detatched from their bodies. Things looked dire, until a smart idea saved the day. We repurposed one of our metal parts, which were less likely to break, and attached the head to it. This way we were able to keep on playing with the new camera and perform many great moves in the remaining games. Unfortunately we haven’t been rewarded with any wins yet, but we keep on trying our best and are excited for the coming days.
In the last few days, interested teenagers got to try out, what it is like to study computer science at our university. And like the last years, we offered one of the three projects the pupils could choose from. During this week, they did not just get a look at our daily lifes, but instead got to experience hands on, what it takes to make a robot play soccer.
Our new friend Cozmo, a robot produced by Anki, joined us for this years project, and thanks to its intuitive programming environment made it rather easy for the students to solve various problems and to programm and play games with or against Cozmo. Step by step they helped Cozmo to reach his dream goal to become a soccer star player.
In contrast to the last years, this time we tried a different learning concept, developed by a master student at our university. In various tasks the 13 children first learned how to work with the robot and his graphical programming environment, before later going on to use a “real” programming language. The main goal was to make Cozmo shoot a goal on friday.
Even though this was a challenging task, the students quickly recognized how to use Cozmos sensors to find the ball in the camera image, then calculate the position in the real world, to then figure out where he is supposed to move.
Besides working on the project, the pupils were also keen to see our campus, so we showed them around in the labs of TAMS. They got to control a robotic arm with a HoloLense and watch as Trixie searched for interestingly colored objects.
Our last day started as chaotically as we already anticipated it to be: 10 minutes before our semifinals-game was supposed to start, the exhibition halls doors were still locked. As the referees and the TC didn’t show up on time aswell, luckily we still had enough time to prepare.
Playing against Rhoban was a challenge, as always, but with our vision working perfectly and optimized walking algorithms we did pretty good. A few minutes before the game was over chaos took over once again: Due to unknown reasons the power was cut and therefor all game events stored in the Gamecontroller were lost. The referees and the TC took some time to deliberate about what to do now and then decided to continue the game anyways.
In the end Rhoban beat us, leaving us on the third place out of eight competitors. The first place goes to MRL-HSL.
After the games were over, we had some time to visit a temple with some members of Rhoban and ZJUDancer, and to show them around on the bazaar. The rest of the day was used to attend the very exciting closing ceremony. After the banquette, where we could once again talk and joke with our – sometimes long known, sometimes new – friends, it was already time to say goodbye.
13 hours of flight later, completely exhausted but very very happy, Hamburg had us back. We won’t have much time to rest on our success, though. The world championship is getting closer and today the lab was as crowded as always again.
Today began as early as the days before. Our first game against MRL-HSL was scheduled for 8:30 AM. Until then we still had to fix some hardware components. As we were working on our code until late in the night, one could see our exhaustion in our faces. Nonetheless we played a good game, which, unfortunately ended in a loss, but proved that our hard work during the last days was a success.
Our robots fell very badly during the game, damaging parts of our hardware beyond repair and causing major problems during our second game. Therefor Frankenbot now inherited Minibots arm aswell, making him more and more a patchwork-beast. Between the other teams, Frankenbot made himself a name as “Killer” or “Terminator” and is well known. Because there is one thing we could prove during the last days: We are very good at not getting tipped over.
In our free time after the games we went out to explore Teheran. We bought lots of food, spices and sweets at the bazaar and visited a mosque nearby.
During our third game the hardware problems lingered. By now everything seems to be working again and we hope, our robots won’t get hurt again tomorrow.
After the games we had some time to talk to the other teams. We introduced our ImageTagger to the other teams, Rhoban held an interesting presentation about decisionmaking processes during goalshots and ZJUDancer and MRL-HSL showed a part of their works aswell.
We are now making our last preparations for our semifinal-game against Rhoban. We are curious to see the outcome.
The first match day is coming to an end. Our enemies being three of the four bestplaced teams in last years world championship, our competition couldn’t be much tighter: We’ve got to face MRL-HSL, Rhoban and ZJUDancer. Especially Rhoban demonstrated clever teamplay and clean goalshots with their three robots and beat all three enemies. The other two teams played very good aswell, leading to many exciting moments. Even though we lost all three of our games today, we made great advances aswell: For the first time since our big hardware modifications we are able to walk long distances again. Our ball recognition works perfectly and huge parts of our behaviour are already functioning normally.
Playing against some of the best teams in our league was a good oportunity for us to learn. The knowledge exchange between the teams and the games provide great insights into new tactics and different gamemoves, many of which we are looking forward to try out. The huge amount of games also provides lots of data for our image tagger under realistic conditions.
The hardware wasn’t working in our favour today, and so Frankenbot happened to lose a leg – just a few minutes before our last game was about to start. Luckily the damage could be repaired quite easily. Unfortunately we needed one spare part, that we couldn’t replace. So we had to remove it from the other Minibot, which means, that we can only use one of them for the rest of the competition. At least we can focus our work on that one now.
We are now working on fixing the behaviour completely and optimizing some parts, in order to get better results in our next games.