RoboCup WM 2015: Wie es weitergeht

Nach unserer Qalifikation für die WM sind die Vorbereitung nun in vollem Gange, sowohl für die Reise, als auch für den Wettbewerb.

Der Roboter hat bei den German Open sehr gut bis perfekt funktioniert. Eigentlich möchten wir deshalb nicht so super viele Änderungen machen. Dennoch möchten wir nicht einfach nichts tun. Uns schwebt schon lange vor, mal ein richtiges SLAM für den RoboCup zu implementieren. Laserscanner sind in den neuen Regeln (in denen sich zum Parcours absolut gar nichts geändert hat, weshalb der Roboter auch nicht geändert werden muss) leider immer noch verboten, weshalb wir nun versuchen, ein eigenes kleines Lidar zu bauen:

Es werden zwölf Sharp Infrarot Entfernungssensoren der neuen Generation (GP2Y0E03) genutzt. Diese lassen sich über I²C auslesen und haben eine Reichweite von 4 bis 50cm. Das Ausgangssignal ist zudem proportional zur Entfernung und muss nicht wie bei den alten Sensoren linearisiert werden.

Zusammen mit den neuen Sensoren soll ein 32bit ARM Controller mit 4,3″ Farb LCD genutzt werden. Alle Änderungen sollen modular sein, sodass notfalls im Wettbewerb schnell zur alten Version des Roboters gewechselt werden kann. Weitere Infos dazu werden wir bald veröffentlichen  :)

Eine Schwachstelle an unserem Roboter ist allerdings der Kitdropper – wir können nur nach hinten abwerfen (und nicht nach links oder rechts). Deshalb müssen wir bei jedem Opfer auf der Stelle drehen. Beim Wettbewerb war das nicht kritisch, weshalb wir den Kitdropper auch so lassen werden. Die Grundhardware des Roboters soll also als praktischen und aus Kostengründen unverändert bleiben.

RoboCup German Open 2015: Deutscher Meister und Qualifikation zur WM in China!!!

Vom 23.04. bis zum 26.04. waren die deutschen RoboCup Meisterschaften (German Open) in Magdeburg.

Wir haben uns lange auf dieses Event gefreut, aber dass wir wirklich den 1. Platz belegen und deutscher Meister werden, haben wir nicht erwartet. 😀

Der Wettbewerb war so unglaublich spannend und vor allem eng! Es gab fünf Wertungsläufe, wobei die besten vier Läufe gewertet wurden. Die Parcours waren seeehr anspruchsvoll (alle fünf waren locker auf dem Niveau des Finallaufs der WM) und umso faszinierender war es, dass drei Teams um die ersten drei Plätze gekämpft haben.

Der Roboter hat wirklich gut funktioniert, wenn wir Punkte verloren haben, dann meistens aufgrund von Flüchtigkeitsfehlern (falsch eingestellte Schwellwerte für Opfer etc.). Es gab zwar den ein oder anderen Bug, den wir dann abends noch beheben mussten (an zwei Tagen waren wir das letzte Team in der Messehalle und wurden quasi rausgeworfen :D), aber dennoch hat der Roboter bewiesen, was er drauf hat.

Die Ergebnisse können hier eingesehen werden! Man beachte den Vorsprung von lediglich 10 Punkten zum 2. Platz (wenn man bedenkt, dass man über 2000 Punkte erzielen konnte, ist das schon sehr krass)!

Dieses Jahr qualifizieren sich leider nur die ersten Plätze einer Liga für die Weltmeisterschaft in Hefei. Wir haben uns also qualifiziert und sind sehr glücklich darüber. In den letzten Jahren sind wir öfters in einer Situation gewesen, dass wir eine Qualifikation oder einen Podestplatz nur knapp verfehlt haben, dieser erste Platz bei den deutschen Meisterschaften ist somit ein toller Abschluss unserer RoboCup Junior Karriere (natürlich warten wir mal ab, was in China noch so kommt ;)). Dennoch war es dieses Jahr die letzte Teilnahme von uns beim RoboCup Junior.

German Open 2015 in Magdeburg

Morgen geht’s los zu den deutschen RoboCup Meisterschaften in Magdeburg.

Aktuell stecken wir mitten in den Abiturvorbereitungen, weshalb wir wenig Zeit für den Roboter und den Blog und ich mich deshalb nun kurz halte 😀
Daniel schreibt Freitag sogar noch Chemie Abitur und kommt deshalb abends nach. Montag schreiben wir beide Erdkunde und ich Mittwoch Physik, also es ist noch einiges zu tun 😀

Seit den Vorqualifikationen haben wir am Roboter nichts mehr geändert, wir haben uns lediglich an einem Nachmittag zusammengesetzt und einige Fehler behoben, die im Wesentlichen etwas mit der Rampenerkennung und Checkpoints vor/auf der Rampe zu tun hatten.

Wir freuen uns auf einen spannenden Wettbewerb und werden unser Abschneiden (insofern es erfolgreich war) Sonntag hier veröffentlichen. :)

Vorqualifikationen in Oldenburg

Vom 4. bis zum 6. Februar fanden die Vorqualifikationen in Oldenburg zu den deutschen Meisterschaften in Magdeburg statt. Die Roboter AG unserer Schule hat mit insgesamt 45 Teilnehmern teilgenommen.

Da nach den Regeln gespielt wurde, die auch schon für die WM gegolten haben, mussten wir fast gar nichts am Roboter ändern (was wie gesagt auch die nicht-Aktivität im gesamten letzten Halbjahr begründet 😉 ). Wir haben lediglich an einigen Stellen der Software optimiert und einige Fehler beseitigt (Fehler, die uns besonders bei der WM auch einige Probleme bereitet haben, wie zum Beispiel die Falscherkennung von schwarzen Fliesen und das sporadische überspringen von Fliesen in der Karte).
Als Optimierungen ist besonders die verstärkt objektorientierte Implementierung der Software zu nennen. Viele elementare Fahrfunktionen (eine Fliese geradeaus fahren, 90° drehen) sind bis zu zwei Jahre alt (wir sind angefangen zu programmieren, als wir das erste mal eine Karte erstellen wollten). Diese Fahrfunktionen wurden dann bei bedarf erweitert und optimiert. Zuletzt waren sie sehr komplex und die einzelnen Komponenten haben nicht mehr perfekt miteinander gearbeitet (was das Überspringen von Fliesen verursacht hat), weshalb die Funktionen entkernt und überarbeitet wurden. Die objektorientierte Programmierung hat nun den Vorteil, dass theoretisch mehrere Fahranweisungen gleichzeitig und unabhängig voneinander abgearbeitet werden kann. Besonders wichtig ist dies beim Abwurf des Rescuekits: Der Roboter muss sich bauartbedingt um 90° drehen, nachdem ein Opfer erkannt wurde, um das Rescuekit möglichst nah am Opfer abzuwerfen. Wenn der Roboter nun ein Opfer erkennt, während er sich dreht, müsste eine neue Drehung gestartet werden, danach muss die unterbrochene Drehung vollendet werden.

Der Wettbewerb selbst ist für uns recht unspektakulär gewesen – in Oldenburg haben leider nur drei Rescue B Teams teilgenommen (es gibt ja auch noch fünf weitere Qualifikationsturniere in ganz Deutschland, die meisten anderen Rescue B Teams aus der Region nehmen in Hannover teil). Die meiste Zeit haben wir darauf gewartet, die fünf Wertungsläufe zu absolvieren.
Insgesamt hat der Roboter sehr gut funktioniert, am Mittwoch hat jedoch auf einmal der Rescuekitabwurf und die Opfererkennung auf einmal nicht mehr funktioniert. Nach intensiver Fehlersuche konnte die Ursache dann allerdings lokalisiert werden (es handelte sich um einen eigentlich ziemlich offensichtlichen Softwarefehler).
In den Wertungsläufen konnten wir meistens die (fast) volle Punktzahl erreichen. In zwei Wertungsläufen wurde allerdings jeweils ein Rescuekit nicht abgeworfen, weil sich die Rescuekits verklemmt haben, was daran lag, dass sie eher unförmig waren. Wir haben bereits 3D gedruckte Fassungen für die Gewichte (damit die Rescuekits auch wirklich liegenbleiben), die wir dann später einsetzen werden.
Außerdem gab es Probleme beim Opfern, die unmittelbar am Beginn der Rampe befestigt waren. Problem ist, dass der Roboter die ersten 30cm der Rampe noch als normale Fliese sieht. Wenn sich in dem Abschnitt ein Opfer befindet, dreht sich der Roboter auf der Rampe (wenn er das Rescuekit abwerfen möchte) und rutscht dabei von der Rampe. Er rutscht also eine Fliese in der Karte zurück und ist quasi in einer Endlosschleife gefangen, weil er dann wieder auf die Rampe fährt und erneut zurückrutscht. Die gesamte Implementation der Rampenüberwindung ist so oder so genau sie wie vorher die Fahranweisungen ziemlich alt und müsste neu programmiert werden, wodurch dieses Problem dann hoffentlich behoben werden kann.

Letztendlich konnten wir aber den 1. Platz erreichen und haben uns für die deutschen Meisterschaften qualifiziert, außerdem kamen ein paar weitere Schwächen des Roboters zum Vorschein. Wir sind also auf jeden Fall zufrieden 😀