Universität Bremen  
  FB3 DFKI Kontakt  
  AG BKB > Thomas Röfer > Kognitive Robotik I > Übungszettel > Deutsch
English
 

5. Übungszettel: Navigation und Wettbewerb

 

Ausgabe: 22. Januar 2003
Abgabe: 5. Februar 2003
Wettbewerb: 3. Februar und 5. Februar

Für den Wettbewerb stehen folgende Dateien bereit:
  • Die passende Farbtabelle für das umgebaute Spielfeld (im Verzeichnis Config ablegen).
  • Die Szene Contest.scn (im Verzeichnis Config ablegen) .
  • Die Registry-Ergänzung Contest.reg, die ein geeignetes Fenster-Layout für die Szene enthält (doppelklicken).

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

  • das Erkennen von Ball, Tor und (möglicherweise) Gegner gelöst habt,
  • das Verhalten eures Duellanten aufgebaut ist
  • und welche Strategie ihr dabei verfolgt habt.

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:

  • Geradeaus: unswBashOptimized, unswChestKick, pawKickWithLeftForward, pawKickWithRightForward
  • Links: leftKick, leftHeadKick, armKickLeft, heelKickLeft
  • Rechts: rightKick, rightHeadKick, armKickRight, heelKickRight
  • Show: sit, scratchHead, headStand

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%)

  • Beschreibt das Verhältnis zwischen karthesischem Raum und Konfigurationsraum.
  • Wozu eignet sich der Konfigurationsraum?
  • Wie kann man die beiden Räume ineinander überführen? Was braucht man dazu?
  • Macht eine erläuternde Zeichnung.

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.

  • Beschreibt einen Algorithmus in Pseudo-Code, der in dieser Karte eine Zelldekomposition durchführt.
  • Welchen Berechnungsaufwand hat euer Algorithmus?
  • Wie kann man mit eurer Dekomposition Wegplanung betreiben?
  • Veranschaulicht Dekomposition und Wegplanung auch grafisch.

 
   
Autor: Dr. Thomas Röfer
 
  Kognitive Robotik I 
Zuletzt geändert am: 29. Januar 2003   impressum