DE102020206913A1 - Verfahren und Vorrichtung zum Betreiben eines Roboters - Google Patents

Verfahren und Vorrichtung zum Betreiben eines Roboters Download PDF

Info

Publication number
DE102020206913A1
DE102020206913A1 DE102020206913.1A DE102020206913A DE102020206913A1 DE 102020206913 A1 DE102020206913 A1 DE 102020206913A1 DE 102020206913 A DE102020206913 A DE 102020206913A DE 102020206913 A1 DE102020206913 A1 DE 102020206913A1
Authority
DE
Germany
Prior art keywords
state
determined
neural network
artificial neural
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
DE102020206913.1A
Other languages
English (en)
Other versions
DE102020206913B4 (de
Inventor
Sabrina Hoppe
Robert Krug
Markus Giftthaler
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 DE102020206913.1A priority Critical patent/DE102020206913B4/de
Priority to US17/325,181 priority patent/US11738454B2/en
Priority to CN202110612407.XA priority patent/CN113752251A/zh
Publication of DE102020206913A1 publication Critical patent/DE102020206913A1/de
Application granted granted Critical
Publication of DE102020206913B4 publication Critical patent/DE102020206913B4/de
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1628Programme controls characterised by the control loop
    • B25J9/163Programme controls characterised by the control loop learning, adaptive, model based, rule based expert control
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1628Programme controls characterised by the control loop
    • B25J9/1633Programme controls characterised by the control loop compliant, force, torque control, e.g. combined with position control
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J15/00Gripping heads and other end effectors
    • B25J15/08Gripping heads and other end effectors having finger members
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J19/00Accessories fitted to manipulators, e.g. for monitoring, for viewing; Safety devices combined with or specially adapted for use in connection with manipulators
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1602Programme controls characterised by the control system, structure, architecture
    • B25J9/161Hardware, e.g. neural networks, fuzzy logic, interfaces, processor
    • 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
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/33Director till display
    • G05B2219/33056Reinforcement learning, agent acts, receives reward, emotion, action selective
    • 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/40032Peg and hole insertion, mating and joining, remote center compliance

Landscapes

  • Engineering & Computer Science (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Automation & Control Theory (AREA)
  • Physics & Mathematics (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • Fuzzy Systems (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Feedback Control In General (AREA)
  • Manipulator (AREA)

Abstract

Vorrichtung und Verfahren zum Betreiben eines Roboters (102), wobei abhängig von einem ersten Zustand des Roboters (102) und/oder seiner Umgebung und abhängig von einem Ausgang eines ersten Modells ein erster Teil einer Stellgröße zum Ansteuern des Roboters (102) für einen Übergang vom ersten Zustand in einen zweiten Zustand des Roboters (102) bestimmt wird, wobei ein zweiter Teil der Stellgröße abhängig vom ersten Zustand und unabhängig vom ersten Modell bestimmt wird, wobei abhängig vom ersten Zustand und abhängig vom Ausgang des ersten Modells mit einem zweiten Modell ein Gütemaß bestimmt wird, wobei wenigstens ein Parameter des ersten Modells abhängig vom Gütemaß bestimmt wird, wobei abhängig vom Gütemaß und einem Sollwert wenigstens ein Parameter des zweiten Modells bestimmt wird, wobei der Sollwert abhängig von einer Belohnung bestimmt wird, die dem Übergang vom ersten Zustand in den zweiten Zustand zugeordnet ist

Description

  • Stand der Technik
  • Die Erfindung geht aus von einem Verfahren und einer Vorrichtung zum Betreiben eines Roboters.
  • Roboter werden in einer Vielzahl industrieller Applikationen eingesetzt. Strategien für Bewegungen, die ein Roboter in einer Applikation ausführt können durch Regler in einem geschlossenen Regelkreis oder durch Agenten vorgegeben werden, die eine Strategie abhängig oder unabhängig von einem Modell erlernen und vorgeben.
  • Offenbarung der Erfindung
  • Durch die Vorrichtung und das Verfahren gemäß den unabhängigen Ansprüchen wird eine gegenüber herkömmlichen Applikationen verbesserte Applikation ermöglicht.
  • Verfahren zum Betreiben eines Roboters wobei abhängig von einem ersten Zustand des Roboters und/oder seiner Umgebung und abhängig von einem Ausgang eines ersten Modells ein erster Teil einer Stellgröße zum Ansteuern des Roboters für einen Übergang vom ersten Zustand in einen zweiten Zustand des Roboters bestimmt wird, wobei ein zweiter Teil der Stellgröße abhängig vom ersten Zustand und unabhängig vom ersten Modell bestimmt wird, wobei abhängig vom ersten Zustand und abhängig vom Ausgang des ersten Modells mit einem zweiten Modell ein Gütemaß bestimmt wird, wobei wenigstens ein Parameter des ersten Modells abhängig vom Gütemaß bestimmt wird, wobei abhängig vom Gütemaß und einem Sollwert wenigstens ein Parameter des zweiten Modells bestimmt wird, wobei der Sollwert abhängig von einer Belohnung bestimmt wird, die dem Übergang vom ersten Zustand in den zweiten Zustand zugeordnet ist. Dadurch wird eine besonders effektiv zum Ziel führende residual policy zur Ansteuerung des Roboters eingesetzt, ohne dass den Lernprozess störende Divergenzen auftreten.
  • Es kann vorgesehen sein, dass wenigstens eine Kraft und wenigstens ein Moment bestimmt wird, die auf einen Endeffektor des Roboters wirken, wobei der erste Zustand und/oder der zweite Zustand abhängig von der wenigstens einen Kraft und dem wenigstens einen Moment bestimmt wird.
  • Vorzugsweise ist der erste Zustand und/oder der zweite Zustand bezüglich einer Achse definiert, wobei eine Kraft eine Bewegung des Endeffektors in Richtung der Achse bewirkt, wobei ein Moment eine Drehung des Endeffektors um die Achse bewirkt. Diese Ansteuerung ist für eine Exploration und eine industrielle Anwendung besonders effizient. Die Exploration, d.h. ein insbesondere zufälliges Ausprobieren neuer Aktionen, wird dadurch sicherer. Es kann sicher gestellt werden, dass weder Roboter noch Manipulationsobjekt noch umstehende Menschen zu Schaden kommen.
  • Es kann vorgesehen sein, dass ein Vektor bestimmt wird, der einen konstanten Teil der Stellgröße definiert, wobei der Vektor eine erste Kraft, eine zweite Kraft, eine dritte Kraft, ein erstes Moment, ein zweites Moment, und ein drittes Moment definiert, wobei unterschiedliche Achsen für die Kräfte definiert sind, wobei jedem Moment eine andere der unterschiedlichen Achsen zugeordnet ist. Der Vektor eignet sich besonders gut für die Beschreibung der Zustände und für die Ansteuerung.
  • Das erste Modell kann einen ersten Funktionsapproximator, insbesondere einen ersten Gaussprozess oder ein erstes künstliches neuronales Netzwerk umfassen, wobei ein erster Teil des Vektors einen Eingang dafür definiert, wobei der Eingang unabhängig von einem zweiten Teil des Vektors definiert ist.
  • Das zweite Modell kann einen zweiten Funktionsapproximator, insbesondere einen zweiten Gaussprozess oder ein zweites künstliches neuronales Netzwerk umfassen, wobei der Vektor den Eingang dafür definiert.
  • Es kann vorgesehen sein, dass ein Vektor bestimmt wird, der die Stellgröße definiert, wobei der Vektor eine erste Kraft, eine zweite Kraft, eine dritte Kraft, ein erstes Moment, ein zweites Moment, und ein drittes Moment definiert, wobei unterschiedliche Achsen für die Kräfte definiert sind, wobei jedem Moment eine andere der unterschiedlichen Achsen zugeordnet ist, wobei ein erster Teil des Vektors unabhängig von einem Ausgang des ersten künstlichen neuronalen Netzwerks, welches das erste Modell umfasst, insbesondere konstant definiert ist, wobei ein zweiter Teil des Vektors abhängig vom Ausgang des ersten künstlichen neuronalen Netzwerks definiert ist. Dadurch wird der Roboter in einer vordefinierten Art und Weise mit konstanten Größen ansteuerbar und damit aufgabenabhängig schneller in einen Endzustand bewegbar.
  • Vorzugsweise umfasst der Endeffektor wenigstens einen Finger, der einen zu einem Werkstück komplementären Abschnitt aufweist, dessen Oberfläche griffig oder selbstzentrierend ausgeführt ist. Dadurch wird ein besonders guter Halt ermöglicht.
  • Der Sollwert kann abhängig von einer Schranke bestimmt werden, wobei die Schranke abhängig von einem Graph bestimmt wird, in dem ein Knoten einen Zustand des Roboters definiert, wobei abhängig vom ersten Zustand ein Teilgraph des Graphen bestimmt wird, der einen ersten Knoten, der den ersten Zustand repräsentiert, umfasst, wobei die Schranke abhängig von Werten bestimmt wird, die den Knoten des Teilgraphen zugeordnet sind, die ein Pfad vom ersten Knoten zu einem zweiten Knoten, der einen Endzustand für den Roboter repräsentiert, umfasst. Im Teilgraph sind diesem zugeordnete Q-Werte analytisch bestimmbar. Diese Q-Werte können als untere Schranken verwendet werden.
  • Der Graph wird bevorzugst abhängig von wenigstens einem Zustand des Roboters bestimmt, wobei für einen Knoten, der im Graph ein Blatt darstellt, und der keinem Endzustand des Roboters zugeordnet ist, eine Kante zugeordnet wird, die eine folgenlose Aktion definiert. Dadurch wird eine Ursache für Divergenzen im Lernprozess vermieden.
  • Die folgenlose Aktion kann einem insbesondere konstanten Wert für den ersten Teil der Stellgröße zugeordnet sein. Dadurch werden für die Vermeidung von Divergenz im Lernprozess besonders gut geeignete Schranken bestimmt. In bestimmten Fällen kann durch Einfügen der folgenlosen Aktion überhaupt erst eine Schranke bestimmt werden; in anderen Fällen kann möglicherweise eine höhere untere Schranke als ohne folgenlose Aktion bestimmt werden.
  • Der Sollwert wird vorzugsweise abhängig von einer vorgegebenen Schranke bestimmt. Dadurch kann aufgabenabhängig Domänenwissen berücksichtigt werden.
  • Für ein Training des ersten künstlichen neuronalen Netzwerks kann eine Kostenfunktion abhängig von einem Ausgang des zweiten künstlichen neuronalen Netzwerks bestimmt werden, wobei im Training Parameter des ersten künstlichen neuronalen Netzwerks gelernt werden, für die diese Kostenfunktion einen kleineren Wert hat, als für andere Parameter.
  • In einem Training für das zweite künstliche neuronale Netzwerk kann für einen Ausgang des zweiten künstlichen neuronalen Netzwerks eine Kostenfunktion abhängig vom Ausgang des zweiten künstlichen neuronalen Netzwerks und dem Sollwert definiert sein, wobei Parameter des zweiten künstlichen neuronalen Netzwerks gelernt werden, für die die Kostenfunktion einen kleineren Wert hat, als für andere Parameter.
  • Vorrichtung zum Betreiben eines Roboters, dadurch gekennzeichnet, dass die Vorrichtung ausgebildet ist, das Verfahren nach einem der vorherigen Ansprüche auszuführen.
  • Weitere vorteilhafte Ausführungsformen ergeben sich aus der folgenden Beschreibung und der Zeichnung. In der Zeichnung zeigt:
    • 1 eine schematische Darstellung eines Roboters und einer Vorrichtung zum Betreiben des Roboters,
    • 2 eine schematische Darstellung eines Teils der Vorrichtung,
    • 3 Schritte in einem Verfahren zum Betreiben des Roboters.
  • 1 stellte einen Roboter 102 und eine Vorrichtung 104 zum Betreiben des Roboters 102 schematisch dar. Der Roboter 102 ist ausgebildet ein erstes Werkstück 106 mit einem Endeffektor, im Beispiel einer Greifeinrichtung 108 zu greifen. Der Roboter 102 ist in einem Arbeitsraum 110 in eine Vielzahl unterschiedlicher Posen p bewegbar. Im Beispiel kann eine Pose p abhängig von einem dreidimensionalen kartesischen Koordinatensystem angegeben werden. Ein Ursprung 112 des Koordinatensystems ist im Beispiel mittig zwischen zwei Finger 114 der Greifeinrichtung 108 angeordnet, mit dem das erste Werkstück 106 greifbar ist. Andere Anordnungen des kartesischen Koordinatensystems sind ebenfalls möglich.
  • Das kartesische Koordinatensystem definiert mit den Koordinaten x, y, z eine Position für eine Bewegung im Arbeitsraum 110.
  • In 1 ist im Arbeitsraum 110 ein zweites Werkstück 116 dargestellt. Im Beispiel ist im zweiten Werkstück 116 eine Öffnung 118 vorgesehen, die ausgebildet ist, das erste Werkstück 106 aufzunehmen.
  • Beispielsweise ist das erste Werkstück 106 ein Schaft, insbesondere ein Motorschaft. Beispielsweise ist das zweite Werkstück 116 ein Kugellager das ausgebildet ist, den Schaft aufzunehmen. Das Kugellager kann in einem Motorgehäuse angeordnet sein.
  • Der Roboter 102 ist ausgebildet, das erste Werkstück 106 auf einer Trajektorie gemäß einer Strategie im Arbeitsraum 110 derart zu bewegen, dass das erste Werkstück 106 am Ende der Trajektorie im zweiten Werkstück 116 aufgenommen ist.
  • Die Vorrichtung 104 umfasst wenigstens einen Prozessor 120 und wenigstens einen Speicher 122 für Instruktionen, bei deren Ausführung durch den wenigstens einen Prozessor 120 ein im Folgenden beschriebenes Verfahren abläuft. Es kann auch wenigstens eine Graphical Processsing Unit vorgesehen sein, mit der ein Funktionsapproximator insbesondere ein künstliches neuronales Netzwerk besonders effizient trainierbar ist. Der wenigstens eine Prozessor 120 und der wenigstens eine Speicher 122 können als ein oder mehrere Mikroprozessoren ausgeführt sein. Die Vorrichtung 104 kann außerhalb des Roboters 102 oder in den Roboter 102 integriert angeordnet sein. Es können Datenleitungen zur Kommunikation zwischen Prozessor, Speicher, Ansteuereinrichtung und Roboter 102 vorgesehen sein. Diese sind in 1 nicht dargestellt.
  • Die Vorrichtung 104 kann eine Ausgabeeinrichtung 124 umfassen, die zur Ansteuerung des Roboters 102 ausgebildet ist. Die Ausgabeeinrichtung 124 kann eine Endstufe oder eine Kommunikationsschnittstelle zur Ansteuerung eines oder mehrerer Aktuatoren des Roboters 102 umfassen.
  • 2 stellt einen Teil der Vorrichtung 104 schematisch dar.
  • Die Vorrichtung 104 umfasst einen insbesondere autonomen Agenten 202, der ausgebildet ist, mit seiner Umgebung zu interagieren.
  • Zu jedem diskreten Zeitschritt t kann der Agent 202 einen Zustand st beobachten und abhängig von einer Strategie π eine Aktion at = π(st) ausführen, die den nächsten Zustand st+1 definiert. Nach jeder Aktion erhält der Agent 202 eine Belohnung rt = R(st, at, st+1).
  • Die Umgebung wird in diesem Beispiel durch einen Markov-Entscheidungsprozess mit Zuständen, Aktionen, Übergangsdynamiken und einer Belohnungsfunktion dargestellt. Die Übergangsdynamiken können stochastisch sein.
  • Ein Erwartungswert E
    Figure DE102020206913A1_0001
    für eine Summe der zukünftigen Belohnungen ri, die erreicht werden, wenn die Strategie π ausgehend von einem Zustand s verfolgt wird, ist durch ein Ergebnis R s π = E i T γ i 1 r i ,
    Figure DE102020206913A1_0002
    mit einem Faktor γ ∈ [0,1) definiert.
  • Für ein in einem ersten Schritt von der Strategie π unabhängiges Verhalten kann ein Q-Wert berücksichtigt werden. Der Q-Wert kann als ein Erwartungswert für eine Summe der zukünftigen Belohnungen berücksichtigt werden, die erreicht werden, wenn eine Aktion at zu einem momentanen Zeitschritt t ausgeführt wird und ab dann der Strategie π gefolgt wird: Q π ( s t , a t ) = R ( s t , a t , s t + 1 ) + γ R s π
    Figure DE102020206913A1_0003
  • Das Ziel, das der Agent 202 verfolgt, ist es, eine optimale Strategie π* zum Erreichen eines Endzustands zu bestimmen. Es kann vorgesehen sein, eine Angabe dt zu bestimmen, die angibt, ob der Roboter 102 seine Aufgabe erfüllt hat oder nicht, also den Endzustand erreicht hat. Durch die optimale Strategie π* wird für jeden aktuellen Zustand st die Aktion at ausgewählt, die eine erwartete Belohnung über alle bezüglich des jeweiligen Zustands st zukünftigen Zustände maximiert. Die erwarteten Belohnungen zukünftiger Zustände werden im Beispiel mit einem Abschlag γ gewichtet in einer Summe der zukünftigen Zustände berücksichtigt, die die erwartete Belohnung definiert.
  • Der Agent 202 kann dies dadurch erreichen, dass eine Q-Funktion für die Umgebung bestimmt wird und die Aktionen at gewählt wird, die den Q-Wert der Q-Funktion zu jedem Zeitschritt t maximiert.
  • Die Q-Funktion Qtarget wird für eine Optimierung des Funktionsapproximators verwendet und kann beispielsweise durch eine Schätzung des Q-Werts abhängig von Erfahrung und einer momentanen Schätzung der Q-Funktion bestimmt werden: Q t a r g e t ( s t , a t ) = { r t , w e n n   s t + 1   e i n   E n d z u s t a n d   i s t r t + γ Q ( s t + 1 , π ( s t + 1 ) ) ,                                        s o n s t
    Figure DE102020206913A1_0004
  • Dies wird als temporal difference learning bezeichnet. Es kann vorgesehen sein, abhängig von der Angabe dt zu bestimen, ob der Zustand st+1 ein Endzustand ist.
  • Diese Funktionen können durch künstliche neuronale Netzwerke approximiert werden. Beispielsweise werden zwei künstliche neuronale Netzwerke verwendet. Ein erstes künstliches neuronales Netzwerk 204 repräsentiert die deterministische Strategie π. Das erste künstliche neuronale Netzwerk 204 wird als actor network bezeichnet. Das zweite künstliche neuronale Netzwerk 206 bestimmt einen Q-Wert abhängig von einem Paar von Zustand st und Aktion at an seinem Eingang. Das zweite künstliche neuronalen Netzwerk 206 wird als critic network bezeichnet. Diese Vorgehensweise wird als Deep Deterministic Policy Gradients bezeichnet und ist beispielsweise in T. P. Lillicrap, J. J. Hunt, A. Pritzel, N. Heess, T. Erez, Y. Tassa,D. Silver, and D. Wierstra, „Continuous control with deep reinforcement learning,“ arXiv preprint arXiv:1509.02971, 2015 beschrieben.
  • Deep Deterministic Policy Gradients ist eine modellfreie Methode für kontinuierliche Zustands- und Aktionsräume. Um Instabilitäten in einem Lernprozess mit nichtlinearen neuronalen Netzwerken zu vermeiden, können Schrankee für die Q-Werte bestimmt werden. Diese Schranken werden während des Lernprozesses eingesetzt, wodurch der Lernprozess stabil bleibt.
  • Im Lernprozess werden Daten über die Interaktion des Agenten mit der Umgebung in einem Wiedergabespeicher gespeichert. Statt eine Liste (st, at, st+1, rt; dt) von Übergängen, Belohnung und die Angabe darüber, ob der Endzustand erreicht wurde oder nicht im Wiedergabespeicher zu speichern werden diese wie folgt verarbeitet. Es ist auch möglich, die Liste zu speichern und dann ständig von der Liste einen neuen Graphen abzuleiten. Ein Übergang umfasst im Beispiel einen Zustand st, eine Aktion at, ein durch Ausführen der Aktion at im Zustand st erreichter Zustand st+1. Die dadurch erreichte Belohnung rt und die Angabe dt beziehen sich auf diesen Übergang. Statt der Liste der Übergänge ist ein Datengraph vorgesehen, in dem ein erster Knoten den Zustand st und ein zweiter Knoten den durch Ausführen der Aktion at im Zustand st erreichten Zustand st+1 definiert. Eine Kante im Graph zwischen dem ersten Knoten und dem zweiten Knoten definiert in diesem Fall die Aktion at. Die Belohnung rt und die Angabe dt sind der Kante zugeordnet. Verschiedene Übergänge im Datengraph können mit unterschiedlicher Wahrscheinlichkeit zu einer Divergenz des Lernprozesses führen. Für temporal difference learning ist die Wahrscheinlichkeit abhängig von einer Struktur des Datengraphs.
  • Eine Wahrscheinlichkeit dafür, dass ein Übergang, mit dem ein Endzustand erreicht wird, eine Divergenz erzeugt, ist gegenüber den Wahrscheinlichkeiten für andere Übergänge, mit denen kein Endzustand erreicht wird, am geringsten. Eine Wahrscheinlichkeit dafür, dass ein Zustand st aus dem über einen Pfad im Graph ein Endzustand erreichbar ist, zu einer Divergenz des Lernprozesses führt, ist geringer als die Wahrscheinlichkeit dafür, dass eine Divergenz im Lernprozess durch einen Zustand st entsteht, aus dem kein Endzustand im Graph erreichbar ist.
  • Untere Schranken können ausgehend vom Datengraphen bestimmt werden. Beispielsweise wird ein Teilgraph des Datengraphen bestimmt, mit dem unter der Annahme der Teilgraph sei vollständig, alle dem Teilgraph zugeordneten Q-Werte analytisch bestimmbar sind. Diese Q-Werte können als untere Schranken für den Datengraph verwendet werden. Weitere untere und obere Schranken können a priori, d.h. durch Domänen-Wissen z.B. über den Roboter 102, das erste Werkstücke 106, das zweite Werkstück 116 und/oder die zu lösende Aufgabe und/oder die verwendete Belohnungsfunktion definiert sein.
  • Eine Möglichkeit die Schranken einzusetzen besteht darin, die Q-Funktion abhängig von einer unteren Schranke LB und einer oberen Schranke UB zu begrenzen. Daraus resultiert die die Q-Funktion: Q t a r g e t ( s t ,   a t ) = min  ( U B , max ( L B , Q t a r g e t ( s t , a t ) ) )
    Figure DE102020206913A1_0005
  • In einem Training für das zweite künstliche neuronale Netzwerk 206 kann für einen Ausgang des zweiten künstlichen neuronalen Netzwerks 206 Q(st,at) eine Kostenfunktion als mean squared error definiert sein: ( Q ( s t , a t ) Q t a r g e t ( s t , a t ) ) 2
    Figure DE102020206913A1_0006
  • Ziel des Trainings ist im Beispiel, Parameter des zweiten künstlichen neuronalen Netzwerks 206 zu lernen, für die die Kostenfunktion einen kleineren Wert hat, als für andere Parameter. Diese Kostenfunktion wird beispielweise in einem Gradientenabstiegsverfahren minimiert.
  • Es kann vorgesehen sein, Knoten im Datengraphen von denen keine Kanten ausgehen, die eine Aktion at definieren, mit folgenlosen Aktionen, d.h. Zero Actions, zu versehen. Auch andere Knoten können mit folgenlosen Aktionen versehen werden. Eine folgenlose Aktion ist im Beispiel eine Aktion, die den Zustand des Roboters 102 unverändert lässt, z.B. indem eine Beschleunigung von Null vorgegeben wird.
  • Dadurch werden Blätter im Datengraph vermieden, von denen keine Aktion mehr ausgeht. Eine untere Schranke kann für jeden Übergang bestimmt werden, der in einer unendlichen Schleife endet. Durch folgenlose Aktionen sind mehr untere Schranken bestimmbar als ohne. Dadurch ist es möglich, dass die unteren Schranken insgesamt enger sind.
  • Als Eingang für das erste künstliche neuronale Netzwerk 204 wird im Beispiel ein erster Teil der Größen verwendet, die den Zustand st definieren. Der Eingang des ersten künstlichen neuronalen Netzwerks 204 ist unabhängig von einem zweiten Teil der Größen, die den Zustand st definieren.
  • Die Größen können geschätzte Größen ζ̂ = [ƒ̂x ƒ̂y ƒ̂z τ̂x τ̂y τ̂z] sein. Die Größen können auch gemessene Größe sein oder abhängig von gemessenen Größen berechnet oder geschätzt werden.
  • Im Beispiel ist ein Zustand st durch eine geschätzte Kraft in x Richtung ƒ̂x, eine geschätzte Kraft in y Richtung ƒ̂y, eine geschätzte Kraft in z Richtung ƒ̂z, ein geschätztes Moment τ̂x einer Drehung um eine sich in x Richtung erstreckende Achse, ein geschätztes Moment τ̂y einer Drehung um eine sich in y Richtung erstreckende Achse und ein geschätztes Moment τ̂z einer Drehung um eine sich in z Richtung erstreckende Achse definiert, die in einer momentanen Pose p an der Greifeinrichtung 108 auftreten. Im Beispiel wird der Eingang des ersten künstlichen neuronalen Netzwerks 204 unabhängig von der geschätzten Kraft ƒ̂x, der geschätzten Kraft ƒ̂y und unabhängig vom geschätzten Momente τ̂z bestimmt. Dieser zweite Teil der Größen wird im Beispiel nicht als Eingang für das erste künstliche neuronale Netzwerk 204 verwendet. Dies reduziert die Dimensionalität und sorgt daher dafür, dass das erste künstliche neuronale Netzwerk 204 kleiner wird und deshalb schneller oder einfacher trainiert werden kann. In anderen Anwendungen könnten diese Größen dafür bestimmt und verwendet werden, wobei andere Größen nicht verwendet werden. Dies ist besonders vorteilhaft für eine Bewegung des Roboters 102, in der das erste Werkstück 106 in die Öffnung 118 gesteckt wird, die sich in z Richtung erstreckt.
  • Im Beispiel ist eine Aktion at durch einen insbesondere konstanten ersten Teil und einen zweiten Teil definiert. Der erste Teil definiert im Beispiel für eine Bewegung der Greifeinrichtung 108 eine Kraft in x Richtung ƒx eine Kraft in y Richtung ƒ̂y, eine Kraft in z Richtung ƒz und ein Moment τ z τ
    Figure DE102020206913A1_0007
    für eine Drehung um die sich in z Richtung erstreckende Achse. Die Kraft ƒz kann ƒz = -15N sein. Im Beispiel bedeutet dies, der Roboter 102 bewegt die Greifeinrichtung 108 dauernd entlang der z-Achse der Greifeinrichtung 108. Der zweite Teil definiert im Beispiel einen ersten Sollwert für ein Moment τ x r
    Figure DE102020206913A1_0008
    für eine Drehung um die sich in x Richtung erstreckende Achse und/oder einen zweiten Sollwert für ein Moment τ y r
    Figure DE102020206913A1_0009
    um die sich in y Richtung erstreckende Achse. Im Beispiel wird der erste Sollwert abhängig von einer ersten Ausgangsgröße des ersten künstlichen neuronalen Netzwerks 204 bestimmt. Im Beispiel wird der zweite Sollwert abhängig von einer zweiten Ausgangsgröße des ersten künstlichen neuronalen Netzwerks 204 bestimmt. Im Beispiel wird jede dieser Ausgangsgrößen auf ein Intervall von [-3, 3] Nm skaliert.
  • Insgesamt wird im Beispiel als Aktion at eine Stellgröße ζ = [ ƒ x   ƒ y   ƒ z   τ x r   τ y r   τ z r ]
    Figure DE102020206913A1_0010
    bestimmt. Im Beispiel ist im ersten Teil ƒx = ƒy = 0,ƒz = -15N, τ z τ = 0.
    Figure DE102020206913A1_0011
    Der erste Teil kann auch andere Werte vorsehen. Die Stellgröße ζ kann auch anders aufgebaut sein, wenn der Roboter 102 anders anzusteuern ist. Die Stellgröße ζ wird im Beispiel an einen Regler 208 für eine Einstellung einer neuen Pose p der Greifeinrichtung 108 ausgegeben, der den Roboter 102 ansteuert, bis die neue Pose p erreicht ist. Eine Aktion at ist im Beispiel dann beendet, wenn der Regler 208 für die Greifeinrichtung 108 einen stabilen Zustand erreicht hat, beispielsweise mit Geschwindigkeiten unter einer vorgegebenen Grenzgeschwindigkeit. Es kann vorgesehen sein, dass der Regler 208 ausgebildet ist, den Zustand st des Roboters 102 zu bestimmen. Es kann vorgesehen sein, dass der Regler 208 ausgebildet ist, die Angabe dt, dass der Roboter 102 den Endzustand erreicht hat, auf einen ersten Wert, z.B. 1 zu setzen. Es kann vorgesehen sein, die Angabe dt mit einem anderen Wert zu initialisieren oder anderenfalls auf einen anderen Wert zu setzen, z.B. 0. Die Geschwindigkeit für die Bestimmung der Angabe dt kann gemessen, aus gemessenen Größen berechnet oder geschätzt werden.
  • Dadurch übt der Roboter 102 auf das erste Werkstück 106 eine konstante Kraft in z Richtung aus, mit der das Werkstück 106 in z Richtung bewegt wird. Der Roboter 102 wird durch Momente in x Richtung und y Richtung bezüglich der Greifeinrichtung 108 bewegt.
  • Ein Beispiel für eine andere Anwendung ist eine Bewegung des Roboters 102 in der das erste Werkstück 108 in die Öffnung 118 geschraubt werden soll. In diesem Fall kann eine andauernde Drehbewegung um die sich in z Richtung erstreckende Achse sinnvoll sein. Dies kann berücksichtigt werden, indem der Eingang des ersten künstlichen neuronalen Netzwerks 204 unabhängig von der geschätzten Kraft in x Richtung ƒ̂x, unabhängig von der geschätzten Kraft in y Richtung ƒ̂y, unabhängig von der geschätzten Kraft in z Richtung ƒ̂z, abhängig vom geschätzten Moment τ̂x, abhängig vom geschätzten Moment τ̂y und unabhängig vom geschätzten Moment τ̂z bestimmt wird. Der erste Ausgang des ersten künstlichen neuronalen Netzwerks 204 kann in diesem Fall ein erster Sollwert für das Moment τ x r
    Figure DE102020206913A1_0012
    sein. Der zweite Ausgang des ersten künstlichen neuronalen Netzwerks 204 kann in diesem Fall ein zweiter Sollwert für das Moment τ y r
    Figure DE102020206913A1_0013
    sein. Die anderen Größen für die Bestimmung der Stellgröße ζ =   [ ƒ x   ƒ y   ƒ z   τ x r   τ y r   τ z r ]
    Figure DE102020206913A1_0014
    werden in diesem Fall unabhängig vom ersten künstlichen neuronalen Netzwerk 204 bestimmt.
  • Die Belohnung rt kann durch eine erste Belohnungsfunktion vorgegeben sein, die einem Übergang zu einem Endzustand einen Wert für die Belohnung rt = 0 zuweist und jedem andern Übergang einen Wert für die Belohnung rt = -1.
  • Die Belohnung rt kann durch eine zweite Belohnungsfunktion vorgegeben sein, die einem Übergang einen Wert abhängig von einem Abstand der momentanen Pose p der Greifeinrichtung 108 und einer Pose p der Greifeinrichtung in einem Endzustand zuweist. Der Endzustand ist im Beispiel erreicht, wenn das zweite Werkstück 116 das erste Werkstück 106 in der dafür vorgesehenen Öffnung 118 aufnimmt.
  • Im Beispiel wird dazu eine erste Belohnung rp abhängig von einem Positionsfehler ΔP bestimmt. Im Beispiel wird der Positionsfehler ΔP als eine l2 Norm eines Euklidischen Differenzvektors bestimmt. Der Differenzvektor wird beispielsweise aus der Position aus der momentanen Pose p der Greifeinrichtung 108 und der Position aus der Pose p der Greifeinrichtung 108 im Endzustand bestimmt. Im Beispiel wird dazu eine zweite Belohnung rR abhängig von einem Orientierungsfehler ΔR bestimmt. Im Beispiel wird der Orientierungsfehler ΔR als eine l2 Norm eines Winkelfehlers für eine Drehung bezüglich der x-Achse und eines Winkelfehlers für eine Drehung bezüglich der y-Achse zwischen der Orientierung aus der momentanen Pose p der Greifeinrichtung 108 und der Orientierung aus der Pose p der Greifeinrichtung 108 im Endzustand bestimmt. Im Beispiel wird die Drehung bezüglich der z-Achse nicht berücksichtigt. Die Drehung bezüglich der z-Achse kann in anderen Aufgabenstellungen berücksichtigt werden.
  • Die zweite Belohnungsfunktion ist im Beispiel: r t = r P + r R = 1 2 ( e x p ( Δ P σ P ) + e x p ( Δ R σ R ) ) 1
    Figure DE102020206913A1_0015
    mit einem einstellbaren ersten Parameter σP = 0.015 und einem einstellbaren zweiten Paramter σR = 0.7 bestimmt. Dadurch bleibt die Belohnung rt im Beispiel in einem Intervall [-1,0].
  • In einer derartigen Anordnung ist es leicht möglich, dass im Lernprozess Divergenzen auftreten, da im zughörigen Datengraph große Pfadlängen zwischen einem Ausgangszustand und dem Endzustand auftreten.
  • Um diese Divergenzen im Lernprozess, d.h. im Training, zu vermeiden ist vorgesehen, dass folgenlose Aktionen und zusätzliche obere Schranken UB und untere Schranken LB im Lernprozess eingesetzt werden. Die oberen Schranken UB und unteren Schranken LB werden im Beispiel abhängig von einer minimalen Belohnung und einer maximalen Belohnung definiert. Im Beispiel werden eine untere Schranke 1 1 γ
    Figure DE102020206913A1_0016
    und eine obere Schranke 0 für die Q-Funktion Qtarget vorgesehen für die gilt: 1 1 γ Q t a r g e t 0
    Figure DE102020206913A1_0017
  • Die folgenlosen Aktionen werden im Beispiel für den zweiten Teil der Stellgröße definiert. Im Beispiel werden τ x r = 0,
    Figure DE102020206913A1_0018
    τ y r = 0
    Figure DE102020206913A1_0019
    als folgenlose Aktion definiert. Die folgenlosen Aktionen können in anderen Szenarien auch für andere Teile der Stellgröße definiert sein.
  • Im Beispiel ist eine Lerneinrichtung 210 vorgesehen, die ausgebildet ist, die Belohnung rt abhängig von wenigstens einer der Belohnungsfunktionen zu bestimmen. Die Lerneinrichtung 210 ist im Beispiel ausgebildet, einen Wert der Q-Funktion Qtarget zu bestimmen. Es kann vorgesehen sein, dass Lerneinrichtung 210 ausgebildet ist, die Angabe dt auszuwerten, und den Wert der Q-Funktion Qtarget abhängig von einem Wert der Angabe dt entweder unabhängig vom Q-Wert zu bestimmen, wenn der mit der Aktion at erreichte Zustand st+1 ein Endzustand ist, oder anderenfalls abhängig vom Q-Wert zu bestimmen. Es kann vorgesehen sein, dass die Lerneinrichtung ausgebildet ist, den Wert der Q-Funktion Qtarget mit der unteren Schranke LB oder der oberen Schranke UB zu begrenzen.
  • Für ein Training des ersten künstlichen neuronalen Netzwerks 204 kann eine Kostenfunktion abhängig vom Q-Wert Q(st,at) an einem Ausgang des zweiten künstlichen neuronalen Netzwerks 206 definiert sein: Q ( s t , a t )
    Figure DE102020206913A1_0020
  • Ziel des Trainings ist im Beispiel, Parameter des ersten künstlichen neuronalen Netzwerks 204 zu lernen, für die diese Kostenfunktion einen kleineren Wert hat, als für andere Parameter. Durch die Definition des Q-Werts Q(st,at) ist dieser selbst im Beispiel negativ. Diese Kostenfunktion wird daher im Beispiel in einem Gradientenabstiegsverfahren minimiert.
  • Im Folgenden wird ein Training des ersten künstliche neuronalen Netzwerks 204 und des zweiten künstlichen neuronalen Netzwerks 206 beschrieben. Zum Training kann ein Adam Optimierer eingesetzt werden.
  • Das erste künstliche neuronale Netzwerk 204, d.h. das actor network, umfasst im Beispiel drei vollständig verbundene Schichten, in dem zwei verborgene Schichten jeweils 100 Neuronen umfassen. Das erste künstliche neuronale Netzwerk 204 umfasst eine Eingangsschicht für Kräfte und Momente, die den Zustand st angeben. Im Beispiel werden die geschätzten Größen ζ̂ = [ƒ̂x ƒ̂y ƒ̂z τ̂x τ̂y τ̂z] verwendet. Die Kräfte und Momente können im Beispiel linear auf Werte einer Zustandsbeschreibung in einem Intervall [-1,+1] abgebildet sein. Das erste künstliche neuronale Netzwerk 204 umfasst eine Ausgangsschicht für Kräfte und Momente die eine Aktion at definieren. Die Schichten umfassen im Beispiel tanh-Aktivierungsfunktionen. Die Gewichte für die Schichten können zufällig initialisiert sein insbesondere durch eine Glorot Gleichverteilung. Ein Ausgang der Ausgangsschicht definiert im Beispiel die Stellgröße ζ =   [ ƒ x ƒ y ƒ z τ x r τ y r τ z r ]
    Figure DE102020206913A1_0021
    für die Aktion at. Im Beispiel ist die Ausgabeschicht zweidimensional. Der erste Ausgang definiert im Beispiel das Moment τ x r
    Figure DE102020206913A1_0022
    in x-Richtung. Der zweite Ausgang definiert im Beispiel das Moment τ y r
    Figure DE102020206913A1_0023
    in y-Richtung. Im Beispiel ist der erste Teil ƒx ƒy ƒz der Stellgröße ζ = [ ƒ x   ƒ y   ƒ z   τ x r   τ y r   τ z r ]
    Figure DE102020206913A1_0024
    unabhängig vom ersten künstlichen neuronalen Netzwerk 204 konstant vorgegeben, beispielsweise ƒx = 0, ƒy = 0, ƒz = -15, τ z r = 0.
    Figure DE102020206913A1_0025
    Der erste Ausgang und der zweite Ausgang definieren den zweite Teil der Stellgröße ζ =   [ ƒ x   ƒ y   ƒ z   τ x r   τ y r   τ z r ] .
    Figure DE102020206913A1_0026
  • Das zweite künstliche neuronale Netzwerk 206, d.h. das critic network, umfasst im Beispiel drei vollständig verbundene Schichten, in dem zwei verborgene Schichten jeweils 100 Neuronen umfassen. Das zweite künstliche neuronale Netzwerk 206 umfasst eine Eingangsschicht für Kräfte und Momente, die den Zustand st und die Aktion at angeben. Die Kräfte und Momente können im Beispiel linear auf Werte einer Zustandsbeschreibung in einem Intervall [-1,+1] abgebildet sein. Das zweite künstliche neuronale Netzwerk 206 umfasst eine eindimensionale Ausgangsschicht. Die Ausgangsschicht umfasst im Beispiel keine Nichtlinearität insbesondere keine Aktivierungsfunktion. Am Ausgang des zweiten künstlichen neuronalen Netzwerks 206 wird der Q-Wert Q(st,at) ausgegeben. Die anderen Schichten umfassen im Beispiel ReLU-Aktivierungsfunktionen. Die Gewichte für die Schichten können zufällig initialisiert sein insbesondere durch eine He Gleichverteilung.
  • Im Training kann vorgesehen sein, die Greifeinrichtung 108 aus einer Startpose heraus zu bewegen. Die Startpose kann eine von beispielsweise 8 möglichen vorgegebenen Startposen sein. Eine Episode des Trainings wurde im Beispiel entweder beendet, wenn der Endzustand erreicht wurde, oder nach einer vorgegebenen Anzahl Rechenschritte t = T, beispielsweise T=1000. Im Beispiel wurde in einer vorgegebenen Anzahl Episoden, beispielsweise 40 Episoden, trainiert. Die Gewichte des ersten künstlichen neuronalen Netzwerks 204 und/oder des zweiten künstlichen neuronalen Netzwerks 206 wurden im Beispiel in der Episode nach einer vorgegebenen Anzahl Rechenschritt t = N, beispielsweise N=20, bestimmt. Nach dem Training kann eine Testphase ausgeführt werden. In der Testphase kann eine vorgegebene Anzahl Episoden, im Beispiel 8 Episoden, ausgeführt werden. Die Startpose kann sich in der Testphase von der Startpose oder den Startposen aus dem Training unterscheiden.
  • Im Training werden durch das erste künstliche neuronale Netzwerk 204 abhängig von dessen Gewichten unterschiedliche Aktionen at ausgeführt. Im Training werden durch das zweite künstliche neuronale Netzwerk 206 abhängig von dessen Gewichten unterschiedliche Werte der Q-Funktion Qtarget ausgeführt. Das Training erfolgt im Beispiel ausgehend von durch Anpassen der Gewichte des ersten künstlichen neuronalen Netzwerks 204 und/oder des zweiten künstlichen neuronalen Netzwerks 206. Das Ziel des Trainings ist beispielsweise, die Gewichte des ersten künstlichen neuronalen Netzwerks 204 und/oder des zweiten künstlichen neuronalen Netzwerks 206 derart anzupassen, das durch eine Aktion at, die das erste künstliche neuronale Netzwerk 204 bestimmt, ein Wert der Q-Funktion Qtarget, den das zweite künstliche neuronale Netzwerk 206 bestimmt, eine größeren Wert annimmt, als der Wert für andere Gewichte. Beispielsweise werden die Gewichte des ersten künstlichen neuronalen Netzwerks 204 und/oder des zweiten künstlichen neuronalen Netzwerks 206 bestimmt, für die der Wert der Q-Funktion Qtarget einen maximalen Wert annimmt. Für das Anpassen der Gewichte wird im Beispiel eine Kostenfunktion verwendet, die abhängig von den Gewichten des ersten künstlichen neuronalen Netzwerks 204 und/oder des zweiten künstlichen neuronalen Netzwerks 206 definiert ist.
  • Die Kostenfunktion ist im Beispiel abhängig von dem Ausgang des ersten künstlichen neuronalen Netzwerks 204 und des zweiten künstlichen neuronalen Netzwerks 206 definiert. Die Gewichte des ersten künstlichen neuronalen Netzwerks 204 und/oder des zweiten künstlichen neuronalen Netzwerks 206 werden im Beispiel abhängig von einem Wert eines Gradienten für die Kostenfunktion und einer Lernrate angepasst, die definiert, welchen Einfluss der Wert des Gradienten der Kostenfunktion auf einzelne dieser Gewichte hat. Es kann eine Wahl unterschiedlicher Lernraten für das erste künstliche neuronale Netzwerk 204 und für das zweite künstliche neuronale Netzwerk vorgesehen sein. Vorzugsweise ist eine erste Lernrate des ersten künstlichen neuronalen Netzwerks 204 kleiner als eine zweite Lernrate des zweiten künstlichen neuronalen Netzwerks 206. Vorteilhaft ist es, wenn die erste Lernrate um einen Faktor 10 kleiner ist als die zweite Lernrate.
  • Als Hyperparameter für das Training können außer der ersten Lernrate und der zweiten Lernrate auch die vorstehend erwähnten vorgegebenen Anzahlen von Rechenschritten und/oder Episoden variiert werden.
  • Bevorzugt wird die erste Belohnungsfunktion verwendet, da diese mit weniger Rechenspeicher auskommt. Dies ist insbesondere in einem Embedded System vorteilhaft. Die erste Belohnungsfunktion ist eine spares rewards Funktion, welche einfacher allgemein zu definieren ist, als die zweite Belohnungsfunktion. Dadurch kann ein Anwender in einem Werk das Training schneller abschließen. Dies ist insbesondere im industriellen Umfeld vorteilhaft, in dem ein Roboter 102 für eine Aufgabe trainiert werden soll.
  • Durch dieses Verfahren werden gegenüber dem Verfahren nach Deep Deterministic Policy Gradients im Training folgende Vorteile erreicht:
    • höhere Robustheit gegen Änderungen in den Hyperparametern, zuverlässigeres Erreichen des Endzustands,
    • geringere Varianz hinsichtlich der Initialisierung der Gewichte mit unterschiedlichen Random Seeds,
    • höhere Robustheit gegenüber einer Änderung der Belohnungsfunktion,
    • höhere Robustheit gegenüber beschränktem Speicher, z.B. in embedded systems,
    • sicherere Exploration.
  • 3 stellt Schritte in einem Verfahren zum Betreiben des Roboters 102 schematisch dar.
  • In einem Schritt 300 wird wenigstens eine Kraft und wenigstens ein Moment bestimmt, die auf einen Endeffektor 108 des Roboters 102 wirken. Es kann vorgesehen sein, die geschätzten Größen ζ̂ = [ƒ̂x ƒ̂y ƒ̂z τ̂x τ̂y τ̂z] zu bestimmen oder entsprechende Größen wie beschrieben zu bestimmen.
  • In einem Schritt 302 wird der erste Zustand st abhängig von der wenigstens einen Kraft und dem wenigstens einen Moment bestimmt.
  • Der erste Zustand st ist im Beispiel bezüglich einer Achse definiert, wobei eine Kraft eine Bewegung des Endeffektors 108 in Richtung der Achse bewirkt, wobei ein Moment eine Drehung des Endeffektors 108 um die Achse bewirkt.
  • Im Beispiel wird ein Vektor bestimmt, der den ersten Zustand st definiert, wobei der Vektor eine erste Kraft, eine zweite Kraft, eine dritte Kraft, ein erstes Moment, ein zweites Moment, und ein drittes Moment definiert, wobei unterschiedliche Achsen für die Kräfte definiert sind, wobei jedem Moment eine andere der unterschiedlichen Achsen zugeordnet ist. Der Vektor ist beispielsweise durch die geschätzten Größen ζ̂ = [ƒ̂x ƒ̂y ƒ̂z τ̂x τ̂y τ̂z] definiert.
  • In einem Schritt 304 wird abhängig von einem ersten Zustand st des Roboters 102 und/oder seiner Umgebung und abhängig von einem Ausgang eines ersten Modells ein erster Teil einer Stellgröße zum Ansteuern des Roboters 102 für einen Übergang vom ersten Zustand st in den zweiten Zustand st+1 des Roboters 102 bestimmt.
  • Das erste Modell umfasst beispielsweise das erste künstliche neuronale Netzwerk 204. Ein erster Teil des Vektors definiert im Beispiel den Eingang für das erste künstliche neuronale Netzwerk 204 zur Bestimmung des ersten Teils der Stellgröße. Der Eingang des ersten künstlichen neuronalen Netzwerks 204 ist im Beispiel unabhängig von einem zweiten Teil des Vektors definiert.
  • In einem Schritt 306 wird ein zweiter Teil der Stellgröße abhängig vom ersten Zustand st und unabhängig vom ersten Modell bestimmt.
  • Im Beispiel wird ein Vektor bestimmt, der die Stellgröße definiert. Der Vektor umfasst eine erste Kraft, eine zweite Kraft, eine dritte Kraft, ein erstes Moment, ein zweites Moment, und ein drittes Moment, wobei unterschiedliche Achsen für die Kräfte definiert sind. Jedem Moment ist eine andere der unterschiedlichen Achsen zugeordnet.
  • Ein erster Teil des Vektors wird im Beispiel unabhängig von einem Ausgang des ersten künstlichen neuronalen Netzwerks 204 insbesondere konstant definiert.
  • Ein zweiter Teil des Vektors wird im Beispiel abhängig vom Ausgang des ersten künstlichen neuronalen Netzwerks 204 definiert.
  • Im Beispiel wird der Vektor wie für die Stellgröße ζ = [ ƒ x   ƒ y   ƒ z   τ x r   τ y r   τ z r ]
    Figure DE102020206913A1_0027
    beschrieben bestimmt.
  • In einem Schritt 308 wird der Datengraph abhängig von wenigstens einem Zustand des Roboters 102 bestimmt. Im Beispiel wird der zuletzt erfolgte Übergang verwendet, um den Datengraph zu ergänzen. Einem Knoten, der im Datengraph ein Blatt darstellt, und der keinem Endzustand des Roboters 102 zugeordnet ist, kann eine Kante zugeordnet werden, die eine folgenlose Aktion definiert. Die folgenlose Aktion ist optional einem insbesondere konstanten Wert für den ersten Teil der Stellgröße zugeordnet.
  • In einem Schritt 310 wird abhängig vom ersten Zustand und abhängig vom Ausgang des ersten Modells mit einem zweiten Modell ein Gütemaß bestimmt.
  • Das zweite Modell umfasst im Beispiel das zweite künstliche neuronale Netzwerk 206. Der Vektor definiert im Beispiel den Eingang für das zweite künstliche neuronale Netzwerk 206. Der Ausgang des zweiten künstlichen neuronalen Netzwerks 206 definiert im Beispiel das Gütemaß.
  • In einem Schritt 312 wird wenigstens ein Parameter des ersten Modells abhängig vom Gütemaß bestimmt. Dazu wird das Training wie zuvor für das erste künstliche neuronale Netzwerk 204 beschrieben ausgeführt.
  • In einem Schritt 314 wird ein Sollwert abhängig von einer Belohnung bestimmt wird, die dem Übergang vom ersten Zustand in den zweiten Zustand zugeordnet ist.
  • Der Sollwert wird im Beispiel abhängig von einer Schranke bestimmt. Die Schranke wird abhängig vom Datengraph bestimmt. Im Beispiel wird abhängig vom ersten Zustand der Teilgraph des Graphen bestimmt und die Schranke wie beschrieben abhängig von den Q-Werten bestimmt, die den Knoten des Teilgraphen zugeordnet sind.
  • In einem optionalen Schritt 314 ist vorgesehen, dass der Sollwert abhängig von einer vorgegebenen Schranke bestimmt wird, der aufgabenabhängig Domänenwissen berücksichtigt.
  • In einem Schritt 316 wird abhängig vom Gütemaß und dem Sollwert wenigstens ein Parameter des zweiten Modells bestimmt. Dazu wird das Training wie zuvor für das zweite künstliche neuronale Netzwerk 206 beschrieben ausgeführt.
  • Die Schritte des Verfahrens können in dieser oder anderer Reihenfolge für mehrere Episoden und/oder Epochen wiederholt werden, um das erste künstliche neuronale Netzwerk 204 gemäß der optimalen Strategie zu trainieren, den Q-Wert des zweiten künstlichen neuronalen Netzwerks 206 zu maximieren. Es kann vorgesehen sein, den Roboter 102 abhängig von der Stellgröße ζ anzusteuern, die durch die optimale Strategie bestimmt wird.
  • Der Endeffektor 108 kann wenigstens einen Finger 114 umfasst, der den zum ersten Werkstück 110 komplementären Abschnitt aufweist und dessen Oberfläche selbstzentrierend ausgeführt ist. Dadurch wird ein besonders guter Halt beim konstanten Druck nach unten ermöglicht. Besonders wichtig ist auch die Selbstzentrierung bei hohen Momenten, die bezüglich des Arbeitsraums 110 nicht senkrecht nach unten wirken. Dadurch kann ein ansonsten mögliches Verdrehen des Objektes vermieden werden.

Claims (16)

  1. Verfahren zum Betreiben eines Roboters (102), dadurch gekennzeichnet, dass abhängig von einem ersten Zustand des Roboters (102) und/oder seiner Umgebung und abhängig von einem Ausgang eines ersten Modells ein erster Teil einer Stellgröße zum Ansteuern des Roboters (102) für einen Übergang vom ersten Zustand in einen zweiten Zustand des Roboters (102) bestimmt wird (304), wobei ein zweiter Teil der Stellgröße abhängig vom ersten Zustand und unabhängig vom ersten Modell bestimmt wird (306), wobei abhängig vom ersten Zustand und abhängig vom Ausgang des ersten Modells mit einem zweiten Modell ein Gütemaß bestimmt wird (310), wobei wenigstens ein Parameter des ersten Modells abhängig vom Gütemaß bestimmt wird (312), wobei abhängig vom Gütemaß und einem Sollwert wenigstens ein Parameter des zweiten Modells bestimmt wird (316), wobei der Sollwert abhängig von einer Belohnung bestimmt wird (314), die dem Übergang vom ersten Zustand in den zweiten Zustand zugeordnet ist.
  2. Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass wenigstens eine Kraft und wenigstens ein Moment bestimmt wird (300), die auf einen Endeffektor (108) des Roboters (102) wirken, wobei der erste Zustand und/oder der zweite Zustand abhängig von der wenigstens einen Kraft und dem wenigstens einen Moment bestimmt wird (302).
  3. Verfahren nach Anspruch 2, dadurch gekennzeichnet, dass der erste Zustand und/oder der zweite Zustand bezüglich einer Achse definiert ist (302), wobei eine Kraft eine Bewegung des Endeffektors (108) in Richtung der Achse bewirkt, wobei ein Moment eine Drehung des Endeffektors (108) um die Achse bewirkt.
  4. Verfahren nach Anspruch 3, dadurch gekennzeichnet, dass ein Vektor bestimmt wird (302), der einen konstanten Teil der Stellgröße definiert, wobei der Vektor eine erste Kraft, eine zweite Kraft, eine dritte Kraft, ein erstes Moment, ein zweites Moment, und ein drittes Moment definiert, wobei unterschiedliche Achsen für die Kräfte definiert sind, wobei jedem Moment eine andere der unterschiedlichen Achsen zugeordnet ist.
  5. Verfahren nach Anspruch 4, dadurch gekennzeichnet, dass das erste Modell einen ersten Funktionsapproximator, insbesondere einen ersten Gaussprozess oder ein erstes künstliches neuronales Netzwerk (204) umfasst, wobei ein erster Teil des Vektors einen Eingang dafür definiert (304), wobei der Eingang unabhängig von einem zweiten Teil des Vektors definiert ist (306).
  6. Verfahren nach Anspruch 4 oder 5, dadurch gekennzeichnet, dass das zweite Modell einen zweiten Funktionsapproximator, insbesondere einen zweiten Gaussprozess oder ein zweites künstliches neuronales Netzwerk (206) umfasst, wobei der Vektor den Eingang dafür definiert.
  7. Verfahren nach einem der Ansprüche 3 bis 6, dadurch gekennzeichnet, dass ein Vektor bestimmt wird, der die Stellgröße definiert (304,306), wobei der Vektor eine erste Kraft, eine zweite Kraft, eine dritte Kraft, ein erstes Moment, ein zweites Moment, und ein drittes Moment definiert, wobei unterschiedliche Achsen für die Kräfte definiert sind, wobei jedem Moment eine andere der unterschiedlichen Achsen zugeordnet ist, wobei ein erster Teil des Vektors unabhängig von einem Ausgang des ersten künstlichen neuronalen Netzwerks (204), welches das erste Modell umfasst, insbesondere konstant definiert ist (306), wobei ein zweiter Teil des Vektors abhängig vom Ausgang des ersten künstlichen neuronalen Netzwerks (204) definiert ist (304).
  8. Verfahren nach einem der vorherigen Ansprüche, dadurch gekennzeichnet, dass der Endeffektor (108) wenigstens einen Finger (114) umfasst, der einen zu einem Werkstück (110) komplementären Abschnitt aufweist, dessen Oberfläche griffig oder selbstzentrierend ausgeführt ist.
  9. Verfahren nach einem der vorherigen Ansprüche, dadurch gekennzeichnet, dass der Sollwert abhängig von einer Schranke bestimmt wird (310), wobei die Schranke abhängig von einem Graph bestimmt wird, in dem ein Knoten einen Zustand des Roboters (102) definiert, wobei abhängig vom ersten Zustand ein Teilgraph des Graphen bestimmt wird, der einem ersten Knoten, der den ersten Zustand repräsentiert, umfasst, wobei die Schranke abhängig von Werten bestimmt wird, die den Knoten des Teilgraphen zugeordnet sind, die ein Pfad vom ersten Knoten zu einem zweiten Knoten, der einen Endzustand für den Roboter (102) repräsentiert, umfasst.
  10. Verfahren nach Anspruch 9, dadurch gekennzeichnet, dass der Graph abhängig von wenigstens einem Zustand des Roboters (102) bestimmt wird (308), wobei für einen Knoten, der im Graph ein Blatt darstellt, und der keinem Endzustand des Roboters (102) zugeordnet ist, eine Kante zugeordnet wird, die eine folgenlose Aktion definiert.
  11. Verfahren nach Anspruch 10, dadurch gekennzeichnet, dass die folgenlose Aktion einem insbesondere konstanten Wert für den ersten Teil der Stellgröße zugeordnet ist (308). Dadurch bleiben die veränderlichen Teile der residual policy für die Bestimmung der Schranke unberücksichtigt.
  12. Verfahren nach einem der vorherigen Ansprüche, dadurch gekennzeichnet, dass der Sollwert abhängig von einer vorgegebenen Schranke bestimmt wird (314).
  13. Verfahren nach einem der vorherigen Ansprüche, dadurch gekennzeichnet, dass für ein Training des ersten künstlichen neuronalen Netzwerks (204) eine Kostenfunktion abhängig von einem Ausgang des zweiten künstlichen neuronalen Netzwerks (206) bestimmt wird, wobei im Training Parameter des ersten künstlichen neuronalen Netzwerks (204) gelernt werden, für die diese Kostenfunktion einen kleineren Wert hat, als für andere Parameter.
  14. Verfahren nach einem der vorherigen Ansprüche, dadurch gekennzeichnet, dass in einem Training für das zweite künstliche neuronale Netzwerk (206) für einen Ausgang des zweiten künstlichen neuronalen Netzwerks (206) eine Kostenfunktion abhängig vom Ausgang des zweiten künstlichen neuronalen Netzwerks (206) und dem Sollwert definiert ist, wobei Parameter des zweiten künstlichen neuronalen Netzwerks (206) gelernt werden, für die die Kostenfunktion einen kleineren Wert hat, als für andere Parameter.
  15. Vorrichtung (104) zum Betreiben eines Roboters (102), dadurch gekennzeichnet, dass die Vorrichtung (104) ausgebildet ist, das Verfahren nach einem der vorherigen Ansprüche auszuführen.
  16. Computerprogramm, dadurch gekennzeichnet, dass das Computerprogramm Instruktionen umfasst, bei deren Ausführung durch einen Computer Schritte des Verfahrens nach einem der Ansprüche 1 bis 14 ausgeführt werden.
DE102020206913.1A 2020-06-03 2020-06-03 Verfahren und Vorrichtung zum Betreiben eines Roboters Active DE102020206913B4 (de)

Priority Applications (3)

Application Number Priority Date Filing Date Title
DE102020206913.1A DE102020206913B4 (de) 2020-06-03 2020-06-03 Verfahren und Vorrichtung zum Betreiben eines Roboters
US17/325,181 US11738454B2 (en) 2020-06-03 2021-05-19 Method and device for operating a robot
CN202110612407.XA CN113752251A (zh) 2020-06-03 2021-06-02 用于运行机器人的方法和设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE102020206913.1A DE102020206913B4 (de) 2020-06-03 2020-06-03 Verfahren und Vorrichtung zum Betreiben eines Roboters

Publications (2)

Publication Number Publication Date
DE102020206913A1 true DE102020206913A1 (de) 2021-12-09
DE102020206913B4 DE102020206913B4 (de) 2022-12-22

Family

ID=78604861

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102020206913.1A Active DE102020206913B4 (de) 2020-06-03 2020-06-03 Verfahren und Vorrichtung zum Betreiben eines Roboters

Country Status (3)

Country Link
US (1) US11738454B2 (de)
CN (1) CN113752251A (de)
DE (1) DE102020206913B4 (de)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102022208769B3 (de) 2022-08-24 2023-11-09 Kuka Deutschland Gmbh Roboterbahnplanung und -steuerung

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102014212747A1 (de) 2014-07-01 2016-01-07 Siemens Aktiengesellschaft Interaktives Assistenzsystem und Verfahren zur rechnergestützten Steuerungsoptimierung für ein technisches System
DE202016004627U1 (de) 2016-07-27 2016-09-23 Google Inc. Training eines neuronalen Wertnetzwerks
DE202017102235U1 (de) 2017-04-13 2017-05-12 Robert Bosch Gmbh Trainingssystem
DE102016014264A1 (de) 2015-12-07 2017-07-27 Fanuc Corporation Maschinelle Lernvorrichtung, Blechpaketherstellungsvorrichtung, Blechpaketherstellungssystem und maschinelles Lernverfahren zum Erlernen des Stapelns von Paketblechen
DE102018006946A1 (de) 2017-06-07 2018-12-13 Fanuc Corporation Steuerung und maschinelle lernvorrichtung
DE202019100641U1 (de) 2019-02-04 2019-02-08 Abb Schweiz Ag Trainingsgerät für KI-Module
DE102017218889A1 (de) 2017-10-23 2019-04-25 Robert Bosch Gmbh Unscharf parametriertes KI-Modul sowie Verfahren zum Betreiben
DE202019103046U1 (de) 2019-05-29 2019-06-07 Albert-Ludwigs-Universität Freiburg Vorrichtung zur Vorhersage einer Lernkurve
DE102018201411A1 (de) 2018-01-30 2019-08-01 Robert Bosch Gmbh Verfahren zum Ermitteln eines zeitlichen Verlaufs einer Messgröße, Prognosesystem, Aktorsteuerungssystem, Verfahren zum Trainieren des Aktorsteuerungssystems,Trainingssystem, Computerprogramm und maschinenlesbares Speichermedium
DE102019122790A1 (de) 2018-08-24 2020-02-27 Nvidia Corp. Robotersteuerungssystem

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3559865A1 (de) * 2017-01-31 2019-10-30 Deepmind Technologies Limited Dateneffizientes verstärkungslernen für kontinuierliche steuerungsaufgaben
DE112017007025T5 (de) * 2017-02-09 2019-10-24 Mitsubishi Electric Corporation Positionssteuerungseinrichtung und positionssteuerungsverfahren
US11481629B2 (en) * 2017-10-27 2022-10-25 Deepmind Technologies Limited Distributional reinforcement learning for continuous control tasks
US11709462B2 (en) * 2018-02-12 2023-07-25 Adobe Inc. Safe and efficient training of a control agent
WO2020062911A1 (en) * 2018-09-26 2020-04-02 Huawei Technologies Co., Ltd. Actor ensemble for continuous control
US11487922B2 (en) * 2020-05-11 2022-11-01 International Business Machines Corporation Optimizing control actions of a control system via automatic dimensionality reduction of a mathematical representation of the control system

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102014212747A1 (de) 2014-07-01 2016-01-07 Siemens Aktiengesellschaft Interaktives Assistenzsystem und Verfahren zur rechnergestützten Steuerungsoptimierung für ein technisches System
DE102016014264A1 (de) 2015-12-07 2017-07-27 Fanuc Corporation Maschinelle Lernvorrichtung, Blechpaketherstellungsvorrichtung, Blechpaketherstellungssystem und maschinelles Lernverfahren zum Erlernen des Stapelns von Paketblechen
DE202016004627U1 (de) 2016-07-27 2016-09-23 Google Inc. Training eines neuronalen Wertnetzwerks
DE202017102235U1 (de) 2017-04-13 2017-05-12 Robert Bosch Gmbh Trainingssystem
DE102018006946A1 (de) 2017-06-07 2018-12-13 Fanuc Corporation Steuerung und maschinelle lernvorrichtung
DE102017218889A1 (de) 2017-10-23 2019-04-25 Robert Bosch Gmbh Unscharf parametriertes KI-Modul sowie Verfahren zum Betreiben
DE102018201411A1 (de) 2018-01-30 2019-08-01 Robert Bosch Gmbh Verfahren zum Ermitteln eines zeitlichen Verlaufs einer Messgröße, Prognosesystem, Aktorsteuerungssystem, Verfahren zum Trainieren des Aktorsteuerungssystems,Trainingssystem, Computerprogramm und maschinenlesbares Speichermedium
DE102019122790A1 (de) 2018-08-24 2020-02-27 Nvidia Corp. Robotersteuerungssystem
DE202019100641U1 (de) 2019-02-04 2019-02-08 Abb Schweiz Ag Trainingsgerät für KI-Module
DE202019103046U1 (de) 2019-05-29 2019-06-07 Albert-Ludwigs-Universität Freiburg Vorrichtung zur Vorhersage einer Lernkurve

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
LILLICRAP, Timothy P. [u.a.]: Continuous control with deep reinforcement learning. 09-09-2015. arXiv:1509.02971v1. S. 1-14. URL: https://arxiv.org/pdf/1509.02971v1.pdf [abgerufen am 2020-07-02]

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102022208769B3 (de) 2022-08-24 2023-11-09 Kuka Deutschland Gmbh Roboterbahnplanung und -steuerung

Also Published As

Publication number Publication date
US11738454B2 (en) 2023-08-29
US20210379759A1 (en) 2021-12-09
DE102020206913B4 (de) 2022-12-22
CN113752251A (zh) 2021-12-07

Similar Documents

Publication Publication Date Title
DE102016014264B4 (de) Maschinelle Lernvorrichtung, Blechpaketherstellungsvorrichtung, Blechpaketherstellungssystem und maschinelles Lernverfahren zum Erlernen des Stapelns von Paketblechen
DE102017129665B3 (de) Kollisionsfreie Bewegungsplanung bei geschlossener Kinematik
DE102018122376B3 (de) Verfahren und Vorrichtung zur kollisionsfreien Bewegungsplanung eines Manipulators
DE102016117773B4 (de) Werkzeugmaschine, die eine optimale Beschleunigung/Verlangsamung erzeugt, Simulationsvorrichtung und Maschinenlernvorrichtung
DE102014108287A1 (de) Schnelles Erlernen durch Nachahmung von Kraftdrehmoment-Aufgaben durch Roboter
DE102016008994A1 (de) Werkzeugmaschine, simulationsvorrichtung und maschineneinlerngerät
DE102020209685B4 (de) Verfahren zum steuern einer robotervorrichtung und robotervorrichtungssteuerung
EP3701433B1 (de) Verfahren, vorrichtung und computerprogramm zur erstellung eines tiefen neuronalen netzes
WO2020187591A1 (de) Verfahren und vorrichtung zum ansteuern eines roboters
DE102013017425A1 (de) Verfahren für die Erkennung von Gesten eines menschlichen Körpers
DE102008029657A1 (de) Positionsgesteuerter Mechanismus und Verfahren zur Steuerung von in mehreren Bewegungsfreiheitsgraden beweglichen Mechanismen
DE102020212658A1 (de) Vorrichtung und Verfahren zum Steuern einer Robotervorrichtung
EP4013574A1 (de) Automatisierungssystem und verfahren zur handhabung von produkten
DE102020214231A1 (de) Verfahren zum steuern einer robotervorrichtung und robotersteuereinrichtung
DE102021204697A1 (de) Verfahren zum Steuern einer Robotervorrichtung
DE102020206913B4 (de) Verfahren und Vorrichtung zum Betreiben eines Roboters
EP3741518B1 (de) Verfahren und vorrichtung für eine automatisierte beeinflussung eines aktuators
EP3530418A1 (de) Verfahren und vorrichtung zum bestimmen eines optimierten bewegungsablaufs einer robotereinrichtung
DE102020211648A1 (de) Vorrichtung und Verfahren zum Steuern einer Robotervorrichtung
DE102022201116B4 (de) Verfahren zum Steuern einer Robotervorrichtung
DE202019103862U1 (de) Vorrichtung zum Erstellen einer Strategie für einen Roboter
DE102019210372A1 (de) Verfahren, Vorrichtung und Computerprogramm zum Erstellen einer Strategie für einen Roboter
EP0614547B1 (de) Verfahren zur regelung für dynamische systeme n-ter ordnung
DE102022208082B3 (de) Verfahren zum Steuern eines technischen Systems
DE102021209761A1 (de) Verfahren zum Trainieren einer Steuerungsstrategie

Legal Events

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