350 likes | 520 Views
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. VLSI. Rechnerarchitektur und -systeme. High-level Systementwurf.
E N D
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 VLSI Rechnerarchitektur und -systeme High-level Systementwurf Chipdesign (FPGA, ASIC) Künstliche Intelligenz Soft Computing, Evolvable Hardware Mobile Agenten Objektorientierte und komponenten-basierte Softwareentwicklung Eingebettete und Echtzeit-Systeme 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: 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
Zentrale Architektur Strategie komponente Daten komponente Roboter komponente Bildverarbeitungs- komponente Simulator komponente Roboter komponente Roboter komponente Roboter komponente
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
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 RostockFB Elektrotechnik und InformationstechnikInstitut für Angewandte Mikroelektronik und Datentechnik Richard-Wagner Str. 3118119 Rostock-WarnemündeGermany Tel.: +49 381 498 3538Fax: +49 381 498 3601
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: StrategieRollenverteilung 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
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
Die Datenablage CInitialisierung CTacticSettings CStaticElements CDynamicElements CPlayingField BallSettings CDynamicTactic CGameSettings CRobotSettings CCommunicationSettings CElements CRobotTypeA CRobotTypeB CPlayer COpponent CBall
Die Rollenverteilung CRulesystemBasis CRulesystemOne CRulesystemTwo CRulesystemPotenzial CRulesystemThree CRulesystemFour
Die Rollen CSchütze CDribbler CPositionierer CBlockierer CBallholer CRole CPassiveRole CAbsicherer CActiveRole CPassgeber CExtraRole CWartender CBallbefreier CPassempfaenger CFreudentaumel CTorwart CElfmeterschuetze CFreistossschuetze
Ablauf der Strategieberechnung Für jeden Spieler Übergabe der Positionen Rollenverteilung 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