ARC-OPT
Adaptive Robot Control using Optimization
Ansprechpartner/in:
ARC-OPT ist eine Sammlung von Tools für die optimierungs-basierte Regelung von Robotersystemen. Es ermöglicht die intuitive Spezifikation, Ausführung und Optimierung von reaktiven Roboteraufgaben, welche mehrere simultan auszuführende Teilaufgaben beinhalten. ARC-OPT beinhaltet verschiedene Robotermodelle und Löser, welche die Implementierung von hierarchischen, gewichteten oder hybriden Regelungsentwürfen auf komplexen Robotern mit vielen Freiheitsgraden erlauben, zum Beispiel Humanoiden.
Internetseite: | https://github.com/ARC-OPT |
Schlüsselwörter: | Optimierungs-basierte Regelung, Whole-Body Control, Humanoide Robotik |
Status: | aktiv |
Betriebssystem: | Linux |
Programmiersprachen: | C++, Python |
Lizenz: | BSD-3-Clause |
Eigentumsrechte: | Diese Software wurde vom DFKI sowie von der Arbeitsgruppe Robotik der Universität Bremen entwickelt und wird unter dieser Verantwortung weiterentwickelt. Bei Fragen und Anregungen wenden sie sich an die Ansprechpartner. |
Softwarebeschreibung
Whole-Body Control (WBC) ist ein auf Optimierung basierender Ansatz zur Regelung von Robotern mit redundanten Freiheitsgraden, zum Beispiel Humanoide oder mobile Manipulatoren. WBC ermöglicht die gleichzeitige Ausführung mehrerer Aufgaben, indem es diese als Nebenbedingungen oder innerhalb der Kostenfunktion eines Online-Optimierungsproblems definiert. In jedem Regelzyklus wird das Optimierungsproblem aktualisiert, gelöst und seine Lösung als Steuersignal auf die Aktuatoren des Roboters abgebildet. Anstatt die Inverse Kinematik oder Dynamik jeder Aufgabe einzeln zu berechnen, bestimmt WBC die optimale Lösung, welche alle Aufgaben, sowie physikalischen Nebenbedingungen wie zum Beispiel Kontaktkräfte oder Gelenkgrenzen berücksichtigt. Auf diese Weise können komplexe Roboteraufgaben aus einfacheren Teilaufgaben entworfen und die gesamten Freiheitsgrade des Roboters optimal genutzt werden.
ARC-OPT ist ein modularer Baukasten für optimierungsbasierte Regelungsverfahren. Das Framework stellt verschiedene Robotermodelle, Löser und vollständige Whole-Body Controller zur Verfügung, welche durch standardisierte Schnittstellen beliebig kombiniert werden können. Auf diese Weise können mit geringem Aufwand eine Vielzahl von optimierungsbasierten Feedback Reglern für Multi-Task Probleme konfiguriert werden.
Ein Problem bei WBC und anderen optimierungsbasierten Ansätzen zur Robotersteuerung ist, dass Expertenwissen benötigt wird, um das Optimierungsproblem so zu modellieren, dass das gewünschte Roboterverhalten erzielt wird. So ist es notwendig die Aufgabe zu analysieren, entsprechende Aufgabenmodelle abzuleiten, Nebenbedingungen zu definieren und den Aufgaben geeignete Prioritäten zuzuweisen. Dieser, meist manuell ausgeführte Vorgang, ist sehr zeitaufwendig und fehleranfällig. Darüber hinaus sind die entwickelten Lösungen meist auf bestimmte Situationen beschränkt. Falls sich die Aufgabe oder die Umgebung des Roboters verändert, schlagen die händisch entwickelten Lösungen meist fehl und die Aufgabenbeschreibung muss angepasst werden.
Auf diesem Grund stellt ARC-OPT über eine Python Schnittstelle verschiedene Ansätze zur Verfügung, um das Optimierungsproblem anhand von Daten automatisiert abzuleiten und mit Hilfe von maschinellen Lernverfahren an neue Situation anzupassen. Die Daten können dabei zum Beispiel experimentell anhand von Nutzerdemonstrationen gewonnen werden. WBC Probleme können auf diese Weise intuitiv programmiert, adaptiert und optimiert werden. Existierende WBC Ansätze werden durch ARC-OPT leichter nutzbar, allgemeingültiger und adaptiver beim Einsatz in dynamischen Umgebungen.
ARC-OPT ist in die Robotik Frameworks Rock und ROS integriert und besitzt eine Anbindung an verschiedene Simulationsumgebungen wie RaiSim, MARS und Gazebo, welche zur Evaluierung genutzt werden können.
ARC-OPT ist ein modularer Baukasten für optimierungsbasierte Regelungsverfahren. Das Framework stellt verschiedene Robotermodelle, Löser und vollständige Whole-Body Controller zur Verfügung, welche durch standardisierte Schnittstellen beliebig kombiniert werden können. Auf diese Weise können mit geringem Aufwand eine Vielzahl von optimierungsbasierten Feedback Reglern für Multi-Task Probleme konfiguriert werden.
Ein Problem bei WBC und anderen optimierungsbasierten Ansätzen zur Robotersteuerung ist, dass Expertenwissen benötigt wird, um das Optimierungsproblem so zu modellieren, dass das gewünschte Roboterverhalten erzielt wird. So ist es notwendig die Aufgabe zu analysieren, entsprechende Aufgabenmodelle abzuleiten, Nebenbedingungen zu definieren und den Aufgaben geeignete Prioritäten zuzuweisen. Dieser, meist manuell ausgeführte Vorgang, ist sehr zeitaufwendig und fehleranfällig. Darüber hinaus sind die entwickelten Lösungen meist auf bestimmte Situationen beschränkt. Falls sich die Aufgabe oder die Umgebung des Roboters verändert, schlagen die händisch entwickelten Lösungen meist fehl und die Aufgabenbeschreibung muss angepasst werden.
Auf diesem Grund stellt ARC-OPT über eine Python Schnittstelle verschiedene Ansätze zur Verfügung, um das Optimierungsproblem anhand von Daten automatisiert abzuleiten und mit Hilfe von maschinellen Lernverfahren an neue Situation anzupassen. Die Daten können dabei zum Beispiel experimentell anhand von Nutzerdemonstrationen gewonnen werden. WBC Probleme können auf diese Weise intuitiv programmiert, adaptiert und optimiert werden. Existierende WBC Ansätze werden durch ARC-OPT leichter nutzbar, allgemeingültiger und adaptiver beim Einsatz in dynamischen Umgebungen.
ARC-OPT ist in die Robotik Frameworks Rock und ROS integriert und besitzt eine Anbindung an verschiedene Simulationsumgebungen wie RaiSim, MARS und Gazebo, welche zur Evaluierung genutzt werden können.