Antrag auf Gewährung einer Sachbeihilfe im Rahmen des DFG-SPPs Kooperierende Teams mobiler Roboter in dynamischen Umgebungen Neuantrag 1.1 Antragsteller Raúl Rojas, Dr. habil. Univ.-Prof., C4 Deutsche und Mexikanische Staatsbürgerschaft Freie Universität Berlin Fachbereich Mathematik und Informatik Institut für Informatik Takustr. 9, 14195 Berlin Tel: 030/838 75102/100 Fax: 030/838 75109 Email: [email protected] Privatadresse: Margaretenstr. 20 12203 Berlin Tel: 030/8410134 1.2 Thema Entwicklung von Verfahren zur Selbstlokalisation mittels Computervision, Sensorintegration, Spielerkooperation und Verstärkungslernen für autonome, mobile Roboter in der Small-Size-Liga. 1.3 Kennwort FU-Fighters 2 1.4 Fachgebiet und Arbeitsrichtung Das Projekt wird am Institut für Informatik der FU Berlin in der Arbeitsgruppe Künstliche Intelligenz durchgeführt. 1.5 Voraussichtliche Gesamtdauer Sechs Jahre im Rahmen des DFG-Schwerpunktprogramms "Kooperierende Teams mobiler Roboter in dynamischen Umgebungen". 1.6 Antragszeitraum Hier 1. und 2. Jahr. 1.7 Bei Neuanträgen gewünschter Beginn der Förderung: Januar 2001 3 1.8 Zusammenfassung Wir entwickeln seit 1998 an der Freien Universität Berlin ein Team autonomer mobiler Roboter (die "FU-Fighters"). Mit diesen Maschinen haben wir an den RoboCup-Wettbewerben in der Small-Size-Liga (F180-Liga) teilgenommen und sind in den Jahren 1999 (Stockholm) und 2000 (Melbourne) jeweils Vizeweltmeister in dieser Kategorie geworden. Ferner haben wir im Mai 2000 die Europameisterschaft in Amsterdam gewonnen. Momentan dient eine zentrale Videokamera, die über dem Spielfeld hängt und an einen PC angeschlossen ist, als Hauptsensor für die Verhaltenssteuerung. Unsere mobilen Roboter sollen nun derart erweitert werden, daß ohne externe Videokamera gespielt werden kann. In der erste Phase des Projektes wird jeder Roboter eine eigene Videokamera tragen, welche die Videodaten an einen externen Computer funkt, in dem diese Daten analysiert werden. Wir werden die notwendige Software entwickeln, um die Roboter zu lokalisieren und den Ball zu finden. Diese Software soll dann in der zweiten Phase auf einen kleinen Bildverarbeitungsrechner portiert werden, der in die Roboter integriert wird. Ferner planen wir die Erweiterung der Sensoren beispielsweise um einen Infrarotdetektor am Boden des Roboters, der mittels des optischen Flusses die Bewegung des Roboters bestimmt. Das Verhalten unserer Roboter wird durch eine reaktive hierarchische Kontrollarchitektur bestimmt. Mit zunehmender Komplexität steigt die Anzahl der Parameter dieses Systems, so daß eine automatische Anpassung durch Lernen notwendig wird. Dazu wollen wir den Ansatz des „Reinforcement Learnings“ verwenden. Mit Hilfe eines Simulators werden wir Strategie und Taktik des Spiels trainieren, während die Bewegungskontrolle anhand von realen Robotern trainiert werden muß. Anders als in der RoboCup-Liga der großen Roboter ist in unserer Liga eine gute Simulation des Roboterverhaltens möglich, weil wir die Antwort des Systems (in diesem Fall des Teams) exakt bestimmen, aufzeichnen, messen und analysieren können. Unser Ziel ist es, innerhalb von 2 Jahren durch eine Kombination von lokaler Computervision, zusätzlichen Sensoren und Lernstrategien auf einem großen Spielfeld (9 5 Meter) mit elf Robotern zu spielen. Zur Koordination der elf Spieler wollen wir Ansätze verwenden, die sich in der Simulationsliga bewährt haben. 4 2. Stand der Forschung und eigene Vorarbeiten 2.1 Stand der Forschung In den letzten Jahrzehnten sind Produktion und Entwicklung von Industrie-Robotern zu einem wichtigen Wirtschaftszweig geworden. Roboter werden u.a. bei der Montage und Lackierung von Fahrzeugen sowie anderen Produkten eingesetzt. Es wird erwartet, daß im Jahre 2002 ca. 83000 neue Roboter in den USA, Japan, Deutschland, Italien, Frankreich und Großbritannien installiert werden [UN 1999]. In Deutschland wächst der Umsatz für Roboter um circa 10% jährlich, obwohl hierzulande, im Gegensatz zu Japan und anderen Ländern, eine strengere Definition des Begriffs „Roboter“ verwendet wird. Es wird erwartet, daß in Deutschland bis 2002 mehr als 100,000 Roboter im Einsatz sein werden. In bezug auf die Anzahl von „Roboter pro Arbeitskraft“ belegt Deutschland in der Fertigungsindustrie mit einem Roboter je 100 Arbeitsplätze einen Spitzenplatz. Geht man von der allgemeineren Begriffsdefinition für Roboter aus, wird in Japan sogar schon ein Roboter je sechs Arbeitskräfte eingesetzt [UN 1999]. Produktionsroboter sind also eine Realität in der heutigen Welt. Zum größten Teil handelt es sich dabei um fest montierte Roboter und Handhabungsmaschinen. Die nächste Robotergeneration wird jedoch aus mobilen und autonomen Robotern bestehen. Bis heute sind sie in Fabriken selten zum Einsatz gekommen, weil die Produktionswelt an die herkömmlichen Roboter angepaßt werden konnte. Die neue Herausforderung besteht nun darin, Roboter für menschengerechte Umgebungen zu bauen. Solche Roboter, die im Dienstleistungssektor eingesetzt werden könnten, müssen eine Reihe von Problemen bewältigen, die von dem Erkennen der Umgebung, der Steuerung, der Art der Bewegung (auf Rädern oder Beinen) und der Fehlertoleranz bis zur Kommunikation reichen. Service-Roboter zu bauen ist um eine Größenordnung schwieriger als Industrieroboter zum Einsatz zu bringen. Trotzdem erwartet die International Federation of Robotics auch hier einen deutlichen Zuwachs in Produktion und Vermarktung bis zum Jahr 2002. Die zunächst anvisierten Anwendungen sind Reinigungsroboter (für Fenster und Böden), Kanalroboter (für Inspektionen und Reparaturen), Chirurgieroboter, Dienstboten-Roboter, Roboter für Inspektionen in gefährlichen Gebieten und Roboter für Behinderte (zum Beispiel „intelligente“ Rollstühle [Lankenau, Röter 2000]). Die RoboCup-Initiative hat mit ihrem jährlichen Wettbewerb einen Benchmark definiert, bei dem die Fortschritte in der Forschung und Entwicklung von mobilen, autonomen Robotern eingeschätzt werden können [Kitano et al. 1997]. Es handelt sich natürlich um keinen absoluten Maßstab, und vieles, was für Dienstleistungsroboter wichtig ist, wird nicht berücksichtigt. Es ist aber eine erste Annäherung beim Vergleich der Fähigkeiten mobiler Roboter in einer hoch dynamischen Umgebung. Roboterfußball bietet die Gelegenheit unterschiedliche Ansätze für die Roboterlokalisation, Koordination und Steuerung zu testen und durch den direkten Vergleich im Wettbewerb bis an das Maximum zu optimieren. Viele der Schwierigkeiten, die bei Service-Robotern zu Tage treten, sind auch bei RoboCup in 5 einer einfacheren Form vorhanden, die aber auch skalierbare Lösungen zulassen. In dem Maße, in dem bei RoboCup die Regeln geändert werden, so daß Roboter mehr und mehr die sensorische Perspektive des Menschen berücksichtigen müssen, werden auch Algorithmen und Methoden entwickelt, die in der Zukunft bei Service-Robotern zum Einsatz kommen könnten. Aus diesem Grund ist Roboter-Fußball ein neues, zentrales Problem der KI-Forschung geworden und hat heute den gleichen Stellenwert, den Schach über Jahrzehnte besaß [Turing 1950]. Die neue KI setzt außerdem den Akzent auf die Einbettung der KI in einen Körper ("Embodyment"), d.h. Problemlösung in realen Umgebungen mit physikalischer Interaktion [Brooks 1991, Christaller 1999, Franklin 1997]. Forschung an solchen Leitproblemen führt zur Bündelung der Kräfte und zu neuen Durchbrüchen in der KI. In unserem Projekt wollen wir eine Reihe von wichtigen Problemen aus dem Bereich autonomer mobiler Roboter bearbeiten und lösen, sowie unsere Ansätze bei einem Team von Robotern für die RoboCup-Small-Size-Liga testen. Die Probleme, die uns dabei interessieren, sind: a) Selbstlokalisation durch die Benutzung einer Videokamera, die am Roboter installiert ist; b) Ankopplung von zusätzlichen einfachen Sensoren, die zudem miniaturisiert werden können, insbesondere die Navigation mittels Berechnung des optischen Flusses; c) Kollaboration von größeren Roboterteams (bis zu elf Roboter auf einem größeren Feld) und Lernalgorithmen für die Robotersteuerung. Zu jedem Aspekt dieses Arbeitsgebietes kommentieren wir nun den Stand der Forschung. 2.1.1 Selbstlokalisation In der F2000-RoboCup-Liga (Roboter mit max. 2000 cm2 Grundfläche) werden zwei Hauptansätze für die Navigation verwendet: Lokalisation des Roboters durch Einsatz eines Laserscanners (wie beim Team von der Universität Freiburg [Gutmann et al. 2000]) und Lokalisation durch Computervision [Enderle et al. 2000]. Mit dem Laserscanner kann die Entfernung von Objekten in einem 180°-Bereich gemessen werden. Damit ist die Ortung der Spielfeldbegrenzung einfacher als mit optischen Mitteln. Aus der Lage der Wände kann man dann die Koordinaten der Roboter im Feld bestimmen. Da die Position der Roboter in Echtzeit vom On-BoardComputer verfolgt wird, ist es ohne weiteres möglich, Mehrdeutigkeiten aufzulösen, die durch die Symmetrie des Spielfeldes entstehen. Der Nachteil eines Laserscanners liegt jedoch im Preis und Gewicht der industriell verfügbaren Scanner, die eher für große Roboter gedacht sind. Teams, die Laserscanner verwenden, können die Lage der Wände durch eine Hough-Transformation berechnen. Es bleibt die Ermittlung der Lage des Balls und der anderen Roboter. Wenn jeder Roboter in einem Team seine Position selbst bestimmt und an den anderen Roboter per Funk überträgt, dann sind alle übrigen Punktwolken in dem Laserscan notwendigerweise die Roboter des gegnerischen Teams. Eine interessante Fragestellung ist, wie solche Laserscanner miniaturisiert werden können und wieviel Energie sie brauchen. Diese Frage ist für Roboter in der F180- 6 Liga relevant, weil dann die Navigation der Roboter ähnlich wie in der F2000-Liga berechnet werden könnte. Der PLS-Laserscanner von der SICK AG, der von mehreren deutschen Teams verwendet wird, hat ungefähr die Maße eines F180Roboters und verbraucht 17 W. Allein dieser hohe Energieverbrauch ist für die SmallSize-Liga inakzeptabel. Andere Laserscanner auf dem Markt sind etwas kleiner, aber dennoch ungeeignet für den Einsatz in der F180-Liga. Da in der näheren Zukunft geplant ist, die Feldwände der F180-Liga durch einfache Begrenzungslinien zu ersetzen, wird der Einsatz von Laserscannern zusätzlich unattraktiver. In der F180-Liga muß also der Einsatz optischer Sensoren im Vordergrund stehen. Bei der Navigation mit visuellen Reizen gibt es im wesentlichen zwei Methoden: Benutzung einer unidirektionalen, frontalen Kamera oder einer omnidirektionalen Kamera (herkömmliche Videokamera, die vertikal nach oben gerichtet ist und auf einen gewölbten Spiegel schaut). Bei dem Einsatz von frontalen Kameras werden bestimmte Merkmale des Spielfeldes erkannt. Man kann z.B. die vertikalen Farbkontraste an den Toren und Ecken bestimmen [Enderle et al. 2000], oder die Übergänge zwischen dem grünen Feld und den weißen Wänden suchen [Marques 2000]. Die Lage der Wände wird dann durch die Berechnung der Hough-Transformation bestimmt und Unsicherheiten werden mit den Messungen zusätzlicher Sensoren aufgehoben (vor allem Odometrie). Dabei können die Aberrationen der Linsen noch in der Software kompensiert oder vernachlässigt werden. Das Interesse der Industrie an omnidirektionaler Computervision ist in den letzten Jahren stark gestiegen. Ein erster IEEE-Workshop über das Thema hat im Jahr 2000 stattgefunden [IEEE 2000]. Im Fall von omnidirektionalen Kameras ist das erste Problem, die genaue Form des Spiegels zu finden [Baker, Nayar 2000]. Durch numerische Berechnungen können Spiegel bearbeitet werden, die das quadratische Spielfeld auch quadratisch auf die Kamera abbilden [Marchese, Sorrenti 2000]. Der Nachteil solcher Spiegel ist jedoch, daß sie zu wenig Pixel für das Spielfeld verwenden und zu viele für die Spielfeldumrandung. Eine häufige Alternative sind hyperbolische Spiegel oder Spiegel mit drei verschiedenen Phasen: eine sphärische Phase direkt vor der Kamera, eine konische Wand und schließlich eine horizontale Spiegeloberfläche, wie in der Abbildung unten gezeigt. Spiegel Kamera Abbildung 1: Omnidirektionaler Spiegel mit drei Phasen 7 Die Richtung eines Objektes in bezug auf die Kamera kann mit einem hyperbolischen oder einem anderen rotationssymmetrischen Spiegel direkt abgelesen werden. Im Fall der F180-Liga muß berücksichtigt werden, daß die zur Verfügung stehenden Videokameras sehr klein sind und einen festen Öffnungswinkel haben. Der Spiegel muß also an die Kamera angepaßt werden. Dies erfordert kostengünstige Alternativen. Wir haben eine solche Alternative gefunden, wie weiter unten in Abschnitt 2.2 dargestellt wird. 2.1.2 Navigation mit zusätzlichen Sensoren Üblicherweise wird sowohl in der F180 als auch in der F2000-Liga mit Odometrie gearbeitet. Die Motoren liefern genug Pulse pro Sekunde, um die Information über die Anzahl der Radumdrehungen zu erhalten und daraus die jeweils neue Position eines Roboters zu bestimmen. Aber bereits nach wenigen Sekunden macht sich die Abweichung der berechneten zur realen Position signifikant bemerkbar. Die Qualität der Odometrie hängt u.a. von der Haftung der Räder auf dem Belag der Spielfläche ab, die im voraus meistens unbekannt ist. Zudem können die Räder bei Kollisionen überdrehen oder der Roboter kann durch einen anderen verschoben werden. Deswegen wird Odometrie nur als ergänzendes Element für die Navigation verwendet. Wir werden in unserem Projekt eher die Aufmerksamkeit auf passive Sensoren lenken, die durch optische Mittel Informationen aus der Umgebung extrahieren. Der Vorteil von passiven gegenüber aktiven Sensoren ist, daß es einfacher ist, Interferenzen zwischen Teammitgliedern zu vermeiden. In vielen Fällen müssen z.B. aktive Ultraschallsensoren ausgeschaltet werden, da sie ungeeignet für die dynamische RoboCup-Umgebung sind. Für die Ermittlung der Ausrichtung der Roboter kann ein z.B. ein elektronischer Kompaß verwendet werden. Verschiedene Teams in der F2000-Liga haben in der Vergangenheit durch die Messung des Erdmagnetfelds versucht, die Positionsbestimmung zu verbessern. Eine Schwierigkeit dabei sind magnetische Felder, die durch die eigenen Motoren oder andere Roboter erzeugt werden. Sind die Störungen sehr groß, wird der Kompaß unbrauchbar. In bezug auf die Navigation ist ein gestiegenes Interesse an omnidirektionalen Fahrwerken zu verzeichnen. Bei RoboCup 2000 verwendete jeweils ein Endspielteilnehmerteam in der F2000 und F180-Liga die omnidirektionale Steuerung. Das italienische Team Golem hat rund um die omnidirektionale Kamera einen symmetrischen Roboter gebaut, wodurch die Navigation vereinfacht wurde. Computersehen und mechanischer Aufbau müssen fein abgestimmt werden [Bonarini 2000]. Omnidirektionale Fahrwerke sind insbesondere im Fall des Torwarts wichtig, weil sie ihm größere Mobilität und Reichweite verleihen. Ein Überblick über die verschiedenen beim RoboCup eingesetzten omnidirektionalen Fahrwerke findet man in [Duhaut 2000]. 8 2.1.3 Lernalgorithmen für die Steuerung von Robotern In der Robotik hat Reinforcement Learning (RL) bereits seit Jahren eine herausragende Stellung. RL besteht darin, eine Kosten- oder Erfolgsfunktion durch Exploration des Aktionsraumes zu bestimmen [Sutton 1998]. Das klassische Beispiel sind NeuroGammon und TD-Gammon, zwei mit Hilfe von neuronalen Netzen trainierte Programme, die im Laufe von Spielen gegen sich selbst so gut werden, daß sie danach besser als Menschen Backgammon spielen können [Tesauro 1990, 1995]. Es liegt nahe, auch diesen Ansatz im Bereich der automatischen Steuerung von Robotern zu verwenden. Experimente mit einfachen Systemen wie z. B. Pendel oder Greifer zeigen, daß RL gute Ergebnisse liefern kann. Im Bereich autonomer Roboter sind auch Experimente durchgeführt worden, bei denen der Aktionsraum stark begrenzt ist. Insbesondere zeigten Baltes und Lin [2000] vor kurzem, daß es durch RL möglich ist, autonome Roboter Pfadplanung in einer dynamischen Umgebung lernen zu lassen. Wir verwenden für die Steuerung unserer Roboter einen reaktiven Ansatz, der von der Subsumption-Architektur von Brooks [1999] und dem Dual-Dynamics-Ansatz von Herber Jäger inspiriert wurde [Jäger 1996, Jäger et al. 1997]. In der SubsumptionArchitektur besteht der wesentliche Gedanke darin, die Steuerung in Schichten steigender Komplexität zu teilen, so daß zuerst die elementaren Roboterreflexe programmiert werden und darauf aufbauend die komplexeren Verhaltensebenen. Der mehrschichtige Ansatz hat viele Nachahmer in der Robotik gefunden, da Experimente in kurzer Zeit durchgeführt werden können und das fertige System nach und nach entsteht. Der Dual-Dynamics-Ansatz besteht im wesentlichen darin, jede Ebene als ein dynamisches System zu begreifen, bei dem die oberen Systeme Steuerungsparameter für die unteren Ebenen setzen. Beide Ansätze, die SubsumptionArchitektur und den Dual-Dynamics-Ansatz haben wir in unseren eigenen Systemen vereint und durch eine zusätzliche temporäre Hierarchie erweitert (mehr dazu weiter unten). Die Kombination des reaktiven Ansatzes mit Reinforcement Learning in der Robotik scheint ein vielversprechender Weg. Elementare Roboteraktionen können durch Lernen und nicht durch aufwendiges Programmieren implementiert werden. Schwieriger ist es mit RL in den Bereich der Spielerkooperation vorzudringen. In der Simulationsliga spielt Kooperation eine große Rolle. Bis 1999 war der hierfür dominierende Ansatz, die Spielsituationen durch einen Entscheidungsbaum abzuarbeiten. So wurde das Team der Carnegie Mellon Universität in jenem Jahr Weltmeister. Seit diesem Jahr hat sich jedoch RL fest in der Simulationsliga etabliert. Sowohl die Programmierer von CMU-99 als auch das Team aus Karlsruhe haben in der Simulationsliga durch RL Teile der Aktionsauswahl trainiert [Stone et al. 2000, Riedmiller et al. 2000]. Das Team aus Karlsruhe hat mit dieser Strategie beim RoboCup 2000 den zweiten Platz belegt und sieht als die nächste Herausforderung, RL-Methoden auch in komplexen Spielsituationen mit mehreren Spieler einzusetzen. 9 Die wesentliche Schwierigkeit ist dabei die enorme Vergrößerung des Suchraumes. Stone et al. [2000] haben deswegen zuerst sehr spezielle Situationen untersucht und konnten dabei gute Ergebnisse vorweisen. Fazit Zusammenfassend können wir festhalten, daß bei dem aktuellen Stand der Forschung auf dem Gebiet mobiler Roboter in der dynamischen RoboCup-Umgebung noch viele Probleme gelöst werden müssen. Obwohl die rein optische Navigation wesentliche Fortschritte gemacht hat, arbeiten die meisten F2000-RoboCup-Teams mit niedrigen Frameraten. Die Roboter sind auch langsamer als in der F180-Liga (relativ zum Spielfeld), womit es eine echte Herausforderung ist, die lokale Computervision so weit zu verbessern und zu miniaturisieren, daß sie auf einer kleinen Elektronik laufen kann. Außerdem ist der Spielverlauf in der F180-Liga wesentlich schneller, d.h. ausreichend hohe Frameraten sind dafür notwendig. Die zweite Herausforderung besteht darin, Lernen in einer realen und nicht in einer simulierten Umgebung einzusetzen. Hier bietet auch die F180-Liga eine wichtige Plattform, um die Methoden des Reinforcement Learning zu verwenden. Im folgendem Abschnitt besprechen wir, wie unser Projekt diese beide Herausforderungen berücksichtigt. Referenzen Simon Baker and Shree K. Nayar, "A Tutorial on Catadioptric Image Formation", Department of Computer Science, Columbia University, New York, 2000. [Baltes, Lin 2000] J. Baltes, Y. Lin, "Path Tracking Control of Non-holonomic Car-like Robot with Reinforcement Learning", in M. Veloso, E. Pagello, H. Kitano (Hrsg.), RoboCup-99: Robot Soccer World Cup III, SpringerVerlag, Berlin, 2000. [Bonarini 2000] Andrea Bonarini, "The Body, the Mind or the Eye, First?", in M. Veloso, E. Pagello, H. Kitano (Hrsg.), RoboCup-99: Robot Soccer World Cup III, Springer-Verlag, Berlin, 2000. [Brooks 1999] Rodney Brooks, Cambrian Intelligence, MIT Press, Cambridge, 1999. [Brooks 1991] Brooks, R.A.: “Intelligence without reason”. A.I. Memo 1293, MIT AI Lab, 1991 (auch in Brooks 1999). [Christaller 1999] Christaller, T.: “Cognitive Robotics: A New Approach to Artificial Intelligence”. In: Artificial Life and Robotics, Springer-Verlag, 3/1999 [Duhaut 2000] Dominique Duhaut, "Omnidirectional Model for F2000 and Locomotion for Legged", RoboCup 2000 Camp, Italien. [Enderle et al.2000] S. Enderle, M. Ritter, D. Fox, S. Sablatnög, G. Kraetzschmar, G. Palm, "Vision Based Localization in RoboCup Environments", in [Baker, Nayar 2000] 10 Proceedings of the Fourth International RoboCup Workshop, Melbourne, September 2000, S. 232-237. [Franklin 1997] Stan Franklin, "Autonomous Agents as Embodied AI", Cybernetics and Systems, Vol. 28, N. 6, 1997, S. 499-520. [Gutmann et. al. 2000] J.-S. Gutmann, T. Weigel, B. Nebel, "Fast, Accurate, and Robust Self-Localization in the RoboCup Environment", in M. Veloso, E. Pagello, H. Kitano (Hrsg.), RoboCup-99: Robot Soccer World Cup III, Springer-Verlag, Berlin, 2000. [IEEE 2000] IEEE Workshop on Omnidirectional Vision (Omnivis 2000), Juni 2000, South Carolina. [Jäger 1996] Jäger, H.: “The Dual Dynamics Design Scheme for Behavior-based Robots: A Tutorial”. Arbeitspapiere der GMD 966 (1996) [Jäger et al. 1997] Jäger, H., Christaller, T.: “Dual Dynamics: Designing Behavior Systems for Autonomous Robots”. In: Fujimura, S., Sugisaka, M. (eds:) Proceedings International Symposium on Artificial Life and Robotics (AROB '97), Beppu, Japan, (1997) 76—79 [Kitano et al. 1997] H.Kitano, M. Asada, Y. Kuniyoshi, I. Noda, E. Osawa, H. Matsubara, "RoboCup: A Challenge Problem for AI", AI Magazine, Vol. 18, N. 1, 1997, S. 73-85. [Lankenau, Röter 2000] A. Lankenau, Th. Röter, "Smart Wheelchairs - State of the Art in en Emerging Market", KI-Zeitschrift, Heft 4, Oktober 2000. [Marchese, Sorrenti 2000] Fabio Marchese, Domenico Sorrenti, "Omnidirectional vision with a multi-part mirror", in Proceedings of the Fourth International RoboCup Workshop, Melbourne, September 2000. [Marques 2000] Marques, A Localization Method for a Soccer Robot Using a Vision-Based Omni-Directional Sensor, in Proceedings of the Fourth International RoboCup Workshop, Melbourne, September 2000. [Riedmiller et al. 2000] M. Riedmiller, A. Merke, D. Meier, A. Hoffman, A. Sinner, O. Thate, Ch. Kill, R. Ehrmann, "Karlsruhe Brainstormers - A Reinforcement Learning approach to robotic soccer", in Proceedings of the Fourth International RoboCup Workshop, Melbourne, September 2000. [Stone et al. 2000] Peter Stone, Richard Sutton, Satinder Singh, "Reinforcement Learning for 3 vs. 2 Keepaway", in Proceedings of the Fourth International RoboCup Workshop, Melbourne, September 2000. [Sutton 1998] R. Sutton, A. Barto, Reinforcement Learning: An Introduction, MIT Press, Cambridge, 1998. [Tesauro 1990] G. Tesauro, "Neurogammon: A Neural-Network Backgammon Program", IJCNN 90 International Joint Conference on Neural Networks, vols.1-3. New York, IEEE, 1990. p. C33-40. [Tesauro 1995] G. Tesauro, "Temporal Difference Learning and TD-Gammon", Communications of the ACM, March 1995 / Vol. 38, No. 3. Alan Turing, “Computing Machinery and Intelligence”, Mind – A Quarterly Review of Psychology and Philosophy, Vol. LIX, N. 236, Oktober 1950. UN, World Robotics 1999 - Statistics, Market Analysis, Forecasts, Case Studies and Profitability of Robot Investment, IFR 1999. [Turing 1950] [UN 1999] 11 2.2 Eigene Vorarbeiten / Arbeitsbericht Wir haben in Rahmen von Robotik-Seminaren an der Freien Universität Berlin ein F180-Team von Robotern gebaut, mit dem wir an den Weltmeisterschaften 1999 und 2000, sowie an der Europameisterschaft 2000 teilgenommen haben [Rojas et al. 2000a]. Bis heute haben wir in jedem Semester eine RoboCup AG veranstaltet. Wir befinden uns im dritten Jahr unserer Zusammenarbeit. Die spezielle Expertise unserer Arbeitsgruppe liegt in dem Einsatz von konnektionistischen Methoden in der Bildverarbeitung, in der Mustererkennung und in der reaktiven Robotik [Rojas 1995, 1996a, 1996b, Pfister et al. 1999]. Mechanik und Elektronik Die von uns gebauten mobilen Roboter wurden nach den von der F180-Liga auferlegten Restriktionen gebaut [Behnke et al. 2000b]. Unser Team besteht aus vier Feldspielern und einem Torwart. Der Torwart hat, bedingt durch die unterschiedlichen Aufgaben, eine andere Mechanik als die Feldspieler. Aber auch die Feldspieler unterscheiden sich zum Teil im Aufbau. Dies resultiert einerseits aus dem jeweiligen Entwicklungsstadium, andererseits aber auch aus verschiedenen Ideen, die experimentell in Hardware umgesetzt werden. So haben wir z. B. zwei Varianten der Elektronik gebaut. Einige Grundprinzipien sind jedoch gleich geblieben. Beispielsweise hat jeder Feldspieler nur zwei Räder, womit Drehungen auf der Stelle sowie schnelle Beschleunigungen vorwärts und rückwärts möglich sind. Abbildung 2 zeigt die Hauptkomponenten in unserem System [Ackers et al. 1999]. Die Videokamera bietet uns eine Gesamtansicht des Spielfeldes mit 30 Bildern pro Sekunde im NTSC-Format, die im Zentralrechner durch einen Framegrabber eingelesen werden. Der Zentralrechner verarbeitet jedes Videobild, findet den Ball und alle Roboter (die farblich markiert sind), legt das Verhalten der Spieler fest und funkt die notwendigen Steuerungsbefehle an jeden Roboter. Alle Roboter empfangen dieselben Pakete, aber verarbeiten nur solche, die ihre eigene Identifikationsnummer (ID) tragen. Der On-Board-Computer extrahiert dann die Information aus den Paketen und steuert drei Motoren an: zwei für die Räder und einen für den Schußapparat, der aus einer rotierenden Platte besteht. Videokamera Funk Funk On-BoardComputer Abbildung 2: Aufbau des Systems Zentralrechner 12 Die Roboter haben einen maximalen Durchmesser von 18 cm und weniger als 180 cm² Grundfläche (nach den Regeln für die F180-Liga). Das Spielfeld hat etwa die Größe einer Tischtennisplatte, wie in der Abbildung 3 gezeigt. Abbildung 3: Spielsituation, Europameisterschaft 2000. Rechts die FU-Fighters, links das spanische Rogi-Team. Die Mechanik der Roboter wurde von uns selbst entworfen. Die Werkstatt des Fachbereiches Physik und das Fritz-Haber-Institut der Max-Planck-Gesellschaft in Berlin haben die Fertigung der aufwendigeren Teile übernommen. Das Chassis der Roboter wurde aus Aluminium gefertigt. Die Motoren von Faulhaber erlauben eine Geschwindigkeit von 1-3 Meter pro Sekunde, je nachdem wie groß die Räder der Roboter sind. Jeder Motor liefert 16 Impulse pro Umdrehung, die mit dem On-Board-Computer gezählt werden können, um herauszufinden, ob der Roboter die gewünschte Geschwindigkeit erreicht hat. Die Impulse werden 122 mal pro Sekunde gezählt und die Differenz zum gewünschten Wert berechnet. Die Motoren werden durch PWM-Signale (Pulsweitenmodulation) angesteuert. Durch die Anpassung der Breite der Impulse kann die Geschwindigkeit der Motoren fein reguliert werden. Wir haben beim RoboCup 1999 eine Innovation eingeführt: den Schußapparat. Es handelt sich dabei, wie in Abbildung 4 gezeigt, um eine im Roboter eingebaute rotierende Platte, mit der der Spielball stark beschleunigt werden kann. Der Motor, der die rotierende Platte in Bewegung setzt, wird vor dem Schuß gestartet, die Platte akkumuliert dadurch kinetische Energie und gibt sie zum Zeitpunkt des Schusses in Sekundenbruchteilen an den Ball weiter. Mit diesem Schußapparat ist es sogar möglich, den Ball über die Gegner zu schießen. Diese Innovation hat den Spielverlauf in der F180-Liga revolutioniert und dazu geführt, daß die senkrechten Wände am Rande des Spielfeldes durch kleine schräge Wände beim RoboCup 2000 ersetzt wurden, um Schüsse über die Wand zu verhindern. 13 Abbildung 4: Schußapparat der FU-Fighters. Mittlerweile haben wir bereits drei Robotergenerationen gebaut, die unterschiedliche mechanische Charakteristiken aufweisen. Die erste Robotergeneration wurde für den harten Schuß mit der rotierenden Platte entwickelt. Die zweite Robotergeneration besteht aus kleineren, abgerundeten Robotern mit größeren Rädern. Sie sind schneller als die erste Generation und wurden darauf optimiert den Ball schnell zu führen und um die Gegner zu fahren. Die dritte Robotergeneration ist kräftiger gebaut. Hier wurde der Schußapparat wie ein rotierender Käfig um die inneren Teile des Roboters gebaut. Die Roboter sind sehr schnell und deswegen besser für ein größeres Spielfeld geeignet: Mit dieser letzten Robotergeneration sind wir, vom mechanischen Standpunkt aus gesehen, bereits in der Lage in dem Spielfeld der F2000-Roboter (9 mal 5 Meter) zu spielen. Die Abbildungen 5, 6 und 7 zeigen Ansichten des mechanischen Aufbaus unserer Roboter [Rojas et al. 2000a]. Abbildung 5: Erste Robotergeneration Man sieht in Abbildung 5 die benutzte On-Board-Elektronik und die Motoren (Roboter rechts). Die ID der Roboter kann über DIP-Schalter eingestellt werden. Die ganze Elektronik ist auf einer einzigen Platine untergebracht. 14 Abbildung 6: Die zweite Generation. Roboter für das Dribbeln Die Roboter der zweiten Generation sind leicht, klein und wendig. Sie wurden so entworfen, daß sie den Ball gut führen und aus voller Fahrt den Ball schießen können. Dafür haben sie eine frontale Platte, die durch Hub-Magnete aktiviert wird (Abbildung 6, rechts). Abbildung 7 zeigt den Aufbau der Roboter der dritten Generation. Mit starken Motoren und großen Rädern ausgestattet erreichen sie hohe Endgeschwindigkeiten. Rechts im Bild sind die zwei runden Käfige des Torwarts zu sehen, die als Schußapparat dienen. Die Feldspieler (links im Bild) besitzen nur je einen solchen Käfig. Die Käfige drehen sich um Elektronik, Motoren und Akkus. Zwei Motoren treiben den Schußapparat an. Die Roboter sind so kräftig gebaut, daß sie die Grundlage für ein Team bilden können, das auf dem großen Spielfeld agiert. Beim RoboCup 2000 in Melbourne konnten wir mit diesen Robotern per manueller Fernsteuerung den F2000-Ball (oranger Junior-Winterfußball aus Leder) schieben. Abbildung 7: Die dritte Generation. Größere, schnellere Roboter mit neuer Schußtechnik. 15 Schließlich zeigt Abbildung 8 einige spezielle Roboter, die als Zentralverteidiger bzw. als Torwart eingesetzt werden können. Als Zentralverteidiger bewegen sie sich vor dem Strafraum parallel zur Torlinie. Sie können sich schnell drehen und damit den Ball wegschießen. Als Torwart eingesetzt verteidigen sie das Tor durch Bewegungen auf einem Halbkreis. Der Torwart der dritten Generation (links) ist dabei etwas schneller und drehfreudiger als der Torwart der zweiten Generation (rechts). Außerdem gibt es beim Torwart der dritten Generation die Option, die beiden Käfige aus Abbildung 7 einzubauen, so daß er zusätzlich über einen geraden Schuß nach vorne verfügt. Roboter aller drei Generationen sind bereits bei Turnieren zum Einsatz gekommen. Abbildung 8: Torwarte der zweiten (rechts) und dritten (links) Generation Eine interessante Variante ist es, mit Robotern aus unterschiedlichen Generationen ein Team zu bilden. Jeder Roboter hat dann unterschiedliche Fähigkeiten, welche die Kontrollsoftware individuell berücksichtigt. Einige Experimente mit solchen gemischten Teams haben wir bereits im Labor und bei Turnieren durchgeführt. Die On-Board-Elektronik hat sich zwischen den verschiedenen Robotergenerationen nur im Layout verändert. Wir verwenden ein 8 MHz Microcontroller von Motorola (MC68HC05) mit einem EEPROM, einer seriellen Schnittstelle und 16 digitalen Einund Ausgängen, 8 Analogeingängen und 2 Analogausgängen. Die Analogausgänge können im PWM-Modus betrieben werden. Der Microcontroller ist für das Interpretieren der vom Zentralrechner empfangenen Befehle und für die Aktivierung der Motoren zuständig. Die Funkeinheit auf unseren Robotern kann im Halb-Duplex-Modus mit einer Übertragungsrate von 9600 Baud betrieben werden. Die Befehle werden vom Zentralrechner in 8 Byte großen Paketen verschickt, die Drehrichtungen und Sollgeschwindigkeiten für die Motoren enthalten. Der Microcontroller misst die Ist-Geschwindigkeit und regelt die Pulslängen so, daß die Motoren möglichst schnell die Sollgeschwindigkeit erreichen. Wir haben bewußt die On-Board-Elektronik minimal gehalten, weil wir bis heute mit der globalen 16 Kamera über dem Spielfeld gespielt haben. In Zukunft werden wir mit lokalen Videokameras auf den Robotern spielen und notwendigerweise auf einen mächtigeren Prozessor zurückgreifen müssen. Bildanalyse Eine der Stärken des jetzigen Systems ist die robuste Computervision-Software, die der Verhaltenssteuerung den Zustand der Welt übermittelt [Simon et al. 2000]. Aus einem Strom von Live-Videobildern werden 30 Mal in der Sekunde die Positionen und Orientierungen der zehn Roboter, sowie die Position des Spielballs ermittelt. Dies ist mit einer geringen Rechenlast möglich, da nicht immer das gesamte Bild analysiert wird. Vielmehr werden die Positionen der interessanten Objekte für das nächste Bild vorhergesagt und dann nur kleine Bildausschnitte um diese herum betrachtet. Verschiedene Mechanismen sichern die Zuverlässigkeit des Systems auch dann, wenn Objekte z.B. wegen Verdeckung nicht gefunden werden können. Eine NTSC-Videokamera, die zentral über dem Spielfeld hängt, liefert die Bilder, die von der Computervision-Software verarbeitet werden. Die Videodaten werden analog mittels eines S-Video-Kabels zu einem PC übertragen, der neben dem Spielfeld steht. Dieser beinhaltet eine PCI-Framegrabber-Karte, welche die Bilddaten mit 640480 Pixeln digitalisiert und im RGB-Format in den Hauptspeicher überträgt. Abbildung 9: Markierung der Roboter: Farbpunkte dienen zur Bestimmung von Position und Orientierung. Schwarz-weiße Markierungen werden zur Identifikation verwendet. Die interessanten Objekte im Bild sind farbig markiert. Unsere Roboter tragen drei in einer Linie angeordnete Farbpunkte. Roboter anderer Teams haben ebenfalls mindestens einen Farbpunkt, die Teammarkierung, und häufig weitere farbige Markierungen. Auch der orange Spielball erscheint im Bild als Farbpunkt. Deshalb bildet die Methode zum Finden, Segmentieren und Verfolgen von kleinen farbigen Objekten den Kern der Computervision-Software. Aus den letzten beiden Positionen, an denen ein Farbpunkt gefunden wurde, wird vorhergesagt, wo er sich im aktuellen Bild befinden müßte. Um diese Stelle herum wird nun ein Fenster variabler Größe gelegt, in dem der Farbpunkt gesucht wird. Dazu wird im Suchfenster der Bildpunkt mit der größten Ähnlichkeit zur Modellfarbe ermittelt. Zur Segmentierung der zu einem Farbpunkt gehörenden Pixel wird ein kleines Fenster um diese Stelle in den HSI-Farbraum konvertiert. Die Qualität des gefundenen Farbpunktes wird anhand der Ähnlichkeit zu dessen Modell bewertet, das neben der Farbe auch die Größe und die Position des Punktes beinhaltet. Ist die Qualität gut genug, so wird das Modell angepaßt. Kann ein Farbpunkt nicht gefunden werden, so wird das Suchfenster schrittweise vergrößert. 17 Abbildung 10: Vorhersage und variable Suchfenster (links). Segmentierung im HSI-Farbraum (rechts). Die Roboter werden durch ein bis drei Farbpunkte modelliert. Falls nur zwei Farbpunkte gefunden werden, ist es beim Drei-Ball-Modell möglich, die Position des dritten Punktes zu berechnen, um zu überprüfen, ob dieser sich tatsächlich dort befindet. Wenn alle drei Punkte gefunden sind, wird deren geometrische Anordnung überprüft, um zu verhindern, daß Punkte benachbarter Roboter zusammengefaßt werden. Wird der Roboter akzeptiert, so kann seine Orientierung aus der Linie durch die drei Farbpunkte bestimmt werden. Das Verfolgen der Roboter und des Spielballs arbeitet in normalen Spielsituationen schnell und sicher. Während der Spielunterbrechungen können jedoch Menschen, die die Roboter auf ihre Ausgangspositionen stellen, die Roboter verdecken. Auch während des Spiels kann der Spielball von Robotern verdeckt werden. Deshalb wird das Objekt-Verfolgungssystem von einem Modul zur globalen Suche ergänzt, das Objekte wiederfindet, die verloren wurden. Diese globale Suche verwendet eine Multiresolutionsstrategie, um die markantesten Farbpunkte einer bestimmten Farbe zu finden. Diese werden dann entsprechend den geometrischen Nebenbedingungen zu Robotern kombiniert. Die Roboter unserer Mannschaft tragen identische Farbmarkierungen. Um sie identifizieren zu können, benutzen wir zusätzlich drei schwarz-weiße Markierungen, die neben den Farbpunkten angebracht sind. Sie codieren die Nummer des Roboters und können automatisch gelesen werden. Zu Beginn des Spiels muß also nur eine globale Suche mit anschließender Identifikation durchgeführt werden, um das System zu initialisieren. Damit wir das Bildanalyse-System auch in Umgebungen einsetzen können, in denen das Spielfeld nicht gleichmäßig ausgeleuchtet ist, haben wir die Farbpunkte in Abhängigkeit vom Ort als Farbkarten modelliert. Diese werden manuell initialisiert und adaptieren sich während des Spiels an die gefundenen Farben und Größen der Farbpunkte. 18 Abbildung 11: Farbkarte für den Spielball (oben) und Koordinatentransformation (unten). Da die Verhaltenssteuerung die Objekte in einem Standard-Koordinatensystem erwartet, erfolgt als letzter Schritt der Bildauswertung eine Transformation der Bildin die Verhaltenskoordinaten. Diese Transformation berücksichtigt, daß die Kamera nicht exakt achsenparallel mittig hängt, das Kameraobjektiv das Bild verzerrt und die Objekte verschiedene Höhen haben. Verhaltenssteuerung Obwohl Mechanik und Elektronik sehr wichtig sind und Fehlertoleranz auf allen Ebenen notwendig ist, besteht der eigentliche Kern unseres Systems aus der Software für die Verhaltenssteuerung, welche uns von anderen Teams abhebt und unsere Erfolge bei Wettbewerben erklärt [Behnke et al. 2000b]. Abbildung 12 zeigt die Hauptkomponenten der Software. Eine Benutzerschnittstelle erlaubt es uns, auf die drei Hauptmodule effizient zuzugreifen. Das Bildanalysemodul verarbeitet die Daten aus der Kamera und liefert die Koordinaten des Balls und der Spieler. Die reaktive Steuerung berechnet eine geeignete Aktion für jeden Roboter, während das Funkmodul dies in Nachrichten an die Roboter umsetzt. Benutzerschnittstelle Bildanalyse Reaktive Steuerung Abbildung 12: Aufbau der Software Funksoftware 19 Für die Steuerung der Roboter verwenden wir einen hierarchischen Ansatz zur reaktiven Verhaltenskontrolle. Das Verhalten des Gesamtsystems ergibt sich durch die Interaktion von einfachen, reflexartigen Verhaltensweisen, die unterschiedlich schnell arbeiten. Diese Verhalten wechselwirken miteinander und mit der Umwelt, so daß eine komplexe Dynamik entsteht. In unserem Ansatz dient die Zeitkonstante als Ordnungskriterium. Schnellere Verhalten sind auf niedrigeren Ebenen angesiedelt als langsamere Verhaltensweisen. Die Zahl verschiedenartiger Verhalten nimmt mit zunehmender Höhe in der Hierarchie zu [Behnke et al. 2000a]. Abbildung 13: Hierarchische reaktive Verhaltenskontrolle In einer Ebene gibt es jeweils drei dynamische Systeme. Das sensorische System aggregiert die Eingaben, die von physikalischen Sensoren kommen, sowie die sensorischen Daten der nächsttieferen Ebene in der Zeit. Der Zustand der sensorischen Dynamik bestimmt die Verhaltensdynamik. Diese entscheidet, welche Verhalten gerade aktiv sind. Ein aktives Verhalten kann den Verlauf der Aktuatordynamik beeinflussen. Der Zustand eines Aktuators kann dazu genutzt werden, physikalische Aktuatoren der Roboter anzusteuern, aber auch Zielparameter für die nächsttiefere Ebene setzen. So können die Verhalten einer Ebene von den Verhalten der darüberliegenden Ebene konfiguriert werden. Dies ermöglicht, auf den gleichen Reiz verschieden zu reagieren, abhängig von der Vorgeschichte, die im Zustand der höheren Ebenen repräsentiert ist. Die Steuerung unserer Roboter ist auf drei Ebenen verteilt, die mit 30, 15 und 7.5 Hz ausgeführt werden. Die unterste Ebene bekommt die Positionen und Orientierungen 20 der Roboter und des Balls als Eingabe. Die Ausgaben dieser Ebene sind die SollGeschwindigkeiten für die Motoren der Roboter. Diese werden an die Roboter gefunkt und von diesen umgesetzt. Die Computervision meldet dann die Bewegung der Roboter zurück. Man kann dies als Regelkreis begreifen, der von der zweiten Ebene konfigurierbar ist. Diese kann die Bewegung des Roboters durch verschiedene Parameter beeinflussen. Der wichtigste Parameter ist die Zielposition. Diese versucht das Verhalten "Steuern" durch Taxis zu erreichen, das auf der untersten Ebene aktiv ist, falls kein Hindernis im Weg ist. Das Steuern wird durch weitere Parameter beeinflußt, die beispielsweise die Maximalgeschwindigkeit festlegen, oder vorgeben, ob der Roboter eher vorwärts oder eher rückwärts zu der Zielposition fahren soll. Auf der untersten Ebene der Feldspieler gibt es ein weiteres Verhalten, das aktiv wird, wenn eine Kollision mit einem Hindernis droht. Es entscheidet dann, in welcher Richtung dem Hindernis ausgewichen werden soll und fährt anschließend auf einem Kreisbogen an diesem vorbei. Abbildung 14: Aufbau einer Ebene Die Parameter, die das Verhalten der untersten Ebene konfigurieren, sind die Aktuatoren der mittleren Ebene (siehe Abbildung 14). Auf dieser gibt es mehrere Verhalten, die verschiedene Bewegungsmuster erzeugen, wie beispielsweise die Annäherung an den Ball, das Dribbeln, den Torschuß, das Blocken des Balls in der Abwehr, das Entfernen des Balls aus einer Spielfeldecke, usw. Diese Verhalten werden durch Parameter wie Schußziel und dynamische Heimat-Position konfiguriert. Letztere wird auch dazu benutzt, Gegner zu decken bzw. Roboter frei zu stellen. Auf der oberen Roboterebene gibt es relativ langsame und komplexe Verhalten, wie Anstoß, Abwehr und Angriff, die das taktische Verhalten der Roboter beeinflussen. Diese obere Ebenen der einzelnen Spieler sind eng mit der untersten Teamebene verknüpft. 21 Abbildung 15: Prinzip der Teamsteuerung Das Teamverhalten wird genau wie das Verhalten der einzelnen Spieler erzeugt, nur daß die Verhalten auf Teamebene langsamer und komplexer sind. Auf der untersten Teamebene wird beispielweise bestimmt, welcher der Spieler die Initiative übernehmen und aktiv zum Ball gehen soll und welche Roboter andere Aufgaben wie Decken oder Freistellen bekommen. Die Rollenverteilung beim Angriff ist in Abbildung 16 veranschaulicht. Das Team verwaltet auch eine Anzahl von Rollen, die mit den einsatzfähigen Spielern besetzt werden. So kann beispielsweise der Ausfall eines Roboters automatisch kompensiert werden. Abbildung 16: Teamverhalten beim Angriff Damit die reaktive Verhaltenssteuerung nicht nur der Realität hinterherläuft, gibt es in der Hierarchie eine Vielzahl von Vorhersagen. Diese beziehen sich jeweils nur auf wenige Zeitschritte. Die Steuerung erfolgt dann nicht mit den aktuellen, sondern mit 22 den vorhergesagten Sensorwerten. So wird beispielsweise die Position des Balls vorhergesagt und der Feldspieler versucht nun, nicht direkt zum Ball zu fahren, sondern zur günstigsten Position in Abhängigkeit von der Intention. In Abbildung 17 soll zum Beispiel ein Feldspieler ein Tor schießen und nimmt dazu Anlauf. Abbildung 17: Ballvorhersage beim Anlauf Das Design der Verhalten erfolgt von unten nach oben. Komplexe Verhalten können so auf einfachen Verhalten aufbauen. Die Verhalten der Feldspieler und des Teams laufen quasiparallel auf einem PC ab. So ist es möglich, alle internen Zustände in Protokollen aufzuzeichnen und zu visualisieren. Abbildung 18: Ballvorhersage beim Anlauf 23 Auf den Protokollen aufbauend wurde ein Simulator entwickelt, der die komplette Wiederholung einer Spielszene zuläßt bei gleichzeitiger Betrachtung ausgewählter interner Zustände. Dies hat sich als sehr wertvolle Hilfe erwiesen, wenn das Verhalten der Roboter von außen nicht so aussieht, wie es die Intention der Verhaltensdesigner war. Die internen Zustände können so in einem Debugging-Prozeß überprüft werden und somit Fehler beim Verhaltensdesign relativ einfach gefunden werden. Erste Schritte in Richtung lokaler Kamera Abbildung 19 zeigt zwei Roboter mit Omni-Kameras auf der Basis von Parabolspiegeln. Wir haben uns für einen Parabolspiegel entschieden, weil diese Spiegelform günstig zu beziehen bzw. zu bauen ist. Unser Spiegel besitzt zwei Phasen: eine ebene Phase für die Beobachtung des Feldes um den Roboter und die Parabolphase, mit der das gesamte Spielfeld abgedeckt wird. Für den optimalen Einsatz des neuen Spiegels werden wir den Robotern eine eher konische Form geben. Diese wird Kamera und Spiegel schützen und die Umgebung des Roboters besser sichtbar machen. Abbildung 19: Die neuen FU-Fighters mit omnidirektionalen Kameras Unsere ersten Erfahrungen mit omnidirektionalen Kameras waren vielversprechend. Abbildung 20 zeigt eine Ansicht der Parabolphase des Spiegels, wenn der Roboter ins Zentrum des Feldes gestellt wird. Aus der Verzerrung der Spielumrandung kann die genaue Position des Roboters abgeschätzt werden. Der erste Schritt dafür besteht in der Segmentierung des Bildes, um verschiedene Klassen von Pixeln zu unterscheiden: weiße Wand, grüne Spielfläche, schwarze Roboter, oranger Ball, usw. Zum Lernen der verschiedenen Farbklassen lassen wir den Roboter im Spielfeld umherfahren: zuerst definiert der Operator einige Farben, dann wird automatisch weiter gelernt. So kann sich der Roboter an jede Beleuchtungs- und Spielsituation anpassen. Aus der 24 gewonnenen Information wird in einem zweiten Schritt eine Segmentierungstabelle aufgebaut, wodurch die Klasse einer Farbe effizient bestimmt werden kann. Abbildung 20. Ansicht des Spielfeldes im Parabolspiegel Da direkte Zugriffe auf alle Bildpixel zeitlich sehr teuer sind, klassifizieren wir das Bild durch eine Abtast-Methode, die darin besteht, die Segmentierung des Spielfeldes entlang bestimmter Richtungen durchzuführen. Abbildung 21 zeigt ein Beispiel dafür. Abbildung 21: Abtasten des Spielfeldes Mit den Informationen aus den Abtastrichtungen kann dann die Position des Roboters bestimmt werden oder zumindest eine Hypothese darüber formuliert werden, die dann mit zusätzlichen Sensorinformationen überprüft werden kann. Da wir die Roboter permanent verfolgen und ihre genaue Position kennen, läßt sich ein großer Teil der Mehrdeutigkeiten aufheben. 25 Für Training und Verbesserung der Lokalisationssoftware haben wir bereits einen 3DSimulator geschrieben, der das Spielfeld in das lokale parabolische Bild verwandelt. Damit lassen sich künstliche Daten und Verdeckungssituationen mit wenig Aufwand generieren, die dann mit unseren Algorithmen bearbeitet werden können. Abbildung 22: Komplexe Spielfeldsituation aus Sicht einer lokalen Omni-Kamera Wir haben auch schon angefangen, den neuen Bildsensor mit weiteren Informationsquellen zu versorgen: Demnächst werden wir einen herkömmlichen Kompaß mit Magnetnadel am Roboter befestigen, der über der ebenen Phase des Spiegels sichtbar ist. Der Kompaß kann dann direkt abgelesen werden, um die Orientierung des Roboters zu bestimmen. Da wir hauptsächlich durch Abtasten die Orientierung und Position des Roboters bestimmen, bildet der Kompaß einen zusätzlichen Sensor, dessen Information mit weiteren Quellen abgeglichen werden muß. Die Bildverarbeitung wird auch die Bewegung der Räder messen können, da diese weiße Streifen haben werden. Insgesamt möchten wir den Stellenwert der lokalen Bildverarbeitung stärken, so daß aus ihr so viel Information wie möglich gewonnen werden kann. Darüber hinaus kann durch Messung des optischen Flusses der ebenen Phase des Spiegels die Geschwindigkeit des Roboters abgeschätzt werden. Diese Information können wir mit den Odometrie-Daten kombinieren, um eine zuverlässigere Geschwindigkeitsmessung zu erhalten. Außerdem planen wir, einen zusätzlichen Bildsensor am Boden des Roboters einzubauen, um durch Messung des optischen Flusses die relative Bewegung des Roboters in bezug auf das Spielfeld zu bestimmen. Insgesamt bietet die Kombination all dieser Verfahren eine Genauigkeit, die für die Navigation in der RoboCupUmgebung ausreichend ist. Die Vielzahl der Sensoren macht die Entwicklung einer geeigneten Strategie für die Sensorintegration unerläßlich [Rojas 2000c]. 26 Zusammenfassung Unser Team verfügt trotz seines jungen Alters über vielfältige Erfahrungen beim Bau von Robotern, beim Design von On-Board-Elektronik, bei der Bildverarbeitung in Echtzeit und bei der reaktiven Steuerung von Multiagenten. Wir haben bereits Vorarbeiten geleistet für die Entwicklung von lernenden Small-Size-Robotern mit omnidirektionalen Kameras, die in großen Teams kooperieren. Unten sind die Wettbewerbe und Auftritte aufgelistet, an denen wir seit 1999 teilgenommen haben. Auftritte und Wettbewerbe der FU-Fighters (1999-2000) August 1999 RoboCup 1999, im Rahmen der International Joint Conference on Artificial Intelligence, Stockholm 1999 (2. Platz). September 1999 Vorführung im Rahmen des Wissenschaftsfestivals in Bonn Oktober 1999 Vorführung beim Workshop Kognition und Motorik in Como, Italien Dezember 1999 Teilnahme am Robot Soccer Cup des Westdeutschen Rundfunks während der Computernacht in Paderborn (1. Platz). Februar 2000 Vorführung bei der Berlinale 2000 im Rahmen der Sonderausstellung von Roboter-Filmen. Februar 2000 Vorführung bei der CEBIT in der Forschungshalle Mai 2000 Teilnahme an der RoboCup-Europameisterschaft (1. Platz) August 2000 RoboCup 2000 in Melbourne (2. Platz) November 2000 Vorführung bei der Ars Electronica 2000 in München Eine Auflistung der über unser Team erschienenen Pressemeldungen kann auf unserer Homepage http://www.fu-fighters.de/ gefunden werden. Dort findet man auch unsere Publikationen und Vorträge, sowie Videoaufzeichnungen von einigen Spielen, an denen wir beteiligt waren. 27 Literatur [Ackers et al. 1999] Peter Ackers, Sven Behnke, Bernhard Frötschl, Wolf Lindstrot, Manuel de Melo, Mark Preier, Raul Rojas, Andreas Schebesch, Mark Simon, Martin Sprengel, Oliver Tenchio, The Soul of a New Machine: The Soccer Robot Team of the FU Berlin, Technical Report B-12/99, Department of Mathematics and Computer Science, FU Berlin, 1999. [Behnke et al. 2000a] Sven Behnke, Raul Rojas, and Gerd Wagner, "A hierarchy of reactive behaviors handles complexity", Proceedings of: Balancing Reactivity and Social Deliberation in Multi-Agent Systems, Workshop bei ECAI, 14th European Conference on Artificial Intelligence, Berlin, 2000. [Behnke et al. 2000b] S. Behnke, B. Frötschl, R. Rojas, P. Ackers, W. Lindstrot, M. de Melo, M. Preier, A. Schebesch, M. Simon, M. Sprengel, and O. Tenchio, "RoboCup-99 (F180) Team Description: FU-Fighters," Team Descriptions RoboCup'99 -Stockholm, 1999. revised Version in RoboCup-99: Robot Soccer World Cup III, pp. 667-670, Springer, 2000. [Behnke et al. 2000c] S. Behnke, B. Frötschl, R. Rojas, P. Ackers, W. Lindstrot, M. de Melo, M. Preier, A. Schebesch, M. Simon, M. Sprengel, and O. Tenchio, "Using hierarchical dynamical systems to control reactive behavior," Proceedings IJCAI'99 - International Joint Conference on Artificial Intelligence, The Third International Workshop on RoboCup - Stockholm, pp. 28-33, 1999. Neue Fassung in RoboCup-'99: Robot Soccer World Cup III, pp. 186-195, Springer, 2000. [Rojas 1995] R. Rojas, "A short proof of the posterior probability property of classifier neural networks'', Journal of Neural Computation, Vol. 7, N. 6, 1995, pp. 41-43. [Rojas 1996a] Raul Rojas, Neural Networks, Springer-Verlag, Berlin-New York, 1996. [Rojas 1996b] R. Rojas, "A graph labeling proof of the backpropagation algorithm'', Communications of the ACM, December 1996, Vol. 39, N. 12, 1996, pp. 202-206. [Rojas et al. 2000] Raul Rojas, Sven Behnke, Lars Knipping, Bernhard Frötschl, "Team Description: FU-Fighters 2000", Peter Stone (Hrsg.), "Ro- 28 boCup-2000: Robot Soccer World Cup IV", Springer-Verlag (erscheint in 2001). [Rojas et al. 2000] R. Rojas, S. Behnke, Bernhard Frötschl, Lars Knipping, Kirill Koulechov, Wolf Lindstrot, Mark Simon, Oliver Tenchio, Lars Wolter "The Robotic Soccer Turing Test", Technical Report B-0014, FU Berlin, August 2000. [Rojas 2000] R. Rojas, "Soccer Without Reason - Sensor fusion in the FUFighters Team", Proceedings of the International Workshop Data Fusion and Perception, Udine, Oktober 2000. [Pfister et al. 1999] M. Pfister, S. Behnke, R. Rojas, "Recognition of Handwitten ZIP Codes in a Postal Sorting System", KI Zeitschrift, N. 2, 1999. [Simon et al. 2000] Mark Simon, Sven Behnke, and Raul Rojas, "Robust Real Time Color Tracking", Peter Stone (Hrsg.), Proceedings of: The Fourth International Workshop on RoboCup, Melbourne, Australia, 2000, S. 62-71. 29 3. Ziele und Arbeitsprogramm 3.1 Ziele Unsere Ziele für die ersten zwei Jahre der Förderperiode sind: - - - - Entwicklung eines Teams von völlig autonomen Robotern mit lokaler Bildauswertung durch On-Board-Elektronik. Entwicklung eines preisgünstigen omnidirektionalen Kamera-Systems für die Bildanalyse. Weiterentwicklung der Mechanik und Elektronik unserer Roboter, insbesondere in bezug auf die Ballführung und Integration von zusätzlichen Sensoren. Training der Steuerungssoftware mit Hilfe von Reinforcement Learning. Wir wollen innerhalb von zwei Jahren in der Lage sein, auf dem F2000-Spielfeld mit elf Robotern zu spielen. Uns ist bewußt, daß einige Technologien eine deutliche Weiterentwicklung auf diversen Feldern benötigen, um unsere Ziele zu erreichen. Darin liegt aber der Anreiz dieser Forschung, die unter anderem auch eine wirtschaftliche Nutzung haben wird, wie weiter unten präzisiert wird. Der Reiz des Vorhabens, mit elf Robotern auf dem F2000-Spielfeld zu spielen, liegt aber insbesondere darin, daß wir damit die charakteristischen Eigenschaften der F2000-Liga und der Simulationsliga vereinigen können. Wenn zwei Teams von je elf Robotern auf einem Spielfeld von 9 mal 5 Metern aufeinander treffen, darf keiner der Roboter Individualist sein: Mannschaftsspiel ist gefragt, um die Batterien zu schonen und schneller den Ball nach vorne zu bewegen. Gerade dies ist der Kern der Simulationsliga. Wir sind in der F180-Liga in der günstigen Situation, aus den anderen Ligen zu lernen und unser neu gewonnenes Wissen auch direkt in das Verhalten der Roboter umzusetzen. In unserem Vorhaben werden insbesondere folgende Hardware und SoftwareEinzelkomponenten entwickelt: Mechanik Wir brauchen größere Roboter, die sowohl für das Spiel auf dem F180 als auch auf dem F2000-Spielfeld geeignet sind. Die Antriebsart mit zwei Rädern soll bei den Feldspielern beibehalten werden, beim Torwart dagegen soll eventuell ein omnidirektionales Fahrwerk eingebaut werden. Wir werden parabolische Kameras auf die Roboter montieren, so daß schließlich die Form der Roboter eher konisch wird. Es hat sich während des RoboCup-2000 herausgestellt, daß ein spezieller Ballführungsmechanismus von Vorteil ist: Er besteht aus einer rotierenden Rolle, die den Ball mit starkem Unterschnitt gegen den Roboter selbst dreht. Auch wenn sich der Ball kurzzeitig entfernt, zum Beispiel durch den Stoß eines anderen Roboters, so bewirkt der Rückwärtsdrall des Balles, daß der Roboter wieder in Ballbesitz kommt. Der Ball bleibt also in fast ständigem Kontakt mit dem Roboter - und dies sogar, wenn der Roboter rückwärts fährt. 30 Abbildung 23 zeigt zwei Diagramme. Das linke Diagramm zeigt die Form der Roboter, die noch beim RoboCup-2001 mit einer globalen Kamera eingesetzt werden. Wichtigste Neuerung ist der oben beschriebene Ballführungsmechanismus. Neben der besseren Ballkontrolle ermöglicht er auch das Einschalten des Schußapparats während des Ballführens. Bisher mußte vor dem Schießen der Schußapparat bereits drehen. Der rotierende Schußapparat ist gestrichelt gezeichnet. Wir haben bereits recht gute Vorstellungen über die Art der Roboter, die wir bauen möchten. Das rechte Diagramm zeigt die Form der Roboter mit omnidirektionaler Kamera. Die Roboter werden das Bild zuerst noch per Funk übertragen, aber bereits im zweiten Jahr des Vorhabens wird die On-Board-Elektronik die Bilder verarbeiten. Durch geschickte Verteilung des Gewichtes des Roboters kann der Schwerpunkt so abgesenkt werden, daß der Roboter nicht umkippt. Der Roboter wird mit zwei Ballführungen ausgestattet. Es ist auch möglich, einen Schußapparat gemäß der Käfigkonstruktion unserer dritten Robotergeneration einzubauen. Abbildung 23: Überlegungen zu Robotern der nächsten Generation Die genaue Geometrie wird sich im Laufe des Projektes ergeben. Am Boden des Roboters werden wir einen Sensor für die Messung des optischen Flusses einbauen. Die omnidirektionale Kamera wird auch die Bewegung der eigenen Räder messen können, da diese weiße Streifen haben werden. Insgesamt möchten wir den Stellenwert der lokalen Bildverarbeitung stärken, so daß aus ihr so viel Information wie möglich gewonnen werden kann. Wir haben auch schon angefangen, den neuen Bildsensor mit weiteren Informationsquellen zu versorgen: Demnächst werden wir einen herkömmlichen Kompaß mit Magnetnadel am Roboter befestigen, der über die ebene Phase des Spiegels sichtbar ist. Der Kompaß kann dann direkt abgelesen werden, um die Orientierung des Roboters zu bestimmen. Da wir hauptsächlich durch Abtasten die Orientierung und Position des Roboters bestimmen, bildet der Kompaß einen zusätzlichen Sensor, dessen Information mit weiteren Quellen abgeglichen werden muß. Wir werden unserem Torwart ein neues mechanisches Design geben. Die wichtigste Neuerung könnte sein, ihn mit einem omnidirektionalen Fahrwerk auszustatten. Wir verwenden zur Zeit noch eine vierrädrige Konfiguration mit je zwei parallelen Rädern und 2 diagonal gegenüberliegenden Antriebsrädern. Dieser Aufbau hat den Vorteil, daß die Kräfte orthogonal wirken, erfordert jedoch eine sehr gute Abstimmung der 31 Ladungsverteilung, um eine gute Haftung zu ermöglichen. Wir werden uns für ein System mit drei oder vier Rädern nach einigen Experimenten entscheiden. Elektronik Wir werden zwei Varianten der On-Board-Elektronik bauen. Bis Seattle 2001 (der Austragungsort der nächsten RoboCup-Weltmeisterschaft) werden wir einen stärkeren Prozessor einsetzen (Power-PC mit geringem Stromverbrauch). Wir erwarten, daß Motorola uns im Rahmen einer Sachspende die Prozessoren zur Verfügung stellen wird. Damit wird es uns möglich, Teile der Software Schritt für Schritt vom Zentralrechner auf den lokalen Rechner zu übertragen. Wir möchten insbesondere die Auswertung der Odometrie der Räder und die Auswertung des Optischen-FlussSensors am Boden des Roboters durch die lokale Elektronik bewerkstelligen. Außerdem planen wir, wechselseitigen Informationsaustausch zwischen dem Zentralrechner und den Robotern einzuführen, der nicht nur im Senden von Sensordaten vom Roboter zum Zentralrechner und Senden von Steuerbefehlen vom Zentralrechner zum Roboter besteht. Statt dessen sollen die Sensordaten zu einem großen Teil lokal verarbeitet werden, nur Daten für die Teamsteuerung und zum Reinforcement Learning sollen noch vom Zentralprozessor geschickt werden. Bis heute arbeitet unser System nur in eine Richtung. Wir werden aber neue Funkmodule einbauen, die bidirektionale Kommunikation erlauben. Dazu werden wir die drahtlosen Datenübertragungstechniken DECT, WaveLAN und Bluetooth evaluieren. Für die Auswertung der Bilder von der lokalen Videokamera werden wir bis Seattle 2001 externe Rechner verwenden. Wir können bereits jetzt gleichzeitig bis zu fünf Videoströme im 2,4 GHz Band übertragen. Diese Übergangsstrategie wird uns erlauben, die Software für die Bildauswertung und Navigation der Roboter komfortabel auf einem externen PC zu entwickeln. Durch die Funkübertragung sind wir aber in der Lage, unabhängig von der neuen Elektronik bereits 2001 lokale Computervision im Spiel einzusetzen. Wegen der großen anfallenden Datenmengen bei der Videoübertragung benötigen wir 5 externe Rechner für die Steuerung. Um den Platzverbrauch gering zu halten, werden wir einen PC-Cluster in kleinem Format aufbauen, der dann mit nur einem Monitor und gemeinsamer I/O arbeitet. Die Rechner werden auch für das Projekt verwendet, wenn die On-Board-Elektronik weiterentwickelt ist: Viel Rechnerleistung wird in der zweiten Phase des Projektes für das Reinforcement Learning benötigt. Unsere zweite On-Board-Elektronik wird bereits in der Lage sein, die Bildauswertung vollständig auf dem Roboter zu bewerkstelligen. Dafür werden wir die auf dem Markt befindlichen Prozessoren auswerten, wobei wir zur Zeit eine Lösung mit einem PDAProzessor ins Auge gefaßt haben. Compaq bietet bereits einen PDA (iPaq) mit dem 206 MHz StrongARM-Prozessor an und auch Samsung plant die Markteinführung eines PDAs (YoPY) mit diesem Prozessor, der auch über eine Videokamera verfügt. Eine weitere Alternative wäre die Verwendung von DSPs. Verschiedene Hersteller bieten neue Modelle an, die auf Stromverbrauch optimiert wurden. Dies bedeutet allerdings, daß wir bis zur Portierung der Bildverarbeitungsalgorithmen auf die lokale 32 Elektronik diese so weit verfeinert und optimiert haben müssen, daß sie auch dort laufen können. Bildanalyse Wir haben bereits einen ersten Prototyp der Bildauswertung für die Parabolkamera. Wir sind in der Lage, Bilder zu empfangen, Regionen zu erkennen und die segmentierten Bilder in jede gewünschte Richtung zu segmentieren. Wir wollen im Laufe des Projektes die Bildauswertung so weit entwickeln, daß die Lokalisation des Roboters allein aus den lokalen Sensoren möglich wird. Wir wissen aus den Erfahrungen von Teams in der F2000-Liga, daß die auftretenden Probleme keineswegs trivialer Natur sind. Deswegen werden wir auf Sensorintegration setzen: unsere Bildanalyse wird um so einfacher, desto mehr wir über die Position des Roboters wissen. Dafür haben wir zwei Ansätze: Erstens haben wir bereits viel Erfahrung bei der Verfolgung unserer Roboter mit der globalen Kamera gesammelt. Wir verwenden zunächst eine erste Hypothese über die Lage des Roboters, die dann anhand weiterer Informationen überprüft wird. Wir können zusätzlich die Sensoren über den optischen Fluß am Boden des Roboters verwenden, die eine recht gute Abschätzung der Bewegung des Roboters innerhalb der letzen Sekundenbruchteile ergeben kann. Dazu kommt noch die Information aus der Odometrie. Mit dieser Information können gezielt Merkmale auf dem Spielfeld gesucht werden, ähnlich wie wir es bereits mit der globalen Kamera tun. Unsere Bildauswertung ist deswegen so erfolgreich (die besten Teams in der F180-Liga arbeiten mit dedizierter Bildverarbeitungshardware, mit Ausnahme unseres Teams, das nur Software verwendet), weil wir nie das gesamte Bild für das Verfolgen von Objekten benötigen. Wir reduzieren das Problem auf die Verarbeitung von begrenzten Gebieten im Bild. Ähnlich werden wir mit der Omni-Kamera verfahren. Die Algorithmen dafür werden wir im Laufe des Projektes entwickeln. Steuerung - Simulation Falls dieses Projekt genehmigt wird, ist es unser Ziel, bereits beim RoboCup 2002 in Japan mit einem Team aus elf Robotern auf dem großen Spielfeld der F2000-Liga anzutreten. Dafür müssen wir aber bereits im ersten Jahr der Förderung die Weichen stellen. Die entsprechenden Regeln wurden von der RoboCup-Organisation bereits unter dem Namen "Full-Set Small-Size Robot League Regulations" verabschiedet, allerdings wurden bisher in dieser Klasse noch keine Wettkämpfe ausgetragen. Wegen der interessanten wissenschaftlichen Fragestellungen, die sich gerade in dieser Liga ergeben, sind wir zuversichtlich, bald anspruchsvolle Konkurrenten zu bekommen. Wir möchten Reinforcement Learning auf verschiedenen Ebenen einsetzen. Das Vorgehen dabei ist, daß man durch positive oder negative Belohnung die Aktionsauswahl der Roboter beeinflußt. Am besten gelingt dies, wenn man das Lernen in einem Simulator durchführt und erst später in die Hardware integriert. 33 Wir werden deswegen als erstes einen Simulator unseres Teams schreiben. Dabei sind wir in einer privilegierten Situation gegenüber Teams aus der F2000-Liga, weil wir über vollständige Aufzeichnungen von unseren Spielen verfügen. Über die globale Kamera auf dem Spielfeld können wir die Position der Roboter aufzeichnen und direkt vergleichen, welche Befehle an die Roboter verschickt wurden und welche Dynamik sich daraus ergab. Wir brauchen kein analytisches Modell der Fahrdynamik zu entwickeln, wir können einfach aus diesen Daten (und den Daten, die von unserer Steuerungssoftware gespeichert werden) ein Modell mit Hilfe von neuronalen Netzen erstellen und später im Simulator dieses Modell trainieren. Auf diesem Gebiet verfügen wir über die notwendige Expertise [Rojas 1995, 1996a, 1996b]. Der Simulator wird also zuerst mit den Daten aus unseren Protokollen trainiert. Z.B. kann das Verhalten des Balls beim Rollen auf Teppichboden präzis modelliert werden (später wichtig für die Ballvorhersage). Die dynamische Antwort der Roboter (Beschleunigung, Geschwindigkeit, Drehungen usw.) kann ebenfalls auf diese Art gelernt werden. Der Simulator wird uns dann erlauben, hypothetische Spielsituationen zu testen und die Antwort der Steuerungssoftware zu überprüfen. Lernen durch Reinforcement Wenn der Simulator geschrieben ist, wird in einem Wechselspiel zwischen Simulation in Software und Test mit der Hardware die Steuerungssoftware verbessert. Als erstes soll der Torwart auf verschiedene Spielsituationen trainiert werden. Falls unser neuer Torwart einen omnidirektionalen Antrieb haben wird, gibt es mehrere Varianten im Verhalten, die dann möglich sind. Der Torwart kann aktiv in das Spiel vor dem Strafraum eingreifen, oder er kann sich zurückziehen und parallel zur Linie laufen. Auch für den herkömmlichen Torwart gibt es schon eine relativ komplexe Entscheidungsdynamik. Das Training des Torwarts ist dennoch einfacher als das eines Feldspielers, da wir auch beim Training mit dem Ball den Torwart belohnen oder bestrafen können. Dies kann manuell durch einen Beobachter gemacht werden, der immer dann belohnt, wenn der Torwart gut zum Ball steht, und der bestraft, wenn der Torwart falsch steht. Es bietet sich hier eine Strategie an, die das Problem des Reinforcement Learning auf eine handhabbare Größe reduziert: Durch die sequentielle Verbesserung des Verhaltens vom Torwart über den Zentralverteidiger (der eine ähnliche Rolle wie der Torwart spielt) bis zu den übrigen Spielern wird das Problem vereinfacht. Durch Anwendung einer Spezialisierungsstrategie kann also der Trainingsaufwand reduziert werden: Zuerst werden elementare Spielsituationen und dann komplexere trainiert. Wir werden keineswegs versuchen, das gesamte Teamverhalten gleich von Anfang an zu optimieren, sondern zuerst einzelne Spieler und ihre individuellen Aktionen trainieren. Dies ist ein adäquater Ansatz für das kleine Spielfeld der F180-Liga, in dem Kooperation schon ziemlich komplex ist. Erst beim großen Feld werden wir auf zusätzlich koordiniertes Teamverhalten setzen. 34 Deliberative und reaktive Steuerung Gegen Ende des zweiten Jahres unseres Projektes werden wir schließlich die Koordination des Teams auf einem großen Spielfeld untersuchen. Hier werden wir auf unsere Kooperation mit Teams aus der Simulationsliga setzen und viele ihrer Erkenntnisse für unsere Roboter verwenden. Wir sind überzeugt davon, daß unsere reaktive Architektur auch im Sinne einer deliberativen Steuerung erweitert werden kann. In unserer Kontrollpyramide gibt es eine Ebene auf der das Teamverhalten kontrolliert wird. Die Parameter aus dieser Ebene fließen in die unteren Ebenen ein und werden dort weiterverarbeitet. Zusammenfassung Ich habe versucht deutlich zu machen, daß wir einen wohlüberlegten und fundierten Aktionsplan für die nächsten zwei Jahre haben. Wir wissen, was wir brauchen, welche Komponenten wir entwickeln müssen und an welcher Stelle zusätzliche Überlegungen notwendig sind. Wir sind zuversichtlich, daß unser Vorhaben realisierbar ist und daß genug interessante Probleme vorhanden sind, um die Förderung zu begründen. Allerdings ist dieses Projekt von einem solchen Umfang, daß die Bewilligung von zwei Mitarbeiterstellen wichtig ist. Der erste Mitarbeiter soll sich primär mit der lokalen Navigation und danach mit der Erstellung eines Rahmens für Reinforcement Learning beschäftigen, der zweite Mitarbeiter mit dem Aufbau der Roboter, der Portierung der Bildanalyse-Algorithmen auf die neue On-Board-Elektronik und später mit der Portierung des Reinforcement Learnings. Wir kennen bereits die Gruppen, die seit Jahren am RoboCup teilnehmen. Wir werden uns mit ihnen im Rahmen des SPP abstimmen, um wichtige Bausteine und Erfahrungen auszutauschen. Unser Projekt dient gewissermaßen als Integrator für andere Vorhaben im Rahmen des SPPs, weil wir in den nächsten zwei Jahren die Probleme der F2000 und der Simulationsliga in unserer eigenen Liga vorfinden werden. 35 Arbeitsprogramm Der Darstellung oben folgend, gliedert sich das Arbeitsprogramm in die folgenden zwei Phasen: - - In der ersten Phase steht die Autonomie der Roboter im Mittelpunkt, d.h. sie sollten unabhängig von einer externen Kamera agieren können. In der zweiten Phase liegt der Schwerpunkt auf Lernen und der Erweiterung des Systems auf das Spiel elf gegen elf auf einem großen Feld. Erste Phase (erstes Jahr) 1. Halbjahr Erster wissenschaftlicher Mitarbeiter: Entwicklung der Computervision-Software für eine omnidirektionale Videokamera mit parabolischem Spiegel. Selbstlokalisation des Roboters anhand der Spielfeldbegrenzung, Lokalisation des Spielballs und anderer Roboter im Feld. Integration mehrerer lokaler Weltsichten zu einer globalen Sicht. Einbettung in die vorhandene Steuerungssoftware. Zweiter wissenschaftlicher Mitarbeiter: Entwicklung einer neuen Steuerungselektronik mit einem neuen Microcontroller. Auswertung und Vergleich der Alternativen auf dem Markt, Layout und Bau. Design einer neuen Mechanik des Roboters, insbesondere mit innovativen Mechanismen zur kontrollierten Ballführung. Integration: Einsatz des neuen Systems beim RoboCup 2001 in Seattle in einem neuen Team "FUFighters Omni". Die Roboter sollen mit neuer Mechanik und Elektronik ausgestattet sein und die mit der Omni-Kamera aufgenommenen Bilder per Funk an externe Rechner übertragen werden, auf denen Computervision und Verhaltenssteuerung realisiert sind. 2. Halbjahr Erster wissenschaftlicher Mitarbeiter: Entwicklung zusätzlicher Software für die Navigation mittels Pfadintegration. Dazu soll sowohl mit der Omni-Kamera als auch mit einem Infrarotsensor am Boden des Roboters der optische Fluß bestimmt werden. Weiterhin sollen die Impulsgeber der Motoren und ein elektronischer Kompaß benutzt werden. Verbesserung der Steuerungssoftware. 36 Zweiter wissenschaftlicher Mitarbeiter: Auswahl eines kleinen und leistungsfähigen Rechners, der in der Lage ist, die Videodaten lokal zu verarbeiten. Portierung der Bildanalyse-Software für die OmniKamera und der Software zur Verhaltenssteuerung auf diesem Rechner. Entwicklung der Elektronik für den neuen Sensor am Boden des Roboters sowie für bidirektionale Kommunikation. Integration: Ein Team von fünf autonomen Robotern, das ohne externe Kamera und ohne externe Rechner spielt. Zweite Phase (zweites Jahr) 1. Halbjahr Erster wissenschaftlicher Mitarbeiter: Erstellung eines realitätsnahen Simulators, mit dem Reinforcement Learning von Strategie und Taktik anhand einer Spielsimulation durchgeführt werden kann. Die für die Anpassung des Weltmodels notwendigen Daten werden aus Protokollen der vorhandenen Spiele entnommen. Zweiter wissenschaftlicher Mitarbeiter: Design und Bau eines Teams aus elf autonomen Robotern, die Kamera, weitere Sensoren, Bildverarbeitung und Verhaltenssteuerung beinhalten. Erweiterung des Systems für das Spiel auf einer Fläche von 9 mal 5 Metern. Integration: Einsatz des neuen Systems beim RoboCup 2002 in Japan in einem Team "FUFighters Autonom" in der Small-Size-Liga, sowie Demonstrationsspiel mit elf Spielern auf dem großen Spielfeld (Full-Set Small-Size). 2. Halbjahr Erster wissenschaftlicher Mitarbeiter: Koordination des Teams von elf Spielern durch Portierung von Erfahrungen und Methoden aus der Simulationsliga in unsere Liga. Mit Hilfe des bereits vorhandenen Simulators können Koordinationsstrategien getestet werden. Einbettung derselben in unseren reaktiven Ansatz. 37 Zweiter wissenschaftlicher Mitarbeiter: Reinforcement Learning von Parametern der Steuerungssoftware im Simulator. Entwicklung von Reinforcement Learning der Bewegungskontrolle auf der realen Hardware. Optimierung der Steuerungssoftware. Integration: Demonstration der Vorteile von Autonomie und Lernen im Spiel. Studentische Hilfskräfte Je eine studentische Hilfskraft wird jedem wissenschaftlichen Mitarbeiter zugeordnet. Ihre Aufgabe ist die Durchführung praktischer Programmierarbeiten, sowie einfacher elektronischer und mechanischer Arbeiten. Bei komplexeren Arbeiten werden wir durch externe Werkstätten (Physik, MPG, usw.) unterstützt. Die Aufgabe der studentischen Hilfskräfte hierbei ist Materialbeschaffung und Transport von Werkstücken. Wie bisher werden wir auch Diplom- und Studienarbeiten ausschreiben, um unser Team zu verstärken. 3.2 Untersuchungen am Menschen Entfällt 3.3 Tierversuche Entfällt 3.4 Gentechnologische Experimente Entfällt 38 4. Beantragte Mittel 4.1 Personalbedarf 1 Wiss. Mitarbeiter Bat IIa für 24 Monate. Aufgabenbereich: Bildanalyse und Reinforcement Learning 1 Wiss. Mitarbeiter Bat IIa für 24 Monate. Aufgabenbereich: Elektronik, Mechanik und Mannschaftsspiel. 2 stud. Hilfskräfte, 19h/Woche, für 24 Monate zur Unterstützung der wiss. Mitarbeiter 4.2 Wissenschaftliche Geräte Die beantragten Summen sind Erfahrungswerte aus unserer Teilnahme beim RoboCup 1999 und 2000. Dabei haben wir bereits Sachspenden berücksichtigt, die wir in der Vergangenheit erhalten haben. Die fünf Computer für die Steuerung der Roboter sind notwendig, weil wir in Seattle 2001 die Bildverarbeitung noch mit externen Rechnern durchführen werden. In Japan 2002 werden wir die neue On-Board-Elektronik einsetzen, mit der On-BoardBildverarbeitung möglich wird. Die Gesamtsumme für die zwei Jahre ist 97.000 DM. Kleingeräte: 5 Personal Computer für die Steuerung der Roboter: Mechanik und Elektronik für ein Team kleiner Roboter: 10.000 DM 15.000 DM (einmal) (pro Jahr) Bildverarbeitungsrechner für ein Team kleiner Roboter: 15.000 DM (einmal) 5.000 DM 2.000 DM (einmal) (einmal) 5.000 DM (pro Jahr) Videokameras und Funkgeräte: Spielfeld (9 x 5 Meter) für ein Team kleiner Roboter: 4.3 Verbrauchsmaterial Akkus und Ersatzteile: 39 4.4 Reisen Reisekosten: Teilnahme am RoboCup 2001 und RoboCup-Workshop (Seattle) 10.000 DM Teilnahme am RoboCup 2002 und RoboCup-Workshop (Japan) 10.000 DM Die Summen sind Erfahrungswerte aus unserer Teilnahme am RoboCup 1999 und 2000. Transport der Roboter und Computer plus Anmeldung beim Wettbewerb kosten etwa 5000 DM. Die restlichen 5000 DM pro Wettbewerb sind dann eher ein Zuschuß für die Teilnahmekosten des Teams, die deutlich höher sind. 4.5 Sonstige Kosten Messeauftritte (CEBIT, Systems) 5,000 DM (einmal) Im Jahr 2000 haben wir an der CEBIT teilgenommen. Zwei Messen innerhalb zwei Jahren würden etwa 5000 DM für Transport und Übernachtungen kosten. 40 5. Voraussetzungen für die Durchführung des Vorhabens 5.1 Zusammensetzung der Arbeitsgruppe Die Arbeitsgruppe Künstliche Intelligenz existiert seit 1997 an der Freien Universität Berlin. Unsere Schwerpunkte sind Theorie und Anwendungen von Neuronalen Netzen, Mustererkennung, Handschrifterkennung und reaktive Robotik. Leiter: Prof. Dr. Raúl Rojas Landesstellen: Dipl.-Inf. Dipl.-Math. Dipl.-Inf. Dr. Sven Behnke Alexander Gloye Lars Knipping Achim Liers Wiss. Mitarbeiter (KI) Wiss. Mitarbeiter (KI) Wiss. Mitarbeiter (KI) Akademischer Rat (Hardwarelabor) Drittmittelstelle: Dipl.-Inf. Bernhard Frötschl Wiss. Mitarbeiter Beteiligung der Studenten: Unser Team, die FU-Fighters, wurde im Rahmen von Robotik-Seminaren an der FU aufgebaut. Etwa 8 bis 10 Studenten arbeiten jedes Jahr in unserer RoboCup-AG. Wir werden weiterhin unsere Aktivitäten in die Lehre einbetten und auf diese Weise vielfältige Unterstützung für unser Vorhaben erhalten. Abbildung 24: Mitarbeiter und Studenten des FU-Fighter-Teams 1999. 41 Abbildung 25: Mitarbeiter und Studenten des FU-Fighter-Teams 2000 5.2 Zusammenarbeit mit anderen Wissenschaftlern Wir haben mit der Arbeitsgruppe von Prof. Dr. Wolfram Menzel und Dr. Martin Riedmiller (Universität Karlsruhe) eine Zusammenarbeit bezüglich Reinforcement Learning (RL) auf zwei Ebenen vereinbart: Zum einen möchten wir RL für die Verbesserung der individuellen Steuerung unserer Roboter verwenden. Zum anderen ist es sehr wichtig, auch Teamstrategien durch RL zu finden. Dies ist motiviert durch folgende Überlegung: Wenn wir elf Roboter auf das große Spielfeld bringen, ergibt sich eine ähnliche Situation wie bei der Simulationsliga. Strategie und Kombinationsspiel werden also einen höheren Stellenwert erhalten. Wir sind deswegen sehr an der Zusammenarbeit mit diesen Kollegen interessiert. In ihrem SPP-Antrag erwähnen Herr Riedmiller und Herr Menzel diese Kooperation. Außerdem besteht seit Jahren ein sehr gutes Verhältnis zu den Kollegen von anderen RoboCup-Teams. Mit der Humboldt Universität (Prof. Burkhardt) führen wir eine rege Kommunikation und es findet ein regelmäßiger Informationsaustausch über Seminare und Besuche statt. Wir können daher aus der Erfahrung der HU-Kollegen in der Simulationsliga profitieren. 5.3 Arbeiten im Ausland und Kooperation mit ausländischen Partnern Als Mitglied des RoboCup Executive Committee, das jedes Jahr den RoboCupWettbewerb organisiert, habe ich Kontakt zu vielen Kollegen im Ausland. Wir sind eingeladen worden, über unser Team in Spanien, Frankreich und in den USA zu berichten. 42 Ich bin Chairman des Organisationskomitees für die F180-Liga beim RoboCup 2001 in Seattle. Ich werde bereits in Seattle 2001 ein Demonstrationsspiel von unseren Robotern gegen Menschen organisieren, wobei die Menschen Roboter per Fernsteuerung führen werden. Ich habe dies den "Robot Soccer Turing Test" genannt, und die FU-Fighters werden die ersten sein, die das Konzept bei einem öffentlichen Wettbewerb zeigen werden. 5.4 Apparative Ausstattung Das Institut für Informatik und unsere Arbeitsgruppe verfügen über die ComputerInfrastruktur, die auch an anderen Universitäten üblich ist. Jeder Mitarbeiter hat eine Workstation und Netzanbindung. Für die Erstellung der mechanischen Komponenten greifen wir auf die FeinmechanikWerkstatt des Fachbereichs Physik zurück. Wir haben eine gute Kooperation mit dem Elektronik-Labor des Fritz-Haber-Instituts der Max-Planck-Gesellschaft. 5.5 Laufende Mittel für Sachausgaben Bis jetzt ist unser RoboCup-Projekt durch Geld- und Sachspenden von Firmen wie Dr. Fritz Faulhaber GmbH & Co KG, Conrad Electronic GmbH, Sony Deutschland GmbH und Siemens ElectroCom Postautomation GmbH sowie durch meine Berufungsmittel finanziert worden. Es ist vorauszusehen, daß wir in Zukunft weiterhin Sachspenden von Firmen bekommen werden. Dies haben wir bei der Berechnung der benötigten Mittel bereits einkalkuliert. 5.6 Sonstige Voraussetzungen Entfällt 6. Wirtschaftliche Verwendung Es ist sehr wichtig, an dieser Stelle zu unterstreichen, daß die Ergebnisse unseres Projektes eine indirekte wirtschaftliche Verwendung finden können, indem die Algorithmen, die für lokale Bildanalyse entwickelt werden, auch auf andere RobotikPlattformen portiert werden. Die besondere Herausforderung in unserem Fall ist, daß wir robuste Verfahren für sehr kleine Rechner entwickeln müssen. Unsere Algorithmen sollen in Computern von der Größenordnung von PDAs eingesetzt werden. 43 Der Ansatz, durch die Messung des optischen Flusses direkt am Boden die Position der Roboter zu verfolgen und bessere Ergebnisse als durch reine Odometrie zu erzielen, ist ebenfalls neu und kann in kürzester Zeit auch auf andere Roboter übertragen werden. Eine direkte wirtschaftliche Verwendung stellt die Simulation von autonomen mobilen Robotern für Fabrikanlagen dar. Z.B. sind automatische Transportsysteme für Materialien nicht so flexibel, wie sie sein könnten. Wegen Sicherheitsvorkehrungen sind sie in der Regel auf die Verfolgung von Linien auf den Boden begrenzt (durch optische oder magnetische Messungen). Ihre Autonomie ist begrenzt, da sie andere Roboter nicht überholen können und alternative Pfade zumeist verboten sind. In einem gemeinsamen Projekt mit der TU Berlin untersuchen wir die Simulation von Transportsystemen in Fabrikanlagen mit Hilfe von Miniaturrobotern. Statt teurer Roboter für die Entwicklung der Navigationssoftware zu verwenden, kann in der ersten Phase eines Projektes, eine Simulation "in Miniatur" erfolgen. Die beteiligte Arbeitsgruppe an der TU Berlin simuliert Produktionsanlagen rein durch Software und erstellt einen ersten Prototyp der notwendigen Programme. Diese Methoden können dann mit Hilfe der kleinen autonomen Roboter in einer Umgebung, die der natürlichen näher kommt, weiter überprüft werden. Insbesondere kann die Selbstlokalisation der Roboter durch Bildverarbeitung getestet werden. Auch die Pfadplanung und die Anpassung an Hindernisse oder Blockaden des Pfades, sowie die Erstellung von Karten durch Exploration kann getestet werden. Ein weiterer Aspekt, der durch den Einsatz kleiner Roboter untersucht werden kann, ist die Koordination und Kooperation derselben. Nicht zuletzt ist die RoboCup-F180-Liga diejenige Klasse, aus der am einfachsten kommerzielle Edutainment-Produkte entstehen können. Interaktive Fußballsimulationsspiele gibt es bereits für viele Computer, so daß aus der Simulationsliga nicht sehr viel Innovation für diesen Wirtschaftszweig zu erwarten ist. Große F2000-Roboter werden für das breite Publikum noch lange unbezahlbar bleiben. Dagegen werden kleine autonome Roboter mit ausgefeilter Sensorik bald vielfältigen Einsatz in Bildung und Freizeit finden. Wir haben auch in einem Technical Report [Rojas, et al., 2000] beschrieben, wie Fußballspiele gegen Roboter interaktiv durchgeführt werden können, so daß auch Menschen ins Spiel eingreifen können. Es ist denkbar, daß auch diese Art der Interaktion zwischen Menschen und Robotern zum Einsatz in der Freizeitindustrie kommen könnte. 44 7. Erklärungen 7.1 Ein Antrag auf Finanzierung dieses Vorhabens wurde bei keiner anderen Stelle eingereicht. Wenn ich einen solchen Antrag stelle, werde ich die Deutsche Forschungsgemeinschaft unverzüglich benachrichtigen. 7.2 Der DFG-Vertrauensdozent der FU Berlin wurde von dem Antrag informiert. 8. Unterschriften Prof. Dr. Raúl Rojas 45 9. Verzeichnis der Anlagen Ausgewählte Veröffentlichungen Faltblatt der "FU-Fighters" CD mit dem Inhalt der FU-Fighters-Webseite (Dokumentation, Bilder und Videos)