-
Die Erfindung betrifft ein Verfahren zum Roboterlernen von Fertigkeiten aus Benutzerdemonstration, um Aufgaben mithilfe eines Roboters autonom auszuführen. Außerdem betrifft die Erfindung einen Roboter zum autonomen Ausführen von Aufgaben. Außerdem betrifft die Erfindung eine Datenstruktur zum autonomen Ausführen von Aufgaben mithilfe eines Roboters. Außerdem betrifft die Erfindung ein Computerprogramm zum autonomen Ausführen von Aufgaben mithilfe eines Roboters.
-
Die Veröffentlichung „C. Willibald, T. Eiband, and D. Lee, Collaborative programming of conditional robot tasks, in IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS). IEEE, 2020, pp. 5402-5409.“ betrifft die kollaborative Programmierung von bedingten Roboteraufgaben. In dieser Veröffentlichung wird ein aktives Lernsystem vorgeschlagen, bei dem der Roboter und der Benutzer zusammenarbeiten, um eine komplexe Aufgabe schrittweise zu programmieren. Um ausgehend von einem Grundmodell das Aufgabenwissen des Roboters im Laufe der Zeit zu erweitern, wenn neue Situationen zusätzliche Fähigkeiten erfordern, identifiziert ein Online-Algorithmus zur Erkennung von Anomalien automatisch neue Situationen während der Aufgabenausführung, indem er die Abweichung zwischen gemessenen und befohlenen Sensorwerten überwacht. Der Roboter löst dann eine Lernphase aus, in der der Benutzer entscheidet, ob er eine bestehende Fähigkeit verfeinert oder eine neue Fähigkeit demonstriert. Die verschiedenen Fertigkeiten einer Aufgabe werden in separaten probabilistischen Modellen kodiert und in einem High-Level-Graphen strukturiert, was eine robuste Ausführung und einen erfolgreichen Übergang zwischen den Fertigkeiten gewährleistet. Der Online-Algorithmus skaliert die Empfindlichkeit bezüglich Sensorabweichungen basierend auf dem momentanen Zeitschritt, eine zeitinvariante Anomalie-Erkennung ist daher nicht möglich. Darüber hinaus werden absolute Sensorwert-Trajektorien als Referenzwert herangezogen, was keine Generalisierung oder Anomalie-Erkennung bei generalisierter Ausführung zulässt. Um sicherzustellen, dass eine nachfolgende Fähigkeit zur Auflösung einer vorliegenden Anomalie geeignet ist, wird ein Aufgabengraph verwendet, der nachfolgende Fähigkeiten und den Zeitpunkt einer Transition einschränkt. Das hat aber zur Folge, dass Fähigkeiten nicht wiederverwendet werden können und Entscheidungen bzw. Gabelungen im Aufgabengraph nur in sogenannten Entscheidungszuständen zu einem bestimmten Zeitpunkt möglich sind. Im Falle einer Anomalie wird also lediglich ein Entscheidungszustand in den Aufgabengraph eingefügt, was wie die Programmierung einer if-Aussage zu einem bestimmten Zeitschritt betrachtet werden kann.
-
Der Erfindung liegt die Aufgabe zugrunde, ein eingangs genanntes Verfahren strukturell und/oder funktionell zu verbessern. Außerdem liegt der Erfindung die Aufgabe zugrunde, einen eingangs genannten Roboter strukturell und/oder funktionell zu verbessern. Außerdem liegt der Erfindung die Aufgabe zugrunde, eine eingangs genanntes Datenstruktur strukturell und/oder funktionell zu verbessern. Außerdem liegt der Erfindung die Aufgabe zugrunde, ein eingangs genanntes Computerprogramm strukturell und/oder funktionell zu verbessern.
-
Die Aufgabe wird gelöst mit einem Verfahren mit den Merkmalen des Anspruchs 1. Außerdem wird die Aufgabe gelöst mit einem Roboter mit den Merkmalen des Anspruchs 16. Außerdem wird die Aufgabe gelöst mit einer Datenstruktur mit den Merkmalen des Anspruchs 17. Außerdem wird die Aufgabe gelöst mit einem Computerprogramm mit den Merkmalen des Anspruchs 18. Vorteilhafte Ausführungen und/oder Weiterbildungen sind Gegenstand der Unteransprüche.
-
Das Verfahren kann dazu ausgelegt sein, zum Ausführen von Aufgaben erforderliche Skills von einem Benutzer auf einen Roboter zu übertragen. Das Verfahren kann ein Lernen durch Demonstration (Learning from Demonstration, LfD) beinhalten. Das Verfahren kann dazu ausgelegt sein, einem Roboter ein autonomes Ausführen von Aufgaben zu ermöglichen. Das Verfahren kann als Algorithmus implementiert sein.
-
Eine Aufgabe kann auch als „Task“ bezeichnet werden. „Skill“ bezeichnet vorliegend insbesondere eine Fertigkeit, die zum Ausführen einer Aufgabe erforderlich ist und kann auch als „Fertigkeit“ bezeichnet werden. Skills können beim Ausführen einer Aufgabe sequentiell ausgeführt werden. Das Ausführen einer Aufgabe kann auf ein Erreichen eines Aufgabenziels gerichtet sein. Ein Aufgabenziel kann vorgegeben werden. „Roboterlernen“ bezeichnet vorliegend insbesondere ein Lernen einer Aufgabenausführung durch einen Roboter. „Benutzerdemonstration“ bezeichnet vorliegend insbesondere eine Demonstration einer Aufgabenausführung durch einen Benutzer.
-
Ein Bewegungsablauf kann bei einer Startkonfiguration beginnen. Ein Bewegungsablauf kann nach einer Startkonfiguration beginnen. Ein Bewegungsablauf kann auf ein Erreichen eines Aufgabenziels gerichtet sein. Ein Bewegungsablauf kann einen Ablauf bis zu einem Erreichen eines Aufgabenziels umfassen. Ein Bewegungsablauf kann mit einem Erreichen eines Aufgabenziels enden. Ein Bewegungsablauf kann vor einem Erreichen eines Aufgabenziels enden. Ein Bewegungsablauf kann ein von einem Benutzer demonstrierter Bewegungsablauf sein. Eine Demonstration eines Bewegungsablaufs kann beobachtet und/oder aufgezeichnet werden. Ein Bewegungsablauf kann ein beobachteter und/oder aufgezeichneter Bewegungsablauf sein.
-
Ein Bewegungsablauf kann als Trajektorie aufgezeichnet werden. Die Trajektorie kann eine Trajektorie eines Endeffektors eines Roboters sein. Die Trajektorie kann im euklidischen Raum aufgezeichnet werden. Die Trajektorie kann in eine Folge von Beobachtungen umgewandelt werden. Jede Beobachtung kann durch ein State-Aktion-Tupel beschrieben werden. Der Bewegungsablauf kann nach Erhalt einer Benutzerdemonstration diskretisiert werden. „State“ kann auch als „Zustand“ bezeichnet werden und bezeichnet vorliegend insbesondere einen koordinatenbezogenen Zustand eines Roboters. „Feature“ bezeichnet vorliegend insbesondere eine nach außen wirksame, quantitativ bestimmbare, koordinatenfreie Eigenschaft eines Vorgangs oder eines Zustands in einem System, das einen Roboter und eine Roboterumgebung umfasst. „Feature-Raum“ bezeichnet vorliegend insbesondere eine strukturierte Menge von Features. Ein Segmentieren kann ein Identifizieren und Parametrisiert einzelner Skills beinhalten. „Task-Graph“ kann auch als „Aufgaben-Graph“ bezeichnet werden und bezeichnet vorliegend insbesondere eine topologische Struktur, die eine Menge von Skills zusammen mit den zwischen diesen Skills bestehenden Verbindungen repräsentiert. Um einem Roboter eine Benutzerdemonstration zugänglich zu machen, kann es erforderlich sein, einen demonstrierten Bewegungsablauf zu kodieren. Skills können einen demonstrierten Bewegungsablauf Low-Level bzw. auf niedrigem Niveau kodieren. Ein Task-Graph kann einen demonstrierten Bewegungsablauf High-Level bzw. auf hohem Niveau kodieren.
-
Skills können durch individuelle Subgoals und Feature-Constraints beschrieben werden. Jeder Skill kann durch ein individuelles Subgoal und individuelle Feature-Constraints beschrieben werden. „Subgoal“ kann auch als „Unterziel“ oder „Teilziel“ bezeichnet werden. Ein Subgoal kann eine Absicht eines Skills kodieren. Subgoals können aus einem demonstrierten Bewegungsablauf abgeleitet, bestimmt oder berechnet werden. Subgoals können gespeichert werden. „Feature-Constraints“ bezeichnet vorliegend insbesondere Grenzen für Feature-Werte. Feature-Constraints können aus einem demonstrierten Bewegungsablauf abgeleitet, bestimmt oder berechnet werden. Feature-Constraints können gespeichert werden. Feature-Constraints können als erwartete Grenzen für Feature-Werte verwendet werden. Feature-Constraints können Bereiche für Feature-Werte definieren. Feature-Constraints können multimodal oder multidimensional sein.
-
Kodierung einer Aufgabe aus der Benutzerdemonstration abzuleiten. Ableitung der individuellen Merkmalsbeschränkungen jeder Fertigkeit, was die Erkennung multimodaler Anomalien auch bei der Verallgemeinerung der Fertigkeit auf neue Konstellationen ermöglicht.
-
Subgoals können mithilfe einer Intention-Recognition abgeleitet werden. „Intention-Recognition“ kann auch als „Absichtserkennung“ bezeichnet werden. Die Intention eines Skills kann darin bestehen, sein spezifisches Subgoal zu erreichen. Subgoals können basierend auf inversem bestärkendem Lernen, insbesondere auf Bayes'schem nichtparametrischem inversem bestärkendem Lernen abgeleitet werden. „Inverses bestärkendes Lernen“ kann auch als „Inverse Reinforcement Learning“ bezeichnet werden. „Bayes'sches nichtparametrisches inverses bestärkendes Lernen“ kann auch als „Bayesian nonparametric Inverse Reinforcement Learning“ bezeichnet werden.
-
Feature-Constraints können durch modellbasiertes Clustering abgeleitet werden. Dazu können nach Diskretisieren eines demonstrierten Bewegungsablaufs erhaltene States im Feature-Raum geclustert werden. Feature-Constraints können unter Berücksichtigung einer Mischververteilung, insbesondere mithilfe eines Gaußschen Mischmodells, insbesondere mithilfe eines nichtparametrischen Bayes'schen Gaußschen Mischmodells, abgeleitet werden. „Gaußsches Mischmodell“ kann auch als „Gaussian Mixture Model“ bezeichnet werden. „Nichtparametrisches Bayes'sche Gaußsches Mischmodell“ kann auch als „Bayesian nonparametric Gaussian Mixture Model“ bezeichnet werden.
-
Das Verfahren kann eine Absichtserkennung und ein Feature-Clustering kombinieren. Damit kann eine Low-Level Kodierung eines Bewegungsablaufs aus einer Benutzerdemonstration abgeleitet werden. Das Verfahren kann Aspekte einer subgoalgetriebenen Handlungsgenerierung und Feature-Clustering kombinieren. Subgoals und Feature-Constraints können mithilfe eines gemeinsamen Modells abgeleitet werden. Das gemeinsame Modell kann Aspekte eines Bayesian nonparametric Gaussian Mixture Model (BNGMM) und Aspekte eines Bayesian nonparametric Inverse Reinforcement Learning kombinieren.
-
Bei einem autonomen Ausführen einer Aufgabe mithilfe eines Roboters können Skills des Task-Graphs ausgeführt werden. Während einem autonomen Ausführen einer Aufgabe, kann beim Ausführen eines Skills geprüft werden, ob das Subgoal des ausgeführten Skills erreicht wurde, und/oder können die Feature-Constraints zum Erkennen von Anomalien verwendet werden.
-
Zum Erkennen von Anomalien beim Ausführen eines Skills kann geprüft werden, ob aktuelle Feature-Werte innerhalb eines erwarteten Feature-Constraints-Bereichs liegen. Aktuelle Feature-Werte können während einem autonomen Ausführen einer Aufgabe erfasst werden. Ein erwarteter Feature-Constraints-Bereich kann unter Berücksichtigung von zuvor aus einem demonstrierten Bewegungsablauf abgeleiten und gespeicherten Feature-Constraints bestimmt werden.
-
Zum Prüfen, ob aktuelle Feature-Werte innerhalb eines erwarteten Feature-Constraints-Bereichs liegen, kann für eine aktuelle Feature-Werte-Kombination eine Klassifikationswahrscheinlichkeit bestimmt und mit einem skillspezifischen Grenzwert verglichen werden. Der Grenzwerte kann unter Berücksichtigung einer Benutzerdemonstration vorbestimmt und/oder unter Berücksichtigung eines erfolgreichen Ausführens von Skills aktualisiert werden.
-
Wenn bei einem autonomen Ausführen einer Aufgabe das Subgoal eines ausgeführten Skills erreicht und/oder keine Anomalie erkannt wurde, kann ein Übergang von dem ausgeführten Skill zu dem in dem Task-Graph vorgesehenen folgenden Skill erfolgen. Wenn bei einem autonomen Ausführen einer Aufgabe das Subgoal eines ausgeführten Skills nicht erreicht und/oder eine Anomalie erkannt wurde, kann in dem Task-Graphen ein zum Erreichen des Subgoals und/oder zum Umgehen der Anomalie geeigneter Skill gesucht werden. Wenn in dem Task-Graphen ein zum Erreichen des Subgoals und/oder zum Umgehen der Anomalie geeigneter Skill gefunden wurde, kann ein Übergang zu dem geeigneten Skill erfolgen. Wenn in dem Task-Graphen kein zum Erreichen des Subgoals und/oder zum Umgehen der Anomalie geeigneter Skill gefunden wurde, kann dem Benutzer eine Demonstration eines weiteren Bewegungsablaufs zum Erreichen des Subgoals und/oder zum Umgehen der Anomalie ermöglicht werden.
-
Der weitere Bewegungsablauf kann ebenso wie der anfänglich demonstrierte Bewegungsablauf verarbeitet werden. insbesondere kann der demonstrierte weitere Bewegungsablauf diskretisiert und weitere States können bestimmt werden. Die weiteren States können in den Feature-Raum übertragen werden, um den Feature-Raum zu erweitern. Der weitere Bewegungsablauf kann unter Berücksichtigung der weiteren States und des erweiterten Feature-Raums in weitere Skills segmentiert werden. Der Task-Graph kann mit den erhaltenen weiteren Skills erweitert werden. Im Übrigen wird zu dem weiteren Bewegungsablauf und zur Verarbeitung des weiteren Bewegungsablaufs auch auf die vorstehende Beschreibung zum anfänglich demonstrierten Bewegungsablauf verwiesen. Auf den weiteren Bewegungsablauf können auch alle weiteren Merkmale des erfindungsgemäßen Verfahrens wie vorstehend beschrieben angewendet werden.
-
Ein basierend auf einem demonstrierten Bewegungsablauf generierter Task-Graph kann auch als initialer Task-Graph bezeichnet werden. Ein initialer Task-Graph kann basierend auf weiteren demonstrierten Bewegungsabläufen inkrementell erweitert werden, wenn eine Aufgabe es erfordert.
-
Das Verfahren kann mithilfe des Roboters, der Datenstruktur und/oder des Computerprogramms ausführbar sein. Das Verfahren kann in dem Roboter, in der Datenstruktur und/oder in dem Computerprogramm implementiert sein.
-
Der Roboter kann zum autonomen Ausführen von Aufgaben ausgelegt sein. Der Roboter kann zum Unterstützen eines Benutzers beim Ausführen von Aufgaben ausgelegt sein. Der Roboter kann zum Lernen durch Benutzerdemonstration ausgelegt sein. Der Roboter kann ein autonomer mobiler Roboter sein. Der Roboter kann ein Assistenzroboter, ein humanoider Roboter, ein Personal Robot oder ein Dienstleistungsroboter sein. Der Roboter kann Kinematiken aufweisen. Der Roboter kann Gelenke und Glieder aufweisen. Der Roboter kann Aktuatoren und Sensoren aufweisen. Der Roboter kann eine Benutzerschnittstelle aufweisen. Die Benutzerschnittstelle kann als Ein- und/oder Ausgabeeinrichtung ausgelegt sein. Die Benutzerschnittstelle kann als Touchscreen ausgeführt sein. Der Roboter kann eine Kontrolleinrichtung aufweisen. Die Kontrolleinrichtung kann wenigstens einen Prozessor, wenigstens einen Arbeitsspeicher, wenigstens einen Datenspeicher und/oder wenigstens eine Signalschnittstelle aufweisen. Die Kontrolleinrichtung und die Aktuatoren, die Sensoren und/oder die Ein- und/oder Ausgabeeinrichtung können miteinander signalübertragend verbunden sein. Der Roboter kann ein realer Roboter sein. Der Roboter kann ein simulierter Roboter oder eine Robotersimulation sein. Der Roboter kann dazu ausgelegt sein, das Verfahren und/oder Schritte des Verfahrens auszuführen. Der Roboter, insbesondere die Kontrolleinrichtung, kann dazu ausgelegt sein, das Computerprogramm und/oder Schritte des Computerprogramms auszuführen. Der Roboter, insbesondere die Kontrolleinrichtung, kann dazu ausgelegt sein, die Datenstruktur zu repräsentieren und/oder zu verwenden.
-
Die Datenstruktur, insbesondere der Task-Graph, kann zum Speichern und/oder Organisieren von Daten ausgelegt sein. Die Datenstruktur, insbesondere der Task-Graph, kann dazu ausgelegt sein, Daten in einer vorbestimmten Art und Weise anzuordnen und/oder zu verknüpfen. Die Datenstruktur, insbesondere der Task-Graph, kann dazu ausgelegt sein, eine Unidirektionalität der Verknüpfung zu überwinden. Die Datenstruktur kann durch Operationen auf diesen Daten, die Zugriff und Verwaltung ermöglichen und realisieren, charakterisiert sein. Die Datenstruktur, insbesondere der Task-Graph, kann durch die Operationen „Einfügen“, „Löschen“ und „Finden“ von Skills charakterisiert sein. Die Datenstruktur, insbesondere der Task-Graph, kann eine abstrakte Struktur sein oder umfassen, die eine Menge von Skills zusammen mit den zwischen diesen Skills bestehenden Verbindungen repräsentiert. Die Datenstruktur, insbesondere der Task-Graph, kann dazu ausgelegt sein, das Verfahren und/oder Schritte des Verfahrens auszuführen. Die Datenstruktur, insbesondere der Task-Graph, kann in dem Roboter, insbesondere in der Kontrolleinrichtung, und/oder in dem Computerprogramm repräsentiert sein und/oder verwendet werden.
-
Das Computerprogramm kann auf einer Kontrolleinrichtung eines Roboters installierbar und/oder ausführbar sein. Das Computerprogramm kann als installierter und/oder ausgeführter Programmcode vorliegen. Das Computerprogramm kann auf einem Datenträger als installierbare und/oder ausführbare Programmdatei vorliegen. Das Computerprogramm kann dazu ausgelegt sein, in einen Arbeitsspeicher einer Kontrolleinrichtung eines Roboters geladen und/oder mithilfe wenigstens eines Prozessors ausgeführt zu werden. Das Computerprogramm kann dazu ausgelegt sein, das Verfahren und/oder Schritte des Verfahrens auszuführen. Das Computerprogramm kann dazu ausgelegt sein, ein Ausführen des Verfahrens und/oder von Schritten des Verfahrens zu unterstützen. Das Computerprogramm kann dazu ausgelegt sein, die Datenstruktur zu repräsentieren und/oder zu verwenden.
-
Zusammenfassend und mit anderen Worten dargestellt ergibt sich somit durch die Erfindung unter anderem ein mehrstufiges Aufgabenlernen aus Demonstrationen für autonome Robotermanipulation.
-
Es können individuellen Skills aus einer durchgängigen Demonstration einer kompletten Aufgabe gelernt werden. Die einzelnen Skills können in einem höheren Abstraktionslevel topologisch strukturiert werden. Die einzelnen Skills können in einem Task-Graphen (TG) strukturiert werden. Der TG ist inkrementell erweiterbar, wenn der Roboter zusätzliche Skills zum Lösen der Aufgabe benötigt.
-
Die logischen Schritte, die auch als Skills bezeichnet werden, können aus einer einzigen zusammenhängenden Demonstration identifiziert werden. Dazu kann die Demonstration in diskrete Zustände unterteilt und deren Feature Werte berechnet werden. Mithilfe eines Segmentierungsalgorithmus kann die Demonstration dann in einzelne Skills unterteilt werden, wobei jeder Skill durch ein Subgoal und Feature Constraints charakterisiert sein kann. Die einzelnen Skills können entsprechend der beobachteten Sequenz in dem TG gespeichert werden. Im Falle einer registrierten Abweichung der gemessenen Feature Werte während der autonomen Ausführung auf einem Roboter kann das System versuchen, im TG einen geeigneten Skill zur Lösung der Anomalie zu finden. Falls dem System noch kein passender Skill bekannt ist, kann der Benutzer aufgefordert werden, eine Lösung zu demonstrieren, die bei einem wiederholten Auftreten der Situation als Lösungsstrategie verwendet werden kann. Somit können dem System inkrementell neue Entscheidungen und Lösungsstrategien für Anomalien gelernt werden. Die neu demonstrierte Strategie kann segmentiert werden und die gelernten Skills können im TG mit demjenigen Skill verbunden werden, währen dessen Ausführung die Anomalie entdeckt wurde.
-
Zur Segmentierung einer Demonstration in einzelne Skills kann eine Kombination von Feature Constraints und der Intention eines Skills verwendet werden. Der Segmentierungsalgorithmus kann eine Intentions-Erkennung mit Feature Clustering verbinden, um eine inhärente Struktur in den erfassten Daten zu lernen, wozu neben der Benutzerdemonstration der Aufgabe kein weiteres Vorwissen (Trainingsdaten) notwendig ist. Die Intention eines Skills kann durch ein Subgoal, einen bestimmten Zustand während der Demonstration, beschrieben werden. Angenommen werden kann, dass ein Skill dazu dient, ein bestimmtes Subgoal, bspw. eine End-Effektor Pose zum Greifen eines Objektes oder eine abgedeckte Fläche bei einer Oberflächenbehandlung, zu erreichen. Um das Subgoal aus den beobachteten Aktionen der Demonstration zu erschließen, kann ein Ansatz basierend auf Inverse Reinforcement Learning verwendet werden. Dieser kann in einem gemeinsamen Modell mit einem Bayesian-nonparametric Gaussian Mixture Model für Feature Clustering kombiniert werden. Das Feature Clustering kann Gemeinsamkeiten der Zustände während der Demonstration im Feature Raum verwenden, um Cluster (Mixtures) zu erzeugen. Jedes Cluster kann in diesem Ansatz einem Skill entsprechen. Aus der Demonstration können die Anzahl an Skills, das Subgoal jedes Skills, sowie die erwartete Feature Region für jeden Skill bestimmt werden.
-
Die individuellen Feature Constraints eines Skills können zur unüberwachten online Anomalie-Erkennung während der Ausführung einer Aufgabe unter veränderbaren Umgebungsbedingungen verwendet werden. Die Feature Gemeinsamkeiten, die zur Clusterfindung verwendet wurden, können während der Ausführung der gelernten Aufgabe mit einem Roboter verwendet werden, um für jeden Skill individuell zu überprüfen, ob die gemessenen Feature Werte mit den Erwarteten übereinstimmen. Features können relativ zu Objekten in der Umgebung definiert sein und somit auch während der generalisierten Ausführung, bei sich ändernden Konfigurationen der Objekte in der Umgebung, zur Anomalie-Erkennung herangezogen werden. Die erwartete Feature Region eines Skills kann als mehrdimensionale Gauß Verteilung modelliert werden, wobei der Mittelwert und die Kovarianz jedes Features individuell gelernt werden kann. Als Feature können beliebige Sensormodalitäten, wie Kraft, Position, Orientierung, Klang, etc., verwendet werden. Unterschreitet die Klassifikationswahrscheinlichkeit für eine Kombination aus gemessenen Features während der Ausführung einen bestimmten Grenzwert, so kann eine Anomalie erkannt werden. Der Grenzwert kann als die niedrigste beobachtete Wahrscheinlichkeit während der Demonstration gewählt werden. Um das System robuster zu machen, kann der Grenzwert auch mit Klassifikationswahrscheinlichkeiten upgedatet werden, die während der erfolgreichen Ausführung eines Skills mit dem Roboter beobachtet wurden.
-
Durch flexible Skill Transition kann der erfolgreiche Fortschritt überprüft werden und im Falle einer Anomalie kann autonom eine Entscheidung zur Lösung der Aufgabe gefunden werden. Es können zwei unterschiedliche Transitionen zwischen Skills bestehen:
-
A) Die Transition zu einem nachfolgenden Skill erfolgt, wenn das Subgoal des vorherigen Skills erreicht wurde. Damit kann sichergestellt werden, dass alle Subgoals zu Erfüllung der Aufgabe erreicht werden.
-
B) Im Falle einer erkannten Anomalie wird zu einem Skill, der mit dem momentanen Skill im Task Graph verbunden ist und zur Auflösung dieser Anomalie dient, gewechselt. Somit kann die Anomalie behoben werden und mit der beabsichtigten Ausführung fortgefahren werden. Während der Ausführung können flexible Transitionen zwischen Skills zu beliebigen Zeitschritten ermöglicht werden. Die Intention eines jeden Skills kann durch das Subgoal bestimmt sein, somit kann von jeder beliebigen Roboterkonfiguration eine Trajektorie zur Erreichung des Subgoals des nächsten Skills generiert werden.
-
Mit der Erfindung wird ein integrierter Ansatz zum Low- und High-Level-Lern Skills zum Ausführen von Aufgaben bereitgestellt, der einen demonstrierten Bewegungsablauf effizient in Skills segmentieren kann und für jeden Skill einen individuellen Feature-Constraints-Bereich sowie ein State-Subgoal extrahieren kann. Die Skills können als dynamische Bewegungsprimitive kodiert werden, die auf neue Subgoalkonfigurationen verallgemeinert werden können und einen flexiblen Übergang während der autonomen Ausführung ermöglichen können. Ein Task-Graph kann diese Skills auf einer höheren Ebene strukturieren und inkrementell erweitert werden, wenn neue Situationen dies erfordern. Die abgeleiteten Feature-Constraints können während einem autonomen Ausführen von Aufgaben für eine unbeaufsichtigte zeitinvariante Erkennung von Anomalien auf Grundlage der prädiktiven Posterior-Verteilung des Feature-Clusters verwendet werden. Anomalien können durch ein Wiederherstellungsverhalten des Task-Graphs automatisch aufgelöst werden. Die Erfindung ermöglicht es einem Roboter, erlernte Fähigkeiten auf verschiedene Kontexte anzuwenden und autonome Entscheidungen während einem autonomen Ausführen von Aufgaben zu treffen. Ein Lernen kann mit reduzierter Rechenkomplexität und erhöhter Leistung erfolgen.
-
Ein manuelles Entwerfen und Demonstrieren einzelner isolierter Skills durch einen Benutzer können entfallen. Ein kollaboratives Vorgehen beim inkrementellen Lernen einer Aufgabe wird ermöglicht, wobei der Roboter autonom Anomalien erkennen und entscheiden kann, ob der Benutzer hinzugezogen werden muss.
-
Nachfolgend werden Ausführungsbeispiele der Erfindung unter Bezugnahme auf Figuren näher beschrieben, dabei zeigen schematisch und beispielhaft:
- 1 eine Anordnung mit einem Roboter zum autonomen Ausführen von Aufgaben, der aus Benutzerdemonstration lernen kann,
- 2 eine segmentierte Endeffektor-Trajektorie der Benutzerdemonstration einer Aufgabe,
- 3 ein Vorgehen zum Lernen eines alternativen Skills,
- 4 einen Task-Graph mit Wiederherstellungsverhalten und
- 5 eine Anomalie-Erkennung.
-
1 zeigt eine Anordnung mit einem Roboter 100, einer Kamera 102, einem ersten Objekt 104, einem zweiten Objekt 106 und einer Eingabeeinrichtung 108. Der Roboter 100 kann Skills aus Benutzerdemonstration lernen, um Aufgaben autonom auszuführen, wobei ein Bewegungsablauf demonstriert wird, der Bewegungsablauf diskretisiert wird und States bestimmt werden, die States in einen Feature-Raum übertragen werden, der Bewegungsablauf unter Berücksichtigung der States und des Feature-Raums in Skills segmentiert wird, und die erhaltenen Skills in einem Task-Graph strukturiert werden.
-
Der Roboter 100 ist auf einer auf einer Linearachse 110 montiert und weist einen Greifer als Endeffektor 112 und einen Sensor zum Messen von Kräften und Drehmomenten, die auf den Endeffektor 112 wirken, auf. Die Kamera 102 wird verwendet, um die 6D-Objektposen zu verfolgen. Die Eingabeeinrichtung 108 dient zum Starten/Stoppen einer Benutzerdemonstration und zum Betätigen des Greifers. Beim Starten des Demonstrationsmodus kompensiert der Roboter 100 sein Eigengewicht, was eine Benutzerdemonstration durch einfaches Bewegen des Roboters 100 ermöglicht. Die Aufgabe, die der Roboter 100 aus einer Benutzerdemonstration lernen muss, besteht darin, das erste Objekt 104 aufzunehmen und es derart auf dem zweiten Objekt 106 zu platzieren, dass die Objektkanten fluchten. Beide Objekte 104, 106 können dabei beliebige anfängliche 6D-Posen haben. Darüber hinaus sollte der Roboter 100 in der Lage sein, eine Anomalie selbständig aufzulösen, wenn der Roboter 100 das erste Objekt 104 beim Transport verliert. Die überwachten Features sind: die euklidische Distanz zwischen dem Endeffektor 112 des Roboters 100 und den Objekten 104, 106; die relative Orientierung zwischen dem Endeffektor und den Objekten 104, 106; die auf den Endeffektor 112 wirkende Kraft; der Greifer-Fingerabstand und der Greifzustand des Greifers ∈ {-1 ,0,1}.
-
2 zeigt eine segmentierte Endeffektor-Trajektorie 114 der Benutzerdemonstration der Aufgabe. Die Endeffektor-Trajektorie 114 wird in eine Task-Graph-Repräsentation überführt. 3 zeigt ein Vorgehen zum Lernen eines alternativen Skills im Task-Graph. Hier am Beispiel der Anomalie, wenn der Roboter 100 das erste Objekt 104 während eines Transport-Skills verliert. 4 zeigt eine Skill-Sequenz bzw. einen Task-Graph 116 mit Wiederherstellungsverhalten. Die Anomalie-Erkennung ist in 5 dargestellt.
-
Wie aus 4 ersichtlich, umfasst die zum Ausführen der Aufgabe beabsichtigte Skill-Sequenz 118 die Skills „Annähern an das erste Objekt“ 120, „Greifer Schließen“ 122, „Bewegen zum zweiten Objekt“ 124, „Ausrichten am zweiten Objekt“ 126, „Greifer Öffnen“ 128 und „Zurückkehren in Ausgangsposition“ 130.
-
3 illustriert in einem oberen Zweig, wie bei einem ersten Auftreten einer Anomalie 132, der Benutzer 134 eine Strategie zur Lösung der Situation demonstriert, 136, 138. Die demonstrierte Strategie wird dann mit den weiteren Skills „Annähern an das erste Objekt“ 140 und „Greifer Schließen“ 142 in den Task-Graph 116 überführt und als alternative Strategie 144 mit dem Skill „Bewegen zum zweiten Objekt“ 124 verbunden. Im Falle eines wiederholten Auftretens der Anomalie 146 in folgenden Ausführungen der Aufgabe kann der Roboter 100, wie in einem unteren Zweig illustriert, die Situation autonom lösen, indem zu der alternativen Strategie 144 gewechselt wird. Die Anomalie kann dabei zu beliebigen Zeitschritten währen dem Skill „Bewegen zum zweiten Objekt“ 124 auftreten und der Roboter 100 kann mithilfe der Information über die Subgoals die Bewegung automatisch für neue Objektkonfigurationen generalisieren.
-
5 zeigt die Anomalie-Erkennung anhand distanzbasierter Features. Werte eines distanzbasierter Features Dist EEF-Obj 2 in Bezug auf das zweite Objekt sind in x-Richtung aufgetragen, Werte eines distanzbasierter Features Dist EEF-Obj 1 in Bezug auf das erste Objekt sind in y-Richtung aufgetragen. Die während der Benutzerdemonstration aufgezeichneten Feature-Werte sind mit 150 bezeichnet. Die während der Benutzerdemonstration aufgezeichneten Feature-Werte 150 bilden Trainingsdaten und werden verwendet, um eine erwartete Feature-Region bzw. einen erwarteten Feature-Constraints-Bereich 152 zu lernen. Die erwartete Feature-Region 152 wird repräsentiert durch eine mehrdimensionale Gauß Verteilung. Sobald die während der Ausführung aufgezeichneten Feature-Werte die erwartete Feature-Region 152 verlassen, registriert der Roboter 100 eine Anomalie 154. Während der Ausführung aufgezeichneten Feature-Werte, die innerhalb der erwarteten Feature-Region 152 liegen sind mit 156 bezeichnet, während der Ausführung aufgezeichneten Feature-Werte, die außerhalb der erwarteten Feature-Region 152 liegen sind mit 158 bezeichnet. Die Bilder ① und ② in 5 zeigen die Benutzerdemonstration (3: 136, 138). Die Bilder ③ und ④ in 5 zeigen das autonome Ausführen der Aufgabe (3: 160, 162) durch den Roboter 100.
-
Mit „kann“ sind insbesondere optionale Merkmale der Erfindung bezeichnet. Demzufolge gibt es auch Weiterbildungen und/oder Ausführungsbeispiele der Erfindung, die zusätzlich oder alternativ das jeweilige Merkmal oder die jeweiligen Merkmale aufweisen.
-
Aus den vorliegend offenbarten Merkmalskombinationen können bedarfsweise auch isolierte Merkmale herausgegriffen und unter Auflösung eines zwischen den Merkmalen gegebenenfalls bestehenden strukturellen und/oder funktionellen Zusammenhangs in Kombination mit anderen Merkmalen zur Abgrenzung des Anspruchsgegenstands verwendet werden.
-
Bezugszeichen
-
- 100
- Roboter
- 102
- Kamera
- 104
- erstes Objekt
- 106
- zweites Objekt
- 108
- Eingabeeinrichtung
- 110
- Linearachse
- 112
- Endeffektor
- 114
- Endeffektor-Trajektorie
- 116
- Task-Graph
- 118
- beabsichtigte Skill-Sequenz
- 120
- Skill „Annähern an das erste Objekt“
- 122
- Skill „Greifer Schließen“
- 124
- Skill „Bewegen zum zweiten Objekt“
- 126
- Skill „Ausrichten am zweiten Objekt“
- 128
- Skill „Greifer Öffnen“
- 130
- Skill „Zurückkehren in Ausgangsposition“
- 132
- erstes Auftreten der Anomalie
- 134
- Benutzer
- 136
- Benutzerdemonstration
- 138
- Benutzerdemonstration
- 140
- Skill „Annähern an das erste Objekt“
- 142
- Skill „Greifer Schließen“
- 144
- alternative Strategie
- 146
- wiederholtes Auftreten der Anomalie
- 148
- alternative Strategie
- 150
- Feature-Werte aus Benutzerdemonstration
- 152
- Feature-Region, Feature-Constraints-Bereich
- 154
- Anomalie
- 156
- Feature-Werte innerhalb der erwarteten Region
- 158
- Feature-Werte innerhalb der erwarteten Region
- 160
- autonome Aufgabenausführung
- 162
- autonome Aufgabenausführung
-
ZITATE ENTHALTEN IN DER BESCHREIBUNG
-
Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.
-
Zitierte Nicht-Patentliteratur
-
- C. Willibald, T. Eiband, and D. Lee, Collaborative programming of conditional robot tasks, in IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS). IEEE, 2020, pp. 5402-5409 [0002]