DE102022201116A1 - Verfahren zum Steuern einer Robotervorrichtung - Google Patents

Verfahren zum Steuern einer Robotervorrichtung Download PDF

Info

Publication number
DE102022201116A1
DE102022201116A1 DE102022201116.3A DE102022201116A DE102022201116A1 DE 102022201116 A1 DE102022201116 A1 DE 102022201116A1 DE 102022201116 A DE102022201116 A DE 102022201116A DE 102022201116 A1 DE102022201116 A1 DE 102022201116A1
Authority
DE
Germany
Prior art keywords
task
robot control
parameters
control model
robot
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
DE102022201116.3A
Other languages
English (en)
Inventor
Philipp Christian Schillinger
Leonel Rozo
Akshay Dhonthi Ramesh Babu
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 DE102022201116.3A priority Critical patent/DE102022201116A1/de
Priority to US18/161,142 priority patent/US20230241772A1/en
Priority to CN202310119135.9A priority patent/CN116533229A/zh
Priority to JP2023013714A priority patent/JP2023113133A/ja
Publication of DE102022201116A1 publication Critical patent/DE102022201116A1/de
Granted 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/1602Programme controls characterised by the control system, structure, architecture
    • 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
    • B25J13/00Controls for manipulators
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J13/00Controls for manipulators
    • B25J13/08Controls for manipulators by means of sensing devices, e.g. viewing or touching devices
    • 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/1661Programme controls characterised by programming, planning systems for manipulators characterised by task planning, object-oriented languages
    • 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/39Robotics, robotics to robotics hand
    • G05B2219/39205Markov model
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/40Robotics, robotics mapping to robotics vision
    • G05B2219/40113Task planning

Abstract

Gemäß verschiedenen Ausführungsformen wird ein Verfahren zum Steuern einer Robotervorrichtung beschrieben, aufweisend Erzeugen eines Roboter-Steuerungsmodells zur Durchführung einer Aufgabe, wobei das Roboter-Steuerungsmodell Parameter aufweist, die die Durchführung der Aufgabe beeinflussen, Anpassen der Parameter des Roboter-Steuerungsmodels mittels Optimierung einer Zielfunktion, die die Einhaltung mindestens einer Bedingung an den zeitlichen Verlauf mindestens eines kontinuierlichen Sensorsignals bei der Durchführung der Aufgabe bewertet, und Steuern der Robotervorrichtung gemäß dem Roboter-Steuerungsmodell zur Durchführung der Aufgabe mit den angepassten Parametern.

Description

  • Stand der Technik
  • Die vorliegende Offenbarung bezieht sich auf Verfahren zum Steuern einer Robotervorrichtung.
  • Bei einer Aufgabe für einen Roboter, eine Manipulation (eines Objekts) durchzuführen, ist es ein Kernproblem, eine geeignete Trajektorie (z.B. für einen Roboterarm) für die jeweilige Aufgabe zu bestimmen. Es gibt mehrere verschiedene Ansätze, die alle unterschiedliche Eigenschaften aufweisen, um bestimmte Aufgabentypen möglichst effizient zu lösen. Ein Beispiel ist das Lernen aus Demonstrationen (LfD für engl. learning from demonstration).
  • Beim LfD demonstriert ein menschlicher Benutzer („Experte“) dem Roboter das beabsichtigte Verhalten, d.h. beispielhafte Trajektorien, die eine bestimmte Aufgabe lösen sollen. Aus diesen Demonstrationen lernt der Roboter ein Roboter-Steuerungsmodell und verfügt so über eine entsprechende Bewegungsfertigkeit. Siehe beispielsweise Rozo, L., Guo, M., Kupcsik, A. G., Todescato, M., Schillinger, P., Giftthaler, M., ... & Burger, M. „Learning and sequencing of object-centric manipulation skills for industrial tasks" in 2020 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS) (pp. 9072-9079). IEEE, im Folgenden als Referenz [1] bezeichnet, für weitere Details für die Roboter-gestützte Montage basierend auf demonstrierten Fertigkeiten.
  • Der LfD-Ansatz ist besonders geeignet, wenn die Kriterien für die gewünschten Trajektorien schwer explizit zu beschreiben sind. Der Ansatz ist jedoch nur in der Lage, implizite Kriterien zu erfassen, und es gibt keinen allgemeinen Mechanismus, um weitere explizite Beschränkungen oder gewünschte Eigenschaften hinzuzufügen.
  • Um dieser Einschränkung zu begegnen, können solche expliziten Bedingungen in einem separaten Formalismus ausgedrückt werden und dann Optimierungstechniken eingesetzt werden, um die ursprünglich erlernte Bewegungsfertigkeit zu verbessern. Beispielsweise werden in Innes, C., & Ramamoorthy, S., „Elaborating on learned demonstrations with temporal logic specifications", 2020, arXiv preprint arXiv:2002.00784, im Folgenden als Referenz [2] bezeichnet, Ziele in linearer zeitlicher Logik (LTL für engl. Linear Temporal Logic), einer Variante der temporalen (zeitlichen) Logik formuliert, um dynamische Bewegungsprimitive (DMP für engl. Dynamic Movement Primitives), eine dynamisch-systemische Variante von LfD, zu optimieren.
  • Das Paper von Dhonthi, A., Schillinger, P., Rozo, L., & Nardi, D. (2021)"Study of Signal Temporal Logic Robustness Metrics for Robotic Tasks Optimization", arXiv preprint arXiv:2110.00339.", im Folgenden als Referenz [3] bezeichnet, beschreibt außerdem die Formulierung von Bedingungen mittels STL (Signal Temporal Logic).
  • Die Herangehensweise von Referenz [2] erfordert die Ermittlung von Gradienten und deshalb ist Bandbreite von expliziten Bedingungen, die festgelegt werden können, eingeschränkt.
  • Es sind deshalb Herangehensweisen wünschenswert, die die Festlegung von expliziten Bedingungen in einem größeren Bereich ermöglichen.
  • Offenbarung der Erfindung
  • Gemäß verschiedenen Ausführungsformen wird ein Verfahren zum Steuern einer Robotervorrichtung bereitgestellt, aufweisend Erzeugen eines Roboter-Steuerungsmodells zur Durchführung einer Aufgabe, wobei das Roboter-Steuerungsmodell Parameter aufweist, die die Durchführung der Aufgabe beeinflussen, Anpassen der Parameter des Roboter-Steuerungsmodels mittels Optimierung einer Zielfunktion, die die Einhaltung mindestens einer Bedingung an den zeitlichen Verlauf mindestens eines kontinuierlichen Sensorsignals bei der Durchführung der Aufgabe bewertet, und Steuern der Robotervorrichtung gemäß dem Roboter-Steuerungsmodell zur Durchführung der Aufgabe mit den angepassten Parametern.
  • Die Optimierung der Zielfunktion erfolgt beispielsweise mittels Black-Box-Optimierung. Durch die Verwendung von Black-Box-Optimierung (BBO) entfällt die Notwendigkeit von Gradienten, wie sie beispielsweise bei der Vorgehensweise von Referenz [2] erforderlich sind und ermöglicht somit die Definition der Bedingungen (beispielsweise mittels Signal Temporal Logic (STL)) über einen viel breiteren und aussagekräftigeren Bereich von Signalen, z. B. die Angabe von Beschränkungen für resultierende Kräfte oder allgemein die Auswirkungen einer Trajektorie anstelle der Trajektorie selbst. Folglich kann mit dem oben beschriebenen Verfahren ein breiteres Spektrum von Anwendungen abgedeckt werden.
  • Bei der BBO kann die Aufgabe für verschiedene Szenarien durchgeführt werden oder für jede Auswertung der Zielfunktion dasselbe Szenario genommen (d.h. z.B. Objekt ist immer am gleichen Platz). Es kann sinnvoll sein das Szenario so gleich wie praktisch möglich zu halten, um unbekannte Einflüsse zu minimieren. Ebenso kann es sinnvoll sein, wenn praktisch möglich, eine Menge verschiedener Szenarien für jeden Parametersatz durchzuführen und einen Mittelwert über die Ausführungen zu bilden. Eventuell kann es aus praktischen Gesichtspunkten ggf. nicht möglich sein ein Szenario exakt zu wiederholen, aber auch das ist kein Ausschlusskriterium für BBO sondern könnte nur zu schlechteren Ergebnissen oder langsamerer Optimierung führen.
  • Das oben beschriebene Roboter-Steuerungsverfahren kann beispielsweise für Robotermanipulationsaufgaben verwendet werden, bei denen ein Experte das gewünschte Verhalten des Roboters vorgibt und spezifiziert. Dies ist vor allem bei der Robotergestützten Montage der Fall, wo bestimmte Montageschritte komplizierte Bewegungen erfordern und gleichzeitig zusätzliche Bedingungen erfüllt werden müssen. Beispielsweise muss bei einem Montagevorgang ein Zapfen auf eine bestimmte Weise in ein anderes Werkstück eingesetzt werden. Ein Mensch kann die Bewegung demonstrieren, da es schwierig sein könnte, sie vollständig formal zu beschreiben, aber dennoch ist es wünschenswert, dass bestimmte Einschränkungen, wie die Reduzierung von Kontaktkräften oder eine Zielpositionsgenauigkeit, erreicht werden, die möglicherweise suboptimal demonstriert werden.
  • Im Folgenden werden verschiedene Ausführungsbeispiele angegeben.
  • Ausführungsbeispiel 1 ist ein Verfahren zum Steuern einer Robotervorrichtung, wie oben beschrieben.
  • Ausführungsbeispiel 2 ist ein Verfahren nach Ausführungsbeispiel 1, ferner aufweisend Repräsentieren der mindestens einen Bedingung gemäß zeitlicher Signallogik in mindestens einer Zeitliche-Signallogik-Formel, Umwandeln der mindestens einen Zeitliche-Signallogik-Formel in mindestens ein Robustheitsmaß und Auswerten der Zielfunktion durch Ermitteln eines Werts des mindestens einen Robustheitsmaßes für die Durchführung der Aufgabe.
  • Die Verwendung von zeitlicher Signallogik (STL für engl. Signal Temporal Logic) zur Erfassung von Bedingungen ermöglicht aussagekräftige Spezifikationen von Bedingungen, z.B. durch die Möglichkeit, Zeitintervalle für zeitliche Operatoren anzugeben. In anderen Worten wird die mindestens eine Bedingung mittels ein oder mehreren zeitlichen Intervallen und ein oder mehreren kontinuierlichen Signalen repräsentiert. Es existieren effiziente Ansätze zur Umwandlung von STL-Formeln in reellwertige Belohnungsfunktionen, sogenannte Robustheitsmaße, die aufgrund ihrer mathematischen Eigenschaften eine effiziente und aussagekräftige Optimierung eines Roboter-Steuerungsmodells ermöglichen.
  • Ausführungsbeispiel 3 ist ein Verfahren nach Ausführungsbeispiel 1 oder 2, wobei die Parameter des Roboter-Steuerungsmodells zeitbezogene Parameter und ortsbezogene Parameter aufweisen.
  • Ein Roboter-Steuerungsmodell mit solchen Parametern, wie beispielsweise ein HSMM mit Dauerwahrscheinlichkeiten als zeitbezogene Parametern und (z.B.) den mittleren Lagen als ortsbezogene Parameter entspricht sehr gut der Verwendung von STL zur Spezifikation von Bedingungen, da STL zeitliche und räumliche Bedingungen formuliert.
  • Ausführungsbeispiel 4 ist ein Verfahren nach einem der Ausführungsbeispiele 1 bis 3, wobei das Roboter-Steuerungsmodell ein verborgendes Semi-Markov-Modell (HSMM für engl. Hidden Semi Markov Model) ist.
  • Die Verwendung eines HSMM-Modells (z.B. für LfD) führt zu einem diskreten zustandsbasierten Modell für die erlernte Fertigkeit (d.h. der Fertigkeit zur Durchführung der Aufgabe), bei dem jeder Zustand in etwa einem probabilistischen Wegpunkt entlang der Trajektorie entspricht und die Übergangsdauern die Ausführungsgeschwindigkeit der jeweiligen Abschnitte der Trajektorie definieren. Dies bietet eine sinnvolle Grundlage für die Spezifikation von STL-Bedingungen, indem eine natürliche Verbindung zwischen dem STL-Ziel und den Parametern des Fähigkeitsmodells hergestellt wird.
  • Ausführungsbeispiel 5 ist ein Verfahren nach einem der Ausführungsbeispiele 1 bis 4, wobei das mindestens eine kontinuierliche Sensorsignal einen Ort eines Teils der Robotervorrichtung und/oder eine Kraft, die auf einen Teil der Robotervorrichtung wirkt, angibt.
  • Damit können insbesondere Bedingungen spezifiziert werden, dass die Robotervorrichtung innerhalb (oder außerhalb) bestimmter Bereiche bleibt (z.B. mit einem End-Effektor) und zulässige Kräfte (die sie z.B. auf ein manipuliertes Objekt ausübt), nicht überschreitet.
  • Ausführungsbeispiel 6 ist ein Robotersteuereinrichtung, die eingerichtet ist, ein Verfahren nach einem der Ausführungsbeispiele 1 bis 5 auszuführen.
  • Ausführungsbeispiel 7 ist ein Computerprogramm, das Anweisungen umfasst, die bei Ausführung durch einen Prozessor veranlassen, dass der Prozessor ein Verfahren nach einem der Ausführungsbeispiele 1 bis 5 durchführt.
  • Ausführungsbeispiel 8 ist ein computerlesbares Medium, das Anweisungen speichert, die bei Ausführung durch einen Prozessor veranlassen, 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 einen Roboter.
    • 2 zeigt ein Ablaufdiagramm, das die Anpassung eines Robotersteuerungsmodells an gegebene Bedingungen gemäß den oben vier genannten Operationen veranschaulicht.
    • 3 zeigt ein Ablaufdiagramm, das ein Verfahren zum Steuern einer Robotervorrichtung 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 umsetzen. 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 maschinellen Lernmodells 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.
  • Gemäß verschiedenen Ausführungsformen wird Lernen aus Demonstrationen (LfD für engl. Learning from Demonstrations) verwendet, um dem Roboter 100 beizubringen, eine Aufgabe auszuführen. Menschliche Demonstrationen können durch das maschinelle Lernmodell 112 (in diesem Fall ein probabilistisches oder statistisches Modell) 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 DE102022201116A1_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 DE102022201116A1_0002
    zu transformieren. Hier ist { ( b ( p ) ,   A ( p ) ) } p = 1 P
    Figure DE102022201116A1_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 DE102022201116A1_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 DE102022201116A1_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 DE102022201116A1_0006
    wird das gelernte TP-GMM in ein einzelnes GMM mit Parametern { π k , ( μ ^ k ,   ^ k ) } k = 1 K
    Figure DE102022201116A1_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 DE102022201116A1_0008
    wobei die Parameter der aktualisierten Gauß-Glocke an jedem Bezugsrahmen p berechnet werden als μ ^ k ( p ) = A ( p ) μ k ( p ) + b ( p )  
    Figure DE102022201116A1_0009
    und   ^ k ( p ) = A ( p ) k ( p ) A ( p ) T .
    Figure DE102022201116A1_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 DE102022201116A1_0011
    wobei ahk die Übergangswahrscheinlichkeit vom Zustand h zu k ist; ( μ k D ,   σ k D )
    Figure DE102022201116A1_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 DE102022201116A1_0013
    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 DE102022201116A1_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 DE102022201116A1_0015
    gegeben: α t ( k ) = τ = 1 t 1 h = 1 K α t τ ( h ) a hk N ( τ | μ k D ,   σ k D ) o τ t ,
    Figure DE102022201116A1_0016
    wobei o τ t = l = t τ + 1 t N ( ξ l | μ ^ k , ^ k )
    Figure DE102022201116A1_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 ( ξ l | μ ^ k ,   ^ k ) = 1
    Figure DE102022201116A1_0018
    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 DE102022201116A1_0019
     
    Figure DE102022201116A1_0020
    durch Wählen von s t * = argmax k α t ( k ) ,   1 t T m
    Figure DE102022201116A1_0021
    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 DE102022201116A1_0022
    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 DE102022201116A1_0023
    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 = b j ( ξ 1 ) π j p j ( 1 )
    Figure DE102022201116A1_0024
    wobei p j ( d ) = N ( d | μ j D , σ j D )
    Figure DE102022201116A1_0025
    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 DE102022201116A1_0026
    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 DE102022201116A1_0027
    zu finden. Mit anderen Worten leitet der obige Algorithmus die wahrscheinlichste Sequenz s T *
    Figure DE102022201116A1_0028
    für die Bewegungsfertigkeit a, die die Endbeobachtung ξT ergibt, ausgehend von ξ1 ab.
  • Für eine (Bewegungs-)fertigkeit eines Roboters 100 kann es nun in bestimmten Anwendungen wünschenswert sein, dass bestimmte Bedingungen definiert werden können, die von dem Roboter 100 bei der Ausführung der Fertigkeit eingehalten werden. Beispiele hierfür sind, dass eine bestimmte Kraft oder Reibung nicht überschritten wird (z.B. zwei Teile nicht zu stark aneinander gedrückt werden oder eine Hülse nicht mit zu viel Reibung über einen Stange geschoben wird) oder auch ein bestimmter räumlicher Bereich nicht verlassen wird.
  • Gemäß verschiedenen Ausführungsformen wird ein Ansatz für eine Berücksichtigung formaler Spezifikationen innerhalb von mittels LfD gelernter Fertigkeiten (oder Fähigkeiten) bereitgestellt. Konkret wird gemäß verschiedenen Ausführungsformen Signal Temporal Logic (STL), eine im Vergleich zu LTL ausdrucksstärkere Variante der temporalen Logik, zur Formulierung von Aufgabenspezifikationen in Form von Belohnungsfunktionen verwendet und ein Black-Box-Optimierungsansatz (BBO) eingesetzt, um eine mittels LfD als Hidden Semi-Markov Model (HSMM) gelernte Fertigkeit anzupassen.
  • Dementsprechend basieren verschiedene Ausführungsformen auf STL, BBO und dem Lernen von Roboterfertigkeiten mittels LfD als HSMM. Zur Umwandlung einer STL-Spezifikation in eine Zielfunktion für BBO siehe Referenz [3] für eine Beschreibung verschiedener Robustheitsmaße, die im Zusammenhang mit den im Folgenden beschriebenen Ausführungsformen verwendet werden können. Für BBO kann Bayessche Optimierung (BO) oder CMA-ES (Covariance Matrix Adaptation Evolution Strategy) verwendet werden. Die im Folgenden beschrieben Ausführungsformen machen keine spezifischen Annahmen hinsichtlich der verwendenden BB-Optimierungstechnik.
  • Gemäß verschiedenen Ausführungsformen wird mittels eines Optimierungsverfahrens ein Robotersteuerungsmodell für eine bestimmte Fertigkeit dahingehen verbessert, dass es gegebene Bedingungen berücksichtigt. Dies erfolgt durch einen iterativen Prozess, bei dem die folgenden Operationen (1 bis 4, siehe unten) für eine beliebige Anzahl von Malen wiederholt werden, um eine verbesserte Version des Robotersteuerungsmodells in Bezug auf die Spezifikation eines Ziels, das die gegebenen Bedingungen widerspiegelt, zu erhalten.
  • Ausgehend von einem anfänglichen Robotersteuerungsmodell für eine Fertigkeit, gemäß verschiedenen Ausführungsformen einem HSMM, z.B. abgeleitet aus einer Menge von menschlichen Demonstrationen (z.B. Referenztrajektorien), und einer formalen STL-Spezifikation von Bedingungen (z.B. zu erreichenden Zielen bei der Durchführung einer Aufgabe als Nebenbedingungen), werden die folgenden Schritte wiederholt ausgeführt (z.B. von der Steuereinrichtung 106):
    • 1) Bestimmen einer Modifikation (Variante) des Robotermodells für die Fertigkeit
    • 2) Durchführen der Fertigkeit mittels der Modifikation des Robotermodells und Aufzeichnen dabei auftretender (Sensor-)Signale.
    • 3) Bewertung, inwieweit die aufgezeichneten Signale der vorgegebenen STL-Spezifikation der Bedingungen entsprechen (d.h. diese erfüllen)
    • 4) Aktualisieren des BBO-Optimierers und Merken der aktuell besten Modifikation (in Hinblick auf die Erfüllung der Bedingungen)
  • 2 zeigt ein Ablaufdiagramm 200, das die Anpassung eines Robotersteuerungsmodells an gegebene Bedingungen gemäß den oben vier genannten Operationen veranschaulicht.
  • Für Operation 1) kann ein Robotersteuerungsmodell für eine Fertigkeit auf verschiedene Weise, d. h. durch Modifikation einer Reihe verschiedener Parameter 201 des Robotersteuerungsmodells, verändert werden. Aufgrund der Darstellung eines HSMM-Modells ist die natürliche Wahl für solche Parameter 201 die mittleren Lagen ( μ k ( p ) )
    Figure DE102022201116A1_0029
    der Komponenten, die Parameter der Wahrscheinlichkeitsverteilung für die Dauer der Komponenten μ k D , σ k D
    Figure DE102022201116A1_0030
    und die Übergangswahrscheinlichkeiten ahk zwischen den Komponenten. Diese werden für jede Modifikation durch Störungen (Änderungen) Δ μ k ( p ) , Δ μ k D , Δ σ k D , Δ a hk
    Figure DE102022201116A1_0031
    modifiziert, um das Robotersteuerungsmodell zu modifizieren.
  • Außerdem kann für Operation 1) die Bestimmung der Parameter für die Modifikation auf verschiedene Weise erfolgen und hängt hauptsächlich von der Wahl des BBO-Verfahrens ab. Zum Beispiel können die Parameterwerte zufällig ausgewählt werden. Bei der Bayes'schen Optimierung (BO) werden die Parameterwerte in der Regel (ausgehend von einer Initialisierung 204 der Optimierungsparameter) durch die Optimierung einer so genannten Aquisitionsfunktion 202 ermittelt, wobei ein Ersatz (z.B. ein Gaußscher Prozess 203) der (unbekannten) zu optimierenden Funktion gebildet wird, um die Beziehung zwischen der Wahl der Parameter und dem erwarteten Zielwert zu modellieren. Bei der Verwendung von CMA-ES werden die Parameterwerte aus einer Wahrscheinlichkeitsverteilung entnommen, die im Laufe der Zeit modifiziert wird, um mit höherer Wahrscheinlichkeit Parameter zu sampeln, die zu einer höheren Zielfunktion führen.
  • Nach Modifikation des Robotersteuerungsmodells erfolgt die Ausführung 206 der Fertigkeit gemäß dem modifizierten Robotersteuerungsmodell.
  • Für Operation 2) wird die gegebene STL-Spezifikation 205 durch eine Reihe so genannter Prädikate ausgedrückt, die bestimmte Eigenschaften der Ausführung der Fertigkeit erfordern, z. B. die Einhaltung einer geringen Größe der Kontaktkräfte oder das Verbleiben außerhalb oder innerhalb von bestimmten Bereichen des Arbeitsraums. Dadurch ist direkt angegeben, welche Sensorsignale während der Ausführung der Aufgabe aufgezeichnet werden müssen d.h. welche Größen gemessen werden müssen (nämlich z.B. eine jeweilige Kontaktkraft oder die Position, z.B. des Endeffektors 104, des Roboters).
  • In Operation 3) werden die bei der Ausführung 206 aufgezeichneten Signale diskretisiert und der Wert einer Robustheitsmetrik 207 der STL-Spezifikation 205 kann für diese Signale berechnet werden (z.B. wie in Referenz [3] beschrieben). Es gibt verschiedene Formulierungen von Robustheitsmetriken mit unterschiedlichen Eigenschaften, die für den Zweck der Aufgabenoptimierung geeignet sind. Eine anschauliche Metrik ist die so genannte Raumrobustheit, die die Abstände der Signalwerte zur Änderung der Wahrheitswerte der Propositionen für jeden einzelnen Zeitpunkt entlang des diskretisierten Signals misst. Sie misst beispielsweise die Differenz zwischen gemessenen Kräften und der spezifizierten Kontaktkraft, oder sie misst den euklidischen Abstand zu einem bestimmten Bereich im Arbeitsraum.
  • Für Operation 4) sind nun sowohl die Änderungen der Modellparameter 201 als auch der resultierende Wert 207 des STL-spezifizierten Ziels bekannt und können an das verwendete BBO-Verfahren übergeben werden. Auch diese Operation hängt von dem verwendeten BBO-Verfahren ab. Im Falle von BO wird beispielsweise der Gaußsche Prozess (GP) 203 aktualisiert, um die gewonnene Beobachtung einzubeziehen, oder im Falle von CMA-ES wird die Stichprobenverteilung entsprechend aktualisiert. Im Extremfall, z. B. bei einer Zufallsstichprobe von Parametern, kann dieser Schritt entfallen.
  • Zusammengefasst wird gemäß verschiedenen Ausführungsformen ein Verfahren bereitgestellt, wie in 3 dargestellt.
  • 3 zeigt ein Ablaufdiagramm 300, das ein Verfahren zum Steuern einer Robotervorrichtung darstellt.
  • In 301 wird ein Roboter-Steuerungsmodells zur Durchführung einer Aufgabe erzeugt, wobei das Roboter-Steuerungsmodell Parameter aufweist, die die Durchführung der Aufgabe beeinflussen.
  • In 302 werden die Parameter des Roboter-Steuerungsmodels mittels Optimierung einer Zielfunktion, die die Einhaltung mindestens einer Bedingung an den zeitlichen Verlauf mindestens eines kontinuierlichen Sensorsignals bei der Durchführung der Aufgabe bewertet, angepasst.
  • In 303 wird die Robotervorrichtung gemäß dem Roboter-Steuerungsmodell zur Durchführung der Aufgabe mit den angepassten Parametern gesteuert.
  • Das Verfahren von 3 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 3 dient zum Erzeugen eines Steuersignals für eine Robotervorrichtung. Der Begriff „Robotervorrichtung“ kann als sich auf irgendein technisches 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 technische System gelernt und das technische System dann entsprechend gesteuert.
  • Für die Erzeugung des Steuersignals werden (Sensor-)Daten, die aus ein oder mehreren empfangenen Sensorsignalen gewonnen werden, verarbeitet, z.B. in Form skalarer Zeitreihen, die spezifische Daten über jegliche Art von Trajektorien, wie z.B. Roboter-End-Effektor-Posen (Position und Orientierung), Kräfte, Roboter-Gelenkkräfte etc. enthalten.
  • Die Sensordaten werden verarbeitet, was die Klassifikation der Sensordaten oder das Durchführen einer semantischen Segmentierung an den Sensordaten umfassen kann, um die Anwesenheit von Objekten (in der Umgebung, in der die Sensordaten erhalten wurden) zu detektieren, in Hinblick auf die Einhaltung (und Quantifizierung der Einhaltung) einer durch einen Benutzer gegebenen formalen Spezifikation von ein oder mehreren Bedingungen.
  • Ausführungsformen können im Rahmen des Trainings 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 (z.B. um die Spezifikation von Bedingungen durch einen Benutzer zu ermöglichen).
  • 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.
  • ZITATE ENTHALTEN IN DER BESCHREIBUNG
  • Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.
  • Zitierte Nicht-Patentliteratur
    • Rozo, L., Guo, M., Kupcsik, A. G., Todescato, M., Schillinger, P., Giftthaler, M., ... & Burger, M. „Learning and sequencing of object-centric manipulation skills for industrial tasks“ in 2020 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS) (pp. 9072-9079) [0003]
    • Innes, C., & Ramamoorthy, S., „Elaborating on learned demonstrations with temporal logic specifications“, 2020, arXiv preprint arXiv:2002.00784 [0005]
    • Dhonthi, A., Schillinger, P., Rozo, L., & Nardi, D. (2021)"Study of Signal Temporal Logic Robustness Metrics for Robotic Tasks Optimization", arXiv preprint arXiv:2110.00339 [0006]

Claims (8)

  1. Verfahren zum Steuern einer Robotervorrichtung, aufweisend: Erzeugen eines Roboter-Steuerungsmodells zur Durchführung einer Aufgabe, wobei das Roboter-Steuerungsmodell Parameter aufweist, die die Durchführung der Aufgabe beeinflussen; Anpassen der Parameter des Roboter-Steuerungsmodels mittels Optimierung einer Zielfunktion, die die Einhaltung mindestens einer Bedingung an den zeitlichen Verlauf mindestens eines kontinuierlichen Sensorsignals bei der Durchführung der Aufgabe bewertet, Steuern der Robotervorrichtung gemäß dem Roboter-Steuerungsmodell zur Durchführung der Aufgabe mit den angepassten Parametern.
  2. Verfahren nach Anspruch 1, ferner aufweisend Repräsentieren der mindestens einen Bedingung gemäß zeitlicher Signallogik in mindestens einer Zeitliche-Signallogik-Formel, Umwandeln der mindestens einen Zeitliche-Signallogik-Formel in mindestens ein Robustheitsmaß und Auswerten der Zielfunktion durch Ermitteln eines Werts des mindestens einen Robustheitsmaßes für die Durchführung der Aufgabe.
  3. Verfahren nach Anspruch 1 oder 2, wobei die Parameter des Roboter-Steuerungsmodells zeitbezogene Parameter und ortsbezogene Parameter aufweisen.
  4. Verfahren nach einem der Ansprüche 1 bis 3, wobei das Roboter-Steuerungsmodell ein verborgendes Semi-Markov-Modell (HSMM für engl. Hidden Semi Marko Model) ist.
  5. Verfahren nach einem der Ansprüche 1 bis 4, wobei das mindestens eine kontinuierliche Sensorsignal einen Ort eines Teils der Robotervorrichtung und/oder eine Kraft, die auf einen Teil der Robotervorrichtung wirkt, angibt.
  6. Robotersteuereinrichtung, die eingerichtet ist, ein Verfahren nach einem der Ansprüche 1 bis 5 auszuführen.
  7. Computerprogramm, das Anweisungen umfasst, die bei Ausführung durch einen Prozessor veranlassen, dass der Prozessor ein Verfahren nach einem der Ansprüche 1 bis 5 durchführt.
  8. Computerlesbares Medium, das Anweisungen speichert, die bei Ausführung durch einen Prozessor veranlassen, dass der Prozessor ein Verfahren nach einem der Ansprüche 1 bis 5 durchführt.
DE102022201116.3A 2022-02-02 2022-02-02 Verfahren zum Steuern einer Robotervorrichtung Granted DE102022201116A1 (de)

Priority Applications (4)

Application Number Priority Date Filing Date Title
DE102022201116.3A DE102022201116A1 (de) 2022-02-02 2022-02-02 Verfahren zum Steuern einer Robotervorrichtung
US18/161,142 US20230241772A1 (en) 2022-02-02 2023-01-30 Method for controlling a robotic device
CN202310119135.9A CN116533229A (zh) 2022-02-02 2023-01-31 用于控制机器人设备的方法
JP2023013714A JP2023113133A (ja) 2022-02-02 2023-02-01 ロボット装置を制御する方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE102022201116.3A DE102022201116A1 (de) 2022-02-02 2022-02-02 Verfahren zum Steuern einer Robotervorrichtung

Publications (1)

Publication Number Publication Date
DE102022201116A1 true DE102022201116A1 (de) 2023-08-03

Family

ID=87160520

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102022201116.3A Granted DE102022201116A1 (de) 2022-02-02 2022-02-02 Verfahren zum Steuern einer Robotervorrichtung

Country Status (4)

Country Link
US (1) US20230241772A1 (de)
JP (1) JP2023113133A (de)
CN (1) CN116533229A (de)
DE (1) DE102022201116A1 (de)

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102019001207A1 (de) 2018-02-19 2019-08-22 Boll Automation Gmbh Kollaborativer Roboter und Verfahren zum Betreiben eines kollaborativen Roboters und Verwendung zum Bearbeiten eines Werkstücks
EP3587045A1 (de) 2018-06-28 2020-01-01 Siemens Aktiengesellschaft Verfahren und vorrichtung zum rechnergestützten ermitteln von regelparametern für eine günstige handlung eines technischen systems
DE102019203634A1 (de) 2019-03-18 2020-09-24 Robert Bosch Gmbh Verfahren und Vorrichtung zum Ansteuern eines Roboters
DE102019207410A1 (de) 2019-05-21 2020-11-26 Robert Bosch Gmbh Verfahren und Vorrichtung für eine automatisierte Beeinflussung eines Aktuators
DE102019216229A1 (de) 2019-10-07 2021-04-08 Robert Bosch Gmbh Vorrichtung und Verfahren zum Steuern einer Robotervorrichtung
US20210125052A1 (en) 2019-10-24 2021-04-29 Nvidia Corporation Reinforcement learning of tactile grasp policies
DE102020207085A1 (de) 2020-06-05 2021-12-09 Robert Bosch Gesellschaft mit beschränkter Haftung Verfahren zum steuern eines roboters und robotersteuereinheit
DE102020206916A1 (de) 2020-06-03 2021-12-09 Robert Bosch Gesellschaft mit beschränkter Haftung Steuereinrichtung und Verfahren zum Auswählen von Auswertungspunkten für ein Bayessches Optimierungsverfahren
DE102020209685A1 (de) 2020-07-31 2022-02-03 Robert Bosch Gesellschaft mit beschränkter Haftung Verfahren zum steuern einer robotervorrichtung und robotervorrichtungssteuerung
EP3753684B1 (de) 2019-06-21 2022-08-10 Robert Bosch GmbH Verfahren und system zur robotermanipulationsplanung

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102019001207A1 (de) 2018-02-19 2019-08-22 Boll Automation Gmbh Kollaborativer Roboter und Verfahren zum Betreiben eines kollaborativen Roboters und Verwendung zum Bearbeiten eines Werkstücks
EP3587045A1 (de) 2018-06-28 2020-01-01 Siemens Aktiengesellschaft Verfahren und vorrichtung zum rechnergestützten ermitteln von regelparametern für eine günstige handlung eines technischen systems
DE102019203634A1 (de) 2019-03-18 2020-09-24 Robert Bosch Gmbh Verfahren und Vorrichtung zum Ansteuern eines Roboters
DE102019207410A1 (de) 2019-05-21 2020-11-26 Robert Bosch Gmbh Verfahren und Vorrichtung für eine automatisierte Beeinflussung eines Aktuators
EP3753684B1 (de) 2019-06-21 2022-08-10 Robert Bosch GmbH Verfahren und system zur robotermanipulationsplanung
DE102019216229A1 (de) 2019-10-07 2021-04-08 Robert Bosch Gmbh Vorrichtung und Verfahren zum Steuern einer Robotervorrichtung
US20210125052A1 (en) 2019-10-24 2021-04-29 Nvidia Corporation Reinforcement learning of tactile grasp policies
DE102020206916A1 (de) 2020-06-03 2021-12-09 Robert Bosch Gesellschaft mit beschränkter Haftung Steuereinrichtung und Verfahren zum Auswählen von Auswertungspunkten für ein Bayessches Optimierungsverfahren
DE102020207085A1 (de) 2020-06-05 2021-12-09 Robert Bosch Gesellschaft mit beschränkter Haftung Verfahren zum steuern eines roboters und robotersteuereinheit
DE102020209685A1 (de) 2020-07-31 2022-02-03 Robert Bosch Gesellschaft mit beschränkter Haftung Verfahren zum steuern einer robotervorrichtung und robotervorrichtungssteuerung

Non-Patent Citations (6)

* Cited by examiner, † Cited by third party
Title
Dhonthi, A., Schillinger, P., Rozo, L., & Nardi, D. (2021)"Study of Signal Temporal Logic Robustness Metrics for Robotic Tasks Optimization", arXiv preprint arXiv:2110.00339
DHONTHI, Akshay [u.a.]: Study of signal temporal logic robustness metrics for robotic tasks optimization. 01-10-2021. arXiv:2110.00339v1. 3 S. DOI: 10.48550/arXiv.2110.00339. URL: https://arxiv.org/pdf/2110.00339 [abgerufen am 2022-03-03]
Innes, C., & Ramamoorthy, S., „Elaborating on learned demonstrations with temporal logic specifications", 2020, arXiv preprint arXiv:2002.00784
INNES, Craig ; RAMAMOORTHY, Subramanian: Elaborating on learned demonstrations with temporal logic specifications. 22-05-2020. arXiv:2002.00784v2. 10 S. DOI: 10.48550/arXiv.2002.00784. URL: https://arxiv.org/pdf/2002.00784 [abgerufen am 2022-03-03]
Rozo, L., Guo, M., Kupcsik, A. G., Todescato, M., Schillinger, P., Giftthaler, M., ... & Burger, M. „Learning and sequencing of object-centric manipulation skills for industrial tasks" in 2020 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS) (pp. 9072-9079)
ROZO, Leonel [u.a.]: Learning and sequencing of object-centric manipulation skills for industrial tasks. In: 2020 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS), October 25-29, 2020, Las Vegas, NV, USA (virtual), S. 9072-9079. - ISBN 978-1-7281-6212-6. DOI: 10.1109/IROS45743.2020.9341570. URL: https://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=9341570 [abgerufen am 2022-03-03]

Also Published As

Publication number Publication date
US20230241772A1 (en) 2023-08-03
JP2023113133A (ja) 2023-08-15
CN116533229A (zh) 2023-08-04

Similar Documents

Publication Publication Date Title
DE102019216229B4 (de) Vorrichtung und Verfahren zum Steuern einer Robotervorrichtung
DE112019002310B4 (de) Ausführen einer &#34;peg in hole&#34;-aufgabe mit unbekannter neigung
DE102014108287B4 (de) Schnelles Erlernen durch Nachahmung von Kraftdrehmoment-Aufgaben durch Roboter
DE102020209685B4 (de) Verfahren zum steuern einer robotervorrichtung und robotervorrichtungssteuerung
DE102020207085A1 (de) Verfahren zum steuern eines roboters und robotersteuereinheit
DE102020214231A1 (de) Verfahren zum steuern einer robotervorrichtung und robotersteuereinrichtung
DE102021204697B4 (de) Verfahren zum Steuern einer Robotervorrichtung
DE102019216560B4 (de) Verfahren und Vorrichtung zum Trainieren von Manipulationsfertigkeiten eines Robotersystems
DE102021204961B4 (de) Verfahren zur Steuerung einer Robotervorrichtung
EP3785177A1 (de) Verfahren und vorrichtung zum ermitteln einer netzkonfiguration eines neurona-len netzes
DE102020212658A1 (de) Vorrichtung und Verfahren zum Steuern einer Robotervorrichtung
WO2020094534A1 (de) Verfahren zum trainieren eines künstlichen neuronalen netzes, künstliches neuronales netz, verwendung eines künstlichen neuronalen netzes sowie entsprechendes computerprogramm, maschinenlesbares speichermedium und entsprechende vorrichtung
DE102020214633A1 (de) Vorrichtung und Verfahren zum Steuern einer Robotervorrichtung
DE102021109382A1 (de) System und verfahren eines monotonen neuronalen operatornetzes technisches gebiet
DE102020200165B4 (de) Robotersteuereinrichtung und Verfahren zum Steuern eines Roboters
DE102022201116B4 (de) Verfahren zum Steuern einer Robotervorrichtung
DE102020211648A1 (de) Vorrichtung und Verfahren zum Steuern einer Robotervorrichtung
DE102020206916A1 (de) Steuereinrichtung und Verfahren zum Auswählen von Auswertungspunkten für ein Bayessches Optimierungsverfahren
DE102022201116A1 (de) Verfahren zum Steuern einer Robotervorrichtung
DE102020214177A1 (de) Vorrichtung und Verfahren zum Trainieren einer Steuerungsstrategie mittels bestärkendem Lernen
DE102019207410A1 (de) Verfahren und Vorrichtung für eine automatisierte Beeinflussung eines Aktuators
DE102022208082B3 (de) Verfahren zum Steuern eines technischen Systems
DE102022210281A1 (de) Vorrichtung und Verfahren zum Aktualisieren einer durch ein gaußsches Mischungsmodell gegebenen Steuerungsstrategie für einen Agenten
DE102021202340A1 (de) Verfahren zum steuern eines roboters zum aufnehmen und inspizieren eines objekts und robotersteuereinrichtung
DE102021212494A1 (de) Vorrichtung und Verfahren zur Steuerung einer Robotervorrichtung

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