|
||||||
|
FB3 |
||||||
| AG BKB > Thomas Röfer > Kognitive Robotik I > Übungszettel > | ||||||
5. Übungszettel: Navigation und Wettbewerb |
||||||
Ausgabe: 22. Januar 2003
1. Wettbewerb (60%)Im Wettbewerb treten auf dem echten Spielfeld in MZH 1160 jeweils zwei Roboter unterschiedlicher Gruppen gegeneinander an. Von dem Spielfeld werden die zylinderförmigen Landmarken entfernt. Beide Roboter tragen ein rotes Trikot. Der Ball wird in der Hälfte des blauen Tors in der Mitte zwischen den Seitenbanden, der Mittellinie und der Strafraumlinie gelegt. Die beiden Roboter werden auf Höhe des Balls mittig zwischen Ball und den Seitenbanden auf gegenüberliegenden Seiten platziert. Die Roboter sehen nach außen, d.h. der Ball ist hinter ihnen. Sie wissen nicht, auf welcher Seite sie stehen (dies wird durch Münzwurf entschieden).
Das Spiel wird durch Loslassen der Rückentaster gestartet. Gewonnen hat der Roboter, der den Ball zuletzt berührt hat, bevor letzterer die Torlinie des blauen Tors vollständig überquert hat. Ist dies nach 5 Minuten nicht geschehen, ist das Spiel unentschieden. Ein Spiel kann bereits vorher unentschieden beendet werden, wenn dies von beiden gegnerischen Parteien akzeptiert wird. Für einen Sieg erhält eine Gruppe drei Punkte, für ein Unentschieden einen Punkt und für eine Niederlage keinen Punkt. Tritt eine Gruppe nicht an, gilt dies als Niederlage. Tritt während eines Spiels ein Problem mit dem Funknetz auf, wird das Spiel wiederholt. Der Turnierablauf wird in Abhängigkeit von der Anzahl der teilnehmenden Gruppen bestimmt. Nehmen ausreichend viele Gruppen teil, wird für den Sieger ein Pokal gestiftet. Dokumentation. Bitte beschreibt, wie ihr
Tipps. In der Datei DataTypes\Perception\ColorTable64.h ist die Klasse ColorTable64 definiert, deren Funktion getColorClass(y,u,v) genutzt werden kann, um aus den Pixeln des Bildes die in Tools\ColorClasses.h vereinbarten Konstanten vom Typ colorClass zu machen, z.B. orange für den Ball, skyblue für das blaue Tor und red für das gegnerische Trikot. Bevor die Farbtabelle genutzt werden kann, muss eine Instanz des Typs ColorTable64 als (Member-)Variable angelegt und die Tabelle geladen werden: ColorTable64 colorTable;
//...
InBinaryFile("coltable.c64") >> colorTable;
Der Roboter beherrscht bereits eine große Anzahl von Schüssen. Diese sind in DataTypes\Motion\MotionRequest.h als SpecialActionID vereinbart. Empfehlenswert sind:
Andere Schüsse sollten nicht genutzt werden, da sie teilweise den Roboter beschädigen könnten. Schüsse werden ähnlich wie Laufbewegungen gesetzt: motionRequest.motionType = MotionRequest::specialAction; motionRequest.specialActionType = MotionRequest::Schuss; Die meisten Schüsse werden wiederholt, bis eine andere Aktion gesetzt wird. 2. Konfigurationsraum (20%)
3. Zelldekomposition (20%)Gegeben sei eine Karte als eine Liste von Hindernispolygonen. Eines der Polygone ist der äußere Rand der Karte, d.h. es enthält die freie Fläche und alle anderen Polygone.
|
||||||
| Autor: Dr. Thomas Röfer |
||||||
| Kognitive Robotik I |
|
|||||