Unser erstes Gruppenspiel

Wir hatten eben unser erstes offizielles Spiel in dem wir gegen THMOS spielen durften. Wir waren überzeugt, dass wir das Spiel gewinnen können, aber es gibt immer Überraschungen die uns doch stoppen können. Zum Beispiel hatten wir in den letzten Tagen ein Problem wo wir ein einzelnes „,“ zu viel in unserem Code hatten, das unseren Roboter abstürzen lassen hat. Da es keine Möglichkeit gibt, während des Spiels noch irgendwelche Probleme zu lösen, können immer noch Überraschungen passieren.

Wir hatten allerdings Glück und unsere Software hat sehr gut funktioniert. Unsere Gegner hatten leider nicht so viel Glück. Sie hatten ein Problem mit ihrer Software und sind immer wieder von der Karte gerutscht.

Somit konnten wir einen überzeugenden 12:0 Sieg erringen und freuen uns auf unsere nächsten Spiele.

FacebooktwitterredditpinterestlinkedinmailFacebooktwitterredditpinterestlinkedinmail

RoboCup 2021 beginnt

Wir freuen uns sehr, dass der RoboCup 2021 nun beginnt und wir bereits morgen die ersten Spiele unserer Liga sehen werden. Auch heute können wir aber bereits unsere und die Roboter der anderen Teams in den Testspielen anfeuern. Diese Spiele werden das Ende der zwei Aufbau Tage sein in denen wir die Chance hatten unsere Software nochmal ausführlich zu testen und die meisten Bugs zu entfernen die wir gefunden haben.

Alle Spiele werden auf Twitch gestreamed werden:
https://www.twitch.tv/robocuphumanoidfielda/
https://www.twitch.tv/robocuphumanoidfieldb/

Unser erstes Testspiel gegen MRL-HSL wird heute um 17:40 auf dem ersten Twitch Kanal der oben verlinkt ist gezeigt. Wir würden uns freuen es gemeinsam mit euch anzuschauen!

FacebooktwitterredditpinterestlinkedinmailFacebooktwitterredditpinterestlinkedinmail

Mock Competition

Letztes Wochenende war die „Mock Competiton“, ein erster Testlauf für die echte Weltmeisterschaft. Anders als die regulären Wettbewerbe, werden dieses Jahr die Spiele alle simuliert werden. Wir waren aufgeregt, endlich unsere Software gegen echte Gegner ausprobieren zu können und uns an diesen ungewöhnliche Form des Wettbewerbes zu gewöhnen. Wir haben uns also alle am Freitag Nachmittag getroffen um uns auf die ersten Probe-Elfmeterschießen vorzubereiten. Nachdem wir unsere Software hochgeladen haben und die Berechnungen angefangen haben, haben wir gespannt darauf gewartet, dass das Video des Spieles gestreamt werden würde. Diese Berechnungen müssen schon vor dem Stream passieren, weil die Simulation sehr langsam ist und das keinen Spaß beim zuschauen machen würde. Also warteten wir…

Eine ganze Weile passierte nichts. Aber warum? Ein Fehler im automatisieren Schiedsrichter hat es allen Robotern verboten sich zu bewegen. Nachdem wir uns zwei sehr langweilige Spiele angeschaut haben, wurden die nachfolgenden Spiele auf unbestimmte Zeit verschoben bis das Problem gelöst werden konnte. Diese freie Zeit haben wir genutzt um noch einige Probleme in unserem eigenen Code zu lösen. Dabei haben wir noch einige weitere Probleme in dem Code des Schiedsrichters gefunden.

Am Samstag wurde dann die ursprüngliche Planung komplett geändert: Statt der geplanten regulären Spiele, wurde eine Reihe von Herausforderungen aufgestellt. Diese sollten die Teams zu einem Punkt hinführen an dem sie bereit für den Wettbewerb sind. Nachdem das Modell unseres Roboters begutachtet wurde und wir uns erfolgreich mit dem Server verbunden haben, war die erste Herausforderung einfach nur zu laufen. Damit konnte sicher gestellt werden, dass die Roboter sich bewegen dürfen und ein solches Problem wie am Freitag nicht nochmal auftreten würde. Danach waren die nächsten Challenges ein Elfmeterschießen, ein kurzes Spiel und abschließend ein ganzes Spiel. Unsere gesamte Software hat sehr gut funktioniert und wir kamen schnell durch die Challenges. Am Samstag gelang es uns das erste Tor der Mock Competition zu schießen.
Zugegeben, weil wir zuerst hingefallen sind, und damit den Ball näher zum Tor bewegt haben, war das etwas einfacher als erwartet. Trotzdem haben wir mit unserem dynamischen Kick elegant um den Torwart herum gespielt und uns den ersten Punkt des Wochenendes ergattert.

Am Sonntag hatten wir dann die Gelegenheit ein erstes kurzes normales Spiel zu spielen. Da haben wir gegen den 01. RFC Berlin gespielt. In der ersten Hälfte sah es gut für uns aus. Wir haben noch ein Tor geschossen und hätten fast noch ein zweites geschossen, aber als die Zeit ablief lag der Ball knapp vor der Torlinie.

Dann startete die zweite Hälfte und nichts mehr ging. Der Schiedsrichter hat die Roboter nicht richtig zurückgesetzt und es sind erst mal alle acht Roboter hingefallen, wofür sie dann eine Strafe vom Schiedsrichter bekamen. Trotz alle dem haben wir uns davon erholen können und uns aus dem Haufen von Robotern befreien können, der entstand, weil alle Roboter aufeinander positioniert wurden. Nachdem wir dann verstanden haben wo wir auf dem Feld stehen, sind unsere Roboter alle schnell los gelaufen um sich vor den Ball zu stürzen, der Ball lag nämlich noch da wo er am Ende der ersten Halbzeit lag. Das war jetzt aber wegen des Seitenwechsels eben unser eigenes Tor. Kurz nachdem wir den Ball dort retten konnten, ist aber der Schiedsrichter abgestürzt und das Spiel musste abgebrochen werden.

Trotz des Chaos und der Probleme die wir gefunden haben, sind wir überzeugt, dass die meisten Probleme die auftauchen können jetzt gefunden sind und der eigentliche Wettbewerb dank dieses frühen Tests ungestört laufen kann . Wir konnten beobachten, dass unsere Software läuft wie wir es erwarten und freuen uns auf die richtige Weltmeisterschaft die am 24.6 losgeht.

FacebooktwitterredditpinterestlinkedinmailFacebooktwitterredditpinterestlinkedinmail

2020 – Ein Rückblick

Das Jahr kommt langsam zu einem Ende, und noch immer ist die Situation ganz anders, als wir sie uns wünschen würden. Aber so eine Pandemie verschwindet nun mal nicht von einem Tag auf den anderen, und so tun wir unser Bestes, uns mit der Situation zu arrangieren – alle zusammen, bei sich zu Hause.

Mittlerweile haben wir uns damit abgefunden, dass persönliche Treffen, gemeinsames Arbeiten am Roboter und Teambuilding-Events fürs erste ausbleiben müssen. Zwar fehlt die Laboratmosphäre, das von der Arbeit ablenken lassen, weil auf der anderen Seite des Raumes lautstark über die Farbpalette des Imagetaggers diskutiert wird oder die helfende Hand, wenn man mal wieder nicht gleichzeitig Bauteil, Lötzinn und Lötkolben festhalten kann, aber trotzdem merken wir immer wieder, dass unser Team von mehr zusammengehalten wird, als nur den Treffen im Labor. Inzwischen haben wir viele Lösungen gefunden, um trotzdem im Kontakt zu bleiben und den Laboralltag so normal wie möglich weiterzuführen. Über Discord treffen wir uns inzwischen zwei mal pro Woche, einmal, um uns über das Wochengeschehen und unseren Fortschritt auszutauschen, und ein zweites Mal, um gemeinsam an unserem Code zu arbeiten. Bei digitalem Pair-Programming und den gelegentlichen Verzweiflungsrufen oder Freudenschreien aus dem Voicechat fühlt es sich fast wie im echten Labor an. Gemeinsam konnten wir so viele komplexe Probleme lösen und unsere Roboter noch besser auf die nächsten Wettkämpfe vorbereiten.

Aber auch, wenn wir schon viel erreicht haben und die (digitale) Bitbots-Weihnachtsfeier bald vor der Tür steht, ist es für dieses Jahr noch nicht ganz geschafft. Bevor wir uns in die wohlverdienten Weihnachtsferien begeben können, steht an diesem Wochenende noch ein letzter Integrationstest für dieses Jahr an. Vor allem, weil wir so viele Sachen im Moment nur im Simulator testen können, ist dieser Termin noch einmal besonders wichtig für uns, um einmal alle Komponenten gemeinsam auf dem Roboter zu sehen. Da wir uns natürlich auch dabei nicht treffen dürfen, werden wir versuchen, auch diesen Test über eine Videokonferenz durchzuführen. Dafür ist natürlich vor allem die Kommunikation zwischen dem Team und dem Mitglied im Labor wichtig, aber wir sind zuversichtlich, dass das ganz gut klappen wird.

Auch, wenn das Jahr für uns noch nicht ganz rum ist, möchten wir euch an dieser Stelle schon frohe Weihnachten und einen guten Start in das neue Jahr wünschen. Bleibt gesund!

FacebooktwitterredditpinterestlinkedinmailFacebooktwitterredditpinterestlinkedinmail

Zweiter Platz in der Brazil Open

Dieser Samstag war sehr aufregend für uns. Es war der Tag an dem die Brazil Open geendet ist und an dem die Ergebnisse offiziell verkündet wurden.
Wir haben uns online getroffen um die Preisverleihung gemeinsam zu erleben und die Tabelle mit den Ergebnissen wurde langsam gefüllt. Da die Ergebnisse vom letzten zum Ersten Platz verkündet wurden, wurde es immer aufregender je mehr Plätze in der Tabelle gefüllt wurden, die nicht unseren Namen beinhalteten.

Bevor wir aber über die Ergebnisse mit mehr Details reden, lasst mich euch kurz erzählen worum es in der Brazil Open ging. Durch COVID-19 konnten wir leider nicht an einem regulären Turnier teilnehmen bei dem unsere Roboter miteinander Fußball spielen dürfen. Deshalb mussten die Organisatoren der Brazil Open kreativ werden und sich eine Möglichkeit ausdenken wie die Teams trotzdem gegeneinander antreten konnten.

Der Wettkampf bestand deshalb aus zwei Teilen.
Der eine Teil war, dass wir ein 10 Minuten Video erstellen sollten in dem wir uns selber, unsere Roboter und unsere Forschung präsentieren. Ihr könnt euch dieses Video hier ansehen:

Der andere Teil des Wettkampfes bestand daraus, dass wir Roboter in Bildern erkennen mussten. Es gab Punkte dafür, wie viele Roboter richtig erkannt wurden und wie schnell wir in der Lage waren die Bilder zu verarbeiten.
Die Organisatoren haben uns eine Liste von Bildern bereit gestellt die wir benutzen konnten um unser System zu trainieren. Die Bilder stammen dabei aus dem ImageTagger, den wir entwickelt haben.

Jetzt wo ihr ein wenig mehr über den Wettkampf Bescheid wisst, können wir uns jetzt die Ergebnisse anschauen.

Die erste Spalte sind die Team Namen, gefolgt von den Punkten für die Roboter Erkennung und den Punkten für die Videos.

Wie ihr sehen könnt, haben wir einen gemeinsamen zweiten Platz, mit dem Team RoboFEI, in der Roboter erkennen Herausforderung erzielt. Wir haben dafür ein neuronales Netzwerk namens YOLOv4-tiny verwendet und konnten damit 94% der Roboter richtig erkennen. Wir konnten dabei 35 Bilder in der Sekunde verarbeiten. Team RoboFEI hat etwas weniger Roboter erkannt, war dafür aber schneller in der Verarbeitung der Bilder.

Unser Video hat die höchste Punktzahl in der RoboCup Brazil Open für Humanoid Robots Liga erzielt. Damit kamen wir auf insgesamt 80.875 Punkte.

Wir sind sehr glücklich mit den Ergebnissen und hatten eine Menge Spaß bei diesem Wettbewerb. Wir wollen uns hiermit bei den Organisatoren für das Veranstalten dieses Wettbewerbs bedanken und gratulieren den ITAndroids zum Sieg!

FacebooktwitterredditpinterestlinkedinmailFacebooktwitterredditpinterestlinkedinmail

Brazil Open

Wir können leider wegen COVID-19 nicht an Turnieren teilnehmen zu denen wir reisen müssten. Das hält uns natürlich nicht davon ab weiter an unseren Robotern zu arbeiten. Als wir von der Brazil Open erfahren haben, haben wir uns also natürlich sofort beworben.

Da unsere Roboter nicht direkt gegeneinander antreten können, haben die Organisatoren sich entschieden, dass jedes Team ein Video vorstellen, in dem das Team sich selbst vorstellt. Die Videos dürfen bis zu 10 Minuten lang sein und sollen neben dem Team selber auch die Forschung des Teams vorstellen.
Zusätzlich zu dem Videos dürfen die Teams auch gegeneinander mit ihren Vision Systemen antreten. Die Organisatoren haben sich zehntausende Bilder von Robotern ausgesucht um unsere Systeme darauf zu trainieren Roboter in Bildern zu erkennen. Die Bilder wurden ausgewählt vom ImageTagger, den wir entwickelt haben.

Wir hatten schon eine Menge Spaß und freuen uns noch mehr darauf unsere Ergebnisse mit denen der anderen Teams vergleichen zu dürfen. Die Videos werden auf dem Youtube Kanal des Turnieres gezeigt werden. Die Videos werden morgen (Donnerstag) ab 13:15 gezeigt und am Freitag ab 14:00.
Die Ergebnisse des Visison Wettbewerbs werden veröffentlicht, wenn alle Teams ihre Ergebnisse vorgestellt haben. Das sollte spätestens am Samstag sein.

FacebooktwitterredditpinterestlinkedinmailFacebooktwitterredditpinterestlinkedinmail

Dritter Platz in der Running Robot Competition

Letztes Jahr bekamen wir die Möglichkeit an der Running Robot Competition in China teilzunehmen. Da wir im letzten Jahr Spaß hatten, wollten wir auch dieses Jahr wieder daran teilnehmen.

Die Running Robot Competition ist kein Teil der RoboCup Turniere an denen wir normalerweise teilnehmen. Sie ist ein Turnier in dem die Roboter durch einen Parkour laufen müssen und dabei mehrere Hindernisse überwinden müssen. Diese Hindernisse können z.B. sein, dass der Roboter warten muss bis eine Schranke nicht mehr im Weg ist, oder über Treppenstufen laufen zu müssen.

Wegen Covid-19 hatten wir leider nicht die Möglichkeit in Person teilzunehmen, aber wir freuten uns trotzdem über das Internet teilnehmen zu können. Um das zu ermöglichen haben die Veranstalter uns eine Simulationsumgebung bereit gestellt.

Wir haben uns einige Optionen überlegt wie man die Probleme lösen könnte.
Angefangen mit einem konventionellen Ansatz in dem wir eine Vision entwickeln würden um z.B. die die gelben und schwarzen Segmente der Schranke zu erkennen. Sobald die Schranke dann in einem bestimmten Winkel ist, könnte der Roboter dann los laufen.

Wir wollten aber die Möglichkeit nutzen und uns mit etwas beschäftigen, mit dem die meisten aus unserem Team weniger Erfahrung hatten. Deshalb haben wir uns entschieden reinforcement learning für unseren Ansatz zu verwenden.

Reinforcement learning ist ein Ansatz in dem wir neuronale Netze verwenden, damit der Roboter lernen kann an den Hindernissen vorbei zu kommen, ohne das wir dem Roboter erklären müssen wie er das schafft. Das kann auch zu Lösungen führen die effizienter sind als Lösungen auf die wir gekommen wären. Das kann sein, dass der Roboter einen Fehler in der Physik im Simulator und sich ins Ziel teleportiert oder etwas so simples wie einen Weg zu finden, an den wir nicht gedacht haben.

Als Eingabe für den reinforcement learning Algorithmus haben wir nur das Kamerabild des Roboters verwendet. Ausgehend von diesem Bild musste der Roboter dann herausfinden was er tun sollte. Sollte er warten bis die Schranke oben ist oder kann er schon anfangen zu laufen?
Das klingt trivial für uns Menschen, aber der Roboter hat zu Beginn kein Konzept davon, dass die Schranke ein Hindernis ist. Am Anfang kann der Roboter nicht einmal unterscheiden zwischen dem Boden auf den er treten kann und einem solchen Hindernis.

Um dem Roboter zu helfen solche Dinger zu lernen, haben wir ihm Punkte als Belohnung gegeben, wenn er sich dem Ziel näherte und ihm welche abgezogen, wenn er in ein Hindernis wie die Schranke gelaufen ist.

Der Roboter konnte nur die Richtung bestimmen in die er gelaufen ist. Wir haben das selbe Programm zum laufen genutzt wie wir es auch auf unseren Fußballspielenden Robotern einsetzen. Da in dem Wettkampf ein anderer Roboter verwendet wurde, mussten wir einige Parameter anpassen. Zum Glück hatten wir ein Skript von unserem vorhandenen Laufen, mit dem der Roboter lernen konnte ideal zu laufen in dieser neuen Simulation.

Mit diesem Ansatz konnten wir die ersten Hindernisse überqueren. Wegen eines Missverständnisses, hatten wir weniger Zeit als geplant und wir konnten leider nicht den gesamten Parkour beenden.

Wir hatten eine Menge Spaß damit unseren Ansatz zu entwickeln um die Probleme zu lösen vor die uns die Running Robot Competition stellte. Wir freuten uns auch über die Möglichkeit viel über reinforcement learning zu lernen.

Wie ihr wahrscheinlich schon aus dem Titel gelesen habt, hatten wir nicht nur jede Menge Spaß während des Wettkampfs, sondern haben sogar den dritten Platz bekommen!

FacebooktwitterredditpinterestlinkedinmailFacebooktwitterredditpinterestlinkedinmail

BitBots@home

Keine Sorge, wir haben nicht plötzlich beschlossen, in eine andere Liga zu wechseln. Aber auch wir sind natürlich momentan von der anhaltenden Krise betroffen und müssen uns irgendwie mit den neuen Einschränkungen arrangieren. Deshalb hier ein kurzes Update, was in den letzten Wochen bei uns alles passiert ist:

Heute vor drei Wochen hätten wir eigentlich mitten in unserem WM-Vorbereitungscamp stecken sollen. Als wir die Nachricht bekamen, dass daraus nichts wird, dass sämtliche nicht notwendigen Aktivitäten der Universität eingestellt sind und, dass wir bis auf weiteres unser Labor vermutlich nicht betreten dürfen, waren wir natürlich zuerst sehr unsicher, wie es für uns weitergeht. Dennoch haben wir uns recht schnell von dem Schock erholt, Videokonferenzen eingerichtet, unsere Ziele neu priorisiert und alle dringend notwendigen Dinge aus dem Labor in unsere Wohnungen geschafft. Trotz der widrigen Umstände haben wir die Hamburg Closed effektiv nutzen können um viele der noch offenen Todos zu lösen.

Dadurch, dass die Nutzung physischer Roboter im Moment eher schwierig ist, waren diese Änderungen auch ein Ansporn, unsere Simulationstechnik zu überarbeiten: Dank eines neuen, präziseren Robotermodells und dem Umstieg auf PyBullet als Simulationssoftware können in Zukunft vermutlich viele Lösungen komplett ohne Roboter getestet werden. Zusätzlich haben wir beschlossen, dass dieser Zeitpunkt auch den Release der Softwareversion 2.0 bedeutet. Auch, wenn einige zunächst geplante Features nicht mehr getestet und deswegen nicht mehr Teil dieser Version werden konnten, sind wir zufrieden mit dem Ergebnis, das nun unter Anderem ein wesentlich verbessertes Laufen und die zweite Version unserer Lokalisierung beinhaltet.

Inzwischen haben wir uns an unsere neue Situation gewöhnt, das Chaos lässt etwas nach, wir halten wieder regelmäßige Meetings ab (natürlich online) und arbeiten schon mit großem Eifer daran, 2021 den Weltmeistertitel zu holen.

FacebooktwitterredditpinterestlinkedinmailFacebooktwitterredditpinterestlinkedinmail

RoboCup 2020 Bewerbung

Wir wollen auch 2020 wieder an der Weltmeisterschaft teilnehmen. Für die Bewerbung waren die Bedingungen ein wenig anders als in den letzten Jahren.

Dieses Jahr mussten wir statt einem Team Description Paper einen Extended Abstract schreiben. Darin haben wir beschrieben was wir auf der Weltmeisterschaft in Sydney gelernt haben, was die wichtigsten Probleme, die wir bis zur nächsten Weltmeisterschaft lösen müssen sind und was wir bis zur Weltmeisterschaft in Bordeaux gerne entwickeln würden. Unser Extended Abstract ist in unseren wissenschaftlichen Arbeiten und hier zu finden.

Außerdem haben wir ein Video erstellt, das die Fähigkeiten unseres Roboters zeigt:

FacebooktwitterredditpinterestlinkedinmailFacebooktwitterredditpinterestlinkedinmail

Informatik-EXPO

Gestern veranstaltete der Fachbereich Informatik eine EXPO, auf der studentische Projekte ihre Arbeit vorstellen konnten. Natürlich waren auch wir mit 6 Postern vertreten.

Dabei waren auch zwei Arbeiten, die im Rahmen unseres Praktikums entstanden sind, nämlich unser dynamischer Kick und der visuelle Kompass. Mithilfe des dynamischen Kicks können wir den Ball in beliebige Richtungen treten und gleichzeitig unseren Roboter stabilisieren, sodass wir nicht umfallen. Dadurch sind wir im Spiel wesentlich flexibler und können schneller reagieren. Der visuelle Kompass unterstützt uns bei der Lokalisierung, indem wir anhand von einzigartigen Features außerhalb des Feldes erkennen, in welche Richtung der Roboter schaut, was uns auf dem ansonsten symmetrischen Feld einen großen Vorteil bietet.

Auch je eine unserer Bachelor- und Masterarbeiten wurden präsentiert: Mit unserem Partikelfilter können wir aus den Informationen mehrerer Roboter filtern, an welcher Position sich verschiedene Objekte tatsächlich befinden und so Fehler verringern. In der Masterarbeit ging es um unsere neue Lokalisierung, die wesentlich schneller und genauer funktioniert und uns so bessere Ergebnisse liefert.

Nicht zuletzt waren auch zwei Projekte vertreten, die direkt in der AG entstanden sind: Mit dem Bit-Foot können wir die Gewichtsverlagerung und Belastung des Fußes mithilfe von Drucksensoren bestimmen und erhalten so zusätzlich zu unserem Gyroskop wertvolle Informationen, die verhindern, dass unser Roboter das Gleichgewicht verliert. Das letzte Projekt hat unsere Vision-Pipeline vorgestellt, mit der wir Bälle, Torpfosten, Linien und Spieler präzise und auch in großer Distanz erkennen können.

Wir hatten viele Möglichkeiten, unsere Arbeiten zu präsentieren, uns auszutauschen und die Projekte unserer Kommilitonen kennen zu lernen. Wir freuen uns, dass unsere Arbeit so großen Anklang bei so vielen Studenten gefunden hat.

FacebooktwitterredditpinterestlinkedinmailFacebooktwitterredditpinterestlinkedinmail