Friday 26 July 2024

RoboCup 2024: Vice World Champion of the Standard Platform League!

After 7 days of all-out programming, trouble-shooting, new-things-trying, bug-fixing and yelling at inanimate NAOs we have done it once more and defended our spot among the top teams of the Standard Platform League!























Arriving in Eindhoven, we were thrilled to find out what this year might have in store for us. Rico and Stefan had been in the lab for a week developing new approaches and fine tuning others but we knew that there was still a lot to do before we could get started on Wednesday with our first match. So we got right to work!

 


And oh boy there was a lot to do: We taught the robots to cooperate with humans calibrated the lower camera, put together the whistle detection, localized us on the field, made the robots go through matrix after matrix to find the most elegant way around the ball, whispered to the robots and got the whole gang up and running, designed our poster that we certainly didn't put up at the very last minute and literally so much more!
























































And finally, when Wednesday rolled around, we had our first match of the tournament against B-Human. Being forced to realize that we simply needed more time, we left the field losing 0:8. Exposing the weaknesses of our new innovations, at least we knew what we had to do - is that a good excuse? Not really, but oh well, losing the first match of the tournament is hardly an omen; we usually develop our code quite significantly over a tournament week - starting on a high note would have certainly been nice, but we're experienced enough not to get discouraged.


Along with the first game days we also participated in this year's Technical Challenge: Shared Autonomy. For this challenge, we were not allowed to look directly at the field: operating one robot remotely, you had to rely on the sensor data streamed onto your laptop - no easy feat, especially if you have to coordinate yourself with an autonomous robot on the field at the same time - not to mention the other team trying to thwart your maneuvers!

On an entirely different note: URG surprised everyone with the official announcement of the NAO v7: new sensors, more computational power, more more more. At the same height, however, we'll have to figure out for ourselves if we can get those little humanoids to run more smoothly than previously possible on the v6.




Making our way to Saturday afternoon, we finally got to the end of the Group Phase 

 

No bad result at all but B-Human's dominance was as  clear as ever. Maintaining a perfect goal balanced, they were absolutely on their A-game. To our great relief, the draw for the Quarter Finals told us that we'd meet them again no sooner than the final - should we make it that far. Last year's third place rUNSWift made quite the comeback for their last games: winning the play-in against Berlin United, they obviously didn't get too much sleep. We left our match against Berlin United 0:0 and rUNSWift hadn't been able to win a game thus far - all that didn't go unnoticed. However, we ultimately prevailed with a strong 6:0.


The Semi Final against the HULKs was quite the nail biter - the match could have gone either way! We secured a spot in the final after a 2:0, leaving the HULKs to battle it out against RoboÉireann for the third place.

For the final, well, what can I say, it didn't work out - quite the opposite, actually. B-Human delivered an excellent performance and deservedly won the title. Their long passes and balanced team play led them to an overwhelming 10:0, triggering the immediate end of the match.

Winning silver we are once more capable of saying that we are the second best team in the Standard Platform League! With this incredible achievement there was only one thing left to do: PARTY!


Exhausted and happy, but weirdly enough energized at the same time for another RoboCup year, we left Eindhoven and made our way home, already looking forward to next year, to RoboCup 2025 in Salvador, Brazil.





Wednesday 17 July 2024

Group Phase Day 1

Did you notice how I just obscured that I did not post for 2 days after the Day 0 update? To the untrained eye, it might even look like we weren't so incredibly busy that we had enough time to write blog posts. But like any good deception, there's hopefully just enough truth to it to keep you reading further. Specifically, the matches have indeed just begun and we just played our first match against B-Human, our eternal adversary. Statistically, we managed an ~11% performance increase going from a 9:0 loss at the Bordeaux final to an 8:0 today, if you ignore the German Open, that is.

Oh well, there is no nice way of saying it: That was pretty terrible. Robots fresh from the NAO clinic were still a little shakey on their feet, maybe the meds hadn't worn off just yet? Either way, we sent them right back after the fact. Additionally, our most recent changes did not work all the time - 3 own goals in the first half are a troubling sign of underlying issues, we're on it!

Either way, see for yourself (if you can bear it)

The Green Screen interviews at the beginning of the videos are back and so is the voice over. Eileen tells you about her team B-Human and our very own Tobias provides insights to help you follow along. 

In the spirit of doing too much and going for the imaginary social media world champion title, we also added a quick little interview with one of the B-Human developers from the half time break - on the exact turf where the first half had just ended seconds before!

 


Game 2 with the Bembelbots
&
Techincal Challenge with Lennart

For round 2, we'll be facing off against the Bembelbots from Frankfurt later this afternoon, who are sitting right behind us in the team area. 

 



After that, we'll head straight to the area for the Technical Challenge, where Lennart, our youngest teammate at just 15 years of age, will put his skills to the test in the Shared Autonomy Challenge. 


Monday 15 July 2024

Day 0 (but we're counting upwards so it's really just the beginning)

 

Genießen Sie Ihr Leben in vollen Zügen

RoboCup 2024 – we’re going to Eindhoven! Today, with palpable exictement in the air and lots of heavy equipment in our bags, the day had finally come – catch the train to Frankfurt – Düsseldorf – Herzogenrath – Heerlen – Eindhoven each time switching into a slower train. The last one felt like it was going backwards through the station, but that might just have been us – excited about the week ahead, we just couldn’t wait to get there. But apparently, we were not alone in that. Some trains Eindhoven-wards were so overfilled, they looked more like a RoboCup match with horrible lighting conditions in Round 1: everyone is really crowded and stumbling over each other, packages are getting lost everywhere, nothing is moving and the people in charge are trying to make sense while making sure noone breaks anything. We took one good look and knew – we’re better off taking the next train. That turned out to be the right idea – in the end, we arrived at the main station faster than otherwise. We were immediately greeted by RoboCup flags and posters everywhere! Eindhoven seems to be just as excited as we are.






Having made it to the Hotel, we quickly unpacked and went out for dinner and some final inspiration before the cup in form of the European Championship title match between Spain and England. Fun Fact: Our signature kick-off move is conincidentally identical to the back pass maneauver by Real Madrid. A case of true convergent software evolution! And the Spanish must be doing something right! So if that’s not a good omen, I don’t know what is!

Tomorrow, we’ll start our first of two set-up days before matches commence on Wednesday. The technical challenge concludes on Friday and the Main Round of the Champion’s Cup will keep us busy on the weekend. We’ll post the schedule, links to the live stream and more updates as we get them!



Monday 1 July 2024

RoboCup 2024!

 

Ohne Holland Nach Holland Nach Noord-Brabant fahr'n wir zur WM!

    As the UEFA Euro Championship slowly but surely draws to it's climax, we're just getting started! On Sunday, July 14th, we're heading to Eindhoven for this year's RoboCup. The sting of last year's 0:9 final against B-Human was memorably unpleasant, at the German Open in April we managed a 4:1 against the northeners which isn't exactly a win, I know, but it didn't go unnoticed that we applied a considerable amount of pressure and ruined their perfect score balance, ha! In case you missed it:


 But yes, losing by a smaller margin is less bad but obviously not enough to dethrone the reigning world champion. So the question persists: What do? Let's highlight two innovations:

What's the T, Roboboy?

    Self-localization on the field is one of the principal problems of robofootball If the NAO doesn't know where it is, there is not much that can come from that. And if the robot communicates the wrong position, the break-down in efficacy just cascades through the entire team-strategy. Our new solution: finding T-shaped line sections on the field to boost the network processing the camera images. Sounds easy, right? No? Well, matter of taste. Oh and that means of course that you need to differentiate different kinds of T-lines, light conditions change all the time so color is strongly relative, the resolution is not exactly full HD and the images are tiny. So I guess it's actually quite tricky, nevermind. Did I mention that you need a substantial amount of training data? But the idea is very promising and our Machine Learning expert Tobias reports great results so far, so that's something to be excited about! We'll report how it goes!

Beep Boop, Baby!

    Another novelty is a true wild card - we've been working on a new communication protocol - using sound! This seemingly obvious choice for making yourself understood - humans have overall been relatively successful with that - comes however, with several caveats if you're talking robots. Whistles, referees, a rowdy crowd and a constant backdrop of chaotic noises from the robots themselves create a perfect storm of interference, so we had to get creative. The idea: if the interferences mainly consist of human-discriminable acoustic patterns - we need to pivot to physical properties that operate on an entirely different level: in chaotic interference, structured interference patterns are uniquely... unique. Spectacularly enough, quantitative musicology has quite a few things to say about that. Throw some symbolic communication strategies from theoretical linguistics into the mix, add a little dynamic data compression et voilá: Let's hope it works, fingers crossed! More updates to follow!

 

But wait, there's more!

As we get closer to the RoboCup, I'll post more about what we have been working on. 

Up next: This year's technical challenge Shared Autonomy: 2 against 2, one team fully autonomous, one team half autonomous, half human-operated. Will the humans and robots really work together? What could go wrong? Who will tell science-fiction writers that we're really starting to catch up?


Friday 3 May 2024

Lange Nacht der Computerspiele - A Night of 1000 Computer Games!


And it certainly was that - a long night! Even though technically only on Tokio time (2pm to 11pm german time), the (more faithfully translated) long night of computer games was a lot of fun! We set up a small piece of Green and had some robots run around - operatable via laptop. And of course, we never tired of repeating (gebetsmühlenartig, if you will) that during game play, the robots are fully autonomous. Unfortunately, we had so much fun, we just about forgot to take pictures of our own! Luckily, the HTWK PR team was well equipped to compensate for that!

But what did you just see there? A Green Screen? Indeed! We developed a new attraction where you can enter the world of our robots - even if just for 1 (one) frame - we're still working on the fully immersive implementation! What's more, we were spontaneously interviewed by TV people - live! in real time! Can you believe it? Picture this: Our attending professor Jens Wagner just walked up to one of our team members, quickly pulled him aside, murmured "TV! live! smile! improvise!" and seconds later - we were already on the air. But it all went well. I'll post the broadcast as soon as I figure out, where it actually aired - it all happened so quickly, but I guess that's showbiz, baby!


We're also very happy to welcome several new team members into our midst. They approached us during the event and by the publishing of this post (sorry for the delay!), they had already visited the lab on their own and started working on our introductory tasks. You, dear dedicated reader of this blog, are of course well aware - there is a lot to do, so we're happy about all the help we can get!


Thursday 2 May 2024

And so it ends...

 

Here's the 2024 RoboCup German Open final - we worked hard and fought even harder, and the results are noteworthy - we now know what to do until the World Cup in July!

What do you think we should work on next? Let us know in the comments below!

Saturday 20 April 2024

Finished the German Open? - check! Had fun? - check! Won the title? - well, check again.

Stay tuned for the release of the finale tomorrow. We played against B-Human and unfortunately lost 4-1. But hey, what was that? four to one (1)? Yes, we struck a goal and had 2 other major chances, but in the end it was just not enough. But does that mean we can turn the tides over the next three months? Only one way to find out, you know it!

We'll upload the final as soon as we can, we'll update you here, but in the meantime. Check out the entire German Open 2024 Playlist! [Link]




Semi Final - That's some high-risk heart attack stuff right there!

 


If playing against the HULKs is establishing itself as a new ritual, we probably all need a new cardiologist soon. Like in 2023, the game was full of suspense, robot-battling robots, laughter, groaning, shouting (at referees *cough) ... but goals, too? You will find out by watching the video ;)

You can count on the HULKs to deliver a really worthwhile and entertaining spectacle when we're up against each other! They are a great team that, no doubt, plays at our level and would beat us if we don't pay attention. You can watch the great development of our gameplay from 2008 till today - from searching the ball for 10 minutes straight to dribbling and passing across the whole field. With that, the matches mature and become more and more dynamic and in our match against the HULKs, we depended on every last thing we ever developed. And yet - right up until the end, you can never be sure: Will it have been enough?







A Rematch! A Rematch!

 

The news is out - last year's spectacular and nerve-racking semi final is bound to get a sequel!

Having fought our way through 5 group rounds, great ups and, well let's call them 'memorable' downs, we made the cut and the opponent du demain (well at least the first one, that is) could hardly be more thrilling and daunting at the same time: the HULKs from Hamburg. So we got our work cut out for us. We collected a whole lot of data with Eindhoven on our mind but that certainly doesn't mean that we're not going to try whatever is possible (and maybe even then some!) to win! If you, dear reader, can't remember the showdown battle royale of Bordeaux, check out the Youtube video I linked on the bottom of this post.

 


Living la Vida Loca

Well, it's a never ending story. In order to get where you want to go, you need to know were you are. Maybe even where you came from in the first place, but that's bonus information for reasonable people who have their life together and actually know how taxes work. For a robot, there are much more fundamental concerns:
  • When do I turn my head and how fast?
  • Where is the ball?
  • Where am I and if I'm not alone - how many of me are there?
  • Am I unique if and only if I occupy a unique agent state?
  • What is love?
  • Where is the ball?
  • Baby don't hurt me.
  • What is that line over there?
  • Where is the BALL?

 We got into the finer details of localization logic. For instance, as I teased in the first blog post, we're now looking for the ball while getting up under external assumptions where the ball is most likely to be found. Robots that get a lot of action als tend to need a lot of time face down on the field - but falling can be messy and the NAO is not famous for its gracefully feline intuition. So what do? Well, in addition to our revised ball search after the fall, we've tweaked and calibrated various parameters when to - and crucially, when not to - look for the ball. A striker usually doesn't need to run all that quickly, as long as he's consistent; but more control could mean losing the ball less since dribbling would be more precise and we could avoid unnecessary ball-searches. A robot can spontaneously lose sight of the ball, and adjusting the window of blind trust can be pretty





tricky.


 Here the link to our last match against the HULKs, let's see if we can repeat that!

 


Friday 19 April 2024

Last Game of the Group Phase: HTWK Robots vs Naova

The final match-up of the group phase put us up against the only non-European team that made its way all the way here to participate in the German Open! I'm of course talking about the Canadian team Naova from Montréal. Naova certainly had a good run this competition - even scoring a goal against the ironclad defenses of B-Human and almost wrangling the mighty HULKs. So there was certainly a sense of nervousness when the first half just wouldn't quite get going as we needed it to. There is no comfort in a 1:0 lead. Luckily, we were able to turn it around in the second half, but I won't give everything away. 

As a bonus treat: our team member Felix and Adrian from R-ZWEI KICKERS are giving commentary and insider knowledge in German - you won't get sound like this in the live stream!









Round 5 - The eternal rivalry reloaded reloaded reloaded reloaded reloaded

For this match we're facing B-Human against whom we've played so many times! Good thing that we just had a break by getting to skip round 4 via Wild Card. But don't worry, it wasn't realxing. More time is just more time to fix what can be fixed, improve what can be improved upon and leave alone what needs to be oh-my-god-don't-touch-it-it-works left alone. This time, however, it might seem like there could be light at the end of the tunnel? Are we getting closer to salvation or is it just a train speeding towards us? Let's us know what you think in the comments!