Veranstalter | Dr.-Ing. Gerhard Schrott |
Typ | Praktikum |
Semester | SS 2005 |
ECTS | 10.0 |
SWS | 6 |
Vorbesprechung | 12.04.2005 14:00 MI 03.09.023 |
Zeit & Ort | Di. 14:00 - 17:00 oder Mi. 14:00 - 17:00 MI 03.09.023 |
Beginn | Dienstag 19.04.2002, bzw. Mittwoch 20.04.2002 |
Schein | erfolgreiche Teilnahme am Praktikum |
Anmeldung
Anmeldung erfolgt im Rahmen der zentralen Anmeldung für alle Praktika des Hauptstudiums an den Rechnern in der Informatikhalle.Die Termine werden jeweils über die Drehscheibe bekannt gegeben.
Aktuelles
Beschreibung
Der Khepera-Roboter ist ein zylindrischer Roboter, mit 55 mm Durchmesser und ca. 80 mm Höhe. Das Bild zeigt ein Exemplar mit Funk-Einheit.Die Räder werden von je einem Gleichstrom- Motor angetrieben. Pro Umdrehung werden 24 Impulse erzeugt. Die Untersetzung beträgt 25:1. Dies macht pro Radumdrehung 600 Impulse möglich. Die Sensorik des Khepera besteht aus 8 Infrarot-Abstandssensoren mit je einem Infrarot-Sender und Empfänger. Diese können sowohl das normale Umgebungslicht, als auch von Objekten reflektiertes Licht messen. Der Khepera-Roboter wurde ursprünglich für die Forschung entwickelt. Mit ihm kann man Algorithmen, die in der Simulation entwickelt und getestet wurden, in der realen Welt ausprobieren. Zusätzlich ist es möglich verschiedene Aufsätze (Turrets) auf den Khepera zu stecken, die mit Greifer oder Kamera ausgerüstet sind. Im Praktikum wird ein Vision Turret verwendet (siehe Bild rechts). Dieser Vision Turret besteht aus einer horiziontalen Linear-Kamera (64 pixel, dies entspricht einem 36 Grad Blickfeld), die abgestimmt auf die Lichtstärke ein Graustufenbild erzeugt. Von einer Kamera senkrecht über dem Spielfeld wird die Spielszene beobachtet. Ein spezielles Bildverarbeitungsprogramm bestimmt 3-5mal in der Sekunde die aktuellen Roboter- und Ballkoordinaten und sendet sie über Funk an die Roboter. Die auf dem Roboter selbst montierte Zeilenkamera findet keine Anwendung mehr. Im Rahmen des Praktikums soll der Khepera-Robotor das Fußballspielen lernen. Innerhalb des Fußballszenario müssen viele Facetten der Künstlichen Intelligenz und Robotik betrachten werden. Dies sind zum Beispiel Bereiche wie reaktives Verhalten, Sensorverarbeitung in Echtzeit, Planung in einer sich veränderten Umgebung, Strategieerfassung, Lernen und Multi-Agenten-Systeme. Im Praktikum soll ein Algorithmus entwickelt werden, der den Khepera-Robotern das Fußspielen ermöglicht. Dabei gelten folgende Regeln:
- Je zwei Roboter spielen im Team gegeneinander mit einem Ball.
- Der Ball ist ein gelber Tennisball.
- Das Tor ist 30 cm breit, 20 cm hoch und hellgrau.
- Das Spielfeld ist 105 cm x 68 cm, schwarz und hat 20 cm hohe Wände.
- Die Roboter- und Ballkoordinaten werden über rpc an das Steuerungsprogramm gesendet.
- Die Roboter werden über Funk gesteuert.
- Ziel ist es den Ball ins gegnerische Tor zu bekommen. Zwischenziele sind hierbei sicherlich Objekterkennung, Kollisionsvermeidung und "Ballführung".
- Die Algorithmen müssen in C unter Linux programmiert werden.
Voraussetzungen Grundkenntnisse in C-Programmierung.
Regeln
Die Fußballregeln für vier Spieler Das SpielfeldDas Spielfeld ist 105 cm x 68 cm groß, schwarz und hat 20 cm hohe Wände. Die beiden Tore sind 30 cm breit, 20 cm hoch, hellgrau und befinden sich zentriert an den Schmalseiten des Spielfeldes. Das Spielfeld steht im Raum 3712 (3. Stock, Bauteil 7, Zimmer 12). Für die Dauer des Spiels wird die Jalousie geschlossen. Die Leuchtstoffröhren und Deckenleuchten werden eingeschaltet. Der Fußball Der Ball ist ein gelber Tennisball. Die Spieler Im Spielfeld befinden sich pro Mannschaft genau zwei Khepera-Roboter, die gegeneinander spielen. Die Roboter werden durch Programme auf den Linux-Rechnern atknoll15 und atknoll16 über den Server auf atknoll12 gesteuert. Vor dem Spielstart und bei Spielunterbrechungen sendet der Server für alle Koordinaten den Wert -2. Die Trainer Die Trainer dürfen auf keine Weise in eine laufende Runde eingreifen Das Match Ein Match besteht aus zwei Runden mit je fünf Minuten reiner Spielzeit. Sieger ist die Mannschaft, die in den zwei Runden die meisten Tore erzielt. Bei Gleichstand wird verlängert, bis das entscheidende Tor fällt. Am Anfang des Matches wird ausgelost, welches Team welche Kheperamannschaft bekommt. Damit ist auch die Spielfeldseite festgesetzt. In der zweiten Runde werden die Spielfeldseiten und die Kheperas getauscht. Die Runde Eine Runde besteht aus einer Vorbereitungs-, einer Aufstell- und einer Spielphase. Die Vorbereitungsphase Zu Beginn jeder Runde haben die Trainer noch 1 Minute Zeit, ihren Algorithmus zu verändern. (Während der Spielphase sind Eingriffe in das laufende Programm nicht zulässig.) Nach Ablauf der Vorbereitungszeit muß dem Schiedsrichter angezeigt werden, daß das Programm auf dem Rechner gestartet wurde. Die Aufstellung Zu Beginn des Spiels und nach jedem Tor werden die Spieler und der Ball wie folgt aufgestellt: Der Ball befindet sich auf einem zufälligen Punkt auf der Mittellinie. Diese Position liegt mindestens 5cm von den Seitenrändern entfernt. Die beiden Kheperas befinden sich jeweils auf den Eckabstoßpunkten in ihrer eigenen Spielfeldhälfte. Jeder Spieler blickt aufs gegnerische Tor. Die Spielphase Das Spiel beginnt, wenn die ersten Koordinaten der Bildverarbeitung vom Server verfügbar sind. Nach jedem Tor wird der Server unterbrochen (Koordinaten = -2) und die Spieler werden neu aufgestellt. Bei auftretenden Fehlern an den Kheperas oder bei der Funkübertragung kann der Schiedsrichter das Spiel unterbrechen und an derselben Stelle weiterspielen lassen oder eine Neuaufstellung vornehmen. Die Runde endet nach 5 Minuten reiner Spielzeit. Falls der Ball in der markierten Ecke liegt, wird er vom Schiedsrichter auf die näheste weiße Markierung gelegt. Die Hauptregel Der Schiedsrichter hat immer recht und kann jederzeit einen Spieler disqualifizieren, falls Regellücken ausgenützt werden. Das Motto: Auch zwei Spieler sind eine Mannschaft!