DE102021202340A1 - Verfahren zum steuern eines roboters zum aufnehmen und inspizieren eines objekts und robotersteuereinrichtung - Google Patents

Verfahren zum steuern eines roboters zum aufnehmen und inspizieren eines objekts und robotersteuereinrichtung Download PDF

Info

Publication number
DE102021202340A1
DE102021202340A1 DE102021202340.1A DE102021202340A DE102021202340A1 DE 102021202340 A1 DE102021202340 A1 DE 102021202340A1 DE 102021202340 A DE102021202340 A DE 102021202340A DE 102021202340 A1 DE102021202340 A1 DE 102021202340A1
Authority
DE
Germany
Prior art keywords
skill
robot
trajectory model
picking
model
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
DE102021202340.1A
Other languages
English (en)
Inventor
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 DE102021202340.1A priority Critical patent/DE102021202340A1/de
Publication of DE102021202340A1 publication Critical patent/DE102021202340A1/de
Pending legal-status Critical Current

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators
    • B25J9/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
    • 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/40116Learn by operator observation, symbiosis, show, watch
    • 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
    • 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/45Nc applications
    • G05B2219/45066Inspection robot

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Manipulator (AREA)

Abstract

Gemäß verschiedenen Ausführungsformen wird ein Verfahren zum Steuern eines Roboters beschrieben, aufweisend Bereitstellen von Demonstrationen zum Durchführen einer Aufnehmfertigkeit, einer Inspektionsfähigkeit, einer Umorientierungsfertigkeit und einer Verschiebefertigkeit zum Verschieben von Objekten, die sich in dem durch eine Wand begrenzten Bereich befinden, Trainieren jeweiliger Robotertrajektorienmodelle; Steuern des Roboters gemäß dem Robotertrajektorienmodell für die Verschiebefertigkeit, falls sich das Objekt derart an der Wand befindet, dass es nicht mittels der Aufnehmfertigkeit aufgenommen werden kann oder falls das Objekt eine Orientierung hat, sodass es nicht mittels der Inspektionsfähigkeit inspiziert werden kann und sich derart an der Wand befindet, dass es nicht mittels der Umorientierungsfertigkeit umorientiert werden kann, Steuern des Roboters gemäß dem Robotertrajektorienmodell für die Umorientierungsfertigkeit, falls das Objekt eine Orientierung hat, sodass es, nachdem es aufgenommen wurde, nicht mittels der Inspektionsfähigkeit inspiziert werden kann und Steuern des Roboters gemäß dem Robotertrajektorienmodell für die Aufnehmfertigkeit und gemäß dem Robotertrajektorienmodell für die Inspektionsfertigkeit.

Description

  • Die vorliegende Offenbarung bezieht sich auf Verfahren zum Steuern eines Roboters zum Aufnehmen und Inspizieren eines Objekts und Robotersteuereinrichtungen.
  • Das Aufnehmen eines Objekts aus einem nach oben geöffneten Behälter, d.h. einem durch eine Wand begrenzten Bereich, wie einer Kiste oder einer Schachtel ist eine häufige Aufgabe für einen Roboterarm in der Industrie, z.B. an einem Fließband. Dazu können für den Roboterarm Trajektorien über definierte Wegpunkte fest kodiert werden. Es gibt dabei jedoch Spezialfälle, die schwer zu bewältigen sind. Dies ist beispielsweise, dass das Objekt sich nahe an der Wand (z.B. Wand des Behälters) befindet, denn dies führt in der Regel zu einer Kollision des Roboterarms mit der Wand. Wenn das Objekt sich in einer Ecke eines Behälters befindet, kann der Roboterarm es typischerweise nicht richtig greifen. In diesem Fall ist dann ein menschlicher Benutzer erforderlich, um die Objekte aus den Ecken zu entfernen, z. B. um sie in die Mitte des Behälters zu bringen. Ein Objekt kann auch auf der falschen Seite liegen. Typischerweise muss ein Objekt nämlich inspiziert werden (um sicherzustellen, dass das Objekt das richtige Objekt ist oder auch, um es zu registrieren bzw. geeignet einzuordnen) und ein dafür vorgesehener Produkt-Barcode kann sich auf der Oberseite befinden, so dass er verdeckt ist, wenn der Roboterarm es einfach aufnimmt. In diesem Fall können beispielsweise Produktinformationen nicht abgerufen werden und somit kann der Roboter das Objekt nicht für eine weitere Verarbeitung nehmen, sondern muss es beispielsweise in der Kiste lassen.
  • Es sind Herangehensweisen zur Steuerung eines Roboters wünschenswert, die das Aufnehmen und Inspizieren eines Objekts auch für solche Spezialfälle ermöglichen. Für solche Fertigkeiten können Robotertrajektorienmodelle trainiert werden. Beispielsweise ist in L. Schwenkel, M. Guo, und M. Bürger, „Optimizing sequences of probabilistic manipulation skills learned from demonstration,“ in Conference on Robot Learning, 2019, (die im Folgenden als Referenz [1] bezeichnet wird), ein Verfahren beschrieben, wobei jede Bewegungsfertigkeit unabhängig unter verschiedenen Szenarios trainiert wird und nicht an irgendeine spezielle Aufgabe gebunden ist.
  • Gemäß verschiedenen Ausführungsformen wird ein Verfahren zum Steuern eines Roboters bereitgestellt, aufweisend Bereitstellen von Demonstrationen zum Durchführen einer Aufnehmfertigkeit zum Aufnehmen von Objekten aus einem durch eine Wand begrenzten Bereich, einer Inspektionsfähigkeit zum Inspizieren von aufgenommenen Objekten, einer Umorientierungsfertigkeit zum Ändern der Orientierung von Objekten, die sich in dem durch eine Wand begrenzten Bereich befinden und einer Verschiebefertigkeit zum Verschieben von Objekten, die sich in dem durch eine Wand begrenzten Bereich befinden, Trainieren eines jeweiligen Robotertrajektorienmodells aus den jeweiligen Demonstrationen für die Aufnehmfertigkeit, die Inspektionsfertigkeit, die Umorientierungsfertigkeit und die Verschiebefertigkeit, Steuern des Roboters gemäß dem Robotertrajektorienmodell für die Verschiebefertigkeit, falls sich das Objekt derart an der Wand befindet, dass es nicht mittels der Aufnehmfertigkeit aufgenommen werden kann oder falls das Objekt eine Orientierung hat, sodass es, nachdem es aufgenommen wurde, nicht mittels der Inspektionsfähigkeit inspiziert werden kann und sich derart an der Wand befindet, dass es nicht mittels der Umorientierungsfertigkeit umorientiert werden kann, Steuern des Roboters gemäß dem Robotertrajektorienmodell für die Umorientierungsfertigkeit, falls das Objekt eine Orientierung hat, sodass es, nachdem es aufgenommen wurde, nicht mittels der Inspektionsfähigkeit inspiziert werden kann und Steuern des Roboters gemäß dem Robotertrajektorienmodell für die Aufnehmfertigkeit und gemäß dem Robotertrajektorienmodell für die Inspektionsfertigkeit.
  • Das oben beschriebene Verfahren zum Steuern eines Roboters ermöglicht das Aufnehmen und Inspizieren eines Objekts ohne Hilfe durch einen menschlichen Benutzer auch dann, wenn das Objekt an der Wand oder in der Ecke des Bereichs (z.B. am Rand oder in der Ecke in einer Kiste) liegt. Es wird auch vermieden, dass Objekte in der Kiste verbleiben müssen, weil sie auf einer Seite liegen, sodass sie nicht inspiziert werden könne (z.B. Barcode nach oben, sodass dieser nach dem Greifen durch den Greifer verdeckt wird).
  • Durch das oben beschriebene Verfahren ist es nicht erforderlich, die genannten vier Fertigkeiten explizit zu programmieren. Ein menschlicher Benutzer kann mit wenigen Demonstrationen die gewünschte Trajektorie für jede Fertigkeit demonstrieren und so dem Roboter die Fertigkeit beibringen. Die Fertigkeitenmodelle (Trajektorienmodelle), die der Roboter dabei lernt, versetzen in ihn die Lage, sich an verschiedene Konfigurationen (z.B. Objektposen) anzupassen. Die Kombination der genannten vier Fertigkeiten ermöglichen es, die Spezialfälle (Objekt an der Wand, Objekt in der Ecke, Objekt hat ungünstige Orientierung) umzugehen und insbesondere den durch eine Wand begrenzten Bereich, z.B. eine Kiste, leerzuräumen. Des Weiteren ist kein explizites Modell des Arbeitsbereichs des Roboters erforderlich.
  • Im Folgenden werden verschiedene Ausführungsbeispiele gegeben.
  • Ausführungsbeispiel 1 ist ein Verfahren zum Steuern eines Roboters, wie oben beschrieben.
  • Ausführungsbeispiel 2 ist Verfahren nach Ausführungsbeispiel 1, aufweisend Erzeugen eines zusammengesetzten Robotertrajektorienmodells durch Kaskadieren des Robotertrajektorienmodells für die Aufnehmfertigkeit und die Inspektionsfertigkeit zu einem Aufnehm- und Inspektionsrobotertrajektorienmodell und Kombinieren des Aufnehm- und Inspektionsrobotertrajektorienmodells, des Robotertrajektorienmodells für die Umorientierungsfertigkeit und Robotertrajektorienmodells für die Verschiebefertigkeit und Steuern des Roboters gemäß dem zusammengesetzten Robotertrajektorienmodell.
  • Das zusammengesetzte Robotertrajektorienmodell ermöglicht eine automatische Auswahl aus den Bewegungsfertigkeiten je nach aktueller Konfiguration (insbesondere je nach Pose des Objekts). Die Objektpose kann beispielsweise mittels einer Kamera ermittelt werden.
  • Ausführungsbeispiel 3 ist das Verfahren nach einem der Ausführungsbeispiele 1 oder 2, wobei das Inspizieren das Auslesen eines Barcodes aufweist, der sich auf dem Objekt befindet und der Roboter gemäß dem Robotertrajektorienmodell für die Umorientierungsfertigkeit gesteuert wird, falls sich das Objekt derart in dem Bereich befindet, dass der Barcode nach oben gerichtet ist.
  • Für den Fall, dass ein Greifer oder eine Ansaugdüse zum Aufnehmen des Objekts verwendet wird, kann so vermieden werden, dass der Barcode nach dem Aufnehmen derart verdeckt ist, dass er nicht gescannt werden kann.
  • Ausführungsbeispiel 4 ist das Verfahren nach einem der Ausführungsbeispiele 1 bis 3, aufweisend Trainieren der Verschiebefertigkeit derart, dass das Objekt nach Anwenden der Verschiebefertigkeit mittels der Umorientierungsfertigkeit umorientiert werden kann und mittels der Aufnehmfertigkeit aufgenommen werden kann.
  • Damit ist sichergestellt, dass es ausreicht, die Verschiebefertigkeit einmal anzuwenden. Insbesondere ist es nicht erforderlich, unterschiedliche Verschiebefertigkeiten zu trainieren und einzusetzen abhängig davon, um das Objekt zum Inspizieren geeignet orientiert ist.
  • Ausführungsbeispiel 5 ist eine Robotersteuereinrichtung, die dazu konfiguriert ist, das Verfahren nach einem der Ausführungsbeispiele 1 bis 4 durchzuführen.
  • Ausführungsbeispiel 6 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 4 durchführt.
  • Ausführungsbeispiel 7 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 4 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 einen Roboter.
    • 2 veranschaulicht eine Aufnehmfertigkeit.
    • 3 veranschaulicht eine Verschiebefertigkeit.
    • 4 veranschaulicht eine Umorientierungsfertigkeit.
    • 5 veranschaulicht eine Inspektionsfertigkeit.
    • 6 zeigt einen Ablaufplan für eine von einem Roboter durchzuführende Aufgabe.
    • 7 bis 9 zeigen die resultierenden Abläufe für verschiedene einer Anfangskonfigurationen.
    • 10 zeigt ein Ablaufdiagramm, das ein Verfahren zum Steuern eines Roboters gemäß einer Ausführungsform darstellt.
    • 11 veranschaulicht eine Kaskadierungsoperation zum Kaskadieren von Robotertrajektorienmodellen von Bewegungsfertigkeiten, die in einer Sequenz ausgeführt werden sollen, zu einem zusammengesetzten Robotertrajektorienmodell.
    • 12 veranschaulicht eine Kombinationsoperation zum Kombinieren von Robotertrajektorienmodellen von Bewegungsfertigkeiten, die in Zweigen (d.h. alternativ) ausgeführt werden sollen, zu einem zusammengesetzten Robotertrajektorienmodell.
    • 13 zeigt ein Ablaufdiagramm, das ein Verfahren zum Steuern eines Roboters gemäß einer Ausführungsform darstellt.
  • 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.
  • Des Roboters 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 des Roboters 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 elektrische Energie in mechanische Energie in Reaktion 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 einen 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. Des Roboters 100 soll beispielsweise ein Objekt 113 aufnehmen. Beispielsweise ist der Endeffektor 104 ein Greifer und soll das Objekt 113 aufnehmen, aber der Endeffektor 104 kann auch beispielsweise eingerichtet sein, das Objekt 113 zum Aufnehmen anzusaugen.
  • Das Objekt 113 befindet sich in einer Kiste oder in einem Karton, allgemein in einem durch eine Wand begrenzten Bereich 114.
  • Das Aufnehmen des Objekts 113 ist typischerweise dann schwierig, wenn sich das Objekt nahe an der Wand oder sogar an einer Stelle befindet, wo die Wand eine Ecke bildet, z.B. in einer Ecke eines Behälters. Liegt das Objekt 113 nahe an einer Wand, kann der Endeffektor 104 das Objekt nicht aus beliebigen Richtungen aufnehmen.
  • Das Objekt 113 kann auch ungünstig orientiert sein, d.h. auf einer falschen Seite liegen. Weist das Objekt beispielsweise einen Barcode 115 auf, um es identifizieren zu können (z.B. um sicherzustellen, dass das Objekt das richtige Objekt ist oder auch, um es zu registrieren bzw. geeignet einzuordnen oder zu platzieren), so kann dieser nach oben zeigen, sodass, wenn der Roboterarm 101 das Objekt von oben nimmt oder ansaugt, dieser verdeckt ist, und somit nicht von dem Roboterarm 101 vor eine Kamera (bzw. Barcode-Scanner) 116 gehalten werden kann, um den Barcode 115 zu lesen.
  • Gemäß verschiedenen Ausführungsformen wird ein Lernen aus Demonstrationen angewendet, damit die Steuereinrichtung 106 in die Lage versetzt wird, mit solchen Situationen umzugehen (Objekt liegt in der Ecke oder an der Wand oder hat eine ungünstige Orientierung).
  • Zu jedem Zeitpunkt hat das Gesamtsystem aus Roboterarm 101 und zu Objekt 113 (oder auch weiteren Objekten) in einem bestimmten Zustand, hinsichtlich Position, Orientierung, Endeffektorzustand (Greifer offen/geschlossen) etc. Dieser Zustand des Systems, Roboters oder eines Objekts wird im Folgenden als (System/Roboter/Objekt-)konfiguration bezeichnet, um Verwechslungen mit den Zuständen des statistischen Modells, die bei der Steuerung durchlaufen werden, zu vermeiden.
  • Für einen Roboter 100 kann Lernen aus Demonstrationen (Learning from Demonstrations LID) verwendet werden, um dem Roboter 100 beizubringen, eine Aufgabe auszuführen. Menschliche Demonstrationen können durch ein probabilistisches Modell 112 (auch als statistisches 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 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 DE102021202340A1_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 Bezugsrahmen p durch ξ t ( p ) = A ( p ) 1 ( ξ t b ( p ) )
    Figure DE102021202340A1_0002
    zu transformieren. Hier ist { ( b ( p ) , A ( p ) ) } p = 1 P
    Figure DE102021202340A1_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 durch die Modellparameter { π k , { μ k ( p ) , Σ k ( p ) } p = 1 P } k = 1 K
    Figure DE102021202340A1_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 DE102021202340A1_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 DE102021202340A1_0006
    wird das gelernte TP-GMM in ein einzelnes GMM mit Parametern { π k , ( μ ^ k , Σ ^ k ) } k = 1 K
    Figure DE102021202340A1_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 DE102021202340A1_0008
    wobei die Parameter der aktualisierten Gauß-Glocke an jedem Bezugsrahmen p berechnet werden als μ ^ k ( p ) = A ( p ) μ k ( p ) + b ( p )  und  Σ ^ k ( p ) = A ( p ) Σ k ( p ) A ( p ) T .
    Figure DE102021202340A1_0009
    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 DE102021202340A1_0010
    wobei ahk die Übergangswahrscheinlichkeit vom Zustand h zu k ist; ( μ k D , σ k D )
    Figure DE102021202340A1_0011
    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 DE102021202340A1_0012
    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 DE102021202340A1_0013
    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 DE102021202340A1_0014
    gegeben: α t ( k ) = τ = 1 t 1 h = 1 K α t τ ( h ) a hk N ( τ | μ k D , σ k D ) o τ t ,
    Figure DE102021202340A1_0015
    wobei o τ t = l = t τ + 1 t N ( ξ l | μ ^ k , Σ ^ k )
    Figure DE102021202340A1_0016
    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 DE102021202340A1_0017
    durch Wählen von s t = argmax k α t ( k ) ,   1 t T m
    Figure DE102021202340A1_0018
    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 DE102021202340A1_0019
    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 (2) 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 ξ1 und ξT ist. Folglich besteht, wenn (2) verwendet wird, keine Garantie, dass die zurückgegebene Sequenz s T
    Figure DE102021202340A1_0020
    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.
  • Um dieses Problem zu lösen, wird gemäß einer Ausführungsform 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 einem gegebenen Strom von beobachteten Ereignissen führen. Gemäß einer Ausführungsform wird ein Verfahren verwendet, die sich von jener in zwei Hauptaspekten unterscheidet: (a) sie arbeitet an HSMM anstelle von 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 DE102021202340A1_0021
    wobei p j ( d ) = N ( d | μ j D , σ j D )
    Figure DE102021202340A1_0022
    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 DE102021202340A1_0023
    wobei (µ̂j, Σ̂j) die globale Gauß-Komponente j in Θa von (1) in Anbetracht von ξ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 DE102021202340A1_0024
    zu finden. Mit anderen Worten leitet der obige Algorithmus die wahrscheinlichste Sequenz s T
    Figure DE102021202340A1_0025
    für die Bewegungsfertigkeit a, die die Endbeobachtung ξT ergibt, ausgehend von ξ1 ab.
  • Für die folgenden Erläuterungen wird ein Roboterarm 101 mit mehreren Freiheitsgraden als Beispiel betrachtet, dessen Endeffektor 104 einen Zustand xe ∈ ℝ3 × S3 × ℝ1 aufweist (der die kartesische Position, das Orientierungsquaternion und die Greiferkonfiguration beschreibt), der innerhalb eines statischen und bekannten Arbeitsraums arbeitet. Innerhalb der Reichweite des Arms 101 gibt es auch interessierende Objekte, die mit O = {o1, o2,..., oJ} bezeichnet sind, von denen jedes eine Konfiguration xoj ∈ ℝ3 × S3 aufweist. Der Einfachheit halber wird die gesamte Systemkonfiguration mit x = {xe, {xoj ∀oj ∈ O}} bezeichnet
  • In solch einem Szenario führt ein menschlicher Benutzer mehrere kinästhetische Demonstrationen an dem Arm durch, um ein Objekt gemäß folgender Bewegungsfertigkeiten zu manipulieren:
    • • Eine Aufnehmfertigkeit, um das Objekt an unterschiedlichen Positionen in dem Bereich 114 (insbesondere nah an der Wand) aufzunehmen.
    • • Eine Verschiebefertigkeit, die es insbesondere ermöglicht, das Objekt von der Wand oder aus einer Ecke weg zu verschieben. Dies kann auch ein Verschieben (durch Anschieben) des Objekts aus einer Ecke entlang der Wand aufweisen.
    • • Eine Umorientierungsfertigkeit, die beinhaltet, dass des Roboters das Objekt aufnimmt, seine Orientierung ändert (z.B. es umdreht) und es wieder fallen lässt, sodass es sich dann mit einer anderen Orientierung in dem Bereich 105 befindet (z.B. sodass es auf eine andere Seite fällt). Die Umorientierungsfertigkeit kann alternativ auch nur ein Umorientieren eines bereits aufgenommenen Objekts beinhalten (und nicht auch das Aufnehmen).
    • • Eine Inspektionsfähigkeit, die dazu dient, ein das Objekt 113, nachdem es aufgenommen wurde, der Kamera 116 zu zeigen, sodass sie beispielsweise den Barcode 115 erfassen kann.
  • 2 veranschaulicht eine Aufnehmfertigkeit.
  • Bei der Aufnehmfertigkeit greift der Roboterarm (z.B. Roboterarm 101) mit seinem Endeffektor 201 ein Objekt 203 in einem durch eine Wand 203 begrenzten Bereich 204.
  • 3 veranschaulicht eine Verschiebefertigkeit.
  • Bei der Verschiebefertigkeit zieht oder schiebt der Roboterarm (z.B. Roboterarm 101) mit seinem Endeffektor 301 ein Objekt 303 aus einer Ecke eines durch einen Wand 303 begrenzten Bereichs 304 in die Mitte des Bereichs 304 oder, wenn dies ausreicht, entlang der Wand aus der Ecke.
  • 4 veranschaulicht eine Umorientierungsfertigkeit.
  • Bei der Umorientierungsfertigkeit greift der Roboterarm (z.B. Roboterarm 101) mit seinem Endeffektor 201 ein Objekt 203 in einem durch eine Wand 203 begrenzten Bereich 204, ändert seine Orientierung und platziert es wieder in dem Bereich 204.
  • 5 veranschaulicht eine Inspektionsfertigkeit.
  • Bei der Inspektionsfertigkeit nimmt der Roboterarm (z.B. Roboterarm 101) mit seinem Endeffektor 201 ein Objekt 203 in einem durch eine Wand 203 begrenzten Bereich 204 auf (entsprechend der Aufnehmfertigkeit), hält es dann vor eine Kamera 205. Sie kann gefolgt werden von einer Platzierungsfertigkeit, bei der des Roboters das Objekt 203 je nach Resultat der Inspektion wieder in dem Bereich 204 oder in einem anderen Bereich platziert. Die Platzierungsfertigkeit kann aber auch Teil der Inspektionsfertigkeit sein.
  • Es sollte beachtet werden, dass statt eines Greifens, wie in 2 angedeutet, das Objekt 203, 303, 403, 503 auch angesaugt werden kann, wie es in den 3 bis 5 durch den schmaleren Endeffektor angedeutet ist.
  • Der Satz von demonstrierten Bewegungsfertigkeiten wird mit A = {a1,a2,...,aH} bezeichnet. Überdies ist für die Bewegungsfertigkeit a ∈ A der Satz von Objekten, die beteiligt sind, durch Oa gegeben und der Satz von verfügbaren Demonstrationen wird mit Da bezeichnet. Es sollte beachtet werden, dass alle Demonstrationen der auf Objekte fixierten Struktur folgen, die vorstehend eingeführt wurde, d.h. sie werden für mehrere Bezugsrahmen (d.h. aus Sicht mehrerer Bezugsrahmen) aufgezeichnet, die normalerweise den Objekten in Oa zugeordnet sind, die häufig die Objektlage im Arbeitsraum darstellen. In dem Fall, dass die Position und Orientierung des Bereichs 114 nicht fest sind, beinhalten beispielsweise die Objekte das Objekt 113 und auch den Bereich 114 und die zugehörigen Demonstrationen werden aus den Bezugsrahmen des Roboterarms 101, des Objekts 113 und des Bereichs 114 aufgezeichnet. Die Menge Oa kann noch mehr Elemente aufweisen, z.B. für den Fall, dass sich in dem Bereich 114 mehrere Objekte befinden, die für die Fertigkeit relevant sind. Auch die Kamera 116 kann ähnlich wie der Bereich 114 Teil der Menge Oa sein.
  • Die (Manipulations-) Aufgabe, die im Folgenden betrachtet wird, besteht aus einer Sequenz von Bewegungsfertigkeiten a*, die aus den demonstrierten Bewegungsfertigkeiten A ausgewählt sind. Die Aufgabe beinhaltet beispielsweise das Aufnehmen und Inspizieren des Objekts, wofür je nach Konfiguration auch ein Verschieben und Umorientieren erforderlich sein können. Am Ende der Aufgabe ist eine Zielkonfiguration G als gewünschte Endkonfiguration des Systems erreicht, einschließlich des Roboters und der Objekte.
  • 6 zeigt einen Ablaufplan 600 für die obige Aufgabe.
  • Der Ablaufplan 600 enthält einen Anfangszustand 601 und einen Endzustand und die oben genannten Bewegungsfertigkeiten Aufnehmen 603, Verschieben 604, Umorientieren 605, Inspizieren 606 und Platzieren 607 (was aber auch Teil der Inspektionsfähigkeit sein kann).
  • Es wird für dieses Beispiel angenommen, dass die zum Inspizieren ein Barcode auf dem Objekt gescannt wird und dass das Aufnehmen von oben erfolgt. Deshalb darf der Barcode nicht nach oben zeigen.
  • Der Ablaufplan 600 weist Verzweigungen auf. Dies bedeutet, dass der Ablaufplan mehrere Sequenzen von durchzuführenden Bewegungsfertigkeiten angibt, die sich aus den verschiedenen Verzweigungen (und damit daraus, welche Verzweigungsbedingungen die jeweilige Steuerungssituation erfüllt) ergeben.
  • Im Nominalfall befindet sich das Objekt in der Nähe der Mitte des Bereichs 114 und weist einen Barcode auf, der sich nicht an der nach oben gerichteten Oberfläche befindet. In diesem Fall ist die Folge von Bewegungsfertigkeit mit zugehörigen Parametern wie folgt:
    • Nimm Objekt auf (Parameter: Objektpose), Scanne den Barcode (Parameter: Kameraort), Platziere Objekt (Parameter: Platzierungsort).
  • Dieser Ablauf ist in 6 durch die dickeren Pfeile angedeutet.
  • Für den Fall, dass sich das Objekt 113 nah an der Wand befindet (und der Barcode sich nicht an der oberen Oberfläche befindet) ist der Ablauf derselbe wie im Nominalfall, aber eine andere Trajektorie für den Roboterarm 101 wird verwendet (insbesondere eine spezielle Greiferorientierung). Dies erfolgt automatisch durch das für die Aufnehmfertigkeit gelernte Robotertrajektorienmodell.
  • 7 zeigt den Ablaufplan von 6 für die obige Aufgabe, wobei der resultierende Ablauf angedeutet ist, wenn sich das Objekt 113 in einer Ecke befindet und sich der Barcode nicht an der oberen Oberfläche befindet.
  • In diesem Fall ist die Folge von Bewegungsfertigkeit mit zugehörigen Parametern wie folgt: Verschiebe Objekt aus der Ecke in die Mitte des Bereichs (Parameter: Objektpose, Mitte des Bereichs), Nimm Objekt auf (Parameter: Objektpose), Scanne den Barcode (Parameter: Kameraort), Platziere Objekt (Parameter: Platzierungsort).
  • 8 zeigt den Ablaufplan von 6 für die obige Aufgabe, wobei der resultierende Ablauf angedeutet ist, wenn sich das Objekt 113 in der Nähe der Mitte des Bereichs befindet, aber sich der Barcode an der oberen Oberfläche befindet. In diesem Fall ist im Vergleich zum Nominalfall eine Umorientierung erforderlich.
  • In diesem Fall ist die Folge von Bewegungsfertigkeit mit zugehörigen Parametern wie folgt: Umorientieren des Objekts (Parameter: Objektpose), Nimm Objekt auf (Parameter: Objektpose), Scanne den Barcode (Parameter: Kameraort), Platziere Objekt (Parameter: Platzierungsort).
  • 9 zeigt den Ablaufplan von 6 für die obige Aufgabe, wobei der resultierende Ablauf angedeutet ist, wenn sich das Objekt 113 in der Nähe der Mitte des Bereichs befindet und sich der Barcode an der oberen Oberfläche befindet. In diesem Fall ist im Vergleich zum Fall von 7 eine Umorientierung erforderlich.
  • In diesem Fall ist die Folge von Bewegungsfertigkeit mit zugehörigen Parametern wie folgt: Verschiebe Objekt aus der Ecke in die Mitte des Bereichs (Parameter: Objektpose, Mitte des Bereichs), Umorientieren des Objekts (Parameter: Objektpose), Nimm Objekt auf (Parameter: Objektpose), Scanne den Barcode (Parameter: Kameraort), Platziere Objekt (Parameter: Platzierungsort).
  • 10 zeigt ein Ablaufdiagramm, das ein Verfahren zum Steuern eines Roboters gemäß einer Ausführungsform darstellt.
  • Bei 1001 werden Demonstrationen von den oben beschriebenen Bewegungsfertigkeiten durchgeführt.
  • Die Bewegungsfertigkeiten umfassen zumindest diejenigen Bewegungsfertigkeiten, die für die Ausführung einer Aufgabe erforderlich sind, die durch einen Ablaufplan 1003 gegeben ist, der dem Ablaufplan 600 entspricht.
  • Für eine demonstrierte Bewegungsfertigkeit a ∈ A, wie vorstehend beschrieben, ist der Satz von verfügbaren Demonstrationen gegeben durch D a = { ξ t } t = 1 N ,
    Figure DE102021202340A1_0026
    die in P Bezugsrahmen aufgezeichnet sind. Es sollte beachtet werden, dass solche Bezugsrahmen direkt an die Objekte in Oa gebunden sind.
  • Bei 1002 wird ein Robotertrajektorienmodell (auch als „Roboterverhaltensmodell“ bezeichnet) für jede Bewegungsfertigkeit gelernt.
  • Wie vorstehend beschrieben, kann beispielsweise in Anbetracht einer korrekt gewählten Anzahl von Komponenten K das TP-HSMM-Modell Θa, das die räumlich-zeitlichen Merkmale von Trajektorien in Bezug auf eine Bewegungsfertigkeit a abstrahiert, unter Verwendung eines Algorithmus nach Art von EM (Erwartung-Maximierung) gelernt werden. Dies ermöglicht es der Steuereinrichtung 106, für ein neues Szenario (z.B. eine neue Anfangskonfiguration) einen Trajektorie zu erzeugen, die ähnlich den Demonstrationen aber an das neue Szenario angepasst ist.
  • In 1004 wird ein zusammengesetztes Robotertrajektorienmodell aus den in 1002 gelernten Robotertrajektorienmodellen erzeugt.
  • Um aus den Trajektorienmodellen der verschiedenen Bewegungsfertigkeiten ein zusammengesetztes Robotertrajektorienmodell erzeugen zu können, umfasst das Lernen für jede Bewegungsfertigkeit neben dem Lernen des Trajektorienmodells ferner das Lernen eines Vorbedingungsmodells, eines Endbedingung- und eines Effektmodells. Unter Verwendung dieser Modelle wird ein zusammengesetztes Robotertrajektorienmodell 1005 der durch den Ablaufplan 1003 festgelegten Aufgabe konstruiert. Anschaulich gesprochen kapselt das Vorbedingungsmodell, wie das System vor dem Ausführen der Bewegungsfertigkeit sein sollte, während das Effektmodell und das Endbedingungsmodell kapseln, wie das System nach dem Ausführen der Bewegungsfertigkeit verändert sein sollte. Diese Modelle sind ein wichtiger Teil zum Berechnen des zusammengesetzten Robotertrajektorienmodells, da sie die Kompatibilität zwischen Bewegungsfertigkeiten messen und die Entwicklung der Systemkonfiguration (d.h. der Konfiguration des Roboters und beteiligter Objekte) verfolgen. Es sollte beachtet werden, dass der Begriff „Bewegungsfertigkeitsmodell“ so verstanden werden kann, dass es das Robotertrajektorienmodell, das Vorbedingungsmodell, das Endbedingungsmodell und das Effektmodells für die jeweilige Bewegungsfertigkeit aufweist.
  • Wie mit Bezug auf 6 beschrieben, weist die Aufgabe die Ausführung von Bewegungsfertigkeiten in Zweigen (d.h. als Alternativen) und in einer Sequenz auf.
  • Folglich umfasst die Erzeugung des zusammengesetzten Modells die rekursive Anwendung von Kombinationsoperationen zum Kombinieren von Bewegungsfertigkeiten in der Sequenz und einer Operation zum parallelen Kombinieren der Bewegungsfertigkeiten.
  • 11 stellt eine Kaskadierungsoperation zum Kaskadieren von Robotertrajektorienmodellen von Bewegungsfertigkeiten 1101, 1102, 1103, die in einer Sequenz ausgeführt werden sollen, zu einem zusammengesetzten Robotertrajektorienmodell 1104 dar.
  • 12 stellt eine Kombinationsoperation zum Kombinieren von Robotertrajektorienmodellen von Bewegungsfertigkeiten 1201, 1202, 1203, 1204, die in Zweigen (d.h. alternativ) ausgeführt werden sollen, zu einem zusammengesetzten Robotertrajektorienmodell 1205 dar.
  • Die Kombinationsoperation zum Kaskadieren einer Sequenz von Bewegungsfertigkeiten, wie in 11 dargestellt, umfasst eine oder mehrere Anwendungen einer Operation zum Kaskadieren von zwei Bewegungsfertigkeiten, die in einer Sequenz ausgeführt werden sollen. Ebenso umfasst eine Kombinationsoperation zum Kombinieren einer Sequenz von Bewegungsfertigkeiten, wie in 12 dargestellt, eine oder mehrere Anwendungen einer Operation zum Kombinieren von zwei Bewegungsfertigkeiten, die in Zweigen ausgeführt werden sollen.
  • Für die Kombination von zwei Bewegungsfertigkeiten, die in einer Sequenz ausgeführt werden sollen, werden die Trajektorienmodelle der zwei Bewegungsfertigkeiten folgendermaßen zu einem zusammengesetzten Trajektorienmodell kaskadiert.
  • In Anbetracht von zwei TP-HSMMs Θa1 und Θa2 von zwei Bewegungsfertigkeiten in einer Sequenz ist die Operation zum Kaskadieren derselben zu Θ̂ im Algorithmus 1 zusammengefasst.
    Figure DE102021202340A1_0027
  • Es sollte beachtet werden, dass die Berechnung und die Aktualisierung der Zeilen 3 und 4 des Algorithmus 1 gemäß den Gleichungen (4) bzw. (5) durchgeführt werden können, die nachstehend gegeben sind.
  • Eine Schlüsselerkenntnis kann darin gesehen werden, dass dasselbe Modell Θa2 in Abhängigkeit von der Endkomponente (d.h. HSMM-Zustand) von Θa1 , mit der Θa2 kaskadiert wird, unterschiedlich aktualisiert wird. Dies liegt daran, dass jede Endkomponente unterschiedliche Transformationen der Aufgabenparameter von Θa1 nach dem Ausführen von a1 codiert, was wiederum zu verschiedenen Weisen führt, die Komponenten in Θa2 zu aktualisieren. Folglich weist das zusammengesetzte Modell Θ̂ die Größe K1 + K1,ƒ · K2 auf, wobei K1 und K2 die Anzahl von Komponenten von Θa1 bzw. Θa2 sind, während K1,ƒ die Anzahl von Endkomponenten in Θa1 ist. Insbesondere besteht der Algorithmus 2 aus zwei Hauptoperationen: (a) Berechnen der Übergangswahrscheinlichkeit von jeder Endkomponente in Θa1 zu jeder anfänglichen Komponente in Θa2 ; (b) Modifizieren aller Komponenten von Θa2 für jede Endkomponente in Θa1 , mit der Θa2 kaskadiert wird.
  • Gemäß einer Ausführungsform werden ein Vorbedingungsmodell und ein Effektmodell, wie in Referenz [1] beschrieben, verwendet. Insbesondere enthält das gelernte Vorbedingungsmodell, das mit Γ1,a bezeichnet ist, TP-GMMs für die anfängliche Roboterkonfiguration (z. B. anfängliche Position und/oder Lage des Roboters), d.h. Γ 1, a = { ( μ ^ 1 ( p ) , Σ ^ 1 ( p ) ) ,   p P 1, a } ,
    Figure DE102021202340A1_0028
    wobei P1,a der gewählte Satz von Aufgabenparametern ist, die von der anfänglichen Systemkonfiguration (d.h. der anfänglichen Konfiguration (z. B. Position und/oder Lage) des Roboters und/oder der Objekte) abgeleitet sind. Außerdem wird hier ein Endbedingungsmodell eingeführt, das mit ΓT,a bezeichnet ist, das in einer ähnlichen Weise wie Γ1,a gelernt wird, aber für die Endkonfiguration, d.h. Γ T , a = { ( μ ^ T ( p ) , Σ ^ T ( p ) ) ,   p P T , a } ,
    Figure DE102021202340A1_0029
    wobei PT,a der gewählte Satz von Bezugsrahmen ist, die von der Endsystemkonfiguration abgeleitet sind. Einfach gesagt modelliert Γ1,a die anfängliche Konfiguration vor dem Ausführen der Bewegungsfertigkeit a, während ΓT,a die Endkonfiguration danach modelliert. Ferner enthält das gelernte Effektmodell, das mit Γ1T,a bezeichnet ist, TP-GMMs für die vorhergesagte Endsystemkonfiguration, d.h. Γ 1 T , a = { { ( μ ^ 1, o ( p ) , Σ ^ 1, o ( p ) ) ,   p P 1, a } ,   o O a e } ,
    Figure DE102021202340A1_0030
    wobei P1,a in Γ1,a definiert ist. Diese drei Modelle unterscheiden sich darin, dass die Aufgabenparameter für Γ1,a aus der Endsystemkonfiguration (nach dem Durchführen von a) berechnet werden, während jene für Γ1,a und Γ1T,a aus der anfänglichen Systemkonfiguration extrahiert werden (vor dem Durchführen von a). Es wird Γa ≙ {Γ1,a, ΓT,a, Γ1T,a} geschrieben.
  • Dann ist die Übergangswahrscheinlichkeit von einer Endkomponente kƒ von Θa1 zu einer anfänglichen Komponente ki von Θa2 : a k ƒ , k i exp ( p P c K   L ( Γ T , a 1 ( p ) ( k ƒ ) | | Γ 1, a 2 ( p ) ( k i ) ) ) ,
    Figure DE102021202340A1_0031
    wobei KL(·||·) die KL - Divergenz (Kullback-Leibler-Divergenz) ist, Γ T , a 1 ( p ) ( k ƒ )
    Figure DE102021202340A1_0032
    das GMM ist, das der Komponente kƒ für den Bezugsrahmen p zugeordnet ist, Γ 1, a 2 ( p ) ( k i )
    Figure DE102021202340A1_0033
    das GMM ist, das der Komponente ki für den Bezugsrahmen p zugeordnet ist; Pc = PT,a1 ∩ P1,a2 der Satz von gemeinsamen Bezugsrahmen ist, die durch diese zwei Modelle geteilt werden, die auf nicht leer gezwungen werden können, indem immer der globale Bezugsrahmen hinzugefügt wird. Dieser Prozess wird für alle Paare von Endkomponenten in Θa1 und anfänglichen Komponenten in Θa2 wiederholt. Es sollte beachtet werden, dass die Ausgangswahrscheinlichkeit von irgendeiner Endkomponente in Θa1 normiert werden sollte.
  • In Anbetracht einer Endkomponente kƒ von Θa1 sollte jede Komponente k von Θa2 affin transformiert werden, wie folgt: ( μ ^ k ( p ^ ) , Σ ^ k ( p ^ ) ) ( μ k ( p ) , Σ k ( p ) ) ( b k ƒ ( p ^ ) , A k ƒ ( p ^ ) ) ,
    Figure DE102021202340A1_0034
    wobei die Operation ⊗ als gleiche Operation von (1) definiert ist; ( b k ƒ ( p ^ ) , A k ƒ ( p ^ ) )
    Figure DE102021202340A1_0035
    der Aufgabenparameter ist, der aus dem Mittelwert von Γ 1 T , a 1 ( p ^ ) , o ( k ƒ )
    Figure DE102021202340A1_0036
    berechnet wird, wobei o das Objekt ist, das dem alten Bezugsrahmen p in Θa1 zugeordnet ist, und p̂ der neue Bezugsrahmen in Γ 1 T , a 1 o ( k ƒ )
    Figure DE102021202340A1_0037
    ist. Es sollte beachtet werden, dass die Änderung von Bezugsrahmen wichtig ist, um direkt alle Komponenten von Θa2 in Anbetracht einer anfänglichen Systemkonfiguration von Θa1 zu berechnen. Derselbe Prozess wird auch auf jede Komponente von Γ1T,a2 durch Ändern ihrer Bezugsrahmen auf der Basis von Γ 1 T , a 1 o ( k f ) .
    Figure DE102021202340A1_0038
    angewendet.
  • Schließlich werden, wie im Algorithmus 1 angegeben, andere Modell-Parameter von Θ̂ wie z. B. Dauerwahrscheinlichkeiten, anfängliche und Endverteilungen trivial mit geringfügigen Änderungen von Θa1 und Θa2 festgelegt. Die Dauerwahrscheinlichkeit von Θa2 wird beispielsweise auf kf mehrfache Kopien dupliziert; die anfänglichen Verteilungen Θa2 werden auf null gesetzt, da die anfänglichen Zustände von Θ̂ jenen des ersten Modells Θa1 entsprechen; die Endkomponenten von Θa1 werden entfernt, da die Endzustände von Θ̂ nun die Endkomponenten von Θa2 sind, die auf ihre mehreren Instanzen aktualisiert sind.
  • Für die Kombination von zwei Bewegungsfertigkeiten, die parallel ausgeführt werden sollen, werden die Trajektorienmodelle der zwei Bewegungsfertigkeiten zu einem zusammengesetzten Trajektorienmodell wie folgt kombiniert.
  • Zwei TP-HSMMs Θa1 und Θa2 von zwei Bewegungsfertigkeiten sollen parallel betrachtet werden, die Operation für das Kombinieren derselben zu Θ̂ ist im Algorithmus 2 zusammengefasst.
    Figure DE102021202340A1_0039
  • Der Algorithmus 2 besteht aus zwei Teilen: einem Teil, um das zusammengesetzte TP-HSMM-Modell Θ̂ zu berechnen und einem anderen Teil, um das zusammengesetzte TPGMM-Modell Γ̂ zu berechnen. Der erste und wichtigste Schritt besteht darin, Komponentenindizes von Θ2 durch die Gesamtzahl von Komponenten in Θ1 zu aktualisieren. Dies soll mehrere Komponenten von verschiedenen Bewegungsfertigkeiten mit demselben Index vermeiden. Danach müssen alle des zugehörigen TPGMM-Modells, Dauermodells, Vorbedingungs- und Effektmodells dementsprechend aktualisiert werden. Zu guter Letzt werden, wenn die zusammengesetzte Übergangsmatrix {akh} berechnet wird, {akn}1 von Θ1 und {akh}2 von Θ2 diagonal zu {akh} hinzugefügt, während die restlichen Einträge mit null gefüllt werden. Dies bedeutet, dass keine zusätzlichen Übergänge von Θ1 zu Θ2 hinzugefügt werden, da sie parallel zusammengesetzt werden (d.h. nicht in einer Sequenz).
  • Zusammengefasst umfasst das Erzeugen des zusammengesetzten Modells in 1004 die wiederholte Anwendung der folgenden Operationen von zwei Bewegungsfertigkeiten:
    • 1) Operation 1 (Kaskadieren von Bewegungsfertigkeiten in einer Sequenz): falls „Bewegungsfertigkeit#1“ und „Bewegungsfertigkeit#2“ in einer Sequenz verbunden sind (wie in 11 dargestellt), Berechnen eines zusammengesetzten Bewegungsfertigkeitsmodells gemäß dem Algorithmus 1
    • 2) Operation 2 (Kombinieren von Bewegungsfertigkeiten in Zweigen): falls „Bewegungsfertigkeit#1“ und „Bewegungsfertigkeit#2“ parallel verbunden sind (wie in 12 dargestellt), Berechnen des zusammengesetzten Bewegungsfertigkeitsmodells gemäß dem Algorithmus 2.
  • Insbesondere werden diese zwei Operationen wiederholt wie folgt durchgeführt:
    1. A) Für jeden Zweig oder Unterzweig innerhalb des Aufgabendiagramms 1003 rekursives Anwenden der Operation 1, um die zusammengesetzte Bewegungsfertigkeit für jeden Zweig abzuleiten.
    2. B) Für alle parallelen Zweige rekursives Anwenden der Operation 2, um die zusammengesetzte Bewegungsfertigkeit für alle Zweige abzuleiten. Es ist zu beachten, dass nach A jeder Zweig nur eine zusammengesetzte Bewegungsfertigkeit aufweisen sollte.
    3. C) Rekursives Anwenden von A auf alle Sequenzen von Bewegungsfertigkeiten und von B auf alle Verzweigungen von Bewegungsfertigkeiten.
  • Wenn das zusammengesetzte Robotertrajektorienmodell 1005 erzeugt wurde, kann für die durch den Ablaufplan 1003 definierte Aufgabe für eine gegebene Situation 1006 (z.B. Anfangskonfiguration des Systems etc.) ausgeführt werden.
  • Dazu betrachtet die Robotersteuereinrichtung die anfängliche Systemkonfiguration in der gegebenen Situation 1006 und bestimmt, z. B. durch Anwenden von Gleichung (3) auf das zusammengesetzte Robotertrajektorienmodell 1005, die wahrscheinlichste Sequenz 1007 von Zuständen (d.h. GMM-Komponenten) innerhalb des zusammengesetzten Robotertrajektorienmodells 1005, d.h. die Zustandssequenz, die das System (einschließlich des Roboters und der Objekte) mit der höchsten Wahrscheinlichkeit in die Zielkonfiguration bringt.
  • Die Bestimmung der Zustandssequenz 1007 liefert auch die Sequenz von Bewegungsfertigkeiten, die unter der gegebenen Situation 1006 ausgeführt werden müssen. Dies ist von Bedeutung, wenn Verzweigungen im Ablaufplan 1003 vorhanden sind, und deshalb die Steuereinrichtung verschiedene Zweige wählen muss.
  • Aus der Zustandssequenz 1007 ermittelt die Steuereinrichtung der zu folgenden Roboterbewegungstrajektorie 1008. Sie kann beispielsweise lineare quadratische Verfolgung (LQT) verwenden, um die optimale Trajektorie zu ermitteln.
  • Die Steuereinrichtung kann auch ein externes Planungsmodul implementieren, das je nach beobachteter Anfangskonfiguration (z.B. durch Ermittlung der 6D-Pose des Objekts 113 mittels einer Kamera 116) die geeignete Sequenz der Bewegungsfertigkeiten abhängig von der Anfangskonfiguration auswählt (d.h. eine der Sequenzen von den 6 bis 9). Entsprechend der ausgewählten Sequenz steuert die Steuereinrichtung 106 dann den Roboterarm 101 zum Ausführen der Bewegungsfertigkeiten. Für jede Bewegungsfertigkeit ermittelt die Steuereinrichtung dazu die Task-Parameter (z.B. aus der Objektpose) und verwendet das für die Bewegungsfertigkeit gelernte Robotertrajektorienmodell zum Erzeugen einer jeweiligen Referenztrajektorie. Die Steuereinrichtung 106 steuert den Roboterarm 101 zum Verfolgen der Referenztrajektorie für jede Bewegungsfertigkeit. Dies führt die Steuereinrichtung 106 beispielsweise für jedes Objekt 113 in dem Bereich 114 aus.
  • Zusammengefasst wird gemäß verschiedenen Ausführungsformen ein Verfahren bereitgestellt, wie in 6 dargestellt.
  • 13 zeigt ein Ablaufdiagramm 1300, das ein Verfahren zum Steuern eines Roboters zum Aufnehmen und Inspizieren eines Objekts gemäß einer Ausführungsform darstellt.
  • In 1301 werden Demonstrationen bereitgestellt zum Durchführen einer Aufnehmfertigkeit zum Aufnehmen von Objekten aus einem durch eine Wand begrenzten Bereich, einer Inspektionsfähigkeit zum Inspizieren von aufgenommenen Objekten, einer Umorientierungsfertigkeit zum Ändern der Orientierung von Objekten, die sich in dem durch eine Wand begrenzten Bereich befinden und einer Verschiebefertigkeit zum Verschieben von Objekten, die sich in dem durch eine Wand begrenzten Bereich befinden.
  • In 1302 wird ein jeweiliges Robotertrajektorienmodell aus den jeweiligen Demonstrationen für die Aufnehmfertigkeit, die Inspektionsfertigkeit, die Umorientierungsfertigkeit und die Verschiebefertigkeit trainiert.
  • In 1303 wird der Roboter gemäß dem Robotertrajektorienmodell für die Verschiebefertigkeit gesteuert, falls sich das Objekt derart an der Wand befindet, dass es nicht mittels der Aufnehmfertigkeit aufgenommen werden kann oder falls das Objekt eine Orientierung hat, sodass es, nachdem es aufgenommen wurde, nicht mittels der Inspektionsfähigkeit inspiziert werden kann und sich derart an der Wand befindet, dass es nicht mittels der Umorientierungsfertigkeit umorientiert werden kann.
  • In 1304 wird der Roboter gemäß dem Robotertrajektorienmodell für die Umorientierungsfertigkeit gesteuert, falls das Objekt eine Orientierung hat, sodass es, nachdem es aufgenommen wurde, nicht mittels der Inspektionsfähigkeit inspiziert werden kann.
  • In 1305 wird der Roboter gemäß dem Robotertrajektorienmodell für die Aufnehmfertigkeit und gemäß dem Robotertrajektorienmodell für die Inspektionsfertigkeit gesteuert.
  • Gemäß verschiedenen Ausführungsformen werden mit anderen Worten Bewegungsfertigkeiten für verschiedene Spezialfälle für das Aufnehmen und Inspizieren von Objekten aus einem durch eine Wand begrenzten Bereich (engl. „bin picking“) trainiert und je nach Konfiguration, insbesondere Pose des Objekts, eingesetzt.
  • Es kann vorgesehen sein, dass ein Modell für eine Robotersteuereinrichtung trainiert wird, dass selbst entscheidet, welche der Bewegungsfertigkeiten durchzuführen sind, z.B. je nach Anfangskonfiguration. Das Modell bekommt dazu die aktuelle Konfiguration als Eingabe (z.B. Bilder des Arbeitsbereichs, Informationen über die Roboterkonfiguration, Meta-Informationen bzgl. der Aufgabe etc.) und bestimmt die als nächstes durchzuführende Bewegungsfertigkeit und ihre Parameter. Auf diese Weise kann die Robotersteuereinrichtung die Folge von Bewegungsfertigkeiten an die Umgebung (d.h. das jeweilige Szenario) anpassen und den Roboter steuern, die Aufgabe effizient erledigen.
  • Gemäß verschiedenen Ausführungsformen wird für die Aufgabe, die von dem Roboter durchzuführen ist, ein zusammengesetztes Bewegungsmodell erzeugt. Die Roboter wird dann anhand des zusammengesetzten Bewegungsmodells gesteuert. Zum Beispiel werden Modelle für mehrere Bewegungsfertigkeiten trainiert, und wenn eine Aufgabe ausgeführt werden soll, die mehrere Ausführungen dieser Bewegungsfertigkeiten in Zweigen oder in einer Sequenz beinhaltet, werden die Modelle zu einem zusammengesetzten Modell kaskadiert und/oder kombiniert. Das zusammengesetzte Modell kann dann zum Steuern des Roboters verwendet werden, als ob es ein Modell für eine einzelne Bewegungsfertigkeit wäre, d.h. beispielsweise durch Bestimmen einer optimalen Zustandssequenz für die Aufgabe (und der anfänglichen Konfiguration des Roboters und Objekten, an denen die Aufgabe ausgeführt werden soll) und dementsprechendes Steuern der Roboter.
  • Das Verfahren von 13 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.
  • Der Begriff „Roboter“ kann als sich auf irgendein physikalisches System (mit einem mechanischen Teil, dessen Bewegung gesteuert wird) beziehend verstanden werden, wie z. B. eine computergesteuerte Maschine.
  • Verschiedene Ausführungsformen können Sensorsignale von verschiedenen Sensoren wie z. B. Video, Radar, LiDAR, Ultraschall, Bewegung, Wärmeabbildung 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 (7)

  1. Verfahren zum Steuern eines Roboters zum Aufnehmen und Inspizieren eines Objekts, aufweisend: Bereitstellen von Demonstrationen zum Durchführen einer Aufnehmfertigkeit zum Aufnehmen von Objekten aus einem durch eine Wand begrenzten Bereich; einer Inspektionsfähigkeit zum Inspizieren von aufgenommenen Objekten; einer Umorientierungsfertigkeit zum Ändern der Orientierung von Objekten, die sich in dem durch eine Wand begrenzten Bereich befinden; und einer Verschiebefertigkeit zum Verschieben von Objekten, die sich in dem durch eine Wand begrenzten Bereich befinden; Trainieren eines jeweiligen Robotertrajektorienmodells aus den jeweiligen Demonstrationen für die Aufnehmfertigkeit, die Inspektionsfertigkeit, die Umorientierungsfertigkeit und die Verschiebefertigkeit; Steuern des Roboters gemäß dem Robotertrajektorienmodell für die Verschiebefertigkeit, falls sich das Objekt derart an der Wand befindet, dass es nicht mittels der Aufnehmfertigkeit aufgenommen werden kann oder falls das Objekt eine Orientierung hat, sodass es, nachdem es aufgenommen wurde, nicht mittels der Inspektionsfähigkeit inspiziert werden kann und sich derart an der Wand befindet, dass es nicht mittels der Umorientierungsfertigkeit umorientiert werden kann; Steuern des Roboters gemäß dem Robotertrajektorienmodell für die Umorientierungsfertigkeit, falls das Objekt eine Orientierung hat, sodass es, nachdem es aufgenommen wurde, nicht mittels der Inspektionsfähigkeit inspiziert werden kann; und Steuern des Roboters gemäß dem Robotertrajektorienmodell für die Aufnehmfertigkeit und gemäß dem Robotertrajektorienmodell für die Inspektionsfertigkeit.
  2. Verfahren nach Anspruch 1, aufweisend Erzeugen eines zusammengesetzten Robotertrajektorienmodells durch Kaskadieren des Robotertrajektorienmodells für die Aufnehmfertigkeit und die Inspektionsfertigkeit zu einem Aufnehm- und Inspektionsrobotertrajektorienmodell und Kombinieren des Aufnehm- und Inspektionsrobotertrajektorienmodells, des Robotertrajektorienmodells für die Umorientierungsfertigkeit und Robotertrajektorienmodells für die Verschiebefertigkeit und Steuern des Roboters gemäß dem zusammengesetzten Robotertrajektorienmodell.
  3. Verfahren nach Anspruch 1 oder 2, wobei das Inspizieren das Auslesen eines Barcodes aufweist, der sich auf dem Objekt befindet und der Roboter gemäß dem Robotertrajektorienmodell für die Umorientierungsfertigkeit gesteuert wird, falls sich das Objekt derart in dem Bereich befindet, dass der Barcode nach oben gerichtet ist.
  4. Verfahren nach einem der Ansprüche 1 bis 3, aufweisend Trainieren der Verschiebefertigkeit derart, dass das Objekt nach Anwenden der Verschiebefertigkeit mittels der Umorientierungsfertigkeit umorientiert werden kann und mittels der Aufnehmfertigkeit aufgenommen werden kann.
  5. Robotersteuereinrichtung, die dazu konfiguriert ist, das Verfahren nach einem der Ansprüche 1 bis 4 durchzuführen.
  6. 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 4 durchführt.
  7. 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 4 durchführt.
DE102021202340.1A 2021-03-10 2021-03-10 Verfahren zum steuern eines roboters zum aufnehmen und inspizieren eines objekts und robotersteuereinrichtung Pending DE102021202340A1 (de)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE102021202340.1A DE102021202340A1 (de) 2021-03-10 2021-03-10 Verfahren zum steuern eines roboters zum aufnehmen und inspizieren eines objekts und robotersteuereinrichtung

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE102021202340.1A DE102021202340A1 (de) 2021-03-10 2021-03-10 Verfahren zum steuern eines roboters zum aufnehmen und inspizieren eines objekts und robotersteuereinrichtung

Publications (1)

Publication Number Publication Date
DE102021202340A1 true DE102021202340A1 (de) 2022-09-15

Family

ID=83005358

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102021202340.1A Pending DE102021202340A1 (de) 2021-03-10 2021-03-10 Verfahren zum steuern eines roboters zum aufnehmen und inspizieren eines objekts und robotersteuereinrichtung

Country Status (1)

Country Link
DE (1) DE102021202340A1 (de)

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102013203381B4 (de) 2012-03-15 2015-07-16 GM Global Technology Operations LLC (n. d. Ges. d. Staates Delaware) Verfahren und system zum trainieren eines roboters unter verwendung einer von menschen unterstützten aufgabendemonstration
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
DE102018103570A1 (de) 2018-02-16 2019-08-22 Tq Systems Gmbh Fertigungsmodul mit kollaborativem roboter
DE102019122790A1 (de) 2018-08-24 2020-02-27 Nvidia Corp. Robotersteuerungssystem
DE112019000127T5 (de) 2018-10-30 2020-06-18 Mujin, Inc. Ein robotersystem mit automatisiertem objekterkennungsmechanismus und verfahren zum betreiben dieses systems
DE102019130048A1 (de) 2019-01-18 2020-07-23 Mujin, Inc. Ein robotersystem mit stückverlustverwaltungsmechanismus
DE102020101767A1 (de) 2019-01-25 2020-07-30 Mujin, Inc. Steuerverfahren und steuerung für ein robotersystem
DE112020000009T5 (de) 2019-01-14 2020-10-01 Mujin, Inc. Robotersystem mit Koordinationsmechanismus und Verfahren zum Betreiben dieses Systems
DE102020110650A1 (de) 2019-06-27 2020-12-31 Intel Corporation Automatische Roboterwahrnehmungsprogrammierung durch Initiationslernen
DE102020111139A1 (de) 2019-07-26 2021-01-28 Mujin, Inc. Verfeinerung nach Erfassung basierend auf Kanten und mehrdimensionalen Ecken

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102013203381B4 (de) 2012-03-15 2015-07-16 GM Global Technology Operations LLC (n. d. Ges. d. Staates Delaware) Verfahren und system zum trainieren eines roboters unter verwendung einer von menschen unterstützten aufgabendemonstration
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
DE102018103570A1 (de) 2018-02-16 2019-08-22 Tq Systems Gmbh Fertigungsmodul mit kollaborativem roboter
DE102019122790A1 (de) 2018-08-24 2020-02-27 Nvidia Corp. Robotersteuerungssystem
DE112019000127T5 (de) 2018-10-30 2020-06-18 Mujin, Inc. Ein robotersystem mit automatisiertem objekterkennungsmechanismus und verfahren zum betreiben dieses systems
DE112020000009T5 (de) 2019-01-14 2020-10-01 Mujin, Inc. Robotersystem mit Koordinationsmechanismus und Verfahren zum Betreiben dieses Systems
DE102019130048A1 (de) 2019-01-18 2020-07-23 Mujin, Inc. Ein robotersystem mit stückverlustverwaltungsmechanismus
DE102020101767A1 (de) 2019-01-25 2020-07-30 Mujin, Inc. Steuerverfahren und steuerung für ein robotersystem
DE102020110650A1 (de) 2019-06-27 2020-12-31 Intel Corporation Automatische Roboterwahrnehmungsprogrammierung durch Initiationslernen
DE102020111139A1 (de) 2019-07-26 2021-01-28 Mujin, Inc. Verfeinerung nach Erfassung basierend auf Kanten und mehrdimensionalen Ecken

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
SCHWENKEL, Lukas ; GUO, Meng ; BÜRGER, Mathias: Optimizing sequences of probabilistic manipulation skills learned from demonstration. In: 3rd Conference on Robot Learning (CoRL 2019), 30 Oct - 1 Nov 2019, Osaka, Japan, Vol. 100, S. 1-10 [273-282]. - ISSN 2640-3498. URL: http://proceedings.mlr.press/v100/schwenkel20a/schwenkel20a.pdf [abgerufen am 2020-06-29]

Similar Documents

Publication Publication Date Title
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
DE102014103738B3 (de) Visuelle fehlersuche bei roboteraufgaben
DE102019216229B4 (de) Vorrichtung und Verfahren zum Steuern einer Robotervorrichtung
DE102020207085A1 (de) Verfahren zum steuern eines roboters und robotersteuereinheit
DE102020214231A1 (de) Verfahren zum steuern einer robotervorrichtung und robotersteuereinrichtung
DE112019002310T5 (de) Ausführen einer &#34;peg in hole&#34;-aufgabe mit unbekannter neigung
DE102021204697B4 (de) Verfahren zum Steuern einer Robotervorrichtung
DE102020214633A1 (de) Vorrichtung und Verfahren zum Steuern einer Robotervorrichtung
Liang et al. Knowledge induced deep q-network for a slide-to-wall object grasping
DE102021204961A1 (de) Verfahren zur Steuerung einer Robotervorrichtung
DE102020212658A1 (de) Vorrichtung und Verfahren zum Steuern einer Robotervorrichtung
DE102022130652A1 (de) Anlernen eines roboters durch vorführen mit visualservoing
EP3760390A1 (de) Durchführen einer vorgegebenen aufgabe mithilfe wenigstens eines roboters
DE102021204846A1 (de) Verfahren zum Steuern einer Robotervorrichtung
DE102022201116B4 (de) Verfahren zum Steuern einer Robotervorrichtung
DE102020200165B4 (de) Robotersteuereinrichtung und Verfahren zum Steuern eines Roboters
DE102021202340A1 (de) Verfahren zum steuern eines roboters zum aufnehmen und inspizieren eines objekts und robotersteuereinrichtung
DE102019207410A1 (de) Verfahren und Vorrichtung für eine automatisierte Beeinflussung eines Aktuators
DE102022107460A1 (de) Verfahren und system zum positionieren von sensoren innerhalb eines arbeitsraums
DE102021201921A1 (de) Vorrichtung und verfahren zum steuern eines roboters zum aufnehmen eines objekts
DE102021212494A1 (de) Vorrichtung und Verfahren zur Steuerung einer Robotervorrichtung
DE102022212638B3 (de) Vorrichtung und Verfahren zum Steuern eines Roboters
DE102021209761A1 (de) Verfahren zum Trainieren einer Steuerungsstrategie
DE112020006594B4 (de) Maschinenlernverfahren und Robotersystem

Legal Events

Date Code Title Description
R163 Identified publications notified