Tuesday 18 July 2023

RoboCup '23 Review - Game 2, B-Humble

We knew we'd have to play against them eventually, and so our second game made good on that promise. A rematch from last year's final, the RoboCup groundhog day, it's

HTWK Robots vs. B-Human

We knew it was going to be a tough one, and it was. Still working on adapting to the new environment and it's lighting conditions, well, let's say this game laid out a roadmap of what we needed to do moving forward - an upside to having to play against a strong team very early on. If all went well after this, we could be pretty certain to see them again in the final.

This match also featured the visual referee challenge, Ayleen from B-Human tells us all about it at the beginning of the video.

I had already alluded to it - this game did not go too well for us, hence the title of this post. Not exactly shocking, but certainly always a bummer, it's an exercise in humility being reminded of the work ahead. At the end of the video, Thomas, one of our founding team members, gives us a little insight on what we needed to fix over the following days, in German!:

And yes, I will be refining my green screening technique and learn how to keep people in focus, I'm sorry Thomas!

Wednesday 12 July 2023

RoboCup '23 Review - Game 1, running towards the light!

Starting today, we'll take a look at the matches we had during RoboCup 2023. I'll call it RoboCup '23 Review for now, copyright pending. We filmed all our matches and of course, we want to make them available to you. Let's start chronologically:

From the Outback to the Outdoor Field

Match 1 against rUNSWift

The Australian team from the University of New South Wales (UNSW, hence the brilliantly punny name) is a force to be reckoned with. A third place at last year's RoboCup in Bangkok means a certain challenge - especially due to it being our first game of the tournament under less-than-ideal conditions. This time around, two fields were labeled Outdoor Fields and while we weren't granted some fresh air - too bad! - the lighting certainly put everyone through a stress test. The washed out contrasts between turf and lines was pretty disorienting for the Naos - the poor guys didn't even know where to look much less than where to shoot some of the time. On the plus side, the lighting made them look pretty metal before I figured out how to adjust my filming on the fly (for the most part):


 An incredibly unfortunate own goal (from rUNSWift's perspective at least) during the first half gave rise to some confusion - was it the refs fault? Was the rUNSWift player in question bribed? And what role did the fallen robot lying around play? Well, you'll have to see for yourself.

I also interviewed Mikhail, the team leader of rUNSWift - he'll give you some insight into what they were working on and what to watch out for before the video starts, he's a pretty cool guy!

During the half time break, there is another special treat: Our very own team leader Rico explains how rUNSWift had already lost the game on a technicality and how, at the same time, we still hadn't won.

So with no further ado, here is the entire video:

Sunday 9 July 2023

It's not over 'til it's over!

You know the drill: Finals, B-Human, one winner.
B-Human won both the quarter and semi finals 10:0, at which time the game clock stops (the so-called mercy rule), so we knew we had our work cut out. The game started with a bang, B-Human managed to score their first goal less than a minute after kicking off the game, followed by two somewhat lucky goals in quick succession. After this, however, our robots finally kicked into gear and provided exciting game play. B-Human's precise passes, our steadfast defense. Some lucky shots making their way through multiple robots across the field, an audience cheering every move. Half-time 0:3 - not too bad. The 2nd half started similarly strong, except for our goalkeeper who decided that watching the audience was a better use of it's time. The other field players however executed a full-on attack on B-Human's goal, keeping the ball inside their penalty area for several minutes. Unfortunately none of the robots managed to get the ball over the line. Then disaster struck: We somehow had used up all of our message budget (robots of each team are only allowed to send a limited number of data packets per game). Chaos. Our team wasn't able to talk to each other anymore, nobody knew who should go for the ball or defend the goal. B-Human instantly made use of the situation and scored one goal after another. 0:7, nearly 2 minutes to go. Time-out! What can we do (given 5 minutes of time) to not end up with the dreaded mercy rule? One striker, one goalie. They don't need to talk, just play for time. Change the code, re-deploy on 2 of our robots. go!
Did it work? Yes! Was it one of the most fun ways to delay the inevitable? Definitely! Our 2 bots tried their best. Unfortunately our striker got a penalty soon after and had to watch from the sidelines for much of the remainder of the game. This meant everything was on our goalie's shoulders. He realized that the other bot had been penalized, moved ahead towards the kick-off... whistle... play... and he turned around to do what we had programmed: defend the goal. Of course we hadn't thought about that edge case during the 5 minutes of time-out. This however meant that B-Human had to wait until the kick-off time was over before they were able to touch the ball; another 10 seconds gained. B-Human managed to score the 0:9, 13 seconds on the clock, another kick-off for us, another slightly confused goalie pacing back and forth inside our half. 3 seconds to go, B-Human is allowed to enter the center circle. They try, but it's just noch enough time. Game finished! 0:9, no mercy rule, mission accomplished. We're all super happy with the result and all the progress we made during the competition and are looking forward to the next time we meet all the other teams. We'll upload various videos for which we just didn't have enough time in the coming days, so make sure that you subscribe to our YouTube channel at youtube.com/htwkrobots to get notifications!

Semi Finals - Hell freezes over, shots have been fired!

We made it!!! After an extremely exciting and close match we won against HULKs from Hamburg. In the first half we played in the more difficult direction, having the sun right in our eyes. But still, when the initial kick-off happened, we deployed our new "secret weapon". Our striker aligned itself at the ball and... shot deep into the opponent half. A move we haven't done in many years, being know as the "dribbling team". The HULKs, surprised by our sudden change in tactics, scrambled to get to their defensive positions while two of our robots marched ahead to continue the attack. After an exciting minute of hard-fought battles between our offense and HULKs' defensive players we scored the 1:0. What happened in the remaining 9 minutes of the half? Just one exciting battle after the other, the ball moving back and forth, both teams getting advantages but each team's defense managing to fend off the attacks. With a slight advantage of 1:0 we went into the half time break, finally catching a breath. Before long, the second half got on its way and the exciting fights continued. With good chances on both sides we finally scored a freeing 2:0 after another 3 minutes of play. Soon however, the close continued fighting started showing its signs. Robots of both teams were close to overheating and had trouble keeping up with the pace of the game. Our robots seemed to fair slightly better allowing us to convert a few more chances for an exciting, yet exhausting 4:0. Our robots (and us) can now cool down and prepare for the final against B-Human at 1:30pm. You mised all the action or just want to rewatch this nail-biter of a match? Stay tuned for the video on our YouTube channel!

Saturday 8 July 2023

Hacking into the night

After our success in the quarter finals we continued fixing the last remaining bugs (just kidding, there will surely be more ;)) and also added a surprise feature for the last two remaining games tomorrow. We'll face a very strong HULKs team at 9:45am in the morning followed by either the game for 3rd at noon or the final at 1:30pm.

Our Quarterfinal Game was also our SPQR rematch- Down to the last second!

Oh what a great game our second match with Romes SPQR was! After the first half, we were already ahead with 4:0, which is already quite a lead! 

Then the second half went even better, ending the game with a nail-biting attack on SPQR. With only a few seconds on the clock, the ball was kicked over the goal line in the last second of the game, setting the score to 10:0! As this was our quarterfinal game, we are happy to announce to see you tomorrow for our semifinal!

Mastering the group phase – Let the Kick-Offs begin!

Suspenseful matches and critical bug fixes on the fly marked our group phase of this year’s RoboCup. Still, we consider the first half of the competition a net positive since we won all of our matches except one.

The first game against our Australian colleagues from rUNSWift ended 3:0 for us. This match made us painfully aware that our robots have major problems standing back up and walking smoothly on the artificial turf. The stark lighting differences across the field didn’t help either.
These issues also appeared in our second match against our old-time rival B-Human which we had to conclude 8:0. However, it was a match of 5 against 7 since all our other robots were getting their injuries treated at the Nao Clinic – that softened the blow a little.
So we went into the night with many tasks on our hands: improving the walk, creating a new stand-up motion, rethinking team strategy among others. Throughout the next day, we applied more and more fixes to our code, and we were rewarded with a 7:0 against our friends from Frankfurt – the Bembelbots.
On top of that, we managed a 4:0 against the Italian team SPQR in a truly spectacular match. Not everything ran smoothly (and of course we found more bugs) but we saw a steep increase in our robots’ performance. Shoutout to the HULKs who kindly lended us one of their best robot-bodies for the second half against SPQR after one of ours got badly damaged after a referee dropped it. The solution was quite easy – detach Deep Impact’s head from the damaged body and frankenstein it onto the HULK.

Today was the last game of the group phase, which we played against NomadZ from Zürich. With the newly implemented stand-up motion and 6 robots on the field, we managed to win the game 6:0. However, we discovered some problems with balancing, localization and line detection. All in all it seems like we are establishing a tradition: starting the RoboCup with major problems but improving our software over the following days to establish a reliable game play – a true Turniermannschaft. With confidence, excitement and a long list of To-dos we're looking forward to the hot phase of the competition – the Kick-Offs!

Upcoming: Quarter-final vs SPQR at 16:30

 Later this afternoon, at 16:30 we will be playing in the quarter-finals agains the SPQR-Team from Italy. Join us live here: https://www.youtube.com/watch?v=HR9bmxi4EQ4. Seeing how the game we played yesterday played out, we anticipate an interesting match.

2nd Day - Recap

 On our second day of competition at RoboCup2023 we had 2 games to play. The first in the not so early hours of the morning against our friends, the Bembelbots from Frankfurt. This game was packed with action and blinding light from the sun. In the end we managed to win this game 8 to 0.

Later in the afternoon we had a thrilling game against the SPQR-Team from Italy. In this game we could witness great defending, beautiful dribbling and a missed penalty kick. This game was closer than the one in the morning at 4 to 0 for us.As for every game, the edited match videos will be uploaded to our Youtube channel in the following days. https://www.youtube.com/channel/UCtF1RHsnDRkqDocerRjvfAQ

Thursday 6 July 2023

Game Day 1: Recap

 Sooo let's quickly recap this day:

First, the good news: we won our first match against the Australian Team rUNSWift 3:0 and successfully competed in the Dynamic Ball Handling Challenge.

Then the not so good news: We lost our second game of the day against the very strong competitor B-Human from Bremen, Germany with a final score of 0:8. We want a rematch. Today! Right now! Or maybe, more realistically, on one of the next days of competition, which is fine too.

Still, we look forward to the next days of competition and will continue to improve our strategy and software, the next game will start tomorrow at 11am - against our friends from Frankfurt, the Bembelbots!, so stay tuned for that! 

All games of the day will be uploaded to our YouTube Page, with additional Information and Interviews, see you tomorrow for another exciting day of robot Soccer action!

First Match against ruNSWift won, next game against B-Human today at 6pm

 We won our first game of this year's Robocup in Bordeaux! After a good first half with one goal for us, there was a package violation on ruNSWift's side, deciding the game in our favor and making the second half more like a test or training game. 

Nonetheless, an important step in this competition and in the limited time of the Robocup a much appreciated training session for our team! The cut video, containing interviews with team members of both competitors, will be live on our YouTube channel soon!

The next game of today will be against B-Human, there will also be a video of the game on our channel. 

Also: Today we will compete in the Dynamic Ball Handling Challenge, which is all about passing the ball precisely over long distances

Game Day 1 - First Match: HTWK Robots vs. rUNSWift from Australia at 11:15am!

Today is the first game day and the matches have already begun! In our first match, we'll face off against rUNSWift from the University of New South Wales in Syndey, Australia. Unfortunately, there is no live stream on the outdoor field but not to fret: we're capturing everything and are even including a short interview with Mikail from rUNSWift as well as our own review and analysis!

Wednesday 5 July 2023

RoboCup '23 | Kicking Into Gear | Our Trailer for Bordeaux!

We also made a trailer for our adventure in Bordeaux. Of course, there will also be footage of the games starting tomorrow!


RoboCup 2023 in Bordeaux - We made it here, now let's see what we can do!

A day's worth of train travelling, abandoned luggage, the subsequent terror warning and the just about baaaaaaarely avoided threat of having to stand for 2 hours from Paris to Bordeaux can't dim our sparkle:

We. Are. Back. At. RoboCup!

That's right, one year after last year's showdown in Bangkok we're back! Not necessarily with a vengeance, but with a deep commitment to climbing back to the top and a vivid memory of a spectacular run but losing the final. If that amounts to being back with a vengeance, then that might be true, I can't tell. Either way, we were certainly busy these pasts months: adding new functionalities, optimizing what we already had and even building our own training machines. Our team has also noticeably grown over the past few months and that strength is certainly coming in handy now - as per usual, we are moving heaven and hell: our schedule certainly is tight and our ambitions ever so high. Will we be able to transcend our previous success? Well, let's take a look at some of what we got:

And the league said There shall be a larger team and the teams said Okay

"This year's updated rules called for a complete overhaul of our team strategy", says Rico, our team leader: "The constantly decreasing data budget during game play isn't a new development but having to coordinate seven robots on the field is certainly more than just a incremental adjustment". With fourteen robots on the field there is bound to be some rough play - something we're well acquainted with. Running dynamic maneuvers, making interdependent decisions within the team - a sizable project but indispensable for a successful tournament. We can be sure our competitors won't just be skipping this part. But with our reaction times shortened and our communication channels streamlined, we are now more efficient than ever.

Resurrection of an old friend

Another major improvement takes us back to our roots: something as seemingly simple as walking remains an integral part of a successful RoboCup campaign. Sleep on improving your stability and speed and you’ll wake up on the ground – struggling to get up, struggling to pay for repairs. Hence, optimization on this end has to be done with special attention to robot safety. We built a special contraption to aid us in this, long time followers might remember it’s spiritual predecessor.

Tobias, who worked on the walking optimization and designed it in a way so that it can be operated remotely explains how we approached the project: “We’re using a black box optimizer, building on substantial advances in research of the past years. Our System tests out various parameter sets and we’re sending back feedback on how successful this attempt was. In this way, our program learns interdependencies and explores the parameter space.” Thomas, who designed the first ever walking algorithm for our team, adds: “We’re mainly focused on stability here. Speed is another option, but it’s always a trade-off”.


Right now, we’re on day 2 of preparation and test games are being played all around us before the actual RoboCup starts tomorrow. Stay tuned!