DE102022204724A1 - Verfahren zum Steuern einer Robotervorrichtung - Google Patents

Verfahren zum Steuern einer Robotervorrichtung Download PDF

Info

Publication number
DE102022204724A1
DE102022204724A1 DE102022204724.9A DE102022204724A DE102022204724A1 DE 102022204724 A1 DE102022204724 A1 DE 102022204724A1 DE 102022204724 A DE102022204724 A DE 102022204724A DE 102022204724 A1 DE102022204724 A1 DE 102022204724A1
Authority
DE
Germany
Prior art keywords
action
pixel
value
image
neural network
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
DE102022204724.9A
Other languages
English (en)
Inventor
Gerhard Neumann
Chau Rodrigo
Anh Vien Ngo
Hanna Ziesche
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 DE102022204724.9A priority Critical patent/DE102022204724A1/de
Priority to US18/192,420 priority patent/US20230364776A1/en
Priority to CN202310538127.8A priority patent/CN117047748A/zh
Publication of DE102022204724A1 publication Critical patent/DE102022204724A1/de
Pending legal-status Critical Current

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/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/1694Programme controls characterised by use of sensors other than normal servo-feedback from position, speed or acceleration sensors, perception control, multi-sensor controlled systems, sensor fusion
    • B25J9/1697Vision controlled systems
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/02Programme-controlled manipulators characterised by movement of the arms, e.g. cartesian coordinate type
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1612Programme controls characterised by the hand, wrist, grip 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/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/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
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/764Arrangements for image or video recognition or understanding using pattern recognition or machine learning using classification, e.g. of video objects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/82Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/50Context or environment of the image
    • 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/39271Ann artificial neural network, ffw-nn, feedforward neural network
    • 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/40078Sort objects, workpieces
    • 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/40607Fixed camera to observe workspace, object, workpiece, global

Abstract

Gemäß verschiedenen Ausführungsformen wird ein Verfahren zum Steuern einer Robotervorrichtung beschrieben, aufweisend Beschaffen eines Bildes von einer Umgebung der Robotervorrichtung, Verarbeiten des Bildes mittels eines neuronalen Netzes, das eingerichtet ist, aus dem Bild für mindestens einen Aktionsparameterwert ein jeweiliges Werte-Bild mit Pixelwerten für mehrere Pixel auszugeben, wobei für jeden Pixel der Pixelwert eine Bewertung einer Aktion, die durch den Aktionsparameterwert und die Position des Pixels in dem Werte-Bild spezifiziert wird, angibt, wobei das neuronale Netzwerk ein Encoder-Netzwerk und ein Decoder-Netzwerk mit einem Engpass zwischen dem Encoder-Netzwerk und dem Decoder-Netzwerk aufweist und Skip-Verbindungen zwischen dem Encoder-Netzwerk und Decoder-Netzwerk aufweist, Auswählen, aus mehreren Aktionen, derjenigen Aktion, für die der Pixelwert des Pixels in dem Werte-Bild für den Aktionsparameterwert an der Position, die zusammen mit dem Aktionsparameterwert die Aktion spezifiziert, unter den mehreren Aktionen maximal ist und Steuern der Robotervorrichtung zum Ausführen der ausgewählten Aktion.

Description

  • Stand der Technik
  • Die vorliegende Offenbarung bezieht sich auf Verfahren zum Steuern einer Robotervorrichtung.
  • Eine Robotervorrichtung, wie z.B. ein Roboterarm, der Gegenstände einsortieren soll, sollte in der Lage sein, sich an verschiedene Situationen, z.B. Ausgangszustände anzupassen. Insbesondere sollte die Robotervorrichtung in der Lage sein, einen Gegenstand unabhängig von seiner Anfangsposition und der Zielposition, die von dem Gegenstand abhängen kann, einzusortieren. Dazu kann es allerdings nötig sein, dass die Robotervorrichtung (d.h. eine Steuereinrichtung der Robotervorrichtung) einen längeren Zeitraum, d.h. mehrere Steuerungsschritte in ihre Entscheidungen einbezieht. Beispielsweise kann es beim Einsortieren eines Gegenstands erforderlich sein, dass die Robotervorrichtung hintereinander den Gegenstand oder andere Gegenstände in unterschiedliche Richtungen verschiebt, bevor das Ziel erreicht ist, beispielsweise zum Umgehen oder Entfernen von Hindernissen (z.B. von anderen Gegenständen, die sich im Weg des aktuellen Gegenstands befinden).
  • Es sind deshalb Herangehensweisen zum Steuern einer Robotervorrichtung erforderlich, die eine erfolgreiche und effiziente Steuerung für unterschiedliche Situationen, die eine (längere) Sequenz von Aktionen erfordern, ermöglichen.
  • Offenbarung der Erfindung
  • Gemäß verschiedenen Ausführungsformen wird ein Verfahren zum Steuern einer Robotervorrichtung bereitgestellt, aufweisend Beschaffen eines Bildes von einer Umgebung der Robotervorrichtung, Verarbeiten des Bildes mittels eines neuronalen Netzes, das eingerichtet ist, aus dem Bild für mindestens einen Aktionsparameterwert ein jeweiliges Werte-Bild mit Pixelwerten für mehrere Pixel auszugeben, wobei für jeden Pixel der Pixelwert eine Bewertung einer Aktion, die durch den Aktionsparameterwert und die Position des Pixels in dem Werte-Bild spezifiziert wird, angibt, wobei das neuronale Netzwerk ein Encoder-Netzwerk und ein Decoder-Netzwerk mit einem Engpass zwischen dem Encoder-Netzwerk und dem Decoder-Netzwerk aufweist und Skip-Verbindungen zwischen dem Encoder-Netzwerk und Decoder-Netzwerk aufweist, Auswählen, aus mehreren Aktionen, derjenigen Aktion, für die der Pixelwert des Pixels in dem Werte-Bild für den Aktionsparameterwert an der Position, die zusammen mit dem Aktionsparameterwert die Aktion spezifiziert, unter den mehreren Aktionen maximal ist und Steuern der Robotervorrichtung zum Ausführen der ausgewählten Aktion.
  • Die Verwendung einer Architektur mit Skip-Verbindungen (d.h. Überspringungsverbindungen, auch engl. als Skip-Connections bezeichnet) ermöglicht die Beibehaltung von Details mit hoher Granularität und so eine hohe Genauigkeit des neuronalen Netzwerks für Aufgaben, die eine längere Kette von Aktionen unterschiedlichen oder gleichen Typs (und somit die Auswahl von Steuerungsaktionen über einen langen Zeithorizont) erfordern, wie z.B. das mehrschrittige Bewegen von Objekten, z.B. das Verschieben von Objekten zum Einsortieren in jeweilige Behälter.
  • 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, aufweisend Trainieren des neuronalen Netzwerks mittels Zielwerten für die Bewertungen, wobei die Zielwerte mittels einer zweiten Instanz des neuronalen Netzwerks gemäß Double-Deep-Q-Learning ermittelt werden.
  • Das Verwenden von Double-Deep-Q-Learning reduziert das Problem überschätzter Q-Werte und verbessert so insbesondere die Leistungsfähigkeit bei hochdimensionalen Steuerungsaufgaben mit langen Zeithorizonten.
  • Ausführungsbeispiel 3 ist ein Verfahren nach Ausführungsbeispiel 1 oder 2, aufweisend Trainieren des neuronalen Netzwerks mittels Zielwerten für die Bewertungen, wobei die Zielwerte aus Belohnungen aus Steuerungsdurchläufen ermittelt werden und wobei das Training so durchgeführt wird, dass ein Sample (d.h. ein Tupel aus Zustand, Aktion, nächstem Zustand und Belohnung) aus den Steuerungsdurchläufen gegenüber einem anderen Sample aus den Steuerungsdurchläufen priorisiert wird, wenn die für das Sample von dem neuronalen Netzwerk geschätzte Bewertung stärker von dem Zielwert für die Bewertung abweicht als für das andere Sample.
  • Damit wird mit weniger Durchläufen eine hohe Genauigkeit des neuronalen Netzwerks erreicht.
  • Ausführungsbeispiel 4 ist ein Verfahren nach einem er Ausführungsbeispiele 1 bis 3, wobei das neuronale Netzwerk eingerichtet ist, die Bewertung jeder Aktion aus einer Zwischenbewertung der Aktion und einer Bewertung eines Zustands der Umgebung der Robotervorrichtung zu ermitteln.
  • Dies erfolgt beispielsweise gemäß einem Dueling-DQN-Ansatz und kann die Genauigkeit der Bewertungen, die das neuronale Netz ausgibt, verbessern.
  • Ausführungsbeispiel 5 ist ein Verfahren nach einem der Ausführungsbeispiele 1 bis 4, wobei eine Aktion, die durch die Position eines Pixels spezifiziert wird, eine Aktion ist, die an der Position der Umgebung der Robotervorrichtung durchzuführen ist, die der Position des Pixels in dem Werte-Bild entspricht.
  • Jeder Pixel des beschafften Bildes entspricht gemäß seiner Position im beschafften Bild einer Position in der Umgebung der Robotervorrichtung (da er Farbwert oder allgemein Sensorwert für diese Stelle zeigt). Jeder Pixel in jedem Werte-Bild entspricht einer Position im beschafften Bild und somit auch einer Position in der Umgebung. Somit kann die Steuerung anhand der Bewertungen geeignete Positionen zur Durchführung von Aktionen ermitteln.
  • Ausführungsbeispiel 6 ist ein Verfahren nach einem der Ausführungsbeispiele 1 bis 5, wobei das neuronale Netzwerk eingerichtet ist, eine Ausgabe auszugeben, die für mehrere Aktionsparameterwerte ein jeweiliges Werte-Bild enthält, und wobei jeder der mehreren Aktionsparameterwerte eine Steuerungsgröße einer Aktion oder einen Typ einer Aktion beschreibt.
  • Indem Bewertungen über mehrere Typen von Aktionen bzw. Aktionen mit unterschiedlichen Parameterwerten ausgewählt werden, kann (aus einer Sequenz von Eingabebildern, wobei aus jedem Eingabebild jeweils eine Aktion ausgewählt wird) eine geeignete Kette von Aktionen zur Durchführung der jeweiligen Aufgabe ausgeführt werden.
  • Ausführungsbeispiel 7 ist ein Verfahren nach einem der Ausführungsbeispiele 1 bis 6, wobei die Umgebung der Robotervorrichtung mehrere Objekte aufweist und die Aktionsparameterwerte angeben, ob ein Objekt zu verschieben oder zu drehen ist und/oder Richtungen, Verschiebungsweiten und/oder Drehwinkel angeben.
  • Insbesondere kann das obige Verfahren also auf ein Einsortierungsaufgabe oder Bin-Picking-Aufgabe angewendet werden und erlaubt es, die Aufgabe auch für eine längere Kette von Aktionen (unterschiedlicher Typen und/oder mit unterschiedlichen Parametern) durchzuführen.
  • Ausführungsbeispiel 8 ist eine Robotersteuereinrichtung, die eingerichtet ist, ein Verfahren nach einem der Ausführungsbeispiele 1 bis 7 durchzuführen.
  • Ausführungsbeispiel 9 ist ein Computerprogramm mit Befehlen, die, wenn sie durch einen Prozessor ausgeführt werden, bewirken, dass der Prozessor ein Verfahren nach einem der Ausführungsbeispiele 1 bis 7 durchführt.
  • Ausführungsbeispiel 10 ist ein Computer-lesbares Medium, das Befehle speichert, die, wenn sie durch einen Prozessor ausgeführt werden, bewirken, dass der Prozessor ein Verfahren nach einem der Ausführungsbeispiele 1 bis 7 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 neuronales Netzwerk gemäß einer Ausführungsform.
    • 3 zeigt ein Ablaufdiagramm, das ein Verfahren zum Steuern einer Robotervorrichtung gemäß einer Ausführungsform darstellt.
  • Die folgende ausführliche Beschreibung bezieht sich auf die begleitenden Zeichnungen, die zur Erläuterung spezielle Details und Aspekte dieser Offenbarung zeigen, in denen die Erfindung ausgeführt werden kann. Andere Aspekte können verwendet werden und strukturelle, logische und elektrische Änderungen können durchgeführt werden, ohne vom Schutzbereich der Erfindung abzuweichen. Die verschiedenen Aspekte dieser Offenbarung schließen sich nicht notwendigerweise gegenseitig aus, da einige Aspekte dieser Offenbarung mit einem oder mehreren anderen Aspekten dieser Offenbarung kombiniert werden können, um neue Aspekte zu bilden.
  • Im Folgenden werden verschiedene Beispiele genauer beschrieben.
  • 1 zeigt einen Roboter 100.
  • Der Roboter 100 umfasst einen Roboterarm 101, beispielsweise einen Industrieroboterarm zum Handhaben oder Montieren eines Werkstücks (oder eines oder mehrerer anderer Objekte). Der Roboterarm 101 umfasst Manipulatoren 102, 103, 104 und eine Basis (oder Stütze) 105, durch die die Manipulatoren 102, 103, 104 abgestützt sind. Der Begriff „Manipulator“ bezieht sich auf die beweglichen Elemente des Roboterarms 101, deren Betätigung eine physikalische Wechselwirkung mit der Umgebung ermöglicht, z. B. um eine Aufgabe auszuführen. Für die Steuerung umfasst der Roboter 100 eine (Roboter- )Steuereinrichtung 106, die dazu eingerichtet 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 Stütze 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 Stütze 105 verbinden. Ein Gelenkelement 107, 108, 109 kann ein oder mehrere Gelenke aufweisen, von denen jedes eine drehbare Bewegung (d.h. Drehbewegung) und/oder Translationsbewegung (d.h. Verschiebung) von zugehörigen Manipulatoren relativ zueinander bereitstellen kann. Die Bewegung der Manipulatoren 102, 103, 104 kann mittels Aktuatoren eingeleitet werden, die durch die Steuereinrichtung 106 gesteuert werden.
  • Der Begriff „Aktuator“ kann als Komponente verstanden werden, die dazu ausgelegt ist, einen Mechanismus oder Prozess in Reaktion darauf, dass sie angetrieben wird, zu beeinflussen. Der Aktuator kann Befehle, die durch die Steuereinrichtung 106 ausgegeben werden (die sogenannte Aktivierung), in mechanische Bewegungen implementieren. Der Aktuator, z. B. ein elektromechanischer Wandler, kann dazu konfiguriert sein, auf seine Aktivierung elektrische Energie in mechanische Energie in Reaktion umzuwandeln.
  • Der Begriff „Steuereinrichtung“ kann als irgendein Typ von Logik, die eine Entität implementiert, verstanden werden, die beispielsweise eine Schaltung und/oder einen Prozessor, der in der Lage ist, eine Software auszuführen, die in einem Speichermedium gespeichert ist, Firmware oder eine Kombination davon umfassen kann, und die Befehle, z. B. an einen Aktuator im vorliegenden Beispiel, ausgeben kann. Die Steuereinrichtung kann beispielsweise durch einen Programmcode (z. B. Software) konfiguriert sein, um den Betrieb einer Robotervorrichtung 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. Der Roboter 100 soll beispielsweise ein Objekt 113 manipulieren.
  • Zu jedem Zeitpunkt hat das Gesamtsystem aus Roboterarm 101 und zu manipulierendem Objekt 113 oder auch ein oder mehreren weiteren Objekten 114 (z.B. unterschiedlicher Art und Form) einen bestimmten Zustand hinsichtlich Position, Orientierung, Endeffektorzustand (Greifer offen/geschlossen) etc. Dieser Zustand des Systems, Roboters oder eines Objekts wird im Folgenden als (Steuerungs-)konfiguration bezeichnet.
  • Eine Manipulationsaufgabe, die von z.B. einem Roboterarm 101 durchgeführt wird, besteht typischerweise aus einer Folge von Aktionen. Beispielsweise muss der Roboter zum Einsortieren eines Objekts 113 (z.B. in einen zugehörigen von mehreren Behältern) dieses um ein anderes Objekt 114 herumschieben oder dieses aus dem Weg schieben. Es kann auch der Fall auftreten, dass der Roboterarm 101 mit einer Verschiebeaktion das Objekt 113 nur um eine bestimmte (beschränkte) Distanz verschieben kann und deshalb mehrere Verschiebeaktionen zum Erreichen des jeweiligen Behälters erforderlich sind.
  • Dementsprechend ist es bei vielen Aufgaben erforderlich, wie beispielsweise einer Einsortieraufgabe wie oben beschrieben, dass eine Robotersteuereinrichtung einen langen Zeithorizont, d.h. eine längere Folge von Steueraktionen, in ihre Überlegung, d.h. in den Entscheidungsprozess, welche Aktionen ausgeführt werden sollen, einbezieht, da sie in der Lage sein muss, zu erkennen, ob eine bestimmte Aktion, die zu einem aktuellen (Steuerungs- )zeitpunkt ausgeführt wird, langfristig zum Ziel führt oder nicht. Dabei kann der Zustandsraum (d.h. der Raum der möglichen Steuerungskonfigurationen) und auch der Raum der möglichen Aktionen (z.B. die Anzahl der möglichen Verschiebungsrichtungen) umfangreich sein, was die Steuerung (d.h. die Auswahl der Steueraktion, was z.B. die Auswahl der Verschiebungsrichtung beinhaltet) weiter erschwert. Entsprechend sind Algorithmen wünschenswert, die eine Steuerung unter solchen Bedingungen ermöglichen.
  • Gemäß verschiedenen Ausführungsformen wird eine Steuerungsstrategie (engl. Policy) trainiert, die eine erfolgreiche Steuerung unter solchen Bedingungen ermöglicht.
  • Ein aktueller Zustand (d.h. der Zustand für einen aktuellen Steuerungszeitpunkt, für den die Steuerungseinrichtung eine Steueraktion auswählt), ist beispielsweise durch ein Bild (z.B. ein RGB-Bild oder ein RGBD-Bild, d.h. ein Farbbild mit Tiefeninformation) des Arbeitsbereichs des Roboterarms 101 gegeben, das von einer Kamera 115 geliefert wird (die sich beispielsweise über dem Arbeitsbereich befindet, in dem die Objekte 113, 114 angeordnet sind).
  • Gemäß verschiedenen Ausführungsformen ist ein neuronales Netzwerk (z.B. als ML-Modell 112) vorgesehen, das so trainiert wird, dass es ein solches Bild interpretiert und lernt, dass unterschiedliche Objekte 113, 114 (z.B. Objekte unterschiedlicher Form) in unterschiedliche Zielbehälter geschoben werden sollen (und in welchen Behälter ein jeweiliges Objekt (z.B. ein jeweiliger Typ oder eine jeweilige Form) eingeordnet werden soll).
  • 2 zeigt ein neuronales Netzwerk 200 gemäß einer Ausführungsform.
  • Das neuronale Netzwerk 200 hat eine Encoder-Decoder-Architektur mit einem Encoder-Netzwerk 201 und einem Decoder-Netzwerk 202.
  • Das Encoder-Netzwerk 201 erhält ein Eingangsbild 203 der Dimension h x w (Höhe mal Breite in Pixeln, jeder Pixel entspricht damit z.B. einer x-y-Position des Arbeitsbereichs des Roboterarms 101) und erzeugt aus dem Eingangsbild 203 sukzessive Repräsentationen 204 mit abnehmender Dimension bis zu einer Repräsentation in einem latenten Raum 205 (z.B. einem Vektor in einem latenten Raum 205). Jede Repräsentation wird zum Beispiel von einer jeweiligen Konvolutionsschicht erzeugt (ist also z.B. eine Merkmalskarte).
  • Das Decoder-Netzwerk erzeugt aus Element aus dem latenten Raum sukzessive Tensoren 206 mit zunehmender Dimension (in h- und w-Richtung, d.h. mit zunehmender Auflösung) bis zu einem Ausgabetensor 207 der Dimension n × h × w, wobei n von der jeweiligen Anwendung abhängt. Auch die Tensoren können durch jeweilige Konvolutionsschichten erzeugt werden. Es kann auch jedes Bild des Ausgabetensors von einem eigenen (Ausgabe-)Head erzeugt werden.
  • Der latente Raum 205 ist ein Flaschenhals (engl. Bottleneck), d.h. ein Engpass, des neuronalen Netzes.
  • Beispielsweise ist in der oben beschriebenen Anwendung n die Anzahl der möglichen Verschiebungsrichtungen. Allgemeiner ist n die Anzahl von diskreten Parameterwerten einer Fertigkeit (hier Verschiebung), die an einer bestimmten Position (z.B. x-y-Position des Arbeitsbereichs des Roboterarms 101) ausgeführt werden kann. Es wird hier eine Fertigkeit so verstanden, dass sie für unterschiedliche Parameter und an verschiedenen Positionen ausgeführt werden kann, woraus sich unterschiedliche Aktionen ergeben. Beispielsweise ist die Fertigkeit „Verschieben“ und kann (an einer Position, an der sich das Objekt aktuell befindet) in x-Richtung ausgeführt werden, dann ist die Aktion ein Verschieben in x-Richtung an einer bestimmten Position, oder in y-Richtung ausgeführt werden, dann ist die Aktion ein Verschieben in y-Richtung an einer bestimmten Position (oder auch in anderen Richtungen, je nach Größe von n).
  • Jedes der n Bilder des n × h × w-Ausgabetensors ist einem Parameterwert der Fertigkeit zugeordnet.
  • Der Ausgabetensor weist jedem Pixel der n Bilder des n × h × w-Ausgabetensors einen Aktionswert zu. Der Aktionswert eines Pixels eines Bildes ist dabei ein Wert der Aktion entsprechend dem Parameterwert, der dem Bild zugeordnet ist, und entsprechend der Position, der der Pixel entspricht (d.h. die Aktion ist gegeben durch die Fertigkeit mit dem Parameterwert, der dem Bild zugeordnet ist und die Position des Pixels). Es sollte beachtet werden, dass die Auflösung der Bilder im Ausgabetensor 203 auch kleiner sein kann als im Eingangsbild 207, der Einfachheit halber wird hier aber die gleiche Dimension angenommen.
  • Im obigen Beispiel ist z.B. der Wert eines Pixels in einem Bild, das der x-Richtung zugeordnet wird, eine Verschiebung, die der Roboterarm an der Position des Pixels in x-Richtung ausführt. Z.B. verschiebt der Roboter ein Objekt, das sich dort befindet, wobei der Roboter das Objekt an der Position des Pixels gegen das Objekt drückt.
  • Der Wert jedes Pixels repräsentiert den Nutzen (als Form einer Bewertung) der jeweiligen Aktion und die Steuereinrichtung 107 kann die Pixelwerte deshalb unmittelbar dazu verwenden, die beste Kombination aus Aktion und Position auszuwählen, indem sie eine solche Kombination ermittelt, für die der Pixelwert maximal ist.
  • Die Bilder des Ausgabetensors 203 können auch Aktionen unterschiedlicher Fertigkeiten zugeordnet sein, z.B. ein Teil der Bilder Verschiebeaktionen und ein Teil der Bilder Rotationsaktionen (jeweils mit zugehörigem Parameterwert oder auch Parameterwertsatz wie Richtung, Drehwinkel oder auch Verschiebedistanz etc. oder einer Kombination davon.) Es sind auch in diesem Fall die Bilder unterschiedlichen Parameterwerten zugeordnet, wobei ein Parameter auch ein Typ einer Aktion sein oder beinhalten kann (z.B. Parameterwert 1: Drehen um 90 Grad, Parameterwert 2: Drehen um 180 Grad, Parameterwert 3: Verschieben um 10cm , Parameterwert 4: Verschieben um 20cm etc.)
  • Gemäß verschiedenen Ausführungsformen wird somit ein neuronales Netzwerk 200 gemäß einem Bild-basierten Q-Learning(d.h. Deep Q Learning)-Ansatz trainiert.
  • Q-Learning zielt darauf ab, ein verstärkendes Lernen (Reinforcement Learning RL) zu ermöglichen, indem es eine ausreichend hinreichend genaue Approximation der Q-Funktion des Markov-Entscheidungsprozesses(MDP) ermittelt. Die Q-Funktion bewertet, wie gut es ist, eine bestimmte Aktion a in einem gegebenen Zustand s auszuführen und in dadurch in einen anderen Zustands zu wechseln. Sie ist typischerweise gegeben durch Q ( s ,   a ) = R ( s ,   a ) + γ max a '   Q ( s ' ,   a ' )
    Figure DE102022204724A1_0001
  • Sie ist also die Summe aus der unmittelbaren Belohnung R(s,a) und der diskontierten zukünftigen Belohnung, die der Agent ausgehend vom Zustand s` erhält. Der Diskontierungsfaktor γ steuert den Kompromiss zwischen der Optimierung der kurz- und langfristigen Belohnung. Der jeweilige RL -Agent kann die optimale Strategie π* mit einer ausreichend genauen Schätzung der Q-Funktion generieren, indem er in jedem Zeitschritt die Aktion mit dem höchsten Q-Wert auswählt, d. h., π * ( s ) = arg max a   Q ( s ,   a )
    Figure DE102022204724A1_0002
  • Zur Approximation der Q-Funktion verwenden Deep-Q-Learning-Algorithmen neuronale Netze, d.h. Q-Netze. Nach Auswahl einer Aktion kann die Steuereinrichtung 107 eine Steuerung gemäß der Aktion ausführen (z.B. enthält sie ein Steuerungsmodul, das Spezifikationen von Aktionen empfängt und für diese entsprechende Steuerungssignale für Aktuatoren des Roboterarms 101 erzeugt).
  • Wie oben beschrieben hat das Q-Netz 200 gemäß einer Ausführungsform eine Encoder-Decoder-Architektur, die Bilder 203 als Eingabe annimmt und einen Ausgabetensor 207 von Werten für die Aktionen ausgibt, die den jeweiligen Bildern (und Pixelpositionen) entsprechen.
  • Eine Anwendung von Q-Lernen auf eine hochdimensionale Steuerungsaufgabe mit langem Zeithorizont wie das Einsortieren von Objekten kann jedoch wenig erfolgreich sein. Beispielsweise kann die Steuerungsstrategie leicht in lokalen Optima gefangen sein, und der Roboter (bzw. seine Steuereinrichtung) ist nicht in der Lage zu erkennen, wie er Objekte schieben soll, um die Aufgabe zu erfüllen.
  • Gemäß verschiedenen Ausführungsformen wird eine erfolgreiche Anwendung auf Steuerungsaufgaben unter solchen Bedingungen, insbesondere das Erfordernis längerer Ketten von Aktionen, d.h. ein langer Zeithorizont bei der Steuerung, dadurch möglich, dass in das neuronale Netz 200 Skip-Verbindung (Skip-Connection) 208 eingeführt werden, d.h. das neuronale Netzwerk beispielsweise eine Sanduhr (engl. hourglass)- oder Unet-Architektur aufweist.
  • Jede Skip-Verbindung 208 leitet eine Repräsentation 204 an einen jeweiligen Addierer weiter 209 weiter, der die Repräsentation 204 zu jedem Bild des jeweiligen Tensors (dessen Bilder die gleiche Dimension haben wie die Repräsentation) addiert (oder allgemein kombiniert, z.B. unter Verwendung ggf. trainierbarer Gewichte).
  • Gemäß verschiedenen Ausführungsformen wird für der Steuerung für eine hochdimensionale Steuerungsaufgabe mit langem Zeithorizont außerdem eines oder mehrere von priorisierter Erfahrungs-Wiederholung (engl. prioritized experience replay), Double-Q-Learning und duellierende Netze (engl. duelling networks) angewendet.
  • Priorisierte Erfahrungs-Wiederholung wählt beim Lernen Erfahrungen (d.h. Samples) in Abhängigkeit von ihrem Überraschungswert aus, d.h. der absoluten Differenz zwischen einer Vorhersage Q(s, a) des neuronalen Netzwerks 200 und einem jeweiligen Ziellabel y (das für ein überwachtes Training des neuronalen Netzes 200 verwendet wird). Beispielsweise wird eine rangbasierte Priorisierung basierend auf dem Überraschungswert mit einer Potenzgesetzverteilung mit α = 2 verwendet.
  • Beim DQN wird das Label (d.h. der Zielwert) y für das Training des Q-Netzes 200 als y = R + γ  max a   Q * ( s ' ,   a )
    Figure DE102022204724A1_0003
    berechnet.
  • Mittels solcher Labels kann das neuronale Netzwerk 200 zum Reduzieren eines L = | Q ( s ,   a ) y | 2
    Figure DE102022204724A1_0004
    Verlusts (summiert oder gemittelt über viele Paare aus Zuständen und Aktionen) trainiert werden.
  • Der zweite Term der Summe, die erwartete zukünftige Belohnung, ist die Schätzung der Belohnung, die er ausgehend von s` erhalten kann. Q* bezeichnet hier ein Zielnetz, dessen Gewichte alle (z.B.) 1000 Iterationen aus dem Q-Netz 200 kopiert werden (d.h. eine zweite Instanz des neuronalen Netzwerks, die in gewissen Abständen aktualisiert wird). Im Double DQN wird die Berechnung des Labels wie folgt geändert y = R + γ  Q * ( s ' ,   arg max a   Q ( s ' ,   a ) )
    Figure DE102022204724A1_0005
  • Hier ist die ausgewählte Aktion nicht notwendig die mit dem maximalen Wert aus der Ausgabe des Zielnetzes, sondern die Aktion, die das aktuelle Q-Netz als am lohnendsten ansieht. Dieser Ansatz entkoppelt Aktionsauswahl und -bewertung und verringert das Problem überschätzter Q-Werte.
  • Zur Implementierung von duellierenden Netzwerken wird die Ausgabe (z.B. Merkmalskarten) vor der letzten Faltungsschicht des Netzwerks 200 (d.h. des Decoders 202) aufgedoppelt und der letzten Faltungsschicht und einem Zustandswert-Zweig zugeführt. In der Architektur ist die letzte Faltungsschicht für die Verdichtung der Merkmalskarten auf die Ausgabedimensionen n × h × w, z.B. 8 × 224 × 224, zuständig. Diese Ausgabe wird als Vorteilsstrom behandelt (und die darin enthaltenen Pixelwerte können als Zwischenbewertungen angesehen werden).
  • Der Zustandswert-Zweig erhält dieselben Merkmalskarten als Eingabe, verdichtet sie zu einer Ausgabe n × h × w und mach das Ergebnis flach (zu h × w, z.B. durch Faltung). Anschließend kombiniert er diese Werte mit Hilfe einer vollständig verknüpften linearen Schicht, so dass ein einziger skalarer Wert V(s) als Ausgabe entsteht. Die endgültige Netzwerkausgabe ist dann (für einen aktuellen Zustand und eine Aktion a) Q ( s ,   a ) = V ( s ) + ( A ( s ,   a ) 1 | A | a ' A ( s ,   a ' ) )
    Figure DE102022204724A1_0006
    Hierbei ist A der Raum der Aktionen.
  • 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 gemäß einer Ausführungsform darstellt.
  • In 301 wird ein Bildes von einer Umgebung der Robotervorrichtung beschafft.
  • In 302 wird das Bildes mittels eines neuronalen Netzes verarbeitet, das eingerichtet ist, aus dem Bild für mindestens einen Aktionsparameterwert ein jeweiliges Werte-Bild mit Pixelwerten für mehrere Pixel auszugeben, wobei für jeden Pixel der Pixelwert eine Bewertung einer Aktion, die durch den Aktionsparameterwert und die Position des Pixels in dem Werte-Bild spezifiziert wird, angibt. Das neuronale Netzwerk weist ein Encoder-Netzwerk und ein Decoder-Netzwerk mit einem Engpass zwischen dem Encoder-Netzwerk und dem Decoder-Netzwerk aufweist und Skip-Verbindungen zwischen dem Encoder-Netzwerk und Decoder-Netzwerk auf.
  • In 303 wird aus mehreren Aktionen (z.B. aus allen Aktionen) diejenige Aktion ausgewählt, für die der Pixelwert des Pixels in dem Werte-Bild für den Aktionsparameterwert an der Position, die zusammen mit dem Aktionsparameterwert die Aktion spezifiziert, unter den mehreren Aktionen maximal ist.
  • In 304 wird die Robotervorrichtung zum Ausführen der ausgewählten Aktion 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.
  • Verschiedene Ausführungsformen können Sensorsignale von verschiedenen Sensoren wie z. B. Video, Radar, LiDAR, Ultraschall, Bewegung, Wärmeabbildung usw. empfangen und verwenden, beispielsweise um Sensordaten hinsichtlich Konfigurationen und Szenarios und auch Belohnungen zu erhalten.
  • Obwohl spezielle Ausführungsformen hier dargestellt und beschrieben wurden, wird vom Fachmann auf dem Gebiet erkannt, dass die speziellen Ausführungsformen, die gezeigt und beschrieben sind, gegen eine Vielfalt von alternativen und/oder äquivalenten Implementierungen ausgetauscht werden können, ohne vom Schutzbereich der vorliegenden Erfindung abzuweichen. Diese Anmeldung soll irgendwelche Anpassungen oder Variationen der speziellen Ausführungsformen abdecken, die hier erörtert sind. Daher ist beabsichtigt, dass diese Erfindung nur durch die Ansprüche und die Äquivalente davon begrenzt ist.

Claims (10)

  1. Verfahren zum Steuern einer Robotervorrichtung, aufweisend: Beschaffen eines Bildes von einer Umgebung der Robotervorrichtung; Verarbeiten des Bildes mittels eines neuronalen Netzes, das eingerichtet ist, aus dem Bild für mindestens einen Aktionsparameterwert ein jeweiliges Werte-Bild mit Pixelwerten für mehrere Pixel auszugeben, wobei für jeden Pixel der Pixelwert eine Bewertung einer Aktion, die durch den Aktionsparameterwert und die Position des Pixels in dem Werte-Bild spezifiziert wird, angibt, wobei das neuronale Netzwerk ein Encoder-Netzwerk und ein Decoder-Netzwerk mit einem Engpass zwischen dem Encoder-Netzwerk und dem Decoder-Netzwerk aufweist und Skip-Verbindungen zwischen dem Encoder-Netzwerk und Decoder-Netzwerk aufweist; Auswählen, aus mehreren Aktionen, derjenigen Aktion, für die der Pixelwert des Pixels in dem Werte-Bild für den Aktionsparameterwert an der Position, die zusammen mit dem Aktionsparameterwert die Aktion spezifiziert, unter den mehreren Aktionen maximal ist; und Steuern der Robotervorrichtung zum Ausführen der ausgewählten Aktion.
  2. Verfahren nach Anspruch 1, aufweisend Trainieren des neuronalen Netzwerks mittels Zielwerten für die Bewertungen, wobei die Zielwerte mittels einer zweiten Instanz des neuronalen Netzwerks gemäß Double-Deep-Q-Learning ermittelt werden.
  3. Verfahren nach Anspruch 1 oder 2, aufweisend Trainieren des neuronalen Netzwerks mittels Zielwerten für die Bewertungen, wobei die Zielwerte aus Belohnungen aus Steuerungsdurchläufen ermittelt werden und wobei das Training so durchgeführt wird, dass ein Sample aus den Steuerungsdurchläufen gegenüber einem anderen Sample aus den Steuerungsdurchläufen priorisiert wird, wenn die für das Sample von dem neuronalen Netzwerk geschätzte Bewertung stärker von dem Zielwert für die Bewertung abweicht als für das andere Sample.
  4. Verfahren nach einem er Ansprüche 1 bis 3, wobei das neuronale Netzwerk eingerichtet ist, die Bewertung jeder Aktion aus einer Zwischenbewertung der Aktion und einer Bewertung eines Zustands der Umgebung der Robotervorrichtung zu ermitteln.
  5. Verfahren nach einem der Ansprüche 1 bis 4, wobei eine Aktion, die durch die Position eines Pixels spezifiziert wird, eine Aktion ist, die an der Position der Umgebung der Robotervorrichtung durchzuführen ist, die der Position des Pixels in dem Werte-Bild entspricht.
  6. Verfahren nach einem der Ansprüche 1 bis 5, wobei das neuronale Netzwerk eingerichtet ist, eine Ausgabe auszugeben, die für mehrere Aktionsparameterwerte ein jeweiliges Werte-Bild enthält, und wobei jeder der mehreren Aktionsparameterwerte eine Steuerungsgröße einer Aktion oder einen Typ einer Aktion beschreibt.
  7. Verfahren nach einem der Ansprüche 1 bis 6, wobei die Umgebung der Robotervorrichtung mehrere Objekte aufweist und die Aktionsparameterwerte angeben, ob ein Objekt zu verschieben oder zu drehen ist und/oder Richtungen, Verschiebungsweiten und/oder Drehwinkel angeben.
  8. Robotersteuereinrichtung, die eingerichtet ist, ein Verfahren nach einem der Ansprüche 1 bis 7 durchzuführen.
  9. Computerprogramm mit Befehlen, die, wenn sie durch einen Prozessor ausgeführt werden, bewirken, dass der Prozessor ein Verfahren nach einem der Ansprüche 1 bis 7 durchführt.
  10. Computerlesbares Medium, das Befehle speichert, die, wenn sie durch einen Prozessor ausgeführt werden, bewirken, dass der Prozessor ein Verfahren nach einem der Ansprüche 1 bis 7 durchführt.
DE102022204724.9A 2022-05-13 2022-05-13 Verfahren zum Steuern einer Robotervorrichtung Pending DE102022204724A1 (de)

Priority Applications (3)

Application Number Priority Date Filing Date Title
DE102022204724.9A DE102022204724A1 (de) 2022-05-13 2022-05-13 Verfahren zum Steuern einer Robotervorrichtung
US18/192,420 US20230364776A1 (en) 2022-05-13 2023-03-29 Method for controlling a robot device
CN202310538127.8A CN117047748A (zh) 2022-05-13 2023-05-12 用于控制机器人设备的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE102022204724.9A DE102022204724A1 (de) 2022-05-13 2022-05-13 Verfahren zum Steuern einer Robotervorrichtung

Publications (1)

Publication Number Publication Date
DE102022204724A1 true DE102022204724A1 (de) 2023-11-16

Family

ID=88510596

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102022204724.9A Pending DE102022204724A1 (de) 2022-05-13 2022-05-13 Verfahren zum Steuern einer Robotervorrichtung

Country Status (3)

Country Link
US (1) US20230364776A1 (de)
CN (1) CN117047748A (de)
DE (1) DE102022204724A1 (de)

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20190152054A1 (en) 2017-11-20 2019-05-23 Kabushiki Kaisha Yaskawa Denki Gripping system with machine learning
US20190188840A1 (en) 2017-12-19 2019-06-20 Samsung Electronics Co., Ltd. Semiconductor defect classification device, method for classifying defect of semiconductor, and semiconductor defect classification system
US20190217476A1 (en) 2018-01-12 2019-07-18 Futurewei Technologies, Inc. Robot navigation and object tracking
DE102019002065A1 (de) 2018-03-29 2019-10-02 Fanuc Corporation Maschinelle Lernvorrichtung, Robotersteuervorrichtung und Robotervisionssystem, das eine maschinelle Lernvorrichtung verwendet, und maschinelles Lernverfahren
DE112017007025T5 (de) 2017-02-09 2019-10-24 Mitsubishi Electric Corporation Positionssteuerungseinrichtung und positionssteuerungsverfahren
US20200086483A1 (en) 2018-09-15 2020-03-19 X Development Llc Action prediction networks for robotic grasping
EP3783548A1 (de) 2019-08-19 2021-02-24 Wipro Limited Verfahren und system zur aufgabenausführung in einer dynamischen heterogenen roboterumgebung
DE102019122790B4 (de) 2018-08-24 2021-03-25 Nvidia Corp. Robotersteuerungssystem
US20210129319A1 (en) 2019-11-01 2021-05-06 Kabushiki Kaisha Toshiba Controller, control method, and computer program product
DE102020112149A1 (de) 2020-05-05 2021-11-11 Integrated Dynamics Engineering Gesellschaft mit beschränkter Haftung Verfahren zur Kontrolle von Handlingsystemen

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE112017007025T5 (de) 2017-02-09 2019-10-24 Mitsubishi Electric Corporation Positionssteuerungseinrichtung und positionssteuerungsverfahren
US20190152054A1 (en) 2017-11-20 2019-05-23 Kabushiki Kaisha Yaskawa Denki Gripping system with machine learning
US20190188840A1 (en) 2017-12-19 2019-06-20 Samsung Electronics Co., Ltd. Semiconductor defect classification device, method for classifying defect of semiconductor, and semiconductor defect classification system
US20190217476A1 (en) 2018-01-12 2019-07-18 Futurewei Technologies, Inc. Robot navigation and object tracking
DE102019002065A1 (de) 2018-03-29 2019-10-02 Fanuc Corporation Maschinelle Lernvorrichtung, Robotersteuervorrichtung und Robotervisionssystem, das eine maschinelle Lernvorrichtung verwendet, und maschinelles Lernverfahren
DE102019122790B4 (de) 2018-08-24 2021-03-25 Nvidia Corp. Robotersteuerungssystem
US20200086483A1 (en) 2018-09-15 2020-03-19 X Development Llc Action prediction networks for robotic grasping
EP3783548A1 (de) 2019-08-19 2021-02-24 Wipro Limited Verfahren und system zur aufgabenausführung in einer dynamischen heterogenen roboterumgebung
US20210129319A1 (en) 2019-11-01 2021-05-06 Kabushiki Kaisha Toshiba Controller, control method, and computer program product
DE102020112149A1 (de) 2020-05-05 2021-11-11 Integrated Dynamics Engineering Gesellschaft mit beschränkter Haftung Verfahren zur Kontrolle von Handlingsystemen

Also Published As

Publication number Publication date
US20230364776A1 (en) 2023-11-16
CN117047748A (zh) 2023-11-14

Similar Documents

Publication Publication Date Title
DE102014108287B4 (de) Schnelles Erlernen durch Nachahmung von Kraftdrehmoment-Aufgaben durch Roboter
DE102014103738B3 (de) Visuelle fehlersuche bei roboteraufgaben
DE102020209685B4 (de) Verfahren zum steuern einer robotervorrichtung und robotervorrichtungssteuerung
EP3623116A1 (de) Verfahren und vorrichtung zur kollisionsfreien bewegungsplanung eines manipulators
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
DE102020207085A1 (de) Verfahren zum steuern eines roboters und robotersteuereinheit
DE102021204961B4 (de) Verfahren zur Steuerung einer Robotervorrichtung
DE102021204697B4 (de) Verfahren zum Steuern einer Robotervorrichtung
DE102020212658A1 (de) Vorrichtung und Verfahren zum Steuern einer Robotervorrichtung
DE102020214633A1 (de) Vorrichtung und Verfahren zum Steuern einer Robotervorrichtung
DE102019205651B3 (de) Verfahren und System zum Ausführen von Roboterapplikationen
DE102020200165B4 (de) Robotersteuereinrichtung und Verfahren zum Steuern eines Roboters
DE102021204846B4 (de) Verfahren zum Steuern einer Robotervorrichtung
DE19800552C2 (de) Verfahren zur Kommandosteuerung eines Manipulators
DE102022204724A1 (de) Verfahren zum Steuern einer Robotervorrichtung
DE102020210823A1 (de) Maschinen-Steueranordnung
DE102019207410A1 (de) Verfahren und Vorrichtung für eine automatisierte Beeinflussung eines Aktuators
DE102021212859A1 (de) Vorrichtung und Verfahren zum Trainieren eines maschinellen Lernmodells zum Erzeugen von Deskriptorbildern zu Bildern von Objekten
DE102020214177A1 (de) Vorrichtung und Verfahren zum Trainieren einer Steuerungsstrategie mittels bestärkendem Lernen
DE102022208082B3 (de) Verfahren zum Steuern eines technischen Systems
DE102022207847A1 (de) Verfahren zum Steuern eines Roboters zum Manipulieren, insbesondere Aufnehmen, eines Objekts
DE102022201116B4 (de) Verfahren zum Steuern einer Robotervorrichtung
DE102022206273A1 (de) Verfahren zum Trainieren eines maschinellen Lernmodells zum Implementieren einer Steuerungsvorschrift
DE102021209646B4 (de) Robotervorrichtung, Verfahren zum computerimplementierten Trainieren eines Roboter-Steuerungsmodells und Verfahren zum Steuern einer Robotervorrichtung
DE102022207800A1 (de) Verfahren zum Trainieren einer Steuerungsrichtlinie zur Steuerung eines technischen Systems

Legal Events

Date Code Title Description
R163 Identified publications notified
R012 Request for examination validly filed