DE102022107227A1 - Greifenlernen unter verwendung modularisierter neuronaler netze - Google Patents

Greifenlernen unter verwendung modularisierter neuronaler netze Download PDF

Info

Publication number
DE102022107227A1
DE102022107227A1 DE102022107227.4A DE102022107227A DE102022107227A1 DE 102022107227 A1 DE102022107227 A1 DE 102022107227A1 DE 102022107227 A DE102022107227 A DE 102022107227A DE 102022107227 A1 DE102022107227 A1 DE 102022107227A1
Authority
DE
Germany
Prior art keywords
dimensions
neural network
clustered
grouped
neural networks
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
DE102022107227.4A
Other languages
English (en)
Inventor
Yongxiang Fan
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.)
Fanuc Corp
Original Assignee
Fanuc Corp
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 Fanuc Corp filed Critical Fanuc Corp
Publication of DE102022107227A1 publication Critical patent/DE102022107227A1/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
    • 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/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/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/1669Programme controls characterised by programming, planning systems for manipulators characterised by special application, e.g. multi-arm co-operation, assembly, grasping
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • 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
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/09Supervised learning
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/20Image signal generators
    • H04N13/271Image signal generators wherein the generated image signals comprise depth maps or disparity maps
    • 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/39536Planning of hand motion, grasping

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Mechanical Engineering (AREA)
  • Robotics (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • Mathematical Physics (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Automation & Control Theory (AREA)
  • Computational Linguistics (AREA)
  • General Physics & Mathematics (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Data Mining & Analysis (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Fuzzy Systems (AREA)
  • Orthopedic Medicine & Surgery (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Image Analysis (AREA)
  • Manipulator (AREA)

Abstract

Verfahren zum modularen Aufteilen hochdimensionaler neuronaler Netze in neuronale Netze mit niedrigeren Eingangsdimensionen. Das Verfahren eignet sich zum Erzeugen von Roboter-Greifaktionen mit vollen Freiheitsgraden auf der Grundlage von Bildern von aufzunehmenden Teilen. In einem Beispiel kodiert ein erstes Netz Greifpositionsdimensionen, und ein zweites Netz kodiert Greifrotationsdimensionen. Das erste Netz wird darauf trainiert, eine Position vorherzusagen, in der eine Greifqualität für jeden Wert der Greifdrehungen maximiert ist. Das zweite Netz wird darauf trainiert, die höchste Greifqualität zu bestimmen, während es nur an der Position vom ersten Netz sucht. So bestimmen die zwei Netze gemeinsam einen bestmöglichen Griff, während der Suchraum jedes Netzes verkleinert ist. Viele Greifpostionen und -drehungen können in einer der Summe anstatt dem Produkt der evaluierten Positionen und Drehungen entsprechenden Suchmenge evaluiert werden. Dimensionen können auf jede geeignete Weise aufgeteilt werden, einschließlich dreier neuronaler Netze bei einigen Anwendungen.

Description

  • STAND DER TECHNIK
  • Technisches Gebiet
  • Die vorliegende Offenbarung bezieht sich allgemein auf ein Verfahren zum Entkoppeln eines hochdimensionalen neuronalen Netzes in zwei oder mehr neuronale Netze mit niedrigeren Eingangsdimensionen und insbesondere auf eine Technik zum Greifenlernen für Roboter unter Verwendung modularisierter neuronaler Netze, bei der Greif-Freiheitsgrade (degrees of freedom, DoF) in Gruppen aufgegliedert werden und jeder der gruppierten Sätze von Freiheitsgraden einzeln von einem neuralen Netz unter Verwendung speziell entwickelter Daten durchsucht wird, wodurch die Berechnungen für einen Griff mit vollen Freiheitsgraden weitaus effizienter als mit einem einzigen großen neuralen Netz bereitgestellt werden.
  • Erörterung der verwandten Technik
  • Die Verwendung von Industrierobotern zur Durchführung eines breiten Spektrums von Herstellungs-, Montage- und Materialbewegungstätigkeiten ist gut bekannt. Eine solche Anwendung ist eine Tätigkeit des Aufnehmens und Platzierens, bei der ein Roboter einzelne Teile aus einem Behälter aufnimmt und jedes Teil auf einem Förderer oder in einem Container platziert. Ein Beispiel für diese Anwendung wäre, wenn Teile, die geformt oder bearbeitet wurden, in den Behälter fallen gelassen werden und an zufälligen Orten und mit zufälligen Orientierungen liegen bleiben und der Roboter die Aufgabe hat, jedes Teil aufzunehmen und es mit einer vorgegebenen Orientierung (Pose) auf einem Förderer zu platzieren, der die Teile zum Verpacken oder zur weiteren Verarbeitung transportiert. In Abhängigkeit von der Art der Teile im Behälter und anderen Faktoren können Finger- oder Sauggreifer als das Roboterwerkzeug verwendet werden. Ein Sichtsystem (eine oder mehrere Kameras) wird üblicherweise verwendet, um die Position und die Pose von einzelnen Teilen in dem Behälter zu bestimmen.
  • Aus dem Stand der Technik ist bekannt, Systeme auf der Basis trainierter neuronaler Netze zum Berechnen von Greifanweisungen für Teile in einem Behälter zu verwenden. Bestehende auf neuronalen Netzen basierte Systeme zum Greifenlernen haben jedoch Nachteile, die ihre praktische Verwendung einschränken. Bei einem bekannten System wird ein Kandidat für einen Griff von oben nach unten in ein Bildpatch kodiert und das Netz darauf trainiert, die Qualität einer Vielzahl von Greifkandidaten vorherzusagen. Das System benötigt eine lange Zeit zum Berechnen von Greifkandidaten und kann nur (vertikale) Griffe von oben nach unten für Parallelbackengreifer erzeugen. Außerdem kann dieses System nicht die Wirkung einer Überlagerung zwischen Teilen in überladenen Umgebungen vorhersagen, da es ist nur mit einzelnen isolierten Teilen/Objekten trainiert wird und nicht mit einem zufälligen Durcheinander von Teilen in einem Behälter.
  • Bei einem anderen bekannten System wird das Erfordernis der zeitaufwendigen Berechnung von Greifkandidaten beseitigt, indem ein Netz darauf trainiert wird, das ursprüngliche Tiefenbild zu nehmen und die Qualität von jedem Pixel auszugeben. Doch kann dieses System aufgrund der großen Zahl von Pixeln, die in jedem Bild enthalten sind, keine genauen Vorhersagen für jedes Pixel machen. Daher ist dieses System nicht so genau wie das oben erörterte System. Außerdem kann dieses System aufgrund der Mehrdeutigkeit der Kodierung von Greiferwinkel/-weite nicht mit der dicht überladenen Umgebung umgehen, die typisch für Teile in einem Behälter ist. Zudem kann dieses System nur eine Lösung für einen geradlinigen Griff von oben nach unten erzeugen. Schließlich kann dieses System, ohne Vorhersage der Tiefe, den Robotergreifer möglicherweise in benachbarte Teile im Behälter lenken und Schäden am Greifer oder an den Teilen verursachen.
  • Bei einem noch weiteren bestehenden System wird versucht, einen Griff mit sechs Freiheitsgraden mit einem einzigen Netz zu bestimmen. Doch ist dieses System nicht in der Lage, im Griffevaluierungsnetz eine überladene Greifumgebung (wie einen Teilehaufen) zu bearbeiten, und benötigt einen Griffverfeinerungsschritt nach der Griffevaluierung im neuronalen Netz.
  • In Anbetracht der oben beschriebenen Umstände besteht ein Bedarf an einem Verfahren zum Aufgliedern hochdimensionaler lernender neuronaler Netze in zwei oder mehr Netze niedrigerer Dimension, wobei das Verfahren auf die Planung eines Griffs mit vollen Freiheitsgraden und andere Anwendungen anwendbar ist.
  • KURZDARSTELLUNG DER ERFINDUNG
  • Gemäß den Lehren der vorliegenden Offenbarung wird ein Verfahren zum Entkoppeln oder modularen Aufteilen hochdimensionaler neuronaler Netze in zwei oder mehr neuronale Netze mit niedrigeren Eingangsdimensionen beschrieben und veranschaulicht. Das offenbarte Verfahren zur Netzmodularisierung eignet sich besonders zum Generieren von Roboter-Greifaktionen mit vollen Freiheitsgraden auf der Grundlage von Bildern von aufzunehmenden Teilen in einem Behälter. In einem Beispiel kodiert ein erstes Netz Greifpositionsdimensionen und ein zweites Netz kodiert Greifrotationsdimensionen. Das erste Netz wird darauf trainiert, eine Position vorherzusagen, in der eine Greifqualität für jeden Wert der Greifdrehungen maximiert ist. Das zweite Netz wird darauf trainiert, die höchste Greifqualität zu bestimmen, während es nur an der zuvor vom ersten Netz bestimmten Position sucht. Auf diese Weise bestimmen die zwei Netze gemeinsam einen bestmöglichen Griff, während der dimensionale Suchraum jedes Netzes stark verkleinert ist. Insbesondere kann eine große Zahl von Greifpositionen und - drehungen in einer Gesamtzahl von Suchvorgängen evaluiert werden, die gleich der Summe anstatt dem Produkt der evaluierten Positionen und Drehungen ist. Die Separation von Dimensionen zwischen den Netzen kann derart gestaltet werden, dass sie am besten für eine bestimmte Anwendung geeignet ist, wobei bei einigen Anwendungen auch drei statt zwei neuronale Netze einbezogen werden können.
  • Weitere Merkmale der vorliegend offenbarten Vorrichtungen und Verfahren werden aus der nachstehenden Beschreibung und den beigefügten Patentansprüchen in Verbindung mit den begleitenden Zeichnungen ersichtlich.
  • Figurenliste
    • 1 ist ein Blockdiagramm eines robotischen Systems zum Aufnehmen von Teilen, das entkoppelte neuronale Netze zum Berechnen von Griffen mit vollen Freiheitsgraden verwendet, gemäß einer Ausführungsform der vorliegenden Offenbarung;
    • 2 ist eine Darstellung, in der Techniken des Stands der Technik zum Berechnen von Roboteraufgaben mit hohen Freiheitsgraden unter Verwendung eines einzigen großen neuralen Netzes den Techniken der vorliegenden Offenbarung gegenübergestellt werden, in der die Freiheitsgrade auf entkoppelte neurale Netze aufgeteilt werden;
    • 3 ist eine Darstellung eines mehrdimensionalen Suchraums, die veranschaulicht, wie gemäß einer Ausführungsform der vorliegenden Offenbarung ein Maximalabstand-Ansatz für die Netzmodularisierung angewendet wird, um Suchdimensionen zu entkoppeln und dennoch eine Maximalbedingung im ursprünglichen Suchraum ausfindig zu machen;
    • 4 ist eine Blockdiagrammdarstellung von Schritten in einer Trainingsphase einer Technik zur Modularisierung neuronaler Netze gemäß einer Ausführungsform der vorliegenden Offenbarung;
    • 5 ist ein Graph, der veranschaulicht, wie gemäß einer Ausführungsform der vorliegenden Offenbarung 3D-Tiefenbild-Daten zu einem Satz von Tiefenschichten verarbeitet und in der Trainingsphase von 4 bereitgestellt werden;
    • 6 ist eine Darstellung einer Tiefenbildschicht für eine bestimmte Tiefenschicht von 5, die in der Trainingsphase von 4 bereitgestellt wird, gemäß einer Ausführungsform der vorliegenden Offenbarung;
    • 7 ist eine Blockdiagrammdarstellung von Schritten in einer Inferenzphase einer Technik zur Modularisierung neuronaler Netze gemäß einer Ausführungsform der vorliegenden Offenbarung;
    • 8 ist eine Blockdiagrammdarstellung der auf ein 3-DoF-Griff-Suchproblem angewandten Technik zur Modularisierung neuronaler Netze gemäß einer Ausführungsform der vorliegenden Offenbarung;
    • 9 ist eine Blockdiagrammdarstellung der auf ein 5-DoF-Griff-Suchproblem unter Verwendung von zwei neuronalen Netzen angewandten Technik zur Modularisierung neuronaler Netze gemäß einer Ausführungsform der vorliegenden Offenbarung;
    • 10 ist eine Darstellung eines Verfahrens zum Trainieren eines modularisierten Netzes für das Greifenlernen des in 9 dargestellten Typs unter Verwendung einer Kombination aus der Optimierung des Greifens eines einzelnen Objekts und der Simulation der Variation und Überlagerung angehäufter Objekte gemäß einer Ausführungsform der vorliegenden Offenbarung;
    • 11 ist eine Blockdiagrammdarstellung der auf ein 7-DoF-Griff-Suchproblem unter Verwendung von drei neuronalen Netzen angewandten Technik zur Modularisierung neuronaler Netze gemäß einer Ausführungsform der vorliegenden Offenbarung; und
    • 12 ist ein Flussdiagramm eines Verfahrens zum modularen Aufteilen einer hochdimensionalen Roboteraufgabe auf zwei oder mehr in Reihe verbundene neuronale Netze mit niedrigeren Dimensionen gemäß einer Ausführungsform der vorliegenden Offenbarung.
  • AUSFÜHRLICHE BESCHREIBUNG DER AUSFÜHRUNGSFORMEN
  • Die nachstehende Erörterung der Ausführungsformen der vorliegenden Offenbarung, die das Greifenlernen durch einen Roboter unter Verwendung modularisierter neuronaler Netze betrifft, ist nur beispielhafter Natur und soll die offenbarten Vorrichtungen und Techniken oder ihre Anwendungen und Verwendungen in keiner Weise beschränken.
  • Die Verwendung von Industrierobotern zum Aufnehmen von Teilen von einer Quelle und zum Platzieren dieser Teile an einem Zielort ist gut bekannt. Bei einer üblichen Anwendung wird ein Teilevorrat in einem Behälter bereitgestellt, wie z.B. einem Behälter, der mit Teilen gefüllt ist, die gerade gegossen oder geformt wurden. Einem Roboter beizubringen, ein einzelnes Teil in einem mit Teilen gefüllten Behälter zu erkennen und zu greifen, war schon immer eine Herausforderung. Bei herkömmlichen Verfahren erfolgt das Einlernen der Roboter manuell in strukturellen Umgebungen. Für hochdimensionale Aufgaben in unstrukturierten Umgebungen ist es wünschenswert, eine robuste Greiffähigkeit durch Deep Learning unter Verwendung eines auf Mustererkennung trainierten neuronalen Netzes zu erlernen.
  • Um jedoch eine hochdimensionale Roboteraufgabe zu erlernen, erfordern auf Lernen basierende Verfahren im Allgemeinen die Kodierung hochdimensionaler Zustände/Aktionen und die Suche in einem hochdimensionalen Aktionsraum. Um beispielsweise eine allgemeine Bin-Picking-Aufgabe mit sechs Freiheitsgraden (DoF) zu erlernen, muss das neuronale Netz die hochdimensionale Beobachtung und 6-DoF-Greifaktionen kodieren, bevor es den Aktionsraum durchsucht. Dies kann die Komplexität des Netzes erhöhen und eine hohe Rechenlast einführen.
  • Was die Herausforderungen des Lernens bei hohen Dimensionen angeht, reduzieren zwei bekannte bestehende Verfahren die Suche auf vier Dimensionen und schränken die Annäherungsrichtung der Griffe von oben nach unten ein. Außerdem sind diese lernbasierten Verfahren entweder nicht schnell genug (aufgrund der Notwendigkeit einer zeitaufwendigen Berechnung des Greifkandidaten) oder nicht genau genug (weil dabei versucht wird, zu viele Dimensionen vorherzusagen, was für neuronale Netze schwierig ist). Noch ein anderes bestehendes Verfahren verwendet ein einziges neuronales Netz für einen Greifvorschlag mit sechs Freiheitsgraden, doch krankt dieses Verfahren an einer hohen Suchkomplexität, erfordert die anschließende Griffverfeinerung und kann nicht mit einer überladenen Objektumgebung umgehen, wie sie für Teile in einem Behälter typisch ist.
  • Um die Unzulänglichkeiten der bestehenden Verfahren und Systeme zu überwinden, beschreibt die vorliegende Offenbarung eine Technik zur modularen Aufteilung oder Entkopplung großer hochdimensionaler neuronaler Netze in zwei oder drei kleinere Netze niedrigerer Dimension. Durch die Verwendung dieser Technik zur Modularisierung neuronaler Netze kann die Suchgenauigkeit bewahrt werden, während die Leistung und die Effizienz des Netzes stark verbessert werden. Eine Anwendung für die offenbarte Technik zur Modularisierung neuronaler Netze besteht im robotischen Greifen von Teilen, bei dem alle Freiheitsgrade (DoF) eines Griffs anhand von Bildern eines mit Teilen gefüllten Behälters berechnet werden und der berechnete Griff einen Qualitätsschwellenwert überschreitet.
  • 1 ist ein Blockdiagramm eines robotischen Systems zum Aufnehmen von Teilen, das entkoppelte neuronale Netze zum Berechnen von Griffen mit vollen Freiheitsgraden verwendet, gemäß einer Ausführungsform der vorliegenden Offenbarung. Das in 1 gezeigte System ist dazu vorgesehen, eine beispielhafte Anwendung zu veranschaulichen, bei der die offenbarte Technik zur Modularisierung neuronaler Netze eingesetzt werden kann. Ein Roboter 100 mit einem Greifer 102 arbeitet in einem Arbeitsraum, wobei der Roboter 100 Teile oder Objekte von einem ersten Ort (einem Behälter) zu einem zweiten Ort (einem Förderer) bewegt.
  • Die Bewegung des Roboters 100 wird von einer Steuerung 110 gesteuert, die üblicherweise über ein Kabel 112 mit dem Roboter 100 kommuniziert. Die Steuerung 110 führt dem Roboter 100 Gelenkbewegungsbefehle zu und empfängt Gelenkpositionsdaten von Gebern in den Gelenken des Roboters 100, wie aus dem Stand der Technik bekannt. Die Steuerung 110 stellt auch Befehle zum Steuern des Betriebs des Greifers 102, einschließlich Drehwinkel und Weite des Greifers, und Befehle zum Greifen/Lösen bereit.
  • Ein Computer 120 steht in Verbindung mit der Steuerung 110. Der Computer 120 umfasst einen Prozessor und einen Speicher/Datenspeicher und ist mit neuronalen Netzen zum Berechnen eines Greifvorschlags anhand von Bildern einer dreidimensionalen (3D) Kamera konfiguriert. Bei einer Ausführungsform ist der Computer 120, auf dem die neuronalen Netze im Ausführungs- oder Inferenzmodus laufen, derselbe Computer, auf dem die neuronalen Netze vorab trainiert werden. Bei einer anderen Ausführungsform werden die neuronalen Netze auf einem anderen Computer trainiert und dem Computer 120 zur Verwendung bei realen robotischen Greiftätigkeiten zugeführt.
  • Ein Paar 3D-Kameras 130 und 132 kommunizieren über eine fest verdrahtete Verbindung oder drahtlos mit dem Computer 120 und stellen Bilder des Arbeitsraums bereit. Insbesondere stellen die Kameras 130/132 Bilder von Objekten 140 in einem Behälter 150 bereit. Die Bilder (einschließlich Tiefendaten) von den Kameras 130/132 stellen Punktwolkendaten bereit, die die Position und Orientierung der Objekte 140 in dem Behälter 150 definieren. Wenn es zwei der 3D-Kameras 130 und 132 mit unterschiedlichen Perspektiven gibt, ist es möglich, eine 3D-Tiefenkarte der Objekte 140 in dem Behälter 150 aus jedem geeigneten Blickwinkel zu berechnen oder zu projizieren. Bei einer anderen Ausführungsform wird nur eine der 3D-Kameras (130) verwendet, beispielsweise ausgerichtet für eine direkte vertikale Blickrichtung.
  • Die Position des Behälters 150 relativ zum Roboter 100 ist bekannt, sodass der Roboter 100, wenn ein Greifen eines Objekts 140 an einem Ort in dem Behälter 150 berechnet wird, den Greifer 102 zum Ausführen des Griffs steuern kann. Die Aufgabe des Roboters 100 besteht darin, eines der Objekte 140 aus dem Behälter 150 zu nehmen und das Objekt zu einem Förderer 160 zu bewegen. Im gezeigten Beispiel wird ein einzelnes Teil 142 ausgewählt, vom Greifer 102 des Roboters 100 ergriffen und entlang einer Bahn 180 zum Förderer 160 bewegt.
  • Für jeden Vorgang zum Aufnehmen eines Teils empfängt der Computer 120 ein oder mehr Bilder der Objekte 140 in dem Behälter 150 von den Kameras 130/132. Anhand der Kamerabilder berechnet der Computer 120 eine oder mehr Tiefenkarten des Haufens von Objekten 140 in dem Behälter 150. Unter Verwendung der Tiefenkarten bestimmen die auf dem Computer 120 laufenden neuronalen Netze einen Griff mit vollen Freiheitsgraden hoher Qualität für ein einzelnes Objekt in dem Behälter 150. Beispielsweise wäre ein Objekt auf der Oberseite des Objekthaufens, bei dem erhebliche Anteile seiner Seiten freiliegen und frei von umgebenden Objekten sind, ein guter Greifkandidat.
  • Wenn bestimmt wird, dass sich ein Objekt (wie etwa das Objekt 142) in einer Position für einen Griff hoher Qualität gemäß den unten im Einzelnen beschriebenen Techniken befindet, führt der Computer 120 der Steuerung 110 die Greifdaten für das einzelne Objekt zu, die dann den Roboter 100 anweist, das Objekt zu ergreifen und zu bewegen. Die Greifdaten für das einzelne Objekt, die der Computer 120 der Steuerung 110 zuführt, umfassen vorzugsweise 3D-Koordinaten des Greifzielpunkts, den vom Greifer 102 einzuhaltenden Annäherungswinkel sowie den Drehwinkel und die Weite des Greifers (oder die Positionen aller Fingergelenke).
  • Unter Verwendung der Greifdaten für das einzelne Objekt kann die Steuerung 110 die Roboterbewegungsanweisungen berechnen, die bewirken, dass der Greifer 102 das identifizierte Objekt (z.B. das Objekt 142) ergreift und das Objekt entlang einer kollisionsfreien Bahn (Bahn 180) zum Zielort bewegt. Anstelle des Förderers 160 könnte der Zielort ein Container sein, in dem die Objekte in einzelnen Abteilungen platziert werden, oder jede andere Fläche oder Vorrichtung, wo die Objekte in einem anschließenden Vorgang weiter verarbeitet werden.
  • Nachdem das Objekt 142 zum Förderer 160 bewegt wurde, werden von den Kameras 130/132 neue Bilddaten bereitgestellt, da sich der Objekthaufen 140 verändert haben wird. Der Computer 120 muss dann auf der Grundlage der neuen Bilddaten unter Verwendung der trainierten neuronalen Netze ein neues Zielobjekt zum Greifen identifizieren. Das neue Zielobjekt muss vom Computer 120 sehr schnell erkannt werden, da die Objekterkennung und die Bahnberechnung in Echtzeit so schnell durchgeführt werden müssen, wie der Roboter 100 eines der Objekte 140 bewegen und zurückkehren kann, um das nächste Objekt aufzunehmen. Die effiziente Suche, die modularisierte neuronale Netze niedrigerer Dimension bieten, ermöglicht die schnelle Berechnung von Griffen, die für diese Greifanwendung benötigt wird.
  • Bei der oben beschriebenen Anwendung bei dem System von 1 wird vorzugsweise ein Greifvorschlag mit sieben Freiheitsgraden (DoF) vom Computer 120 verwendet. Bei einer Ausführungsform umfassen die sieben DoF zwei DoF für eine Annäherungsrichtung (x- und y-Komponenten in Verbindung mit einer z-Einheitsabwärtsbewegung des Robotergreifers), drei DoF für einen Greifort (x/y/z-Koordinaten) und zwei weitere DoF für den Dreh-/Verdrehwinkel des Greifers und die Greiferweite. Um den auf Bildern eines mit Teilen gefüllten Behälters basierenden Greifvorschlag mit sieben DoF bereitzustellen, kann der Computer 120 vorteilhafterweise die offenbarten Techniken zur Modularisierung neuronaler Netze nutzen, um die Griffsuchdimensionen auf zwei oder sogar drei Netze aufzuteilen. Die allgemeinen Konzepte der offenbarten Modularisierung neuronaler Netze werden unten erörtert, gefolgt von Beispielen der auf robotische Greifanwendungen angewandten Netzmodularisierung.
  • 2 ist eine Darstellung, in der Techniken des Stands der Technik zum Berechnen von Roboteraufgaben mit hohen Freiheitsgraden unter Verwendung eines einzigen großen neuralen Netzes den Techniken der vorliegenden Offenbarung gegenübergestellt werden, in der die Freiheitsgrade auf entkoppelte neurale Netze aufgeteilt werden. In 2 und mehreren weiteren Figuren wird das Konzept der von neuronalen Netzen evaluierten Dimensionen im Hinblick auf Positionsdimensionen p und Rotationsdimensionen r beschrieben. Lässt man beispielsweise die Greiferweite außer Acht, können die Position und die Orientierung eines Greifers auf einem Roboter vollständig durch drei Positionsfreiheitsgrade (x/y/z) (p) und drei Rotationsfreiheitsgrade (Gieren/Nicken/Rollen oder zwei Winkel, die die Annäherungsrichtung beschreiben, sowie Drehwinkel, oder Euler-Winkel oder andere geeignete Winkel) (r) beschrieben werden.
  • In Kasten 210 von 2 ist ein herkömmlicher Ansatz für die Verwendung eines neuronalen Netzes zur Berechnung eines Greifvorgangs dargestellt. Ein einziges neuronales Netz 220 wird zum Kodieren aller sechs Freiheitsgrade verwendet, die drei Positionsdimensionen p und drei Rotationsdimensionen r umfassen. In einem Beispiel wird das neuronale Netz 220 trainiert, indem Tiefenbilder eines Objekthaufens zusammen mit einem manuell identifizierten Kandidaten für einen Qualitätsgriff für ein einzelnes Objekt verwendet werden. In einer Ausführungsphase (auch bekannt als Deployment- oder Inferenzphase, in der das trainierte neuronale Netz verwendet wird, um Griffe bei realen robotischen Tätigkeiten zu bestimmen) besteht die Eingabe auf Linie 230 in Tiefenbildern, die Umgebungsdaten enthalten, die ausreichen, um die Qualitäten der Griffe mit vollen Freiheitsgraden, die sowohl die Greiferpositionen als auch die Greiferdrehungen {p, r} umfassen, abzuleiten. Die Ausgabe auf Linie 232 besteht in den Dimensionen des vorgeschlagenen Qualitätsgriffs für ein einzelnes Objekt, die die vorgeschlagenen optimalen Greiferpositionen und -drehungen (p*, r*) umfassen.
  • Das neuronale Netz 220 im Kasten 210 kodiert sechs Dimensionen einer Greiferpose, die durch die Eingangsumgebungsdaten definiert werden, die mit Griffen (p, r) verbunden sind, und in der Ausführungsphase versucht es, Tiefenbilder zu durchsuchen, um ein Optimum für (p*, r*) aller sechs Dimensionen zu identifizieren. Ein neuronales Netz, das derart viele Dimensionen kodiert und absucht, wird sehr komplex (viele Schichten), und demzufolge gehen das Training und die Suche sehr langsam vor sich, und die Suchergebnisse können ungenau und mehrdeutig sein.
  • In Kasten 250 von 2 ist ein neuer Ansatz für die Verwendung neuronaler Netze zur Berechnung eines Griffs dargestellt. Anstatt wie beim oben erörterten herkömmlichen Ansatz ein einziges neuronales Netz zum Berechnen aller Dimensionen des Greifvorgangs zu verwenden, werden zwei neuronale Netze (260 und 270) verwendet. Im ersten neuronalen Netz 260 werden die drei Positionsdimensionen p unter Verwendung der Eingangsumgebungsdaten auf Linie 252 derart kodiert, dass das erste neuronale Netz 260 nach dem Positionsdimensionswert p* suchen kann, der den bestmöglichen Griff (höchste Greifqualität-Kennzahl) über alle Werte der drei Rotationsdimensionen r erbringt. Im zweiten neuronalen Netz 270 werden alle Positions- und Rotationsdimensionen {p, r} unter Verwendung der ursprünglichen Eingangsdaten von der Linie 252 sowie des optimalen Positionsdimensionswerts p* auf Linie 262 kodiert. Während der Ausführungsphase wird dem zweiten neuronalen Netz 270 jedoch der Positionswert p* zugeführt, der den bestmöglichen Griff ergibt, und daher muss das zweite neuronale Netz 270 nur die Rotationsdimensionen r absuchen. Die Ausgabe auf Linie 272 besteht in den Dimensionen des vorgeschlagenen Qualitätsgriffs für ein einzelnes Objekt, die die vorgeschlagenen optimalen Greiferpositionen und -drehungen (p*, r*) umfassen.
  • Das oben Gesagte kann folgendermaßen auf andere Weise erklärt werden. Das einzige neuronale Netz 220 sucht nach einer hochdimensionalen Roboteraktion (sagt Dimensionswerte r * , p * = argmax r , p Q ( r , p )
    Figure DE102022107227A1_0001
     
    Figure DE102022107227A1_0002
    vorher), indem es über alle Dimensionen {r, p} nach den Werten {r*, p*} sucht, die eine Qualitätskennzahl Q maximieren, die eine Funktion sowohl von r als auch p ist. Gemäß den vorliegend offenbarten Techniken kann das einzige hochdimensionale neuronale Netz 220 in eine Modularisierung der zwei neuronalen Netze 260 und 270 aufgegliedert werden, wobei das erste neuronale Netz 260 einen Maximalabstand-Wert p * = argmax p Q r ( p )
    Figure DE102022107227A1_0003
    vorhersagt, p wobei Qr(p) die entlang der r-Richtung projizierte Greifqualität ist, und das zweite neuronale Netz 270 das bedingte Verhalten r * = argmax r Q ( r , p | p = p * )
    Figure DE102022107227A1_0004
    vorhersagt. Im Folgenden wird im Einzelnen erörtert, wie ein hochdimensionales Suchproblem auf zwei neuronale Netze modular aufgeteilt werden kann, wobei jedes Netz einen verkleinerten Dimensionssuchraum aufweist, aber die kombinierten Netze dennoch einen optimalen Greifqualitätswert finden.
  • 3 ist eine Darstellung eines mehrdimensionalen Suchraums, die veranschaulicht, wie gemäß einer Ausführungsform der vorliegenden Offenbarung ein Maximalabstand-Ansatz für die Netzmodularisierung angewendet wird, um Suchdimensionen zu entkoppeln und dennoch eine Maximalbedingung im ursprünglichen Suchraum ausfindig zu machen. Ein gemeinsamer Suchraum über die Dimensionen p und r wird durch ein Gitter 310 dargestellt. Das Gitter 310 stellt den Suchraum visuell dar, wobei Spalten Werte von p (p0, p1, ..., pi,) ausweisen und Zeilen Werte von r (r0, r1, ..., rj,) ausweisen. Die Größe des Punkts in jeder Zelle des Gitters 310 stellt den Wert der Greifqualität Q(r,p) für diese besondere Kombination von p und r dar. Ein größerer Punkt gibt eine höhere Greifqualität an.
  • Wenn, wie bereits erörtert, p und r die Positions- und Rotationsdimensionen eines Griffs (Greiferpose) darstellen, dann umfassen sowohl p als auch r jeweils drei Dimensionen oder Freiheitsgrade. Daher kann man sich leicht vorstellen, dass viele verschiedene Werte von p und r untersucht werden müssen, um einen optimalen Greifkandidaten zu finden. Das heißt, dass die Werte von i und j wahrscheinlich mindestens im Hunderterbereich liegen. Wenn beispielsweise die x-, y- und z-Dimensionen von p jeweils in zehn Inkremente unterteilt werden, dann hat p eine Dimensionsgröße von 10x10x10=1000. Wenn das Gitter 310 von einem einzigen neuronalen Netz (wie dem Netz 220 von 2) durchsucht wird, muss die Suche i · j mal (i multipliziert mit j) durchgeführt werden. Dies bringt es mit sich, dass der Suchraum sehr groß und das neuronale Netz folglich sehr komplex und langsam ist. Wird das Gitter 310 von zwei neuronalen Netzen niedrigerer Dimension (wie den Netzen 260 und 270 von 2) durchsucht, muss die Suche i + j mal durchgeführt werden, was eine viel kleinere Zahl ist. Dies führt zu einer neuronalen Netzlösung, die viel weniger kompliziert und viel schneller ist, wie unten im Einzelnen erörtert wird.
  • Wie ebenfalls bereits erwähnt, definiert die vorliegende Offenbarung Techniken zum Aufteilen (Modularisieren) des einen großen hochdimensionalen neuronalen Netzes in zwei (oder mehr) einfachere neuronale Netze. Ein Schlüssel zum Aufteilen des einen großen neuronalen Netzes in zwei einfachere neuronale Netze ist das Kodieren des ersten neuronalen Netzes, um einen Wert p* zu finden, der die insgesamt höchste Greifqualität bei einem seiner entsprechenden Werte von r ergibt, sodass das zweite neuronale Netz die Dimension r an einem optimalen Ort in p suchen kann. Im Folgenden wird diese Technik erörtert.
  • Im Kasten 320 wird eine erste Technik zur Modularisierung neuronaler Netze dargestellt, bei der das Absuchen der beiden Dimensionen p und r des Gitters 310 in ein Absuchen der Dimension p zum Finden von p*, gefolgt von einem Absuchen der Dimension r bei p* zum Finden des Griffs mit der höchsten Qualität aufgeteilt wird. Wie oben erörtert, kann p* mit p * = argmax p Q r ( p )
    Figure DE102022107227A1_0005
     
    Figure DE102022107227A1_0006
    gefunden werden, wobei Qr(p) die entlang der Richtung r p projizierte Greifqualität Q(r,p) ist. Qr(p) verbirgt r und ist nur eine Funktion von p. Mit der im Kasten 320 beschriebenen Technik wird Qr(p) = ∫Q(r,p)dr definiert. Wenn Qr(p) auf diese Weise definiert wird, findet das erste neuronale Netz (gezeigt bei 330) den Wert von p*, der die beste Durchschnittsqualität Q hat, das heißt, das Integral über alle Werte von r. Anhand der Größen der Qualitätspunkte im Gitter 310 kann man sehen, dass der Wert von p* im Kasten 320 pi ist, was die Spalte mit der höchsten Durchschnittsqualität ist.
  • Wenn das zweite neuronale Netz im Kasten 320, gezeigt bei 340, über alle Werte von r bei p* = pi sucht, um den Höchstwert von Q zu identifizieren, sind alle anderen Werte von p verborgen. Somit findet das zweite neuronale Netz die höchste Greifqualität für p* = pi, die bei r0 vorliegt. Aus einer Betrachtung des Gitters 310 geht hervor, dass die Greifqualität bei (r0, pi) nicht die insgesamt höchste Greifqualität ist. Folglich ist die im Kasten 320 dargestellte Normalabstand-Technik nicht zuverlässig in der Lage, einen Höchstwert zu finden, wenn sie bei der Modularisierung neuronaler Netze verwendet wird.
  • Im Kasten 350 wird eine zweite Technik zur Modularisierung neuronaler Netze dargestellt, bei der das Absuchen der beiden Dimensionen p und r des Gitters 310 in ein Absuchen der Dimension p zum Finden von p*, gefolgt von einem Absuchen der Dimension r bei p* zum Finden des Griffs mit der höchsten Qualität aufgeteilt wird. Gemäß der vorliegenden Offenbarung wird bei der im Kasten 350 beschriebenen Technik eine Maximalabstand-Technik verwendet, die Q r ( p ) = max r Q ( r , p )
    Figure DE102022107227A1_0007
    definiert. Wenn Qr(p) auf diese Weise definiert wird, findet das erste neuronale Netz (gezeigt bei 360) den Wert von p*, der die beste Gesamtqualität Q hat, das heißt, die höchste individuelle Qualität über alle Werte von r. Mit anderen Worten sagt das erste neuronale Netz vorher, dass ein bestimmtes p eine hohe Bewertung hat, solange es ein r gibt, das gut funktioniert. Anhand der Größen der Qualitätspunkte im Gitter 310 kann man sehen, dass der Wert von p* im Kasten 350 p0 ist, was die Spalte ist, die die Zelle mit der höchsten individuellen Qualität enthält.
  • Wenn das zweite neuronale Netz im Kasten 350, gezeigt bei 370, über alle Werte von r bei p* = p0 sucht, um den Höchstwert von Q zu identifizieren, sind alle anderen Werte von p verborgen. Somit findet das zweite neuronale Netz die höchste Greifqualität für p* = p0, die bei rj vorliegt. Aus einer Betrachtung des Gitters 310 geht hervor, dass die Greifqualität bei (rj, p0) tatsächlich die insgesamt höchste Greifqualität ist. Somit ist es mit der im Kasten 350 gezeigten Maximalabstand-Technik möglich, einen Zielwert von einer Dimension (p*) zu finden, der einen Höchstwert liefert, wenn sie bei der Modularisierung neuronaler Netze verwendet wird.
  • Da das zweite neuronale Netz 370 im Kasten 350 r nur bei p* = p0 sucht und alle anderen Werte von p verborgen sind, ist die Suche des zweiten neuronalen Netzes viel schneller (um einen Faktor j) als eine Suche mit einem einzigen neuronalen Netz über alle Dimensionen des Gitters 310. Diese enorme Verbesserung der Suchleistung eines neuronalen Netzes ist sehr wichtig bei robotischen Greifanwendungen, bei denen der Greifvorschlag, der einem Bild eines Objekthaufens entspricht, in Echtzeit berechnet werden muss, um die Robotersteuerung zu unterstützen.
  • Auf der Grundlage der vorstehenden Erörterung von 3 kann man sehen, dass die Maximalabstand-Technik (gezeigt im Kasten 350, wobei p *  mit  p * = argmax p Q r ( p )
    Figure DE102022107227A1_0008
    gefunden werden kann und Q r ( p ) = max r Q ( r , p ) )
    Figure DE102022107227A1_0009
     
    Figure DE102022107227A1_0010
    effektiv zur Modularisierung neuronaler Netze eingesetzt werden kann. Im Folgenden wird erörtert, wie dies in einer Trainingsphase und in einer Inferenzphase der Modularisierung neuronaler Netze geschieht.
  • 4 ist eine Blockdiagrammdarstellung von Schritten in einer Trainingsphase einer Technik zur Modularisierung neuronaler Netze gemäß einer Ausführungsform der vorliegenden Offenbarung. Kasten 400 beinhaltet die Schritte, die beim Training eines ersten neuronalen Netzes 410 verwendet werden. Kasten 450 beinhaltet die Schritte, die beim Training eines zweiten neuronalen Netzes 460 verwendet werden. Das erste (410) und das zweite (460) neuronale Netz von 4 arbeiten in der Weise des ersten und des zweiten neuronalen Netzes von 3, die oben erörtert wurde.
  • Wie im oberen Bereich der Kästen 400 und 450 schematisch dargestellt, kodiert das erste neuronale Netz 410 die gruppierte Dimension p derart, dass das erste neuronale Netz auf der Grundlage von Eingangsdaten, die die Umgebung für {p} beschreiben, imstande ist, p* vorherzusagen, das heißt den Wert von p, für den es eine höchste Qualität bei irgendeinem Wert von r gibt. Das zweite neuronale Netz 460 kodiert dann alle Dimensionen (p, r) auf der Grundlage von Eingangsdaten, die die Umgebung für alle r beim vorher bestimmten p* definieren, und es bestimmt Werte (p*, r*), bei denen es eine höchste Greifqualität gibt.
  • Zum Trainieren des ersten neuronalen Netzes 410 werden zuerst Maximalabstand-Daten wie bei 420 und 430 angegeben vorbereitet. Die bei 420 angegebenen Eingangsdaten Ir(p) stellen den Zustand zur eindeutigen Kodierung der Aktion p dar. Die Aktion r ist verborgen und somit ist Ir(p) eine Funktion von p. Die bei 430 angegebenen Ausgangsdaten Qr(p) sind die mit der Maximalabstand-Methode (oben mit Bezug auf 3 erörtert) entlang der Richtung r projizierte Qualität Q(r,p). Die Ausgangsdaten Qr(p) bei 430 werden in Form von Greifqualitätskarten bereitgestellt, die unten näher erörtert werden. Qr(p) verbirgt r und ist nur eine Funktion von p. Obwohl die Qualität die Ausgabe des ersten neuronalen Netzes 410 ist, werden die Daten Qr(p) als Eingabe für das Netztraining bereitgestellt. Für eine Greifaufgabe stellt Ir(p) die Information (z.B. Tiefe) in verschiedenen p dar, und Qr(p) ist die höchste Qualität für verschiedene r in einer bestimmten p, wie bei 420 und 430 gezeigt. Die 5 und 6 veranschaulichen weiter die Eingangsdaten Ir(p), die Greifqualitätsdaten Qr(p) und die Beziehung zwischen ihnen, die schließlich durch Training in das erste neuronale Netz 410 kodiert wird.
  • 5 ist ein Graph 500, der veranschaulicht, wie gemäß einer Ausführungsform der vorliegenden Offenbarung 3D-Tiefenbild-Daten zu einem Satz von Tiefenschichten verarbeitet und in der Trainingsphase von 4 bereitgestellt werden. Für ein bestimmtes 3D-Tiefenbild (gezeigt bei 420 in 4) werden mehrere Tiefenbildschichten als die Eingangsdaten Ir(p) zum Trainieren des ersten neuronalen Netzes 410 bereitgestellt. Im Graph 500 stellt eine x-Achse 510 eine horizontale Dimension des 3D-Tiefenbilds dar, und eine z-Achse 520 stellt die vertikale Dimension des Tiefenbilds dar (beispielsweise könnte die z-Achse 520 die Höhe eines mit Teilen gefüllten Behälters sein). Eine y-Achse 512 des 3D-Tiefenbilds erstreckt sich „in das Blatt“ beim Graph 500. Eine Kurve 530 stellt die kollektive Höhe des Teilehaufens in der xz-Ebene dar. Anders gesagt ist die Kurve 530 die Oberkante eines Querschnitts des Teilehaufens in der xz-Ebene.
  • Das 3D-Tiefenbild kann in mehrere Schichten, jede auf einer anderen Höhe (z0,z1, ...,zi, ..., zN), unterteilt werden. Die durch eine Linie 540 dargestellte Höhe z0 gibt den höchsten Punkt im Tiefenbild (z.B. den Teilehaufen) an. Eine Tiefenbildschicht ist für die Höhe z0 vorgesehen und zeigt eine vollständige Tiefenkarte, die alle Objekte von der Ebene z0 (Oberkante des höchsten Objekts) bis hinunter zur Ebene zN (Boden des Behälters) umfasst. In der Tiefenbildschicht für z0 haben die z-Koordinaten des Tiefenbilds einen Referenzursprung, der auf z0 festgelegt ist, sodass alles im Tiefenbild eine negative z-Koordinate hat. Die Höhe z1, die durch eine Linie 542 dargestellt wird, gibt eine Ebene an, die geringfügig unter der Oberkante des Tiefenbilds liegt. Eine andere Tiefenbildschicht ist für die Höhe z1 vorgesehen und zeigt ebenfalls eine Tiefenkarte, die alle Objekte von der Ebene z0 bis hinunter zur Ebene zN des Bodens umfasst; in der Tiefenbildschicht z1 haben die z-Koordinaten des Tiefenbilds jedoch einen Referenzursprung, der auf z1 festgelegt ist, sodass alles über z1 in dem Tiefenbild eine positive z-Koordinate hat und alles unter z1 in dem Tiefenbild eine negative z-Koordinate hat. Ebenso sind Tiefenbildschichten für zusätzliche Ebenen zi vorgesehen (dargestellt durch eine Linie 544). Jede Tiefenbildschicht ist ein vollständiges Tiefenbild für den gesamten Teilehaufen, doch jede Tiefenbildschicht hat einen anderen Ursprung in der z-Richtung. Durch Ausführen von Schnitten auf verschiedenen Ebenen und Bereitstellen mehrerer Tiefenbildschichten wird die z-Richtung beim Trainieren des neuronalen Netzwerks 410 kodiert. Die Kodierung von x und y erfolgt natürlich durch die zweidimensionale Information in jeder Schicht. Dies ist in 6 dargestellt.
  • Die Kurve 530 hat ein Merkmal 550 und ein Merkmal 560. Die Merkmale 550 und 560 sind hohe Punkte in der Tiefenkarte, die Stellen angeben, an denen der Teilehaufen aufgrund des Vorhandenseins von einem oder mehreren Teilen höher ist. Die Merkmale 550 und 560 zeigen sich als Formen im Tiefenbild und in den Greifqualitätskarten, wie unten erörtert wird.
  • 6 ist eine Darstellung einer Tiefenbildschicht 600 für eine bestimmte Tiefenschicht von 5, die in der Trainingsphase von 4 bereitgestellt wird, gemäß einer Ausführungsform der vorliegenden Offenbarung. In der Tiefenbildschicht 600 entspricht die x-Achse 510 der x-Achse 510 von 5, und die y-Achse 512 entspricht der y-Achse 512 von 5. Mit anderen Worten ist die Tiefenbildschicht 600 ein Tiefenbild von oben nach unten, und die z-Achse 520 von 5 tritt in 6 „aus dem Blatt heraus“.
  • Die Tiefenbildschicht 600 umfasst eine Form 620 und eine Form 630, die den Merkmalen 550 bzw. 560 von 5 entsprechen. Die Formen 620 und 630 sind in der Mitte am dunkelsten, wodurch die höchste z-Koordinate angegeben wird und was den Höchstwerten der Merkmale 550 und 560 von 5 entspricht. Wenn die Tiefenbildschicht 600 für die Höhe zi ist, dann haben die z-Koordinaten des Tiefenbilds einen auf zi festgelegten Referenzursprung, sodass alles über zi (Linie 544) in dem Tiefenbild eine positive z-Koordinate hat und alles unter zi (Linie 544) in dem Tiefenbild eine negative z-Koordinate hat. Ebenso sind die mit 430 gekennzeichneten Qualitätskarten von 4 in Schichten oder Schnittbilder gestapelt. Jede Schicht der Qualitätskarten 430 zeigt die Greifkandidaten, die nahe an der aktuellen Schicht des Tiefenbilds liegen, wie etwa innerhalb eines schattierten Bereichs 570 der Höhe zi. Beispielsweise würde die Qualitätskarte für die Höhe zi Qualitätsgriffe in der Mitte der Formen 620 und 630 enthalten, während die Qualitätskarte für die Höhe zN wahrscheinlich keine Qualitätsgriffe enthalten würde, weil es kein greifbares Merkmal auf dieser Ebene im Tiefenbild gibt. Die in den Qualitätskarten 430 bereitgestellten Greifkandidaten können von Hand mit herkömmlichen Verfahren wie Heuristik erzeugt werden, oder sie können automatisch mithilfe von Greifer-/Objekt-Optimierungsberechnungen gefolgt von einer Simulation der physischen Umgebung (Objekthaufen) erzeugt werden, was unten näher erörtert wird.
  • Es folgt eine Zusammenfassung der Vorbereitung der Maximalabstand-Daten für das Training des ersten neuronalen Netzes 410 (im Kasten 400 von 4): Für einen bestimmten Objekthaufen werden eine Punktwolke oder andere Tiefenkartendaten (wie etwa von 3D-Kameras) verwendet, um die Tiefenbilder 420 (in mehreren Schichten) und entsprechende Qualitätskarten 430 (die die Greifqualität an verschiedenen Punkten auf jeder Tiefenbildschicht ausweisen) bereitzustellen. Die oben erwähnten Schritte werden für viele verschiedene Objekthaufen (vorzugsweise Tausende) ausgeführt. Nachdem die Maximalabstand-Daten, wie bei 420 und 430 von 4 angegeben und in den 5 und 6 weiter detailliert dargestellt, vorbereitet wurden, wird das erste neuronale Netz 410 trainiert. Der Trainingsschritt wird im unteren Bereich des Kastens 400 gezeigt, wobei das erste neuronale Netz 410 darauf trainiert wird, die Greifqualität Qr(p) auf der Grundlage der eingegebenen Umgebungsbilddaten Ir(p) vorherzusagen. Das Training des ersten neuronalen Netzes ist einfach und schnell, sobald die Daten vorbereitet sind. Da die Greifqualität (die Ausgabe des ersten neuronalen Netzes 410) als Trainingsdaten bereitgestellt wird, ist das im Kasten 400 dargestellte Training als überwachtes Lernen bekannt.
  • Zum Trainieren des zweiten neuronalen Netzes 460 ( 4) werden Daten für die Kodierung aller Dimensionen r und p bereitgestellt. Zunächst werden die Tiefenbilder 420 (in mehreren Schichten), die zusammen mit den entsprechenden Qualitätskarten 430 (die die Greifqualität und die Position in jeder Tiefenbildschicht ausweisen) zum Trainieren des ersten neuronalen Netzes 410 verwendet wurden, wie bei 470 gezeigt kombiniert. Jedes der Tiefenbilder 420 wird mit Positionen von Qualitätsgriffen kodiert, die mit einer bestimmten Tiefenbildschicht verbunden sind. Das Ergebnis sind die bei 480 gezeigten Eingangsdaten I(r, p), die eine Vielzahl von Tiefenbildzuschnitten (482, 484, 486, ...) umfassen, von denen jeder ein Teil von einem der Tiefenbilder 420 ist, der wie von den Qualitätskarten 430 festgelegt zugeschnitten und gedreht wurde.
  • Für Greifanwendungen wird p in den bei 480 gezeigten Eingangsdaten I(r,p) (Tiefenbildzuschnitte 482, 484, 486, ...) durch Zuschnittmittelpunkte (x und y vom Ort auf einer Tiefenbildschicht und z vom Tiefenursprung dieser Schicht) kodiert, und r wird durch Zuschnittwinkel kodiert, beides wie von den Qualitätskarten 430 festgelegt. Es ist oftmals vorteilhaft, nicht-vertikale Greifrichtungen zuzulassen, um die beste Bin-Picking-Fähigkeit bereitzustellen. Die Annäherungsrichtung eines Griffs (das heißt eine nicht-vertikale Annäherungsrichtung) kann in dem ersten und dem zweiten neuronalen Netz (410/460) durch Zuführen von Tiefenbildern 420 (erneut verwendet bei 470) verschiedener Sichtwinkel kodiert werden. Die Tiefenbilder verschiedener Sichtwinkel können aus Punktwolkendaten berechnet werden, die von zwei 3D-Kameras mit unterschiedlichen Positionen und Orientierungen erhalten werden, wie in 1 dargestellt.
  • Die Ausgangsdaten Q(r,p) werden bei 490 gezeigt und beinhalten einen Wert einer Qualitätskennzahl, der mit jedem der Tiefenbildzuschnitte 482/484/486 verbunden ist. Die Qualitätskennzahl wird auch von der externen Trainingsdatenquelle (die weiter unten mit Bezug auf 10 erörtert wird) für jeden Griff auf den Qualitätskarten 430 bereitgestellt. Somit stehen die Ausgangsdaten Q(r,p) als Trainingsdaten für das zweite neuronale Netz 460 zur Verfügung. Für das Greifen sind die Ausgangsdaten Q(r,p) ein Skalarwert zur Darstellung der Qualität, die mit der Greifaktion r und p verbunden ist. Obwohl das zweite neuronale Netz 460 alle Aktionsdimensionen r und p kodiert, muss es aufgrund der vom ersten neuronalen Netz 410 durchgeführten Kodierung der Dimension p in der Inferenzzeit nur in r-Richtung suchen. Nachdem die gemeinsamen (r und p) Eingangs- und Ausgangsdaten wie bei 480 und 490 von 4 angegeben vorbereitet wurden, wird das zweite neuronale Netz 460 trainiert. Der Trainingsschritt wird im unteren Bereich des Kastens 450 gezeigt, wobei das zweite neuronale Netz 460 darauf trainiert wird, die Greifqualität Q(r,p) auf der Grundlage der eingegebenen Umgebungsbilddaten I(r, p) vorherzusagen.
  • Das erste neuronale Netz 410 kann ein Fully Convolutional Network (FCN) sein, das am besten für „Bild-Eingabe/Bild-Ausgabe“-Anwendungen geeignet ist. Das zweite neuronale Netz 460 kann ein Convolutional Neural Network (CNN) sein, das am besten für „Bild-Eingabe/Skalar-Ausgabe“-Anwendungen geeignet ist, wobei aufgrund des niederdimensionalen Inhalts der Ausgabe eine hohe Genauigkeit möglich ist. Sowohl das erste neuronale Netz 410 als auch das zweite neuronale Netz 460 werden mithilfe des überwachten Lernens trainiert, was bedeutet, dass die von den Netzen gewünschten Ausgangsdaten (die Qualitätskarten 430 vom ersten neuronalen Netz 410 und die Greifqualität-Kennzahlen 490 vom zweiten neuronalen Netz 460) als Eingaben für das Training bereitgestellt werden. Im Anschluss an die in den Kästen 400 und 450 von 4 dargestellten und oben erörterten Trainingsschritte sind die neuronalen Netze 410 und 460 trainiert und bereit zur Verwendung bei realen robotischen Tätigkeiten des in 1 veranschaulichten Typs.
  • 7 ist eine Blockdiagrammdarstellung von Schritten in einer Inferenzphase einer Technik zur Modularisierung neuronaler Netze gemäß einer Ausführungsform der vorliegenden Offenbarung. In der Inferenzphase - die auch als Deployment- oder Ausführungsphase bekannt sein kann - werden die neuronalen Netze 410 und 460 bei realen robotischen Tätigkeiten zum Aufnehmen von Teilen verwendet, um 3D-Tiefenbilder zu analysieren und Empfehlungen zur Qualitätsgreifkandidaten zu geben. Es wird hier erneut betont, dass das robotische Aufnehmen von Teilen (Bestimmung des Griffs anhand von 3D-Tiefenbildern) nur ein Beispiel der Modularisierung neuronaler Netze zum Aufteilen einer hochdimensionalen Aufgabe auf zwei oder mehr Netze niedrigerer Dimension ist.
  • Die neuronalen Netze 410 und 460, die in 4 gezeigt und wie oben erörtert trainiert werden, werden in der in 7 gezeigten Inferenzphase verwendet. Die neuronalen Netze 410 und 460 werden zwar unabhängig voneinander trainiert, doch sind sie in der Inferenzzeit verbunden, um die volldimensionale Aktion zu verorten. Es gibt verschiedene Schritte, um die Netze in der Inferenzphase zu betreiben; ein Kasten 700 enthält Schritte, die das erste neuronale Netz 410 betreffen, während ein Kasten 750 Schritte enthält, die das zweite neuronale Netz 460 betreffen.
  • Im Kasten 700 besteht der erste Schritt in der Vorbereitung der Eingangsdaten Ir(p), die p kodieren. Bei Greifanwendungen kann es sich bei Ir(P) um Tiefenbilder handeln, die mit verschiedenen p verbunden sind. In Abhängigkeit von den Kodierungsverfahren und der Netzstruktur kann es verschiedene Arten von Ein- und Ausgaben geben. In dem gezeigten Greifbeispiel werden mehrere Tiefenbildschichten bei 710 zum Kodieren der Tiefe bereitgestellt und es wird eine Struktur eines Fully Convolutional Network verwendet. Daher sind die Eingaben Tiefenbilder (horizontale Schnittbilder, die p in x und y kodieren), die in verschiedenen Höhen oder Schichten (die p in z kodieren) zentriert sind, wie zuvor mit Bezug auf die 4-6 erörtert.
  • Wenn die Eingaben Ir(P) (710) bereitgestellt werden, kann das neuronale Netz 410 in einer „Vorwärtsschleife“ im Inferenzmodus betrieben werden, wie im Kasten 700 dargestellt. Bei der Ausgabe aus dem Betrieb des ersten neuronalen Netzes 410 im Inferenzmodus handelt es sich um mehrere Qualitätskarten (eine bei jeder Schicht in z, wie bei 720 gezeigt), wobei jedes Pixel die Maximalabstand-Qualität ( Q r ( p ) = max r Q ( r , p ) )
    Figure DE102022107227A1_0011
    darstellt, wenn das Greifen mit dem verbundenen p erfolgt, wie zuvor erörtert. In jeder Qualitätskartenschicht werden Pixel, die eine Greifqualität über einem Schwellenwert aufweisen, als Punkte oder Flecken hervorgehoben; alle anderen Pixel repräsentieren keinen Qualitätsgriff. Schließlich ist die endgültige Ausgabe vom ersten neuronalen Netz 410 der Maximalabstand-Wert von p, der wie in der bei 730 gezeigten Gleichung aus p * = argmax p Q r ( p )
    Figure DE102022107227A1_0012
    Qr(p) erhalten wird. Der Maximalabstand-Wert p* wird dem zweiten neuronalen Netz 460 zugeführt, wie mit Pfeil 740 dargestellt.
  • Der Kasten 750 enthält die Schritte, die das zweite neuronale Netz 460 betreffen. Dies beginnt mit der Vorbereitung der Daten für das zweite neuronale Netz 460. Der Wert von p*, der vom ersten neuronalen Netz 410 bei Pfeil 740 bereitgestellt wird, wird auf eine bestimmte Tiefenbildschicht 760 angewendet, wie bei Pfeil 762 gezeigt. Durch die Identifizierung eines bestimmten Zuschnittorts (x und y) auf einer bestimmten Tiefenbildschicht (z) wird der Wert von p* vollständig als Eingabe in das zweite neuronale Netz 460 definiert. Der r-Raum kann dann durch Bereitstellen einer Vielzahl von gedrehten zugeschnittenen Bildpatches durchsucht werden, wie bei 770 gezeigt. Somit ist die Eingabe in das zweite neuronale Netz 460 I(r,p|p = p*). Es sei daran erinnert, dass das zweite neuronale Netz 460 während der Inferenzphase nur im r-Raum sucht, da der p-Raum (Wert p*) schon vom ersten neuronalen Netz 410 kodiert wird.
  • Die Ausgabe des zweiten neuronalen Netzes 460 ist die Qualität (Skalarwert) von jedem verschiedenen r, wie bei 780 gezeigt. Somit ist die Ausgabe des zweiten neuronalen Netzes 460 Q(r,p|p = p*). Das heißt, dass ein Qualitätswert (Greifqualität im gezeigten Beispiel) für jedes der gedrehten zugeschnittenen Bildpatches 770 berechnet wird. Schließlich ist die endgültige Ausgabe vom zweiten neuronalen Netz 460 der Wert von r mit dem größten Wert von Q, der wie durch die Gleichung in Kasten 790 gezeigt als r * = argmax r Q ( r , p | p = p * )
    Figure DE102022107227A1_0013
     
    Figure DE102022107227A1_0014
    erhalten wird. Der Wert p* vom ersten neuronalen Netz 410 wird mit dem Wert r* vom zweiten neuronalen Netz 460 verkettet, um die vollständige Aktion (r*, p*) bereitzustellen, die im gezeigten Greifbeispiel ein Griff mit sechs vollen Freiheitsgraden eines Roboters nach einem Objekt ist, wobei der Griff die hohe Qualität Q hat, die wie oben beschrieben gefunden wurde.
  • Im Folgenden wird noch einmal erklärt, was von den modularisierten neuronalen Netzen 410 und 460 geleistet wurde, wie in 7 veranschaulicht und oben erörtert: Unter Verwendung der bei 710 gezeigten Eingangsdaten hat das erste neuronale Netz 410 den Maximalabstand-Wert p* gefunden, der der Wert der Positionsdimension p ist, die eine individuelle Greifqualität hat, die die höchste im gesamten Suchraum ist; unter Verwendung des Werts p* als Eingabe hat dann das zweite neuronale Netz 460 den Wert r* gefunden, der der Wert der Rotationsdimension r ist, der die höchste Greifqualität hat, wenn die Positionsdimension auf p* beschränkt ist. Die verketteten Dimensionen (r*, p*) definieren einen Griff mit sechs vollen Freiheitsgraden eines Roboters nach einem Objekt. Die offenbarte Aufteilung der neuronalen Netze ermöglicht es, die Suche im p-Raum von der Suche im r-Raum zu entkoppeln, und führt so zu einer dramatischen Verringerung der Suchraumgröße (die Summe der Dimensionsgrößen i und j statt des Produkts).
  • Die vorausgehende Erörterung und die in den 4-7 gezeigten Beispiele wurden im Hinblick auf die beispielhafte Anwendung des Findens eines Griffs mit vollen Freiheitsgraden nach einem Objekt, der eine hohe Qualität hat, für robotische Tätigkeiten zum Aufnehmen von Teilen beschrieben. Wie bereits erwähnt, ist dies nur eine beispielhafte Anwendung für die offenbarten Netzmodularisierungstechniken. Die Techniken können allgemein angewendet werden, um ein beliebiges hochdimensionales neuronales Netz in zwei oder mehr Netze niedrigerer Dimension modular aufzuteilen, die viel schneller laufen. Einige spezifische Greifanwendungen werden weiter unten erörtert.
  • 8 ist eine Blockdiagrammdarstellung der auf ein 3-DoF-Griff-Suchproblem angewandten offenbarten Technik zur Modularisierung neuronaler Netze gemäß einer Ausführungsform der vorliegenden Offenbarung. In dem in 8 gezeigten Beispiel soll ein relativ einfacher 3-DoF-Griff anhand eines 3D-Tiefenbilds eines Objekthaufens identifiziert werden. Die drei zu berechnenden Freiheitsgrade sind die x-, y- und z-Positionen des Greifpunkts. In diesem Beispiel werden keine Drehungen berechnet. Anstatt die drei Freiheitsgrade in einem einzigen Netz zu berechnen, kann die Berechnung auf zwei neuronale Netze modular aufgeteilt werden, wobei das erste neuronale Netz die x- und y-Koordinaten eines Griffs mit der besten Qualität berechnet und das zweite neuronale Netz die z-Koordinate berechnet.
  • Ein Kasten 800 beinhaltet ein erstes neuronales Netz 810 und seine zugehörigen Eingangs- und Ausgangsdaten. Ein Tiefenbild 820, wie etwa von einer oder mehreren 3D-Kameras, wird als Eingabe bereitgestellt. In der Trainingsphase wird auch ein entsprechender Ort des Griffs mit der besten Qualität für das überwachte Lernen bereitgestellt. Durch das Training unter Verwendung vieler der Tiefenbilder 820 lernt das erste neuronale Netz 810, x und y aus Merkmalen des Tiefenbilds 820 zu kodieren, damit sie einer besten Greifqualität entsprechen. In der Inferenzphase wird das Tiefenbild 820 dem ersten neuronalen Netz 810 zugeführt, und die Ausgabe ist eine einzige Qualitätskarte 830, die einen Ort des Griffs mit der besten Qualität in den x- und y-Dimensionen angibt. Das heißt, dass das erste neuronale Netz 810 den Maximalabstand von Qz(xy) kodiert. Das erste neuronale Netz 810 führt die x-y-Dimensionen des Orts des besten Griffs (x*y*) dem zweiten neuronalen Netz 860 in der Inferenzphase zu, wie bei Pfeil 840 angegeben.
  • Ein Kasten 850 beinhaltet ein zweites neuronales Netz 860 und seine zugehörigen Eingangs- und Ausgangsdaten. Die Funktion des zweiten neuronalen Netzes 860 besteht darin, die z-Dimension zu kodieren. Aus einem Tiefenbild 870 (das dasselbe wie das Tiefenbild 820 ist) und der Eingabe (x*y*) (die vom ersten neuronalen Netz 810 bei Pfeil 840 kam) kann ein Tiefenbildpatch in der besten x- und y-Position (x*y*) zugeschnitten werden, wie im Kasten 880 bei 882 gezeigt. Eine andere Möglichkeit, sich das begreiflich zu machen, besteht darin, dass das Tiefenbild 870 in der Inferenzphase in der z-Richtung in Schnittbilder geschnitten wird, wie bei 890 gezeigt, und dass die Schnittbilder am besten (x*y*) Greifort (bei Pfeil 892 gezeigt) evaluiert werden, um die Höhe z* zu bestimmen, auf der ein Griff mit der besten Qualität gefunden wird. Bei 898 wird eines der Schnittbilder des bei 890 gezeigten Stapels gezeigt, bei dem ein bester Greifort eingekreist ist, wobei der beste Greifort im Schnittbild 898 dem besten Greifort in der Qualitätskarte 830 vom ersten neuronalen Netz 810 (das die z-Richtung noch nicht evaluiert hat) entspricht. Man kann somit sehen, dass die endgültige dreidimensionale Greifqualität vom zweiten neuronalen 860 ( max z Q ( z , x y ) )
    Figure DE102022107227A1_0015
    im Schnittbild 898 in den x- und y-Richtungen mit der maximalen zweidimensionalen Greifqualität (Qz(xy)) vom ersten neuronalen Netz 810 in der Qualitätskarte 830 übereinstimmt.
  • Der am Ende ausgegebene Greifort (x*y*z*) umfasst die vom ersten neuronalen Netz 810 bestimmten besten x- und y-Dimensionen und die vom zweiten neuronalen Netz 860 bestimmte beste z-Dimension. Der am Ende ausgegebene Greifort (x*y*z*) wird einer Robotersteuerung zugeführt, die dann dem Roboter Befehle zum Greifen des Teils bei den identifizierten Koordinaten zuführt. Nachdem das Teil ergriffen wurde, würde den neuronalen Netzen 810 und 860 ein neues Tiefenbild zugeführt und es würden Koordinaten eines neuen besten Greiforts berechnet.
  • Durch die modulare Aufteilung der 3-DoF-Griffsuche auf zwei Netze - wobei ein Netz zwei Dimensionen absucht und ein anderes Netz eine Dimension absucht - wird die Gesamtsuchleistung verbessert. Man betrachte beispielsweise einen Fall, in dem die x- und y-Dimensionen jeweils in ein ziemlich grobes 20x20-Raster unterteilt sind und die z-Dimension in 10 Schichten unterteilt ist. Bei Verwendung der offenbarten Netzmodularisierungstechniken durchsucht das erste neuronale Netz 810 einen Raum der Größe 20x20=400 und durchsucht das zweite neuronale Netz 860 einen Raum der Größe 10; der resultierende modularisierte Suchraum hat eine Größe von 400+10=410. Wenn alle drei Dimensionen in einem einzigen Netz gesucht würden, hätte das Netz einen Suchraum mit einer Größe von 20x20x10=4000.
  • 9 ist eine Blockdiagrammdarstellung der auf ein 5-DoF-Griff-Suchproblem unter Verwendung von zwei neuronalen Netzen angewandten Technik zur Modularisierung neuronaler Netze gemäß einer Ausführungsform der vorliegenden Offenbarung. In dem in 9 gezeigten Beispiel soll ein 5-DoF-Griff anhand eines 3D-Tiefenbilds eines Objekthaufens identifiziert werden. Die fünf zu berechnenden Freiheitsgrade umfassen die x-, y- und z-Positionen des Greifpunkts zusammen mit einer Greiferweite und einem Greiferdrehwinkel. In diesem Beispiel wird kein Annäherungswinkel berechnet; es wird eine vertikale Annäherung von oben nach unten angenommen. Anstatt die fünf Freiheitsgrade in einem einzigen Netz zu berechnen, kann die Berechnung unter Verwendung der offenbarten Verfahren auf zwei neuronale Netze modular aufgeteilt werden, wobei das erste neuronale Netz die x/y/z-Koordinaten eines Griffs mit der besten Qualität berechnet und das zweite neuronale Netz die Greiferweite (w) und den Greiferdrehwinkel (θ) zusammen mit der endgültigen Greifqualität berechnet, die maximiert wird.
  • Ein 3D-Tiefenbild 910 (das beispielsweise einen Objekthaufen in einem Behälter abbildet) wird einem Greifvorschlag-Netz 920 zugeführt. Das Greifvorschlag-Netz 920 ist ein Fully Convolutional Network (FCN), da es ein Bild als Eingabe (das Tiefenbild 910) empfängt und ein Bild als Ausgabe (eine Greifqualitätskarte 930) bereitstellt. Die Greifqualitätskarte 930 wird einem Griff-Klassifizierungsnetz 940 zugeführt, das ein Convolutional Neural Network (CNN) ist, da es ein Bild am Eingang empfängt und Skalardaten (Greiferweite und -drehung) am Ausgang bereitstellt. Die Greiferweite und die Greiferdrehung (gezeigt bei 950) vom Griff-Klassifizierungsnetz 940 werden mit der besten Greifposition (x/y/z) aus der Greifqualitätskarte 930 kombiniert, die vom Greifvorschlag-Netz 920 erzeugt wird; zusammen wird hierdurch eine 5-DoF-Griff-Definition (x/y/z/w/θ) bereitgestellt, die von einer Robotersteuerung verwendet werden soll.
  • Wie zuvor im Einzelnen erörtert, werden das Greifvorschlag-Netz 920 und das Griff-Klassifizierungsnetz 940 zuerst mithilfe überwachten Lernens trainiert und dann im Inferenzmodus betrieben. Beim Training werden dem Greifvorschlag-Netz 920 Tiefenbilder und entsprechende Greifqualitätskarten zugeführt. Das Griff-Klassifizierungsnetz 940 wird trainiert, indem das Tiefenbild und entsprechende Qualitätskarten, wie sie vom Greifvorschlag-Netz 920 bereitgestellt werden, zusammen mit den gewünschten Ausgaben der Greiferweite/-drehung und der endgültigen Greifqualität bereitgestellt werden. Ein automatisiertes Verfahren zum Durchführen dieses Trainings wird weiter unten mit Bezug auf 10 erörtert.
  • Im Inferenzmodus werden dem Greifvorschlag-Netz 920 nur Tiefenbilder zugeführt (und es stellt als Ausgabe eine Qualitätskarte bereit), während dem Griff-Klassifizierungsnetz 940 das Tiefenbild und die entsprechende Qualitätskarte als Eingabe zugeführt werden (und es stellt die Ausgaben der Greiferweite/-drehung und der endgültigen Greifqualität bereit, die mit dem Ort des aus der Qualitätskarte ausgewählten Griffs mit der besten Qualität verbunden ist).
  • Durch die modulare Aufteilung der 5-DoF-Griffsuche von 9 auf zwei Netze - wobei ein Netz drei Dimensionen absucht und ein anderes Netz zwei Dimensionen absucht - wird die Gesamtsuchleistung verbessert. Man betrachte beispielsweise einen Fall, in dem die x- und y-Dimensionen jeweils in ein ziemlich grobes 20x20-Raster unterteilt sind und die z-Dimension in 10 Schichten unterteilt ist, während die Greiferweite 10 Positionen hat und der Greiferwinkel 20 Positionen hat. Bei Verwendung der offenbarten Netzmodularisierungstechniken durchsucht das erste neuronale Netz 920 einen Raum der Größe 20x20x10=4000 und durchsucht das zweite neuronale Netz 940 einen Raum der Größe 10x20=200; der resultierende modularisierte Suchraum hat eine Größe von 4000+200=4200. Wenn alle fünf Dimensionen in einem einzigen Netz gesucht würden, hätte das Netz einen viel größeren Suchraum mit einer Größe von 4000x200=800000.
  • 10 ist eine Darstellung eines Verfahrens zum Trainieren eines modularisierten Netzes für das Greifenlernen des in 9 dargestellten Typs unter Verwendung einer Kombination aus der Optimierung des Greifens eines einzelnen Objekts und der Simulation der Variation und Überlagerung angehäufter Objekte gemäß einer Ausführungsform der vorliegenden Offenbarung. Die in 10 gezeigten Schritte des Trainingsverfahrens können in einer „offline“-Umgebung mit einem anderen Computer als der später zum Steuern der Roboterbewegung verwendeten Robotersteuerung durchgeführt werden, und sie stellen ein sehr effizientes Mittel zum Erzeugen von Greifdaten für das Training der neuronalen Netze 920 und 940 von 9 bereit.
  • In einem ersten Datenvorbereitungsschritt in Kasten 1010 wird die automatische Griffsuche für einzelne Objekte in einer Datenbank veranschaulicht. Mehrere Griffe eines Objekts 1012 durch einen Greifer 1014 sind dargestellt. 3D-Volumen- oder -Flächenmodelle von Teilen, die zu analysieren sind, werden zusammen mit Greiferdaten, die Geometrie- und Betriebsparameter (Orte von Fingergelenken, Gelenkwinkelbereiche usw.) umfassen, bereitgestellt. Ein iteratives Optimierungsverfahren wird verwendet, um robuste Greifkandidaten auf der Grundlage der Teileform und Greiferparameter zu erzeugen. Der im Kasten 1010 dargestellte Schritt stellt eine Vielzahl von Positionen und Orientierungen eines Qualitätsgriffs durch einen bestimmten Greifer (Greifer 1014) für ein einzelnes Teil (Objekt 1012) bereit. Diese Greifposen können für viele verschiedene Objekte bei Verwendung vieler verschiedener Greifer automatisch berechnet werden.
  • In einem zweiten Datenvorbereitungsschritt in Kasten 1020 wird unter Berücksichtigung von Variation und Überlagerung eine robuste Griffsimulation durchgeführt. In diesem Schritt werden Objekte weiter zufällig zu dichten Ansammlungen zusammengestellt, indem ein Strom von Objekten simuliert wird, die in einen Behälter fallen und zufällig in einem Haufen von Objekten mit unterschiedlichen Positionen, Orientierungen und Verschränkungen liegen bleiben. Die Pose jedes Objekts in dem simulierten Haufen ist bekannt, sodass die zuvor erzeugten Griffe (vom Kasten 1010) getestet werden können, um ihre Wirksamkeit unter simulierten realen Bedingungen (Verschränkungen und Überlagerungen) zu bestimmen. So wird der Erfolg jedes zuvor generierten Griffs unter Verwendung eines 3D-Tiefenbilds des simulierten Objekthaufens zusammen mit den zuvor generierten Griffen geprüft. Der im Kasten 1020 dargestellte Schritt ist eine Simulation der physischen Umgebung, die gänzlich unter Verwendung mathematischer Simulationen ohne Verwendung von tatsächlichen Teilen und Bildern durchgeführt wird. Das simulierte Tiefenbild sowie die simulierten Greifortqualitätskarten, Greifposen und Erfolgsquoten (gemeinsam dargestellt im Kasten 1022) werden gespeichert und später zum Trainieren der Netze für das Greifenlernen von 9 verwendet, die unten in 10 dargestellt sind.
  • Die oben beschriebenen und in den Kästen 1010 und 1020 gezeigten Greifoptimierungen und -simulationen werden in der US-Patentanmeldung Seriennr. 17/016,731 mit dem Titel „EFFIZIENTE DATENERZEUGUNG FÜR DAS GREIFENLERNEN MIT GEBRÄUCHLICHEN GREIFERN“, eingereicht am 10. September 2020 und gemeinsam übertragen mit der vorliegenden Anmeldung, offenbart und in ihrer Gesamtheit durch Bezugnahme hierin aufgenommen.
  • Die Netze für das Greifenlernen von 9 werden in einem Kasten 1030 in 10 gezeigt. Im Folgenden wird erörtert, wie die automatisch erzeugten Greifdaten zum Trainieren modularisierter neuronaler Netze verwendet werden, einschließlich des separaten Trainings des Greifvorschlag-Netzes 920 und des Griff-Klassifizierungsnetzes 940 unter Verwendung der Daten vom Kasten 1022.
  • Für das Training des Greifvorschlag-Netzes 920 wird das Tiefenbild 910 als Eingabe benötigt. Das Tiefenbild 910 kann vom Kasten 1022 bereitgestellt werden, wobei das Tiefenbild 910 den Objekthaufen aus der Simulation der physischen Umgebung abbildet. Für das überwachte Lernen erfordert das Training des Greifvorschlag-Netzes 920 außerdem die Greifqualitätskarte 930, die die Qualität von Griffen an verschiedenen Pixelorten abbildet. Die Qualitätskarte 930 wird ebenfalls vom Kasten 1022 bereitgestellt, wobei Qualitätskarten anhand der Simulation der physischen Umgebung berechnet werden. Die im Kasten 1020 dargestellte Simulation der physischen Umgebung kann viele Male (Tausende von Malen) durchgeführt werden, wobei jede zufällige Simulation einen anderen zufälligen Objekthaufen liefert, was zu einer reichlichen Menge und Vielfalt der Tiefenbilder 910 und der entsprechenden Qualitätskarten 930 zum Trainieren des Greifvorschlag-Netzes 920 führt.
  • Als Nächstes wird das Griff-Klassifizierungsnetz 940 trainiert. Dieses Netz verwendet Tiefenbildzuschnitte in verschiedenen Winkeln (erstellt aus der Qualitätskarte 930) als Eingabe und gibt den Greiferdrehwinkel (θ) und die Greiferweite (w), wie an der Linie 950 gezeigt, zusammen mit der entsprechenden Greifqualität aus, wobei auch die Simulationsergebnisse vom Kasten 1022 als eine Grundlage für das Training (überwachtes Lernen) verwendet werden. Einschließlich des Greiferdrehwinkels und der Greiferweite umfasst die Ausgabe beim Kasten 960 nun fünf Greiffreiheitsgrade. Aus Gründen der Klarheit sei nochmals festgestellt: Das Griffoptimierungsverfahren des Kastens 1010 erzeugt viele verschiedene Griffe für ein Objekt bei Verwendung eines bestimmten Greifers; das Verfahren zur Simulation der physischen Umgebung des Kastens 1020 erzeugt Greifqualität-Simulationsergebnisse für verschiedene Greifposen, die auf zufällig generierte Objekthaufen angewendet werden; und die Ausgaben der Simulation der physischen Umgebung werden zum Trainieren des Greifvorschlag-Netzes 920 und des Griff-Klassifizierungsnetzes 940 verwendet.
  • Im Anschluss an das Training der zwei neuronalen Netze (920, 940), wie in 10 gezeigt, kann die eigentliche Ausführung des Robotergreifsystems unter Verwendung der trainierten neuronalen Netze (920, 940) vollzogen werden, um einen Griff basierend auf der Tiefenbildeingabe zu bestimmen und dann den Roboter zu steuern; dies wurde zuvor mit Bezug auf 9 erörtert. Die in den Kästen 1010 und 1020 dargestellten Datenerzeugungsschritte können nicht nur auf das 5-DoF-Greifsystem/Greifverfahren von 9 angewendet werden, sondern auch auf modularisierte Greifnetze geringerer (z.B. 3 DoF) oder größerer (z.B. 7 DoF) Komplexität.
  • 11 ist eine Blockdiagrammdarstellung der auf ein 7-DoF-Griff-Suchproblem unter Verwendung von drei neuronalen Netzen angewandten Technik zur Modularisierung neuronaler Netze gemäß einer Ausführungsform der vorliegenden Offenbarung. Bei dem System von 11 umfassen die sieben Greiffreiheitsgrade die Wahl der Annäherungsrichtung (2 DoF), die Wahl der Greifposition (3 DoF) und die Wahl der Greiferorientierung und -weite (2 DoF). Wie in der vorherigen Erörterung der 3-DoF- und 5-DoF-Systeme auf der Basis neuronaler Netze werden die in 11 gezeigten neuronalen Netze zuerst trainiert und dann im Inferenzmodus verwendet, um Griffberechnungen während tatsächlicher Tätigkeiten zum Greifen von Teilen mit einem Roboter, wie in 1 gezeigt, auszuführen.
  • Im Kasten 1110 befinden sich die Schritte in einer ersten Phase des Verfahrens; Wahl der besten Annäherungsrichtung. Bei einer gegebenen Eingabeszene 1112, bei der es sich beispielsweise um Bilder von Teilen in einem Behälter von einem Paar von 3D-Kameras handeln kann, wird die zugehörige Punktwolke durch einen Richtungskodierkasten 1120 in mehrere ausgewählte Annäherungsrichtungen projiziert, um synthetische Bilder 1122 zu erzeugen. Die Bilder der Eingabeszene 1112 umfassen Tiefeninformationen, die den Algorithmus im Richtungskodierkasten 1120 in die Lage versetzen, synthetische Oberflächenbilder, gesehen aus einer Vielzahl zufällig ausgewählter Projektionsblickwinkel, zu erzeugen. Mit anderen Worten: Wenn sich der Robotergreifer aus einer bestimmten Richtung annähert, wie sieht dann das 3D-Oberflächenbild aus dieser Richtung aus? Diese synthetischen Bilder werden für viele verschiedene zufällig ausgewählte und in den synthetischen Bildern 1122 bereitgestellte Projektionswinkel erzeugt, wobei die Projektionswinkel innerhalb von Richtungsgrenzen für eine mögliche Annäherung des Roboters liegen.
  • Ein Annäherungsrichtungsvorschlag-Netz 1130 wird verwendet, um die Gesamtqualität beim Greifen aus jeder der in den synthetischen Bildern 1122 vorgeschlagenen Richtung vorherzusagen. Anders gesagt ist der Griff im Netz 1130 verborgen, und die Annäherungsrichtung, die eine beste Greifqualität beinhaltet, wird unter Verwendung der zuvor erörterten Maximalabstand-Technik bestimmt. Die Annäherungsrichtung ist als zwei Vektoren v1 und v2, definiert, die die Azimut- und Elevationswinkel in einem Polarkoordinatensystem oder beliebige andere Komponenten sein können, die einen dreidimensionalen Annäherungsrichtungsvektor definieren. Die gewählte Annäherungsrichtung (v1, v2) wird als Annäherungsrichtungsvektor 1138 gespeichert und später von der Robotersteuerung verwendet. Das mit der optimalen Annäherungsrichtung verbundene Tiefenbild wird ebenfalls gespeichert und in der nächsten Phase verwendet.
  • Im Kasten 1140 befinden sich die Schritte in einer zweiten Phase des Verfahrens; Bestimmen der besten Greifposition. Es wird ein Tiefenbild 1142 bereitgestellt, das das synthetische Tiefenbild (aus dem Satz von Bildern 1122) ist, das mit der oben gewählten optimalen Annäherungsrichtung 1138 verbunden ist. Das Tiefenbild 1142 wird im Schnittbildschneidkasten 1150 auf verschiedenen Höhen in Schnittbilder geschnitten und an das Greifpositionsvorschlag-Netz 1160 gesendet. Das Greifpositionsvorschlag-Netz 1160 erzeugt Qualitätskarten für Schnittbilder auf verschiedenen Höhen, wie bei 1164 gezeigt und wie zuvor mit Bezug auf 4 erörtert. Anders gesagt verbirgt das Netz 1160 Greiferweite und -winkel und kodiert die Greifqualität als Funktion der Position bei gegebenem definiertem Annäherungswinkel. Die Qualitätskarten 1164 geben die Qualität eines Griffs an, die sich aus der Wahl eines bestimmten Punkts (x,y,z) bei gegebener Annäherungsrichtung 1138 ergibt. Die 3D-Koordinaten der Greifposition mit der besten Qualität werden bei 1168 gespeichert und als Eingabe für den nächsten Block bereitgestellt sowie auch später von der Robotersteuerung verwendet.
  • Im Kasten 1170 befinden sich die Schritte in einer dritten und letzten Phase des Verfahrens; Bestimmen von Greifwinkel (θ) und Greifweite (w). Es wird ein Tiefenbild 1172 bereitgestellt, das das Tiefenbild ist, das mit der gewünschten Annäherungsrichtung 1138 (v1, v2) und der gewünschten Greifposition 1168 (x, y, z) verbunden ist, die oben gewählt wurden. Beim Kasten 1180 werden Bildpatches in verschiedenen Winkeln um die bei 1168 gespeicherte Greifposition mit der besten Qualität zugeschnitten. Diese Bildpatches (1182) werden an ein Griff-Klassifizierungsnetz 1190 gesendet, um die Qualitäten und Weiten (1194) für jeden evaluierten Bildpatch und Winkel auszugeben. Der Greifwinkel (θ) und die Greifweite (w), die der höchsten Qualität entsprechen, werden ausgewählt und bei 1198 gespeichert.
  • Die gewünschte Annäherungsrichtung (2 DoF - v1, v2), die bei 1138 gespeichert ist, die beste Greifposition (3 DoF - x, y, z), die bei 1168 gespeichert ist, und die/der beste Greifweite/Greifwinkel (2 DoF - w,θ), die bei 1198 gespeichert sind, werden zur Ausführung an die Robotersteuerung gesendet, wie bei 1199 angegeben. Das heißt, dass die Robotersteuerung den Roboter unter Verwendung der aus der Annäherungsrichtung, der Greifposition und der Greifweite/Greifwinkel-Information berechneten Roboterbewegungsbefehle anweist, ein Teil aus dem Behälter zu ergreifen. Der Roboter platziert dann das Teil an einem vorgeschriebenen Ort (wie etwa auf einem Förderer oder in einem Container). Das Verfahren kehrt dann zum Kasten 1110 zurück, wo ein neues Bild für eine neue Eingabeszene 1112 bereitgestellt wird, und die Griffauswahlschritte und die Ausführung durch den Roboter werden wiederholt.
  • Die Verwendung von drei neuronalen Netzen für eine 7-DoF-Griff-Suchanwendung, wie in 11 gezeigt, bietet zahlreiche Vorteile. Das Annäherungsrichtungsvorschlag-Netz 1130 ermöglicht Greiffertigkeit, indem es die Einschränkung von vertikalen Griffen von oben nach unten beseitigt. Das Greifpositionsvorschlag-Netz 1160 bietet die schnelle Berechnung der drei Greifposition-Freiheitsgrade, indem es diese Dimensionen getrennt von den anderen Freiheitsgraden berechnet. Das Griff-Klassifizierungsnetz 1190 bietet die Genauigkeit, die typisch für die skalare Ausgabe eines Convolutional Neural Network ist. Darüber hinaus reduziert die Verwendung von drei neuronalen Netzen zur 7-DoF-Griff-Suche anstelle eines großen neuronalen Netzes die Größe des Suchraums um mehrere Größenordnungen mit einer entsprechenden Verbesserung der Suchgeschwindigkeit. Zudem ist das in 11 gezeigte System so gestaltet, dass es die Stärken verschiedener Arten von neuronalen Netzen nutzt, indem es Fully Convolutional Networks (FCN) für die neuronalen Netze 1130 und 1160 verwendet, die Bilder als Eingabe heranziehen und Bilder als Ausgabe bereitstellen, und indem es ein Convolutional Neural Network (CNN) für das neuronale Netz 1190 verwendet, das eine Bildeingabe empfängt und eine Skalardatenausgabe bereitstellt.
  • Die oben mit Bezug auf die 8-11 (Greifen mit 3 DoF, 5 DoF und 7 DoF) erörterten Beispiele veranschaulichen die Fähigkeit und Flexibilität, die die offenbarte Technik zur Modularisierung neuronaler Netze bei verschiedenen Greifanwendungen bietet. Es wird erneut betont, dass die offenbarte Technik zur Modularisierung neuronaler Netze abgesehen vom Greifen bei anderen Anwendungen eingesetzt werden kann - bei jeder Anwendung, die das Kodieren und Berechnen einer hochdimensionalen Aufgabe durch ein neuronales Netz erfordert.
  • 12 ist ein Flussdiagramm 1200 eines Verfahrens zum Lösen eines mehrdimensionalen Mustererkennungsproblems unter Verwendung von zwei oder mehr neuronalen Netze mit niedrigeren Dimensionen gemäß einer Ausführungsform der vorliegenden Offenbarung. In Kasten 1210 wird ein zu lösendes Problem (ein mehrdimensionales Suchproblem, das durch die Mustererkennung mit neuronalen Netzen gelöst werden kann) definiert, und die Dimensionen des Problems werden in Sätze gruppierter Dimensionen aufgeteilt. Dies wurde in der vorstehenden Erörterung und in den vorstehenden Darstellungen viele Male beschrieben, darunter in den 2-7, wo das 6-DoF-Griff-Problem in die Positionsdimensionen p (x,y,z) und die Rotationsdimensionen r (r1 ,r2,r3) aufgeteilt wurde, und in anderen Beispielen, in denen die 3-DoF- und 5-DoF-Griff-Suche in zwei Sätze gruppierter Dimensionen und die 7-DoF-Griff-Suche in drei Sätze gruppierter Dimensionen aufgeteilt wurden.
  • In Kasten 1220 sind zwei oder mehr neuronale Netze vorgesehen, wobei ein neuronales Netz für jeden der Sätze gruppierter Dimensionen des Kastens 1210 vorgesehen ist. Die neuronalen Netze sind in Reihe verkettet (für den Inferenzmodus), wie in den vorhergehenden Figuren dargestellt und ausführlich erörtert. Die neuronalen Netze laufen auf einem Computer wie etwa dem Computer 120 von 1. Jedes der neuronalen Netze kodiert seinen eigenen Satz gruppierter Dimensionen sowie die Sätze gruppierter Dimensionen von anderen, in der Reihe vorgelagerten neuronalen Netzen. Beispielsweise kodiert das erste neuronale Netz in den 2-4 die p-Dimensionen, und das zweite Netz kodiert sowohl die p- als auch die r-Dimensionen. Im Beispiel mit drei Netzen von 11 kodiert das erste Netz die Freiheitsgrade für die Annäherungsrichtung, das zweite Netz kodiert die Freiheitsgrade für die Greifposition in Verbindung mit der Annäherungsrichtung und das dritte Netz kodiert die Freiheitsgrade für Greiferwinkel und -weite in Verbindung mit der Greifposition und der Annäherungsrichtung.
  • In Kasten 1230 werden die zwei oder mehr neuronalen Netze unabhängig voneinander mithilfe überwachten Lernens trainiert. Die Technik des überwachten Lernens beinhaltet das Bereitstellen einer großen Zahl von Trainingsbeispielen für jedes Netz, wobei jedes Beispiel sowohl Eingaben als auch gewünschte Ausgaben des Netzes umfasst. Beispielsweise wird in 4 das erste neuronale Netz 410 trainiert, indem Tiefenbilder 420 (in mehreren Schichten) und entsprechende Qualitätskarten 430 (die die Greifqualität an verschiedenen Punkten auf jeder Tiefenbildschicht ausweisen) bereitgestellt werden, und das zweite neuronale Netz 460 wird trainiert, indem die gedrehten zugeschnittenen Tiefenbilder 480 und die Qualitätskennzahl-Ausgangsdaten 490 bereitgestellt werden. Bei einem System mit zwei Netzen wird das erste Netz darauf trainiert, seinen Satz gruppierter Dimensionen unter Verwendung der Maximalabstand-Technik, die am Anfang in Verbindung mit den 3 und 4 erörtert wurde, zu kodieren, während es den verbleibenden Satz gruppierter Dimensionen verbirgt. Bei einem System mit drei Netzen können die ersten zwei Netze die Maximalabstand-Technik für das Training verwenden. Bei der Maximalabstand-Methode findet ein neuronales Netz Zielwerte seines entsprechenden Satzes gruppierter Dimensionen, die einen optimalen Wert einer Ausgangsvariablen (wie etwa Qualität) haben. Die Zielwerte werden dann von anderen der neuronalen Netze, die in der Reihe nachgelagert sind, als Eingaben verwendet.
  • Im Kasten 1240 werden die neuronalen Netze im Inferenzmodus betrieben, wobei eine Eingabe, die eine Umgebung für das Problem definiert, bereitgestellt wird, und jedes der neuronalen Netze durchsucht nur seinen entsprechenden Satz gruppierter Dimensionen, um die Zielwerte zu finden. Die von jedem der neuronalen Netze ausgegebenen Zielwerte werden von anderen der neuronalen Netze, die in der Reihe nachgelagert sind, als Eingaben verwendet. Beispielsweise ist das eingegebene Tiefenbild bei einem System mit zwei neuronalen Netzen die einzige dem ersten neuronalen Netz zugeführte Eingabe, und es wird von dem ersten neuronalen Netz dazu verwendet, eine Greifqualitätskartenausgabe zu berechnen, die die Zielwerte von Positionskoordinaten (erster Satz gruppierter Dimensionen) von Griffen hoher Qualität aufweist. Das eingegebene Tiefenbild und die Qualitätskarte werden dann dem zweiten neuronalen Netz als Eingabe (weiter verarbeitet, etwa durch Zuschneiden und Drehen) zugeführt und vom zweiten neuronalen Netz zum Berechnen der Zielwerte von Drehungen (zweiter Satz gruppierter Dimensionen) von Griffen hoher Qualität verwendet.
  • In Kasten 1250 werden die Ausgaben der zwei oder mehr neuronalen Netze kombiniert, um eine endgültige Ausgabe bereitzustellen. In dem mit Bezug auf den Kasten 1240 erörterten Beispiel mit zwei Netzen wird der höchste Wert der Qualitätskennzahl gewählt; die entsprechenden Zielwerte des zweiten Satzes gruppierter Dimensionen werden dann mit den Zielwerten des ersten Satzes gruppierter Dimensionen (vom ersten neuronalen Netz) kombiniert, um die vollständige und endgültige Ausgabe zu bilden. Im Fall der Griffsuche anhand von Tiefenbildern sind die endgültige Ausgaben die verketteten Sätze von Dimensionen oder Freiheitsgraden, die dem Griff mit der höchsten Qualität entsprechen.
  • Die offenbarten Verfahren zur Modularisierung neuronaler Netze zum Zweck des Erlernens hochdimensionaler Roboteraufgaben bieten viele Vorteile gegenüber bisher bekannten Verfahren. Ein großer Vorteil der offenbarten Verfahren ist die schnelle Berechnung, weil die Suche in einem hochdimensionalen Aktionsraum (z.B. 5 oder mehr DoF) vermieden wird. Die Aufteilung der Suchdimensionen auf zwei oder drei neuronale Netze bietet einen Verbesserungsfaktor der Rechengeschwindigkeit von mehreren Größenordnungen, wie oben beschrieben. Diese Verringerung der Komplexität und Verbesserung der Geschwindigkeit ermöglichen die Berechnung von hochdimensionalen Aufgaben, die mit bestehenden Verfahren einfach nicht praktisch durchführbar waren.
  • Die Entkopplung des Suchraums der verschiedenen neuronalen Netze gestattet die optimale Wahl der Art von neuronalem Netz für jede Aufgabe - wie etwa von Fully Convolutional Networks für die Bildeingabe/Bildausgabe-Berechnung und eines Convolutional Neural Network zur Verwendung zur Berechnung einer endgültigen Skalarausgabe. Zudem sind die Gestaltung und die Leistung des Netzes transparent und leicht zu analysieren. Bei der offenbarten Technik durchsucht jedes Netz einen separaten Teil des Steuerungsaktionsraums, und jedes Netz wird unabhängig von anderen Netzen trainiert. Daher kann die Leistung jedes Netzes unabhängig analysiert werden, ohne die Ausgaben von anderen Netzen zu berücksichtigen. Die Netzentkopplung oder -modularisierung wird ermöglicht, indem die Maximalabstand-Technik verwendet wird, um den Satz gruppierter Dimensionen eines Netzes zu kodieren, während andere verborgen werden.
  • In der gesamten vorstehenden Erörterung werden verschiedene Computer und Steuerungen beschrieben und vorausgesetzt. Es muss verstanden werden, dass die Softwareanwendungen und -module dieser Computer und Steuerungen auf einer oder mehreren Rechenvorrichtungen ausgeführt werden, die einen Prozessor und ein Speichermodul haben. Insbesondere gehört hierzu ein Prozessor in der Robotersteuerung 110, die den Roboter steuert, der das Greifen eines Objekts ausführt, in dem Computer 120 und in jedem anderen Computer, der zum Trainieren der neuronalen Netze und für Inferenz/Ausführung verwendet wird. Im Besonderen sind die Prozessoren in dem Computer bzw. den Computern dazu eingerichtet, Bildanalyse, Training neuronaler Netze und Ausführung in der in der gesamten vorausgehenden Erörterung beschriebenen Weise auszuführen - für das Greifenlernen oder für andere Anwendungen auf der Basis neuronaler Netze.
  • Zwar wurde oben eine Reihe beispielhafter Aspekte und Ausführungsformen der offenbarten Techniken zum Greifenlernen für Roboter unter Verwendung modularisierter neuronaler Netze erörtert, doch erkennt der Fachmann Modifikationen, Permutationen, Hinzufügungen und Unterkombinationen hiervon. Es ist daher beabsichtigt, dass die folgenden beigefügten Patentansprüche und hiernach eingeführten Patentansprüche so ausgelegt werden, dass sie alle Modifikationen, Permutationen, Hinzufügungen und Unterkombinationen einschließen, die ihrem wahren Geist und Umfang entsprechen.
  • ZITATE ENTHALTEN IN DER BESCHREIBUNG
  • Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.
  • Zitierte Patentliteratur
    • US 17/016731 [0072]

Claims (37)

  1. Verfahren zur Berechnung eines robotischen Greifvorgangs, wobei das Verfahren umfasst: Aufteilen eines gewünschten Satzes von Freiheitsgraden eines robotischen Greifvorgangs in zwei sich gegenseitig ausschließende Sätze gruppierter Dimensionen; Bereitstellen von zwei in Reihe verketteten neuronalen Netzen, die auf einem Computer laufen, der einen Prozessor und einen Speicher aufweist, wobei ein erstes neuronales Netz einen ersten Satz gruppierter Dimensionen kodiert und ein zweites neuronales Netz, das nach dem ersten neuronalen Netz in der Reihe angeordnet ist, sowohl den ersten Satz als auch einen zweiten Satz gruppierter Dimensionen kodiert; Trainieren der neuronalen Netze unabhängig voneinander mithilfe überwachten Lernens, wobei das erste neuronale Netz unter Verwendung einer Maximalabstand-Technik zum Bestimmen von Zielwerten des ersten Satzes gruppierter Dimensionen trainiert wird; Betreiben der neuronalen Netze im Inferenzmodus, wobei ein Tiefenbild, das einen Objekthaufen abbildet, bereitgestellt wird und jedes der neuronalen Netze nur seinen entsprechenden Satz gruppierter Dimensionen durchsucht, um die Zielwerte zu bestimmen, und die Zielwerte vom ersten neuronalen Netz vom zweiten neuronalen Netz als Eingaben verwendet werden; und Kombinieren von Ausgaben der neuronalen Netze, um Werte der Freiheitsgrade des robotischen Greifvorgangs bereitzustellen.
  2. Verfahren nach Anspruch 1, ferner umfassend das Steuern eines Roboters zum Greifen eines Objekts unter Verwendung der Werte der Freiheitsgrade des robotischen Greifvorgangs.
  3. Verfahren nach Anspruch 1, wobei der gewünschte Satz von Freiheitsgraden des robotischen Greifvorgangs horizontale x- und y-Positionsdimensionen im ersten Satz gruppierter Dimensionen und eine vertikale z-Position im zweiten Satz gruppierter Dimensionen umfasst.
  4. Verfahren nach Anspruch 1, wobei der gewünschte Satz von Freiheitsgraden des robotischen Greifvorgangs x-, y- und z-Positionsdimensionen im ersten Satz gruppierter Dimensionen und entweder einen Greiferdrehwinkel oder eine Greiferweite oder beides im zweiten Satz gruppierter Dimensionen umfasst.
  5. Verfahren nach Anspruch 1, wobei der gewünschte Satz von Freiheitsgraden des robotischen Greifvorgangs x-, y- und z-Positionsdimensionen im ersten Satz gruppierter Dimensionen und drei Rotationsdimensionen im zweiten Satz gruppierter Dimensionen umfasst.
  6. Verfahren nach Anspruch 1, ferner umfassend ein vor dem ersten neuronalen Netz in der Reihe angeordnetes drittes neuronales Netz, das nur einen dritten Satz gruppierter Dimensionen kodiert, wobei das erste und das zweite neuronale Netz beide auch den dritten Satz gruppierter Dimensionen kodieren.
  7. Verfahren nach Anspruch 6, wobei der gewünschte Satz von Freiheitsgraden des robotischen Greifvorgangs x-, y- und z-Positionsdimensionen im ersten Satz gruppierter Dimensionen, einen Greiferdrehwinkel und eine Greiferweite im zweiten Satz gruppierter Dimensionen und zwei Greifannäherungsrichtungsdimensionen im dritten Satz gruppierter Dimensionen umfasst.
  8. Verfahren nach Anspruch 1, wobei das erste neuronale Netz ein Fully Convolutional Network ist, das eine Bilddaten-Eingabe empfängt und eine Bilddaten-Ausgabe bereitstellt, und das zweite neuronale Netz ein Convolutional Neural Network ist, das eine Bilddaten-Eingabe empfängt und eine Skalardaten-Ausgabe bereitstellt.
  9. Verfahren nach Anspruch 1, wobei das Trainieren der neuronalen Netze das Bereitstellen für jedes der Netze einer Vielzahl von Trainingsbeispielen umfasst, wobei jedes der Trainingsbeispiele ein Trainingstiefenbild eines Objekthaufens und einen oder mehr entsprechende Trainingsgreifvorgänge umfasst, wobei jeder Trainingsgreifvorgang eine Greifqualität und die Freiheitsgrade des robotischen Greifvorgangs umfasst.
  10. Verfahren nach Anspruch 9, wobei die Trainingsbeispiele von einem Datenerzeugungssystem bereitgestellt werden, das eine Vielzahl stabiler Objektgreifvorgänge mit einem Greifer berechnet, physische Umgebungen, die zufällige Haufen der Objekte umfassen, simuliert, die auf die zufälligen Haufen der Objekte angewendeten stabilen Greifvorgänge evaluiert und Tiefenbilder der zufälligen Objekthaufen und entsprechende erfolgreiche simulierte Greifvorgänge ausgibt.
  11. Verfahren nach Anspruch 1, wobei die Maximalabstand-Technik das Bestimmen der Zielwerte des ersten Satzes gruppierter Dimensionen umfasst, die einen optimalen Greifqualitätswert für eine beliebige Kombination der Zielwerte des zweiten Satzes gruppierter Dimensionen haben.
  12. Verfahren nach Anspruch 1, wobei das Betreiben der neuronalen Netze im Inferenzmodus das Bestimmen von Maximalabstand-Zielwerten des ersten Satzes gruppierter Dimensionen durch das erste neuronale Netz und das Verwenden sowohl des Tiefenbilds, das die Objekthaufen abbildet, als auch der Zielwerte des ersten Satzes gruppierter Dimensionen zum Bestimmen von Zielwerten des zweiten Satzes gruppierter Dimensionen durch das zweite neuronale Netz umfasst.
  13. Verfahren nach Anspruch 1, wobei Datenvorbereitungstechniken, die zum Trainieren der neuronalen Netze und zum Betreiben der neuronalen Netze im Inferenzmodus verwendet werden, das Zuführen von Schichten eines Tiefenbilds zum ersten neuronalen Netz und das Zuführen von gedrehten zugeschnittenen Tiefenbildpatches zum zweiten neuronalen Netz umfassen.
  14. Verfahren zur Berechnung eines robotischen Greifvorgangs, wobei das Verfahren umfasst: Aufteilen eines gewünschten Satzes von Freiheitsgraden eines robotischen Greifvorgangs in drei sich gegenseitig ausschließende Sätze gruppierter Dimensionen; Bereitstellen von drei in Reihe verketteten neuronalen Netzen, die auf einem Computer laufen, der einen Prozessor und einen Speicher aufweist, wobei ein erstes neuronales Netz einen ersten Satz gruppierter Dimensionen kodiert, ein zweites neuronales Netz, das nach dem ersten neuronalen Netz in der Reihe angeordnet ist, sowohl den ersten Satz als auch einen zweiten Satz gruppierter Dimensionen kodiert und ein drittes neuronales Netz, das nach dem zweiten neuronalen Netz in der Reihe angeordnet ist, sowohl den ersten und den zweiten Satz als auch einen dritten Satz gruppierter Dimensionen kodiert; Trainieren der neuronalen Netze unabhängig voneinander mithilfe überwachten Lernens, wobei das erste neuronale Netz unter Verwendung einer Maximalabstand-Technik zum Bestimmen von Zielwerten des ersten Satzes gruppierter Dimensionen trainiert wird und das zweite neuronale Netz unter Verwendung der Maximalabstand-Technik zum Bestimmen von Zielwerten des zweiten Satzes gruppierter Dimensionen trainiert wird; Betreiben der neuronalen Netze im Inferenzmodus, wobei ein Tiefenbild, das einen Objekthaufen abbildet, bereitgestellt wird und jedes der neuronalen Netze nur seinen entsprechenden Satz gruppierter Dimensionen durchsucht, um die Zielwerte zu bestimmen, und die Zielwerte von jedem der neuronalen Netze von anderen der in der Reihe nachgelagerten neuronalen Netze als Eingaben verwendet werden; und Kombinieren von Ausgaben der neuronalen Netze, um Werte der Freiheitsgrade des robotischen Greifvorgangs bereitzustellen.
  15. Verfahren nach Anspruch 14, ferner umfassend das Steuern eines Roboters zum Greifen eines Objekts unter Verwendung der Werte der Freiheitsgrade des robotischen Greifvorgangs.
  16. Verfahren nach Anspruch 14, wobei der gewünschte Satz von Freiheitsgraden des robotischen Greifvorgangs zwei Greifannäherungsrichtungsdimensionen im ersten Satz gruppierter Dimensionen, x-, y- und z-Greifpositionsdimensionen im zweiten Satz gruppierter Dimensionen sowie einen Greiferdrehwinkel und eine Greiferweite im dritten Satz gruppierter Dimensionen umfasst.
  17. Verfahren nach Anspruch 16, wobei das Bestimmen von Zielwerten der Annäherungsrichtungsdimensionen durch das erste neuronale Netz das Umwandeln einer mit dem Tiefenbild verbundenen Punktwolke in synthetische Tiefenbilder anhand einer Vielzahl von zufällig ausgewählten Annäherungsrichtungen und das Vorhersagen einer Greifqualität für jede der zufällig ausgewählten Annäherungsrichtungen umfasst.
  18. Verfahren nach Anspruch 16, wobei das Bestimmen von Zielwerten der Greifpositionsdimensionen durch das zweite neuronale Netz das Verwenden eines mit einer gewählten Annäherungsrichtung verbundenen synthetischen Tiefenbilds als Eingabe, das Kodieren einer Höhe in das synthetische Tiefenbild durch Schneiden von Schnittbildern perpendikular zur gewählten Annäherungsrichtung, das Erzeugen von Greifqualitätskarten für jedes der Schnittbilder und das Auswählen eines Punkts mit der besten Greifqualität umfasst.
  19. Verfahren nach Anspruch 16, wobei das Bestimmen von Zielwerten der Greiferdrehwinkel und Greiferweite durch das dritte neuronale Netz das Verwenden eines mit der gewählten Annäherungsrichtung und der gewählten Greifposition verbundenen synthetischen Tiefenbilds als Eingabe, das Zuschneiden von Bildpatches aus dem Tiefenbild in einer Vielzahl von verschiedenen Greiferwinkeln um die Greifposition, das Bestimmen einer Greifqualität für jeden der Bildpatches und das Auswählen des Bildpatches mit der höchsten Greifqualität umfasst.
  20. Verfahren nach Anspruch 14, wobei der gewünschte Satz von Freiheitsgraden des robotischen Greifvorgangs zwei Greifannäherungsrichtungsdimensionen im ersten Satz gruppierter Dimensionen, horizontale x- und y-Positionsdimensionen und einen Greiferdrehwinkel im zweiten Satz gruppierter Dimensionen sowie eine vertikale z-Positionsdimension und eine Greiferweite im dritten Satz gruppierter Dimensionen umfasst.
  21. Verfahren nach Anspruch 14, wobei das erste und das zweite neuronale Netz Fully Convolutional Networks sind, die eine Bilddaten-Eingabe empfangen und eine Bilddaten-Ausgabe bereitstellen, und das dritte neuronale Netz ein Convolutional Neural Network ist, das eine Bilddaten-Eingabe empfängt und eine Skalardaten-Ausgabe bereitstellt.
  22. Verfahren nach Anspruch 14, wobei das Trainieren der neuronalen Netze das Bereitstellen für jedes der Netze einer Vielzahl von Trainingsbeispielen umfasst, wobei jedes der Trainingsbeispiele ein Trainingstiefenbild eines Objekthaufens und einen oder mehr entsprechende Trainingsgreifvorgänge umfasst, wobei jeder Trainingsgreifvorgang eine Greifqualität und die Freiheitsgrade des robotischen Greifvorgangs umfasst.
  23. Verfahren nach Anspruch 22, wobei die Trainingsbeispiele von einem Datenerzeugungssystem bereitgestellt werden, das eine Vielzahl stabiler Objektgreifvorgänge mit einem Greifer berechnet, physische Umgebungen, die zufällige Haufen der Objekte umfassen, simuliert, die auf die zufälligen Haufen der Objekte angewendeten stabilen Greifvorgänge evaluiert und Tiefenbilder der zufälligen Objekthaufen und entsprechende erfolgreiche simulierte Greifvorgänge ausgibt.
  24. Verfahren nach Anspruch 14, wobei die Maximalabstand-Technik das Bestimmen der Zielwerte des ersten Satzes gruppierter Dimensionen, die einen optimalen Greifqualitätswert für eine beliebige Kombination der Zielwerte des zweiten und des dritten Satzes gruppierter Dimensionen haben, und das Bestimmen der Zielwerte des zweiten Satzes gruppierter Dimensionen umfasst, die einen optimalen Greifqualitätswert für eine beliebige Kombination der Zielwerte des dritten Satzes gruppierter Dimensionen haben.
  25. Verfahren nach Anspruch 14, wobei das Betreiben der neuronalen Netze im Inferenzmodus das Bestimmen von Maximalabstand-Zielwerten des ersten Satzes gruppierter Dimensionen durch das erste neuronale Netz und das Verwenden sowohl des Tiefenbilds, das den Objekthaufen abbildet, als auch der Zielwerte des ersten Satzes gruppierter Dimensionen zum Bestimmen von Zielwerten des zweiten Satzes gruppierter Dimensionen durch das zweite neuronale Netz sowie das Bestimmen von Maximalabstand-Zielwerten des zweiten Satzes gruppierter Dimensionen durch das zweite neuronale Netz und das Verwenden sowohl des Tiefenbilds, das den Objekthaufen abbildet, als auch der Zielwerte des ersten und des zweiten Satzes gruppierter Dimensionen zum Bestimmen der Zielwerte des dritten Satzes gruppierter Dimensionen durch das dritte neuronale Netz umfasst.
  26. System zum robotischen Greifen von Objekten, wobei das System umfasst: eine oder mehrere 3D-Kameras, die Tiefenbilder eines Objekthaufens während realer robotischer Tätigkeiten bereitstellen; einen Computer mit einem Prozessor und einem Speicher, wobei der Computer zu Folgendem eingerichtet ist: Aufteilen eines gewünschten Satzes von Freiheitsgraden eines robotischen Greifvorgangs in zwei sich gegenseitig ausschließende Sätze gruppierter Dimensionen; Betreiben von zwei in Reihe verketteten neuronalen Netzen, wobei ein erstes neuronales Netz einen ersten Satz gruppierter Dimensionen kodiert und ein zweites neuronales Netz, das nach dem ersten neuronalen Netz in der Reihe angeordnet ist, sowohl den ersten Satz als auch einen zweiten Satz gruppierter Dimensionen kodiert; Trainieren der neuronalen Netze unabhängig voneinander mithilfe überwachten Lernens, wobei das erste neuronale Netz unter Verwendung einer Maximalabstand-Technik zum Bestimmen von Zielwerten des ersten Satzes gruppierter Dimensionen trainiert wird; Betreiben der neuronalen Netze im Inferenzmodus unter Verwendung von Tiefenbildern von der einen oder den mehreren 3D-Kameras, wobei jedes der neuronalen Netze nur seinen entsprechenden Satz gruppierter Dimensionen durchsucht, um die Zielwerte dieses Satzes zu bestimmen, und die Zielwerte von dem ersten neuronalen Netz vom zweiten neuronalen Netz als Eingabe verwendet werden; und Kombinieren von Ausgaben der neuronalen Netze, um Werte der Freiheitsgrade des robotischen Greifvorgangs bereitzustellen; eine Robotersteuerung, die mit dem Computer verbunden ist und von ihm die Freiheitsgrade des robotischen Greifvorgangs empfängt; und einen Roboter, der mit einem Greifer ausgestattet ist, um ein Zielobjekt auf der Grundlage von Anweisungen von der Steuerung zu ergreifen und zu bewegen.
  27. System nach Anspruch 26, wobei der gewünschte Satz von Freiheitsgraden des robotischen Greifvorgangs horizontale x- und y-Positionsdimensionen im ersten Satz gruppierter Dimensionen und eine vertikale z-Position im zweiten Satz gruppierter Dimensionen umfasst.
  28. System nach Anspruch 26, wobei der gewünschte Satz von Freiheitsgraden des robotischen Greifvorgangs x-, y- und z-Positionsdimensionen im ersten Satz gruppierter Dimensionen und entweder einen Greiferdrehwinkel oder eine Greiferweite oder beides im zweiten Satz gruppierter Dimensionen umfasst.
  29. System nach Anspruch 26, wobei der gewünschte Satz von Freiheitsgraden des robotischen Greifvorgangs x-, y- und z-Positionsdimensionen im ersten Satz gruppierter Dimensionen und drei Rotationsdimensionen im zweiten Satz gruppierter Dimensionen umfasst.
  30. System nach Anspruch 26, ferner umfassend ein vor dem ersten neuronalen Netz in der Reihe angeordnetes drittes neuronales Netz, das nur einen dritten Satz gruppierter Dimensionen kodiert, wobei das erste und das zweite neuronale Netz beide auch den dritten Satz gruppierter Dimensionen kodieren.
  31. System nach Anspruch 30, wobei der gewünschte Satz von Freiheitsgraden des robotischen Greifvorgangs x-, y- und z-Positionsdimensionen im ersten Satz gruppierter Dimensionen, einen Greiferdrehwinkel und eine Greiferweite im zweiten Satz gruppierter Dimensionen und zwei Greifannäherungsrichtungsdimensionen im dritten Satz gruppierter Dimensionen umfasst.
  32. System nach Anspruch 26, wobei das erste neuronale Netz ein Fully Convolutional Network ist, das eine Bilddaten-Eingabe empfängt und eine Bilddaten-Ausgabe bereitstellt, und das zweite neuronale Netz ein Convolutional Neural Network ist, das eine Bilddaten-Eingabe empfängt und eine Skalardaten-Ausgabe bereitstellt.
  33. System nach Anspruch 26, wobei das Trainieren der neuronalen Netze das Bereitstellen für jedes der Netze einer Vielzahl von Trainingsbeispielen umfasst, wobei jedes der Trainingsbeispiele ein Trainingstiefenbild eines Objekthaufens und einen oder mehr entsprechende Trainingsgreifvorgänge umfasst, wobei jeder Trainingsgreifvorgang eine Greifqualität und die Freiheitsgrade des robotischen Greifvorgangs umfasst.
  34. System nach Anspruch 33, wobei die Trainingsbeispiele von einem Datenerzeugungssystem bereitgestellt werden, das eine Vielzahl stabiler Objektgreifvorgänge mit einem Greifer berechnet, physische Umgebungen, die zufällige Haufen der Objekte umfassen, simuliert, die auf die zufälligen Haufen der Objekte angewendeten stabilen Greifvorgänge evaluiert und Tiefenbilder der zufälligen Objekthaufen und entsprechende erfolgreiche simulierte Greifvorgänge ausgibt.
  35. System nach Anspruch 26, wobei die Maximalabstand-Technik das Bestimmen der Zielwerte des ersten Satzes gruppierter Dimensionen umfasst, die einen optimalen Greifqualitätswert für eine beliebige Kombination der Zielwerte des zweiten Satzes gruppierter Dimensionen haben.
  36. System nach Anspruch 26, wobei das Betreiben der neuronalen Netze im Inferenzmodus das Bestimmen von Maximalabstand-Zielwerten des ersten Satzes gruppierter Dimensionen durch das erste neuronale Netz und das Verwenden sowohl des Tiefenbilds, das die Objekthaufen abbildet, als auch der Zielwerte des ersten Satzes gruppierter Dimensionen zum Bestimmen von Zielwerten des zweiten Satzes gruppierter Dimensionen durch das zweite neuronale Netz umfasst.
  37. System nach Anspruch 26, wobei Datenvorbereitungstechniken, die zum Trainieren der neuronalen Netze und zum Betreiben der neuronalen Netze im Inferenzmodus verwendet werden, das Zuführen von Schichten eines Tiefenbilds zum ersten neuronalen Netz und das Zuführen von gedrehten zugeschnittenen Tiefenbildpatches zum zweiten neuronalen Netz umfassen.
DE102022107227.4A 2021-06-08 2022-03-28 Greifenlernen unter verwendung modularisierter neuronaler netze Pending DE102022107227A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US17/342,069 2021-06-08
US17/342,069 US20220388162A1 (en) 2021-06-08 2021-06-08 Grasp learning using modularized neural networks

Publications (1)

Publication Number Publication Date
DE102022107227A1 true DE102022107227A1 (de) 2022-12-08

Family

ID=84102286

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102022107227.4A Pending DE102022107227A1 (de) 2021-06-08 2022-03-28 Greifenlernen unter verwendung modularisierter neuronaler netze

Country Status (4)

Country Link
US (1) US20220388162A1 (de)
JP (1) JP2022187984A (de)
CN (1) CN115446827A (de)
DE (1) DE102022107227A1 (de)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102022207847A1 (de) 2022-07-29 2024-02-01 Robert Bosch Gesellschaft mit beschränkter Haftung Verfahren zum Steuern eines Roboters zum Manipulieren, insbesondere Aufnehmen, eines Objekts
DE102023110107B3 (de) 2023-04-20 2024-05-23 J.Schmalz Gmbh Verfahren zum Handhaben von Gegenständen sowie Handhabungsanlage

Family Cites Families (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104049755B (zh) * 2014-06-18 2017-01-18 中国科学院自动化研究所 信息处理方法及装置
US10540590B2 (en) * 2016-12-29 2020-01-21 Zhejiang Gongshang University Method for generating spatial-temporally consistent depth map sequences based on convolution neural networks
US11379688B2 (en) * 2017-03-16 2022-07-05 Packsize Llc Systems and methods for keypoint detection with convolutional neural networks
US10467501B2 (en) * 2017-10-30 2019-11-05 Sap Se Computer vision architecture with machine learned image recognition models
US11270441B2 (en) * 2017-11-01 2022-03-08 Nokia Technologies Oy Depth-aware object counting
US20190273510A1 (en) * 2018-03-01 2019-09-05 Crowdstrike, Inc. Classification of source data by neural network processing
DE102018206848A1 (de) * 2018-05-03 2019-11-07 Robert Bosch Gmbh Verfahren und Vorrichtung zum Ermitteln eines Tiefeninformationsbilds aus einem Eingangsbild
US20220215267A1 (en) * 2018-06-19 2022-07-07 Orbai Technologies, Inc. Processes and methods for enabling artificial general intelligence capable of flexible calculation, prediction, planning and problem solving with arbitrary and unstructured data inputs and outputs
US20200050941A1 (en) * 2018-08-07 2020-02-13 Amadeus S.A.S. Machine learning systems and methods for attributed sequences
WO2020051776A1 (en) * 2018-09-11 2020-03-19 Intel Corporation Method and system of deep supervision object detection for reducing resource usage
US11663483B2 (en) * 2018-10-30 2023-05-30 Huawei Technologies Co., Ltd. Latent space and text-based generative adversarial networks (LATEXT-GANs) for text generation
CN109472270B (zh) * 2018-10-31 2021-09-24 京东方科技集团股份有限公司 图像风格转换方法、装置及设备
CN110058883B (zh) * 2019-03-14 2023-06-16 梁磊 一种基于opu的cnn加速方法及系统
CA3076638A1 (en) * 2019-03-22 2020-09-22 Royal Bank Of Canada Systems and methods for learning user representations for open vocabulary data sets
US11068782B2 (en) * 2019-04-03 2021-07-20 Mashtraxx Limited Method of training a neural network to reflect emotional perception and related system and method for categorizing and finding associated content
WO2021012215A1 (zh) * 2019-07-24 2021-01-28 华为技术有限公司 神经网络切分方法、预测方法及相关装置
US10936950B1 (en) * 2019-08-15 2021-03-02 Advanced New Technologies Co., Ltd. Processing sequential interaction data
US11445222B1 (en) * 2019-09-30 2022-09-13 Isize Limited Preprocessing image data
US11922316B2 (en) * 2019-10-15 2024-03-05 Lg Electronics Inc. Training a neural network using periodic sampling over model weights
US11580401B2 (en) * 2019-12-11 2023-02-14 Inait Sa Distance metrics and clustering in recurrent neural networks
CN113011575A (zh) * 2019-12-19 2021-06-22 华为技术有限公司 神经网络模型更新方法、图像处理方法及装置
US20230181082A1 (en) * 2020-01-03 2023-06-15 GE Precision Healthcare LLC System and methods for electrocardiogram beat similarity analysis
US11589828B2 (en) * 2020-01-03 2023-02-28 GE Precision Healthcare LLC System and methods for electrocardiogram beat similarity analysis using deep neural networks
KR20220166355A (ko) * 2020-04-21 2022-12-16 구글 엘엘씨 다수의 포지티브 예를 사용한 지도 대조 학습
CN113688981A (zh) * 2020-05-19 2021-11-23 深圳忆海原识科技有限公司 具有记忆与信息抽象功能的类脑神经网络
US20220051076A1 (en) * 2020-08-12 2022-02-17 Cognizant Technology Solutions U.S. Corporation System and Method For Generating Parametric Activation Functions
US20220122103A1 (en) * 2020-10-20 2022-04-21 Zhejiang University Customized product performance prediction method based on heterogeneous data difference compensation fusion
US11657522B2 (en) * 2020-11-11 2023-05-23 Toyota Research Institute, Inc. Sparse auxiliary network for depth completion
KR102493980B1 (ko) * 2020-12-21 2023-01-30 포항공과대학교 산학협력단 머신러닝 기반의 비디오 화질개선 방법 및 장치
US11460982B1 (en) * 2020-12-23 2022-10-04 Beijing Didi Infinity Technology And Development Co., Ltd. Number embedding application system
EP4128772A1 (de) * 2021-01-13 2023-02-08 Huawei Technologies Co., Ltd. Skalierbare codierung von video und zugehörige funktionen
TWI768676B (zh) * 2021-01-25 2022-06-21 瑞昱半導體股份有限公司 音頻處理方法及音頻處理裝置以及非暫態計算機可讀取媒體
EP4092572A1 (de) * 2021-05-20 2022-11-23 Wooptix S.L. Verfahren zur tiefenschätzung für eine kamera mit veränderlicher brennweite
US20230067528A1 (en) * 2021-08-24 2023-03-02 Microsoft Technology Licensing, Llc Multimodal domain embeddings via contrastive learning

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102022207847A1 (de) 2022-07-29 2024-02-01 Robert Bosch Gesellschaft mit beschränkter Haftung Verfahren zum Steuern eines Roboters zum Manipulieren, insbesondere Aufnehmen, eines Objekts
DE102023110107B3 (de) 2023-04-20 2024-05-23 J.Schmalz Gmbh Verfahren zum Handhaben von Gegenständen sowie Handhabungsanlage

Also Published As

Publication number Publication date
US20220388162A1 (en) 2022-12-08
JP2022187984A (ja) 2022-12-20
CN115446827A (zh) 2022-12-09

Similar Documents

Publication Publication Date Title
DE102021121063A1 (de) Effiziente datengenerierung für das greifenlernen mit allgemeinen greifern
DE102014102943B4 (de) Robotersystem mit Funktionalität zur Ortsbestimmung einer 3D- Kiste
DE102022107227A1 (de) Greifenlernen unter verwendung modularisierter neuronaler netze
DE112011103794B4 (de) Aufnehmervorrichtung für Werkstücke
DE102022107249A1 (de) Modularisierung von Netzen zum Lernen von hochdimensionalen Roboteraufgaben
DE102012213957B4 (de) Schnelle Berechnung von Griffkontakten für einen seriellen Roboter
DE102014108287A1 (de) Schnelles Erlernen durch Nachahmung von Kraftdrehmoment-Aufgaben durch Roboter
EP3320483B1 (de) Verfahren zum steuern eines roboters und/oder eines autonomen fahrerlosen transportsystems
DE102021107532A1 (de) System und Verfahren zum Anlernen eines Roboters mittels Demonstration durch einen Menschen
DE102022129008A1 (de) Verfahren zur behandlung von kollisionen bei der griffgenerierung
DE102021107333A1 (de) 3d-stellungsabschätzung mit einer 2d-kamera
DE102022122818A1 (de) Zugriffserzeugung für maschinenbeschickung
DE102022130652A1 (de) Anlernen eines roboters durch vorführen mit visualservoing
DE102021204846B4 (de) Verfahren zum Steuern einer Robotervorrichtung
DE102021109195A1 (de) Auf demontage basierende montageplanung
DE102021107351A1 (de) System zur eigenschaftserkennung durch deep-learning und vektorfeldschätzung
DE102021107479A1 (de) Erfassung einer dreidimensionalen pose durch mehrere 2d-kameras
EP3741518A1 (de) Verfahren und vorrichtung für eine automatisierte beeinflussung eines aktuators
DE102019124809A1 (de) Bildgebungsvorrichtung und Bildgebungssystem
DE102019202747A1 (de) Verfahren und Vorrichtung zur Klassifizierung von Eingangsdaten
WO2020083586A1 (de) Verfahren zum erstellen eines objektmodells zum greifen eines objekts, computerlesbares speichermedium und robotersystem
DE102021209646B4 (de) Robotervorrichtung, Verfahren zum computerimplementierten Trainieren eines Roboter-Steuerungsmodells und Verfahren zum Steuern einer Robotervorrichtung
DE102023117284A1 (de) Teachen von griffen durch menschliche demonstration
DE102023103978A1 (de) Effizienter und robuster linienzuordnungsansatz
EP4063080A1 (de) Verfahren zum ermitteln von steuerungsdaten für eine grei-feinrichtung zum greifen eines gegenstands