DE102019216229B4 - Vorrichtung und Verfahren zum Steuern einer Robotervorrichtung - Google Patents

Vorrichtung und Verfahren zum Steuern einer Robotervorrichtung Download PDF

Info

Publication number
DE102019216229B4
DE102019216229B4 DE102019216229.0A DE102019216229A DE102019216229B4 DE 102019216229 B4 DE102019216229 B4 DE 102019216229B4 DE 102019216229 A DE102019216229 A DE 102019216229A DE 102019216229 B4 DE102019216229 B4 DE 102019216229B4
Authority
DE
Germany
Prior art keywords
sequence
robot
poses
user
until
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.)
Active
Application number
DE102019216229.0A
Other languages
English (en)
Other versions
DE102019216229A1 (de
Inventor
Mathias Buerger
Philipp Christian Schillinger
Meng Guo
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.)
Robert Bosch GmbH
Original Assignee
Robert Bosch GmbH
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 Robert Bosch GmbH filed Critical Robert Bosch GmbH
Priority to PCT/EP2020/072410 priority Critical patent/WO2021069129A1/de
Publication of DE102019216229A1 publication Critical patent/DE102019216229A1/de
Application granted granted Critical
Publication of DE102019216229B4 publication Critical patent/DE102019216229B4/de
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/1628Programme controls characterised by the control loop
    • B25J9/163Programme controls characterised by the control loop learning, adaptive, model based, rule based expert control
    • 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
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1694Programme controls characterised by use of sensors other than normal servo-feedback from position, speed or acceleration sensors, perception control, multi-sensor controlled systems, sensor fusion
    • B25J9/1697Vision controlled systems
    • 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/36Nc in input of data, input key till input tape
    • G05B2219/36184Record actions of human expert, teach by showing
    • 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/36Nc in input of data, input key till input tape
    • G05B2219/36442Automatically teaching, teach by showing
    • 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/40391Human to robot skill transfer

Abstract

Verfahren zum Steuern einer Robotervorrichtung, aufweisend:Aufzeichnen, mit einer Kamera, einer Abfolge von Stellungen eines Teils eines eine Tätigkeit durchführenden Benutzers, der bei der Ausführung der Tätigkeit ein Objekt manipuliert, mittels dem der Benutzer die Tätigkeit durchführt, und des manipulierten Objekts;Erzeugen von Trainingsdaten basierend auf der aufgezeichneten Abfolge von Stellungen des Teils des Benutzers und des manipulierten Objekts;Trainieren eines Roboter-Steuerungsmodells durch Verwenden der Abfolge von Stellungen des Teils des Benutzers und des Objekts als Trainingsabfolge von Stellungen für einen Teil des Roboters; undSteuern der Robotervorrichtung basierend auf dem trainierten Roboter-Steuerungsmodell.

Description

  • Verschiedene Ausführungsbeispiele betreffen allgemein eine Vorrichtung und ein Verfahren zum Steuern einer Robotervorrichtung.
  • Die Vermittlung von Roboterfähigkeiten aus Demonstrationen gewinnt zunehmend an Bedeutung und Popularität im Bereich der Roboter-Manipulation, aufgrund seiner Effizienz und Intuitivität. Solche Demonstrationen erfordern jedoch typischerweise direktes Bewegen des Roboters (z.B. durch physisches Drücken oder per Fernbedienung) und weitere Interaktion mit den Objekten in der Umgebung des Roboters.
  • Die Veröffentlichung „A Tutorial on Task-Parameterized Movement Learning and Retrieval“, von S. Calinon, in Intelligent Service Robotics, 9(1): 1-29, 2016, beschreibt Aufgaben-parametrisierte Modelle, die es insbesondere ermöglichen, einen Roboter basierend auf solchen Demonstrationen zu trainieren.
  • Das direkte Bewegen des Roboters bringt jedoch die Einschränkungen mit sich, dass es Erfahrung erfordert, einen Roboter direkt zu bedienen und potenzielle Sicherheitsrisiken birgt, insbesondere für Laien. Außerdem ist es selbst für erfahrene Bediener oft physisch (z.B. mechanisch) herausfordernd, den Roboter auf die richtige Weise zu bewegen, um eine bestimmte Aufgabe zu vollbringen, insbesondere wenn die Aufgabe präzise Bewegungen erfordert.
  • Dementsprechend sind verbesserte Ansätze, einem Roboter Fertigkeiten beizubringen, wünschenswert.
  • Das Verfahren und die Vorrichtung mit den Merkmalen der unabhängigen Ansprüche 1 und 15 ermöglichen, dass Benutzer eine Fertigkeit unter Verwendung ihrer eigenen Hände durchführen, um dem Roboter die Fertigkeit (Tätigkeit) beizubringen. Dies ermöglicht es, einem Roboter eine Fertigkeit ohne zusätzliche Kenntnisse oder zusätzliches Training beizubringen. Dies kann so erfolgen, dass es unabhängig von den dynamischen und mechanischen Beschränkungen des Roboters ist. Das Unterrichten des Roboters ist intuitiv, da sich der Benutzer verhalten kann, wie er es ohne den Roboter tun würde. Außerdem ist kein zusätzliches modellieren des Roboters erforderlich, da nicht zu manipulieren Objekte verfolgt werden, sondern die Hand eines Benutzers.
  • Gemäß einer Ausführungsform wird ein Verfahren zum Steuern einer Robotervorrichtung bereitgestellt aufweisend Durchführen einer Tätigkeit durch einen Benutzer, der bei der Ausführung der Tätigkeit ein Objekt manipuliert, Aufzeichnen einer Abfolge von Stellungen eines Teils des Benutzers, mittels dem der Benutzer die Tätigkeit durchführt, Erzeugen von Trainingsdaten basierend auf der aufgezeichneten Abfolge von Stellungen des Teils der Benutzers und des manipulierten Objekts ; Trainieren eines Roboter-Steuerungsmodells durch Verwenden der Abfolge von Stellungen des Teils des Benutzers und des Objekts als Trainingsabfolge von Stellungen für einen Teil des Roboters und Steuern der Robotervorrichtung basierend auf dem trainierten Roboter-Steuerungsmodell. Das in diesem Absatz beschriebene Verfahren bildet ein erstes Beispiel. Der Benutzer wird im Folgenden auch als Vorführinstanz bezeichnet.
  • Das Aufzeichnen der Abfolge von Stellungen kann das Aufzeichnen von Sensordaten durch ein oder mehrere Sensoren und das Ermitteln der Abfolge von Stellungen aus den Sensordaten aufweisen. Die in diesem Absatz genannten Merkmale in Kombination mit dem ersten Beispiel bilden ein zweites Beispiel.
  • Das Aufzeichnen der Abfolge von Stellungen kann das visuelle Aufzeichnen der Durchführung der Tätigkeit durch die Vorführinstanz aufweisen. Das visuelle Aufzeichnen von Tätigkeiten oder Fertigkeiten zum Trainieren eines Roboters ermöglicht es, dass ein Benutzer die Tätigkeit oder Fertigkeit einfach vorführen kann. Die in diesem Absatz genannten Merkmale in Kombination mit irgendeinem von dem ersten Beispiel bis zweiten Beispiel bilden ein drittes Beispiel.
  • Das visuelle Aufzeichnen kann das Aufnehmen mindestens einer Folge von Kamerabildern aufweisen. Das Vorsehen einer Kamera zum Aufzeichnen von Kamerabildern schafft eine einfache Möglichkeit zum Aufzeichnen von Trainingsdaten. Es können auch mehrere Kameras vorgesehen sein, um Bilder aus verschiedenen Blickwinkeln zu erhalten. Die in diesem Absatz genannten Merkmale in Kombination mit dem dritten Beispiel bilden ein viertes Beispiel.
  • Das Ermitteln der Stellungen kann basierend auf einer Bildanalyse der Folge von Kamerabildern erfolgen, bei der die Position und/oder Orientierung des Teils der Vorführinstanz in der mindestens einen Folge von Kamerabildern verfolgt wird. Die in diesem Absatz genannten Merkmale in Kombination mit dem vierten Beispiel bilden ein fünftes Beispiel.
  • Das Steuern der Robotervorrichtung basierend auf dem trainierten Roboter-Steuerungsmodell kann das Erzeugen einer Referenztrajektorie aus dem trainierten Roboter-Steuerungsmodell und das Verfolgen (zumindest näherungsweise) der Referenztrajektorie durch die Robotervorrichtung mittels eines Linear-Quadratisch-Gaußsch(LQG)-Reglers aufweisen. Die in diesem Absatz genannten Merkmale in Kombination mit irgendeinem von dem ersten Beispiel bis fünften Beispiel bilden ein sechstes Beispiel.
  • Das Verfahren kann das Ermitteln einer Abfolge von Stellungen von ein oder mehreren weiteren Elementen, die an der Tätigkeit beteiligt sind aufweisen, wobei die Trainingsdaten basierend auf der Abfolge von Stellungen der ein oder mehreren weiteren Elemente erzeugt werden. Dies ermöglicht insbesondere ein Training eines Roboters derart, dass sich der Roboter an neue Szenarien anpassen kann. Die in diesem Absatz genannten Merkmale in Kombination mit irgendeinem von dem ersten Beispiel bis sechsten Beispiel bilden ein siebtes Beispiel.
  • Bei dem Verfahren kann eine Abfolge von Stellungen eines Objekts, das bei der Ausführung der Tätigkeit manipuliert wird, ermittelt werden und die Trainingsdaten basierend auf der Abfolge von Stellungen des Objekts erzeugt werden. Die in diesem Absatz genannten Merkmale in Kombination mit dem siebten Beispiel bilden ein achtes Beispiel.
  • Das Verfahren kann das mehrmalige Durchführen der Tätigkeit durch die Vorführinstanz, das Aufzeichnen, für jede Durchführung der Tätigkeit durch die Vorführinstanz, einer Abfolge von Stellungen des Teils der Vorführinstanz und das Erzeugen von Trainingsdaten basierend auf den aufgezeichneten Abfolgen von Stellungen des Teils der Vorführinstanz und Trainieren des Roboter-Steuerungsmodells durch Verwenden der Abfolgen von Stellungen des Teils der Vorführinstanz als Trainingsabfolgen von Stellungen für den Teil des Roboters aufweisen. Eine mehrmalige Durchführung ermöglicht ein robusteres Training und ein Training eines Roboters derart, dass sich der Roboter an neue Szenarien anpassen kann. Die in diesem Absatz genannten Merkmale in Kombination mit irgendeinem von dem ersten Beispiel bis achten Beispiel bilden ein neuntes Beispiel.
  • Das Roboter-Steuerungsmodell kann ein statistisches Modell aufweisen. Die in diesem Absatz genannten Merkmale in Kombination mit irgendeinem von dem ersten Beispiel bis neunten Beispiel bilden ein zehntes Beispiel.
  • Das Verfahren kann das Ermitteln einer Abfolge von Stellungen mindestens eines Objekts, das bei der Ausführung der Tätigkeit manipuliert wird, aufweisen und das statistische Modell kann mittels der ermittelten Stellungen parametrisiert sein. Die in diesem Absatz genannten Merkmale in Kombination mit dem zehnten Beispiel bilden ein elftes Beispiel.
  • Das statistische Modell kann ein Aufgaben-parametrisiertes Gaußsches Mischmodell aufweisen oder sein. Wie unten beschrieben ermöglichen solche Modelle ein effektives Training eines Roboters. Die in diesem Absatz genannten Merkmale in Kombination mit irgendeinem von dem ersten Beispiel bis elften Beispiel bilden ein zwölftes Beispiel.
  • Das statistische Modell ein Aufgaben-parametrisiertes Hidden-Semi-Markov-Modell aufweisen oder sein. Wie unten beschrieben ermöglicht ein solches Modell ein effektives Training eines Roboters. Die in diesem Absatz genannten Merkmale in Kombination mit irgendeinem von dem ersten Beispiel bis zwölften Beispiel bilden ein dreizehntes Beispiel.
  • Beim Durchführen der Tätigkeit besteht beispielsweise kein räumlicher Kontakt zwischen der Vorführinstanz und der Robotervorrichtung. Die in diesem Absatz genannten Merkmale in Kombination mit irgendeinem von dem ersten Beispiel bis dreizehnten Beispiel bilden ein vierzehntes Beispiel.
  • Die Kinematik der Vorführinstanz und der Robotervorrichtung können sich unterscheiden. Die in diesem Absatz genannten Merkmale in Kombination mit irgendeinem von dem ersten Beispiel bis vierzehnten Beispiel bilden ein fünfzehntes Beispiel.
  • Gemäß einer Ausführungsform wird eine Robotersteuervorrichtung bereitgestellt, die eingerichtet ist, ein Verfahren gemäß irgendeinem von dem ersten Beispiel bis vierzehnten Beispiel durchzuführen. Die in diesem Absatz beschriebene Vorrichtung bildet ein sechzehntes Beispiel.
  • Gemäß einer Ausführungsform wird ein Computerprogramm bereitgestellt, aufweisend Programminstruktionen, die, wenn sie von ein oder mehreren Prozessoren ausgeführt werden, die ein oder mehreren Prozessoren dazu bringen, ein Verfahren gemäß irgendeinem von dem ersten Beispiel bis fünfzehnten Beispiel durchzuführen.
  • Gemäß einer Ausführungsform wird ein Computerlesbares Speichermedium, auf dem Programminstruktionen gespeichert sind, die, wenn sie von ein oder mehreren Prozessoren ausgeführt werden, die ein oder mehreren Prozessoren dazu bringen, ein Verfahren gemäß irgendeinem von dem ersten Beispiel bis fünfzehnten Beispiel durchzuführen.
  • Ausführungsbeispiele der Erfindung sind in den Figuren dargestellt und werden im Folgenden näher erläutert. In den Zeichnungen beziehen sich gleiche Bezugszeichen überall in den mehreren Ansichten allgemein auf dieselben Teile. Die Zeichnungen sind nicht notwendig maßstabsgerecht, wobei der Schwerpunkt stattdessen allgemein auf die Darstellung der Prinzipien der Erfindung liegt.
    • 1 zeigt eine Robotervorrichtungsanordnung.
    • 2 zeigt ein Ablaufdiagramm, das ein Trainingsverfahren gemäß verschiedenen Ausführungsformen veranschaulicht.
    • 3 zeigt eine Anordnung zum Aufzeichnen von Demonstrationen eines Benutzers.
    • 4A bis 4E zeigen Darstellungen, die die Kombination von Gaußschen Komponenten in lokalen Koordinatensystemen zu einem kombinierten Gaußschen Mischmodell veranschaulichen
    • 5 zeigt ein Ablaufdiagramm, das ein Verfahren zum Steuern einer Robotervorrichtung gemäß einer Ausführungsform veranschaulicht.
  • Die verschiedenen Ausführungsformen, insbesondere die im Folgenden beschriebenen Ausführungsbeispiele, können mittels ein oder mehrerer Schaltungen implementiert werden. In einer Ausführungsform kann eine „Schaltung“ als jede Art von Logikimplementierender Entität verstanden werden, welche Hardware, Software, Firmware oder eine Kombination davon sein kann. Daher kann in einer Ausführungsform eine „Schaltung“ eine hartverdrahtete Logikschaltung oder eine programmierbare Logikschaltung, wie beispielsweise ein programmierbarer Prozessor, zum Beispiel ein Mikroprozessor sein. Eine „Schaltung“ kann auch Software sein, die von einem Prozessor implementiert bzw. ausgeführt wird, zum Beispiel jede Art von Computerprogramm. Jede andere Art der Implementierung der jeweiligen Funktionen, die im Folgenden ausführlicher beschrieben werden, kann in Übereinstimmung mit einer alternativen Ausführungsform als eine „Schaltung“ verstanden werden.
  • 1 zeigt eine Robotervorrichtungsanordnung 100.
  • Die Robotervorrichtungsanordnung 100 beinhaltet eine Robotervorrichtung 101, zum Beispiel einen Industrieroboter in der Form eines Roboterarms zum Bewegen, Montieren oder Bearbeiten eines Werkstücks. Die Robotervorrichtung 101 weist Roboterglieder 102, 103, 104 und einen Sockel (oder allgemein eine Halterung) 105 auf, durch die die Roboterglieder 102, 103, 104 getragen werden. Der Begriff „Roboterglied" bezieht sich auf die beweglichen Teile der Robotervorrichtung 101, deren Betätigung eine physische Interaktion mit der Umgebung ermöglicht, z.B. um eine Aufgabe auszuführen. Zur Steuerung beinhaltet die Robotervorrichtungsanordnung 100 eine Steuerung 106, die eingerichtet ist, die Interaktion mit der Umgebung gemäß einem Steuerungsprogramm zu realisieren. Das letzte Element 104 (von dem Sockel 105 aus gesehen) der Roboterglieder 102, 103, 104 wird auch als Endeffektor 104 bezeichnet und kann ein oder mehrere Werkzeuge wie einen Schweißbrenner, ein Greifwerkzeug, ein Lackiergerät oder dergleichen beinhalten.
  • Die anderen Roboterglieder 102, 103 (näher am Sockel 105) können eine Positionierungsvorrichtung bilden, so dass zusammen mit dem Endeffektor 104 ein Roboterarm (oder Gelenkarm) mit dem Endeffektor 104 an seinem Ende vorgesehen ist. Der Roboterarm ist ein mechanischer Arm, der ähnliche Funktionen wie ein menschlicher Arm erfüllen kann (möglicherweise mit einem Werkzeug an seinem Ende).
  • Die Robotervorrichtung 101 kann Verbindungselemente 107, 108, 109 beinhalten, die die Roboterglieder 102, 103, 104 miteinander und mit dem Sockel 105 verbinden. Ein Verbindungselement 107, 108, 109 kann ein oder mehrere Gelenke aufweisen, von denen jedes eine Drehbewegung und/oder eine Translationsbewegung (d.h. eine Verschiebung) für zugehörige Roboterglieder relativ zueinander bereitstellen kann. Die Bewegung der Roboterglieder 102, 103, 104 kann mit Hilfe von Stellgliedern eingeleitet werden, die von der Steuerung 106 gesteuert werden.
  • Der Begriff „Stellglied“ kann als eine Komponente verstanden werden, die geeignet ist, als Reaktion darauf, dass sie angetrieben wird, einen Mechanismus zu beeinflussen. Das Stellglied kann von der Steuerung 106 ausgegebene Anweisungen (die sogenannte Aktivierung) in mechanische Bewegungen umsetzen. Das Stellglied, z.B. ein elektromechanischer Wandler, kann eingerichtet werden, elektrische Energie als Reaktion auf seine Ansteuerung in mechanische Energie umzuwandeln.
  • Der Begriff „Steuerung“ (auch als „Steuereinrichtung bezeichnet“) kann als jede Art von logischer Implementierungseinheit verstanden werden, die beispielsweise eine Schaltung und/oder einen Prozessor beinhalten kann, der in der Lage ist, in einem Speichermedium gespeicherte Software, Firmware oder eine Kombination derselben auszuführen, und die Anweisungen, z.B. an ein Stellglied im vorliegenden Beispiel, erteilen kann. Die Steuerung kann beispielsweise durch Programmcode (z.B. Software) eingerichtet werden, den Betrieb eines Systems, im vorliegenden Beispiel eines Roboters, zu steuern.
  • In dem vorliegenden Beispiel beinhaltet die Steuerung 106 einen oder mehrere Prozessoren 110 und einen Speicher 111, der Code und Daten speichert, auf deren Grundlage der Prozessor 110 die Robotervorrichtung 101 steuert. Gemäß verschiedener Ausführungsformen steuert die Steuerung 106 die Robotervorrichtung 101 auf der Grundlage eines im Speicher 111 gespeicherten statistischen Modells 112.
  • Ein Roboter, wie er durch die Robotergeräteanordnung 100 implementiert ist, kann aus Demonstrationen lernen, eine Aufgabe auszuführen oder mit einem menschlichen Partner zusammenzuarbeiten. Menschliche Demonstrationen können durch ein probabilistisches Modell (auch als statistisches Modell bezeichnet) kodiert werden, das den Sollplan der Aufgabe für den Roboter darstellt. Die Steuerung 106 kann anschließend mit dem statistischen Modell die gewünschten Roboterbewegungen erzeugen, möglicherweise in Abhängigkeit vom Zustand des menschlichen Partners und der Umgebung.
  • Um einem Roboter eine Fertigkeit beizubringen, wie beispielsweise sich gemäß einer gewünschten Trajektorie zu bewegen, können kinästhetische Demonstrationen durchgeführt werden, bei denen der Roboter direkt bewegt wird, z.B. durch physisches Schieben oder mittels einer Fernbedienung.
  • Neben der dafür erforderlichen Erfahrung, der Sicherheitsrisiken und der Anforderungen (z.B. für Aufgaben, die präzise Bewegungen erfordern) ist das Bewegen des Roboters auch viel weniger intuitiv für einen Menschen, um eine Aufgabe durchzuführen, verglichen mit dem Gebrauch der eigenen Hände.
  • Alternative Ansätze verfolgen Objekte im Arbeitsbereich des Roboters, um die gewünschten zu produzierenden Effekte auf die Objekte zu erzielen. Dies erfordert jedoch eine zusätzliche Modellierung des Roboters, um die gewünschten Effekte mit Bewegungen zu verbinden, die vom Roboter ausgeführt werden müssen.
  • In Hinblick auf das obere wird gemäß verschiedenen Ausführungsbeispielen eine Herangehensweise bereitgestellt, die es einem menschlichen Benutzer ermöglicht, einem Roboter eine Tätigkeit (Fertigkeit) beizubringen, indem er einfach die Tätigkeit selbst durchführt. Dabei werden Demonstrationen beispielsweise durch Verfolgen der Hand des Benutzers (und optional der involvierten Objekte) aufgezeichnet, anstatt die Trajektorie des End-Effekttors aufzuzeichnen. Demonstrationen werden dann dazu verwendet, eine kompakte mathematische Repräsentation der Fertigkeit zu lernen, die (zum Beispiel von der Steuerung 106) dazu verwendet werden kann, diese Fertigkeit durch den Roboter in neuen Szenarien (zum Beispiel neuen relativen Positionen zwischen dem Roboter und zu manipulierendem Objekt) zu reproduzieren.
  • Verschiedene Ausführungsbeispiele basieren auf den technischen Fortschritten in zwei Bereichen: Erstens ist die Verfolgung einer Hand basierend auf Kamerabildern in Bereichen, wo Roboter eingesetzt werden, beispielsweise in Fabriken, typischerweise verfügbar und zweitens erlauben es Verfahren zum Trainieren von Robotern basierend auf menschlichen Demonstrationen sowohl das effiziente Lernen durch den Roboter (d.h. Trainieren des Roboters) als auch die flexible Reproduktion. Ein Beispiel hierfür sind TP-HSMMs (Task-Parameterized Hidden Semi Markov Models), die eine Aufgabenparameter-abhängige Repräsentation von gelernten Bewegungsfertigkeiten ermöglichen.
  • Das Verfolgen von Objekten und menschlichen Händen ist ein aktives Forschungsgebiet, (insbesondere im maschinellen Sehen) und ist für industrielle Anwendungen von großer Bedeutung. Im Unterschied zur Anwendung entsprechender Techniken auf die Mensch-Maschine-Interaktion (wie beispielsweise für Videospiele) wird es gemäß verschiedenen Ausführungsformen für das Trainieren (Unterrichten) und Lernen von Robotern eingesetzt.
  • 2 zeigt ein Ablaufdiagramm 200, das ein Trainingsverfahren gemäß verschiedenen Ausführungsformen veranschaulicht.
  • In 201, der Demonstrationsphase, demonstriert ein Benutzer (oder allgemein eine Vorführinstanz) die gewünschte Fertigkeit. Die Demonstration wird aufgezeichnet. Beispielsweise wird eine Videoaufnahme mittels einer Kamera erstellt und die Abfolge der Stellungen einer Hand des Benutzers (allgemein eines Teils der Vorführinstanz) wird aus den Bildern des Videos ermittelt und in Form einer Trajektorie repräsentiert. Dies wird für mehrere Demonstrationen wiederholt. Es sollte beachtet werden, dass dies auf entkoppelte Art geschehen kann, d.h. beispielsweise wird eine Menge von Videos verwendet, die zuvor ohne Absicht, einem Roboter eine Fertigkeit beizubringen, aufgenommen wurden.
  • In 202, der Lern- oder Trainingsphase, wird ein mathematisches Modell aus den gesammelten Demonstrationen gelernt. Beispielsweise wird ein TP-HSMM gelernt, das eine Handpose als einen der Aufgaben-Parameter enthält. Eine „Pose“ enthält beispielsweise Information über Position und/oder Orientierung oder auch über Zustand (z.B. „Hand geschlossen“ gegenüber „Hand geöffnet“).
  • In 203, in der Reproduktions- oder Ausführungsphase, wird das gelernte mathematische Modell dazu verwendet, um den Roboter der Art zu steuern, dass er die Fertigkeit innerhalb eines demonstrierten Szenarios oder auch eines nicht-demonstrierten Szenarios ausführt. Beispielsweise erzeugt die Steuerung 106 eine Trajektorie, die für das Bewegungsverhalten des Roboters geeignet ist, gemäß der sie den Roboter steuert, wobei die Stellung des Endeffektors 104 die Rolle des Handposen-Aufgabenparameters einnimmt. Es wird somit anschaulich die Hand (allgemein der Teil der Vorführinstanz) auf den Endeffektor (allgemein den Teil der Robotervorrichtung) abgebildet, bzw. es werden die beiden Teile (im Rahmen der Robotersteuerung) miteinander identifiziert und der Teil der Robotervorrichtung imitiert den Teil der Vorführinstanz. Dies unterscheidet sich beispielsweise von dem Trainieren eines Roboters durch direktes Bewegen (z.B. Schieben und Ziehen) oder mittels einer Fernbedienung. Dort imitiert der Teil der Robotervorrichtung nicht einen Teil der Vorführinstanz.
  • Das Erzeugen der Trajektorie für die Steuerung des Roboters (auch als ReferenzTrajektorie bezeichnet) kann auf verschiedene Weisen durchgeführt werden. Beispielsweise wird eine für den Roboter mögliche Trajektorie durch Berücksichtigung des Roboter-Bewegungsverhaltens in der Trajektorienplanung erzeugt oder stattdessen eine teilweise für den Roboter mögliche Trajektorie erzeugt und der Roboter derart gesteuert, dass er der Trajektorie so gut wie physikalisch möglich folgt.
  • 3 zeigt eine Anordnung 300 zum Aufzeichnen von Demonstrationen eines Benutzers.
  • Ein Benutzer 301 demonstriert eine Fertigkeit durch Bewegen seiner Hand 302. Beispielsweise nimmt er ein Objekt 304 von einer ersten Position 305 und bewegt es an eine zweite Position 306. Eine Kamera 307 zeichnet die Bewegung des Benutzers auf. Es können auch mehrere Kameras vorgesehen sein, die die Demonstration aus verschiedenen Blickwinkeln, insbesondere aus Sicht der Startposition 305 und aus Sicht der Endposition 306 des Objekts 304 aufzeichnen.
  • Jede Demonstration wird damit als eine Folge von Bildern repräsentiert, die einer Steuereinrichtung 308, die beispielsweise der Steuerung 106 entspricht, zugeführt wird. Die Steuereinrichtung 308 lernt basierend auf den Demonstrationen ein statistisches Modell 309, dass beispielsweise dem statistischen Modell 112 entspricht.
  • Für eine gewünschte Tätigkeit (beispielsweise zur Manipulation eines Objekts) kann der Benutzer 301 eine Demonstration gemäß verschiedener Alternativen durchführen.
  • Beispielsweise kann als erste Alternative der Benutzer 301 wie folgt vorgehen
    1. a) Vorkonfiguration des Aufnahmesystems (z.B. aufweisend die ein oder mehreren Kameras 307 und der Steuereinrichtung 308), sodass es ein oder mehrere Objekte 304, die für die Fertigkeit von Interesse sind und die Hand 302 (oder auch beide Hände des Benutzers 301) verfolgen kann.
    2. b) Der Benutzer demonstriert, wie die Tätigkeit durchgeführt werden kann. Die Steuereinrichtung zeichnet die zugehörige Trajektorie der Hand 302 (oder der Hände) und der ein oder mehreren Objekte 304 auf und speichert sie.
    3. c) Der Benutzer wiederholt die Demonstration von b) aber mit unterschiedlichen Systemkonfigurationen, beispielsweise unterschiedlichen Startpositionen seiner Hände, unterschiedlichen Startpositionen 305 des Objekts 304 oder unterschiedlichen Endpositionen 306 des Objekts 304.
  • Als zweite Alternative kann der Benutzer 301 beispielsweise wie folgt vorgehen
    1. a) Der Benutzer 301 zeichnet Ausgabe-Rohdaten des Aufzeichnungssystems auf, wenn er die Tätigkeit durchführt, beispielsweise eine Videoaufzeichnung, die von einer oder mehreren Kameras 307, zum Beispiel RGBD- Kamerasensoren erhalten werden.
    2. b) Anschließend wird mittels Abstraktion aus den aufgezeichneten Daten die zugehörige Trajektorie der Hand (oder der Hände) 302 des Benutzers ermittelt.
    3. c) Der Benutzer wiederholt die Demonstration und Ermittlung einer zugehörigen Trajektorie von a) und b) aber mit unterschiedlichen Systemkonfigurationen, beispielsweise unterschiedlichen Startpositionen seiner Hände, unterschiedlichen Startpositionen 305 des Objekts 304 oder unterschiedlichen Endpositionen 306 des Objekts 304.
  • Es sollte beachtet werden, dass die erste Alternative höhere Anforderungen im Hinblick auf die Echtzeit-Verfolgung-Leistungsfähigkeit des Aufnahmesystems hat.
  • Ist die vom Roboter zu lernende Fertigkeit beispielsweise, das Objekt 304 aufzunehmen und an der Endposition 306 zu platzieren, muss das Aufnahmesystem die Hand des Benutzers 302 zusammen mit dem Objekt 304 und mögliche Endpositionen des Objekts 304 (zum Beispiel von Paletten) verfolgen.
  • Es wird angenommen, dass am Ende von 201 die Demonstrationen abstrahiert sind (beispielsweise als Verläufe von Koordinaten der Hand 302 oder des Objekts 304 repräsentiert sind) und als Trajektorien (zum Beispiel der Hand 302 Subjekts 304 oder auch mehrerer Hände und/oder mehrerer Objekte) abgespeichert sind, beispielsweise in einem Speicher der Steuereinrichtung 308.
  • In 202 wird nun gemäß einer Ausführungsform ein Bewegungsmodell (z.B. im Folgenden Beispiel ein Handbewegungsmodell) gelernt, das High-Level-Bewegungsmodell angesehen werden kann. Gemäß einer Ausführungsform wird dazu ein TP-HSMM (Task-Parameterized Hidden Semi Markov Model) als statistisches Modell 309 trainiert. Ein TP-HSMM ermöglicht sowohl effizientes Lernen als auch flexible Reproduktion zum Lernen von Roboter-Fähigkeiten aus menschlichen Demonstrationen. Genauer wird die aufgezeichnete Trajektorie der Benutzerhand 302 als gewünschte Bewegung behandelt, die gelernt werden soll, während die Trajektorie des Objekts (304 dazu verwendet wird, unterschiedliche Aufgabenparameter (Task-Parameter) für die Fertigkeit zu erzeugen, die unterschiedliche Konfigurationen des Arbeitsbereichs repräsentieren.
  • Es sollte beachtet werden, dass wenn im Folgenden von einer Benutzerhand und einem Objekt gesprochen wird, das Modell auch analog auf beide Hände des Benutzers und/oder mehrere Objekte angewendet werden kann. Das Objekt oder die Objekte und die Hand oder Hände (oder auch andere Körperteile wie ein Arm), die an der Tätigkeit beteiligt sind, werden im Folgenden auch als „Elemente, die an der Tätigkeit beteiligt sind“ zusammengefasst. Es sollte beachtet werden, dass die Demonstrationen nicht notwendig von einem menschlichen Benutzer vorgeführt werden müssen. So könnte in speziellen Anwendungsfällen auch gewünscht sein, dass ein Roboter eine Tätigkeit von einem Tier oder auch von einer Maschine, z.B. einem anderen Roboter, lernt. In diesem Sinne kann die Vorführinstanz (auch als Trainer oder Demonstrationseinheit bezeichnet), die eine Tätigkeit demonstriert, auch ein Tier oder ein anderer Roboter sein.
  • In anderen Worten kapselt das Modell, wie sich die Benutzerhand 302 bei gegebenen verschiedenen Konfigurationen des Arbeitsbereichs bewegt. Beispielsweise lernt das Modell für dieselbe Fertigkeit, das Objekt 304 aufzunehmen und zu platzieren, unterschiedliche Aufnahme-Techniken (wie beispielsweise das Objekt 304 von oben oder von der Seite aufzunehmen) für unterschiedliche Orientierungen des Objekts 304.
  • Das Ziel des Trainierens des mathematischen Modells soll den Roboter in die Lage versetzen, die demonstrierte Fertigkeit mittels seines Roboterarms zu reproduzieren. Ist ein neues Szenario hinsichtlich des Zustands des Roboterarms und der Position des Objekts 304 gegeben, verwendet die Steuereinrichtung 308 das Modell 309, um eine Referenztrajektorie zu erzeugen, und steuert den Roboter der Art, sodass er der Referenztrajektorie folgt, sodass er die Tätigkeit für dieses neue Szenario reproduziert. Der Steueralgorithmus, gemäß dem die Steuereinrichtung 308 den Roboterarm-Endeffektor 104 steuert, um der Referenztrajektorie zu folgen wird, als Verfolgungssteuerung bezeichnet, für die viele unterschiedliche Realisierung abhängig von dem speziellen dynamischen Verhalten des Roboters 101 möglich sind.
  • Aufgrund des Unterschieds des menschlichen Bewegungsverhaltens und des Roboter-Bewegungsverhaltens kann der Fall auftreten, dass die von der Steuerung 308 basierend auf dem Modell 309 erzeugte Referenztrajektorie für ein Szenario nur teilweise realisierbar ist, d.h. es ist möglich, dass der Roboter hier nicht vollständig folgen kann. Diesem Fall kann die Steuerung 308 den Roboter 101 derart steuern, dass der Endeffektor 104 der ermittelten Referenztrajektorie so nah wie physikalisch möglich folgt.
  • Im Folgenden werden die mathematischen Details beschrieben, auf deren Grundlage die Steuerung 308 das statistische Modell in 202 trainieren kann und den Roboter 101 in 203 zum Durchführen einer Tätigkeit, für die er trainiert wurde, steuern kann.
  • Im Folgenden wird ein Roboter 101 mit mehreren Freiheitsgraden angenommen. Der Zustand des Endeffektors 104 wird als ξ ∈ Mξ bezeichnet, wobei Mξ die Arbeits-Mannigfaltigkeit des Roboters bezeichnet. Beispielsweise kann jeder Punkt der Mannigfaltigkeit Mξ die Position des Endeffektors 104 in 3D in kartesischen Koordinaten, seine Orientierung als Quaternion und, im Falle eines Greifers als Werkzeug, der Zustand des Greifers (z.B. wie weit der Greifer geöffnet ist oder auch nur, ob er geöffnet oder geschlossen ist), repräsentieren.
  • Es sollte beachtet werden, dass eine wichtige Eigenschaft von Mξ in diesem Zusammenhang ist, dass nicht nur der Zustand des Roboter-Endeffektors 104 sondern auch ein Zustand der Hand 304 des Benutzers 301 in ein Zustand aus Mξ repräsentiert werden kann.
  • Es wird ferner angenommen, dass der Roboter in einem statischen, bekannten Arbeitsumfeld arbeitet und innerhalb dieses Arbeitsumfelds die Hand 302 des Benutzers präzise verfolgt werden kann (d.h. Kameras 304 in ausreichender Zahl und Anordnung vorgesehen sind). Innerhalb der Reichweite des Roboters gibt es Objekte (von Interesse), die mit O = {o1, o2, ...,oJ} bezeichnet werden. Ohne Beschränkung der Allgemeinheit wird angenommen, dass der Zustand p jedes Objekts in einer Objektkonfigurationsmannigfaltigkeit Mp liegt, d.h. p ∈ Mp.
  • Beispielsweise kann jeder Punkt der Mannigfaltigkeit Mp die mögliche Position eines Objekts 304 in 3D in kartesischen Koordinaten zusammen mit einer möglichen Orientierung als Quaternion angeben.
  • Ferner wird angenommen, dass es eine Menge von Kern-Manipulationsfertigkeiten gibt, die es dem Roboter ermöglicht, die Objekte zu manipulieren (z.B. zu bewegen). Die Menge dieser Kern-Manipulationsfertigkeiten wird als A = {a1, a2, ... aH} bezeichnet.
  • Für jede Tätigkeit (entsprechend einer Fertigkeit) führt der Benutzer 301 mehrere Demonstrationen durch, die definieren, wie der Roboter 101 sie durchführen soll. Insbesondere ist für eine Fertigkeit a ∈ A eine Objektmenge Oa ⊆ O Involviert und die Menge von Demonstrationen wird mit Da = {D1, ...,DMa } bezeichnet, wobei jede Demonstration mit D m = [ s t ] t = 1 T m = [ ( ξ t , { p t , o o O a } ) ] t = 1 T m
    Figure DE102019216229B4_0001
    bezeichnet wird, wobei Dm eine Folge von Zuständen s ist, wobei jeder Zustand den (zu dem Zeitpunkt t) gewünschten Zustand ξ ∈ Mξ, wie er aus der Verfolgen der Hand (durch Aufnahme von Kamerabildern) ermittelt wurde, und Objektzustände {po, o ∈ Oa}, jeder in der Mannigfaltigkeit Mp, angibt. Mittels einer Kombination dieser Fertigkeiten kann der Roboter 101 jeweilige Objekte manipulieren, so dass sie einen gewünschten Endzustand erreichen.
  • Zusammenfassend werden für jede zu erlernende Fertigkeit (beispielsweise für die Menge von Kernfertigkeiten) mehrere Demonstrationen des Benutzers verfolgt, wobei jede Demonstration gemäß (1) (z.B. in einer entsprechenden Datenstruktur in der Steuereinrichtung 308) repräsentiert wird. Jede Demonstration weist die aufgezeichnete Trajektorie der Hand des Benutzers, um die gewünschten Roboter-Endeffektorzustände {ξt} zu definieren und die aufgezeichneten Zustände aller bei der Fertigkeit involvierten Objekte auf.
  • Die Anzahl der Zustände Tm ergibt sich dabei aus der Dauer der Demonstration und der Abtastrate, d.h. der Rate, mit der die Position der Hand (oder der Hände) 301 und des Objekts (oder der Objekte) 304 ermittelt wird. Wenn beispielsweise eine Demonstration zehn Sekunden dauert und die Abtastrate auf 50Hz eingestellt ist, dann besteht diese Demonstration aus 500 Trainingsvektoren. Wenn eine Demonstrationsphase aus fünf verschiedenen Demonstrationen besteht, dann besteht der endgültige Trainingsdatensatz aus 2500 Trainingsvektoren, unter der Annahme, dass jede Demonstration zehn Sekunden dauert (mit einer festen Abtastrate von 50Hz). Die Dauer der Demonstration hat typischerweise keinen Einfluss auf den Trainingsprozess des statistischen Modells 308.
  • Die gewünschte Trajektorie der Roboter-Endeffektorzustände {ξt} beim Durchführen der Tätigkeit (für dasselbe Szenario) wird dabei durch die aufgezeichnete (verfolgte) Trajektorie der Hand des Benutzers gegeben.
  • Als mathematisches Modell 309 trainiert die Steuereinrichtung 308 beispielsweise ein TP-HSMM. Das trainierte TP-HSMM repräsentiert sowohl räumliche als auch zeitliche Information in Hinblick darauf, wie sich der Roboterarm bezüglich der involvierten Objekte bewegen soll. Durch Berücksichtigung unterschiedlicher Perspektiven (z.B. der Perspektiven unterschiedlicher Objekte) kann die Steuerung die Roboter-Trajektorie an neue (d.h. nicht-demonstrierte) Szenarien anpassen, in denen die Objekte sich an anderen Stellen befinden.
  • Die dem Lernen aus Demonstrationen zu Grunde liegende Idee kann darin gesehen werden, ein vorgegebenes Fertigkeitenmodell wie ein GMM (Gaußsches Mischmodell), das Teil des TP-HSMM sein kann, an eine gegebene Menge von Demonstrationen anzupassen. Es wird angenommen, dassMDemonstrationen gegeben sind, wobei jede Demonstrationen gemäß (1) Tm Datenpunkte aus einer Datenmenge von N = m = 1 M T m
    Figure DE102019216229B4_0002
    Beobachtungen ξ = { ξ t } t = 1 N
    Figure DE102019216229B4_0003
    insgesamt enthält, wobei zur Einfachheit ξt ∈ ℝd angenommen wird.
  • Es wird ferner angenommen, dass jede Demonstration aus der Perspektive P unterschiedlicher Koordinatensysteme TP, die als Aufgabenparameter (Task-Parameter) bezeichnet werden, aufgenommen wird.
  • Eine Möglichkeit, für eine Demonstration solche Aufgaben-parametrisierten (Taskparametrisierten) Daten zu erhalten ist es, die für die Demonstration beobachteten Endeffektor-Zustände, die in einem globalen Koordinatensystem gegeben sind, in jedes Koordinatensystem p ∈ TP zu transformieren durch ξ t ( p ) = T ( b t ( p ) , A t ( p ) ) 1 ( ξ t ) = A t ( p ) 1 ( ξ t b t ( p ) )
    Figure DE102019216229B4_0004
    wobei ( b t ( p ) , A t ( p ) )
    Figure DE102019216229B4_0005
    die Verschiebung und Rotation des Koordinatensystems p ∈ TP bezüglich des globalen Koordinatensystems zur Zeit t ist. Es wird angenommen, dass ( b t ( p ) , A t ( p ) )
    Figure DE102019216229B4_0006
    verfügbar sind. Beispielsweise ist jedes P ∈ TP das lokale Koordinatensystem eines Objekts und die Objektpositionen und Objektrotationen werden verfolgt.
  • Eine Möglichkeit für ein statistisches Modell 309 ist ein TP-GMM (Aufgaben-parametrisiertes Gaußsches Mischmodell). Es kann als Tupel { π k , { μ k ( p ) , k ( p ) } p TP } k = 1 K
    Figure DE102019216229B4_0007
    geschrieben werden, wobei K die Anzahl von Gaußschen Komponenten in dem Mischmodell bezeichnet, πk die A-priori-Wahrscheinlichkeit für die k-te Komponente bezeichnet und μ k ( p ) , k ( p )
    Figure DE102019216229B4_0008
    der Mittelwert bzw. die Kovarianz der k-ten Komponente in dem Koordinatensystem p ∈ TP sind.
  • Ein solches Mischmodel kann (im Unterschied zu einfachen GMMs) nicht unabhängig für jedes Koordinatensystem gelernt werden. Der Grund ist, dass die Mischkoeffizienten πk sich von allen Koordinatensystemen geteilt werden (d.h. für alle Koordinatensysteme gelten) und die k-te Komponente im Koordinatensystem p muss der k-ten Komponente im globalen Koordinatensystem entsprechen. Eine Möglichkeit, solche Modelle zu lernen (d.h. zu trainieren) ist der EM(Expectation Maximization)-Algorithmus.
  • Wenn ein TP-GMM trainiert ist, kann es während der Ausführung (in 203 im Ablauf von 2) von der Steuereinrichtung 308 dazu verwendet werden, eine Trajektorie für eine gelernte Fähigkeit zu reproduzieren. Sind nämlich die beobachteten Koordinatensysteme { b k ( p ) , A t ( p ) } p TP
    Figure DE102019216229B4_0009
    gegeben (die beispielsweise ein neues Szenario repräsentieren, indem sie für jedes Objekt Position und Orientierung durch Position und Orientierung des jeweiligen lokalen Koordinatensystems angeben), so kann die Steuereinrichtung 308 daraus ein einziges kombiniertes GMM mit den Parametern { μ k , μ ^ t , k , ^ t , k } k = 1 K
    Figure DE102019216229B4_0010
    erzeugen, indem sie die affin-transformierten Gaußschen Komponenten (der unterschiedlichen Koordinatensysteme) multipliziert. Das resultierte kombinierte GMM ist gegeben durch ( ^ t , k ) 1 = p TP ( ^ t , k ( p ) ) 1
    Figure DE102019216229B4_0011
    μ ^ t , k = ^ t , k p TP ( ^ t , k ( p ) ) 1 μ ^ t , k ( p )
    Figure DE102019216229B4_0012
    wobei die Parameter jeder Gaußschen Komponente in jedem lokalen Koordinatensystem (für das neue Szenario) gegeben sind durch μ ^ t , k ( p ) = A t ( p ) μ k ( p ) + b t ( p )
    Figure DE102019216229B4_0013
    ^ t , k ( p ) = A t ( p ) k ( p ) A t ( p ) T
    Figure DE102019216229B4_0014
  • Mehr Details dazu findet man in dem eingangs zitierten Paper.
  • 4A bis 4E zeigen Darstellungen, die die Kombination von Gaußschen Komponenten in lokalen Koordinatensystemen zu einem kombinierten Gaußschen Mischmodell veranschaulichen.
  • Die 4A entspricht einem ersten lokalen Koordinatensystem, beispielsweise dem lokalen Koordinatensystem an der Startposition 305 (welche in 4A dem Ursprung entspricht).
  • Die 4B entspricht einem zweiten lokalen Koordinatensystem, beispielsweise dem lokalen Koordinatensystem an der Zielposition 306 (welche in 4B dem Ursprung entspricht).
  • Anschaulich zeigt 4A die Bewegung eines zu bewegenden Objekts 304 aus der Sicht der Startposition 305. Die Startposition ist (aus Sicht der Startposition) immer gleich, deshalb ist dort der Verlauf der Trajektorien gut festgelegt (d.h. die Streuung der Trajektorien ist dort gering). In anderen Worten ist sich dort das lokale Modell sehr sicher. Weiter weg von der Startposition wird sich das Modell unsicherer, weil es verschiedene Demonstrationen gesehen hat, bei der sich die Zielposition an verschiedenen Stellen befunden hat. Die Unsicherheit wird durch die größeren Ellipsen und das Auseinanderlaufen der Trajektorien veranschaulicht. Jede Ellipse veranschaulicht eine Gaußsche Komponente um den Mittelwert der Gaußschen Komponente und einer Größe und Form entsprechend ihrer Kovarianzmatrix.
  • An der Zielposition ist es analog, die Trajektorien streuen in größerer Entfernung von der Zielposition stärker (weil sich in verschiedenen Demonstrationen die Startposition relativ zur Zielposition an verschiedenen Stellen befunden hat). Näher an der Zielposition streuen die Trajektorien weniger (weil bei jeder Demonstration letztendlich das Objekt 304 an der Zielposition 305 angekommen ist).
  • Für ein neues Szenario ist sich nun das Modell für die Startposition, dargestellt in 4C, in der Nähe der Startposition auch sehr sicher, jedoch unsicher in größerem Abstand von der Startposition.
  • Analog ist sich das Modell für die Zielposition, dargestellt in 4D, in der Nähe der Startposition sehr sicher jedoch unsicher in größerem Abstand.
  • 4E zeigt nun die Kombination der beiden lokalen Modelle zu einem kombinierten Modell gemäß (3) bis (6).
  • Verglichen mit den beiden lokalen Modellen ist sich das kombinierte Modell in der Mitte, zwischen Ausgangs- und Zielposition viel sicherer. Die Steuerung 308 kann nun (in 203) anschaulich den Roboter 101 derart steuern, dass er die Ellipsen zwischen Startposition und Zielposition (z.B. durch ihre Mitten) abfährt, um die Tätigkeit im neuen Szenario zu bewältigen.
  • Wie erwähnt wird gemäß verschiedenen Ausführungsformen ein TP-HSMM als statistisches Modell 309 verwendet.
  • Ein HSMM (Hidden semi-Markov-Model) erweitert einen einfachen HMM (Hidden Markov Modell) dahingehend, dass zeitliche Informationen in den zu Grunde liegenden stochastischen Prozess eingebettet werden. Das heißt, dass während bei einem HMM angenommen wird, dass der zu Grunde liegende statistische Prozess die Markov-Eigenschaft hat, d.h. die Wahrscheinlichkeit, in den nächsten Zustand überzugehen, nur vom aktuellen Zustand abhängt, bei einem HSMM der Prozess die Wahrscheinlichkeit, in den nächsten Zustand überzugehen, vom aktuellen Zustand und von der Verweildauer im aktuellen Zustand abhängt. HSMMs werden typischerweise insbesondere bei der Sprachsynthese angewendet.
  • Ein Aufgaben-parametrisiertes HSMM (TP-HSMM) wird gemäß einer Ausführungsform repräsentiert durch θ = { { a k h } h = 1 K , ( μ k D , σ k D ) , { π k , { μ k ( p ) , k ( p ) } p TP } } k = 1 K
    Figure DE102019216229B4_0015
    wobei akh die Übergangswahrscheinlichkeit vom Zustand k in den Zustand h bezeichnet, ( μ k D , σ k D )
    Figure DE102019216229B4_0016
    die Gaußschen Verteilungen für die Verweildauer im Zustand k bezeichnen (das hochgestellte D ist hierbei kein Index sondern soll nur den Zusammenhang mit der Verweildauer (engl. duration) kennzeichnen) und { π k , { μ k ( p ) , k ( p ) } p TP } k = 1 K
    Figure DE102019216229B4_0017
    ein (zugehöriges oder assoziiertes) TP-GMM wie oben beschrieben ist.
  • Das TP-GMM beschreibt die Ausgabewahrscheinlichkeiten (oder Emissionswahrscheinlichkeiten d.h. Wahrscheinlichkeiten für die Beobachtungen) für jeden Zustand k = 1, ... K.
  • Die A-priori-Wahrscheinlichkeiten πk beschreiben bei einem HSMM jedoch nur die Wahrscheinlichkeitsverteilung für die für die anfänglichen Komponenten bei t=1. Die Wahrscheinlichkeiten zu späteren Zeiten werden durch das zu Grunde liegende Semi-Markov-Modell gegeben.
  • In diesem betrachteten TP-HSMM, entspricht jeder Zustand einer Gaußschen Komponente im zugehörigen TP-GMM.
  • Es kann gewünscht sein, dass die Struktur des TP-HSMM linear ist, was bedeutet, dass die Folge von Zuständen deterministisch ist und nur die Verweildauer zufällig ist. Eine solche lineare Struktur kann zum Beschleunigen des Trainings vorgegeben werden indem πk = δ1k und akh = δ(k+1)h gesetzt werden mit δij = 0 für i ≠ j und δij = 1 für i = j.
  • Das TP-HSMM wird (beispielsweise von der Steuereinrichtung 308) in 202 basierend auf den Demonstrationen D m = [ s t ] t = 1 T m = [ ( ξ t , { p t , o o O a } ) ] t = 1 T m
    Figure DE102019216229B4_0018
    des Benutzers 301 trainiert, beispielsweise gemäß einer EM(Expectation Maximization)-Prozedur.
  • Das Resultat des Trainings sind Werte für den Parametersatz θ = { { a k h } h = 1 K , ( μ k D , σ k D ) , { π k , { μ k ( p ) , k ( p ) } p TP } } k = 1 K
    Figure DE102019216229B4_0019
    die das TP-HSMM charakterisieren.
  • In 203 kann anschließend die Steuereinrichtung 308 den Roboter 101 basierend auf dem trainierten Modell 309 steuern, um eine Tätigkeit auszuführen, beispielsweise für ein neues Szenario. Während der Ausführung verwendet die Steuereinrichtung das trainierte statistische Modell 309, um eine Referenztrajektorie für das neue Szenario zu ermitteln, und steuert den Roboter derart, dass er der Referenztrajektorie folgt. Der Begriff „Szenario“ bezieht sich hierbei auf eine spezielle Wahl der modellierten Aufgabenparameter (z.B. Startposition 305 und Zielposition 306).
  • Für einen gewünschten Startzustand k0 und einem gewünschten Zielzustand kT zu einem Zeitpunkt T kann die wahrscheinlichste Zustandsfolge k* = k0ki ...kT, wobei kt ∈ {1, ..., K}, mittels des Viterbi-Algorithmus für HSMMs ermittelt werden. Diese Zustandsfolge ist die Folge von Zuständen, die von dem Roboter 101 bei der Reproduzierung der Tätigkeit durchlaufen werden soll.
  • Ein solcher Zustand ist beispielsweise der in 4E durch die (kleine) Ellipse dargestellte Zustand. Er entspricht einer Komponente des kombinierten TP-GMMs für das neue Szenario (siehe Beschreibung von 4). Das TP-HSMMs enthält anschaulich noch die Information, wie die Zustände des TP-GMMs zeitlich durchlaufen werden sollen (gegeben durch die Wahrscheinlichkeitsverteilungen für die Verweildauer in jedem Zustand und die Übergangswahrscheinlichkeiten zwischen den Zuständen).
  • Für jeden Zustand kt bestimmt die Steuereinrichtung 308 einen korrespondierenden Endeffektorzustand ξt, z.B. gemäß einer LQG(Linear Quadratic Gaussian)-Regelung. Als Referenz kann sie dabei für jeden Zustand den Mittelwert µt der jeweiligen TP-GMM-Komponente nehmen. Die Steuereinrichtung sorgt dafür, dass die Unterschiede zwischen aufeinanderfolgenden ξt nicht zu groß sind (gemäß der gewählten Reglerparameter). Bei der Ausführung versucht der Roboter dann ξt zu folgen, kt ist nur eine Zwischengröße.
  • Möglicherweise kann aufgrund des Unterschieds des menschlichen Bewegungsverhaltens und des Roboter- Bewegungsverhaltens der Roboter der Zustandsfolge k* nicht genau folgen. Dies kann auch daran liegen, dass k* eine synthetische Trajektorie ist, die aus einem trainierten Modell erhalten wurde. Beispielsweise kann eine LQG-Steuerung mit minimaler Intervention (minimal intervention) von der Steuereinrichtung 308 verwendet werden, um eine solche Zustandsfolge von Gaußschen Komponenten zu erzeugen. Derartige Steuerungsverfahren haben typischerweise sowohl ein Optimierungsziel, das einen Positionsfehler vermeiden/bestrafen soll (hier die Distanz zwischen ξt und dem Mittelwert µt entsprechend kt) als auch eine Beschränkung auf die Möglichkeiten des physikalischen Systems (wie aufeinanderfolgende ξt gewählt werden können). Insbesondere letzteres ist hier wichtig, um den Unterschied zwischen Vorführinstanz und Roboter zu berücksichtigen.
  • Im Allgemeinen kann k* als die gewünschte Zustandsfolge angesehen werden und die Steuereinrichtung 308 steuert den Roboter 101, damit er dieser Referenz so gut wie physikalisch möglich folgt.
  • Bei Manipulationsaufgaben für einen Roboter tritt oft ein nicht-euklidischer Zustandsraum auf. Beispielsweise werden oft Rotationsmatrizen SO(3) ⊂ ℝ3×3 oder Einheits-Quaterionen S3 ⊂ ℝ4 verwendet, um die Orientierung von Objekten oder des Roboter-Endeffektors zu beschreiben. Eine direkte Herangehensweise, die die Lösung einer euklidischen Berechnung zurück auf eine Mannigfaltigkeit projiziert, leidet typischerweise an geringer Genauigkeit und kann aufgrund von Vorzeichenwechseln manchmal zu gravierenden Konsequenzen führen. Deshalb wird gemäß verschiedenen Ausführungsformen der beschriebene TP-HSMM-Formalismus an Riemannsche Mannigfaltigkeiten angepasst.
  • Zusammenfassend wird gemäß verschiedenen Ausführungsbeispielen ein Verfahren zum Steuern einer Robotervorrichtung bereitgestellt, wie es in 5 dargestellt ist.
  • 5 zeigt ein Ablaufdiagramm 500, das ein Verfahren zum Steuern einer Robotervorrichtung gemäß einer Ausführungsform veranschaulicht.
  • In 501 wird eine Tätigkeit durch eine Vorführinstanz durchgeführt.
  • In 502 wird einer Abfolge von Stellungen eines Teils der Vorführinstanz, mittels dem die Vorführinstanz die Tätigkeit durchführt, aufgezeichnet.
  • In 503 werden Trainingsdaten basierend auf der aufgezeichneten Abfolge von Stellungen des Teils der Vorführinstanz erzeugt.
  • In 504 wird ein Roboter-Steuerungsmodell durch Verwenden der Abfolge von Stellungen des Teils der Vorführinstanz als Trainingsabfolge von Stellungen für einen Teil des Roboters trainiert.
  • In 505 wird die Robotervorrichtung basierend auf dem trainierten Roboter-Steuerungsmodell gesteuert.
  • In anderen Worten wird gemäß verschiedenen Ausführungsformen eine Tätigkeit (entsprechend einer Fertigkeit) von einer Vorführinstanz (z.B. einem menschlichen Benutzer) ein oder mehrmals demonstriert. Dabei ist die Vorführinstanz nicht die Robotervorrichtung selbst, sondern ist beispielsweise unabhängig von der Robotervorrichtung, also z.B. eine von dem Roboter gesonderte Vorführinstanz. Die Demonstrationen werden aufgezeichnet und als Grundlage für das Training eines Modells zum Steuern der Robotervorrichtung verwendet. Dies bedeutet, dass ein Modell trainiert wird, dass die Robotervorrichtung in die Lage versetzt, die Tätigkeit (ggf. auch in anderen Szenarien) selbst durchzuführen (d.h. die Fertigkeit zu erlangen), d.h. in anderen Worten die Tätigkeit (ggf. auch in anderen Szenarien) zu reproduzieren. Der Teil der Vorführinstanz (z.B. eine Hand) wird dabei als Vorbild für den Teil der Robotervorrichtung (z.B. einem Endeffektor) verwendet. In anderen Worten wird das Modell derart trainiert, dass der Teil der Robotervorrichtung das demonstrierte Verhalten (z.B. die demonstrierten Bewegungsabläufe) des Teils der Vorführinstanz nachahmt bzw. kopiert (ggf. angepasst an ein neues Szenario).
  • Die Abfolge von Stellungen ist beispielsweise eine Abfolge (oder Folge) von Positionen und/oder Orientierungen und/oder weiteren Zuständen (z.B. „Hand geöffnet“ oder „Hand geschlossen“). Die Abfolge von Stellungen kann als Bewegungsablauf angesehen werden. Das Aufzeichnen der Abfolge von Stellungen kann als Aufzeichnen von Informationen, die die Abfolge von Stellungen repräsentieren (z.B. eine Repräsentation jeder Stellung, z.B. in Form eines Vektors oder einer Matrix, enthalten), verstanden werden.
  • Die Tätigkeit (z.B. ein Objekt aufnehmen und platzieren, ein Objekt (z.B. einen Hebel) drehen, ein Objekt öffnen etc.) kann auf verschiedene Arten durchgeführt werden, die insbesondere von dem jeweiligen Szenario, in dem die Tätigkeit durchgeführt wird, abhängen, z.B. Startposition und Startorientierung eines Objekts oder des Roboter-Endeffektors und gewünschte Endposition und gewünschte Endorientierung eines Objekts.
  • Die Abfolge von Stellungen des Teils der Vorführinstanz kann basierend auf Sensorsignalen von verschiedenen Sensoren aufgezeichnet werden, beispielsweise Videosensoren, Radarsensoren, LiDAR(Light Detection and Ranging)-Sensoren, Ultraschallsensoren und Bewegungssensoren. Beispielsweise werden ein oder mehrere Sensoren eingesetzt, die eine genaue Verfolgung des Teils der Vorführinstanz (z.B. einer menschlichen Hand) ermöglichen. Beispielsweise können Techniken aus dem maschinellen Sehen eingesetzt werden, die es ermöglichen eine Stellung aus RGB(Rot-Grün-Blau)-Daten oder RGBD (Rot-Grün-Blau-Tiefe)-Daten zu ermitteln. Alternativ (oder zusätzlich) kann ein spezifisches Sensorsystem wie ein Bewegungserfassungssystem (Motion-Capture-System) oder ein Handschuh zur Handverfolgung eingesetzt werden, um eine genaue Verfolgung hinsichtlich Position, Orientierung, Stellung und/oder Zustand des Teils der Vorführinstanz (z.B. einer menschlichen Hand) oder eines Objekts von Interesse (z.B. eines bei der Tätigkeit manipulierten Objekts) zu ermitteln bzw. verfolgen.
  • Somit werden gemäß verschiedenen Ausführungsbeispielen ein oder mehrere Sensoren verwendet, um letztendlich ein Steuersignal zum Steuern eines physikalischen Systems zu erzeugen, wie z.B. einer computergesteuerten Maschine, einer Fertigungsmaschine, eines (Elektro-)Werkzeugs, eines Haushaltsgeräts, eines persönlichen Assistenten, einer Zugangskontrollvorrichtung oder einer ähnlichen Vorrichtung, hierin als „Robotervorrichtung“ bezeichnet, die derart gesteuert werden kann, dass sie in der Lage ist, Bewegungen ähnlich der Vorführinstanz, z.B. einer menschlichen Hand, zu erreichen.
  • Die Trainingsdaten für das Roboter-Steuerungsmodell werden aus dem von der Vorführinstanz demonstrierten (vorgeführten) Bewegungsablauf (z.B. einer vorgeführten Trajektorie) und gegebenenfalls Trajektorien von ein oder mehreren Objekten, die bei der Tätigkeit manipuliert werden, erzeugt. Dies ermöglicht die Durchführung eines entsprechenden Trainingsverfahrens für das Roboter-Steuerungsmodell. Eine Trajektorie kann dabei derart verstanden werden, dass sie (mindestens) Informationen über Position oder Orientierung oder beides aufweist.
  • Die Berechnung des Steuersignals basiert letztendlich auf einem Satz von aufgezeichneten Demonstrationen, beispielsweise auf Informationen über die bei den Demonstrationen verfolgten Hände und Objekt-Stellungen. Eine daraus resultierende Steuer-Trajektorie für die Robotervorrichtung kann dann der durch die Vorführinstanz demonstrierten Trajektorie, z.B. einer menschlichen Hand, folgen, z.B. so dass sie ihr stark ähnelt. Beispielsweise kann die Steuer-Trajektorie derart ermittelt (oder ausgewählt) werden, dass die Wahrscheinlichkeit, dass die Vorführinstanz als nächstes die ermittelte Steuer-Trajektorie vorführt, maximiert wird.
  • Die mathematische Grundlage verschiedener Ausführungsformen kann darin gesehen werden, dass die Bewegung eines verfolgten Teils der Vorführinstanz (z.B. die Stellung einer Hand) in eine für den Roboter mögliche Trajektorie umgewandelt wird (z.B. des Roboter-Endeffektors). Eine Schwierigkeit besteht dabei typischerweise darin, dass beispielsweise das Bewegungsverhalten einer menschlichen Hand anders ist als das eines Roboter-Endeffektors. Ein TP-HSMM erlaubt es jedoch, beide Alternativen als Aufgaben-Parameter beim Training zu berücksichtigen, um Trajektorien aus der TP-HSMM-Repräsentation zu erzeugen.
  • Obwohl die Erfindung vor allem unter Bezugnahme auf bestimmte Ausführungsformen gezeigt und beschrieben wurde, sollte es von denjenigen, die mit dem Fachgebiet vertraut sind, verstanden werden, dass zahlreiche Änderungen bezüglich Ausgestaltung und Details daran vorgenommen werden können, ohne vom Wesen und Bereich der Erfindung, wie er durch die nachfolgenden Ansprüche definiert wird, abzuweichen. Der Bereich der Erfindung wird daher durch die angefügten Ansprüche bestimmt, und es ist beabsichtigt, dass sämtliche Änderungen, welche unter den Wortsinn oder den Äquivalenzbereich der Ansprüche fallen, umfasst werden.

Claims (17)

  1. Verfahren zum Steuern einer Robotervorrichtung, aufweisend: Aufzeichnen, mit einer Kamera, einer Abfolge von Stellungen eines Teils eines eine Tätigkeit durchführenden Benutzers, der bei der Ausführung der Tätigkeit ein Objekt manipuliert, mittels dem der Benutzer die Tätigkeit durchführt, und des manipulierten Objekts; Erzeugen von Trainingsdaten basierend auf der aufgezeichneten Abfolge von Stellungen des Teils des Benutzers und des manipulierten Objekts; Trainieren eines Roboter-Steuerungsmodells durch Verwenden der Abfolge von Stellungen des Teils des Benutzers und des Objekts als Trainingsabfolge von Stellungen für einen Teil des Roboters; und Steuern der Robotervorrichtung basierend auf dem trainierten Roboter-Steuerungsmodell.
  2. Verfahren gemäß Anspruch 1, wobei das Aufzeichnen der Abfolge von Stellungen das Aufzeichnen von Sensordaten durch ein oder mehrere Sensoren und das Ermitteln der Abfolge von Stellungen aus den Sensordaten aufweist.
  3. Verfahren gemäß Anspruch 1 oder 2, wobei das Aufzeichnen der Abfolge von Stellungen das visuelle Aufzeichnen der Durchführung der Tätigkeit durch den Benutzer aufweist.
  4. Verfahren gemäß Anspruch 3, wobei das visuelle Aufzeichnen das Aufnehmen mindestens einer Folge von Kamerabildern aufweist.
  5. Verfahren gemäß Anspruch 4, wobei das Ermitteln der Stellungen basierend auf einer Bildanalyse der Folge von Kamerabildern erfolgt, bei der die Position und/oder Orientierung des Teils der Benutzers in der mindestens einen Folge von Kamerabildern verfolgt wird.
  6. Verfahren gemäß einem der Ansprüche 1 bis 5, wobei das Steuern der Robotervorrichtung basierend auf dem trainierten Roboter-Steuerungsmodell das Erzeugen einer Referenztrajektorie aus dem trainierten Roboter-Steuerungsmodell und das Verfolgen der Referenztrajektorie durch die Robotervorrichtung mittels eines Linear-Quadratisch-Gaußsch(LQG)-Reglers aufweist.
  7. Verfahren gemäß einem der Ansprüche 1 bis 6, aufweisend das Ermitteln einer Abfolge von Stellungen von ein oder mehreren weiteren Elementen, die an der Tätigkeit beteiligt sind, wobei die Trainingsdaten basierend auf der Abfolge von Stellungen der ein oder mehreren weiteren Elemente erzeugt werden.
  8. Verfahren gemäß Anspruch 7, wobei eine Abfolge von Stellungen eines Objekts, das bei der Ausführung der Tätigkeit manipuliert wird, ermittelt wird und wobei die Trainingsdaten basierend auf der Abfolge von Stellungen des Objekts erzeugt werden.
  9. Verfahren gemäß einem der Ansprüche 1 bis 8, wobei das Roboter-Steuerungsmodell ein statistisches Modell aufweist.
  10. Verfahren gemäß Anspruch 9, wobei eine Abfolge von Stellungen mindestens eines Objekts, das bei der Ausführung der Tätigkeit manipuliert wird, ermittelt wird und wobei das statistische Modell mittels der ermittelten Stellungen parametrisiert ist.
  11. Verfahren gemäß einem der Ansprüche 1 bis 10, wobei das statistische Modell ein Aufgaben-parametrisiertes Gaußsches Mischmodell aufweist.
  12. Verfahren gemäß einem der Ansprüche 1 bis 11, wobei das statistische Modell ein Aufgaben-parametrisiertes Hidden-Semi-Markov-Modell aufweist.
  13. Verfahren gemäß einem der Ansprüche 1 bis 12, wobei beim Durchführen der Tätigkeit kein räumlicher Kontakt zwischen dem Benutzer und der Robotervorrichtung besteht.
  14. Verfahren gemäß einem der Ansprüche 1 bis 13, wobei sich die Kinematik dem Benutzer und der Robotervorrichtung unterscheiden.
  15. Robotersteuervorrichtung, eingerichtet ein Verfahren gemäß einem der Ansprüche 1 bis 14 durchzuführen.
  16. Computerprogramm, aufweisend Programminstruktionen, die, wenn sie von ein oder mehreren Prozessoren ausgeführt werden, die ein oder mehreren Prozessoren dazu bringen, ein Verfahren gemäß einem der Ansprüche 1 bis 14 durchzuführen.
  17. Computerlesbares Speichermedium, auf dem Programminstruktionen gespeichert sind, die, wenn sie von ein oder mehreren Prozessoren ausgeführt werden, die ein oder mehreren Prozessoren dazu bringen, ein Verfahren gemäß einem der Ansprüche 1 bis 16 durchzuführen.
DE102019216229.0A 2019-10-07 2019-10-22 Vorrichtung und Verfahren zum Steuern einer Robotervorrichtung Active DE102019216229B4 (de)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/EP2020/072410 WO2021069129A1 (de) 2019-10-07 2020-08-10 Vorrichtung und verfahren zum steuern einer robotervorrichtung

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
DE102019215349 2019-10-07
DE102019215349.6 2019-10-07

Publications (2)

Publication Number Publication Date
DE102019216229A1 DE102019216229A1 (de) 2021-04-08
DE102019216229B4 true DE102019216229B4 (de) 2022-11-10

Family

ID=74875885

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102019216229.0A Active DE102019216229B4 (de) 2019-10-07 2019-10-22 Vorrichtung und Verfahren zum Steuern einer Robotervorrichtung

Country Status (2)

Country Link
DE (1) DE102019216229B4 (de)
WO (1) WO2021069129A1 (de)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102020208169A1 (de) 2020-06-30 2021-12-30 Robert Bosch Gesellschaft mit beschränkter Haftung Verfahren und Vorrichtung zum Betreiben einer Maschine
DE102020212658A1 (de) 2020-10-07 2022-04-07 Robert Bosch Gesellschaft mit beschränkter Haftung Vorrichtung und Verfahren zum Steuern einer Robotervorrichtung
DE102020214231A1 (de) 2020-11-12 2022-05-12 Robert Bosch Gesellschaft mit beschränkter Haftung Verfahren zum steuern einer robotervorrichtung und robotersteuereinrichtung
DE102021204697B4 (de) 2021-05-10 2023-06-01 Robert Bosch Gesellschaft mit beschränkter Haftung Verfahren zum Steuern einer Robotervorrichtung
DE102021204961B4 (de) 2021-05-17 2023-06-07 Robert Bosch Gesellschaft mit beschränkter Haftung Verfahren zur Steuerung einer Robotervorrichtung
CN114055463B (zh) * 2021-09-26 2023-04-18 曲阜师范大学 一种网络化机械臂系统的模糊滑模控制方法
DE102021211185B4 (de) 2021-10-05 2024-05-02 Robert Bosch Gesellschaft mit beschränkter Haftung Vorrichtung und Verfahren zum Steuern eines Roboters
DE102022201116A1 (de) 2022-02-02 2023-08-03 Robert Bosch Gesellschaft mit beschränkter Haftung Verfahren zum Steuern einer Robotervorrichtung
DE102022206381A1 (de) 2022-06-24 2024-01-04 Robert Bosch Gesellschaft mit beschränkter Haftung Verfahren zum Steuern einer Robotervorrichtung

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0985654A (ja) 1995-09-20 1997-03-31 Yaskawa Electric Corp 複数ロボットの同調制御方法
DE69622572T2 (de) 1995-09-14 2003-04-03 Yaskawa Denki Kitakyushu Kk Lehrvorrichtung für roboter
EP1644782B1 (de) 2003-06-20 2009-03-04 Fanuc Robotics America, Inc. Mehrfach-roboterarm-verfolgung und spiegel-jog
DE102010029745A1 (de) 2010-06-07 2011-12-08 Kuka Laboratories Gmbh Werkstück-Handhabungssystem und Verfahren zum Manipulieren von Werkstücken mittels kooperierender Manipulatoren
DE102013110847B3 (de) 2013-10-01 2015-01-22 gomtec GmbH Steuervorrichtung und Verfahren zum Steuern eines Robotersystems mittels Gestensteuerung
DE102014108287A1 (de) 2014-05-23 2015-11-26 GM Global Technology Operations LLC (n. d. Gesetzen des Staates Delaware) Schnelles Erlernen durch Nachahmung von Kraftdrehmoment-Aufgaben durch Roboter
DE102016221193B3 (de) 2016-10-27 2018-01-04 Kuka Roboter Gmbh Verfahren zum Steuern eines Manipulators basierend auf Handerkennung
DE102017007908A1 (de) 2017-08-21 2019-02-21 Hochschule Bochum Verfahren zur Steuerung der Bewegung eines mobilen Roboters
DE102018201589A1 (de) 2018-02-01 2019-08-01 KORIS Vision & Force GmbH Verfahren zur Programmierung der Steuerung eines Industrieroboters, Verfahren zum Betreiben eines Industrieroboters, Programmiervorrichtung sowie Industrierobotersystem mit einer solchen Programmiervorrichtung
DE102019001948A1 (de) 2018-03-26 2019-09-26 Fanuc Corporation Steuerung und maschinelle Lernvorrichtung

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002301674A (ja) * 2001-04-03 2002-10-15 Sony Corp 脚式移動ロボット及びその運動教示方法、並びに記憶媒体
US10112303B2 (en) * 2013-10-25 2018-10-30 Aleksandar Vakanski Image-based trajectory robot programming planning approach
JP7122821B2 (ja) * 2017-12-15 2022-08-22 川崎重工業株式会社 ロボットシステム及びロボット制御方法

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE69622572T2 (de) 1995-09-14 2003-04-03 Yaskawa Denki Kitakyushu Kk Lehrvorrichtung für roboter
JPH0985654A (ja) 1995-09-20 1997-03-31 Yaskawa Electric Corp 複数ロボットの同調制御方法
EP1644782B1 (de) 2003-06-20 2009-03-04 Fanuc Robotics America, Inc. Mehrfach-roboterarm-verfolgung und spiegel-jog
DE102010029745A1 (de) 2010-06-07 2011-12-08 Kuka Laboratories Gmbh Werkstück-Handhabungssystem und Verfahren zum Manipulieren von Werkstücken mittels kooperierender Manipulatoren
DE102013110847B3 (de) 2013-10-01 2015-01-22 gomtec GmbH Steuervorrichtung und Verfahren zum Steuern eines Robotersystems mittels Gestensteuerung
DE102014108287A1 (de) 2014-05-23 2015-11-26 GM Global Technology Operations LLC (n. d. Gesetzen des Staates Delaware) Schnelles Erlernen durch Nachahmung von Kraftdrehmoment-Aufgaben durch Roboter
DE102016221193B3 (de) 2016-10-27 2018-01-04 Kuka Roboter Gmbh Verfahren zum Steuern eines Manipulators basierend auf Handerkennung
DE102017007908A1 (de) 2017-08-21 2019-02-21 Hochschule Bochum Verfahren zur Steuerung der Bewegung eines mobilen Roboters
DE102018201589A1 (de) 2018-02-01 2019-08-01 KORIS Vision & Force GmbH Verfahren zur Programmierung der Steuerung eines Industrieroboters, Verfahren zum Betreiben eines Industrieroboters, Programmiervorrichtung sowie Industrierobotersystem mit einer solchen Programmiervorrichtung
DE102019001948A1 (de) 2018-03-26 2019-09-26 Fanuc Corporation Steuerung und maschinelle Lernvorrichtung

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
CALINON, Sylvain: A tutorial on task-parameterized movement learning and retrieval. In: Intelligent Service Robotics, Vol. 9, 2016, No. 1, S. 1-29. ISSN 1861-2784 (E); 1861-2776 (P). DOI: 10.1007/s11370-015-0187-9. URL: https://link.springer.com/content/pdf/10.1007%2Fs11370-015-0187-9.pdf [abgerufen am 08.08.2019]

Also Published As

Publication number Publication date
WO2021069129A1 (de) 2021-04-15
DE102019216229A1 (de) 2021-04-08

Similar Documents

Publication Publication Date Title
DE102019216229B4 (de) Vorrichtung und Verfahren zum Steuern einer Robotervorrichtung
DE102013203381B4 (de) Verfahren und system zum trainieren eines roboters unter verwendung einer von menschen unterstützten aufgabendemonstration
DE102014108287B4 (de) Schnelles Erlernen durch Nachahmung von Kraftdrehmoment-Aufgaben durch Roboter
DE102010045529B4 (de) Interaktives Robotersteuerungssystem und Verwendungsverfahren
DE112019002310B4 (de) Ausführen einer "peg in hole"-aufgabe mit unbekannter neigung
DE102014103738B3 (de) Visuelle fehlersuche bei roboteraufgaben
DE102011079117B4 (de) Verfahren zum Programmieren eines Roboters
DE102021204697B4 (de) Verfahren zum Steuern einer Robotervorrichtung
DE102019216560B4 (de) Verfahren und Vorrichtung zum Trainieren von Manipulationsfertigkeiten eines Robotersystems
DE102020214633A1 (de) Vorrichtung und Verfahren zum Steuern einer Robotervorrichtung
DE102020207085A1 (de) Verfahren zum steuern eines roboters und robotersteuereinheit
DE102021204961B4 (de) Verfahren zur Steuerung einer Robotervorrichtung
DE102020214231A1 (de) Verfahren zum steuern einer robotervorrichtung und robotersteuereinrichtung
DE102020209685B4 (de) Verfahren zum steuern einer robotervorrichtung und robotervorrichtungssteuerung
DE102020212658A1 (de) Vorrichtung und Verfahren zum Steuern einer Robotervorrichtung
DE102022130652A1 (de) Anlernen eines roboters durch vorführen mit visualservoing
DE102020208169A1 (de) Verfahren und Vorrichtung zum Betreiben einer Maschine
Hersch et al. Learning dynamical system modulation for constrained reaching tasks
DE102022201116A1 (de) Verfahren zum Steuern einer Robotervorrichtung
DE102020200165B4 (de) Robotersteuereinrichtung und Verfahren zum Steuern eines Roboters
DE102021211185B4 (de) Vorrichtung und Verfahren zum Steuern eines Roboters
DE102019105820A1 (de) Verfahren, System sowie nichtflüchtiges Speichermedium
DE102021212494A1 (de) Vorrichtung und Verfahren zur Steuerung einer Robotervorrichtung
DE102021209761A1 (de) Verfahren zum Trainieren einer Steuerungsstrategie
DE102022207847A1 (de) Verfahren zum Steuern eines Roboters zum Manipulieren, insbesondere Aufnehmen, eines Objekts

Legal Events

Date Code Title Description
R163 Identified publications notified
R012 Request for examination validly filed
R016 Response to examination communication
R016 Response to examination communication
R018 Grant decision by examination section/examining division
R020 Patent grant now final