RoboCup: ER-Force vs. KIKS

Now, the second game ER-Force vs. KIKS starts.

First Half

05:00 The third match of the day between ER-Force and KIKS starts with a 25-minute delay. We play as the blue team with white covers, while KIKS is the yellow team with black covers.
03:29 Surprisingly, the game is flowing relatively smoothly compared to our first match. However, our fleet is diminishing. We started with 9 robots, but now we’re down to only 4.
02:52 Many dangerous situations in our half. Overall, the game is playing out much more in our half than in the opponent’s half.
02:26 Almost a goal against us! Good pass from a KIKS robot to its teammate, who shoots towards the empty goal, but misses!
02:08 After many other dangerous situations, ER-Force calls a timeout.
02:08 KIKS follows ER-Force’s timeout with a timeout of their own, significantly delaying the game.
01:49 Almost a goal by us! Our robot kicks across the field toward the opponent’s goal, the entire defense is open, but the goalkeeper makes the save.
00:31 The game is meandering along. Not many major actions on both sides.
00:24 Almost a goal against us! But the ball was moving at 8.4 m/s, significantly faster than the allowed 6 m/s.
00:15 Another dangerous situation. Our ER-Force bots are shaking their heads in frustration.
00:00 Half-time, finally. The first half was clearly dominated by KIKS, with no signs of the performance of a vice world champion. We need to step up, or we might get eliminated in the group stage!

Second Half

05:00 The game continues. The teams have swapped jersey colors at half-time: ER-Force is now yellow, and KIKS is blue.
04:09 At least we got closer to the goal, even though we didn’t capitalize on it: The pass into the opponent’s half sails past our robot, and it shows no inclination to change that.
02:22 Another shot on goal by KIKS, but our keeper makes the save.
01:50 Another shot on our goal, but again, no goal this time.
00:36 And yet another unsuccessful shot on our goal.
00:00 Objectively, the game ends in an undeserved 0-0 draw. In summary, we were very lucky. While we could defend the last match against Immortals with our current poor performance, we would have systematically lost this game if it had gone into overtime.

It appears that the issues with our robots are currently quite diverse:

  • The HBC radio communication doesn’t seem to be working properly. Everything seems fine during the practice slots when we have the field to ourselves, but as soon as a real game is played, the radio signal deteriorates significantly. It’s actually the radio communication, not the control system as previously thought, responsible for the overshooting of the robots and the breakdown of the lanes. Our suspicion is that we’re doing something wrong in the firmware and/or software since the HBC radio has proven to be extremely robust and practically indestructible in our experience.
  • The “battery cages,” which are the mechanical components that stabilize the battery in the robot, regularly break completely. These were designed for much lower forces, but the batteries are causing significantly higher forces during braking and crashes.
  • The motor boards, which are the boards responsible for controlling each motor, frequently fail when powered on. This issue has been known for a while, but the boards are remnants from the semiconductor crisis, meaning they are a patchwork of components that were available back then and are so expensive that we can’t afford to make new ones.
  • The tachometers often give nonsensical readings. This is likely because they are only supported on one side, causing them to vibrate during driving.
  • The current measurements sometimes return nonsensical values, causing the motor control based on them to only partially regulate the motor.

All in all, there are quite a few challenges that we need to address.

RoboCup: ER-Force vs. Immortals

Today is the day: the tournament begins. We start directly with the first match of the day in Division A against the now German team, Immortals.

The preparations for the game are already underway, hopefully with minimal delays.

First Half

05:00 The game is likely to start with a slight delay, but that’s quite usual at RoboCups, so everything is as expected.
05:00 With a 10-minute delay, the game actually starts. Surprisingly, there is very little delay for the first game of the tournament.
05:00 Kick-off by Immortals. Immortals is playing in black, ER-Force in white.
04:38 At the beginning of the game, Immortals dominates the field, with the ball mostly in our half. So far, the game isn’t very eventful, with frequent ball placements.
04:29 There seems to be an issue with the vision (the ball disappears at the edge of the field), causing the ball placements to fail. The game is paused until the issues are resolved.
04:19 A dangerous shot on our goal. However, instead of defending, the ER-Force keeper just watches. Luckily, the ball rolls past the goal.
04:13 ER-Force shoots the ball out of the field. It’s not a stellar performance from our team so far.
04:13 ER-Force takes a 3-second timeout, the reason is unclear. At least there are enough problems to justify it.
04:13 Remarkably, not much interesting can happen in a lot of time. Not a second has passed on the clock, and ER-Force calls another timeout.
03:54 After a failed ball placement, Immortals substitutes one of their players.
03:11 Almost a goal, but the game was halted at that moment, so the goal doesn’t count. It’s a shame, as based on the gameplay and performance, Immortals deserved a goal. The most visually appealing ball placement technique from Immortals is the “Cola kisses Orange,” where they grip the ball with two robots and push it to the target point.
03:03 Another missed goal. Apparently, the corner kick was too fast. It’s probably just a matter of time until a valid goal is scored.
02:29 Meanwhile, Immortals has received 4 red cards for ball placement interferences, while ER-Force has received 1. However, it doesn’t make a difference for ER-Force as they are currently playing with only 4 robots. The allowed number is 10.
01:35 There is actually some flow in the game, even though it gets interrupted every 5 seconds when the ball goes out of bounds.
01:08 Another invalid goal. At least the ball placements are now being skipped, making the game more fluid.
00:14 The ball is actually in the opponent’s half, and there are some interesting exchanges, but then the game finally reaches halftime. The most entertaining part of this game so far is the referee’s constant “Continue” when the ball goes out of bounds.
00:00 The first half already shows that there is still a LOT of room for improvement for our robots. Often, they accidentally collide with the ball, most likely due to poor control: while our AI sends reasonable movement commands to the robot, it executes them incorrectly. As a result, the robot deviates from its intended path and crashes or collides with the ball.

Second Half

05:00 The second half begins, with ER-Force now on the other half of the field with 4 robots, just like Immortals. The few robots are due to mechanical and electronic problems: battery cages breaking, motor cables designed too short and disconnecting on their own, motor boards failing.
04:46 And there are vision problems again, causing the game to be paused once more.
02:43 Some interesting game situations near our goal and a relatively uninterrupted game. But everything has an end, and the game is stopped again, much to the referee’s irritation, who doesn’t know what’s happening anymore.
02:43 Vision problems… but that’s how it goes in the first game of the tournament.
00:11 Unfortunately, the author had to briefly attend a team leader meeting, but probably nothing exciting happened anyway.
00:11 There seems to be a penalty shot. Currently, we are also at risk of winning 10-0 because Immortals has almost no robots left. If a team is unable to have at least one robot, they must give up, and the game ends 10-0 in favor of the opposing team.
00:00 With an attempted attack on the live blog author by the remaining robot of Immortals (the ball was shot out of bounds), the game ends after a fast-paced one and a half hours with a draw. Overall, there were constant hardware and control problems, which will hopefully be fixed by the next ER-Force game at 2:00 PM.

What can we say: new hardware. No one expected us to play like Ronaldo or Messi in our first game. Let’s hope that throughout the tournamentwe can regain our previous performance and deliver some exciting matches. Our team’s next game is ER-Force vs. KIKS at 2:00 PM.

RoboCup: Test Match ER-Force vs. Thunderbots

Before the actual tournament matches can begin tomorrow, we have another setup day today, during which teams can build and test their robots. Traditionally, these setup days are also used for playing friendly matches against other teams, and we have scheduled a friendly match with our long-time friends UBC Thunderbots (Vancouver, Canada) for 2:30 PM.

UBC Thunderbots is a Division B team that has existed for many years and has achieved numerous successes, including first place in Division B at RoboCup 2019 in Sydney, Australia. Our team has always had a close friendship with the Thunderbots, which is why we always try to spend time with them at RoboCup events.

Currently, the robots are still being set up on the field, and preparations are in full swing. Both teams are playing with new robots, ER-Force with 6 and Thunderbots with 5. And finally, it’s time to start. However, it’s not an exciting game: Our robots are suffering from significant firmware and control problems. Additionally, our tachometers are vibrating, resulting in poor measurement data.

All in all, not much happens in the game; our robots mostly stay in our own half of the field, and the game ends in a 0-0 draw. Nevertheless, the game serves its purpose: All the problems that occurred during the game can now be fixed in the hope that tomorrow, when it counts.

There was a small incident at the end: Apparently, one of our chargers was accidentally set to the wrong battery type, resulting in a battery being charged to 4.8V cell voltage, which is very dangerous. The battery was very warm and practically round afterwards. However, together with the league organizers, our team, and the security personnel, we managed to defuse the situation: The battery was put into a LiPo bag, which was placed in a metal cooking pot, and then taken out of the hall onto a free asphalt surface for monitoring from a distance. Finally, the battery was disposed of by firefighters.

All in all, we were fortunate in this case, but such incidents should not happen again. We can conclude that having multiple battery chargers simultaneously is not advantageous, as mistakes can occur more easily. We will likely invest in purchasing additional battery chargers to ensure that we only have one model in the future.

RoboCup: First Setup Day

Today is the day: we finally get to enter the hall. Accordingly, we set off early to catch the tram. The destination: Parc des Exposition. As we enter the tram, we are pleasantly surprised to see that RoboCup is actually advertising this year, a novelty! The RoboCup vibe spreads instantly, and everyone hopes that this time there might even be spectators!

But one thing at a time: first, we need to reach our destination and get inside the hall. Due to the political circumstances, we have to undergo a bag check, but apart from that, there are no further incidents, allowing our feet to touch the hallowed ground.

After unloading all our robots and equipment, we also try to pick up the event shirts. However, we quickly realize that it’s not as easy as it seems, as the hoodies and T-shirts can be customized this year. The creativity of our members knows no bounds, and we now have an official traffic light trio.

Freshly equipped with T-shirts and hoodies, we immediately dive into the important tasks: cutting out colored papers for the top of our covers (for the why, see this explanation), finalizing and setting aside the robots.

And just like that, it’s already noon, and it’s time to have lunch with our longtime friends UBC Thunderbots (Vancouver, Kanada). With the beautiful weather, there are plenty of options, as food trucks park outside the hall especially for RoboCup.

After lunch, we continue testing, and in the evening, we even get to test on the real playing field. Here, we notice that our new radio system, sponsored by Gerhard Schubert and HBC Radiomatic, runs smoothly, seamlessly, and without any signal interruptions, much to our delight. Our old radio system was quite unreliable, and we faced massive signal dropouts in almost every game.

However, there seem to be some firmware issues. Sometimes, when the robot changes its frequency (the new radio system is based on frequency hopping), the radio completely fails for the robot. But we are optimistic that we can fix this bug in our firmware.

And so, an action-packed first setup day slowly comes to an end for us. Unfortunately, due to the current political events, the last tram already departs at 6:45 PM, forcing many teams to leave the hall early. Although this does not affect us as our hotel is within walking distance, it is certainly disappointing for the other teams. We sincerely hope that the situation will improve in the coming days and that all teams will have equal opportunities to test their hardware in practice.

RoboCup: The second day

We continue our work on the robot on this day as well. Since the early morning hours, our team has been busy assembling the robots, soldering boards, and writing numerous lines of code for our AI. Robots constantly shuttle between the electronics and firmware teams, the sound of the mechanical team’s hand-held Dremel tool resonates throughout the entire floor, as does the continuous playing of “Never Gonna Give You Up” from the firmware room.

To give the team a little break, we have scheduled a journal club at 1:00 p.m., where all of our team members gather to discuss and determine the best publications from other teams. This is one of the tasks we must undertake as a team, as the “Best Paper Award” is awarded based on the votes of all teams. After several more hours of work, we finally transitioned to the relaxing part of the evening: cooking together and unwinding with a bottle of French wine.

It was quite fitting that we cooked pasta – after all, our robot generation is named “Pasta” as well. Thus, dinner was an homage to our metallic midfielder No. 9 – “Fussilli.”

Having been nourished, we are eagerly looking forward to tomorrow when we will finally enter the exhebition hall, and we hope to conduct some tests with our robots on the actual playing field.