BesMan
Behaviors for Mobile Manipulation
Das Hauptziel des Projektes BesMan ist die Entwicklung von generischen Manipulationsfähigkeiten für Roboter unterschiedlicher Morphologie. Dies soll durch die enge Integration von Bewegungsplanung, reaktiver, sensorbasierter Ganzkörperregelung, sowie dynamischer Regelung in ein modulares, roboterunabhängiges und leicht rekonfigurierbares Framework erreicht werden. Der Fokus liegt hierbei auf der Wiederverwendbarkeit von Komponenten um eine Reihe von komplexen Manipulationsaufgaben beschreiben zu können. Des Weiteren soll die Möglichkeit bestehen neue, situationsspezifische Verhalten mit Hilfe einer Lernplattform zu integrieren. Diese Lernplattform beinhaltet ein Interface zu einem menschlichen Operator, welcher dem Roboter demonstriert, wie er mit unbekannten oder unvorhergesehenen Situationen umgehen kann. Das DFKI RIC ist Vorhabenskoordinator und verantwortlich für die Entwicklung der Kontrollmechanismen. Die AG Robotik der Universität Bremen ist verantwortlich für die Entwicklung der Lernplattform und der Simulationsumgebung.
Projektdetails
Aus den Neurowissenschaften ist bekannt, dass die herausragenden menschlichen Fertigkeiten bei der Manipulation nicht das Ergebnis leistungsstarker Aktorik oder schnellem, sensormotorischen Feedbacks sind. Der Schlüssel liegt vielmehr in der Organisation der Aufgabenausführung, welche Aktionssequenzen unterschiedlicher Komplexität beinhaltet. Im Projekt BesMan wurde dieses Konzept einbezogen und der sogenannte "Bauplan" definiert, welcher eine Sequenz von Teilaufgaben darstellt die, zusammengenommen, einer komplexen Aufgabe entsprechen, wie z.B. die Konstruktion von Infrastruktur auf dem Mond. Die Teilaufgaben wiederum können auf Verhaltensvorlagen abgebildet werden, welche auf dem Robotersystem verfügbar sind. Die Abbildungen zwischen den Teilaufgaben und den Verhaltensvorlagen sind vorher definiert, die Verhaltensvorlagen selbst sind jedoch zu einem gewissen Grad adaptiv und lassen sich an eine spezifische Situation anpassen.
Um eine solche Allgemeingültigkeit von Aufgaben zu erreichen wurde ein Software Framework entwickelt, mit dem Roboterverhalten beschrieben und gesteuert werden können. Hierzu wurde eine eingebettete Domänenspezifische Sprache (eDSL - Embedded Domain Specific Language) entwickelt, welche verwendet werden kann um einen spezifischen Roboter und das den Roboter steuernde Komponentennetzwerk zu beschreiben. Diese Sprache beinhaltet Tools zum Spezifizieren und Verwenden von komponentenbasierter Software, modellbasierten Algorithmen um Roboterbewegungen und Sensorik zu repräsentieren, ein abstraktes Modell des Regelungssystems und ein Planmanagement zur Beschreibung und Ausführung von Sequenzen von Teilaufgaben.
Auf dem Gebiet der dynamischen Roboterregelung wurden Methoden zur experimentellen Identifikation des Robotermodells entwickelt. Diese beruhen im Wesentlichen auf der Erzeugung von optimalen Trajektorien zur Identifikation und Schätzung von Dynamikparametern aus experimentellen Messdaten. Es wurde eine Software Bibliothek entwickelt, welche zunächst ein initiales Dynamikmodell aus der bekannten Geometrie des Roboters erzeugt. Im zweiten Schritt werden dann Experimente zur Identifikation der verbleibenden unbekannten Parameter durchgeführt. Dazu werden Trajektorien erzeugt, welche die maximale Information bezüglich dieser Parameter generieren können und gleichzeitig die Gelenkgrenzen, maximale Geschwindigkeit, sowie Beschleunigung der Robotergelenke berücksichtigen. Die Modellparameter werden aus den so gewonnenen experimentellen Messdaten geschätzt und bei der Implementierung des Reglers verwendet.
Im Bereich der Bewegungsplanung zur Manipulation wurde ein auf OMPL basierender Bewegungsplaner implementiert, vergleichbar mit dem MoveIt! Framework. Zusätzlich wurde Funktionalität zur zweiarmigen Planung mit Nebenbedingungen, Roboter-Selbstfilter sowie Neuplanung in dynamisch veränderlichen Umgebungen integriert.
Im Bereich der Ganzkörperregelung wurde ein Framework zur Robotersteuerung basierend auf Optimierung mit Nebenbedingungen (Constraints) implementiert. Dieses wird zur Planung und Ausführung von reaktiven Roboterbewegungen verwendet und ist in der Lage die physikalischen Limitierungen von Robotersystem und Umgebung zu berücksichtigen sowie die Redundanz komplexer Roboter (wie z.B. AILA) optimal auszunutzen. Insbesondere wurde ein auf Optimierung mit Nebenbedingungen basierender Roboterregler, welcher mehrere verschiedene Zielvorgaben berücksichtigen kann, implementiert und in unser ROCK Framework integriert. Des Weiteren wurde die Infrastruktur bereit gestellt um einen "Bauplan" basierend auf Constraints auszuführen und diesen online zu ändern. Alle aktiven Constraints mit ihren aktuellen Parametern bilden eine Teilaufgabe, welche vom Roboter ausgeführt wird.
Im Bereich des maschinellen Lernens wurde eine generische Lernplattform entwickelt, welche das Lernen von Roboterverhalten durch menschliche Demonstration ermöglicht. Der Prozess ein neues Verhalten zu erzeugen ist hoch automatisiert und schnell genug um dem Roboter im Einsatz bisher unbekannte Verhalten bereitzustellen und einen Ausweg aus einer neuen, nicht vorhergesehenen Situation zu ermöglichen. Die Lernplattform besteht aus mehreren Komponenten zur Datenakquise und Vorverarbeitung von menschlichen Demonstrationen, Segmentierung des Verhaltens in Basiskomponenten, Imitationslernen, Verfeinerung des Verhaltens durch Reinforcement Learning in Simulation sowie die Generalisierung des Verhaltens auf ähnliche Situationen.
Das Ergebnis des Projektes ist ein generisches Lern- und Steuerungsframework, welches unabhängig von der Morphologie des Roboters ist, auf dem es eingesetzt wird. Der Transfer der entwickelten Lösungen zwischen verschiedenen Robotersystemen und Anwendungsszenarien (z.B. Raumfahrt, Logistik) wurde beispielhaft demonstriert. Die Ergebnisse sind in den folgenden Videos zu sehen.
Videos
BESMAN: Dritte Demonstration - Robotersystem MANTIS
Dritte offizielle Demonstration: Ausführung einer autonomen Manipulationsaufgabe in einem Raumfahrtszenario und Lernen von Verhalten durch menschliche Demonstration.
BESMAN: Zweite Demonstration - KUKA LBR iiwa
Zweite offizielle Demonstration: Lernen eines Greifverhaltens durch menschliche Demonstration in einem Logistik Szenario
BesMan: Erste Demonstration – Robotersystem AILA
Erste offizielle Demonstration: Ausführung einer autonomen Manipulationsaufgabe in einem Nachbau der ISS