Ralf Salomon, Frank Golatowski Aufbau höherer Strategien für kleine autonome mobile Roboter basierend auf Methoden der dynamischer Rollengenerierung und lokaler Interaktion Ralf Salomon, Frank Golatowski Universität Rostock
Arbeitsgebiete Künstliche Intelligenz Soft Computing, Evolvable Hardware Mobile Agenten Objektorientierte und komponenten- basierte Softwareentwicklung Eingebettete und Echtzeit- Systeme Rechnerarchitektur und -systeme High-level Systementwurf Chipdesign (FPGA, ASIC) VLSI Entwurfsunterstützung harter Echtzeitsysteme Rapid Prototyping Mobile computing systems
Gliederung Dezentraler Ansatz (lokale Interaktion und dynamische Rollenberechnung) Aufgaben und Realisierung Aktueller Stand Zusammenfassung
Small size league
Small size league: dezentrale Architektur Key Challenges Distributed intelligence Parsimonious design Timing constraints Power awareness
Selbständig agierende Teammitglieder Kohärentes Systemverhalten trotz autonom agierender Agenten Aufgabenteilung zwischen den Robotern Dynamische Rollenverteilung auf die Roboter Autonome Rollenwahl mittels Potenzialmethode Dabei Unterstützung mittels sporadischer lokaler Kommunikation (peer-to-peer)
Algorithmische Herausforderungen Sinnvolle Rollenverteilung ohne Doppel- und Fehlbelegungen Vermeidung des durch Fehlkommunikation verursachten Thrashings Navigations- und Kollisionsvermeidung Beschleunigung von Teilalgorithmen durch Auslagerung auf rekonfigurierbare Hardware (parsimonious design) Generische Middleware für drahtlose Kommunikationstechnologien Zu 4.) bezieht sich vornehmlich auf BV, aber soll auch optional auf evolvable HW ausgedehnt werden.
Zentrale Architektur Strategie komponente Daten komponente Roboter komponente Bildverarbeitungs- komponente Simulator komponente Roboter komponente Roboter komponente Roboter komponente
Dezentrale Architektur
Dezentrale Architektur
Rollenberechnung Rollenimplementation Beispiel: Ballholer „Läuft aus jeder beliebigen Entfernung zum Ball mit dem Ziel, den Ball schnellstmöglich zu erreichen.“
Software-Entwicklungsprozess Unterstützung auf drei Ebenen Software-Engineering für autonome Agentensoftware Beschreibung des Systemverhaltens Effiziente Entwicklung und Verifikation von Kernalgorithmen Automatische Codegenerierung Echtzeitverhalten, Deterministik Design Exploration Kombination effektiver Algorithmen Entwurfsbeschleunigung durch hohen Abstraktionsgrad und gleichzeitigem Durchgriff auf niedrigere Entwurfsebenen Anwendung Robocup ist ähnlich wie andere komplexe Anwendungen (Flugzeug) eine Langzeit-Anwendung, die Erweiterbarkeit und Wartbarkeit der Teilkomponenten erfordert Ohne Entwurf und Verifikation ist die Entwicklung von stabilen Langzeitsystemen nicht möglich Ständig wechselnde Teams
Visionen Vertiefte Einblicke in die Funktionsweise verteilter Intelligenz Sich selbst weiterentwickelnde Systeme mittels abstrakter Spezifikationen Kombination aus eingebetteten Systemen, Software-Engineering und künstlicher Intelligenz auf komplexe, skalierbare Systeme
Wo stehen wir? Zentralisiertes Gesamtsystem komplett in UML beschrieben Strategie mit Rollenverteilung nach Potenzialmethode Roboter mit omnidirektionalem Antrieb Simulator Containersteuerung Bildver- arbeitung Simulator Strategie Befehle senden Positionen senden
Wo stehen wir? Zentralisiertes Gesamtsystem komplett in UML beschrieben Strategie mit Rollenverteilung nach Potenzialmethode Roboter mit omnidirektionalem Antrieb Simulator
Zusammenfassung Entwicklung verteilter Intelligenz bei dezentrale Steuerung und lokaler Interaktion Beschleunigung der Design Exploration Integration unter Beachtung der Computational Efficiency
Kontaktinformation ? Lage des Institut in Rostock-Warnemuende Universität Rostock FB Elektrotechnik und Informationstechnik Institut für Angewandte Mikroelektronik und Datentechnik Richard-Wagner Str. 31 18119 Rostock-Warnemünde Germany Tel.: +49 381 498 3538 Fax: +49 381 498 3601
Vielen Dank...
Arbeitsplan (aktualisiert)
Aufgaben UML Beschreibung der einzelnen Komponenten Spezifikation des notwendigen Zeitverhaltens, damit Komponenten ausgetauscht werden können und eine dezentrale Realisierung schon im Entwurfsprozess unterstützt wird. Realisierung der dynamischen Rollenzuweisung Aufbau eines lokalen drahtlosen Kommunikationsnetzwerkes. Anpassung bzw. Erweiterung existierender Navigationsalgorithmen Entwicklung einer Entscheidungskomponente, die auf Softcomputing-Methoden basiert Test der spezifizierten Algorithmen (Rollenzuteilung und Rollenaustausch) sowohl durch Simulation als auch im Roboter-Team.
Aufgaben Gaining insight into the nature of distributed intelligence Dynamische Rollenzuweisung nach Potenzialmethode Transformation auf dezentralen Ansatz Lokale Kommunikation Lokale Bildverarbeitung durch effiziente Hardware-Unterstützung (FPGA) Integration hardwarebasierter Bilderkennungsalgorithmen Echtzeitnachweis Funktionstests mit mobilen Robotern
Detaillierte Aufgaben: Strategie Rollenverteilung und Rollenwahl Dynamische Berechnung der Rollen und Rollenverteilung Entwicklung interagierendes Feedbacksystem Optimierung Strategienauswahl
Detaillierte Aufgaben: Strategie Vorhersage des Verhaltens von Roboter u. Ball Spezielle Algorithmen zur Hindernisvermeidung und Wegeplanung Integration aller zur Verfügung stehender Rollen in die Rollenverteilungen Entwicklung interagierendes Feedbacksystem Dynamische Berechnung der Rollen und Rollenverteilung Optimierung Strategienauswahl
Rollenverteilung Potenzialmethode Analyse aus Sicht des einzelnen Spielers Verteilung von Gewichten an die Spieler Bis zu 24 Potenziale pro Spieler Potenziale für Gegenspieler Ergebnis: Potenzial die speziellen Rollen auszuüben Rollenvergabe nach den Potenzialen
Arbeitsplan (aus Antrag)
Der R.O.P.E.S Prozess Rapid Object-Oriented Process for Embedded Systems
Datenfluss im Container Ablaufsteuerung der Software im RoboCup Projekt Abarbeitung der Module in Threads Simulator Strategie Befehle Senden Container Simulationsmodus Realmodus Positionen Senden Bildverar- beitung
Zustandsdiagramm Container Containersteuerung Bildver- arbeitung Simulator Strategie Befehle Senden Positionen Senden
Zustandsdiagramm Container
CCommunicationSettings Die Datenablage CInitialisierung CTacticSettings CStaticElements CDynamicElements CPlayingField BallSettings CGameSettings CDynamicTactic CRobotSettings CCommunicationSettings CElements CRobotTypeA CRobotTypeB CPlayer COpponent CBall
CRulesystemPotenzial Die Rollenverteilung CRulesystemBasis CRulesystemOne CRulesystemTwo CRulesystemPotenzial CRulesystemThree CRulesystemFour
Die Rollen CPassiveRole CActiveRole CPassgeber CRole CExtraRole CPassempfaenger CSchütze CBallholer CDribbler CBallbefreier CPositionierer CAbsicherer CWartender CFreudentaumel CBlockierer CTorwart CElfmeterschuetze CFreistossschuetze
Ablauf der Strategieberechnung Übergabe der Positionen Rollenverteilung Für jeden Spieler Rollenberechnung Zurückgabe der Befehle
Zentrale Strategiekomponente Umwandlung von Bildinformationen zu Befehlen für die Roboter Basiert auf rollenbasierten Ansatz (Rollenverteilung, Rollenausführung) Potenzialmethode zur Rollenverteilung
Tests mit dem Simulator Nachweis der Funktionalität, Einsetzbarkeit Simulator als Idealisiertes Abbild der Realität
Ergebnisse der Tests Zusammenarbeit Strategiemodul mit Container und Simulator möglich Rollenverteilung einfach, aber robust Rollen funktionieren Hindernisvermeidung meistens erfolgreich Torwart ist sehr gut
Ergebnisse Strategiemodul Lauffähiges Strategiemodul zum Testen und Weiterentwickeln Klare Struktur Verständlichkeit ist gegeben Erweiterbarkeit ist möglich Dokumentation mit Rhapsody und UML Zusammenarbeit mit Container und Simulator