RoboCup: Final Report

Now that the RoboCup is already a few days behind us, we’d like to take the opportunity to review the tournament.

Overall, our team was very well prepared, having all the electronic and mechanical components with us, allowing us to respond adequately to every situation with our equipment.

While it’s unfortunate that we ultimately lost due to our radio communication, everyone is already looking forward: Our sponsors Gerhard Schubert and HBC-radiomatic are already offering to address the existing issues with the radio system, so we can soon showcase our full potential.

We’re also looking ahead: Not only are we preparing for the arrival of a team from Uruguay at FAU at the end of July for a joint workshop, but we’re also planning improvements. While nothing works without radio communication, our motor boards have also posed problems. A robust solution needs to be in place by Christmas.

There was a small moment of joy at the end of the tournament: We quickly had the opportunity to take a photo with our friends from TIGERs Mannheim to compensate for the missing match against them.

In the end, we’re happy that the vacation, apart from the unfortunate theft of personal belongings, went very well, and everyone enjoyed it. The wine museum in Bordeaux, the beach holiday on the Atlantic Ocean, or the French National Day in Paris: Many beautiful moments will remain in our team’s memory, making our time together truly unforgettable.

So, there’s only one thing left to say: See you all in Eindhoven 2024!

RoboCup: ER-Force vs. Immortals

Now it’s time: Our possibly last game of this tournament. We’re playing against the team Immortals, which has already performed brilliantly against TIGERs Mannheim. We’re tense but also relaxed, knowing that we’ve done everything in our power.

By unanimous team decision, our robots have all been retrofitted to the old radio system. Only if everything is on fire will we switch the low numbers to the new radio. Additionally, we’re going into the game with a heterogeneous fleet of old and new robots.

You can find the link to the live ticker as always on the YouTube platform of Twente or under this link.

First Half

05:00 The game will be kicked off soon. We’re playing in white shells as the blue team, Immortals is playing in black shells as the yellow team.
05:00 The game starts with a 7-minute delay at 15:37.
04:42 Apparently, the kick-off isn’t going well, there are constant ball placements and free kicks for Immortals. However, they’re not making use of these free kicks.
04:19 Dangerous situation in our half. Currently, Immortals seems to be playing more stably; we’re defending more through physical presence than through clearances or passes. Also, our robots are moving quite strangely and are therefore not really able to play the ball.
04:18 Immortals take a timeout. One can only speculate why they need this. One noticeable thing was that they always missed the last meters of their “Cola kisses Orange” ball placement maneuver. At least it doesn’t seem to be a hardware timeout, as the robot handler is not on the field.
03:46 And thus, the inevitable happens: A goal against us by Immortals. One of the Immortals bots shoots from the corner towards the center, where his teammate shoots on goal from an acute angle and scores.
ER-Force 0 : 1 Immortals
03:19 Currently, Immortals is clearly dominating; the ball hardly reaches the opponent’s half. The only reason we’re not conceding more goals is that we’re overwhelming our defense with quantity rather than quality: Many robots in our own penalty area. But how long can we keep this up, and how long can our robots handle it?
03:11 Timeout for Immortals again. Apparently, Immortals is also getting a penalty against us. Given the number of fouls we have, this is not surprising; after all, we have two yellow and even a red card. If we get one more card and thus reduce the allowed number of ER-Force bots to 7, we would actually feel the reduction! A novelty for us, as we usually have so few robots that the reduction never affected us.
03:11 Since Immortals didn’t implement a penalty, they seem to have opted for a corner instead. An arbitrary decision, but whatever.
02:20 The game is primarily being played in our penalty area, but no goals are being scored at the moment.
01:49 By now, we already have 2 red cards and a nearly expired yellow card, which means that with our 7 robots on the field, we’re close to the allowed maximum of 8.
01:45 Timeout for ER-Force, presumably related to the radio system.
00:51 We’ve discovered a drawback of “Cola kisses Orange”: When the ball is right on the goalpost in the goal, the two Immortals bots, one on the left and one on the right of the post, try to squeeze the ball together but don’t realize that a post is in the way, so they keep trying over and over again. Quite entertaining.
-00:31 With that, the first half ends after about 40 minutes. In summary, we’re doing better than in the previous games, but still terribly. We hardly manage to get a shot on goal, as our robots are mostly misoriented and their “snouts” are not facing the ball. At least we had a good number of robots on the field, but the radio problems were constantly noticeable.

Second Half

05:00 The second half is kicked off.
04:42 The game starts off excitingly: Our Erhard takes the initiative and rushes directly into the opponent’s half. He even manages to reach the penalty area, but he can’t score. However, Immortals seizes the opportunity to launch a dangerous counter-attack, which we fortunately manage to defend against.
02:54 OK, that was unexpected: It’s our Erhard again who takes the initiative: Initially, he races forward to engage in a duel with the opponent, but due to wild spins, he doesn’t gain the upper hand at first. But then he finally manages it and kicks towards the goal: But the post! Of all things, the post! We didn’t need that, very unfortunate! But great effort from our Erhard, our number 2, for the team.
02:02 I’m starting to get the feeling that they gave our goalkeeper, number 10, a better radio (quite realistic, as the new radio only works with a single bot). At least the keeper saves balls fantastically, clearing a dangerous situation. But the number 3 also shines. Commonality: They’re all old bots, and everyone else is new.
01:35 Another timeout for ER-Force, probably primarily for radio adjustments again.
01:04 Again, lots of duels in our half, but the situation ends harmlessly.
-00:13 One last struggle and a few final attempts, again from Erhard, but unfortunately, we can’t change anything about it: The ball ends up out of play, and the game ends 1-0 in favor of Immortals. Thus, we’re eliminated from the tournament.
00:00 Although it’s disappointing that we’ve been eliminated from the tournament and that our radio had such problems, we’re at least glad that we could offer a much better resistance than in the previous games and in the second half, we could present some good game situations.

RoboCup: RoboDragons vs. ER-Force

After finishing in 3rd place in our group during the group phase, we’re now playing the first game of the knockout phase. Unfortunately, SRC couldn’t participate in the tournament due to VISA issues, which has made the schedule somewhat strange, so we’ll have one more game after this one regardless of whether we win or lose.

You can find the link to the live ticker as always on Twente’s YouTube platform or at this link.

First Half

05:00 The game begins. We’re playing in blue with 8 robots, and RoboDragons are in yellow with 8 robots as well.
04:02 Surprisingly smooth gameplay so far. However, some robots, including our 9, are mostly motionless on the field. Soon, they and another robot are taken off the field, leaving us with only 6 robots.
03:02 Intense battle in front of our penalty area. Unfortunately, this battle ends successfully for our opponent, and it’s 1-0 for RoboDragons.
RoboDragons 1 : 0 ER-Force
02:54 And now, there are only 4 robots left.
02:43 The game is primarily taking place in our half, although “taking place” is an exaggerated expression, given the limited playing time.
01:53 Unfortunately, there are fewer new ER-Force robots and more old ones because the robots are having problems with the new radio equipment.
01:39 Attack on our goal, but our goalkeeper managed to catch the ball and chip it away.
01:29 And another goal for RoboDragons, making it 2-0 now. We’re also playing with only 3 to 4 robots.
RoboDragons 2 : 0 ER-Force
00:50 Minor interruptions in the live ticker, as we’re currently busy soldering so much that there’s no time for updates. We’re trying to fix the radio issues with the old robots to replace the new robots with old ones. It’s a shame, but there’s nothing we can do.
00:50 Unusual interruption of the game: lizard on the field. It takes a few seconds to catch the lizard and peacefully remove it from the field.
00:05 And another goal against us. Initially, the goalkeeper defended very well, but then he simply stood still and let the ball roll in.
RoboDragons 3 : 0 ER-Force

Second Half

05:00 And the second half kicks off.
03:30 Another goal is scored, making it 4-0 for RoboDragons. Considering that we’re playing with very few robots, it’s highly unlikely that we’ll recover from this deficit.
RoboDragons 4 : 0 ER-Force
03:30 At some point, another goal must have been scored, so it’s already 5-0…
RoboDragons 5 : 0 ER-Force
00:00 At some point, the sixth goal is scored; the exact timing isn’t clearly visible in the stream. The game ends 6-0 in favor of RoboDragons, and we move to the lower bracket of the tournament.
RoboDragons 6 : 0 ER-Force

Overall, it’s very unfortunate that we’ve had so many radio problems. This meant that we played with a significant numerical disadvantage, making it disproportionately difficult to hold and defend goals.

We’re now trying to switch as many new robots as possible to old radios, although this is somewhat frustrating. We’ll see tomorrow at 2:00 PM in our potentially final game how well we manage and if it makes a difference – after all, our old radio wasn’t very good either.

RoboCup: ER-Force vs. ZJUNlict

At exactly 09:00 AM, the tournament continues with its second day, and our match ER-Force vs. ZJUNlict. After ZJUNlict arrived yesterday afternoon due to VISA issues, their first game against Immortals initially seemed as if they couldn’t match their previous performances in past tournaments. However, after their test match against TIGERs Mannheim in the evening, it was clear to everyone: Those were just initial hiccups, ZJUNlict is playing at a world-class level. Accordingly, we’re eagerly anticipating today’s match.

You can find the livestream of the game as usual on RoboTeam Twente’s YouTube platform, as well as at this link.

First Half

05:00 The game starts in half an hour. Currently, the field is being vacuumed to avoid any disturbances from lint. There’s little visibility of the lines on the field, but fortunately, this only affects humans: The robot software has already been calibrated to the lines before the tournament, so no further adjustments are needed.
05:00 A beetle just crawled into our Robot 2, but no one seems to care. Looks like the hardware still has a bug.
05:00 ER-Force is playing with their white robots as the yellow team, and ZJUNlict is the blue team.
05:00 The game is kicked off with a 23-minute delay.
04:59 And a timeout for ZJUNlict right away. They seem to be facing hardware issues.
04:15 At least the game is running. However, neither of the teams is shining currently. Both teams seem to be having some issues with the radio communication.
03:43 Attack on the Erlangen goal, but our goalkeeper can hold it.
03:36 Expected goal by ZJUNlict. Our goalkeeper seems to be having radio communication problems, as he’s not moving at all.
03:36 Timeout for ER-Force, looks like they’re replacing robots, probably hoping to improve the radio signal for the goalkeeper. The goal has personnel consequences: A new goalkeeper is brought in, the old one is now getting a talking-to. Additionally, the new goalkeeper is being tested thoroughly.
03:36 Actually, apparently no goal! The ball was shot too quickly, so lucky break for us!
02:58 Right now, the game seems to look better, ER-Force bots can actually attack. However, the shot on the opponent’s goal is saved by their keeper, a bit clumsy though.
02:30 Currently, the game is more in the half of ZJUNlict. There are even passes now.
01:54 Apparently, there’s another discussion with ZJUNlict, which is why the game is currently not continuing.
01:54 ZJUNlict seems to have used a challenge flag, meaning they have questioned the referee’s decision. Background: Since we messed up ball placement too many times, we’re not allowed to do any more ball placements, and ZJUNlict will handle all ball placements instead. If they succeed, they get to kick off in any case, even if they kicked the ball out, otherwise, the team that didn’t kick out will kick off. There were apparently incidents during the ball placement, which resulted in ZJUNlict receiving a yellow card. They are now disputing this decision.
01:22 ZJUNlict has collected enough fouls, so they now have a yellow card. This card is active for 2 minutes. During the yellow card period, the team can have one less robot than the normal limit (11). However, since both teams are currently only using 7 robots, the yellow card has no real impact.
00:59 Attack on the Erlangen goal, but the ball can be cleared via a corner kick.
00:12 Our robot actually wins a duel against ZJUNlict, which is a good performance given their drill-like dribbler. But the following attack goes nowhere because our robot can’t control the ball.
00:00 Halftime, it’s 0:0. Towards the end, the game became somewhat more interesting, although it still doesn’t reach the level of quality we hope for. Both teams still seem to have significant hardware issues.

Second Half

05:00 The second half starts with a timeout for ZJUNlict.
05:00 Good kick-off by ER-Force, unfortunately not further capitalized, so the ball is held by ZJUNlict.
04:35 By now, the game is somewhat fluid, although the real excitement is missing. Here and there, double passes can be seen, overall the robots are playing quite confidently again.
04:08 Robot 12 (Lasagne) is causing problems in our goal, so it’s taken out briefly but then placed back on the field.
04:01 Timeout by ZJUNlict. With this timeout, ZJUNlict has used up all their minutes, so they are not allowed to take any more timeouts until the end of the game. Each team gets 5 minutes of timeout during the game and can split these into 4 timeouts.
03:40 Very dangerous situation for us: A shot on goal by a ZJUNlict robot, and our goalkeeper doesn’t react. Luckily, the shot goes just wide of the goal, but that could have been the decision maker. Maybe we should put an old robot in goal?
03:07 Another attack on our goal, but this time it’s saved. How long can we hold on?
02:28 The game is dragging a bit, not much exciting happening at the moment.
01:23 Self-inflicted goal. Attack from the side, but fortunately, the ball stays in the penalty area. However, instead of chipping it away, our goalkeeper slowly rolls the ball into the mouth of an opposing goalkeeper, who gratefully accepts this gift and converts it into a goal.
ER-Force 0 : 1 ZJUNlict
01:15 Unbelievable! An own goal by us a few seconds later! ZJUNlict contributed to this, as they naively dribbled with their kicker instead of just chipping it away. This is how the own goal in yesterday’s game TIGERs vs. ZJUNlict happened: Keeper dribbles, loses the ball, and it rolls into the goal due to spin.
ER-Force 1 : 1 ZJUNlict
01:01 Just let it roll through, that was the motto of our robots. Instead of stopping the ball, it rolls past all our bots towards the goal, but at least our goalkeeper decides to clear it with a chip kick.
00:34 After the game had been dragging on for a few minutes, there’s now a successful counterattack by ZJUNlict following a throw-in by ER-Force. The ball rolls successfully into the goal, so it’s likely to be 2:0.
ER-Force 1 : 2 ZJUNlict
00:34 Apparently, the goal is still being discussed, as ZJUNlict might have dribbled too far, which would be against the rules. Funny thing: Our team isn’t discussing it; we seem to have already accepted the goal. The discussion is only between the referees. In the end, the goal is accepted.
00:21 Another shot on goal, but this time the ball is moving at 7 m/s, which is too fast. The maximum allowed is 6 m/s.
00:00 Thus, the game ends. It wasn’t really beautiful, but not as ugly as the two games yesterday either. There’s certainly still plenty of room for improvement.

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.