Sunday, 16 March 2025

German Open day four - Game for third place vs SPQR

 With only a short time for preparations, this game is a challenge for both teams. By some calculations the temperature of the robots joints may not even have come down to ambient levels. This match was rematch for the group phase were we managed to draw 2:2. This promises to be interesting.


 The first half started with us getting a few robots punished this left us exposed with only three robots on the field. However SPQR did not manage to exploit this weakness. With some intense play in the center of the field this half concluded with a score of 0:0.

 The first actions of the second half were led by a strong attack from SPQR. Then we managed to clear the ball only to be fouled on the sprint to their goal. The second half continued to be intense as no team made any progress.


This left us in the second penalty shootout of the day. Hoping for better result than before, we bit our nails. The first ray of hope: we managed to shoot the first ball on the first touch, allowing the goal. We then followed with a great save from our goalie. The tension mounted as our second shooter lined up at the edge of the penalty box. This one had two touches on the ball stopping the play. The shooter for SPQR managed to score, equalizing. Our final shooter managed to score. This left the decision to the final two robots. The ball was in the goal, according to the team of referees.


With no decision after 3 penalties the tension and stress for our human members mounted. Now every kick counts! Our next shooter touched the ball twice. This left a huge opportunity for SPQR. Our goalie managed to save it.

However the rule for a sudden death after penalties gives a different priority to different actions. A shot at the goal that is saved is weighed higher as a ball not shot or shot twice. This meant the win for SPQR.

Congratulations to SPQR for the third place. This was a challenging match.

For more information you can see all results here:
https://spl.robocup.org/german-open-results-2025/

As well as watch the games live:
https://www.youtube.com/@RoboCupSPL

 

German Open day four - semifinals vs HULKs

 Full of confidence we enter the first semifinal of the day. Our opponents, the HULKs already got a taste of victory when we let them win against us in out last encounter. This time we had to discuss whether to repeat this gracious act. After a heated discussion we decided a clear victory as before was too much. We had to make them sweat.


So we went about creating an entertaining match for the spectators. No one wants to see one team beating another with a margin of 10 goals (Some teams should take notes). A comeback story seems to fit quite well here.

With this idea in mind, we opened the score in the first half. Making our opponents nervous. This whole time we were confident they would be able to equalize and score a winning goal in the second half.

At this point our devious plan nearly failed. The HULKs did start the second half with a timeout. Because of this our calculations were incorrect and the score at full time was a draw at 1:1.

We had just a few minutes de develop a strategy how we could let the HULKs win without them knowing of our plans. And then, there it was! Just mess up the penalty kicks. If we do not score they will surely win.


 

So with this plan in action we started the penalty shootout. At first our goalie managed to save the first kick of the HULKs. We still are not sure whether this was planned. But then our brilliance and cunning shone through as we touched the ball twice, disallowing the goal even if we score. This plan continued for the remaining penalties.

In the end we executed our plans to perfection. The HULKs are in the finals and did not suspect anything.

Our great plan to lead the HULKs to victory continues in the finals where we will also be present. As referees, but still we are in the finals.

For more information you can see all results here:
https://spl.robocup.org/german-open-results-2025/

As well as watch the games live:
https://www.youtube.com/@RoboCupSPL

 

Saturday, 15 March 2025

German Open day three - Quaterfinals vs Naova

 After the group stage it is now time for the quarterfinals. We play Naova from Canada. As in the last match against Naova the game will be under Challenge Shield rules. Another change is for elimination stage matches like this one that the time will be stopped when a stoppage of play occurs. This makes for longer, more challenging matches.

 After a eventful start to the match were many a robot was falling we managed to score the opening goal in the fourth minute. We scored again in the seventh minute. This time by a clever ball behind the defense's back. With 10 seconds remaining on the clock we scored the third goal of the match.

 We started the second half with the most clever opening we could think of: a big pileup in the center circle. After this initial upset we continued to score in the sixth minute for a score of 4:0. However this maneuver cost us two robots who did not return in time thus we reopened play with only three robots. Despite this limited number of robots we scored again with just over two minutes on the clock. After a sprint to the front we score a sixth goal. Shortly after the final whistle blew for a final score of 6:0.

We can now advance to the semifinal. Our opponent is still to be decided: the winner of quarterfinal number 4. It will be either HULKs or Berlin United.

For more information you can see all results here:
https://spl.robocup.org/german-open-results-2025/

As well as watch the games live:
https://www.youtube.com/@RoboCupSPL

German Open day three - match vs SPQR


 Good news: Our robots are all back from repair! We have a full team of seven robots to start the game with. In further good news, the field lines magically improved during the night.


And as one of our human team members put it before the game:  "Wir müssen gewinnen.... oder verlieren. Aber unentschieden geht auch."

  The game opened with a timeout for SPQR as some of their robots sat down after entering the field. After the timeout we hoped our robots would detect the referee's gestures to enter the field. Success! The robots entered the field when instructed.

 The first half started with a kickoff for us. From then a dynamic game ensued with a brilliant pass combination by SPQR. We managed to score the opening goal in the 4th minute. In the last minute SPQR managed to equalize. This left the score at 1:1 at half time.


The second half started with kickoff for us again. How? The timeout at the start of the first half gave us the kickoff then. After a long seven minutes of back and forth we scored the first goal of the second half. In the last few seconds of the game SPQR managed to equalize. This leaves a final score of 2:2.

 

With this score we qualified for the quarterfinals and now hope for an exiting match against Naova.

For more information you can see all results here:
https://spl.robocup.org/german-open-results-2025/

As well as watch the games live:
https://www.youtube.com/@RoboCupSPL


Friday, 14 March 2025

German Open 2025 day two - Match against Naova


 Our second match of the day presents a different challenge, we play Naova. This team usually competes in the Challenge Shield under slightly different rules. As we play in the Champions Cup, we must adapt and use their rule set for this game.

 The first half started off well. We managed to put pressure on Naova from the start. This led to us scoring the first goal in the fourth minute. At this point Naova were forced to call for a timeout as most of their robots were unable to play. After a timeout play resumes by all robots reentering the field under the same rules as at the start of the match. The first half ended in a score of 1:0 for us.

 The second half started of strong. We managed to score in the first few minutes. After some back and forth action in the midfield we managed to score a final goal in the last minute of the game. The final result was a score of 3:0 for us.

 

For more information you can see all results here:
https://spl.robocup.org/german-open-results-2025/

As well as watch the games live:
https://www.youtube.com/@RoboCupSPL

German Open Day 2 - Game vs. HULKs

 „Breaking News aus Nürnberg: Wir, die HTWK Robots aus Leipzig, haben im dritten Spiel großzügig entschieden, die HULKs aus Hamburg mit einem 2:0-Sieg zu beglücken. Es war ja schließlich nicht so, als hätten wir geplant, alle sieben Roboter einzusetzen – wer braucht schon vollständige Mannschaften im Wettbewerb? Nachdem zwei unserer Roboter zudem äußerst kooperativ waren  und sich während des Spiels selbst deaktiviert haben - wahrscheinlich aus Scham - sammelten wir wertvolle Einblicke, wie man am besten verliert. Teamgeist und Optimismus bleiben selbstverständlich unverändert hoch.“

 


Thursday, 13 March 2025

Second game at the German Open 2025 - vs Berlin United

 This afternoon we played our second game of the German Open 2025. In this match we faced off against Berlin United, who, you guessed it, came from Berlin.

With hardware problems remaining, we played the first half with five robots. The first obstacle for both teams was to identify the referee and to watch out for their hand-signal. This signal allows the robots to enter the field. Both teams managed this challenge. After some back and forth play we entered the half time break leading by 2:0.

 In the first few minutes of the second half Berlin put some pressure on us. We managed to defend and mount a successful counter-attack. In the end we won this match 4:0.

For more information you can see all results here:
https://spl.robocup.org/german-open-results-2025/

As well as watch the games live:
https://www.youtube.com/@RoboCupSPL

RoboCup German Open 2025 in Nürnberg – Opening Game verses B-Human

 After our arrival in Nürnberg yersterday the German Open 2025 began. Today we played the current world champion in the openning match.

 

In the first half, we could still defend and only conceeded 3 goals. For a score of 0:3 at half time. Sadly the second half was not as glorious. We conceeded another 4 goals for a final score of 0:4. This game still gave us good insights into what needs to be improved.

Hardware was a problem: In the second half we only had a total of three functioning robots. All broken robots have been sent to the "Nao-Clinic"

Current challenges are the detection of the newly introduced poses of the referee for free kicks and other breaks in play. A good implementation requires that the robots know where the referee is and where they are on the field in order to find the referee from there.


The current results can be found here:

https://spl.robocup.org/german-open-results-2025/


and here is a livestream of the event:

https://www.youtube.com/@RoboCupSPL

Thursday, 15 August 2024

RoboCup 2024 Championship Match




 Check out the finale from this year's RoboCup! Featuring brief interviews with our team leader Rico and Shauna - the referee from RoboEireann and - as per usual - commentary in English.

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!