DE102022124832A1 - Verfahren zum Roboterlernen von Fertigkeiten aus Benutzerdemonstration und Roboter, Datenstruktur und Computerprogramm zum autonomen Ausführen von Aufgaben - Google Patents

Verfahren zum Roboterlernen von Fertigkeiten aus Benutzerdemonstration und Roboter, Datenstruktur und Computerprogramm zum autonomen Ausführen von Aufgaben Download PDF

Info

Publication number
DE102022124832A1
DE102022124832A1 DE102022124832.1A DE102022124832A DE102022124832A1 DE 102022124832 A1 DE102022124832 A1 DE 102022124832A1 DE 102022124832 A DE102022124832 A DE 102022124832A DE 102022124832 A1 DE102022124832 A1 DE 102022124832A1
Authority
DE
Germany
Prior art keywords
robot
skills
skill
task
feature
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
DE102022124832.1A
Other languages
English (en)
Inventor
Christoph Willibald
Dongheui Lee
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Deutsches Zentrum fuer Luft und Raumfahrt eV
Original Assignee
Deutsches Zentrum fuer Luft und Raumfahrt eV
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Deutsches Zentrum fuer Luft und Raumfahrt eV filed Critical Deutsches Zentrum fuer Luft und Raumfahrt eV
Priority to DE102022124832.1A priority Critical patent/DE102022124832A1/de
Publication of DE102022124832A1 publication Critical patent/DE102022124832A1/de
Pending legal-status Critical Current

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators
    • B25J9/1661Programme controls characterised by programming, planning systems for manipulators characterised by task planning, object-oriented languages
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J13/00Controls for manipulators
    • B25J13/08Controls for manipulators by means of sensing devices, e.g. viewing or touching devices
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/42Recording and playback systems, i.e. in which the programme is recorded from a cycle of operations, e.g. the cycle of operations being manually controlled, after which this record is played back on the same machine
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/40Robotics, robotics mapping to robotics vision
    • G05B2219/40102Tasks are classified in types of unit motions
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/40Robotics, robotics mapping to robotics vision
    • G05B2219/40113Task planning
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/40Robotics, robotics mapping to robotics vision
    • G05B2219/40446Graph based

Abstract

Verfahren zum Roboterlernen von Skills (120, 122, 124, 126, 128, 130) aus Benutzerdemonstration, um Aufgaben mithilfe eines Roboters 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 (120, 122, 124, 126, 128, 130) in einem Task-Graph (116) strukturiert werden, Roboter zum autonomen Ausführen von Aufgaben und Computerprogramm zum autonomen Ausführen von Aufgaben mithilfe eines Roboters.

Description

  • 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]

Claims (18)

  1. Verfahren zum Roboterlernen von Skills (120, 122, 124, 126, 128, 130) aus Benutzerdemonstration, um Aufgaben mithilfe eines Roboters (100) autonom auszuführen, dadurch gekennzeichnet, dass - 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.
  2. Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass die Skills (120, 122, 124, 126, 128, 130) durch individuelle Subgoals und Feature-Constraints beschrieben werden.
  3. Verfahren nach Anspruch 2, dadurch gekennzeichnet, dass die Subgoals mithilfe einer Intention-Recognition basierend auf inversem bestärkendem Lernen abgeleitet werden.
  4. Verfahren nach wenigstens einem der Ansprüche 2 bis 3, dadurch gekennzeichnet, dass die Feature-Constraints mithilfe eines Gaußschen Mischmodells abgeleitet werden.
  5. Verfahren nach wenigstens einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass die erhaltenen Skills (120, 122, 124, 126, 128, 130) in einem Task-Graph (116) strukturiert werden.
  6. Verfahren nach Anspruch 5, dadurch gekennzeichnet, dass während einem autonomen Ausführen einer Aufgabe, wobei Skills (120, 122, 124, 126, 128, 130) des Task-Graphs (116) ausgeführt werden, beim Ausführen eines Skills (120, 122, 124, 126, 128, 130) geprüft wird, ob das Subgoal des ausgeführten Skills erreicht wurde.
  7. Verfahren nach wenigstens einem der Ansprüche 2 bis 6, dadurch gekennzeichnet, dass während einem autonomen Ausführen einer Aufgabe, wobei Skills (120, 122, 124, 126, 128, 130) des Task-Graphs (116) ausgeführt werden, die Feature-Constraints zum Erkennen von Anomalien (154) verwendet werden.
  8. Verfahren nach wenigstens einem der Ansprüche 2 bis 7, dadurch gekennzeichnet, dass zum Erkennen von Anomalien (154) beim Ausführen eines Skills (120, 122, 124, 126, 128, 130) geprüft wird, ob aktuelle Feature-Werte (154, 156) innerhalb eines erwarteten Feature-Constraints-Bereichs (152) liegen.
  9. Verfahren nach wenigstens einem der Ansprüche 2 bis 8, dadurch gekennzeichnet, dass zum Prüfen, ob aktuelle Feature-Werte innerhalb eines erwarteten Feature-Constraints-Bereichs (152) liegen, für eine aktuelle Feature-Werte-Kombination eine Klassifikationswahrscheinlichkeit bestimmt und mit einem skillspezifischen Grenzwert verglichen wird.
  10. Verfahren nach Anspruch 9, dadurch gekennzeichnet, dass der Grenzwerte unter Berücksichtigung einer Benutzerdemonstration vorbestimmt und/oder unter Berücksichtigung eines erfolgreichen Ausführens von Skills (120, 122, 124, 126, 128, 130) aktualisiert wird.
  11. Verfahren nach wenigstens einem der Ansprüche 2 bis 10, dadurch gekennzeichnet, dass, wenn bei einem autonomen Ausführen einer Aufgabe, wobei Skills (120, 122, 124, 126, 128, 130) des Task-Graphs (116) ausgeführt werden, das Subgoal eines ausgeführten Skills erreicht und/oder keine Anomalie (154) erkannt wurde, ein Übergang von dem ausgeführten Skill (120, 122, 124, 126, 128, 130) zu dem in dem Task-Graph (116) vorgesehenen folgenden Skill (120, 122, 124, 126, 128, 130) erfolgt.
  12. Verfahren nach wenigstens einem der Ansprüche 2 bis 11, dadurch gekennzeichnet, dass, wenn bei einem autonomen Ausführen einer Aufgabe, wobei Skills (120, 122, 124, 126, 128, 130) des Task-Graphs (116) ausgeführt werden, das Subgoal eines ausgeführten Skills (120, 122, 124, 126, 128, 130) nicht erreicht und/oder eine Anomalie (154) erkannt wurde, in dem Task-Graphen (116) ein zum Erreichen des Subgoals und/oder zum Umgehen der Anomalie (154) geeigneter Skill (140, 142) gesucht wird.
  13. Verfahren nach Anspruch 12, dadurch gekennzeichnet, dass, wenn in dem Task-Graphen (116) ein zum Erreichen des Subgoals und/oder zum Umgehen der Anomalie geeigneter Skill (140, 142) gefunden wurde, ein Übergang zu dem geeigneten Skill (140, 142) erfolgt.
  14. Verfahren nach Anspruch 12, dadurch gekennzeichnet, dass, wenn in dem Task-Graphen (116) kein zum Erreichen des Subgoals und/oder zum Umgehen der Anomalie (154) geeigneter Skill gefunden wurde, dem Benutzer eine Demonstration eines weiteren Bewegungsablaufs zum Erreichen des Subgoals und/oder zum Umgehen der Anomalie (154) ermöglicht wird.
  15. Verfahren nach Anspruch 14, dadurch gekennzeichnet, dass - der demonstrierte weitere Bewegungsablauf diskretisiert wird und weitere States bestimmt werden, - die weiteren States in den Feature-Raum übertragen werden, um den Feature-Raum zu erweitern, - der weitere Bewegungsablauf unter Berücksichtigung der weiteren States und des erweiterten Feature-Raums in weitere Skills segmentiert wird, und - der Task-Graph mit den erhaltenen weiteren Skills (140, 142) erweitert wird.
  16. Roboter (100) zum autonomen Ausführen von Aufgaben, dadurch gekennzeichnet, dass der Roboter (100) zum Ausführen eines Verfahrens nach wenigstens einem der Ansprüche 1 bis 15 ausgelegt ist.
  17. Datenstruktur zum autonomen Ausführen von Aufgaben mithilfe eines Roboters (100), dadurch gekennzeichnet, dass die Datenstruktur einen erweiterbaren Task-Graph (116) umfasst, in dem unter Anwendung eines Verfahrens nach wenigstens einem der Ansprüche 1 bis 14 gelernte Skills (120, 122, 124, 126, 128, 130, 140, 142) strukturierbar sind.
  18. Computerprogramm zum autonomen Ausführen von Aufgaben mithilfe eines Roboters (100), dadurch gekennzeichnet, dass das Computerprogramm Programmcodeabschnitte umfasst, mit denen ein Verfahren nach wenigstens einem der Ansprüche 1 bis 15 ausführbar ist, wenn das Computerprogramm auf einer Kontrolleinrichtung des Roboters (100) ausgeführt wird.
DE102022124832.1A 2022-09-27 2022-09-27 Verfahren zum Roboterlernen von Fertigkeiten aus Benutzerdemonstration und Roboter, Datenstruktur und Computerprogramm zum autonomen Ausführen von Aufgaben Pending DE102022124832A1 (de)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE102022124832.1A DE102022124832A1 (de) 2022-09-27 2022-09-27 Verfahren zum Roboterlernen von Fertigkeiten aus Benutzerdemonstration und Roboter, Datenstruktur und Computerprogramm zum autonomen Ausführen von Aufgaben

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE102022124832.1A DE102022124832A1 (de) 2022-09-27 2022-09-27 Verfahren zum Roboterlernen von Fertigkeiten aus Benutzerdemonstration und Roboter, Datenstruktur und Computerprogramm zum autonomen Ausführen von Aufgaben

Publications (1)

Publication Number Publication Date
DE102022124832A1 true DE102022124832A1 (de) 2024-03-28

Family

ID=90140029

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102022124832.1A Pending DE102022124832A1 (de) 2022-09-27 2022-09-27 Verfahren zum Roboterlernen von Fertigkeiten aus Benutzerdemonstration und Roboter, Datenstruktur und Computerprogramm zum autonomen Ausführen von Aufgaben

Country Status (1)

Country Link
DE (1) DE102022124832A1 (de)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102014108287B4 (de) 2014-05-23 2019-08-14 GM Global Technology Operations LLC (n. d. Gesetzen des Staates Delaware) Schnelles Erlernen durch Nachahmung von Kraftdrehmoment-Aufgaben durch Roboter
DE102020207085A1 (de) 2020-06-05 2021-12-09 Robert Bosch Gesellschaft mit beschränkter Haftung Verfahren zum steuern eines roboters und robotersteuereinheit
US20210387330A1 (en) 2020-06-12 2021-12-16 Borislav MAVRIN Systems and methods for learning reusable options to transfer knowledge between tasks
DE102021118885A1 (de) 2020-07-28 2022-02-03 Nvidia Corporation Maschinelles lernen zur steuerung von objektübergaben
DE112020005156T5 (de) 2019-10-24 2022-07-28 Nvidia Corporation Verstärkendes Lernen von taktilen Greifstrategien
DE102020127508B4 (de) 2019-10-24 2022-09-08 Nvidia Corporation Posenverfolgung von Objekten in der Hand

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102014108287B4 (de) 2014-05-23 2019-08-14 GM Global Technology Operations LLC (n. d. Gesetzen des Staates Delaware) Schnelles Erlernen durch Nachahmung von Kraftdrehmoment-Aufgaben durch Roboter
DE112020005156T5 (de) 2019-10-24 2022-07-28 Nvidia Corporation Verstärkendes Lernen von taktilen Greifstrategien
DE102020127508B4 (de) 2019-10-24 2022-09-08 Nvidia Corporation Posenverfolgung von Objekten in der Hand
DE102020207085A1 (de) 2020-06-05 2021-12-09 Robert Bosch Gesellschaft mit beschränkter Haftung Verfahren zum steuern eines roboters und robotersteuereinheit
US20210387330A1 (en) 2020-06-12 2021-12-16 Borislav MAVRIN Systems and methods for learning reusable options to transfer knowledge between tasks
DE102021118885A1 (de) 2020-07-28 2022-02-03 Nvidia Corporation Maschinelles lernen zur steuerung von objektübergaben

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
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
WILLIBALD, Christoph ; EIBAND, Thomas ; LEE, Dongheui: Collaborative programming of conditional robot tasks. In: 2020 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS), October 25-29, 2020, Las Vegas, NV, USA [Virtual : 24 Oct. 2020 - 24 Jan. 2021]. Piscataway, N.J. : IEEE, 2020. S. 5402-5409. - ISBN 978-1-7281-6212-6. DOI: 10.1109/IROS45743.2020.9341212. URL: https://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=9341212 [abgerufen am 2022-10-26]

Similar Documents

Publication Publication Date Title
WO2022012265A1 (en) Robot learning from demonstration via meta-imitation learning
DE112019002310T5 (de) Ausführen einer "peg in hole"-aufgabe mit unbekannter neigung
DE102020209685B4 (de) Verfahren zum steuern einer robotervorrichtung und robotervorrichtungssteuerung
EP1183619A2 (de) Situationsabhängig operierendes semantisches netz n-ter ordnung
WO2021069129A1 (de) Vorrichtung und verfahren zum steuern einer robotervorrichtung
DE102012213188B4 (de) Verfahren und System zum Steuern einer Ausführungssequenz eines geschickten Roboters unter Verwendung einer Zustandsklassifizierung
DE102020207085A1 (de) Verfahren zum steuern eines roboters und robotersteuereinheit
DE102018008685A1 (de) Verfahren zum Trainieren eines künstlichen neuronalen Netzes, künstliches neuronales Netz, Verwendung eines künstlichen neuronalen Netzes sowie entsprechendes Computerprogramm maschinenlesbares Speichermedium und entsprechende Vorrichtung
DE102020214231A1 (de) Verfahren zum steuern einer robotervorrichtung und robotersteuereinrichtung
EP3961511A1 (de) Ml-basierte automatische erkennung von neuen und relevanten datensätzen
Ebrahimi et al. Observer‐based controller design for uncertain disturbed Takagi‐Sugeno fuzzy systems: a fuzzy wavelet neural network approach
DE102022124832A1 (de) Verfahren zum Roboterlernen von Fertigkeiten aus Benutzerdemonstration und Roboter, Datenstruktur und Computerprogramm zum autonomen Ausführen von Aufgaben
DE102020210823A1 (de) Maschinen-Steueranordnung
EP3741518A1 (de) Verfahren und vorrichtung für eine automatisierte beeinflussung eines aktuators
Luu-Duc et al. An incremental feature set refinement in a programming by demonstration scenario
Chen et al. Efficiently training on-policy actor-critic networks in robotic deep reinforcement learning with demonstration-like sampled exploration
Muthusamy et al. Decentralized approaches for cooperative grasp planning
Roberge et al. Detecting insertion tasks using convolutional neural networks during robot teaching-by-demonstration
Zhang et al. A Preliminary Study on a Robot's Prediction of Human Intention
DE102019201045B4 (de) Verfahren, Vorrichtung und Computerprogramm zum Ermitteln einer Aktion oder Trajektorie eines Roboters
DE102022201116A1 (de) Verfahren zum Steuern einer Robotervorrichtung
Rybalov et al. Fuzzy model of control for quantum-controlled mobile robots
DE102022208082B3 (de) Verfahren zum Steuern eines technischen Systems
Kindsmüller et al. Towards a theory of trend literacy: basic empirical data to ground a model
Bu et al. Learning from Imperfect Demonstrations through Dynamics Evaluation

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R016 Response to examination communication