DE102021204697A1 - Verfahren zum Steuern einer Robotervorrichtung - Google Patents

Verfahren zum Steuern einer Robotervorrichtung Download PDF

Info

Publication number
DE102021204697A1
DE102021204697A1 DE102021204697.5A DE102021204697A DE102021204697A1 DE 102021204697 A1 DE102021204697 A1 DE 102021204697A1 DE 102021204697 A DE102021204697 A DE 102021204697A DE 102021204697 A1 DE102021204697 A1 DE 102021204697A1
Authority
DE
Germany
Prior art keywords
sequence
robot
robotic device
controlling
attractor
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.)
Granted
Application number
DE102021204697.5A
Other languages
English (en)
Other versions
DE102021204697B4 (de
Inventor
Mathias Buerger
Andras Gabor Kupcsik
Leonel Rozo
Niels Van Duijkeren
Robert Krug
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 DE102021204697.5A priority Critical patent/DE102021204697B4/de
Priority to US17/661,045 priority patent/US20220371194A1/en
Priority to CN202210485932.4A priority patent/CN115319734A/zh
Publication of DE102021204697A1 publication Critical patent/DE102021204697A1/de
Application granted granted Critical
Publication of DE102021204697B4 publication Critical patent/DE102021204697B4/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
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1602Programme controls characterised by the control system, structure, architecture
    • B25J9/1607Calculation of inertia, jacobian matrixes and inverses
    • 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/1653Programme controls characterised by the control loop parameters identification, estimation, stiffness, accuracy, error analysis
    • 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/1664Programme controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning
    • 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
    • G05B19/423Teaching successive positions by walk-through, i.e. the tool head or end effector being grasped and guided directly, with or without servo-assistance, to follow a path
    • 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/36433Position assisted teaching

Abstract

Gemäß verschiedenen Ausführungsformen wird ein Verfahren zum Steuern einer Robotervorrichtung beschrieben, aufweisend Bereitstellen von Demonstrationen zur Durchführung einer Fertigkeit durch den Roboter, wobei jede Demonstration für jeden Zeitpunkt einer Sequenz von Zeitpunkten eine Roboterpose, eine wirkende Kraft sowie Objektpose aufweist, Ermitteln, zu jeder Demonstration einer Attraktor-Demonstration, Trainieren eines Aufgaben-parametrisierten Robotertrajektorienmodells für die Fertigkeit aus den Attraktortrajektorien und Steuern der Robotervorrichtung gemäß dem Aufgaben-parametrisierten Robotertrajektorienmodell.

Description

  • Stand der Technik
  • Die vorliegende Offenbarung bezieht sich auf Verfahren zum Steuern einer Robotervorrichtung.
  • Die Durchführung einer Fertigkeit mit Kraftübertragung ist eine wichtige Funktionalität für die Durchführung von Aufgaben durch Roboter in der Industrie. Während eine starre kinematische Bahnverfolgung für einfache Aufnahme- und Platzierungsaufgaben oftmals ausreicht, ist sie unzureichend für Aufgaben, die eine explizite Interaktion mit der Umgebung erfordern. Beim Zusammenbau, beispielsweise von einem Motor, muss (als erste Fertigkeit) beispielsweise eine Metallwelle fest in ein Loch gedrückt werden. Dann muss (als zweite Fertigkeit) im Unterschied dazu eine Hülse sanft über die Metallwelle geschoben werden, wobei sie gedreht werden muss, damit die inneren Strukturen der Hülse den äußeren Strukturen der Metallwelle folgen und Beschädigungen vermieden werden. Diese beiden Fertigkeiten erfordern deutlich unterschiedliche kinematische Trajektorien, Krafttrajektorien und Steifigkeitswerte.
  • Dementsprechend sind Herangehensweisen wünschenswert, einen Roboter zu steuern, Fertigkeiten durchzuführen, die unterschiedliche Anforderungen in Hinblick auf die vom Roboter ausgeübten Kräfte (d.h. die Nachgiebigkeit des Roboters, wenn er bei der Ausübung der Fertigkeit auf Widerstand trifft) haben.
  • Offenbarung der Erfindung
  • Gemäß verschiedenen Ausführungsformen wird ein Verfahren zum Steuern einer Robotervorrichtung bereitgestellt, aufweisend Bereitstellen von Demonstrationen zur Durchführung einer Fertigkeit durch den Roboter, wobei jede Demonstration für jeden Zeitpunkt einer Sequenz von Zeitpunkten eine Pose einer Komponente der Robotervorrichtung, eine auf die Komponente der Robotervorrichtung wirkende Kraft sowie eine Pose des durch die Fertigkeit manipulierten Objekts aufweist, Ermitteln, zu jeder Demonstration einer Attraktor-Demonstration durch Ermitteln einer Trainings-Attraktortrajektorie durch Berechnen, für jeden Zeitpunkt der Sequenz von Zeitpunkten, einer Attraktorpose durch lineare Kombination der Pose für den Zeitpunkt, der Geschwindigkeit der Komponente der Robotervorrichtung zu dem Zeitpunkt, der Beschleunigung der Komponente der Robotervorrichtung und der zu dem Zeitpunkt auf die Komponente der Robotervorrichtung wirkenden Kraft, wobei die Geschwindigkeit mit einer Dämpfungsmatrix und einer inversen Steifigkeitsmatrix und die Beschleunigung und die Kraft mit der inversen Steifigkeitsmatrix gewichtet werden und Ergänzen der Attraktortrajektorie zu einer Attraktor-Demonstration durch die Posen des durch die Fertigkeit manipulierten Objekts für jeden Zeitpunkt der Sequenz von Zeitpunkten, Trainieren eines Aufgaben-parametrisierten Robotertrajektorienmodells für die Fertigkeit aus den Attraktortrajektorien und Steuern der Robotervorrichtung gemäß dem Aufgaben-parametrisierten Robotertrajektorienmodell.
  • Das oben beschriebene Verfahren zum Steuern eines Roboters ermöglicht es, dass ein Roboter für verschiedene Szenarien (auch solche, die nicht in Demonstrationen explizit gezeigt wurde) eine Fertigkeit mit gewünschter Kraftübertragung (also mit einem Gewünschten Grad von Nachgiebigkeit bzw. Steifigkeit, d.h. mit einer gewünschten Kraft, mit der Roboter auf Widerstand reagiert) durchführt.
  • Im Folgenden werden verschiedene Ausführungsbeispiele angegeben.
  • Ausführungsbeispiel 1 ist ein Verfahren zum Steuern eines Roboters, wie oben beschrieben.
  • Ausführungsbeispiel 2 ist ein Verfahren nach Ausführungsbeispiel 1, wobei das Robotertrajektorienmodell durch die Objektpose Aufgaben-parametrisiert ist.
  • Dies ermöglicht eine Steuerung auch in Szenarien mit Objektposen, die in keiner der Demonstrationen aufgetreten sind.
  • Ausführungsbeispiel 3 ist ein Verfahren nach Ausführungsbeispiel 1 oder 2, wobei das Robotertrajektorienmodell ein Aufgaben-parametrisiertes Gaußsches Mischmodell ist.
  • Ein Aufgaben-parametrisiertes Gaußsches Mischmodell ermöglicht ein effizientes Training aus Demonstrationen und wird in diesem Fall auf die Attraktor-Demonstrationen angewendet.
  • Ausführungsbeispiel 4 ist ein Verfahren nach Ausführungsbeispiel 3, wobei das Steuern aufweist: Ermitteln einer ersten Sequenz von Gaußschen Komponenten zum Maximieren der Wahrscheinlichkeit, dass die Gaußschen Komponenten eine gegebene Anfangskonfiguration und/oder eine gewünschte Endkonfiguration liefern, Steuern der Robotervorrichtung gemäß der ersten Sequenz von Gaußschen Komponenten, Beobachten von bei der Steuerung auftretenden Konfigurationen und, zu mindestens einem Zeitpunkt im Laufe es Steuerns, Anpassen der Sequenz von Gaußschen Komponenten zu einer zweiten Sequenz von Gaußschen Komponenten zum Maximieren der Wahrscheinlichkeit, dass die Gaußschen Komponenten die gegebene Anfangskonfiguration und/oder die gewünschte Endkonfiguration und die beobachteten Konfigurationen liefern und Steuern der Robotervorrichtung gemäß der zweiten Sequenz von Gaußschen Komponenten.
  • Damit werden beim Steuern („online“) die erreichten bzw. auftretenden Konfigurationen beobachtet (insbesondere Objektposen) und die Steuerungssequenz entsprechend angepasst. Insbesondere können Steuerungsfehler oder externe Störungen ausgeglichen werden.
  • Ausführungsbeispiel 5 ist ein Verfahren nach Ausführungsbeispiel 4, wobei von dem Steuern gemäß der ersten Sequenz zu einem Steuern zu dem Steuern gemäß der zweiten Sequenz in einer Übergangsphase gewechselt wird, wobei in der Übergangsphase gemäß einer eingefügten Gaußschen Komponenten mit einer Dauer, die proportional ist zu dem Unterschied zwischen der Pose der Robotervorrichtung zu dem Beginn des Wechselns und des Mittelwerts der Gaußschen Komponente der zweiten Sequenz, mit welcher nach dem Wechseln auf das Steuern gemäß der zweiten Sequenz fortgefahren wird, gesteuert wird.
  • Die Übergangsphase gewährleistet, dass kein zu abrupter Wechseln in der Steuerung auftritt, was zu gefährlichem oder schädigendem Verhalten führen könnte, sondern sacht von der einen Steuerungssequenz auf die andere Steuerungssequenz gewechselt wird.
  • Ausführungsbeispiel 6 ist eine Robotersteuereinrichtung, die dazu konfiguriert ist, das Verfahren nach einem der Ausführungsbeispiele 1 bis 5 durchzuführen.
  • Ausführungsbeispiel 7 ist ein Computerprogramm mit Befehlen, die, wenn sie durch einen Prozessor ausgeführt werden, bewirken, dass der Prozessor ein Verfahren nach einem der Ausführungsbeispiele 1 bis 5 durchführt.
  • Ausführungsbeispiel 8 ist ein computerlesbares Medium, das Befehle speichert, die, wenn sie durch einen Prozessor ausgeführt werden, bewirken, dass der Prozessor ein Verfahren nach einem der Ausführungsbeispiele 1 bis 5 durchführt.
  • In den Zeichnungen beziehen sich ähnliche Bezugszeichen im Allgemeinen auf dieselben Teile in den ganzen verschiedenen Ansichten. Die Zeichnungen sind nicht notwendigerweise maßstäblich, wobei die Betonung stattdessen im Allgemeinen auf die Darstellung der Prinzipien der Erfindung gelegt wird. In der folgenden Beschreibung werden verschiedene Aspekte mit Bezug auf die folgenden Zeichnungen beschrieben. 1 zeigt
  • Die folgende ausführliche Beschreibung bezieht sich auf die begleitenden Zeichnungen, die zur Erläuterung spezielle Details und Aspekte dieser Offenbarung zeigen, in denen die Erfindung ausgeführt werden kann. Andere Aspekte können verwendet werden und strukturelle, logische und elektrische Änderungen können durchgeführt werden, ohne vom Schutzbereich der Erfindung abzuweichen. Die verschiedenen Aspekte dieser Offenbarung schließen sich nicht notwendigerweise gegenseitig aus, da einige Aspekte dieser Offenbarung mit einem oder mehreren anderen Aspekten dieser Offenbarung kombiniert werden können, um neue Aspekte zu bilden.
  • Im Folgenden werden verschiedene Beispiele genauer beschrieben.
  • 1 zeigt einen Roboter 100.
  • Der Roboter 100 umfasst einen Roboterarm 101, beispielsweise einen Industrieroboterarm zum Handhaben oder Montieren eines Werkstücks (oder eines oder mehrerer anderer Objekte). Der Roboterarm 101 umfasst Manipulatoren 102, 103, 104 und eine Basis (oder Stütze) 105, durch die die Manipulatoren 102, 103, 104 abgestützt sind. Der Begriff „Manipulator“ bezieht sich auf die beweglichen Elemente des Roboterarms 101, deren Betätigung eine physikalische Wechselwirkung mit der Umgebung ermöglicht, z. B. um eine Aufgabe auszuführen. Für die Steuerung umfasst der Roboter 100 eine (Roboter-) Steuereinrichtung 106, die dazu konfiguriert ist, die Wechselwirkung mit der Umgebung gemäß einem Steuerprogramm zu implementieren. Das letzte Element 104 (am weitesten von der Stütze 105 entfernt) der Manipulatoren 102, 103, 104 wird auch als Endeffektor 104 bezeichnet und kann ein oder mehrere Werkzeuge wie z. B. einen Schweißbrenner, ein Greifinstrument, ein Lackierwerkzeug oder dergleichen umfassen.
  • Die anderen Manipulatoren 102, 103 (näher an der Basis 105) können eine Positionierungsvorrichtung bilden, sodass zusammen mit dem Endeffektor 104 der Roboterarm 101 mit dem Endeffektor 104 an seinem Ende vorgesehen ist. Der Roboterarm 101 ist ein mechanischer Arm, der ähnliche Funktionen wie ein menschlicher Arm (möglicherweise mit einem Werkzeug an seinem Ende) erfüllen kann.
  • Der Roboterarm 101 kann Gelenkelemente 107, 108, 109 umfassen, die die Manipulatoren 102, 103, 104 miteinander und mit der Basis 105 verbinden. Ein Gelenkelement 107, 108, 109 kann ein oder mehrere Gelenke aufweisen, von denen jedes eine drehbare Bewegung (d.h. Drehbewegung) und/oder Translationsbewegung (d.h. Verschiebung) von zugehörigen Manipulatoren relativ zueinander bereitstellen kann. Die Bewegung der Manipulatoren 102, 103, 104 kann mittels Aktuatoren eingeleitet werden, die durch die Steuereinrichtung 106 gesteuert werden.
  • Der Begriff „Aktuator“ kann als Komponente verstanden werden, die dazu ausgelegt ist, einen Mechanismus oder Prozess in Reaktion darauf, dass sie angetrieben wird, zu beeinflussen. Der Aktuator kann Befehle, die durch die Steuereinrichtung 106 ausgegeben werden (die sogenannte Aktivierung), in mechanische Bewegungen implementieren. Der Aktuator, z. B. ein elektromechanischer Wandler, kann dazu konfiguriert sein, auf seine Aktivierung hin elektrische Energie in mechanische Energie umzuwandeln.
  • Der Begriff „Steuereinrichtung“ kann als irgendein Typ von Logik, die eine Entität implementiert, verstanden werden, die beispielsweise eine Schaltung und/oder einen Prozessor, der in der Lage ist, eine Software auszuführen, die in einem Speichermedium gespeichert ist, Firmware oder eine Kombination davon umfassen kann, und die Befehle, z. B. an einen Aktuator im vorliegenden Beispiel, ausgeben kann. Die Steuereinrichtung kann beispielsweise durch einen Programmcode (z. B. Software) konfiguriert sein, um den Betrieb eines Roboters zu steuern.
  • Im vorliegenden Beispiel umfasst die Steuereinrichtung 106 einen oder mehrere Prozessoren 110 und einen Speicher 111, der Code und Daten speichert, auf deren Basis der Prozessor 110 den Roboterarm 101 steuert. Gemäß verschiedenen Ausführungsformen steuert die Steuereinrichtung 106 den Roboterarm 101 auf der Basis eines statistischen Modells 112, das im Speicher 111 gespeichert ist.
  • Der Roboter 100 soll beispielsweise ein erstes Objekt 113 aufnehmen und an ein zweites Objekt 114 anbauen. Beispielsweise ist der Endeffektor 104 ein Greifer und soll das erste Objekt 113 aufnehmen, aber der Endeffektor 104 kann auch beispielsweise eingerichtet sein, das Objekt 113 zum Aufnehmen anzusaugen.
  • Der Roboter 100 soll beispielsweise das erste Objekt 113 an das zweite Objekt 114 anbauen, um ein Gerät zusammenzubauen. Dabei können unterschiedliche Anforderungen auftreten, wie nachgiebig (oder im Gegenteil dazu steif) der Roboter dabei vorgeht.
  • Beispielsweise muss beim Zusammenbau eines Motors eine Metallwelle fest (steif) in ein Loch gedrückt werden und dann eine Hülse (sanft, d.h. nachgiebig) über die Metallwelle geschoben werden, um innere Strukturen der Hülse und dazu passende äußere Strukturen der Metallwelle zu berücksichtigen (und nicht zu beschädigen).
  • Der Roboter soll also in der Lage sein, Fertigkeit mit unterschiedliche Steifigkeit bzw. Nachgiebigkeit auszuführen.
  • Dazu kann das statistische Modell durch Lernen aus Demonstrationen (Learning from Demonstrations LfD) trainiert werden.
  • Dabei können menschliche Demonstrationen durch das statistische Modell 112 (auch als probabilistisches Modell bezeichnet) codiert werden, das den nominalen Plan der Aufgabe für den Roboter darstellt. Die Steuereinrichtung 106 kann anschließend das statistische Modell 112 verwenden, das auch als Robotertrajektorienmodell bezeichnet wird, um gewünschte Roboterbewegungen zu erzeugen.
  • Die Grundidee von LfD besteht darin, ein vorgeschriebenes Bewegungsfertigkeitsmodell wie z.B. GMMs (Gaußsche Mischmodelle) an eine Menge von Demonstrationen anzupassen. M Demonstrationen sollen vorhanden sein, von denen jede Tm Datenpunkte für einen Datensatz von N = Σm Tm Gesamtbeobachtungen ξ = { ξ t } t = 1 N
    Figure DE102021204697A1_0001
    enthält, wobei ξt ∈ ℝd. Es wird auch angenommen, dass dieselben Demonstrationen aus der Perspektive von P verschiedenen Koordinatensystemen aufgezeichnet werden (durch die Aufgabenparameter gegeben, wie z. B. lokale Koordinatensysteme oder Bezugsrahmen von interessierenden Objekten). Eine übliche Weise zum Erhalten solcher Daten besteht darin, die Demonstrationen von einem statischen globalen Bezugsrahmen auf einen (lokalen) Bezugsrahmen p durch ξ = { ξ t } t = 1 N
    Figure DE102021204697A1_0002
    zu transformieren. Hier ist { ( b ( p ) , A ( p ) ) } p = 1 P
    Figure DE102021204697A1_0003
    die Translation und Rotation des (lokalen) Bezugsrahmens p in Bezug auf ein globales Koordinatensystem (d.h. den globalen Bezugsrahmen). Dann wird ein TP-GMM (Task-Parameterized, d.h. Aufgaben-parametrisiertes GMM) durch die Modellparameter { π k , { μ k ( p ) , Σ k ( p ) } p = 1 P } k = 1 K
    Figure DE102021204697A1_0004
    beschrieben, wobei K die Anzahl von Gauß-Komponenten im Mischmodell darstellt, πk die vorherige Wahrscheinlichkeit jeder Komponente ist und { μ k ( p ) , Σ k ( p ) } p = 1 P
    Figure DE102021204697A1_0005
    die Parameter der k-ten Gauß-Komponente innerhalb des Bezugsrahmens p sind.
  • Im Unterschied zum Standard-GMM kann das obige Mischmodell nicht unabhängig für jeden Bezugsrahmen gelernt werden. Tatsächlich werden die Mischkoeffizienten πk von allen Bezugsrahmen geteilt und die k-te Komponente im Bezugsrahmen p muss auf die entsprechende k-te Komponente im globalen Bezugsrahmen abbilden. Erwartung-Maximierung (EM) ist ein etabliertes Verfahren, um solche Modelle zu lernen.
  • Sobald es gelernt ist, kann das TP-GMM während der Ausführung verwendet werden, um eine Trajektorie für die gelernte Bewegungsfertigkeit zu reproduzieren. Dies beinhaltet die Steuerung des Roboters, sodass er von einer Anfangskonfiguration eine Zielkonfiguration erreicht (z.B. sein Endeffektor 104 sich von einer Anfangspose in eine Endpose bewegt). Dazu wird die (von der Zeit abhängige) Beschleunigung an den Gelenkelementen 107, 108, 109 berechnet. In Anbetracht der beobachteten Bezugsrahmen { b ( p ) , A ( p ) } p = 1 P
    Figure DE102021204697A1_0006
    wird das gelernte TP-GMM in ein einzelnes GMM mit Parametern { π k , { μ ^ k , Σ ^ k } } k = 1 K
    Figure DE102021204697A1_0007
    durch Multiplizieren der affin transformierten Gauß-Komponenten über verschiedene Bezugsrahmen umgewandelt, wie folgt Σ ^ k = [ p = 1 P ( Σ ^ k ( p ) ) 1 ] 1 ,   μ ^ k = Σ ^ k [ p = 1 P ( Σ ^ k ( p ) ) 1 μ ^ k ( p ) ] ,
    Figure DE102021204697A1_0008
    wobei die Parameter der aktualisierten Gauß-Glocke an jedem Bezugsrahmen p berechnet werden als μ ^ k ( p ) = A ( p ) μ k ( p ) + b ( p )
    Figure DE102021204697A1_0009
    und Σ ^ k ( p ) = A ( p ) Σ k ( p ) A ( p ) T .
    Figure DE102021204697A1_0010
    Obwohl die Aufgabenparameter über die Zeit variieren können, wird der Zeitindex wegen der Schreibweise weggelassen.
  • Verborgene Semi-Markov-Modelle (HSMMs) erweitern verborgene Standard-Markov-Modelle (HMMs) durch Einbetten von Zeitinformationen des zugrundeliegenden stochastischen Prozesses. Das heißt, während in HMM der zugrundeliegende verborgene Prozess als Markov angenommen wird, d.h. die Wahrscheinlichkeit des Übergangs zum nächsten Zustand nur vom aktuellen Zustand abhängt, wird in HSMM der Zustandsprozess als Semi-Markov angenommen. Dies bedeutet, dass ein Übergang zum nächsten Zustand vom aktuellen Zustand sowie von der abgelaufenen Zeit, seitdem in den Zustand eingetreten wurde, abhängt. Sie können in Kombination mit TP-GMMs für Roboterbewegungsfertigkeitscodierung angewendet werden, um räumlich-zeitliche Merkmale der Demonstrationen zu lernen. Ein aufgabenparametrisiertes HSMM-Modell TP-HSMM-Modell ist definiert als: Θ = { { a hk } h = 1 K , ( μ k D , σ k D ) , π k , { ( μ k ( p ) , Σ k ( p ) ) } p = 1 P } k = 1 K ,
    Figure DE102021204697A1_0011
    wobei ahk die Übergangswahrscheinlichkeit vom Zustand h zu k ist; ( μ k D , σ k D )
    Figure DE102021204697A1_0012
    die Gauß-Verteilungen für die Dauer des Zustandes k beschreiben, d.h. die Wahrscheinlichkeit, dass im Zustand k für eine bestimmte Anzahl von aufeinander folgenden Schritten geblieben wird; { π k , { μ k ( p ) , Σ k ( p ) } p = 1 P } k = 1 K
    Figure DE102021204697A1_0013
    gleich dem früher eingeführten TP-GMM ist, das die Beobachtungswahrscheinlichkeit darstellt, die dem Zustand k entspricht. Hier ist zu beachten, dass die Anzahl von Zuständen der Anzahl von Gauß-Komponenten im „angebundenen“ TP-GMM darstellt.
  • In Anbetracht einer bestimmten (teilweisen) Sequenz von beobachteten Datenpunkten { ξ l } l = 1 t ,
    Figure DE102021204697A1_0014
    soll angenommen werden, dass die zugehörige Sequenz von Zuständen in Θ durch st = s1s2 ... st gegeben ist. Die Wahrscheinlichkeit, dass der Datenpunkt ξt zum Zustand k gehört (d.h. st = k), ist durch die Vorwärtsvariable α t ( k ) = p ( s t = k , { ξ l } l = 1 t )
    Figure DE102021204697A1_0015
    gegeben: α t ( k ) = τ = 1 t 1 h = 1 K α t 1 ( h ) a hk N ( τ | μ k D , σ k D ) o τ t ,
    Figure DE102021204697A1_0016
    wobei o τ t = l = t τ + 1 t N ( ξ l | μ ^ k , Σ ^ k )
    Figure DE102021204697A1_0017
    die Emissionswahrscheinlichkeit ist und (µ̂k, Σ̂k) von (1) in Anbetracht der Aufgabenparameter abgeleitet sind. Ferner kann dieselbe Vorwärtsvariable auch während der Reproduktion verwendet werden, um zukünftige Schritte bis Tm vorherzusagen.
  • Da jedoch in diesem Fall zukünftige Beobachtungen nicht verfügbar sind, werden nur Übergangs- und Dauerinformationen verwendet, d.h. durch Setzen von N (ξ |µ̂k, Σ̂k) = 1 für alle k und ℓ > t in (2). Schließlich wird die Sequenz der wahrscheinlichsten Zustände s T m = s 1 s 2 s T m
    Figure DE102021204697A1_0018
    durch Wählen von s t = argmax k α t ( k ) ,   1 t T m
    Figure DE102021204697A1_0019
    bestimmt.
  • Nun soll eine gewünschte Endbeobachtung des Roboterzustandes als ξT gegeben sein, wobei T der Bewegungsfertigkeitszeithorizont (z. B. die mittlere Länge über die Demonstrationen) ist. Überdies wird der anfängliche Roboterzustand als ξ1 beobachtet. Für die Ausführung der Bewegungsfertigkeit (d.h. Bewegungsfertigkeitsreproduktion) in Anbetracht des gelernten Modells Θa wird nur die wahrscheinlichste Zustandssequenz s T
    Figure DE102021204697A1_0020
    in Anbetracht von nur ξ1 und ξT konstruiert.
  • Die Reproduktion unter Verwendung der Vorwärtsvariable kann in diesem Fall nicht direkt erfolgen, da die Vorwärtsvariable in Gleichung (3) die Sequenz von marginal wahrscheinlichsten Zuständen berechnet, während das, was erwünscht ist, die gemeinsam wahrscheinlichste Sequenz von Zuständen in Anbetracht von ξt und ξT ist. Folglich besteht, wenn (3) verwendet wird, keine Garantie, dass die zurückgegebene Sequenz s T
    Figure DE102021204697A1_0021
    sowohl den räumlich-zeitlichen Mustern der Demonstrationen als auch der Endbeobachtung entspricht. Hinsichtlich eines Beispiels zum Aufnehmen eines Objekts kann es eine wahrscheinlichste Sequenz zurückgeben, die „Aufnehmen von der Seite“ entspricht, selbst wenn die gewünschte Endkonfiguration darin besteht, dass der Endeffektor sich an der Oberseite des Objekts befindet.
  • Gemäß einer Ausführungsform wird eine Modifikation des Viterbi-Algorithmus verwendet. Der klassische Viterbi-Algorithmus kann verwendet werden, um die wahrscheinlichste Sequenz von Zuständen (auch Viterbi-Pfad genannt) in HMMs zu finden, die zu einer gegebenen Sequenz von beobachteten Ereignissen führen. Gemäß einer Ausführungsform wird ein Verfahren verwendet, die sich von jener in zwei Hauptaspekten unterscheidet: (a) sie arbeitet mit einem HSMM anstelle von einem HMM; und bedeutender (b) die meisten Beobachtungen abgesehen von der ersten und der letzten fehlen. Insbesondere wird bei Abwesenheit von Beobachtungen der Viterbi-Algorithmus zu δ t ( j ) = max d D max i j δ t d ( i ) a ij p j ( d ) t ' = t d + 1 t b ˜ j ( ξ t ' ) , δ 1 ( j ) = b j ( ξ 1 ) π j p j ( 1 ) ,
    Figure DE102021204697A1_0022
    wobei p j ( d ) = N ( d | μ j D , σ j D )
    Figure DE102021204697A1_0023
    die Dauerwahrscheinlichkeit des Zustandes j ist, δt(j) die Wahrscheinlichkeit, dass das System sich im Zustand j zur Zeit t und nicht im Zustand j bei t + 1 befindet; und b ˜ j ( ξ t ' ) = { N ( ξ t ' | μ ^ j , Σ ^ j ) , t = 1 t = T ; 1, 1 < t < T .
    Figure DE102021204697A1_0024
    wobei (µ̂j,∑̂j) die globale Gauß-Komponente j in Θa von (1) gegeben ξt, ist. Zu jeder Zeit t und für jeden Zustand j werden nämlich die zwei Argumente, die die Gleichung δt(j) maximieren, aufgezeichnet und eine einfache Rückverfolgungsprozedur wird verwendet, um die wahrscheinlichste Zustandssequenz s T
    Figure DE102021204697A1_0025
    zu finden. Mit anderen Worten leitet der obige Algorithmus die wahrscheinlichste Sequenz s T
    Figure DE102021204697A1_0026
    für die Bewegungsfertigkeit a, die die Endbeobachtung ξT ergibt, ausgehend von ξ1 ab.
  • Um den obigen Anforderungen Rechnung zu tragen, dass der Roboter in der Lage sein soll, Fertigkeit mit unterschiedliche Steifigkeit bzw. Nachgiebigkeit auszuführen, wird gemäß verschiedenen Ausführungsformen die obige Vorgehensweise zum Lernen aus Demonstrationen nicht direkt auf Demonstrationen ξ = { ξ t } t = 1 N
    Figure DE102021204697A1_0027
    angewendet, sondern auf sogenannte Attraktordemonstrationen y = { y t } t = 1 N ,
    Figure DE102021204697A1_0028
    die aus den Demonstrationen ermittelt werden. Dies wird im Folgenden genauer erläutert.
  • 2 zeigt ein Ablaufdiagramm, das ein Verfahren zum Steuern eines Roboters gemäß einer Ausführungsform darstellt.
  • Für die folgenden Erläuterungen wird ein Roboterarm 101 mit mehreren Freiheitsgraden als Beispiel betrachtet, dessen Endeffektor 104 einen Zustand
    x ∈ ℝ3 × S3 aufweist (der die kartesische Position und die Orientierung in dem RoboterArbeitsraum). Zur Einfachheit werden im Folgenden Formulierungen für den Euklidischen Raum verwendet.
  • Es wird angenommen, dass die Steuereinrichtung eine kartesische Impedanzsteuerung gemäß der Lagrange-Formulierung F = K ρ ( x d x ) + K ν ( x ˙ d x ˙ ) + I ( q ) x ¨ d + Ω ( q , q ˙ )
    Figure DE102021204697A1_0029
    implementiert (wobei hier zur Einfachheit der Zeitindex weggelassen wurde). Hierbei ist F das Eingabemoment für die Steuerung (projiziert in den Roboter-Arbeitsraum), (xd, ẋd, ẍd) sind die gewünschte Pose, Geschwindigkeit bzw. Beschleunigung im Arbeitsraum, Kρ und Kv sind die Steifigkeitsmatrix bzw. die Dämpfmatrix, I(q) ist eine Arbeitstraumträgheitsmatrix und Ω((q,q̇) modelliert die interne Dynamik des Roboters. Diese letzten beiden Matrizen hängen von der Winkelposition q der Gelenke des Roboters und der Winkelgeschwindigkeit q̇ der Winkelposition der Gelenke des Roboters ab. Diese stehen bei der Steuerung zur Verfügung.
  • In 201 werden (z.B. durch einen menschlichen Benutzer) für eine Fertigkeit mit Kraftübertragung Demonstrationen durchgeführt. Diese Menge von Demonstrationen wird bezeichnet als D = {D1, ..., DM}, wobei jede Demonstrationen eine (zeitlich indizierte) Sequenz von Beobachtungen D m = [ ξ t ] t = 1 T m = [ ( ( x t , x ˙ t , x ¨ t , ƒ t ) , p t ) ] t = 1 T m
    Figure DE102021204697A1_0030
    wobei zu jedem Zeitpunkt t die Beobachtung ξt aus der Roboterpose xt, Geschwindigkeit ẋt, Beschleunigung ẍt der externen Kraft und dem externen Moment bzw. externen Kraft ƒt und der Pose pt des manipulierten Objekts (z.B. des ersten Objekts 113) besteht. Da ein Moment einer Kraft mit einem bestimmten Hebelarm entspricht und dementsprechend ineinander umgerechnet werden können, werden hierin Kraft und Moment äquivalent verwendet.
  • Die Demonstrationen können mittels eines Konfigurationsschätzungsmoduls, einem Beobachtungsmodul und dedizierten Sensoren (Kraftsensor, Kamera etc.) ermittelt (z.B. aufgezeichnet) werden.
  • Das Ziel ist es, eine Bewegungsvorschrift für die gemäß (5) arbeitende (Impedanz-)Steuervorrichtung 106 zu ermitteln, so dass der Roboter 100 die demonstrierte Fertigkeit zuverlässig mit den demonstrierten Posen- und Kraft- (bzw. Moment-)Profilen reproduzieren kann, selbst für neue Szenarien, d.h. z.B. einer neuen (nicht in einer Demonstration aufgetretenen) Objektpose.
  • Der in 2 gezeigte Ablauf besteht aus dem Trainieren des Modells 200 (z.B. offline, d.h. vor dem Betrieb) und der Ausführung der Fertigkeit 211 (online, d.h. im Betrieb). Das Vorführen der Demonstrationen in 201 ist Teil des Trainings.
  • Jede Demonstration Dm = [ξt] der Demonstrationen 201 wird gemäß y t = x t + K t ρ ( K t ν x ˙ t + x ¨ t ƒ t )
    Figure DE102021204697A1_0031
    in eine zugehörige Attraktortrajektorie [yt] umgewandelt. Hierbei ist K t ρ = ( K t ρ ) 1 .
    Figure DE102021204697A1_0032
  • Anschaulich wird die demonstrierte Pose, Geschwindigkeit, Beschleunigung und Kraft/Moment in eine einzige Größe umgewandelt. Entsprechend kann beispielsweise bei großer Kraft die Attraktortrajektorie stark von der demonstrierten Trajektorie, zu der sie gehört, abweichen.
  • Damit liegt zu jeder Demonstration eine zugehörige Attraktordemonstration ψm = [(yt, pt)] vor. Die so erzeugten Attraktordemonstrationen bilden eine Menge von Attraktordemonstrationen 202, bezeichnet als ψ = {ψm}. Die Erzeugung erfolgt gemäß Gleichung (6) mittels Anfangswerten 203 (z.B. als Standardwerte der Impedanz-Steuereinrichtung) für K t ρ  und  K t ν .
    Figure DE102021204697A1_0033
  • Nun wird wie oben beschrieben für die Menge von Attraktordemonstrationen 202 ein TP-HSMM 204 wie in Gleichung (2) gelernt. Dieses Attraktormodell wird mit Θy bezeichnet.
  • Auf die Berechnung der Attraktortrajektorien nach Gleichung (6) und damit auf das Attraktormodell 204 hat die Wahl der Anfangswerte 203 für K t ρ
    Figure DE102021204697A1_0034
    und K t ν
    Figure DE102021204697A1_0035
    einen großen Einfluss. Gemäß verschiedenen Ausführungsformen werden diese angepasst (optimiert).
  • Anstatt sie zu jedem Zeitpunkt t zu bestimmen, werden diese Matrizen lokal für jede Komponente von Θy optimiert. Wird beispielsweise die k-te Komponente von Θy betrachtet, so ist die akkumulierte Abweichung der berechneten Attraktortrajektorie in Bezug auf diesen Rest gegeben durch ε m = ξ t D m p t , k ( μ t x t K t ρ ( K t ν x ˙ t + x ¨ t ƒ t ) )
    Figure DE102021204697A1_0036
    wobei pt,k die Wahrscheinlichkeit ist, dass der Zustand xt zu der k-ten Komponente gehört, was ein Beiprodukt des EM-Algorithmus bei der Ermittlung von Θy ist. Hierbei ist µk der Mittelwert der k-ten Komponente. K k ρ
    Figure DE102021204697A1_0037
    ist die Inverse der zu optimierenden Steifheitsmatrix, während die Dämpfungsmatrix K t ν
    Figure DE102021204697A1_0038
    unverändert bleibt.
  • Eine optimierte lokale Steifheitsmatrix für die k-te Komponente 205 kann entsprechend berechnet werden durch Minimieren der (über alle Attraktor-Demonstrationen) akkumulierten Abweichungen gemäß K k ρ , = min K k ρ D m ε m ,  s . t .   K k ρ 0
    Figure DE102021204697A1_0039
    was verlangt, dass die Steifheitsmatrix positiv semidefinit ist. Das Minimierungsproblem (7) kann beispielsweise mittels Innere-Punkte-Verfahren gelöst werden.
  • Die oben beschriebene Vorgehensweise kann auch auf eine Repräsentation von Orientierungen mittels Quaternionen verwendet werden. Diese kann unter Verwendung einer Formulierung mittels Riemannscher Mannigfaltigkeiten geschehen. Gemäß einer Ausführungsformen liegen die Komponenten des Attraktormodells Θy in der Mannigfaltigkeit. Es existiert für jeden Punkt x in einer Mannigfaltigkeit ℳ ein Tangentialraum Txℳ. Die Exponential-Abbildung und die Logarithmus-Abbildungen können verwendet werden, um Punkte zwischen Txℳ und ℳ abzubilden. Die Exponential-Abbildung Expx: Txℳ → ℳ bildet einen Punkt im Tangentenraum des Punkts x auf einen Punkt auf der Mannigfaltigkeit ab, während der geodätische Abstand aufrechterhalten wird. Die inverse Operation wird Logarithmus-Abbildung Logx: ℳ → Txℳ genannt.
  • Beispielsweise kann die Subtraktion von Posen in Gleichung (5) mittels der Logarithmus-Operation und die Summierung on Posen in Gleichung (6) mittels der Exponential-Operation erfolgen. Die Modell-Komponenten können iterativ durch Projizieren auf den Tangentialraum und zurück in die Mannigfaltigkeit berechnet werden. Somit ist die Verwendung einer Formulierung mittels Riemannscher Mannigfaltigkeiten typischerweise rechenaufwändiger als die Euklidische Formulierung aber gewährleistet die Korrektheit der Ergebnisse. Wenn der Roboterarbeitsraum durch zeitlich variierende Lagen (mit Position und Orientierung) des Endeffektors dargestellt wird, sind klassische Verfahren auf euklidischer Basis für die Verarbeitung solcher Daten typischerweise ungeeignet.
  • Nachdem das Attraktormodell 204 und das zugehörige Steifheitsmodell 205 im Training 200 gelernt wurden, können sie für die Ausführung 211 der Fertigkeit verwendet werden. Die Ausführung 211 der Fertigkeit besteht aus einer anfänglichen Synthese und einer Online-Anpassung.
  • Für die anfängliche Synthese wird nun angenommen, dass der Roboter 100 die Fertigkeit, die demonstriert wurde, in einem neuen Szenario anwenden soll, in dem die Posen des Roboters und es Objekts unterschiedlich sind von denen in den Demonstrationen. Für dieses neue Szenario werden nun zunächst die P Bezugsrahmen für das Attraktormodell 204 entsprechend dem neuen Szenario bestimmt (siehe die Erläuterungen von Gleichung (1)).
  • Dann werden die globalen GMM-Komponenten in dem globalen Bezugsrahmen als gewichtetes Produkt der lokalen GMM-Komponenten (in den Objekt-Bezugsrahmen) berechnet. Außerdem wird für die Anfangs-Beobachtung ξO und (möglicherweise) einer gewünschten End-Beobachtung ξT wird der modifizierte Viterbi-Algorithmus (gemäß (4)) verwendet, um die wahrscheinlichste Sequenz von Komponenten 206 des Attraktormodells 204 zu bestimmen. Diese Sequenz 206 wird als s = [ s t ]
    Figure DE102021204697A1_0040
    bezeichnet.
  • Mittels linearer quadratischer Verfolgung (LQT für linear quadratic tracking) wird dann eine optimale und glatte Referenztrajektorie 207 ermittelt, die der Sequenz von Komponenten 206 folgt. Dieser Referenztrajektorie 207 ist die Referenz, die der Roboterarm 101 folgen soll. Sie enthält eine Trajektorie für die Posen und ein konsistentes Geschwindigkeits- und Beschleunigungsprofil: Y = [ y t ] ,   Y ˙ = [ y ˙ t ] ,   Y ¨ = [ y ¨ t ] .
    Figure DE102021204697A1_0041
  • Sind nun für jeden Steuerungszeitpunkt t die Größen s t ,   y t ,   y ˙ t ,   y ¨ t
    Figure DE102021204697A1_0042
    bekannt, so eine Impedanzsteuerung 208 gemäß Gleichung (5) durchgeführt, wobei die * für die Komponente s t
    Figure DE102021204697A1_0043
    optimierte Steifheit 205 verwendet wird.
  • Die Steuereinrichtung 106 steuert so den Roboterarm 101 derart, dass er der gewünschten Attraktortrajektorie Y mit der gewünschten Steifheit folgt.
  • Für die Online-Anpassung (d.h. Anpassung währen der Steuerung) werden während der Roboterarm 101 sich gemäß der Steuerung bewegt, Beobachtungen 209 wie die aktuelle Roboterpose oder Kraft-oder Momentmessungen vorgenommen. Diese Beobachtungen können Abweichungen bzw. Fehler bei der Ausübung der Fertigkeit erkenntlich machen, die beispielsweise durch externe Störungen (z.B. stößt der Roboter 101 unerwartet an ein Hindernis) oder Nachverfolgungsfehler verursacht werden können. Es können auf diese Weise auch Änderungen im Szenario wie geänderte Objektposen registriert werden. Im Folgenden wird erläutert, wie die Referenz-Attraktortrajektorie und die zugehörige Steifheit in Anbetracht solcher Echtzeitmessungen angepasst werden kann.
  • Zunächst bewirkt eine Änderung einer Objektpose Änderungen der Aufgabenparameter des Attraktormodells Θy . Bei einer solchen Änderung können also die globalen GMM-Komponenten durch Neuberechnung des Produkts der lokalen GMM-Komponenten wie bei der anfänglichen Synthese aktualisiert werden.
  • Entsprechend ändert sich die Beobachtungswahrscheinlichkeit in (4) und die wahrscheinlichste Sequenz S . Darüber hinaus ist in (4) die Menge der vergangenen Beobachtungen nicht mehr wie bei der anfänglichen Synthese leer. Insbesondere ist, wenn vergangene Beobachtungen der Roboterpose und Kraftmessungen [ξ] = [(xℓ,ƒ)] bis zur Zeit t gegeben sind gemäß Gleichung (6) entsprechende (virtuelle) Beobachtungen für die Attraktortrajektorie gegeben, wobei die Steifheitsmatrix und die Dämpfungsmatrix auf die bei der Impedanzstörung 208 verwendeten Werte gesetzt werden. Diese aus (6) Beobachtungen 210 für die Attraktortrajektorie werden dazu verwendet, eine aktualisierte Emissionswahrscheinlichkeiten für die gesamte Sequenz zu ermitteln, d.h. b ˜ k ( ξ l ) = { N ( y l | μ ^ s l , Σ ^ s l ) , l { 1,2, , t , T } ; 1, l { t + 1, t + 2, , T 1 }
    Figure DE102021204697A1_0044
    wobei y l = x l + K s l ρ ( K l ν x ˙ l + x ¨ l ƒ l )
    Figure DE102021204697A1_0045
    die Beobachtungen für die Attraktortrajektorie sind.
  • Die aktualisierten Emissionswahrscheinlichkeiten werden dann wieder für den modifizierten Viterbi-Algorithmus (nach (4)) verwendet, um eine aktualisierte optimale Sequenz von Modellkomponenten 206 zu ermitteln.
  • Ist nun eine aktualisierte Sequenz von Modellkomponenten gegeben wird gemäß einer Ausführungsform eine Übergangsphase verwendet, um von einer zum Zeitpunkt t beobachteten Pose zur (gemäß der aktualisierten optimalen Sequenz) neu ermittelten zugehörigen Attraktorpose yt zu wechseln, da diese beiden Posen im Laufe der Steuerung stark voneinander abweichen können (während ihr Unterschied am Anfang der Steuerung typischerweise vernachlässigbar ist).
  • In der Übergangsphase startet die aktualisierte Trajektorie Y mit der aktuellen Pose xt, durchläuft den Übergangspunkt yt und folgt dann der aktualisierten optimalen Sequenz von Modellkomponenten 206.
  • Um dies zu erreichen, wird eine künstliche globale Gaußsche Komponente ky eingefügt, deren Mittelwert bei yt liegt und die dieselbe Kovarianz wie die erste Komponente der aktualisierten Sequenz von Modellkomponenten (ab Zeitpunkt t) hat, wobei als aktuelle die Steifheit die Steifheit K t ρ ,
    Figure DE102021204697A1_0046
    verwendet wird. Dieser Komponente wird außerdem eine Dauer dy zugewiesen, die proportional zum Abstand zwischen xt und yt ist. Die Komponente ky wird mit dieser Dauer der aktualisierten Sequenz von Modellkomponenten vorangestellt: s ^ = ( k y k y ) s
    Figure DE102021204697A1_0047
  • Die Steuerung erfolgt dann weiter auf der Grundlage von Ŝ als optimale Sequenz von Modellkomponenten wie oben beschrieben.
  • 3 veranschaulicht eine Online-Anpassung bei einer Änderung der Objektpose von zu pt zum Zeitpunkt t, einer beobachteten externen Kraft ƒt und einer beobachteten Roboterpose xf.
  • Die gestrichelte Linie 301 zeigt die ursprüngliche Trajektorie ab dem Zeitpunkt t (ohne Aktualisierung), das Teilstück 302 die Trajektorie in der Übergangsphase und die Linie ab yt die aktualisierte Trajektorie, mit der das Objekt mit der geänderten Objektpose pt vom Roboter-Endeffektor 104 erreicht wird.
  • Zusammengefasst wird gemäß verschiedenen Ausführungsformen ein Verfahren bereitgestellt, wie in 4 dargestellt.
  • 4 zeigt ein Ablaufdiagramm 400, das ein Verfahren zum Steuern einer Robotervorrichtung gemäß einer Ausführungsform darstellt.
  • In 401 werden Demonstrationen zur Durchführung einer Fertigkeit durch den Roboter bereitgestellt, wobei jede Demonstration für jeden Zeitpunkt einer Sequenz von Zeitpunkten eine Pose einer Komponente der Robotervorrichtung, eine auf die Komponente der Robotervorrichtung wirkenden Kraft sowie eine Pose des durch die Fertigkeit manipulierten Objekts aufweist.
  • In 402 wird zu jeder Demonstration eine Attraktor-Demonstration bereitgestellt durch Ermitteln einer Trainings-Attraktortrajektorie in 403 durch Berechnen, für jeden Zeitpunkt der Sequenz von Zeitpunkten, einer Attraktorpose durch lineare Kombination der Pose für den Zeitpunkt, der Geschwindigkeit der Komponente der Robotervorrichtung zu dem Zeitpunkt, der Beschleunigung der Komponente der Robotervorrichtung und der zu dem Zeitpunkt auf die Komponente der Robotervorrichtung wirkenden Kraft, wobei die Geschwindigkeit mit einer Dämpfungsmatrix und einer inversen Steifigkeitsmatrix und die Beschleunigung und die Kraft mit der inversen Steifigkeitsmatrix gewichtet werden und Ergänzen, in 404, der Attraktortrajektorie zu einer Attraktor-Demonstration durch die Posen des durch die Fertigkeit manipulierten Objekts für jeden Zeitpunkt der Sequenz von Zeitpunkten.
  • In 405 wird ein Aufgaben-parametrisiertes Robotertrajektorienmodells für die Fertigkeit aus den Attraktortrajektorien trainiert.
  • In 406 wird der Roboters gemäß dem Aufgaben-parametrisierten Robotertrajektorienmodell gesteuert.
  • Gemäß verschiedenen Ausführungsformen werden mit anderen Worten Demonstrationen bereitgestellt (z.B. aufgenommen), die jeweils neben einer Trajektorie (d.h. einer Zeitreihe, die eine Pose und gegebenenfalls Geschwindigkeit und Beschleunigung aufweist) auch Kraft- (bzw. Moment-)informationen über die zu den verschiedenen Zeitpunkten der Zeitreihe auf die Robotervorrichtung (z.B. auf ein von einem Roboterarm gehaltenes Objekt) enthalten. Diese Demonstrationen werden dann in Attraktordemonstrationen umgewandelt, die Attraktortrajektorien enthalten, in die die Kraftinformationen codiert sind. Für diese kann dann in üblicher Weise ein Robotertrajektorienmodell gelernt werden und unter Verwendung des gelernten Robotertrajektorienmodell die Robotervorrichtung gesteuert werden.
  • Das Verfahren von 4 kann durch einen oder mehrere Computer mit einer oder mehreren Datenverarbeitungseinheiten durchgeführt werden. Der Begriff „Datenverarbeitungseinheit“ kann als irgendein Typ von Entität verstanden werden, die die Verarbeitung von Daten oder Signalen ermöglicht. Die Daten oder Signale können beispielsweise gemäß mindestens einer (d.h. einer oder mehr als einer) speziellen Funktion behandelt werden, die durch die Datenverarbeitungseinheit durchgeführt wird. Eine Datenverarbeitungseinheit kann eine analoge Schaltung, eine digitale Schaltung, eine Logikschaltung, einen Mikroprozessor, einen Mikrocontroller, eine Zentraleinheit (CPU), eine Graphikverarbeitungseinheit (GPU), einen Digitalsignalprozessor (DSP), eine integrierte Schaltung einer programmierbaren Gatteranordnung (FPGA) oder irgendeine Kombination davon umfassen oder aus dieser ausgebildet sein. Irgendeine andere Weise zum Implementieren der jeweiligen Funktionen, die hierin genauer beschrieben werden, kann auch als Datenverarbeitungseinheit oder Logikschaltungsanordnung verstanden werden. Es können ein oder mehrere der im Einzelnen hier beschriebenen Verfahrensschritte durch eine Datenverarbeitungseinheit durch eine oder mehrere spezielle Funktionen ausgeführt (z. B. implementiert) werden, die durch die Datenverarbeitungseinheit durchgeführt werden.
  • Die Herangehensweise von 4 dient zum Erzeugen eines Steuersignals für eine Robotervorrichtung. Der Begriff „Robotervorrichtung“ kann als sich auf irgendein physikalisches System (mit einem mechanischen Teil, dessen Bewegung gesteuert wird) beziehend verstanden werden, wie z. B. eine computergesteuerte Maschine, ein Fahrzeug, ein Haushaltsgerät, ein Elektrowerkzeug, eine Fertigungsmaschine, einen persönlichen Assistenten oder ein Zugangssteuersystem. Es wird eine Steuerungsvorschrift für das physikalische System gelernt und das physikalische System dann entsprechend gesteuert.
  • Verschiedene Ausführungsformen können Sensorsignale von verschiedenen Sensoren wie z. B. Video, Radar, LiDAR, Ultraschall, Bewegung, Wärmeabbildung, Kräftesensor, Momentsensor usw. empfangen und verwenden, beispielsweise um Sensordaten hinsichtlich Demonstrationen oder Zuständen des Systems (Roboter und Objekt oder Objekte) und Konfigurationen und Szenarios zu erhalten. Die Sensordaten können verarbeitet werden. Dies kann die Klassifikation der Sensordaten oder das Durchführen einer semantischen Segmentierung an den Sensordaten umfassen, beispielsweise um die Anwesenheit von Objekten (in der Umgebung, in der die Sensordaten erhalten wurden) zu detektieren. Ausführungsformen können zum Trainieren eines Maschinenlernsystems und Steuern einer Roboter, z. B. autonom von Robotermanipulatoren, um verschiedene Manipulationsaufgaben unter verschiedenen Szenarios zu erreichen, verwendet werden. Insbesondere sind Ausführungsformen auf die Steuerung und Überwachung der Ausführung von Manipulationsaufgaben anwendbar, z. B. in Montagelinien. Sie können beispielsweise nahtlos mit einer herkömmlichen GUI für einen Steuerprozess integriert werden.
  • Obwohl spezielle Ausführungsformen hier dargestellt und beschrieben wurden, wird vom Fachmann auf dem Gebiet erkannt, dass die speziellen Ausführungsformen, die gezeigt und beschrieben sind, gegen eine Vielfalt von alternativen und/oder äquivalenten Implementierungen ausgetauscht werden können, ohne vom Schutzbereich der vorliegenden Erfindung abzuweichen. Diese Anmeldung soll irgendwelche Anpassungen oder Variationen der speziellen Ausführungsformen abdecken, die hier erörtert sind. Daher ist beabsichtigt, dass diese Erfindung nur durch die Ansprüche und die Äquivalente davon begrenzt ist.

Claims (8)

  1. Verfahren zum Steuern einer Robotervorrichtung, aufweisend: Bereitstellen von Demonstrationen zur Durchführung einer Fertigkeit durch den Roboter, wobei jede Demonstration für jeden Zeitpunkt einer Sequenz von Zeitpunkten eine Pose einer Komponente der Robotervorrichtung, eine auf die Komponente der Robotervorrichtung wirkenden Kraft sowie eine Pose des durch die Fertigkeit manipulierten Objekts aufweist; Ermitteln, zu jeder Demonstration einer Attraktor-Demonstration durch Ermitteln einer Trainings-Attraktortrajektorie durch Berechnen, für jeden Zeitpunkt der Sequenz von Zeitpunkten, einer Attraktorpose durch lineare Kombination der Pose für den Zeitpunkt, der Geschwindigkeit der Komponente der Robotervorrichtung zu dem Zeitpunkt, der Beschleunigung der Komponente der Robotervorrichtung und der zu dem Zeitpunkt auf die Komponente der Robotervorrichtung wirkenden Kraft, wobei die Geschwindigkeit mit einer Dämpfungsmatrix und einer inversen Steifigkeitsmatrix und die Beschleunigung und die Kraft mit der inversen Steifigkeitsmatrix gewichtet werden und Ergänzen der Attraktortrajektorie zu einer Attraktor-Demonstration durch die Posen des durch die Fertigkeit manipulierten Objekts für jeden Zeitpunkt der Sequenz von Zeitpunkten; Trainieren eines Aufgaben-parametrisierten Robotertrajektorienmodells für die Fertigkeit aus den Attraktortrajektorien; und Steuern der Robotervorrichtung gemäß dem Aufgaben-parametrisierten Robotertrajektorienmodell.
  2. Verfahren nach Anspruch 1, wobei das Robotertrajektorienmodell durch die Objektpose Aufgaben-parametrisiert ist.
  3. Verfahren nach Anspruch 1 oder 2, wobei das Robotertrajektorienmodell ein Aufgaben-parametrisiertes Gaußsches Mischmodell ist.
  4. Verfahren nach Anspruch 3, wobei das Steuern aufweist: Ermitteln einer ersten Sequenz von Gaußschen Komponenten zum Maximieren der Wahrscheinlichkeit, dass die Gaußschen Komponenten eine gegebene Anfangskonfiguration und/oder eine gewünschte Endkonfiguration liefern; Steuern der Robotervorrichtung gemäß der ersten Sequenz von Gaußschen Komponenten; Beobachten von bei der Steuerung auftretenden Konfigurationen und, zu mindestens einem Zeitpunkt im Laufe es Steuerns, Anpassen der Sequenz von Gaußschen Komponenten zu einer zweiten Sequenz von Gaußschen Komponenten zum Maximieren der Wahrscheinlichkeit, dass die Gaußschen Komponenten die gegebene Anfangskonfiguration und/oder die gewünschte Endkonfiguration und die beobachteten Konfigurationen liefern; und Steuern der Robotervorrichtung gemäß der zweiten Sequenz von Gaußschen Komponenten.
  5. Verfahren nach Anspruch 4, wobei von dem Steuern gemäß der ersten Sequenz zu einem Steuern zu dem Steuern gemäß der zweiten Sequenz in einer Übergangsphase gewechselt wird, wobei in der Übergangsphase gemäß einer eingefügten Gaußschen Komponenten mit einer Dauer, die proportional ist zu dem Unterschied zwischen der Pose der Robotervorrichtung zu dem Beginn des Wechselns und des Mittelwerts der Gaußschen Komponente der zweiten Sequenz, mit welcher nach dem Wechseln auf das Steuern gemäß der zweiten Sequenz fortgefahren wird, gesteuert wird.
  6. Robotersteuereinrichtung, die dazu konfiguriert ist, das Verfahren nach einem der Ansprüche 1 bis 5 durchzuführen.
  7. Computerprogramm mit Befehlen, die, wenn sie durch einen Prozessor ausgeführt werden, bewirken, dass der Prozessor ein Verfahren nach einem der Ansprüche 1 bis 5 durchführt.
  8. Computerlesbares Medium, das Befehle speichert, die, wenn sie durch einen Prozessor ausgeführt werden, bewirken, dass der Prozessor ein Verfahren nach einem der Ansprüche 1 bis 5 durchführt.
DE102021204697.5A 2021-05-10 2021-05-10 Verfahren zum Steuern einer Robotervorrichtung Active DE102021204697B4 (de)

Priority Applications (3)

Application Number Priority Date Filing Date Title
DE102021204697.5A DE102021204697B4 (de) 2021-05-10 2021-05-10 Verfahren zum Steuern einer Robotervorrichtung
US17/661,045 US20220371194A1 (en) 2021-05-10 2022-04-27 Method for controlling a robotic device
CN202210485932.4A CN115319734A (zh) 2021-05-10 2022-05-06 用于控制机器人设备的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE102021204697.5A DE102021204697B4 (de) 2021-05-10 2021-05-10 Verfahren zum Steuern einer Robotervorrichtung

Publications (2)

Publication Number Publication Date
DE102021204697A1 true DE102021204697A1 (de) 2022-11-10
DE102021204697B4 DE102021204697B4 (de) 2023-06-01

Family

ID=83692065

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102021204697.5A Active DE102021204697B4 (de) 2021-05-10 2021-05-10 Verfahren zum Steuern einer Robotervorrichtung

Country Status (3)

Country Link
US (1) US20220371194A1 (de)
CN (1) CN115319734A (de)
DE (1) DE102021204697B4 (de)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116079748B (zh) * 2023-04-07 2023-07-14 中国科学技术大学 一种基于误差状态概率的离心机柔顺操作系统与方法
CN116985144A (zh) * 2023-09-26 2023-11-03 珞石(北京)科技有限公司 一种具有c2连续的机器人末端姿态规划方法
CN117817674A (zh) * 2024-03-05 2024-04-05 纳博特控制技术(苏州)有限公司 一种机器人自适应阻抗控制方法

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170348854A1 (en) 2015-12-16 2017-12-07 Mbl Limited Robotic manipulation methods and systems for executing a domain-specific application in an instrumented environment with containers and electronic minimanipulation libraries
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
DE102017009471B4 (de) 2016-10-19 2019-09-19 Fanuc Corporation Humankollaboratives Robotersytem mit verbesserter Genauigkeit der Erfassng einer äußeren Kraft durch maschinelles Lernen
DE102019001948A1 (de) 2018-03-26 2019-09-26 Fanuc Corporation Steuerung und maschinelle Lernvorrichtung
US20200384639A1 (en) 2019-06-07 2020-12-10 Robert Bosch Gmbh Robot device controller, robot device arrangement and method for controlling a robot device
DE102019209540A1 (de) 2019-06-28 2020-12-31 Robert Bosch Gmbh Verfahren und Vorrichtung zur optimalen Aufteilung von Testfällen auf unterschiedliche Testplattformen
DE102019216229A1 (de) 2019-10-07 2021-04-08 Robert Bosch Gmbh Vorrichtung und Verfahren zum Steuern einer Robotervorrichtung
DE102019216560A1 (de) 2019-10-28 2021-04-29 Robert Bosch Gmbh Verfahren und Vorrichtung zum Trainieren von Manipulationsfertigkeiten eines Robotersystems
DE102020207085A1 (de) 2020-06-05 2021-12-09 Robert Bosch Gesellschaft mit beschränkter Haftung Verfahren zum steuern eines roboters und robotersteuereinheit
DE102020208169A1 (de) 2020-06-30 2021-12-30 Robert Bosch Gesellschaft mit beschränkter Haftung Verfahren und Vorrichtung zum Betreiben einer Maschine

Patent Citations (10)

* 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
US20170348854A1 (en) 2015-12-16 2017-12-07 Mbl Limited Robotic manipulation methods and systems for executing a domain-specific application in an instrumented environment with containers and electronic minimanipulation libraries
DE102017009471B4 (de) 2016-10-19 2019-09-19 Fanuc Corporation Humankollaboratives Robotersytem mit verbesserter Genauigkeit der Erfassng einer äußeren Kraft durch maschinelles Lernen
DE102019001948A1 (de) 2018-03-26 2019-09-26 Fanuc Corporation Steuerung und maschinelle Lernvorrichtung
US20200384639A1 (en) 2019-06-07 2020-12-10 Robert Bosch Gmbh Robot device controller, robot device arrangement and method for controlling a robot device
DE102019209540A1 (de) 2019-06-28 2020-12-31 Robert Bosch Gmbh Verfahren und Vorrichtung zur optimalen Aufteilung von Testfällen auf unterschiedliche Testplattformen
DE102019216229A1 (de) 2019-10-07 2021-04-08 Robert Bosch Gmbh Vorrichtung und Verfahren zum Steuern einer Robotervorrichtung
DE102019216560A1 (de) 2019-10-28 2021-04-29 Robert Bosch Gmbh Verfahren und Vorrichtung zum Trainieren von Manipulationsfertigkeiten eines Robotersystems
DE102020207085A1 (de) 2020-06-05 2021-12-09 Robert Bosch Gesellschaft mit beschränkter Haftung Verfahren zum steuern eines roboters und robotersteuereinheit
DE102020208169A1 (de) 2020-06-30 2021-12-30 Robert Bosch Gesellschaft mit beschränkter Haftung Verfahren und Vorrichtung zum Betreiben einer Maschine

Also Published As

Publication number Publication date
US20220371194A1 (en) 2022-11-24
CN115319734A (zh) 2022-11-11
DE102021204697B4 (de) 2023-06-01

Similar Documents

Publication Publication Date Title
DE102021204697B4 (de) Verfahren zum Steuern einer Robotervorrichtung
DE102019216229B4 (de) Vorrichtung und Verfahren zum Steuern einer Robotervorrichtung
DE102014108287B4 (de) Schnelles Erlernen durch Nachahmung von Kraftdrehmoment-Aufgaben durch Roboter
DE102013203381B4 (de) Verfahren und system zum trainieren eines roboters unter verwendung einer von menschen unterstützten aufgabendemonstration
DE112019002310T5 (de) Ausführen einer &#34;peg in hole&#34;-aufgabe mit unbekannter neigung
DE102020207085A1 (de) Verfahren zum steuern eines roboters und robotersteuereinheit
DE102019001948A1 (de) Steuerung und maschinelle Lernvorrichtung
DE102020209685B4 (de) Verfahren zum steuern einer robotervorrichtung und robotervorrichtungssteuerung
DE102020214231A1 (de) Verfahren zum steuern einer robotervorrichtung und robotersteuereinrichtung
DE102021204961B4 (de) Verfahren zur Steuerung einer Robotervorrichtung
DE102020212658A1 (de) Vorrichtung und Verfahren zum Steuern einer Robotervorrichtung
DE102020214633A1 (de) Vorrichtung und Verfahren zum Steuern einer Robotervorrichtung
DE102021204846B4 (de) Verfahren zum Steuern einer Robotervorrichtung
DE102020200165B4 (de) Robotersteuereinrichtung und Verfahren zum Steuern eines Roboters
DE102020211648A1 (de) Vorrichtung und Verfahren zum Steuern einer Robotervorrichtung
DE102020210823A1 (de) Maschinen-Steueranordnung
DE102022201116B4 (de) Verfahren zum Steuern einer Robotervorrichtung
DE102022208082B3 (de) Verfahren zum Steuern eines technischen Systems
DE102021209761A1 (de) Verfahren zum Trainieren einer Steuerungsstrategie
DE102022212638B3 (de) Vorrichtung und Verfahren zum Steuern eines Roboters
DE102021211185B4 (de) Vorrichtung und Verfahren zum Steuern eines Roboters
DE102022201116A1 (de) Verfahren zum Steuern einer Robotervorrichtung
DE102021202340A1 (de) Verfahren zum steuern eines roboters zum aufnehmen und inspizieren eines objekts und robotersteuereinrichtung
DE102022202142B3 (de) Vorrichtung und Verfahren zum Trainieren eines maschinellen Lernmodells zum Ableiten eines Bewegungsvektors für einen Roboter aus Bilddaten
Shen et al. Motion planning from demonstrations and polynomial optimization for visual servoing applications

Legal Events

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