Third place in the Running Robot Competition 2020

Last year we got the opportunity to participate in the Running Robot Competition in China. Since we enjoyed getting to participate in it last year, we wanted to attend again this year.

The Running Robot Competition is not a part of the RoboCup tournaments we usually participate in. It is a tournament where Robots have to go through a course, overcoming multiple obstacles to reach their goal. These obstacles are for example having to wait until a barrier has moved out of the way and only then walk past it, or having to climb a few stairs.

Due to Covid-19 we did not get the opportunity to participate in person, but we were glad to participate over the internet. For this purpose, the organizers prepared a simulation environment.

We discussed a few options on how to solve this.
Starting from a more conventional approach to solve the challenges. In this approach, we would start with developing a vision that can e.g. see the yellow and black from the barrier and as soon as it reaches a certain angle, we would program the robot to start walking.

However we wanted to use this opportunity to learn about something that most of our team had less experience with. This is why we decided to use reinforcement learning for our approach.

Reinforcement learning is an approach where we use neural networks so the robot can learn how to overcome the obstacles without us telling it how to solve them. This can lead to more efficient ways of solving the problem than we would have thought of. This could include finding a bug in the physics of the simulator to achieve normally impossible things or something as simple as walking another way that we did not think of.

We used only the robot’s camera image as an input to the reinforcement learning algorithm. Based on this information the robot had to figure out what it had to do now. Does it have to wait for the barrier to rise or is it already up and it can start walking?
This sounds trivial for us as a human, but the robot starts out with no concept of a barrier being an obstacle. In the beginning, it does not know the difference between the ground which it can step on and an obstacle that it should avoid.

To ease the robot to learn these things, we provided points as a reward to the robot if it came closer to the goal and deducted points if it walked into an obstacle like the barrier.

The robot could control the direction in which it walked. We used the same program to let the robot walk as we use on our soccer-playing robots. However since a different robot was used in this competition, we had to change a few parameters. However, we were able to use a script from our existing walking to let the robot learn the best way to walk in this new simulation.

With this approach, we were able to solve the first obstacles. Due to a misunderstanding, we had less time and were not able to solve the full course.

However we still had a lot of fun in developing our approach to solve the problems the Running Robot Competition presented. We also had the opportunity to learn a lot about reinforcement learning.

As you probably have figured out from reading the headline already, we did not only have a lot of fun during the competition, we even managed to finish in third place in the competition!



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.


RoboCup 2020 Application

We want to participate in the world championship of 2020 again. For this application the conditions were a bit different compared to last year.

Instead of writing a Team Description Paper, this year we were required to write an Extended Abstract. In it we described what we learned in the world championship in Sydney, the most important problems we have to address for the next championship and what we want to develop in time for the world championship in Bordeaux. Our Extended Abstract can be found in our publications and here.

We have also created a video which shows the abilities of our robots:


Running Robot Beijing

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.


RoboCup 2019 in Sydney – Group Phase, First 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.


RoboCup 2019 in Syndey – The Arrival

It’s still a quiet autumn in Sydney, but this will soon come to an end: It is RoboCup again and for the second time in the history of RoboCup it will take place in Australia. This time in the Sydney Convention and Exhibition Centre to be precise. Just about 10 minutes walking distance away we set up our base camp. But back to the beginning and the 34 respectively 40 hours of journey that stood between the departure in Hamburg and our arrival in Sydney. Due to organizational issues two team members, Jan and Finn, already left at 10 am on June 28th. The others’ (Florian, Jonas, Niklas, Timon, Jasper, Judith, Marc, Tanja and Sebastian) journey towards London began only at 16:45. After being reunited in Hong Kong the arrival in Sydney was scheduled for 06:45 AEST (Australian Eastern Standard Time). However, dense fog forced the plane to make a refueling stop in Brisbane before everyone could enter Australian ground at 11:05 AEST.

At least we had time to watch the beautiful sunrise from the airplane.

Maike met the team after a slightly shorter trip, which took only 15 hours from Los Angeles.

Thanks to the delay we could check in to our first apartment right away. Since we are 11 team members plus Maike as a member of the Executive Committee and Jessica as a member of the Organization Committee, one apartment is not enough anymore. Thus, we rented an additional small house that now serves as our base camp. Before we could move into the base camp, we first went to lunch together.

Of course we are not in Australia every day, so while most of the team had a quiet evening and went to bed early, Jan, Jonas and Sebastian went on a small hike to the Sydney opera. They even got to see fireworks!

After a joint breakfast in our base camp this morning, we are now assembling our robots and are getting the software ready for the competition. The day after tomorrow we will then be able to set up in the competition hall for the first time.


Bit-Bots at German Open

In the first week of May we once again went to the German Open, the german championship of RoboCup. After giving our laboratory a good cleaning on Monday we made sure not to forget anything. Then on Tuesday it was time to journey towards Magdeburg where we bought some important groceries for the next few days. Afterwards we spent the rest of the day (and night) preparing for the competition by programming…

On Wednesday after a good breakfast together we were finally allowed to enter the exhibition halls. Fortunately everything was ready for us to directly start capturing data from the court with the help of our vision robot Davros.

The captured footage will soon be used to evaluate different approaches of implementing a visual compass. A visual compass is supposed to recognize prominent background landmarks and then determining its own orientation. This is quite important to, for example, classify which goal is ours or the other teams.

Afterwards it was time to teach our humanoid robots how to stand up on the new surface.

At the same time our software development team was busy as well. The robots tactics weren’t nearly tested well enough to work reliably and there were also communication problems between different parts of our software. Unfortunately we weren’t able to completely eliminate all problems before our first game against WF Wolves. But because they were in a similar position we were able to end this game with a score of 0:0. Although we constantly improved most other teams with more stable code were able to beat us in the next few games.

In the last game of the group stage it was a close call. WF Wolves just lost their last game and we were up against Rhoban FC, the current world champion from France. Our hopes were low (rightly so) and the only possibility for us to progress into the semi-final was to achieve a lower goal difference than WF Wolves had. Only because Rhoban FC had networking problems in the second halftime we were able to achieve exactly that. They didn’t score enough goals and therefore enabled us to ‘beat’ WF Wolves.

The semi-final was against the Chinese Team ZJUDancer and their robots nimbly played around our larger ones. They scored multiple goals and we lost that round.

The last game for third place was against Starkit, a Russian team. Since their software and robots was largely bought from Rhoban FC we lost this game as well
But during this game we had the opportunity to reflect how far we have come. From the first game where our robots were barely able to stand to a closely integrated software and hardware system that was able to defend its own goal from an incoming attack and also chose to dribble towards the enemies goal. Although all this is not fully stable and reliable, that’s exactly what we’re working on right now in preparation of Australia’s RoboCup world championship this summer.

We prepared a small summary on Youtube as well.


German Open 2019 – Semi Finals

an article by Sebastian Stelter and Jonas Hagge
After an exciting group phase we got a place in the semi final!
We have used the days before the group phase sucessfully to prepare our robots for the competition. In the group phase we were able to in detail test our soft- and hardware changes, which we have made in this season. We have discovered a few problems in the communication between the software modules, but in the end our components communicated successfully with each other. We were really happy about our hardware. After our work on our cable management, we only had one broken cable and only had to invest very little time in hardware problems.
To be honest we only qualified for the semi final by a small margin. In the end we had a very exciting game against the world champion and managed to qualify successfully.
We are not finished yet though. The semi final is coming up in a few minutes and we are preparing as much as we can to raise our chances to qualify for the final.


German Open 2019 – Starting Soon

On Tuesday it will start for us. We will be going to the German Open 2019!

The German Open is the German championship in the RoboCup. There are competitions in the 6 Major Leagues, so all kinds of robots, from helping in crisis situations to save lives to our soccer playing robots. 40 teams from 16 countries will be there to fight to win the German Open competitons.

We will get the opportunity to try out and present the changes to our Software and Hardware which we have made since the last world cup in official games. With the new insight we can give the finishing touches to our robots before we fly to the next world cup.

The other teams in our league, which we will play against, are:
WF Wolves (Ostfalia Hochschule für angewandte Wissenschaften, Germany)
Rhoban FC (Université de Bordeaux, France)
Starkit (Moscow institute of physics and technology, Russia)
ZJUDancer (Zhejiang University, China)

Visitors are invited to the German Open from Friday (3.5) to Sunday (5.5.). There is no entrance fee for our fans (or other visitors).
More Information is available here:
We will continue to report from the German Open on this blog and our social media channels.


Girls Day 2019

Last Thursday, on March 28, the Girls Day took place at the department of computer science at Universität Hamburg. The Girls Day is an event for girls attending grade five to ten, where they have the chance to get to know technical institutions or companies. We offered a project to provide an inside on robotics.

As last year the students used a cozmo, a small robot from anki, to accomplish a task. First they got to know the robot. Then they developed a computer program to lead the robot through a labyrinth. This was realized with lots of enthusiasm by the girls.

At the end of the day a small contest was hold to find out whose robot was the fastest on the way through the labyrinth. Everybody was proud to reach the goal. The fastest group accomplished the task in 40 seconds. All in all it was a funny and successful day.