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 😀