|
|
Die Entwicklung von Fußball-Robotern an der RWTH AachenKein SpielzeugChristian Fritz |
Die Spiele bei der Robocup German Open in Paderborn entbehrten nicht einer gewissen Heiterkeit (siehe Seite 41) und doch handelt es sich um eine ernste Forschungsdisziplin, an der sich Wissenschaftler aus aller Welt beteiligen. Die nächsten Weltmeisterschaften finden vom 27. Juni bis 5. Juli 2004 in Lissabon statt. Die Allemaniacs der RWTH Aachen[1] bereiten sich derzeit auf das internationale Großereignis vor.
Die Motivation der Robocup-Teilnehmer ist nicht, mit Robotern zu spielen. Vielmehr bietet diese junge Sportart eine anspruchsvolle Testumgebung sowohl für die benötigte Hardware als auch für die Steuerungssoftware der Spieler. Diese Software ist für die Forschung in künstlicher Intelligenz interessant, weil es mehrere Akteure gibt, von denen einige ein gemeinsames Ziel verfolgen, während ihre Gegner versuchen, dieses Vorhaben zu untergraben. Es handelt sich also um Multi-Agenten-Systeme, die eine gewisse Koordination untereinander erfordern.
Dazu kommt, dass alle Aktionen mit einer hohen Unsicherheit behaftet sind. Es ist zum Beispiel fast nie möglich, mit Sicherheit vorherzusehen, was passiert, wenn der Roboter in einer bestimmten Situation auf das Tor schießt. Auch alle Annahmen über die Umwelt, etwa die Position des Balls oder auch die eigene Stellung auf dem Feld, sind sehr ungenau und oft sogar völlig falsch. Die Forscher gehen davon aus, dass sie auch eine ganze Reihe anderer Probleme etwa aus der Industrie lösen können, wenn sie die des Robocup im Griff haben.
Der Robocup besteht derzeit aus fünf Fußball-Ligen mit unterschiedlichen Anforderungen an die Fertigkeiten der Roboter. So ist in der Humanoid League (Abbildung 2) derzeit das Hauptproblem, dass die zweibeinigen Roboter überhaupt aufrecht stehen und laufen, ohne umzufallen. In der Königsklasse, der Middle Size League, sind hingegen Roboter mit einer Grundfläche von 50 mal 50 Zentimetern, einer Höhe von bis zu 80 Zentimetern und 50 Kilo Gewicht auf Rädern unterwegs. Hier arbeiten die Forscher hauptsächlich an Entscheidungsstrukturen und Software-Architekturen (siehe nächster Artikel).
Bei den Zuschauern besonders beliebt ist die Sony Fourlegged League mit den Aibo-Roboterhunden, daneben gibt es noch die Small Size League mit etwa Schuhkarton-großen Robotern sowie die Simulations-Liga, in der 22 Software-Agenten auf einem Simulationsrechner gegeneinander antreten. Die Rescue League, in der Roboter für Rettungseinsätze in Katastrophen-Szenarien entwickelt werden, hat zwar nichts mit Fußball zu tun, wird jedoch ebenfalls im Rahmen des Robocup ausgetragen.
Das Wichtigste am ganzen Robocup ist: Jeder Roboter, egal wie groß er ist und in welcher Liga er spielt, arbeitet völlig autonom. Nichts darf ferngesteuert werden, die Teams dürfen lediglich Kommandos wie Anpfiff und Abpfiff senden und in Spielunterbrechungen oder beim Auswechseln eines Spielers an ihren Robotern arbeiten.
Es verwundert kaum, dass die meisten Robocup-Teams von Universitäten mit Lehrstühlen für Künstliche Intelligenz stammen. Das Team der RWTH Aachen, die "AllemaniACs"[1], ist eine Kooperation des Lehr- und Forschungsgebiets für wissensbasierte Systeme, einem Teilaspekt der künstlichen Intelligenz, und dem Lehrstuhl für Technische Informatik, der der Elektrotechnik zugeordnet ist und sich um Hardware-nahe Fragen sowie die Bilderkennung kümmert. Gefördert wird das Projekt durch ein Schwerpunktprogramm der Deutschen Forschungsgesellschaft DFG[2].
Die Allemaniacs treten in der Middle Size League an. Ihre Roboter (siehe Abbildung 1) sind wahre Schwergewichte: Die 40 mal 40 mal 40 Zentimeter großen Würfel bringen etwa 50 Kilogramm auf die Waage und benutzen Motoren und Batterien von elektrischen Rollstühlen der Firma Invacare[3] mit genug Kraft, um auch schwere Lasten oder gar Personen zu transportieren.
Die Roboter erreichen Spitzengeschwindigkeiten von bis zu drei Metern pro Sekunde (etwa 11 km/h). Hohes Tempo ist ein wichtiger Faktor im Spiel. Allerdings darf ein Roboter seinen Gegner niemals wegdrücken, das wäre ein Foul und würde vom (menschlichen) Schiedsrichter entsprechend mit einer gelben oder gar roten Karte geahndet.
Die Sensoren der Aachener Roboter bestehen einmal aus einer Kamera (Abbildung 1), mit der sie hauptsächlich den Orange-farbenen Fußball anpeilen. Unmittelbar darunter, in einer Höhe von 28 Zentimetern über dem Boden, ist der Laser-Scanner montiert. Der Scanner dreht den Laserstrahl in Schritten von einem Grad rund um den Roboter und misst die Entfernung zum nächsten Hindernis. Die so genannte Odometrie an den Motoren ermittelt die ungefähr vom Roboter gefahrene Strecke.
Der Bordcomputer besteht aus zwei Kompaktrechnern der Firma Leutron Vision[4] mit Pentium-III-CPU (933 MHz), die unter Red Hat Linux 9 laufen.
Das Ergebnis eines Laser-Scans zeigt Abbildung 3 als kombinierte Ansicht. Links stellen die Linien den Abstand vom Roboter 1 in der Mitte bis zum ersten Hindernis dar, rechts sind nur die Endpunkte markiert. Die fehlenden Segmente 3 in der linken Ansicht sind tote Winkel, die durch die vier Befestigungsstege an den Ecken des Geräts entstehen (Abbildung 1) hier ist der Roboter blind.
In der rechten Ansicht sind unten, rechts und links deutlich die Wände 2 des Raums erkennbar. Auch das Tor unten in der Mitte 4 tritt recht deutlich hervor, beim Tor oben 4 sind nur noch der linke Pfosten und ein Teil der Rückwand zu sehen. Der rechte Pfosten wird offenbar von einem Spieler verdeckt. Insgesamt sechs potenzielle Gegner 5 kann man ahnen, einer vor dem unteren Tor, ein weiterer Richtung Mitte und vier im oberen Viertel des Spielfelds.
Die verwendete Hardware lässt sich sehr universell einsetzen, zum Beispiel für Serviceroboter in Büros. Das ist bei der Mehrzahl der anderen Teams nicht der Fall: Der Trend geht dahin, speziell auf den Robocup zugeschnittene Roboter zu entwickeln, sowohl was die Hard- als auch die Software angeht.
Viele Teams verwenden eine Omni-Vision-Kamera, die senkrecht in einen konischen Spiegel über dem Roboter guckt, in dem sich eine Rundumsicht des Spielfelds spiegelt. Das Bild in Abbildung 4 ist unscharf, weil die Kamera über den gewölbten Spiegel nicht auf ein Objekt fokussieren kann - das ist eins der Probleme dieser Technik. Der Vorteil im Vergleich zu herkömmlichen, geradeaus sehenden Kameras: Statt nur gezielt in eine Richtung zu schauen, überblickt der Roboter das ganze Feld.
Mit Farbkameras lässt sich ausnutzen, dass beim Robocup alle Hindernisse und Markierungen definierte Farben haben. So sind alle Spieler schwarz, der Boden ist grün, Linien stets weiß markiert und die Tore haben weiße Pfosten und eine gelbe oder blaue Rückwand. Zur kollisionsfreien Navigation eignet sich Omni-Vision nur bedingt: Während der Laser-Scanner Hindernisse selbst bei schneller Fahrt noch zuverlässig erkennt, haben Omni-Vision-Kameras erhebliche Probleme, bei Framegrabber-Karten mitunter durch das De-Interlacing. So zeigt die Praxis, dass viele Roboter mit Omni-Vision regelmäßig mit gegnerischen und eigenen Robotern zusammenstoßen und offenbar erst dann bemerken, dass ihr Weg versperrt ist.
Ein guter Fußballspieler muss gut schießen. Zur Lösung dieser Aufgabe gibt es verschiedene Ansätze: Einige Roboter, etwa der Torwart der Allemaniacs, schießen mit Druckluft. Dazu muss das Team den Druckbehälter vor jedem Spiel wieder auffüllen. Leider lässt die Schussstärke während einer Halbzeit nach. Bei einem anderen Ansatz, den die Feldspieler der Allemaniacs verfolgen, schießt ein Metallbolzen aus einer elektromagnetischen Spule hervor und stößt den Ball an. Das Team der Universität Minho, Portugal, benutzt zusätzlich viele Kondensatoren in einer Kaskade, baut damit eine sehr hohe Spannung an der Spule auf und erreicht einen granatenartigen Schuss. Wieder andere Teams arbeiten mit Federsystemen.
Derzeit kann die Stärke des Schusses durchaus noch den Unterschied zwischen Underdog und Angstgegner ausmachen - leider, muss man aus wissenschaftlicher Sicht sagen. Es verführt so manches Team dazu, die Entwicklungszeit in ein möglichst starkes Schusssystem zu investieren statt in besseres Umspielen der Gegner. Das ist sicher nicht im Sinne des Robocups.
Auch wenn die Hardware ihren Reiz hat, beginnt der wissenschaftlich spannende Teil erst mit der Software. Hier gilt es, die nötige Intelligenz zu schaffen, damit die Roboter die richtigen Entscheidungen treffen, wenn sie während des Spiels auf sich gestellt sind. Der Artikel auf Seite 50 beschreibt, wie die Entscheidungsfindung generell ablaufen kann und wie die Roboter der Allemaniacs ihren Plan selbst erstellen. Bis ein Programm jedoch bis zu dieser obersten Entscheidungsebene vorgedrungen ist, gilt es, eine Reihe wesentlich praktischerer Probleme zu lösen.
Abbildung 5 zeigt die Software-Architektur des Aachener Teams. Auf der untersten, roten Ebene steht die direkte Kommunikation mit den Sensoren und Aktuatoren. Hier liest das Modul mit Hilfe entsprechender Linux-Treiber die Sensorenwerte von Laser-Scanner, Kamera und Odometrie und überträgt Befehle zu den Motoren und zum Schussapparat. Dabei kommen diverse Schnittstellen zum Einsatz: Während die Motoren noch recht konservativ per serieller Schnittstelle gesteuert werden, ist der Laser-Scanner mit seinen hohen Datenmengen über einen CAN-Bus-USB-Adapter der Firma Peak Systems[5] angebunden. Das Kamerabild stammt von einem Framegrabber.
Um die einzelnen Aufgaben in unabhängigen Modulen - faktisch in einzelnen Programmen - zu realisieren, muss das System einen Datenaustausch zwischen den Modulen ermöglichen. Die üblichen Techniken sind: Nachrichtenaustausch oder gemeinsamer Speicher. Die Allemaniacs verwenden einen gemeinsamen Speicher, auch Blackboard-Architektur genannt. Dieser Ansatz hat den Vorteil, dass die Module über das Blackboard auch große Datenmengen wie Kamerabilder oder Laser-Scanner-Werte schnell untereinander austauschen können. Damit nicht zwei Programme oder Module exakt gleichzeitig auf den gemeinsamen Speicher zugreifen, was zu Dateninkonsistenzen führen könnte, ist der Speicherbereich durch einen Semaphor geschützt. Er gestattet stets nur einem Modul den Zugriff.
In der nächsthöheren, gelben Ebene werden grundsätzliche Probleme der Robotik behandelt wie Kollisionsvermeidung, Pfadplanung, Lokalisierung, Objektverfolgung und Bildverarbeitung. Das Weltmodell ist ein Modul, das über Wireless LAN mit den anderen Robotern und einem Kontrollrechner außerhalb des Spielfelds kommuniziert. Die Kommunikation hat zwei Ziele: Erstens sollen die Roboter eines Teams koordiniert handeln, also nicht alle gleichzeitig zum Ball fahren. Dazu entscheiden ständig alle Robotern gemeinsam, wer von ihnen an der besten Position steht, um etwa eine Offensive zu starten. Dieser Roboter beschließt dann selbst, wie genau sein Angriff aussehen soll.
Außerdem führen alle Roboter ihre Sensorendaten über WLAN zusammen, etwa um die Position des Balls genauer zu bestimmen. So kann der Torwart zum Beispiel auch dann den Weg zwischen Ball und Tor verstellen, wenn er selbst den Ball nicht sieht oder gar seine Kamera ausgefallen ist.
Leider ist diese wichtige Kommunikation oft gestört, da bei Turnieren die verschiedenen Teams praktisch alle Kanäle aus dem 2,4-GHz-Bereich überlasten. Das Team der Allemaniacs denkt daher über eine Umstellung auf IEEE 802.11a nach; der 5-GHz-Bereich wird derzeit noch wenig benutzt, bietet deutlich mehr Kanäle als 802.11b und erlaubt Übertragungsraten bis zu 108 MBit/s. Das ist aber finanziell ein Problem, das Team sucht noch einen Sponsor.
Ein weiteres wichtiges Modul ist das Skill-Modul. Hier sind die Basisaktionen des Roboters (siehe Kasten "Basisaktionen der Roboter") implementiert, die das Planungsmodul verwendet. Skills arbeiten rein reaktiv: Sie entscheiden immer aufs Neue, welche konkreten Kommandos das Skill-Modul an die darunter liegenden Module sendet, damit zum Beispiel der Roboter entweder direkt auf die angegebene Zielkoordinate zufährt oder zunächst noch einen Bogen um einen Gegner macht.
Darauf aufbauend legt das Entscheidungsmodul (Abbildung 5, grün) fest, welchen Skill der Roboter in welcher Situation einsetzen soll. Dies können Pläne in Form bedingter Aktionssequenzen sein. Das High-Level-Interface (HLI) dient als Schnittstelle zwischen dem in Golog geschriebenen Entscheidungsmodul und dem Basissystem in C++.
Wie das Entscheidungsmodul der Allemaniacs funktioniert, welche Alternativen es gibt und und wie die Roboter letztlich Fußball spielen lernen, beschreibt der nachfolgende Artikel. (mdö) n
Infos |
[1] Homepage der Allemaniacs Aachen: [http://robocup.rwth-aachen.de] [2] DFG-Schwerpunktprogramm zum Thema Robocup: [http://ais.gmd.de/dfg-robocup] [3] Motoren und Batterien von Invacare: [http://www.invacare.de] [4] Kamera und Framegrabber von Leutron- Vision: [http://www.leutron-vision.de] [5] CAN-Bus-USB-Adapter von Peak-System: [http://www.peak-system.com] |
Der Autor |
Christian Fritz ist seit mehr als zwei Jahren im Team der Allemaniacs. Er hat während seines Informatikstudiums an der RWTH Aachen als studentische Hilfskraft begonnen und seine Diplomarbeit über die Integration von expliziter Programmierung und entscheidungstheoretischem Planen zur Steuerung autonomer Agenten in dynamischen Umgebungen geschrieben. Seit Februar ist er als Doktorand beschäftigt. |