Abschlusswettbewerb
Aufgabe
Der finale Wettbewerb bildet den Abschluss des Praktikums. Zusätzlich soll ein kurzer Abschlussvortrag nach dem Wettbewerb gehalten werden. Es treten jeweils die Roboter zweier Gruppen gegeneinander an. Die Roboter sollen in einem unbekannten Labyrinth möglichst viele der darin verteilten Bojen finden und auf ihre vorher ausgeloste Farbe (grün/rot) schalten. Sieger ist, wer dadurch nach Abzug aller Strafpunkte die meisten Punkte gesammelt hat.
Um das Praktikum zu bestehen muss zusätzlich der fertige Quellcode (bspw. als GitLab-Repository) abgegeben werden. Der Quellcode muss kompilierbar und lauffähig sein. Falls der Quellcode aus mehreren Dateien oder Ordnern besteht, sollte das Repository eine README-Datei enthalten. Diese Datei gibt an, was die einzelnen Dateien und Ordner im Projekt bedeuten. Insbesondere sollte klar werden, wo sich die Main-Funktion befindet und wie der Roboter programmiert wird. Zu den einzelnen Punkten genügt jeweils ein Stichpunkt.
Ablauf und Bewertung
Sowohl das aus 8x8 Feldern bestehende Labyrinth als auch die Positionen der Bojen sind bis zum Wettbewerbsbeginn unbekannt und können von der Jury ggf. noch während des Wettbewerbs (nicht innerhalb eines Spieles) geändert werden. Jeder Gang des Labyrinths besitzt die Breite eines Labyrinthfeldes (30cm) und kann beliebig viele Abzweigungen besitzen. Das Spielfeld ist symmetrisch aufgebaut, das heißt bei einer Drehung um 180° geht das Spielfeld in sich selbst über. Die Verteilung der 8 Bojen und die Lage der Startpunkte unterliegen ebenfalls dieser Symmetrie. Alle Bojen sind so verteilt, dass jedes Labyrinthfeld maximal von einer Boje bestrahlt wird. Ebenso sind alle Bojen mittig eines Labyrinthfeldes montiert und befinden sich zum Spielbeginn im Zustand "neutral".
Der Abschlusswettbewerb läuft als Liga-System: Jeder spielt gegen jeden. Der Gewinner eines Spiels bekommt drei Punkte bzw. bei Gleichstand bekommen beide Teams einen Punkt. Die Spielpaarungen folgen dem Round-Robin-Prinzip.
Die Spielzeit jedes einzelnen Spiels beträgt 7 Minuten, kann aber bei Punkte-Gleichstand bis zu einem Punktgewinn einer Gruppe verlängert werden. Die Gruppen können frei wählen, welchen Roboter sie einsetzen - bei gleicher Wahl wird gelost. Einmal pro Spiel ist es einer Gruppe erlaubt, ihren Roboter strafpunktefrei zum Startfeld zurückzusetzen und das Programm neu zu starten. Zwischen den einzelnen Runden kann der Roboter neu programmiert werden.
Beim Starten sollten sich die Roboter wie folgt verhalten:
- Zu Beginn des Wettbewerbes werden die Roboter an die Startposition gestellt und eingeschaltet. Sie können dann sofort Initialisierungs- und Kalibrierungsfunktionen ausführen, dürfen sich aber noch nicht bewegen. Diese Zeit zählt noch nicht.
- Erst wenn ein Taster betätigt wird, dürfen die Roboter los fahren. Dabei sollte über den roten Taster das rote Team und über einen grünen Taster das grüne Team ausgewählt werden. Auf dem Bildschirm sollte eine entsprechende Info ausgegeben werden.
- Nach dem Startschuss dürfen die Taster betätigt werden und der Wettbewerb beginnt. Ab jetzt werden alle weiteren Eingriffe mit den unten aufgeführten Punkten bestraft.
Punktevergabe
- Punkte aus den Zwischenwettbewerben können zur Tilgung von Strafpunkten benutzt werden (bis zu 3 Punkte pro Spiel)
- +3 Punkte für jede am Ende des Versuchs auf Teamfarbe (grün/rot) stehende Boje
- -1 Punkt für ein manuelles Eingreifen, z.B. Drehen des Roboters, der Roboter muss im gleichen Feld bleiben. Ab (einschließlich) dem dritten Eingriff gibt es -2 Punkte!
- -3 Punkte für ein manuelles Eingreifen und Bewegen in ein angrenzendes, nicht durch eine Wand versperrtes Feld.
- -3 Punkte für manuelles Eingreifen mittels Taster oder Neustart des Roboters.
- -0 Punkte für einen ersten Neustart vom Startfeld
- -3 Punkte für jeden weiteren Neustart (vom Startfeld)
- Über weitere Strafpunkte entscheidet die Jury während des Spiels