Steuerungsarchitekturen für Stand-Alone-Robotersysteme Seminar Robotik WS 04/05 Torsten Ehli Inhalt 1. Allgemeine Anforderungen an Roboter 2. Klassische Zerlegung 3. Ansatz von Brooks: Ebenenentwicklung 4. Beschreibung der Ebenen 5. Weiterentwicklungen und Beispiele 6. Fazit 31.1.2005 Steuerungsarchitekturen für Stand-Alone-Robotersysteme 2 1. Anforderungen 1. Parallele Tätigkeiten und Ziele 2. Paralleler Sensorbetrieb 3. Robustheit 4. Erweiterbarkeit 31.1.2005 Steuerungsarchitekturen für Stand-Alone-Robotersysteme 3 2. Klassische Zerlegung Sensoren Wahrnehmung Modellierung anpassen Planung Aufgabenbearbeitung Regelung der Motoren Gelenke 31.1.2005 Steuerungsarchitekturen für Stand-Alone-Robotersysteme 4 3. Annahmen von Brooks 1. Komplexität 6. Umgebung 2. Dinge einfach halten 7. Sensornutzung 3. Kartierung 8. Selbstkalibrierung 4. Drei Dimensionen 9. Selbsterhaltung 5. Relative Koordinaten 31.1.2005 Steuerungsarchitekturen für Stand-Alone-Robotersysteme 5 3. Subsumption Architektur Verhalten von Objekten ergründen Veränderungen an der Welt planen Objekte Identifizieren Veränderungen beobachten Sensoren Karten erstellen Gelenke Erkunden Wandern Objekte vermeiden 31.1.2005 Steuerungsarchitekturen für Stand-Alone-Robotersysteme 6 3. Subsumption Architektur Aufgabenorientierte Zerlegung Parallelisierung der Aufgabenbearbeitung Schnelle Verarbeitung notwendiger Daten Reduzierung des Overheads 31.1.2005 Steuerungsarchitekturen für Stand-Alone-Robotersysteme 7 3. Ebenen hinzufügen Induktiver Aufbau Ebene 0 vollständig fehlerfrei Höhere Ebene Lesen unbewusst Verändern Niedrigere Ebene 31.1.2005 Steuerungsarchitekturen für Stand-Alone-Robotersysteme 8 3. Design der Ebenen Innerhalb einer Ebene werden nur benötigte globale Ressourcen verwendet. Verteiltes System von Modulen Erweiterte Endliche Automaten Eigene Zeitgeber Minimaler lokaler Speicher Asynchron getaktet Kommunikation über Leitung untereinander 31.1.2005 Keine Empfangsbestätigungen Steuerungsarchitekturen für Stand-Alone-Robotersysteme 9 3. Kommunikation Jedes Modul hat verschieden Ein- und Ausgänge Eingangsleitungen haben einen Speicherplatz Eingaben können Überschrieben werden (Supressed) Ausgaben können Unterdrückt werden (Inhibited) Modul kann in den Ursprungszustand versetzt werden Eingänge S 10 Modul I 3 Ausgänge Reset 31.1.2005 Steuerungsarchitekturen für Stand-Alone-Robotersysteme 10 3. Anforderungen 1. Parallele Tätigkeiten und Ziele 2. Paralleler Sensorbetrieb 3. Robustheit 4. Erweiterbarkeit 31.1.2005 Steuerungsarchitekturen für Stand-Alone-Robotersysteme 11 4. Ebene 0 Roboter Roboter Kollision Halt Sonar Karte Motor Kommando Gefälle 31.1.2005 Kraft Flüchten Steuerungsarchitekturen für Stand-Alone-Robotersysteme Motorstatus 12 4. Ebene 0 Roboter Roboter Kollision Halt Sonar Karte Motor Kommando Gefälle 31.1.2005 Kraft Flüchten Steuerungsarchitekturen für Stand-Alone-Robotersysteme Motorstatus 13 4. Ebene 0 Roboter Roboter Kollision Halt Sonar Karte Motor Kommando Gefälle 31.1.2005 Kraft Flüchten Steuerungsarchitekturen für Stand-Alone-Robotersysteme Motorstatus 14 4. Ebene 0 Roboter Roboter Kollision Halt Sonar Karte Motor Kommando Gefälle 31.1.2005 Kraft Flüchten Steuerungsarchitekturen für Stand-Alone-Robotersysteme Motorstatus 15 4. Ebene 0 Roboter Roboter Kollision Halt Sonar Karte Motor Kommando Gefälle 31.1.2005 Kraft Flüchten Steuerungsarchitekturen für Stand-Alone-Robotersysteme Motorstatus 16 4. Ebene 1 Roboter Roboter Kollision Halt Sonar Karte Gefälle Wandern 31.1.2005 Richtung Kommando Kraft S 1.5 Motor Motorstatus Flüchten Ausweichen Steuerungsarchitekturen für Stand-Alone-Robotersysteme 17 4. Ebene 1 Roboter Roboter Kollision Halt Sonar Karte Gefälle Wandern 31.1.2005 Richtung Kommando Kraft S 1.5 Motor Motorstatus Flüchten Ausweichen Steuerungsarchitekturen für Stand-Alone-Robotersysteme 18 4. Ebene 2 Roboter Kollision Sonar I 2.5 Karte Gefälle Halt S 1.5 Kommando Kraft Flüchten Roboter S 0.5 S 1.5 Motor I 1/4 Motorstatus Kommando Wandern Ziel I 2 Richtung AusI weichen 1/4 Pfadplanung Griff Greifer Roboter 31.1.2005 S 1.5 Ziel Drehen Monitor Integration Steuerungsarchitekturen für Stand-Alone-Robotersysteme Ausrichten Integral 19 4. Ebene 2 Roboter Kollision Sonar I 2.5 Karte Gefälle Halt S 1.5 Kommando Kraft Roboter S 0.5 S 1.5 Motor I Flüchten 1/4 Motorstatus Kommando Wandern Ziel I 2 Richtung AusI weichen 1/4 Pfadplanung Griff Greifer Roboter 31.1.2005 S 1.5 Ziel Drehen Monitor Integration Steuerungsarchitekturen für Stand-Alone-Robotersysteme Ausrichten Integral 20 4. Ebene 2 Roboter Kollision Sonar I 2.5 Karte Gefälle Halt S 1.5 Kommando Kraft Roboter S 0.5 S 1.5 Motor I Flüchten 1/4 Motorstatus Kommando Wandern Ziel I 2 Richtung AusI weichen 1/4 Pfadplanung Griff Greifer Roboter 31.1.2005 S 1.5 Ziel Drehen Monitor Integration Steuerungsarchitekturen für Stand-Alone-Robotersysteme Ausrichten Integral 21 4. Ebene 2 Roboter Kollision Sonar I 2.5 Karte Gefälle Halt S 1.5 Kommando Kraft Roboter S 0.5 S 1.5 Motor I Flüchten 1/4 Motorstatus Kommando Wandern Ziel I 2 Richtung AusI weichen 1/4 Pfadplanung Griff Greifer Roboter 31.1.2005 S 1.5 Ziel Drehen Monitor Integration Steuerungsarchitekturen für Stand-Alone-Robotersysteme Ausrichten Integral 22 4. Ebene 2 Roboter Kollision Sonar I 2.5 Karte Gefälle Halt S 1.5 Kommando Kraft Roboter S 0.5 S 1.5 Motor I Flüchten 1/4 Motorstatus Kommando Wandern Ziel I 2 Richtung AusI weichen 1/4 Pfadplanung Griff Greifer Roboter 31.1.2005 S 1.5 Ziel Drehen Monitor Integration Steuerungsarchitekturen für Stand-Alone-Robotersysteme Ausrichten Integral 23 5. Genghis 32 Module reichen zum Laufen 31.1.2005 Steuerungsarchitekturen für Stand-Alone-Robotersysteme 24 5. Genghis - Hardware Je Bein zwei Servomotoren Sensoren 31.1.2005 6 passive Infrarotdetektoren 2 Berührungssensoren als Barthaare 2 Neigungsmesser Steuerungsarchitekturen für Stand-Alone-Robotersysteme 25 5. Genghis 57 Module in der endgültigen Version 31.1.2005 Einfaches Gehen Stabileres Laufverhalten Verfolgen von sich bewegenden Objekten 2 Möglichkeiten Hindernisse zu erkennen Steuerungsarchitekturen für Stand-Alone-Robotersysteme 26 5. Weiterentwicklungen Flexibleres Überschreiben und Unterdrücken Gruppierung von Modulen zu abgeschlossenen Verhalten Innerhalb und zwischen Verhalten: Nachrichten Überschreiben Unterdrücken 31.1.2005 Steuerungsarchitekturen für Stand-Alone-Robotersysteme 27 5. Cog Menschenähnlicher Roboter 31.1.2005 Verhaltensbasiert Zwei 6-DOF Arme 7 DOF Kopf (Augen 3, Hals 4) 3 DOF Torso (noch ?) keine Beine Hände und Gesicht sind aktuelle Projekte Steuerungsarchitekturen für Stand-Alone-Robotersysteme 28 5. Kismet „nur“ ein Kopf (15 DOF) Simulation sozialer Interaktion Mimik Sprache Verhaltensbasiert 31.1.2005 Steuerungsarchitekturen für Stand-Alone-Robotersysteme 29 5. Kismet 31.1.2005 Steuerungsarchitekturen für Stand-Alone-Robotersysteme 30 6. Fazit Divide-and-Conquer Ansatz Einfach zu erweitern Aktueller Gegenstand der Forschung 31.1.2005 Steuerungsarchitekturen für Stand-Alone-Robotersysteme 31 Quellen http://people.csail.mit.edu/u/b/brooks/public_html/ Rodney A. Brooks: „A Robust Layered Control System for a Mobile Robot “ (1986) Rodney A. Brooks: „A Robot that Walks; Emergent Behaviors from a Carefully Evolved Network “ (1989) Rodney A. Brooks: „Elephants Don‘t Play Chess “ (1990) Rodney A. Brooks, Anita M. Flynn: „Fast, Cheap and out of Control: A Robot Invasion of the Solar System “ (1989) Rodney A. Brooks, „From Earwigs to Humans “, Robotics and Autonomous Systems, Vol. 20, Nos. 2–4, June 1997, pp. 291– 304. 31.1.2005 Steuerungsarchitekturen für Stand-Alone-Robotersysteme 32 Quellen (2) http://www.ai.mit.edu/projects/humanoidrobotics-group/ 31.1.2005 ... kismet/kismet.html ... cog/cog.html ... genghis/genghis.html Steuerungsarchitekturen für Stand-Alone-Robotersysteme 33