DE102021202759A1 - Vorrichtung und Verfahren zum Trainieren eines neuronalen Netzwerks zum Steuern eines Roboters - Google Patents

Vorrichtung und Verfahren zum Trainieren eines neuronalen Netzwerks zum Steuern eines Roboters Download PDF

Info

Publication number
DE102021202759A1
DE102021202759A1 DE102021202759.8A DE102021202759A DE102021202759A1 DE 102021202759 A1 DE102021202759 A1 DE 102021202759A1 DE 102021202759 A DE102021202759 A DE 102021202759A DE 102021202759 A1 DE102021202759 A1 DE 102021202759A1
Authority
DE
Germany
Prior art keywords
training
camera
pose
camera image
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.)
Pending
Application number
DE102021202759.8A
Other languages
English (en)
Inventor
Alexander Kuss
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 DE102021202759.8A priority Critical patent/DE102021202759A1/de
Priority to US17/698,703 priority patent/US20220301209A1/en
Priority to CN202210277446.3A priority patent/CN115107020A/zh
Publication of DE102021202759A1 publication Critical patent/DE102021202759A1/de
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/50Depth or shape recovery
    • G06T7/55Depth or shape recovery from multiple images
    • 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
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/214Generating training patterns; Bootstrap methods, e.g. bagging or boosting
    • G06F18/2148Generating training patterns; Bootstrap methods, e.g. bagging or boosting characterised by the process organisation or structure, e.g. boosting cascade
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/50Context or environment of the image
    • G06V20/52Surveillance or monitoring of activities, e.g. for recognising suspicious objects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20081Training; Learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20084Artificial neural networks [ANN]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V2201/00Indexing scheme relating to image or video recognition or understanding
    • G06V2201/06Recognition of objects for industrial automation

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • Software Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Automation & Control Theory (AREA)
  • Multimedia (AREA)
  • General Engineering & Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Computational Linguistics (AREA)
  • Biophysics (AREA)
  • Biomedical Technology (AREA)
  • Fuzzy Systems (AREA)
  • Mechanical Engineering (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Evolutionary Biology (AREA)
  • Databases & Information Systems (AREA)
  • Medical Informatics (AREA)
  • Robotics (AREA)
  • Manipulator (AREA)

Abstract

Gemäß verschiedenen Ausführungsformen wird ein Verfahren zum Trainieren eines neuronalen Netzwerks zum Steuern eines Roboters beschrieben, aufweisend Ermitteln einer Kamerapose in einer Roboterzelle und eines Unsicherheitsbereichs um die ermittelte Kamerapose, Ermitteln eines Objektbereichs in der Roboterzelle, Erzeugen von Trainings-Kamerabildern, wobei für jedes Trainings-Kamerabild eine Trainings-Kamerabild-Kamerapose zufällig in dem Unsicherheitsbereich um die ermittelte Kamerapose festgelegt wird, eine Trainings-Kamerabild-Objektpose zufällig in dem Objektbereich festgelegt wird und das Trainings-Kamerabild erzeugt wird, sodass es das Objekt mit der Trainings-Kamerabild-Objektpose aus Sicht einer Kamera mit der Trainings-Kamerabild-Kamerapose zeigt, Erzeugen von Trainingsdaten aus den Trainings-Kamerabildern, wobei jedem Trainings-Kamerabild ein oder mehrere Trainings-Roboter-Steuerungsparameter zum Behandeln des Objekts in der Trainings-Kamerabild-Objektpose des Trainings-Kamerabilds zugeordnet wird und Trainieren des neuronalen Netzwerks unter Verwendung der Trainingsdaten, wobei das neuronale Netzwerk dazu trainiert wird, aus einem Kamerabild, dass das Objekt zeigt, eine Angabe von ein oder mehreren Roboter-Steuerungsparametern zum Behandeln des Objekts auszugeben.

Description

  • Verschiedene Ausführungsbeispiele betreffen allgemein eine Vorrichtung und ein Verfahren zum Trainieren eines neuronalen Netzwerks zum Steuern eines Roboters.
  • Um eine flexible Herstellung oder Bearbeitung von Objekten durch einen Roboter zu ermöglichen, ist es wünschenswert, dass der Roboter in der Lage ist, ein Objekt ungeachtet der Pose, mit der das Objekt in den Arbeitsraum des Roboters platziert ist, zu handhaben. Daher sollte eine Steuereinrichtung fähig sein, Steuerungsparameter für den Roboter für die jeweilige Pose (d.h. Position und Orientierung) des Objekts korrekt zu erzeugen, sodass der Roboter zum Beispiel das Objekt an der korrekten Stelle greifen kann, um es z. B. an einem anderen Objekt zu befestigen, oder das Objekt an der korrekten Stelle auf sonstige Art behandeln (schweißen, lackieren etc.) kann. Dies bedeutet, dass die Steuereinrichtung aus Sensorinformation, die die die Pose des Objekts wiederspiegeln, zum Beispiel aus einem oder mehreren Kamerabildern, die durch eine am Roboter oder in der Nähe des Roboters befestigte Kamera aufgenommen werden, geeignete Steuerungsparameter erzeugen können soll.
  • Gemäß verschiedenen Ausführungsformen wird ein Verfahren zum Trainieren eines neuronalen Netzwerks zum Steuern eines Roboters bereitgestellt, aufweisend Ermitteln einer Kamerapose in einer Roboterzelle und eines Unsicherheitsbereichs um die ermittelte Kamerapose, Ermitteln eines Objektbereichs in der Roboterzelle, der Positionen für ein von dem Roboter zu behandelndes Objekt enthält, Erzeugen von Trainings-Kamerabildern, wobei für jedes Trainings-Kamerabild eine Trainings-Kamerabild-Kamerapose zufällig in dem Unsicherheitsbereich um die ermittelte Kamerapose festgelegt wird, eine Trainings-Kamerabild-Objektpose zufällig in dem Objektbereich festgelegt wird und das Trainings-Kamerabild erzeugt wird, sodass es das Objekt mit der Trainings-Kamerabild-Objektpose aus Sicht einer Kamera mit der Trainings-Kamerabild-Kamerapose zeigt, Erzeugen von Trainingsdaten aus den Trainings-Kamerabildern, wobei jedem Trainings-Kamerabild ein oder mehrere Trainings-Roboter-Steuerungsparameter zum Behandeln des Objekts in der Trainings-Kamerabild-Objektpose des Trainings-Kamerabilds zugeordnet wird und Trainieren des neuronalen Netzwerks unter Verwendung der Trainingsdaten, wobei das neuronale Netzwerk dazu trainiert wird, aus einem Kamerabild, dass das Objekt zeigt, eine Angabe von ein oder mehreren Roboter-Steuerungsparametern zum Behandeln des Objekts auszugeben.
  • Die oben beschriebene Herangehensweise verwendet Eigenschaften der Roboter-Anordnung, wie sie in der Praxis verwendet wird (insbesondere die Kameraposition), um einen Trainingsdatensatz für eine Robotersteuerung (z.B. zum Greifen eines Objekts) zu erzeugen. Dabei wird erreicht, dass die simulierten Kamerabilder denen, wie sie in der Praxis (für entsprechende Objektposen) auftreten oder auftreten würden, sehr nahekommen. Die Verwendung der Kamerabilder für einen Trainingsdatensatz für ein neuronales Netzwerk ermöglicht so ein Training des neuronalen Netzwerks, sodass es in der Lage ist, präzise Vorhersagen für Steuerungsparameter zu erzeugen, z.B. eine Greifposition für ein Szenario, in der ein Roboter ein Objekt aus einem Objektbereich (z.B. einer Kiste) aufnehmen soll.
  • Im Folgenden werden verschiedene Ausführungsbeispiele angegeben.
  • Ausführungsbeispiel 1 ist ein Verfahren zum Trainieren eines neuronalen Netzwerks zum Steuern eines Roboters wie oben beschrieben.
  • Ausführungsbeispiel 2 ist das Verfahren nach Ausführungsbeispiel 1, wobei der Unsicherheitsbereich der ermittelten Kamerapose einen Unsicherheitsbereich für die ermittelte Kameraposition und/oder einen Unsicherheitsbereich für die ermittelte Kameraorientierung aufweist.
  • Es können somit Unsicherheiten sowohl bei der Positionierung als auch der Orientierung bei der Kamerakalibrierung berücksichtigt werden. Da beide Unsicherheiten typischerweise in der Praxis auftreten, ermöglicht dies die Erzeugung von Trainingsdaten für ein Training des neuronalen Netzwerks, das gegenüber beiden Arten von Unsicherheiten robust ist.
  • Ausführungsbeispiel 3 ist das Verfahren nach Ausführungsbeispiel 2, wobei das zufällige Auswählen der Trainings-Kamerabild-Kamerapose gemäß einer Normalverteilung entsprechend dem Unsicherheitsbereich für die ermittelte Kameraposition und/oder gemäß einer Normalverteilung entsprechend dem Unsicherheitsbereich für die ermittelte Kameraorientierung erfolgt.
  • Die Normalverteilung liefert eine physikalisch realistische Variation um die ermittelte Kamerapose, wie sie sich bei Fehlern der Kalibrierung typischerweise ergibt.
  • Ausführungsbeispiel 4 ist das Verfahren nach einem der Ausführungsbeispiele 1 bis 3, aufweisend Ermitteln eines Unsicherheitsbereichs um die ermittelte Objektbereichs-Pose und wobei das Festlegen der Trainings-Kamerabild-Objektpose das zufällige Auswählen einer Kamerabild-Objektbereichs-Pose in dem Objektbereichs-Unsicherheitsbereich und das zufällige Festlegen der Trainings-Kamerabild-Objektpose in dem Objektbereich an der Kamerabild-ausgewählten Objektbereichs-Pose aufweist.
  • Dadurch werden auch Unsicherheiten bei der Kalibrierung des Objektbereichs berücksichtigt.
  • Ausführungsbeispiel 5 ist das Verfahren nach Ausführungsbeispiel 4, wobei das zufällige Auswählen der Trainings-Kamerabild-Objektbereichs-Pose gemäß einer Normalverteilung entsprechend dem Unsicherheitsbereich für die ermittelte Objektbereichs-Pose erfolgt.
  • Wie im Fall der Kamera liefert die Normalverteilung eine physikalisch realistische Variation um die ermittelten Objektbereichs-Pose.
  • Ausführungsbeispiel 6 ist das Verfahren nach einem der Ausführungsbeispiele 1 bis 5, wobei das Festlegen der Trainings-Kamerabild-Objektpose durch Festlegen einer Trainings-Kamerabild-Objektpose gemäß einer Gleichverteilung von Objektposen in dem Objektbereich erfolgt.
  • Dies ermöglicht ein gleichmäßiges Training des neuronalen Netzwerks für alle Objektposen, die im Betrieb auftreten.
  • Ausführungsbeispiel 7 ist das Verfahren nach einem der Ausführungsbeispiele 1 bis 6, wobei das Festlegen der Trainings-Kamerabild-Objektpose durch Festlegen einer Trainings-Kamerabild-Objektpose gemäß einer Transformation in den Objektbereich erfolgt.
  • Innerhalb des Objektbereichs kann die Trainings-Kamerabild-Objektpose (Position und Orientierung) zufällig, z.B. gleichverteilt, gewählt werden. Dies ermöglicht ein gleichmäßiges Training des neuronalen Netzwerks für alle Objektorientierungen, die im Betrieb auftreten können.
  • Ausführungsbeispiel 8 ist das Verfahren zum Steuern eines Roboters aufweisend Trainieren eines neuronalen Netzwerks gemäß einem der Ausführungsbeispiele 1 bis 7, Empfangen von einem Kamerabild, das ein von dem Roboter zu behandelndes Objekt zeigt, Zuführen des Kamerabilds zu dem neuronalen Netzwerk und Steuern des Roboters gemäß den von der Ausgabe des neuronalen Netzwerk angegebenen Roboter-Steuerungsparametern.
  • Ausführungsbeispiel 9 ist eine Vorrichtung, die eingerichtet ist, das Verfahren nach einem der Ausführungsbeispiele 1 bis 8 auszuführen.
  • Ausführungsbeispiel 10 ist ein Computerprogramm, aufweisend Programminstruktionen, die, wenn sie von ein oder mehreren Prozessoren ausgeführt werden, die ein oder mehreren Prozessoren dazu bringen, ein Verfahren gemäß einem der Ausführungsbeispiele 1 bis 8 durchzuführen.
  • Ausführungsbeispiel 11 ist ein computerlesbares Speichermedium, auf dem Programminstruktionen gespeichert sind, die, wenn sie von ein oder mehreren Prozessoren ausgeführt werden, die ein oder mehreren Prozessoren dazu bringen, ein Verfahren gemäß einem der Ausführungsbeispiele 1 bis 8 durchzuführen.
  • Ausführungsbeispiele der Erfindung sind in den Figuren dargestellt und werden im Folgenden näher erläutert. In den Zeichnungen beziehen sich gleiche Bezugszeichen überall in den mehreren Ansichten allgemein auf dieselben Teile. Die Zeichnungen sind nicht notwendig maßstabsgerecht, wobei der Schwerpunkt stattdessen allgemein auf die Darstellung der Prinzipien der Erfindung liegt.
    • 1 zeigt einen Roboter.
    • 2 zeigt Komponenten einer Roboterzelle in Hinblick auf eine Simulationsbasierte Erzeugung von Trainings-Kamerabildern.
    • 3 zeigt ein Ablaufdiagramm für ein Verfahren zum Erzeugen von Trainings-Kamerabildern.
    • 4 zeigt ein Ablaufdiagramm für ein Verfahren zum Trainieren eines neuronalen Netzwerks zum Steuern eines Roboters.
  • Die verschiedenen Ausführungsformen, insbesondere die im Folgenden beschriebenen Ausführungsbeispiele, können mittels ein oder mehrerer Schaltungen implementiert werden. In einer Ausführungsform kann eine „Schaltung“ als jede Art von Logikimplementierender Entität verstanden werden, welche Hardware, Software, Firmware oder eine Kombination davon sein kann. Daher kann in einer Ausführungsform eine „Schaltung“ eine hartverdrahtete Logikschaltung oder eine programmierbare Logikschaltung, wie beispielsweise ein programmierbarer Prozessor, zum Beispiel ein Mikroprozessor sein. Eine „Schaltung“ kann auch Software sein, die von einem Prozessor implementiert bzw. ausgeführt wird, zum Beispiel jede Art von Computerprogramm. Jede andere Art der Implementierung der jeweiligen Funktionen, die im Folgenden ausführlicher beschrieben werden, kann in Übereinstimmung mit einer alternativen Ausführungsform als eine „Schaltung“ verstanden werden.
  • Gemäß verschiedenen Ausführungsformen wird ein Industrierobotersystem verwendet bestehend aus Industrieroboter mit Greifendeffektor, Kamera und Kiste mit Greifobjekten. Ein Beispiel wird im Folgenden mit Bezug auf 1 und 2 beschrieben. Dabei ist die Art und Ausführung der Roboterkinematik nicht festgelegt. (Es könnte z.B. eine serielle oder parallele Kinematik mit verschiedener Art und Anzahl von Gelenken sein)
  • 1 zeigt einen Roboter 100.
  • Der Roboter 100 beinhaltet einen Roboterarm 101, zum Beispiel einen Industrieroboterarm zum Handhaben oder Montieren eines Arbeitsstücks (oder eines oder mehrerer anderer Objekte). Der Roboterarm 101 beinhaltet Armelemente 102, 103, 104 und eine Basis (oder Halterung) 105, mittels der die Armelemente 102, 103, 104 gestützt werden. Der Ausdruck „Armelement“ bezieht sich auf die bewegbaren Bauteile des Roboterarms 101, deren Betätigung eine physische Interaktion mit der Umgebung ermöglicht, um z. B. eine Aufgabe auszuführen. Zur Steuerung beinhaltet der Roboter 100 eine (Roboter-) Steuereinrichtung 106, die zum Implementieren der Interaktion mit der Umgebung gemäß einem Steuerprogramm ausgelegt ist. Die letzte Komponente 104 (das in der kinematischen Kette am weitesten von der Basis 105 entfernt ist) der Armelemente 102, 103, 104 wird auch als der Endeffektor 104 bezeichnet und kann ein oder mehrere Werkzeuge beinhalten, wie etwa einen Schweißbrenner, ein Greifinstrument, ein Lackiergerät oder dergleichen.
  • Die anderen Armelemente 102, 103 (die sich näher an der Stütze 105 befinden) können eine Positionierungsvorrichtung bilden, sodass, zusammen mit dem Endeffektor 104, der Roboterarm 101 mit dem Endeffektor 104 an seinem Ende bereitgestellt ist. Der Roboterarm 101 ist ein mechanischer Arm, der ähnliche Funktionen wie ein menschlicher Arm bereitstellen kann (möglicherweise mit einem Werkzeug an seinem Ende).
  • Der Roboterarm 101 kann Gelenkelemente 107, 108, 109 beinhalten, die die Armelemente 102, 103, 104 miteinander und mit der Stütze 105 verbinden. Ein Gelenkelement 107, 108, 109 kann ein oder mehrere Gelenke aufweisen, die jeweils eine drehbare Bewegung (d. h. Drehbewegung) und/oder translatorische Bewegung (d. h. Verlagerung) für assoziierte Armelemente relativ zueinander bereitstellen können. Die Bewegung der Armelemente 102, 103, 104 kann mittels Aktoren initiiert werden, die durch die Steuereinrichtung 106 gesteuert werden.
  • Der Ausdruck „Aktor“ kann als eine Komponente verstanden werden, die als Reaktion auf ihren Antrieb zum Bewirken eines Mechanismus oder Prozesses ausgebildet ist. Der Aktor kann durch die Steuereinrichtung 106 erstellte Anweisungen (die sogenannte Aktivierung) in mechanische Bewegungen implementieren. Der Aktor, z. B. ein elektromechanischer Wandler, kann dazu ausgelegt sein, als Reaktion auf seinen Antrieb elektrische Energie in mechanische Energie umzuwandeln.
  • Der Ausdruck „Steuereinrichtung“ kann als ein beliebiger Typ von logikimplementierender Entität verstanden werden, die zum Beispiel eine Schaltung und/oder einen Prozessor beinhalten kann, die/der in der Lage ist, in einem Speicherungsmedium gespeicherte Software, Firmware oder eine Kombination davon auszuführen, und die/der Anweisungen, z. B. zu einem Aktor im vorliegenden Beispiel, ausstellen kann. Die Steuereinrichtung kann zum Beispiel durch Programmcode (z. B. Software) konfiguriert werden, um den Betrieb eines Systems, eines Roboters im vorliegenden Beispiel, zu steuern.
  • Im vorliegenden Beispiel beinhaltet die Steuereinrichtung 106 einen oder mehrere Prozessoren 110 und einen Speicher 111, der Code und Daten speichert, basierend auf denen der Prozessor 110 den Roboterarm 101 steuert. Gemäß verschiedenen Ausführungsformen steuert die Steuereinrichtung 106 den Roboterarm 101 auf Basis eines maschinellen Lernmodells 112, das im Speicher 111 gespeichert ist.
  • Gemäß verschiedenen Ausführungsformen ist das maschinelle Lernmodell 112 dazu ausgelegt und trainiert, für ein oder mehrere Kamerabilder, die ihm zugeführt werden, Steuerparameter für den Roboterarm 101 anzugeben (bzw. vorherzusagen).
  • Der Roboter 100 und/oder die Roboterzelle, in der der Roboter 100 angeordnet ist, kann zum Beispiel mit einer oder mehreren Kameras 114 ausgestattet sein, die eingerichtet sind, Bilder des Arbeitsraums des Roboters 100 und eines in dem Arbeitsraum angeordnete Objekts 113 (oder auch mehrerer Objekte) aufzunehmen.
  • Das maschinelle Lernmodell ist beispielsweise ein neuronales Konvolutionsnetzwerk, dem die ein oder mehreren Bildern (z.B. Tiefenbilder zugeführt werden). Vor dem Einsatz in der Praxis wird das Konvolutionsnetzwerk mit Trainingsdaten trainiert, damit die Steuereinrichtung jeweils für verschiedene Posen (Positionen und Orientierungen) des Objekts 113 geeignete Steuerparameter angibt.
  • Die Trainingsdaten weisen beispielsweise eine Vielzahl von Trainingsdatenelementen auf, wobei jedes Trainingsdatenelement ein Kamerabild (oder auch mehrere Kamerabilder) und zugehörige (d.h. Ground Truth) Steuerparameter enthält. Die Steuerparameter weisen beispielsweise eine Position, die der Endeffektor 104 zum Behandeln des Objekts 113 einnehmen soll. Das neuronale Netzwerk kann dann mittels überwachtem Lernen trainiert werden.
  • Gemäß verschiedenen Ausführungsformen werden verschiedene Trainingsdatenbilder für verschiedene Objektposen und zugehörige Steuerparameter erzeugt. Wird beispielsweise für ein Trainingsdatenbild eine bestimmte zufällige Objektpose angenommen, können daraus die korrekten Steuerparameter unmittelbar berechnet werden (z.B., weil aus der Objektpose bekannt ist, an welche Stelle der Endeffektor 104 zu bewegen ist bzw. an welcher Stelle das Objekt zu greifen ist). Damit kann die Hauptaufgabe für die Erzeugung eines Trainingsdatenelements darin gesehen werden, für eine bestimmte (zufällige) Objektpose ein passendes Kamerabild (für eine jeweilige Kamera im Fall mehrerer Kameras) zu erzeugen, sodass, wenn in der Praxis das Objekt die Objektpose hätte, die (jeweilige) Kamera 114 dieses Bild aufnehmen würde.
  • Gemäß verschiedenen Ausführungsformen wird dafür eine Herangehensweise zum Berechnen der Transformation zwischen Kamerapose und Objektpose zur Erzeugung eines Kamerabilds bereitgestellt (z.B. für einen Trainingsdatensatz mit virtuellen Tiefenbildern zur Eingabe für ein neuronales Konvolutionsnetzwerk für das Steuern des Greifens des Objekts durch den Roboterarm 101).
  • Gemäß verschiedenen Ausführungsformen werden dabei Kalibrierungsparameter (die typischerweise für eine Roboterzelle in der Praxis verfügbar sind) verwendet und es werden Unsicherheiten (z.B. der Kamerapose) physikalisch plausibel berücksichtigt. Damit wird ein Verfahren zur Simulation-basierten Erzeugung eines Trainingsdatensatzes bereitgestellt, das Hardware-bewusst ist, d.h. die Eigenschaften der vorhandenen Hardware (wie der Kamera) berücksichtigt.
  • Das Objekt kann eine beliebige Geometrie haben. Die Kamerabilder sind beispielsweise Tiefenbilder. Die Kamera ist beispielsweise eine Lochkamera und die Kamerabilder sind entsprechende Bilder.
  • Gemäß verschiedenen Ausführungsformen wird außerdem eine Robustheitsmetrik bei dem Trainingsdatenerzeugungsprozess berechnet, die die Wahrscheinlichkeit für ein erfolgreiches Zugreifen (Aufnehmen) für den speziellen Endeffektor (d.h. Greifertyp) des Roboters repräsentiert. Die Position und Orientierung des Greifers für erfolgreiches Zugreifen ist in dem Kamerabild (bzw. mehreren Kamerabildern) durch die jeweilige Verschiebung, Rotation und Größe des Bildinhalts (d.h. speziell des aufzunehmenden Objekts) im Kamerabild codiert. Beim Training wird das neuronale Netzwerk (z.B. tiefe Konvolutionsnetzwerk) beispielsweise trainiert, die Werte der Robustheitsmetrik für verschiedene Greifpositionen für die Kamerabilder vorherzusagen. Diese Werte der Robustheitsmetrik können als Angabe von Roboter-Steuerungsparametern angesehen werden, beispielsweise als derjenigen Greifposition, für die das neuronalen Netzwerk den höchsten Wert der Robustheitsmetrik ausgibt.
  • Nach dem Training, also im Betrieb (praktische Anwendung), wird das trainierte neuronale Netzwerk zur Inferenz verwendet, also für verschiedene Zugriffsmöglichkeiten (z.B. Endeffektorposen) die Robustheitswerte aus einem real aufgenommenen Kamerabild vorherzusagen. Der Steuereinrichtung kann dann beispielsweise die Zugriffsmöglichkeit mit dem maximalen Robustheitswert auswählen und den Roboter entsprechend steuern.
  • Bei der Erzeugung von (simulierten) Kamerabildern für eine Kamera für verschiedene Objektposen werden die Kalibrierungsergebnisse für die Kamera in der realen Roboter-Anordnung (d.h. Roboterzelle) verwendet. Eine Kamerakalibrierung wird typischerweise beim Aufbau eines Robotersystems in einer Roboterzelle oder vor einem Verarbeitungsprozess, der von einem Roboter durchgeführt werden soll, durchgeführt, um die Genauigkeit der Kenntnis der Kamerapose zu erhöhen und damit auch der Roboter-Aktionen (Roboter-Steuerung), die aus den durch die Kamera erzeugten Bilder ermittelt wird.
  • Gemäß verschiedenen Ausführungsformen werden extrinsische Kamerakalibrierungswerte bei der Erzeugung von Trainings-Kamerabildern verwendet, nämlich dreidimensionale (z.B. kartesische) Verschiebungs- und Rotationswerte der Kamera in Bezug auf das WeltKoordinatensystem der Roboterzelle (d.h. ein globales Referenz-Koordinatensystem der Roboterzelle). Diese Parameterwerte können beispielsweise durch typische Optimierungsbasierte Kalibrierungsverfahren erhalten werden. Darüber hinaus werden gemäß verschiedenen Ausführungsformen Unsicherheitsparameter der Kamerakalibrierung, die während des Kalibrierungsprozesses ermittelt werden können, verwendet. Die Unsicherheitsparameter repräsentieren die Genauigkeit der Verschiebungswerte und Rotationswerte, die bei der Kalibrierung ermittelt wurden. Zudem können intrinsische Kameraparameter (Kameramatrix und Rauschwerte) der in der Roboterzelle verwendeten realen Kamera genutzt werden, um in der Simulation die Erzeugung der virtuellen Kamerabilder den Bildern der realen Kamera möglichst anzunähern. Außerdem wird Information über die Pose und die Größe des Objektbereichs, in dem sich das Objekt 113 befinden kann (z.B. eine Kiste), ermittelt und als Eingabe für die Erzeugung der Trainings-Kamerabilder verwendet.
  • 2 zeigt Komponenten einer Roboterzelle 200 in Hinblick auf eine Simulationsbasierte Erzeugung von Trainings-Kamerabildern.
  • Eine Kamera 201 hat ein Koordinatensystem KK, ein Objekt 202 hat ein Koordinatensystem KO, ein Objektbereich (z.B. eine Kiste oder Schachtel) 203 hat ein Koordinatensystem KB, der Roboter hat ein Koordinatensystem KR in seiner Basis, der durch den Roboter bewegte Endeffektor (Greifer) hat ein Koordinatensystem KG und die Roboterzelle 200 hat ein globales Koordinatensystem KW, das ein fixes Bezugssystem in der Roboterzelle 200 repräsentiert. Die Koordinatensysteme der Komponenten 201, 202, 203 sind jeweils fest für die jeweilige Komponente und definieren so die Pose der jeweiligen Komponente innerhalb der Roboterzelle. Für die Erzeugung von Trainings-Kamerabildern wird die Kamera als virtuelle Lochkamera modelliert mit einer perspektivischen Projektion, die die Oberfläche eines Objektoberflächenmodells misst.
  • Die Kamera 201 weist einen Sichtbereich 204 auf.
  • 3 zeigt ein Ablaufdiagramm 300 für ein Verfahren zum Erzeugen von Trainings-Kamerabildern.
  • Das Verfahren kann von der Steuereinrichtung 106 durchgeführt werden oder von einer externen Datenverarbeitungsvorrichtung, die die Trainingsdaten erzeugt. Die Steuereinrichtung 106 oder wiederum eine externe Datenverarbeitungsvorrichtung kann das neuronale Netzwerk 112 dann unter Verwendung der Trainingsdaten trainieren.
  • Die Eingangsdaten für die Erzeugung eines Kamerabilds sind die externen Kamera-Kalibrierungsparameterwerte pK = (xK, yK, zK, AK, BK, CK), die die Pose (Position und Orientierung) des Kamera-Koordinatensystems KK im globalen Koordinatensystem KW angeben, sowie zugehörige Unsicherheiten der Verschiebungswerte und der Rotationswerte, z.B. uK = (tK, rK), wobei zur Einfachheit hier die Unsicherheit in der Verschiebung tK und die Unsicherheit in der Rotation rK für alle Koordinaten bzw. Winkel in diesem Beispiel als gleich angenommen wird. Diese Unsicherheiten stehen typischerweise als Ergebnis des Kamera-Kalibrierungsprozesses zur Verfügung. Die Winkel AK, BK, CK sind beispielsweise die Eulerwinkel, aber es können auch andere Repräsentationsformen für die räumliche Orientierung verwendet werden.
  • Zusätzliche Eingangsdaten sind die intrinsischen Kameraparameter in Form einer Kameramatrix K, die typischerweise nach einer intrinsischen Kamerakalibrierung aus der Kamera ausgelesen werden kann sowie der Rauschwert in Kamerablickrichtung σK, der typischerweise durch den Kamerahersteller spezifiziert wird.
  • Weitere Eingabedaten sind die erwartete Objektbereichs-Position pB = (xB, yB, zB, AB, BB, CB), die die Lage des Zentrums des in diesem Beispiel quaderförmigen Objektbereichs im globalen Koordinatensystem angibt, und die Größe des Objektbereichs bB = (hB, wB, dB). Diese Parameterwerte sind typischerweise durch die Konfiguration der Roboterzelle gegeben.
  • In 301 wird eine Anfangs-Kamera-Transformation T K W '
    Figure DE102021202759A1_0001
    basierend auf den Kamera-Kalibrierungsparameterwerten pK berechnet, d.h. eine Verschiebung und eine Rotation, die eine Standard-Kamerapose auf die durch die durch die Kalibrierungsparameterwerte pK gegebene Kamerapose abbildet.
  • In 302 wird eine zusätzliche Kamerarotation RotK berechnet, die die Unsicherheit in der Rotation bei der Kamerakalibrierung berechnet. Die Rotation RotK wird beispielsweise basierend auf der Konvention von Rotationsachse und Drehwinkel berechnet, der zu Grunde liegt, dass jede Drehung im dreidimensionalen Raum durch eine geeignete Rotationsachse und einen Drehwinkel um die Rotationsachse dargestellt werden kann. Zur Berechnung der Rotation RotK wird die Rotationsachse aus einer Gleichverteilung der Einheitsvektoren im dreidimensionalen Raum gesampelt. Der Drehwinkel wird aus einer Normalverteilung mit Mittelwert Null und Standardabweichung rK (d.h. der Unsicherheit in der Orientierung der Kamera) gesampelt. Dann wird eine Transformation T K W ' ' = T K W * Rot K
    Figure DE102021202759A1_0002
    berechnet.
  • In 303 wird eine zusätzliche Kameraverschiebung TransK berechnet, die die Unsicherheit in der Verschiebung der Kamerakalibrierung berücksichtigt. Dafür wird eine Verschiebungsrichtung aus einer Gleichverteilung der Einheitsvektoren im dreidimensionalen Raum gesampelt. Die Länge der Verschiebung wird aus einer Normalverteilung mit Mittelwert Null und Standardabweichung tK (d.h. der Unsicherheit in der Position der Kamera) gesampelt. Dann wird die finale Kamera-Transformation T K W = T K W ' '   * Trans K
    Figure DE102021202759A1_0003
    berechnet.
  • In 304 wird eine Objektbereich-Transformation T B W
    Figure DE102021202759A1_0004
    basierend auf der Objektbereichs-Pose pB berechnet, d.h. eine Verschiebung und eine Rotation, die eine Standard-Objektbereichs-Pose auf die durch die Parameterwerte pB gegebene Objektbereichs-Pose abbildet. Hierbei können wie bei der Kamerapose zusätzlich Unsicherheiten der Objektbereichs-Pose berücksichtigt werden.
  • In 305 wird eine zusätzliche Objektrotation RotO berechnet. Dafür wird eine Rotation aus einer Gleichverteilung von Rotationen gesampelt, um eine zufällige Rotation des Objekts 202 im Objektbereich 203 zu berücksichtigen. Dies ist beispielsweise relevant in dem Fall, dass Objekte in Haufen angeordnet sind, in denen jedes Objekt eine zufällige Rotation im dreidimensionalen Raum haben kann. Falls erwartet werden kann, dass das Objekt stets auf einer ebenen Oberfläche (und nicht in Haufen) liegt kann auch eine feste Orientierung verwendet werden. Zudem wird eine Objektverschiebung TransO berechnet durch Samplen aus einer Gleichverteilung über den Objektbereich U([-hB/2, +hB/2] × [-wB/2, +wB/2] × [dB/2, +dB/2]), um zu berücksichtigen, dass das Objekt 202 eine zufällige Position innerhalb des Objektbereichs 203 haben kann. In dem Fall von Objekthaufen können die Objektrotation und Objektverschiebung der einzelnen Objekte in dem Haufen bezogen auf den Objektbereich alternativ auch durch eine Physiksimulation bestimmt werden. Durch Objektrotation und Objektverschiebung ergibt sich damit die Transformation T O B .
    Figure DE102021202759A1_0005
  • In 306 wird das Objekt 202 mit der Pose des Objektbereichs 203 transformiert. Dabei wird die Objekttransformation bezogen auf das Weltkoordinatensystem mittels T O W = T B W * T O B
    Figure DE102021202759A1_0006
    berechnet.
  • In 307 wird die Kameratransformation in Bezug auf das Objektkoordinatensystem berechnet als T K O = ( T O W ) 1 * T K W .
    Figure DE102021202759A1_0007
    Diese Transformation wird dann verwendet, um die virtuelle Kamera im Simulationsraum zu positionieren. Das Objekt (d.h. das Oberflächenmodell des Objekts) wird im Ursprung des Simulationsraums positioniert. Das Kamerabild wird durch eine virtuelle Messung erzeugt, indem die so erzeugte Simulationsszene (insbesondere mit der positionierten virtuellen Kamera) gerendert wird (z.B. zum Erzeugen eines Tiefenbilds). Dazu wird die Kameramatrix K verwendet und die Messdaten mit einem normalverteilten Rauschen mit dem Rauschparameter σK beaufschlagt.
  • Die Erzeugung eines Kamerabilds auf diese Weise wird mehrmals durchgeführt, um eine Vielzahl von Kamerabildern für einen Trainingsdatensatz 308 zu erzeugen.
  • Da die Kamerapose und die Objektpose, die verwendet werden, physikalisch Parameterwerte aus der realen Roboterzelle mit zugehörigen Unsicherheiten repräsentieren, führt dies zu einem Trainingsdatensatz, der der realen physikalischen Konfiguration der Roboterzelle entspricht.
  • Zusammenfassend wird gemäß verschiedenen Ausführungsformen ein Verfahren bereitgestellt, wie es im Folgenden mit Bezug auf 4 beschrieben ist.
  • 4 zeigt ein Ablaufdiagramm 400 für ein Verfahren zum Trainieren eines neuronalen Netzwerks zum Steuern eines Roboters.
  • In 401 werden eine Kamerapose in einer Roboterzelle und eines Unsicherheitsbereichs um die ermittelte Kamerapose ermittelt.
  • In 402 wird ein Objektbereich in der Roboterzelle ermittelt, der Positionen für ein von dem Roboter zu behandelndes Objekt enthält.
  • In 403 werden Trainings-Kamerabilder erzeugt.
  • Dabei wird für jedes Trainings-Kamerabild in 404 eine Trainings-Kamerabild-Kamerapose zufällig in dem Unsicherheitsbereich um die ermittelte Kamerapose festgelegt, in 405 eine Trainings-Kamerabild-Objektpose zufällig in dem Objektbereich festgelegt und in 406 das Trainings-Kamerabild erzeugt, sodass es das Objekt mit der Trainings-Kamerabild-Objektpose aus Sicht einer Kamera mit der Trainings-Kamerabild-Kamerapose zeigt.
  • In 407 werden Trainingsdaten aus den Trainings-Kamerabildern erzeugt, wobei jedem Trainings-Kamerabild ein oder mehrere Trainings-Roboter-Steuerungsparameter zum Behandeln des Objekts in der Trainings-Kamerabild-Objektpose des Trainings-Kamerabilds zugeordnet werden.
  • In 408 wird das neuronale Netzwerk unter Verwendung der Trainingsdaten trainiert, wobei das neuronale Netzwerk dazu trainiert wird, aus einem Kamerabild, dass das Objekt zeigt, eine Angabe von ein oder mehreren Roboter-Steuerungsparametern zum Behandeln des Objekts auszugeben.
  • Das Verfahren erzeugt synthetische Sensordaten. Diese können Sensordaten entsprechend verschiedener optischer Sensoren sein wie Stereo-Kameras, Time-of-Flight-Kameras und Laserscanner.
  • Ausführungsformen können dazu verwendet werden, ein maschinelles Lernsystem zu trainieren und einen Roboter autonom zu steuern, um verschiedene Manipulationsaufgaben unter verschiedenen Szenarien zu erreichen. Insbesondere sind Ausführungsformen für die Steuerung und Überwachung der Ausführung von Manipulationsaufgaben, z.B. in Fließbändern, anwendbar. Sie können z.B. nahtlos in eine traditionelle GUI für einen Steuerungsprozess integriert werden.
  • Unter „Roboter“ kann jegliches physisches System (mit einem mechanischen Teil, dessen Bewegung gesteuert wird), wie eine computergesteuerte Maschine, ein Fahrzeug, ein Haushaltsgerät, ein Elektrowerkzeug, eine Fertigungsmaschine, ein persönlicher Assistent oder ein Zugangskontrollsystem verstanden werden.
  • Das neuronale Netzwerk kann ein Konvolutionsnetzwerk zur Regression oder Klassifikation von Daten sein.
  • Verschiedene Ausführungsformen können Sensorsignale von verschiedenen optischen Sensoren empfangen und verwenden, um z.B. Sensordaten über Demonstrationen oder Systemzustände (Roboter und Objekt) sowie Konfigurationen und Szenarien zu erhalten. Die Sensordaten können verarbeitet werden. Dies kann eine Klassifizierung der Sensordaten oder die Durchführung einer semantischen Segmentierung der Sensordaten beinhalten, z.B. um die Anwesenheit von Objekten (in der Umgebung, in der die Sensordaten gewonnen wurden) zu erkennen. Ausführungsformen können dazu verwendet werden, ein maschinelles Lernsystem zu trainieren und einen Roboter autonom zu steuern, um verschiedene Manipulationsaufgaben unter verschiedenen Szenarien zu erreichen. Insbesondere sind Ausführungsformen für die Steuerung und Überwachung der Ausführung von Manipulationsaufgaben, z.B. in Fließbändern, anwendbar. Sie können z.B. nahtlos in eine traditionelle GUI für einen Steuerungsprozess integriert werden.
  • Das Verfahren ist gemäß einer Ausführungsform Computer-implementiert.
  • Obwohl die Erfindung vor allem unter Bezugnahme auf bestimmte Ausführungsformen gezeigt und beschrieben wurde, sollte es von denjenigen, die mit dem Fachgebiet vertraut sind, verstanden werden, dass zahlreiche Änderungen bezüglich Ausgestaltung und Details daran vorgenommen werden können, ohne vom Wesen und Bereich der Erfindung, wie er durch die nachfolgenden Ansprüche definiert wird, abzuweichen. Der Bereich der Erfindung wird daher durch die angefügten Ansprüche bestimmt, und es ist beabsichtigt, dass sämtliche Änderungen, welche unter den Wortsinn oder den Äquivalenzbereich der Ansprüche fallen, umfasst werden.

Claims (11)

  1. Verfahren zum Trainieren eines neuronalen Netzwerks zum Steuern eines Roboters, aufweisend: Ermitteln einer Kamerapose in einer Roboterzelle und eines Unsicherheitsbereichs um die ermittelte Kamerapose; Ermitteln eines Objektbereichs in der Roboterzelle, der Positionen für ein von dem Roboter zu behandelndes Objekt enthält; Erzeugen von Trainings-Kamerabildern, wobei für jedes Trainings-Kamerabild eine Trainings-Kamerabild-Kamerapose zufällig in dem Unsicherheitsbereich um die ermittelte Kamerapose festgelegt wird; eine Trainings-Kamerabild-Objektpose zufällig in dem Objektbereich festgelegt wird; das Trainings-Kamerabild erzeugt wird, sodass es das Objekt mit der Trainings-Kamerabild-Objektpose aus Sicht einer Kamera mit der Trainings-Kamerabild-Kamerapose zeigt; Erzeugen von Trainingsdaten aus den Trainings-Kamerabildern, wobei jedem Trainings-Kamerabild ein oder mehrere Trainings-Roboter-Steuerungsparameter zum Behandeln des Objekts in der Trainings-Kamerabild-Objektpose des Trainings-Kamerabilds zugeordnet werden; und Trainieren des neuronalen Netzwerks unter Verwendung der Trainingsdaten, wobei das neuronale Netzwerk dazu trainiert wird, aus einem Kamerabild, dass das Objekt zeigt, eine Angabe von ein oder mehreren Roboter-Steuerungsparametern zum Behandeln des Objekts auszugeben.
  2. Verfahren nach Anspruch 1, wobei der Unsicherheitsbereich der ermittelten Kamerapose einen Unsicherheitsbereich für die ermittelte Kameraposition und/oder einen Unsicherheitsbereich für die ermittelte Kameraorientierung aufweist.
  3. Verfahren nach Anspruch 2, wobei das zufällige Auswählen der Trainings-Kamerabild-Kamerapose gemäß einer Normalverteilung entsprechend dem Unsicherheitsbereich für die ermittelte Kameraposition und/oder gemäß einer Normalverteilung entsprechend dem Unsicherheitsbereich für die ermittelte Kameraorientierung erfolgt.
  4. Verfahren nach einem der Ansprüche 1 bis 3, aufweisend Ermitteln eines Unsicherheitsbereichs um die ermittelte Objektbereichs-Pose und wobei das Festlegen der Trainings-Kamerabild-Objektpose das zufällige Auswählen einer Kamerabild-Objektbereichs-Pose in dem Objektbereichs-Unsicherheitsbereich und das zufällige Festlegen der Trainings-Kamerabild-Objektpose in dem Objektbereich an der ausgewählten Kamerabild-Objektbereichs-Pose aufweist.
  5. Verfahren nach Anspruch 4, wobei das zufällige Auswählen der Trainings-Kamerabild-Objektbereichs-Pose gemäß einer Normalverteilung entsprechend dem Unsicherheitsbereich für die ermittelte Objektbereichs-Pose erfolgt.
  6. Verfahren nach einem der Ansprüche 1 bis 5, wobei das Festlegen der Trainings-Kamerabild-Obj ektpose ein Festlegen einer Trainings-Kamerabild-Obj ektposition gemäß einer Gleichverteilung von Objektpositionen in dem Objektbereich erfolgt.
  7. Verfahren nach einem der Ansprüche 1 bis 6, wobei das Festlegen der Trainings-Kamerabild-Objektpose ein Festlegen einer Trainings-Kamerabild-Objektpose gemäß einer Transformation in den Objektbereich erfolgt.
  8. Verfahren zum Steuern eines Roboters aufweisend: Trainieren eines neuronalen Netzwerks gemäß einem der Ansprüche 1 bis 7; Empfangen von einem Kamerabild, das ein von dem Roboter zu behandelndes Objekt zeigt; Zuführen des Kamerabilds zu dem neuronalen Netzwerk; und Steuern des Roboters gemäß den von der Ausgabe des neuronalen Netzwerk angegebenen Roboter-Steuerungsparametern.
  9. Vorrichtung, die eingerichtet ist, das Verfahren nach einem der Ansprüche 1 bis 8 auszuführen.
  10. Computerprogramm, aufweisend Programminstruktionen, die, wenn sie von ein oder mehreren Prozessoren ausgeführt werden, die ein oder mehreren Prozessoren dazu bringen, ein Verfahren gemäß einem der Ansprüche 1 bis 8 durchzuführen.
  11. Computerlesbares Speichermedium, auf dem Programminstruktionen gespeichert sind, die, wenn sie von ein oder mehreren Prozessoren ausgeführt werden, die ein oder mehreren Prozessoren dazu bringen, ein Verfahren gemäß einem der Ansprüche 1 bis 8 durchzuführen.
DE102021202759.8A 2021-03-22 2021-03-22 Vorrichtung und Verfahren zum Trainieren eines neuronalen Netzwerks zum Steuern eines Roboters Pending DE102021202759A1 (de)

Priority Applications (3)

Application Number Priority Date Filing Date Title
DE102021202759.8A DE102021202759A1 (de) 2021-03-22 2021-03-22 Vorrichtung und Verfahren zum Trainieren eines neuronalen Netzwerks zum Steuern eines Roboters
US17/698,703 US20220301209A1 (en) 2021-03-22 2022-03-18 Device and method for training a neural network for controlling a robot
CN202210277446.3A CN115107020A (zh) 2021-03-22 2022-03-21 训练用于控制机器人的神经网络的装置和方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE102021202759.8A DE102021202759A1 (de) 2021-03-22 2021-03-22 Vorrichtung und Verfahren zum Trainieren eines neuronalen Netzwerks zum Steuern eines Roboters

Publications (1)

Publication Number Publication Date
DE102021202759A1 true DE102021202759A1 (de) 2022-09-22

Family

ID=83114765

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102021202759.8A Pending DE102021202759A1 (de) 2021-03-22 2021-03-22 Vorrichtung und Verfahren zum Trainieren eines neuronalen Netzwerks zum Steuern eines Roboters

Country Status (3)

Country Link
US (1) US20220301209A1 (de)
CN (1) CN115107020A (de)
DE (1) DE102021202759A1 (de)

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE202017106506U1 (de) 2016-11-15 2018-04-03 Google Llc Einrichtung für tiefes Maschinenlernen zum Robotergreifen
DE202018103922U1 (de) 2018-07-09 2018-08-06 Schunk Gmbh & Co. Kg Spann- Und Greiftechnik Greifsystem als intelligentes Sensor-Aktor-System
DE102014102943B4 (de) 2014-02-13 2018-08-30 GM Global Technology Operations LLC (n. d. Gesetzen des Staates Delaware) Robotersystem mit Funktionalität zur Ortsbestimmung einer 3D- Kiste
DE102015111080B4 (de) 2015-06-22 2018-11-08 GM Global Technology Operations LLC (n. d. Ges. d. Staates Delaware) Robotervorrichtung mit maschinellem Sehen
DE102019002065A1 (de) 2018-03-29 2019-10-02 Fanuc Corporation Maschinelle Lernvorrichtung, Robotersteuervorrichtung und Robotervisionssystem, das eine maschinelle Lernvorrichtung verwendet, und maschinelles Lernverfahren
DE102019122790A1 (de) 2018-08-24 2020-02-27 Nvidia Corp. Robotersteuerungssystem
DE102017105174B4 (de) 2017-03-10 2020-04-23 Sick Ag Verfahren zum Erzeugen von Trainingsdaten für die Überwachung einer Gefahrenquelle
DE102019206444A1 (de) 2019-05-06 2020-11-12 Kuka Deutschland Gmbh Maschinelles Lernen einer Objekterkennung mithilfe einer robotergeführten Kamera
DE102019121889B3 (de) 2019-08-14 2020-11-19 Robominds GmbH Automatisierungssystem und Verfahren zur Handhabung von Produkten
DE102020114583A1 (de) 2019-07-09 2021-01-14 Toyota Jidosha Kabushiki Kaisha Rechenvorrichtung, Maschinenlernverfahren und Speichermedium

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102014102943B4 (de) 2014-02-13 2018-08-30 GM Global Technology Operations LLC (n. d. Gesetzen des Staates Delaware) Robotersystem mit Funktionalität zur Ortsbestimmung einer 3D- Kiste
DE102015111080B4 (de) 2015-06-22 2018-11-08 GM Global Technology Operations LLC (n. d. Ges. d. Staates Delaware) Robotervorrichtung mit maschinellem Sehen
DE202017106506U1 (de) 2016-11-15 2018-04-03 Google Llc Einrichtung für tiefes Maschinenlernen zum Robotergreifen
DE102017105174B4 (de) 2017-03-10 2020-04-23 Sick Ag Verfahren zum Erzeugen von Trainingsdaten für die Überwachung einer Gefahrenquelle
DE102019002065A1 (de) 2018-03-29 2019-10-02 Fanuc Corporation Maschinelle Lernvorrichtung, Robotersteuervorrichtung und Robotervisionssystem, das eine maschinelle Lernvorrichtung verwendet, und maschinelles Lernverfahren
DE202018103922U1 (de) 2018-07-09 2018-08-06 Schunk Gmbh & Co. Kg Spann- Und Greiftechnik Greifsystem als intelligentes Sensor-Aktor-System
DE102019122790A1 (de) 2018-08-24 2020-02-27 Nvidia Corp. Robotersteuerungssystem
DE102019206444A1 (de) 2019-05-06 2020-11-12 Kuka Deutschland Gmbh Maschinelles Lernen einer Objekterkennung mithilfe einer robotergeführten Kamera
DE102020114583A1 (de) 2019-07-09 2021-01-14 Toyota Jidosha Kabushiki Kaisha Rechenvorrichtung, Maschinenlernverfahren und Speichermedium
DE102019121889B3 (de) 2019-08-14 2020-11-19 Robominds GmbH Automatisierungssystem und Verfahren zur Handhabung von Produkten

Also Published As

Publication number Publication date
US20220301209A1 (en) 2022-09-22
CN115107020A (zh) 2022-09-27

Similar Documents

Publication Publication Date Title
DE112019002310B4 (de) Ausführen einer "peg in hole"-aufgabe mit unbekannter neigung
DE112018002565B4 (de) System und Verfahren zum direkten Anlernen eines Roboters
DE102019109624B4 (de) Roboterbewegungseinlernvorrichtung, Robotersystem und Robotersteuerung
DE102015111080B4 (de) Robotervorrichtung mit maschinellem Sehen
DE102019216229A1 (de) Vorrichtung und Verfahren zum Steuern einer Robotervorrichtung
DE102021109332B4 (de) Vorrichtung und Verfahren zum Steuern eines Roboters zum Einsetzen eines Objekts in eine Einsetzstelle
DE102021109334B4 (de) Vorrichtung und Verfahren zum Trainieren eines Neuronalen Netzes zum Steuern eines Roboters für eine Einsetzaufgabe
DE102020214633A1 (de) Vorrichtung und Verfahren zum Steuern einer Robotervorrichtung
DE102020212658A1 (de) Vorrichtung und Verfahren zum Steuern einer Robotervorrichtung
EP3760390A1 (de) Durchführen einer vorgegebenen aufgabe mithilfe wenigstens eines roboters
DE102014010638A1 (de) Verfahren und Vorrichtung zum Steuern eines Roboters
DE102015009892A1 (de) Verfahren und System zum Steuern eines Roboters
DE102020208211A1 (de) Vorrichtungen und Verfahren zum Trainieren eines maschinellen Lernmodells zum Erkennen einer Objekttopologie eines Objekts aus einem Bild des Objekts
DE102020200165A1 (de) Robotersteuereinrichtung und Verfahren zum Steuern eines Roboters
DE102021202759A1 (de) Vorrichtung und Verfahren zum Trainieren eines neuronalen Netzwerks zum Steuern eines Roboters
EP4016061B1 (de) Verfahren zur bedienung eines röntgen-systems
DE102021109333B4 (de) Vorrichtung und Verfahren zum Trainieren eines Neuronalen Netzes zum Steuern eines Roboters für eine Einsetzaufgabe
DE102021201880A1 (de) Vorrichtung und Verfahren zum Ermitteln der Pose eines Objekts
DE102021212859A1 (de) Vorrichtung und Verfahren zum Trainieren eines maschinellen Lernmodells zum Erzeugen von Deskriptorbildern zu Bildern von Objekten
DE102022107460A1 (de) Verfahren und system zum positionieren von sensoren innerhalb eines arbeitsraums
DE102020211053A1 (de) Annotationsvorrichtung
DE102020214301A1 (de) Vorrichtung und verfahren zum steuern eines roboters zum aufnehmen eines objekts in verschiedenen lagen
DE102021211185B4 (de) Vorrichtung und Verfahren zum Steuern eines Roboters
DE102021109336B4 (de) Vorrichtung und Verfahren zum Trainieren eines Neuronalen Netzes zum Steuern eines Roboters für eine Einsetzaufgabe
DE102021202337A1 (de) Vorrichtung und Verfahren zum Trainieren eines maschinellen Lernmodells zum Erkennen einer Objekttopologie eines Objekts in einem Bild des Objekts

Legal Events

Date Code Title Description
R163 Identified publications notified
R012 Request for examination validly filed
R016 Response to examination communication