DE102021121063A1 - Effiziente datengenerierung für das greifenlernen mit allgemeinen greifern - Google Patents

Effiziente datengenerierung für das greifenlernen mit allgemeinen greifern Download PDF

Info

Publication number
DE102021121063A1
DE102021121063A1 DE102021121063.1A DE102021121063A DE102021121063A1 DE 102021121063 A1 DE102021121063 A1 DE 102021121063A1 DE 102021121063 A DE102021121063 A DE 102021121063A DE 102021121063 A1 DE102021121063 A1 DE 102021121063A1
Authority
DE
Germany
Prior art keywords
gripper
objects
grasping
gripping
database
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
DE102021121063.1A
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 DE102021121063A1 publication Critical patent/DE102021121063A1/de
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • G06T7/73Determining position or orientation of objects or cameras using feature-based methods
    • 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/1602Programme controls characterised by the control system, structure, architecture
    • B25J9/1605Simulation of manipulator lay-out, design, modelling of manipulator
    • 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/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/1656Programme controls characterised by programming, planning systems for manipulators
    • B25J9/1671Programme controls characterised by programming, planning systems for manipulators characterised by simulation, either to verify existing program or to create and verify new program, CAD/CAM oriented, graphic oriented programming systems
    • 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/004Artificial life, i.e. computing arrangements simulating life
    • G06N3/008Artificial life, i.e. computing arrangements simulating life based on physical entities controlled by simulated intelligence so as to replicate intelligent life forms, e.g. based on robots replicating pets or humans in their appearance or behaviour
    • 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
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/04Inference or reasoning models
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/50Depth or shape recovery
    • G06T7/55Depth or shape recovery from multiple images
    • G06T7/593Depth or shape recovery from multiple images from stereo images
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/82Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/10Terrestrial scenes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/50Context or environment of the image
    • G06V20/52Surveillance or monitoring of activities, e.g. for recognising suspicious objects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/60Type of objects
    • G06V20/64Three-dimensional objects
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J15/00Gripping heads and other end effectors
    • B25J15/0028Gripping heads and other end effectors with movable, e.g. pivoting gripping jaw surfaces
    • 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
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/042Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10028Range image; Depth image; 3D point clouds
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20081Training; Learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20084Artificial neural networks [ANN]

Landscapes

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

Abstract

Eine Greifbewegungs-Erzeugungstechnik für die robotergestützte Aufnahme von Objekten wird vorgestellt. Für alle auszuwertenden Objekte und Greifer wird eine Datenbank mit Volumen- oder Flächenmodellen bereitgestellt. Es werden ein Greifer ausgewählt und eine Zufallsinitialisierung durchgeführt, wobei zufällige Objekte und Stellungen aus der Objektdatenbank ausgewählt werden. Anschließend wird eine iterative Optimierungsberechnung durchgeführt, bei der für jedes Objekt mit Oberflächenkontakt zwischen dem Objekt und dem Greifer viele Hunderte von Greifbewegungen berechnet und Stichproben für die Greifvielfalt und die globale Optimierung genommen werden. Schließlich wird eine physikalische Umgebungssimulation durchgeführt, bei der die Greifbewegungen für jedes Objekt auf simulierte Haufen von Objekten in einem Behälterszenario abgebildet werden. Die Greifpunkte und Annäherungsrichtungen aus der physikalischen Umgebungssimulation werden dann zum Trainieren neuronaler Netze für das Erlernen des Greifens in realen Roboteroperationen verwendet, wobei die Simulationsergebnisse mit Kameratiefenbilddaten korreliert werden, um einen qualitativ hochwertigen Greifvorgang zu identifizieren.

Description

  • TECHNISCHES GEBIET
  • Die vorliegende Erfindung bezieht sich allgemein auf ein Verfahren zur Erzeugung von Qualitäts-Greifstellungen (im Sinne von hochgenau) für das Greifen von Objekten durch Roboter und insbesondere auf ein Verfahren zum Erlernen des Greifens durch Roboter, das eine zufällige Initialisierung, bei der zufällige Objekte und Greifer aus einer großen Objektdatenbank ausgewählt werden, eine iterative Optimierung, bei der viele Hunderte von Greifbewegungen für jedes Objekt mit Oberflächenkontakt zwischen dem Objekt und dem Greifer berechnet werden, und eine Simulation der physikalischen Umgebung beinhaltet, bei der die Greifbewegungen für jedes Objekt auf simulierte Haufen oder Stapel von Objekten in einem Behälter angewendet werden.
  • STAND DER TECHNIK
  • Der Einsatz von Industrierobotern zur Durchführung einer breiten Palette von Fertigungs-, Montage- und Materialbewegungsvorgängen ist allgemein bekannt. Eine solche Anwendung ist ein Pick-and-Place-Vorgang, bei dem ein Roboter einzelne Objekte aus einem Behälter aufnimmt und auf einen Förderer oder in einen Versandbehälter legt. Ein Beispiel für diese Anwendung wäre, wenn Objekte, die geformt oder bearbeitet wurden, in den Behälter fallen und in zufälligen Positionen und Ausrichtungen zu liegen kommen, und der Roboter die Aufgabe hat, jedes Objekt aufzunehmen und es in einer vordefinierten Ausrichtung (Position) auf einem Förderer abzulegen, der die Objekte zur Verpackung oder Weiterverarbeitung transportiert. Ein weiteres Beispiel sind Lagerhallen für E-Commerce-Bestellungen, in denen viele verschiedene Größen und Formen von Artikeln zuverlässig gehandhabt werden müssen. Je nachdem, wie stark die Objekte im Behälter zu einem Haufen zusammengeschoben sind, können als Roboterwerkzeug Fingergreifer oder Sauggreifer eingesetzt werden. Ein Bildverarbeitungssystem (eine oder mehrere Kameras) wird typischerweise eingesetzt, um die Position und Orientierung der einzelnen Objekte im Behälter zu erkennen.
  • Herkömmliche Greifbewegungs-Erzeugungsverfahren lehren manuell Entnahmepunkte auf bekannte 3D-Merkmalen oder Objekten. Diese Verfahren erfordern einen erheblichen Zeitaufwand für die Entwicklung von Heuristiken, um die besten Greifstellungen zu ermitteln, und manuell entwickelte Heuristiken funktionieren möglicherweise nicht bei unbekannten Objekten oder Verdeckungen. Aufgrund der Schwierigkeiten bei der Verwendung von Heuristiken zum Erlernen des Greifens sind lernbasierte Verfahren zur Greiferkennung aufgrund ihrer Fähigkeit, sich an unbekannte Objekte anzupassen, populär geworden.
  • Allerdings haben die bestehenden lernbasierten Verfahren zur Grifferkennung auch ihre Nachteile. Ein bekanntes lernbasiertes Verfahren verwendet eine mathematisch strenge Greifqualität, um nach Greifkandidaten / -möglichkeiten zu suchen, bevor diese Kandidaten an einen Klassifikator eines neuronalen Faltungs-Netzes (CNN) weitergeleitet werden. Dieses Verfahren ist jedoch in der Regel rechenintensiv und die Lösung ist in der realen Welt aufgrund der in der Optimierung enthaltenen Vereinfachung möglicherweise nicht optimal. Um realistische Greifbewegungen zu erzeugen, verwendet ein anderes Verfahren empirische Versuche, um Daten zu sammeln, aber dieses Verfahren erfordert normalerweise Zehntausende von Roboterstunden mit komplizierten Kraftkontrollen, und jede Änderung des Greifers erfordert eine Wiederholung des gesamten Prozesses.
  • In Anbetracht der oben beschriebenen Umstände ist eine Roboter-Greif-Lerntechnik notwendig, die qualitativ hochwertige Greifkandidaten / -Möglichkeiten ohne manuelles Lehren erzeugt, rechnerisch effizient ist und Greifszenarien liefert, die auf reale Situationen mit durcheinanderliegenden Objekten und Kollisionsvermeidung zwischen Roboterarm und Behälterseiten anwendbar sind.
  • In Übereinstimmung mit den Lehren der vorliegenden Erfindung wird eine Greifbewegungs-Erzeugungstechnik für das robotergestützte Aufnehmen von Objekten vorgestellt. Für alle zu bewertenden Objekte und Greifer wird eine Datenbank mit Festkörper- oder Flächenmodellen bereitgestellt. Es werden ein Greifer ausgewählt und eine zufällige Initialisierung durchgeführt, wobei zufällige Objekte aus der Objektdatenbank ausgewählt und zufällige Stellungen initiiert werden. Anschließend wird eine iterative Optimierungsberechnung durchgeführt, bei der für jedes Objekt mit Oberflächenkontakt zwischen dem Objekt und dem Greifer viele Hunderte von Greifbewegungen berechnet werden und Stichproben für die Greifvielfalt und die globale Optimierung genommen werden. Schließlich wird eine physikalische Umgebungssimulation durchgeführt, bei der die Greifbewegungen für jedes Objekt auf simulierte Haufen oder Stapel von Objekten in einem Behälterszenario abgebildet werden. Die Greifpunkte und Annäherungsrichtungen aus der Simulation der physikalischen Umgebung werden dann verwendet, um neuronale Netze für das Erlernen des Greifens in realen Roboteroperationen zu trainieren, wobei die Simulationsergebnisse mit Kameratiefenbilddaten korreliert werden, um einen qualitativ hochwertigen Griff zu identifizieren.
  • Weitere Merkmale des hier vorgestellten Verfahrens werden aus der folgenden Beschreibung in Verbindung mit den beigefügten Zeichnungen ersichtlich.
  • Figurenliste
    • 1 ist ein Flussdiagramm eines Greifbewegungs-Erzeugungsprozesses, der optimierte Greifbewegungen für einzelne Objekte berechnet und die berechneten Greifbewegungen auf Objekte in simulierten Objekthaufen anwendet, gemäß einer Ausführungsform der vorliegenden Erfindung;
    • 2 ist ein Flussdiagramm von Schritten, die in dem iterativen Optimierungsfeld des Greifbewegungs-Erzeugungsprozesses von 1 enthalten sind, gemäß einer Ausführungsform der vorliegenden Erfindung;
    • 3 ist ein Flussdiagramm von Schritten, die in dem Feld der Simulation der physikalischen Umgebung des Greifbewegungs-Erzeugungsprozesses von 1 enthalten sind, gemäß einer Ausführungsform der vorliegenden Erfindung; und
    • 4 ist ein Blockdiagramm eines Roboter-Objektentnahmesystems, das ein neuronales Netzsystem zur Greifberechnung verwendet, wobei das neuronale Netzsystem unter Verwendung der Greifbewegungen, die durch die Prozesse der 1 bis 3 erzeugt wurden, gemäß einer Ausführungsform der vorliegenden Erfindung trainiert wird.
  • BESCHREIBUNG VON AUSFÜHRUNGSFORMEN
  • Die folgende Beschreibung der Ausführungsformen der Erfindung, die auf eine optimierungsbasierte Greifbewegungs-Erzeugungstechnik gerichtet sind, ist lediglich beispielhafter Natur und soll in keiner Weise die erläuterten Techniken oder ihre Anwendungen oder Verwendungen einschränken.
  • Der Einsatz von Industrierobotern zur Entnahme von Objekten aus einer Quelle und deren Ablage an einem Zielort ist allgemein bekannt. In einer gängigen Anwendung wird ein Vorrat an Objekten in einem Behälter bereitgestellt, z.B. ein Behälter, der einen zufälligen Haufen oder Stapel von Objekten enthält, die gerade gegossen oder geformt wurden, wobei die Objekte von dem Behälter zu einem Förderer oder einem Versandbehälter bewegt werden müssen. Einem Roboter beizubringen, ein einzelnes Objekt in einem Behälter voller Objekte in Echtzeit zu erkennen und zu ergreifen, war schon immer eine Herausforderung.
  • Um die Geschwindigkeit und Zuverlässigkeit der Roboterteileentnahme zu verbessern, ist es bekannt, Greifbewegungen für einen bestimmten Greifer, der ein bestimmtes Objekt in einer Vielzahl von Stellungen greift, vorauszuberechnen. Diese Vorausberechnung von Greifbewegungen wird als Greifbewegungs-Erzeugung bezeichnet, und die vorausberechneten (erzeugten) Greifbewegungen werden dann verwendet, um während der robotergestützten Entnahme von Objekten Entscheidungen in Echtzeit zu treffen.
  • Bei herkömmlichen Greifbewegungs-Erzeugungsverfahren werden die Entnahmepunkte manuell auf bekannte 3D-Merkmale der Objekte eingelernt. Diese Verfahren erfordern einen erheblichen Zeitaufwand für die Entwicklung von Heuristiken, um die besten Greifpositionen zu ermitteln, und diese manuell entwickelten Heuristiken funktionieren möglicherweise nicht bei unbekannten Objekten oder Verdeckungen. Aufgrund der Schwierigkeiten bei der Verwendung von Heuristiken zum Erlernen von Greifstellungen sind lernbasierte Verfahren zur Greiferkennung aufgrund ihrer Fähigkeit, sich an unbekannte Objekte anzupassen, populär geworden.
  • Allerdings haben die bestehenden lernbasierten Greifbewegungs-Erzeugungsverfahren auch Nachteile. Ein bekanntes lernbasiertes Verfahren verwendet eine mathematisch rigorose Greifqualität, um nach Greifkandidaten / -möglichkeiten zu suchen, bevor diese Kandidaten einem CNN-Klassifikator zugeführt werden, ist jedoch rechenintensiv und die Lösung ist in realen Situationen aufgrund von Vereinfachungen bei der Optimierung möglicherweise nicht optimal. Ein anderes Verfahren verwendet empirische Versuche, um Daten zu sammeln, die realistische Greifbewegungen erzeugen, aber dieses Verfahren erfordert in der Regel Zehntausende von Roboterstunden mit komplizierten Kraftkontrollen, und jede Änderung des Greifers erfordert eine Wiederholung des gesamten Prozesses. Darüber hinaus sind einige bestehende Greifbewegungs-Erzeugungsverfahren in den Arten von Greifstellungen, die sie erkennen können, begrenzt, z.B. nur auf eine direkte Anfahrrichtung von oben nach unten beschränkt.
  • Die vorliegende Erfindung beschreibt eine Technik, die automatisch auf eine beliebige Kombination von Greifern und Teil/Objekt-Designs angewendet werden kann, eine große Anzahl realistischer Greifbewegungen in der Simulation mit minimalem Rechenaufwand erzeugt und darüber hinaus die Komplikation des Greifens eines einzelnen Objekts aus einem Haufen von Objekten, die in einem Behälter durcheinander liegen, simuliert, wie es in der realen Welt bei der robotergestützten Objektentnahme häufig vorkommt. Um die Robustheit der Greifbewegungen zu erhöhen, wird eine mathematisch strenge Greifqualität verwendet, und die Kontakte werden als Flächen modelliert. Ein speziell entwickelter Solver wird verwendet, um die Optimierung effizient zu lösen. Schließlich werden die erzeugten Greifbewegungen in einem Simulationsschritt für die physische Umgebung getestet und verfeinert, um die Interferenzen zwischen Greifern und Objekten zu berücksichtigen, die in einer unübersichtlichen Umgebung auftreten. Die auf diese Weise generierten und evaluierten Greifbewegungen werden dann in der realen robotergestützten Objektentnahme eingesetzt, um ein Zielobjekt und eine Greifstellung aus 3D-Kamerabildern zu identifizieren.
  • 1 ist ein Flussdiagramm 100 eines Greifbewegungs-Erzeugungsprozesses, der optimierte Greifbewegungen an einzelnen Teilen/Objekten berechnet und die berechneten Greifbewegungen auf Objekte in simulierten Objekthaufen gemäß einer Ausführungsform der vorliegenden Erfindung anwendet. Im Feld 110 wird eine Datenbank 112 mit dreidimensionalen (3D) Objektmodellen bereitgestellt. Die Objektmodell-Datenbank 112 kann viele hundert verschiedene Objekte enthalten, für die Greifbewegungen zu erzeugen sind, wobei für jedes Objekt 3D-Volumen- oder Oberflächendaten (typischerweise aus einem CAD-Modell) bereitgestellt werden. Die Objektmodell-Datenbank 112 kann auch Daten aus einem weithin verfügbaren gemeinsamen Quellenspeicher wie ShapeNet enthalten.
  • Im Feld 110 wird auch eine Greifer-Datenbank 114 bereitgestellt, die sowohl 3D-Geometrie- als auch Artikulationsdaten für jeden Greifer enthält. Ein bestimmter Greifer könnte beispielsweise drei mechanische Finger haben, wobei jeder Finger zwei Knöchelgelenke und zwei Fingersegmente aufweist. Die 3D-Geometrie dieses Greifers würde in einer bestimmten Konfiguration bereitgestellt, beispielsweise mit vollständig geöffneten Knöchelgelenken, und die Geometrie der Gelenkachse würde ebenfalls bereitgestellt. In der Greifer-Datenbank 114 können viele verschiedene Arten von Greifer enthalten sein, z.B. Greifer mit Zwei- und Dreifinger-Gelenken, Greifer mit parallelen Kiefergelenken, Greifer im Stil einer ganzen menschlichen Hand, Greifer mit unterdrückter Betätigung, Greifer im Stil eines Saugnapfes (mit einem oder mehreren Saugnäpfen), usw.
  • Im Zufallsinitialisierungsfeld 120 wird eine Gruppe von Objekten (z.B. 10-30 Objekte) zufällig aus der Objektmodell-Datenbank 112 ausgewählt, und ein Greifer für jedes Objekt wird ebenfalls aus der Greifer-Datenbank 114 ausgewählt. Als Beispiel werden ein Kaninchen 122 (z.B. ein geformtes Plastikspielzeug) und ein entsprechender Greifer 124 mit drei Fingern gezeigt, wobei das Kaninchen 122 einfach eines der Objekte aus der Objektdatenbank 112 und der Greifer 124 einer der Greifer aus der Greifer-Datenbank 114 sind.
  • Als weiteres Beispiel ist eine Teekanne als Objekt 126 mit demselben Greifer 124 dargestellt. Zur Verdeutlichung: Jedes im Zufallsinitialisierungsfeld 120 ausgewählte Objekt wird zusammen mit dem ausgewählten Greifer unabhängig analysiert, um viele robuste Greifbewegungen für das Objekt zu erzeugen, wie weiter unten im Detail erläutert wird. Zur Vereinfachung der Bedienung können mehrere Objekte (z.B. 10-30 Objekte) ausgewählt werden (nach dem Zufallsprinzip oder vom Benutzer), wobei die Berechnungen der Greifbewegungs-Erzeugung automatisch für alle im Feld 120 ausgewählten Objekte durchgeführt werden. In der bevorzugten Ausführungsform wird derselbe Greifer (in diesem Beispiel der Greifer 124) für alle im Feld 120 ausgewählten Objekte verwendet, da die spätere Analyse das Zusammenstapeln vieler oder aller verschiedenen Objekte in einem Behälter und die Entnahme der Objekte einzeln durch einen mit dem Greifer ausgestatteten Roboter beinhalten kann.
  • In Feld 130 wird eine iterative Optimierungsberechnung für jede Objekt/Greifer-Paarung durchgeführt, um viele robuste Greifbewegungen zu erzeugen und zu speichern. In einer Ausführungsform ist die iterative Optimierungsroutine so konfiguriert, dass sie 1000 Greifbewegungen für jedes Objekt und den ausgewählten Greifer berechnet. Es können natürlich auch mehr oder weniger als 1000 Greifbewegungen berechnet werden. Die iterative Optimierungsberechnung modelliert den Oberflächenkontakt zwischen dem Objekt und dem Greifer, wobei Kollisionen oder Penetrationen vermieden werden. Für die Berechnung wird ein Solver verwendet, der speziell auf Effizienz ausgelegt ist, um die einzelnen Greifbewegungen sehr schnell berechnen zu können. Die Ausgangsbedingungen (Greiferstellung relativ zum Objekt) werden variiert, um eine vielfältige Mischung robuster Greifbewegungen zu erhalten. Die iterative Optimierungsberechnung in dem Feld 130 wird weiter unten im Detail erläutert.
  • Im Feld 140 wird die im Zufallsinitialisierungsfeld 120 ausgewählte Gruppe von Objekten in einer Simulation einer physischen Umgebung verwendet (d. h. Simulation der Objekte, die nach dem Zufallsprinzip in einen Behälter fallen und in einem Haufen zu liegenkommen), und die zugehörigen Greifbewegungen aus dem Feld 130 werden auf die physische Umgebung abgebildet. Der simulierte Haufen von Objekten in einem Behälter im Feld 140 kann viele verschiedene Arten von Objekten enthalten (z.B. alle im Feld 120 ausgewählten Objekte) oder einen Behälter, der nur mit Objekten einer einzigen Art gefüllt ist. Die Simulation läuft parallel, um die Leistung jedes einzelnen Greifers in einer unübersichtlichen Umgebung zu testen. Auf die Simulation der physischen Umgebung im Feld 140 wird weiter unten ebenfalls eingegangen.
  • Im Feld 150 werden die Punktwolke, die Greifstellung und die Erfolgsrate aus der Simulation der physischen Umgebung im Feld 140 aufgezeichnet und bilden die Greifdatenbank. Ein Punktwolken-Tiefenbild 152 stellt den Haufen von Objekten aus dem Feld 140 aus einer bestimmten Perspektive oder einem bestimmten Blickwinkel dar. In einer bevorzugten Ausführungsform wird das Tiefenbild 152 aus der für einen optimalen Griff berechneten Annäherungsrichtung betrachtet. Aus dem Bild 152 wurden bei den Berechnungen im Feld 140 mehrere mögliche Greifbewegungen ermittelt, die der Greifroboter einsetzen könnte. Jede der in Frage kommenden Greifbewegungen wird durch eine Greifstellung und eine Punktkarte 154 repräsentiert, die Punkte angibt, die als Greifziel verwendet werden könnten, wobei der Annäherungswinkel durch den Blickwinkel des Bildes 152 definiert ist und ein im Feld 140 berechneter Greiferwinkel und eine Greifweite oder -Breite verwendet werden. Die im Feld 150 gespeicherten Daten beinhalten also die Tiefenkarte des gewünschten Annäherungswinkels, die Punktkarte 154 mit den x/y/z-Koordinaten der Greifbewegungen einschließlich des besten Griffs, den Greiferdrehwinkel und die Greiferbreite sowie die Greiferfolgsrate aus der physikalischen Umgebungssimulation. Die Punkte in der Punktekarte 154 wären nach Greifqualität geordnet und sollten zu einem erfolgreichen Greifen eines Objekts aus dem Haufen der Objekte in einem Behälter führen.
  • Die in der im Flussdiagramm 100 von 1 dargestellten Weise erzeugten und bewerteten Greifbewegungen, die im Feld 150 gespeichert sind, werden später verwendet, um ein Greif-Lernsystem zu trainieren, das die beste Greifstellung aus 3D-Kamerabildern eines tatsächlichen Behälters voller Objekte ermittelt.
  • 2 ist ein Flussdiagramm 200 von Schritten, die in dem iterativen Optimierungsfeld 130 des Greifbewegungs-Erzeugungsprozesses von 1 gemäß einer Ausführungsform der vorliegenden Erfindung enthalten sind. Die iterative Optimierungsberechnung des Flussdiagramms 200 wird für jede Objekt/Greifer-Paarung durchgeführt, um viele robuste Greifbewegungen zu erzeugen und zu speichern.
  • Im Feld 210 werden die Flächen der Greifer und des Objekts in Punkte aufgelöst. Punkte auf den Greiferoberflächen (die Handfläche und die Innenflächen der Fingersegmente) werden als pi bezeichnet, wobei jeder Punkt pi einen Normalenvektor n i p
    Figure DE102021121063A1_0001
    hat. Punkte auf der Objektaußenfläche werden als qi bezeichnet, wobei jeder Punkt qi einen Normalvektor n i q
    Figure DE102021121063A1_0002
    hat.
  • Im Feld 220 werden auf der Grundlage einer aktuellen Greiferposition relativ zum Objekt (die später im Hinblick auf die Gesamtgreiferposition und die einzelnen Fingergelenkpositionen erörtert wird) Punktkontaktpaare und Kollisionspaare berechnet. Dies beginnt mit der Identifizierung von übereinstimmenden Punkten auf den Greifer-Oberflächen mit den nächstgelegenen Punkten auf der Objekt-Oberfläche unter Verwendung einer Technik der nächsten Nachbarn (nearest neighbor technique). Nach einer Filterung zur Entfernung von Punktpaaren, deren Abstand einen Schwellenwert überschreitet, definieren die verbleibenden Punktpaare (pi, qi) die Kontaktflächen Sf (auf dem Greifer) und So (auf dem Objekt).
  • In 222 sind ein Querschnitt des Objekts und ein Finger des Greifer mit den entsprechenden Punktpaaren (pi, qi) und den jeweiligen Flächennormalvektoren dargestellt. In der bei 222 gezeigten Position (die eine Anfangsposition oder eine andere Iteration während des Optimierungsprozesses sein kann) gibt es eine Interferenz (Kollision) zwischen dem Objekt und dem äußeren Segment des Greiferfingers. Diese Interferenz wird bei den Optimierungsberechnungen mit Hilfe einer Begrenzungsfunktion „bestraft“, um den Greifer zu veranlassen, sich vom Objekt zu entfernen, um die Interferenz zu beseitigen (siehe unten).
  • In Feld 230 werden das Problem der Greifersuche als Optimierung modelliert und eine Iteration berechnet. Um stabile Greifbewegungen zu berechnen, werden Oberflächenkontakte und rigorose mathematische Qualität in die Modellierung übernommen. Die Greifer-Objekt-Kollision wird in der Optimierung ebenfalls „bestraft“, um ein Eindringen zu vermeiden, wie oben erwähnt. Die in Feld 230 dargestellte Optimierungsformel wird hier als Gleichungen (1a)-(1f) dupliziert und in den folgenden Abschnitten diskutiert. max T , q , S f , S o Q ( S f , S o , O )
    Figure DE102021121063A1_0003
    s .t . S o ( δ O ; T i n i , o ) , S f ( δ F ; T , q )
    Figure DE102021121063A1_0004
    S o = S f
    Figure DE102021121063A1_0005
    f ( S o , S f ) F C
    Figure DE102021121063A1_0006
    d i s t ( T ( δ F ; T , q ) , E ) 0
    Figure DE102021121063A1_0007
    q I ^ ( q m i n , q m a x )
    Figure DE102021121063A1_0008
  • Die Optimierungsformel enthält eine objektive Funktion (Gl. 1a), die definiert ist, um die Greifqualität Q zu maximieren, wobei die Greifqualität Q mit den Kontaktflächen Sf und So und der Objektgeometrie O zusammenhängt. Die Greifqualität Q kann auf jede geeignete Weise definiert werden und wird aus den Kraftbeiträgen aller Kontaktpunkte in Bezug auf Objekteigenschaften wie Masse und Schwerpunkt berechnet. Ein stabiler Griff ist ein Griff, bei dem jede geringfügige Bewegung des Objekts im Greifer schnell durch Reibungskräfte gestoppt wird und nicht zu einem Verlust des Griffs führt.
  • Die Optimierungsformulierung der Gleichungen (1a)-(1f) enthält viele Begrenzungsfunktionen. Eine Begrenzungsfunktion (Gl. 1b) besagt, dass So eine Teilmenge der Objektoberfläche δO ist, die durch die anfängliche Objektstellung Tini,o transformiert wird, und Sf eine Teilmenge der Hand/Greifer-Oberfläche δF ist, die durch die Greiferstellung und die Gelenkpositionen (T,q) transformiert wird. Eine Begrenzungsfunktion (Gl. 1c) gibt an, dass die Objektkontaktfläche So und die Hand/Greifer-Kontaktfläche Sf identisch sind.
  • Eine Begrenzungsfunktion (Gl. 1d) gibt an, dass die Kontaktkraft / während der Greifer-Objekt-Interaktion im Reibungskegel FC bleibt. Der Reibungskegel FC ist dadurch gekennzeichnet, dass die Abweichung der Fingerkraft von der Mittellinie des Reibungskegels „bestraft“ wird, wobei der Reibungskegel ein Kegel ist, in dem sich die resultierende Kraft, die von einer Oberfläche auf eine andere ausgeübt wird, befinden muss, wenn sich beide Oberflächen in Ruhe befinden, wie durch den Haftreibungskoeffizienten bestimmt, wie in der Technik bekannt ist. Eine Begrenzungsfunktion (Gl. 1e) gibt an, dass die transformierte Handfläche T(δF; T,q)) nicht in die Umgebung ε; eindringen darf, d.h. der Abstand sollte größer oder gleich Null sein.
  • Eine Begrenzungsfunktion (Gl. 1f) gibt an, dass die Gelenkpositionen q in einem durch qmin und qmax begrenzten Raum bleiben, wobei die Gelenkpositionsgrenzen q min und qmax bekannt und für den ausgewählten Greifer gegeben sind. Die Fingergelenke des abgebildeten Dreifinger-Greifers müssen beispielsweise eine Winkelposition zwischen qmin=0° (gerade Fingerstreckung) und einem Winkel von etwa qmax ≈ 140°-180° (maximale Beugung nach innen; jedes Gelenk im Greifer hat einen bestimmten Wert von qmax in diesem Bereich).
  • Die Optimierungsformulierung der Gleichungen (1a)-(1f) bleibt aufgrund der nichtlinearen Kinematik und der Kontaktflächen in Sf ⊂ (δF; T, q) ein nichtkonvexes Problem. Um die kinematische Nichtlinearität zu lösen, wird die Suche von der Hand/Greifer-Konfiguration T,q auf ein Inkrement der Hand/Greifer-Konfiguration δT, δq geändert. Genauer gesagt, T = δT T0, q = δq + q0, wobei T0, q0 die aktuelle Hand/Greifer-Konfiguration bezeichnet. In der vorliegenden Erfindung wird δT = (R, t) als Transformation bezeichnet.
  • Um die durch Oberflächenkontakte eingeführte Nichtlinearität aufzulösen und die Gleichungen (1a)-(1f) durch gradientenbasierte Verfahren zu lösen, werden die Hand/Greifer-Oberfläche δF und die Objektoberfläche δO in Punktmengen { p i , n i p } i = 1 N p
    Figure DE102021121063A1_0009
    und { q i , q i q } i = 1 N q
    Figure DE102021121063A1_0010
    aufgelöst, wobei pi, qi ∈ ℝ3, n i p , n i q S 2
    Figure DE102021121063A1_0011
    die Punktpositionen und Normalvektoren darstellen. Die Auflösung in Punkte wurde oben im Hinblick auf die Felder 210 und 220 erörtert.
  • Unter Verwendung des oben diskutierten Ansatzes der nächstgelegenen Punktübereinstimmung zur Definition von Sf und So kann eine „Strafe“ für die Kontaktnähe formuliert werden, indem eine translatorische Jacobimatrix in einem Punkt pi verwendet und der Punktabstand in Richtung der Oberflächennormalen des Objekts beschrieben wird. Dieser Punkt-Ebenen-Abstand ermöglicht es den Punkten auf dem Greifer, sich auf der Objektoberfläche aufzuhalten und zu gleiten. Außerdem wird dadurch die Empfindlichkeit des Algorithmus gegenüber unvollständigen Punktwolkendaten verringert.
  • Die Kollisionsbeschränkung (Gl. 1e) wird „bestraft“ und so formuliert, dass die Kollision nur für die Punkte „bestraft“ wird, die sich gerade in der Penetration befinden. Die Kollisionsannäherung führt eine Differentialform in Bezug auf δT, δq ein; dadurch wird die Berechnungseffizienz erheblich verbessert. Allerdings ist die approximierte „Strafe“ diskontinuierlich, wenn sich die Hand bewegt, da es keine Vorschau gibt. Daher kann das optimierte δT, δq ein Zick-Zack-Verhalten aufweisen. Um den durch die Approximation verursachten Zickzack-Effekt zu verringern, kann die Handoberfläche vergrößert werden, um eine Vorschau auf die mögliche Kollision zu erhalten.
  • Zurück zu 2: Die vorangegangene Diskussion beschreibt die Optimierungsformulierung im Feld 230, einschließlich der konvexen Vereinfachungen, die eine sehr schnelle Durchführung der Optimierungsberechnung ermöglichen. Im Feld 240 wird die Greiferstellung in Bezug auf das Objekt aktualisiert (sowohl die Greiferstellung T als auch die Gelenkpositionen q), und die Schritte der Felder 220 (Berechnung von Kontaktpunktpaaren und Kollisionspunktpaaren) und 230 (Lösung einer Iteration des Optimierungsproblems) werden wiederholt, bis die Optimierungsformulierung zu einem vordefinierten Schwellenwert konvergiert.
  • Die im illustrierten Flussdiagramm 200 von 2 dargestellten Schritte berechnen einen einzelnen Griff des Objekts (z.B. des Kaninchens 122) durch den Greifer (z.B. 124). Das heißt, wenn die Optimierungsberechnung konvergiert, wird ein einzelner Griff mit geeigneter Qualität und ohne Interferenz/Durchdringung bereitgestellt. In dem bei 242 gezeigten Querschnitt ist zu erkennen, dass die Interferenz zwischen dem Objekt und dem Greiferfinger beseitigt wurde, indem der Winkel des Greiferfingergelenks entspannt wurde, so dass die Punktepaare (pi, qi) gerade in Kontakt sind.
  • Wie bereits erwähnt, ist es wünschenswert, viele verschiedene Greifbewegungen für jedes Objekt/Greifer-Paar zu berechnen. In einer Ausführungsform ist die iterative Optimierungsroutine so konfiguriert, dass sie 1000 Greifbewegungen für jedes Objekt unter Verwendung des ausgewählten Greifers berechnet.
  • Es ist auch wünschenswert, von verschiedenen anfänglichen Greifstellungen auszugehen, um verschiedene konvergierte Greifbewegungen zu erhalten, so dass die resultierenden Greifbewegungen beinhaltend sind. Mit anderen Worten, die Anfangsbedingungen (Greiferstellung relativ zum Objekt) werden für jede der 1000 berechneten Greifbewegungen zufällig variiert. Dies geschieht, weil die Optimierungsformel der Gleichungen (1a)-(1f) zu einem lokalen Optimum konvergiert. Um Greifbewegungen (z.B. des Kaninchens 122) an verschiedenen Teilen des Kopfes und des Körpers aus unterschiedlichen Richtungen (von vorne, von hinten, von oben und von unten usw.) zu erhalten, müssen die Anfangsbedingungen die Vielfalt der Annäherungsrichtungen und der Ziel-Griffpositionen widerspiegeln.
  • Selbst wenn die Ausgangsbedingungen so variiert werden, dass eine Vielfalt von Greifstellungen entsteht, wird es angesichts der großen Anzahl von Greifbewegungen (z.B. 500-1000), die im iterativen Optimierungsschritt berechnet werden, zwangsläufig viele sehr ähnliche Greifbewegungen geben. Man kann sich zum Beispiel leicht vorstellen, dass viele ähnliche Greifbewegungen des Kaninchens 122 am Kopf, von vorne, berechnet werden. Aus diesem Grund werden, nachdem die 500-1000 Greifbewegungen für ein Objekt berechnet sind, die Greifbewegungen nach ähnlicher Stellung gruppiert, und ein Durchschnitt berechnet. In einer Ausführungsform der Greifbewegungs-Erzeugung Methodik wird nur der Durchschnittswert gespeichert. Mit anderen Worten, zum Beispiel werden alle Greifbewegungen des Kaninchens 122 durch den Kopf, von vorne, in eine einzige gespeicherte Greifbewegung gemittelt. Gleiches gilt für andere Annäherungsrichtungen und Greifstellen. Auf diese Weise können die 500-1000 berechneten Greifbewegungen auf eine Anzahl gespeicherter Greifbewegungen in einem Bereich von 20-50 reduziert werden, wobei sich jede der gespeicherten Greifbewegungen signifikant von den anderen gespeicherten Greifbewegungen unterscheidet.
  • 3 ist ein Flussdiagramm 300 von Schritten, die in der physikalischen Umgebungssimulation Feld 140 des Greifbewegungs-Erzeugungsprozesses von 1 gemäß einer Ausführungsform der vorliegenden Erfindung enthalten sind. In Feld 310 wird ein Satz von optimierten Greifbewegungen an einzelnen Objekten (für einen bestimmten Greifer) bereitgestellt. Die optimierten Greifbewegungen werden durch den iterativen Optimierungsprozess des Feldes 130 (1) und des Flussdiagramms 200 von 2 berechnet und bereitgestellt. Wie bereits erwähnt, handelt es sich bei den optimierten Greifbewegungen vorzugsweise um die gespeicherten Greifbewegungen (20-50 an der Zahl), die eine Vielzahl von Greifpositionen/-winkeln repräsentieren, wobei sich jede der gespeicherten Greifbewegungen deutlich von den anderen unterscheidet.
  • Im Feld 320 wird ein simulierter Haufen von Objekten bereitgestellt. Die Objekte können alle vom gleichen Typ sein (dargestellt im Feld 322), oder die Objekte können viele verschiedene Typen beinhalten (wie die, die im Zufallsinitialisierungsschritt im Feld 120 von 1 bereitgestellt werden - und im Feld 324 dargestellt sind). Die Greifbewegungen, die im Feld 310 bereitgestellt werden, müssen alle Objekttypen (wenn es mehr als einen gibt) im simulierten Haufen enthalten, wobei derselbe Greifer verwendet wird. Der simulierte Haufen von Objekten wird im Feld 320 durch eine tatsächliche dynamische Simulation der Objekte bereitgestellt, die in zufälligen Ausrichtungen in einen Behälter fallen, auf dem Boden des Behälters landen, mit anderen Objekten kollidieren, die bereits gelandet sind, an den Seiten des wachsenden Haufens herunterfallen, bis sie eine Gleichgewichtsposition erreichen, usw. Die dynamische Simulation des Objekthaufens beinhaltet die tatsächlichen Objekteformen, die Größe/Form des Behälters und die Simulation des Kontakts von Oberfläche zu Oberfläche für mehr Realismus.
  • Nachdem der simulierte Haufen von Objekten in einem Behälter im Feld 320 bereitgestellt wurde, werden die im Feld 310 bereitgestellten Greifbewegungen (aufgezeichnete optimierte Greifbewegungen) auf den simulierten Haufen von Objekten abgebildet. Dieser Schritt wird im Feld 330 angezeigt. Da der simulierte Haufen von Objekten bekannte Positionen der einzelnen Objekte enthält, können Objektstellung und -identität verwendet werden, um die optimierten Greifbewegungen auf die simulierten Objekthaufen abzubilden. Das Ergebnis ist ein simulierter Griff eines Objekts, einschließlich der 3D-Tiefenkarte des Objekthaufens, der Identität des ausgewählten Objekts, des entsprechenden Annäherungswinkels, des Greifpunkts in drei Dimensionen, des Greiferwinkels und der Greiferbreite (oder der Fingergelenkpositionen).
  • Die exponierten Oberflächen des simulierten Haufens von Objekten werden als 3D-Punktwolke oder Tiefenkarte modelliert. Da der simulierte Haufen von Objekten bekannte Positionen der einzelnen Objekte enthält, kann eine 3D-Tiefenkarte von jedem geeigneten Standpunkt aus berechnet werden (Winkel, die für das Greifen durch den Roboter geeignet sind, z.B. innerhalb von 30° zur Senkrechten). Die 3D-Tiefenkarte aus dem Blickwinkel jedes simulierten Griffs kann dann analysiert werden, um die Korrelation zwischen den exponierten Teilen der Objekte in der 3D-Tiefenkarte und dem entsprechenden simulierten Griff unter Verwendung einer der gespeicherten optimierten Greifbewegungen zu finden.
  • Die Bereitstellung eines simulierten Haufens von Objekten (das Feld 320) kann für einen gegebenen Satz von optimierten Greifbewegungen viele Male wiederholt werden. Jeder simulierte Haufen von Objekten verwendet einen anderen zufälligen Strom von Objekten und Ausrichtungen, die fallen gelassen werden; daher werden die simulierten Haufen alle unterschiedlich sein und unterschiedliche Perspektiven für die Greifbestimmung bieten. Genauer gesagt, kann für jeden zufälligen Haufen von Objekten eine Greifrichtung zufällig gewählt werden, und ein Griff, der nahe an dieser Richtung liegt, kann in der Simulation getestet werden. Die Simulation des Greifens der einzelnen Objekte (Feld 330) kann für jeden simulierten Haufen von Objekten wiederholt werden, bis alle Objekte (in der Simulation) gegriffen und aus dem Behälter entfernt wurden.
  • Durch die Wiederholung der Schritte in den Feldern 320 und 330 kann jeder Griff unter verschiedenen Bedingungen simuliert werden - einschließlich miteinander verhedderter Objekte, teilweise exponierter Objekte, die jedoch durch andere Objekte im Haufen eingeklemmt sind, und Behälterseiten/Ecken. Darüber hinaus können Variationen und Unsicherheiten in die Greifsimulation einbezogen werden, darunter Objektstellungsunsicherheiten, sensorische Unsicherheiten, Reibungsunsicherheiten und unterschiedliche Umgebungen (Behälter, Objekte). Durch die Durchführung von Greifversuchen in diesen verschiedenen Situationen ist es möglich, die Robustheit jedes Griffs unter Unsicherheiten, Variationen und Störungen zu simulieren und zu erfassen.
  • Um zu 1 zurückzukehren, werden Feld 150, die Punktwolke, die Greifstellung und die Erfolgsrate aus der physikalischen Umweltsimulation im Feld 140 (und oben in Bezug auf 3 diskutiert) aufgezeichnet, um die Greifdatenbank zu bilden. Das Punktwolken-Tiefenbild 152 stellt den Haufen von Objekten aus dem Feld 140 aus einer bestimmten Perspektive oder unter einem bestimmten Blickwinkel dar. Aus dem Bild 152 wurden bei den Berechnungen im Feld 140 mehrere Kandidaten für Greifbewegungen ermittelt, die vom Greifroboter eingesetzt werden können. Jede der in Frage kommenden Greifbewegungen wird durch einen Bereich in der Punktkarte 154 dargestellt, der Punkte angibt, die als Greifziel verwendet werden könnten, wobei der Anfahrwinkel durch den Blickwinkel des Bildes 152 definiert ist und ein im Feld 140 berechneter Greiferwinkel und eine Greifbreite verwendet werden. Die Punkte in der Punktkarte 154 sind nach ihrer Greifqualität geordnet und sollten zu einem erfolgreichen Greifen eines Objekts aus dem Haufen der Objekte in einem Behälter führen.
  • Die in der im Flussdiagramm 100 von 1 dargestellten Weise erzeugten und ausgewerteten Greifbewegungen, die im Feld 150 gespeichert sind, werden später als Trainingsmuster für ein neuronales Netzsystem verwendet, das in der tatsächlichen robotergestützten Objektentnahme eingesetzt wird, um eine Ziel-Greifstellung aus 3D-Kamerabildern eines mit Objekten gefüllten Behälters zu identifizieren. Dies wird im Folgenden anhand von 4 erläutert.
  • 4 ist eine Darstellung eines Blockdiagramms eines robotergestützten Objektentnahmesystems, das ein neuronales Netzsystem zur Greifberechnung verwendet, wobei das neuronale Netzsystem unter Verwendung der Greifbewegungen trainiert wird, die durch die Verfahren der 1 bis 3 gemäß einer Ausführungsform der vorliegenden Erfindung erzeugt wurden. Ein Roboter 400 mit einem Greifer 402 arbeitet in einem Arbeitsraum, in dem der Roboter 400 Teile oder Objekte von einem ersten Ort (einem Behälter) zu einem zweiten Ort (einem Förderer) bewegt. Der Greifer 402 ist der Greifer, der auf dem Feld 120 in 1 zu sehen ist.
  • Die Bewegung des Roboters 400 wird von einer Steuerung 410 gesteuert, die normalerweise über ein Kabel 412 mit dem Roboter 400 kommuniziert. Die Steuerung 410 gibt dem Roboter 400 Bewegungsbefehle für die Gelenke und empfängt die Positionsdaten der Gelenke von den Encodern in den Gelenken des Roboters 400, wie es aus dem Stand der Technik bekannt ist. Die Steuerung 410 liefert auch Befehle zur Steuerung des Greifers 402 (Drehwinkel und -breite sowie Befehle zum Greifen/Loslassen).
  • Ein Computer 420 steht mit der Steuerung 410 in Verbindung. Der Computer 420 beinhaltet einen Prozessor und einen Speicher, der so konfiguriert ist, dass er einen hochwertigen Griff für einen mit Objekten gefüllten Behälter in Echtzeit auf eine von zwei Arten berechnen kann. In einer bevorzugten Ausführungsform benutzt der Computer 420 ein neuronales Netzsystem, das im Voraus für das Erlernen des Greifens unter Verwendung der Greifdatenbank aus dem Feld 150 trainiert wird. Das neuronale Netzsystem berechnet dann die Greifbewegungen in Echtzeit auf der Grundlage von Live-Bilddaten. In einer anderen Ausführungsform berechnet der Computer 420 die Greifbewegungen während des Live-Robotereinsatzes direkt aus der Greifdatenbank des Feldes 150 - einschließlich Punktwolken, Greifstellungen und Erfolgsraten aus der Simulation der physikalischen Umgebung. Bei dem Computer 420 kann es sich um denselben Computer handeln, der auch alle Berechnungen der Greifbewegungs-Erzeugung durchgeführt hat, die oben in Bezug auf die 1-3 beschrieben wurden.
  • Ein Paar von 3D-Kameras 430 und 432 kommuniziert mit dem Computer 420 und liefert Bilder des Arbeitsraums. Insbesondere liefern die Kameras 430/432 Bilder von Objekten 440 in einem Behälter 450. Die Bilder (einschließlich der Tiefendaten) von den Kameras 430/432 liefern Punktwolkendaten, die die Positionen und Ausrichtungen der Objekte 440 im Behälter 450 definieren. Da zwei der 3D-Kameras 430 und 432 unterschiedliche Perspektiven haben, ist es möglich, eine 3D-Tiefenkarte der Objekte 440 im Behälter 450 aus jedem geeigneten Blickwinkel zu berechnen oder zu projizieren.
  • Die Aufgabe des Roboters 400 ist es, eines der Objekte 440 aus dem Behälter 450 zu entnehmen und das Objekt zu einem Förderer 460 zu bewegen. Im gezeigten Beispiel wird ein Einzelteil 442 ausgewählt, vom Greifer 402 des Roboters 400 gegriffen und entlang eines Pfades 480 zum Förderer 460 bewegt. Bei jeder Objektentnahme erhält der Computer 420 von den Kameras 430/432 Bilder der Objekte 440 im Behälter 450. Aus den Kamerabildern berechnet der Computer 420 Tiefenkarten des Haufens von Objekten 440 im Behälter 450. Da die Kamerabilder aus zwei verschiedenen Perspektiven geliefert werden, können die Tiefenkarten des Haufens von Objekten 440 aus verschiedenen Blickwinkeln berechnet werden.
  • In der bevorzugten Ausführungsform enthält der Computer 420 ein neuronales Netzsystem, das für das Erfassungslernen trainiert wird. Das neuronale Netzsystem wird durch überwachtes Lernen mit den Daten aus der Greifdatenbank des Feldes 150 (Punktwolken, Greifstellungen und Erfolgsraten aus der physikalischen Umweltsimulation) trainiert. Die Verfahren der 1-3 der vorliegenden Erfindung liefern die Menge und Vielfalt an Daten, die für ein vollständiges Training eines neuronalen Netzsystems benötigt werden. Dazu gehören viele verschiedene Greifbewegungen für jedes Objekt und viele verschiedene zufällige Haufen von Objekten mit Ziel-Griff-DOF und Greiferfolgsraten. Alle diese Daten in der Greifdatenbank des Feldes 150 können zum automatischen Training des neuronalen Netzsystems verwendet werden. Das neuronale Netzsystem im Computer 420 wird dann während des Live-Roboterbetriebs in einem Inferenzmodus ausgeführt, in dem das neuronale Netzsystem auf der Grundlage der Objekthaufenbilddaten der Kameras 430/432 einen hochwertigen Griff berechnet.
  • In einer anderen Ausführungsform identifiziert der Computer 420 während des Live-Roboterbetriebs direkt einen Griff auf der Grundlage der Greifdatenbank des Feldes 150. In dieser Ausführungsform weiß der Computer 420 im Voraus, welche Arten von Objekten 440 im Behälter 450 enthalten sind, da diese Informationen in der Greifdatenbank aus dem Feld 150 enthalten sind (zusammen mit Punktwolken, Greifstellungen und Erfolgsraten aus der Simulation der physischen Umgebung). Wenn eine Tiefenkarte gefunden wird, die ein Objekt (z.B. das Objekt 442) in einer Position für einen qualitativ hochwertigen Griff gemäß der zuvor erstellten Greifdatenbank enthält, liefert der Computer 420 die individuellen Objekt-Greifdaten an die Steuerung 410, die dann dem Roboter 400 befiehlt, das Objekt zu greifen und zu bewegen.
  • In beiden oben beschriebenen Ausführungsformen beinhalten die vom Computer 420 an die Steuerung 410 gelieferten Greifdaten die 3D-Koordinaten des Greifzielpunkts, den vom Greifer 402 zu verfolgenden Annäherungswinkel, sowie den Drehwinkel und die Breite des Greifers (oder die Positionen aller Fingergelenke). Anhand der Greifdaten kann die Steuerung 410 Bewegungsanweisungen für den Roboter berechnen, die den Greifer 402 veranlassen, ein Objekt (z.B. das Objekt 442) zu ergreifen und das Objekt entlang eines kollisionsfreien Pfades (des Pfades 480) zum Zielort zu bewegen.
  • Anstelle des Förderers 460 könnte es sich bei dem Zielort auch um einen Versandcontainer handeln, in dem die Objekte in einzelnen Fächern untergebracht sind, oder um eine andere Fläche oder Vorrichtung, auf der die Objekte in einem nachfolgenden Arbeitsgang weiterverarbeitet werden.
  • Nachdem das Objekt 442 zum Förderer 460 transportiert wurde, werden von den Kameras 430/432 neue Bilddaten geliefert, da sich der Haufen der Objekte 440 nun verändert hat. Der Rechner 420 muss dann anhand der neuen Bilddaten und der zuvor erzeugten Greifdatenbank einen neuen Zielgriff identifizieren. Der neue Zielgriff muss vom Computer 420 sehr schnell identifiziert werden, da die Greifidentifikation und die Pfadberechnung in Echtzeit durchgeführt werden müssen, und zwar so schnell, wie der Roboter 400 eines der Objekte 440 bewegen und zum Aufnehmen des nächsten zurückkehren kann. Die Generierung der Datenbank von Qualitäts-Greifbewegungen - einschließlich der entsprechenden Tiefenbilddaten, des Greifpunkts und des Annäherungswinkels sowie der Greiferkonfiguration für jeden Griff - ermöglicht das Vortraining des neuronalen Netzsystems, um die Echtzeitberechnungen während der tatsächlichen Roboteroperationen sehr schnell und effizient durchzuführen. Die beschriebenen Verfahren erleichtern die Generierung der Greifdatenbank für viele Objekte und entsprechende Greifer einfach und automatisch.
  • Die oben beschriebene Greifbewegungs-Erzeugungstechnik bietet mehrere Vorteile gegenüber bestehenden Verfahren. Das beschriebene Verfahren bietet eine qualitativ hochwertige, full-DOF Greifbewegungs-Erzeugung. Die Verfahren erzeugen plausible Greifbewegungen mit Oberflächenkontakten, wodurch die erzeugten Greifbewegungen robuster gegenüber Unsicherheiten und Störungen sind. Darüber hinaus sind die beschriebene Optimierungsformulierung und der angepasste iterative Solver hocheffizient und berechnen Greifbewegungen in Zeiten von 0,06 Sekunden für Greifer mit einem Gelenk bis zu 0,5 Sekunden für eine Hand mit 22 Gelenken und mehreren Fingern. Die physikalische Simulation ist 10-100 mal schneller als reale Versuche und ist in der Lage, die Greifversuche innerhalb von 0,01-0,05 Sekunden zu testen und eine Million Greifbewegungen in 10 Stunden zu erzeugen.
  • Darüber hinaus generiert das vorgestellte Verfahren vielfältige Greifdaten, einschließlich verschiedener Variationen und Interferenzen. Die Generierungspipeline simuliert die Greifleistung unter Variationen (Objektformvariationen, Positionsunsicherheiten) und Störungen (Verwicklungen, Verklemmungen und Ecken). Daher kann der spätere Lernalgorithmus eine robuste Greifstrategie auf der Grundlage dieser Greifdaten erlernen. Der Optimierungsrahmen funktioniert bei Sauggreifern, konventionellen Fingergreifern, angepassten Greifern, mehrfingrigen Händen und weichen Greifern mit geringer Anpassung. Es funktioniert auch bei einer unterbetätigten Hand und einer vollbetätigten Hand. Schließlich sind die beschriebenen Verfahren mathematisch fundiert und einfach zu lösen und optimieren die rigorose Greifqualität, um plausible Greifbewegungen zu erzeugen. Trotz der rigorosen Qualitäten und aller Nebenbedingungen kann der Algorithmus mit einfacher linearer Algebra iterativ gelöst werden.
  • In der vorangegangenen Diskussion werden verschiedene Computer und Steuerungen beschrieben und angedeutet. Es ist zu verstehen, dass die Softwareanwendungen und -module dieser Rechner und Steuerungen auf einem oder mehreren Rechengeräten mit Prozessor und Speichermodul ausgeführt werden. Dazu gehört insbesondere ein Prozessor in der Robotersteuerung 410, die den Roboter 400 steuert, der das Greifen von Objekten durchführt, und in dem Computer 420, der die Greifbewegungs-Erzeugung durchführt und Objekte zum Greifen im Echtzeitbetrieb identifiziert.
  • Während oben eine Reihe von beispielhaften Aspekten und Ausführungsformen der optimierungsbasierten Greifbewegungs-Erzeugungstechnik erörtert wurden, werden Fachleute Modifikationen, Permutationen, Ergänzungen und Unterkombinationen davon erkennen. Es ist daher beabsichtigt, dass die Beschreibung so interpretiert wird, dass sie alle derartigen Modifikationen, Permutationen, Ergänzungen und Unterkombinationen beinhaltet, die im Sinn und Umfang der Erfindung liegen.

Claims (20)

  1. Verfahren zum Erzeugen einer Greifdatenbank zur Verwendung durch einen Roboter, wobei das Verfahren folgende Schritte aufweist: Bereitstellen einer Objektdatenbank, die dreidimensionale (3D) Formdaten für eine Vielzahl von Objekten enthält, und einer Greifer-Datenbank, die 3D-Formdaten und Betätigungsparameter für einen oder mehrere Greifer enthält; Durchführen einer Initialisierung unter Verwendung eines Computers mit einem Prozessor und einem Speicher, einschließlich des Auswählens eines Greifer aus der Greifer-Datenbank und des Auswählens eines oder mehrerer Objekte aus der Objekt-Datenbank; wiederholtes Durchführen einer iterativen Optimierung, um eine Vielzahl von Qualitäts-Greifbewegungen an jedem der ausgewählten Objekte durch den ausgewählten Greifer zu berechnen, wobei jeder Qualitäts-Greifvorgang eine vordefinierte Qualitätsmetrik erreicht; und Durchführen einer physikalischen Umgebungssimulation, um die Greifdatenbank zu erzeugen, einschließlich wiederholtem Simulieren eines zufälligen Haufens von Objekten und wiederholtem Identifizieren einer Greifstellung, die auf den Haufen von Objekten anzuwenden ist, unter Verwendung einer der Qualitäts-Greifbewegungen, und Ausgeben von Daten über jeden erfolgreichen simulierten Griff an die Greifdatenbank.
  2. Verfahren nach Anspruch 1, das ferner die Verwendung der Greifdatenbank durch den Computer während des Live-Roboterbetriebs beinhaltet, um ein zu greifendes Zielobjekt aus einem Haufen von Objekten zu identifizieren, einschließlich der Analyse von Tiefenbildern von einer Vielzahl von (3D)-Kameras, der Berechnung einer oder mehrerer zusammengesetzter Tiefenkarten aus den Tiefenbildern, der Identifizierung des Zielobjekts als ein Objekt aus der Greifdatenbank mit einem Qualitätsgriff, der einer der zusammengesetzten Tiefenkarten entspricht, und der Bereitstellung individueller Objekt-Greifdaten an eine Robotersteuerung, die einen mit dem Greifer ausgestatteten Roboter anweist, das Zielobjekt zu greifen und zu bewegen.
  3. Verfahren nach Anspruch 1, das ferner die Verwendung der Greifdatenbank durch den Computer beinhaltet, um ein neuronales Netzwerk-Greif-Lernsystem unter Verwendung von überwachtem Lernen zu trainieren, wobei das neuronale Netzwerk-Greif-Lernsystem nach dem Training in einem Inferenzmodus verwendet wird, um Greifanweisungen während des Live-Roboterbetriebs zu berechnen, einschließlich der Bereitstellung der Greifanweisungen an eine Robotersteuerung, die einen mit dem Greifer ausgestatteten Roboter anweist, ein Objekt zu greifen und zu bewegen.
  4. Verfahren nach Anspruch 3, wobei die Greifanweisungen 3D-Koordinaten eines Greifzielpunkts, einen vom Greifer zu verfolgenden Annäherungswinkel, einen Greifer-Drehwinkel und Greifer-Breiten oder Positionen aller Gelenke beinhalten.
  5. Verfahren nach Anspruch 1, wobei die 3D-Formdaten für eine Vielzahl von Objekten Volumenmodelle, Oberflächenmodelle oder Oberflächenpunktdaten für jedes der Objekte beinhalten.
  6. Verfahren nach Anspruch 1, wobei die Betätigungsparameter für den Greifer Fingergelenkpositionen und Drehachsenorientierungen sowie Fingergelenkbeugewinkelbereiche für Greifer in Fingerform beinhalten.
  7. Verfahren nach Anspruch 1, wobei die wiederholte Durchführung einer iterativen Optimierung die zufällige Variation einer anfänglichen Greiferstellung relativ zum Objekt einschließt.
  8. Verfahren nach Anspruch 1, wobei das wiederholte Durchführen einer iterativen Optimierung, das Diskretisieren oder Auflösen in Punkte von Oberflächen des Greifers und des Objekts in Punkte, das Berechnen von Kontaktpunktpaaren und Kollisionspunktpaaren auf der Grundlage einer aktuellen Greiferstellung relativ zum Objekt, das Berechnen einer Iteration eines Optimierungsmodells und das Aktualisieren der Greiferstellung und das Berechnen einer Iteration des Optimierungsmodells bis zur Konvergenz zum Erreichen der Qualitätsmetrik beinhaltet.
  9. Verfahren nach Anspruch 8, wobei das Optimierungsmodell eine objektive Funktion enthält, die definiert ist, um die Qualitätsmetrik zu maximieren, und Begrenzungsfunktionen, die Kontaktflächen auf dem Greifer und dem Objekt als Teilmengen der aufgelösten Flächen des Greifers und des Objekts definieren, die durch die Greiferstellung relativ zum Objekt transformiert werden, wobei die Kontaktflächen auf dem Greifer und dem Objekt gleich sind, wobei die Kontaktflächen auf dem Greifer und dem Objekt eine Reibung haben, die durch ein Reibungskegelmodell definiert ist, wobei eine „Strafe“ für das Eindringen des Greifers in das Objekt vorgesehen ist und die Greifergelenkwinkel innerhalb von Winkelgrenzen bleiben.
  10. Verfahren nach Anspruch 9, wobei das Optimierungsmodell vor dem Lösen konvexisiert und vereinfacht wird, einschließlich des Änderns der Begrenzungsfunktionen von der Greifer-Konfiguration zu einem Inkrement der Greifer-Konfiguration, des Definierens eines Abstands von jedem Greifer-Oberflächenpunkt entlang einer Objekt-Oberflächennormalen zu einem nächstgelegenen Objekt-Punkt und des Berücksichtigens nur von Punktpaaren, die innerhalb eines Schwellenabstands voneinander liegen.
  11. Verfahren nach Anspruch 1, wobei die Vielzahl von Qualitäts-Greifbewegungen an jedem der ausgewählten Objekte mindestens 500 Greifbewegungen beinhaltet, die mindestens 500 Greifbewegungen nach ähnlicher Greifstellung gruppiert werden und für jede Gruppe ein durchschnittlicher Griff berechnet wird, und nur die durchschnittlichen Greifbewegungen in der physikalischen Umgebungssimulation verwendet werden.
  12. Verfahren nach Anspruch 1, wobei die Daten zu jedem erfolgreich simulierten Griff, die an die Greifdatenbank ausgegeben werden, eine 3D-Tiefenkarte des Objekthaufens, einen Roboter-Greifwinkel, einen Greifpunkt in drei Dimensionen, einen Greiferwinkel und eine Greiferbreite oder Fingergelenkpositionen beinhalten.
  13. Verfahren nach Anspruch 1, wobei die Durchführung einer Simulation der physikalischen Umgebung die mathematische Simulation des Fallenlassens einer Vielzahl von Objekten in einen Behälter beinhaltet, einschließlich der Schwerkraft und der Kontakte zwischen den Objekten untereinander und mit den Wänden des Behälters, und wobei ein resultierender Haufen von Objekten in dem Behälter in der Simulation der physikalischen Umgebung verwendet wird.
  14. Verfahren nach Anspruch 1, wobei das Durchführen einer physikalischen Umgebungssimulation das Berechnen einer oder mehrerer zusammengesetzter Tiefenkarten des simulierten Haufens von Objekten, das Identifizieren von Qualitäts-Greifbewegungen in den zusammengesetzten Tiefenkarten und das Simulieren eines Greifens mit dem Greifer unter Verwendung eines Roboter-Greifer-Annäherungswinkels, eines Greifpunkts in drei Dimensionen, eines Greiferwinkels und einer Greifer-Breite oder von Fingergelenkpositionen beinhaltet.
  15. Verfahren zum Erzeugen einer Greifdatenbank zur Verwendung durch einen Roboter, wobei das Verfahren folgende Schritte aufweist: Bereitstellen einer Objektdatenbank, die dreidimensionale (3D) Formdaten für eine Vielzahl von Objekten enthält, und einer Greifer-Datenbank, die 3D-Formdaten und Betätigungsparameter für einen oder mehrere Greifer enthält; Durchführen einer Initialisierung unter Verwendung eines Computers mit einem Prozessor und einem Speicher, einschließlich des Auswählens eines Greifer aus der Greifer-Datenbank und des Auswählens einer Vielzahl von Objekten aus der Objekt-Datenbank; Durchführen einer iterativen Optimierung, um eine Vielzahl von Qualitäts-Greifbewegungen an jedem der ausgewählten Objekte durch den ausgewählten Greifer zu berechnen, Gruppieren der Qualitäts-Greifbewegungen in ähnliche Greifstellung und Berechnen eines durchschnittlichen Greifens für jede Gruppe, und Speichern nur der durchschnittlichen Greifbewegungen; Durchführen einer physikalischen Umgebungssimulation zum Erzeugen der Greifdatenbank, einschließlich wiederholtem Simulieren eines zufälligen Haufens von Objekten und wiederholtem Identifizieren eines auf den Haufen von Objekten anzuwendenden Griffs unter Verwendung einer der durchschnittlichen Greifbewegungen, und Ausgeben von Daten über jeden erfolgreich simulierten Griff an die Greifdatenbank; und Verwenden der Greifdatenbank, um ein neuronales Netzwerk-Greif-Lernsystem unter Verwendung von überwachtem Lernen zu trainieren, wobei das neuronale Netzwerk-Greif-Lernsystem nach dem Training in einem Inferenzmodus verwendet wird, um Greifanweisungen während des Live-Roboterbetriebs zu berechnen, einschließlich des Bereitstellens der Greifanweisungen an eine Robotersteuerung, die einen mit dem Greifer ausgestatteten Roboter anweist, ein Objekt zu greifen und zu bewegen.
  16. System zum Greifen von Objekten durch Roboter, wobei das System Folgendes aufweist: einen Computer mit einem Prozessor und einem Speicher, wobei der Computer so konfiguriert ist, dass er eine Greifdatenbank erzeugt, die folgende Schritte beinhaltet und durchführt: Bereitstellen einer Objektdatenbank, die dreidimensionale (3D) Formdaten für eine Vielzahl von Objekten enthält, und einer Greifer-Datenbank, die 3D-Formdaten und Betätigungsparameter für einen oder mehrere Greifer enthält, Durchführen einer Initialisierung, einschließlich des Auswählens eines Greifers aus der Greifer-Datenbank und des Auswählens einer Vielzahl von Objekten aus der Objekt-Datenbank, Durchführen einer iterativen Optimierung zum Berechnen einer Vielzahl von Qualitäts-Greifbewegungen an jedem der ausgewählten Objekte durch den ausgewählten Greifer, Durchführen einer physikalischen Umgebungssimulation zum Erzeugen der Greifdatenbank, einschließlich wiederholtem Simulieren eines zufälligen Haufens von Objekten und wiederholtem Identifizieren eines auf den Haufen von Objekten anzuwendenden Griffs unter Verwendung einer der Qualitäts-Greifbewegungen, und Ausgeben von Daten über jeden erfolgreich simulierten Griff an die Greifdatenbank, und Verwendung der Greifdatenbank zum Trainieren eines neuronalen Netzwerks für das Greif-Lernsystem unter Verwendung von überwachtem Lernen; eine Vielzahl von 3D-Kameras, die dem Computer Tiefenbilder eines Haufens von Objekten während des Live-Roboterbetriebs liefern, wobei der Computer das neuronale Netzwerk Greif-Lernsystem nach dem Training in einem Inferenzmodus verwendet, um Greifanweisungen zu errechnen; eine Robotersteuerung, die mit dem Computer kommuniziert und die Greifanweisungen vom Computer empfängt; und einen Roboter, der mit dem Greifsystem ausgestattet ist, um ein Objekt auf der Grundlage von Befehlen von der Steuerung zu greifen und zu bewegen.
  17. System nach Anspruch 16, wobei die Greifanweisungen 3D-Koordinaten eines Greifzielpunkts, einen vom Greifer zu verfolgenden Annäherungswinkel, einen Greifer-Drehwinkel und die Greifer-Breite oder die Positionen aller Gelenke enthalten.
  18. System nach Anspruch 16, wobei das wiederholte Durchführen einer iterativen Optimierung das Diskretisieren oder Vereinzeln von Oberflächen des Greifers und des Objekts in Punkte, das Berechnen von Kontaktpunktpaaren und Kollisionspunktpaaren auf der Grundlage einer aktuellen Greiferstellung relativ zum Objekt, das Berechnen einer Iteration eines Optimierungsmodells und das Aktualisieren der Greiferstellung und das Berechnen einer Iteration des Optimierungsmodells bis zur Konvergenz zum Erreichen einer Qualitätsmetrik beinhaltet.
  19. System nach Anspruch 18, wobei das Optimierungsmodell eine objektive Funktion enthält, die definiert ist, um die Qualitätsmetrik zu maximieren, und Begrenzungsfunktionen, die Kontaktflächen auf dem Greifer und dem Objekt als Teilmengen der aufgelösten Flächen des Greifers und des Objekts definieren, die durch die Greiferstellung relativ zum Objekt transformiert sind, wobei die Kontaktflächen auf dem Greifer und dem Objekt gleich sind, wobei die Kontaktflächen auf dem Greifer und dem Objekt eine Reibung haben, die durch ein Reibungskegelmodell definiert ist, wobei eine „Strafe“ für das Eindringen des Greifers in das Objekt vorgesehen ist und die Greifergelenkwinkel innerhalb von Winkelgrenzen bleiben.
  20. System nach Anspruch 16, wobei die Durchführung einer Simulation der physikalischen Umgebung die mathematische Simulation des Fallenlassens einer Vielzahl von Objekten in einen Behälter beinhaltet, einschließlich der Schwerkraft und der Kontakte zwischen den Objekten untereinander und mit den Wänden des Behälters, und wobei ein resultierender Haufen oder Stapel von Objekten in dem Behälter in der Simulation der physikalischen Umgebung verwendet wird.
DE102021121063.1A 2020-09-10 2021-08-13 Effiziente datengenerierung für das greifenlernen mit allgemeinen greifern Pending DE102021121063A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US17/016,731 2020-09-10
US17/016,731 US11654564B2 (en) 2020-09-10 2020-09-10 Efficient data generation for grasp learning with general grippers

Publications (1)

Publication Number Publication Date
DE102021121063A1 true DE102021121063A1 (de) 2022-03-10

Family

ID=80266865

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102021121063.1A Pending DE102021121063A1 (de) 2020-09-10 2021-08-13 Effiziente datengenerierung für das greifenlernen mit allgemeinen greifern

Country Status (4)

Country Link
US (1) US11654564B2 (de)
JP (1) JP2022046420A (de)
CN (1) CN114161408A (de)
DE (1) DE102021121063A1 (de)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102022205883A1 (de) 2022-06-09 2023-12-14 Kuka Deutschland Gmbh Erhöhung der Greifrate
DE102022115662A1 (de) 2022-06-23 2023-12-28 Robominds GmbH Verfahren zum Handhaben eines Objekts mittels eines Roboterarms und Vorrichtung umfassend einen Roboterarm zum Handhaben eines Objekts
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
DE102022213557B3 (de) 2022-12-13 2024-04-25 Kuka Deutschland Gmbh Betreiben eines Roboters mit Greifer

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102021202759B4 (de) * 2021-03-22 2024-11-07 Robert Bosch Gesellschaft mit beschränkter Haftung Vorrichtung und Verfahren zum Trainieren eines maschinellen Lernmodells zum Steuern eines Roboters
US12064886B1 (en) * 2021-03-23 2024-08-20 Amazon Technologies, Inc. Systems and methods for scalable perception and purposeful robotic picking of items from a collection
JP2022162857A (ja) * 2021-04-13 2022-10-25 株式会社デンソーウェーブ 機械学習装置及びロボットシステム
US20220402128A1 (en) * 2021-06-18 2022-12-22 Intrinsic Innovation Llc Task-oriented grasping of objects
US20220405506A1 (en) * 2021-06-22 2022-12-22 Intrinsic Innovation Llc Systems and methods for a vision guided end effector
US20230021942A1 (en) * 2021-07-14 2023-01-26 Dassault Systèmes Americas Corp. Environment-aware Prepositioning Of Digital Models In An Environment
US12005590B2 (en) * 2021-08-04 2024-06-11 Chef Robotics, Inc. System and/or method for robotic foodstuff assembly
US20230081119A1 (en) * 2021-09-13 2023-03-16 Osaro Automated Robotic Tool Selection
US20240109181A1 (en) * 2022-09-23 2024-04-04 Fanuc Corporation Grasp teach by human demonstration
CN115423946B (zh) * 2022-11-02 2023-04-07 清华大学 大场景弹性语义表征与自监督光场重建方法及装置
CN115510727B (zh) * 2022-11-15 2023-03-24 佛山科学技术学院 一种抓取机构稳定抓持力阈值计算及其控制方法
US20240198543A1 (en) * 2022-12-16 2024-06-20 Fanuc Corporation Automatic gripper fingertip design to reduce leftover in random bin picking applications
CN115890685A (zh) * 2022-12-27 2023-04-04 哈尔滨工业大学芜湖机器人产业技术研究院 基于已知物体的可抓性映射到未知物体的方法
WO2024166143A1 (en) * 2023-02-07 2024-08-15 Emmebi S.R.L. Apparatus and method for manipulating profiles in a processing plant
CN116330306B (zh) * 2023-05-31 2023-08-15 之江实验室 一种物体的抓取方法、装置、存储介质及电子设备
KR102649596B1 (ko) * 2023-10-12 2024-03-20 라온피플 주식회사 로봇 제어를 위한 작업 데이터 제공 장치 및 방법
CN117773922B (zh) * 2023-12-22 2024-09-13 浙江大学 一种面向灵巧机械手抓取操作的轨迹优化方法

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2005099417A2 (en) * 2004-04-12 2005-10-27 Strider Labs, Inc. System and method for computing grasps for a robotic hand with a palm
US9095978B2 (en) * 2012-12-07 2015-08-04 GM Global Technology Operations LLC Planning a grasp approach, position, and pre-grasp pose for a robotic grasper based on object, grasper, and environmental constraint data
KR101813887B1 (ko) * 2015-08-03 2018-01-04 삼성에스디에스 주식회사 팔레트 적재를 위한 가이드 제공 방법 및 그 장치
US9718188B2 (en) * 2015-09-21 2017-08-01 Amazon Technologies, Inc. Networked robotic manipulators
US9694494B1 (en) * 2015-12-11 2017-07-04 Amazon Technologies, Inc. Feature identification and extrapolation for robotic item grasping
KR102023149B1 (ko) * 2016-03-03 2019-11-22 구글 엘엘씨 로봇 파지를 위한 심층 기계 학습 방법 및 장치
US10131051B1 (en) * 2016-08-12 2018-11-20 Amazon Technologies, Inc. Anticipation-based robotic object grasping
JP7031894B2 (ja) * 2017-03-30 2022-03-08 ソフト ロボティクス, インコーポレイテッド ユーザ支援ロボット制御システム
US11494632B1 (en) * 2017-12-07 2022-11-08 X Development Llc Generating simulated training examples for training of machine learning model used for robot control
US11485015B2 (en) * 2019-02-21 2022-11-01 Hiwin Technologies Corp. System for eliminating interference of randomly stacked workpieces
US11733099B2 (en) * 2019-10-30 2023-08-22 Datacolor Inc. System and method to calibrate color measurement devices
US20210158561A1 (en) * 2019-11-26 2021-05-27 Nvidia Corporation Image volume for object pose estimation

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102022205883A1 (de) 2022-06-09 2023-12-14 Kuka Deutschland Gmbh Erhöhung der Greifrate
DE102022115662A1 (de) 2022-06-23 2023-12-28 Robominds GmbH Verfahren zum Handhaben eines Objekts mittels eines Roboterarms und Vorrichtung umfassend einen Roboterarm zum Handhaben eines Objekts
DE102022115662B4 (de) 2022-06-23 2024-06-27 Robominds GmbH Verfahren zum Handhaben eines Objekts mittels eines Roboterarms und Vorrichtung umfassend einen Roboterarm zum Handhaben eines Objekts
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
DE102022213557B3 (de) 2022-12-13 2024-04-25 Kuka Deutschland Gmbh Betreiben eines Roboters mit Greifer

Also Published As

Publication number Publication date
US20220072707A1 (en) 2022-03-10
CN114161408A (zh) 2022-03-11
US11654564B2 (en) 2023-05-23
JP2022046420A (ja) 2022-03-23

Similar Documents

Publication Publication Date Title
DE102021121063A1 (de) Effiziente datengenerierung für das greifenlernen mit allgemeinen greifern
DE102015208584B4 (de) Greifvorrichtung und Greifverfahren
DE102014102943B4 (de) Robotersystem mit Funktionalität zur Ortsbestimmung einer 3D- Kiste
DE102010053002B4 (de) Systeme und Verfahren, die der Handhabung eines Ojekts mit einem Greifer zugeordnet sind
DE102013203381B4 (de) Verfahren und system zum trainieren eines roboters unter verwendung einer von menschen unterstützten aufgabendemonstration
DE102019109624B4 (de) Roboterbewegungseinlernvorrichtung, Robotersystem und Robotersteuerung
EP3285975B1 (de) Steuern und/oder regeln von motoren eines roboters
DE102021107532A1 (de) System und Verfahren zum Anlernen eines Roboters mittels Demonstration durch einen Menschen
DE102022107227A1 (de) Greifenlernen unter verwendung modularisierter neuronaler netze
DE202017106506U1 (de) Einrichtung für tiefes Maschinenlernen zum Robotergreifen
DE102022122818A1 (de) Zugriffserzeugung für maschinenbeschickung
DE102020101767B4 (de) Steuerverfahren und steuerung für ein robotersystem
DE102022129008A1 (de) Verfahren zur behandlung von kollisionen bei der griffgenerierung
DE102022107249A1 (de) Modularisierung von Netzen zum Lernen von hochdimensionalen Roboteraufgaben
DE102017108727A1 (de) Verfahren zur Erstellung einer Datenbank mit Greiferposen, Verfahren zum Steuern eines Roboters, computerlesbares Speichermedium und Handhabungssystem
DE102021103726B4 (de) Messparameter-Optimierungsverfahren und -vorrichtung sowie Computersteuerprogramm
WO2018193130A1 (de) Verfahren zur erstellung einer datenbank mit greiferposen, verfahren zum steuern eines roboters, computerlesbares speichermedium und handhabungssystem
DE102021204846B4 (de) Verfahren zum Steuern einer Robotervorrichtung
CN109732610A (zh) 人机协作机器人抓取系统及其工作方法
DE112021003955T5 (de) Informationsverarbeitungsvorrichtung und Informationsverarbeitungsverfahren
WO2023078884A1 (de) Ansteuerung eines industrieroboters für eine greifaufgabe
DE102021209646B4 (de) Robotervorrichtung, Verfahren zum computerimplementierten Trainieren eines Roboter-Steuerungsmodells und Verfahren zum Steuern einer Robotervorrichtung
Viturino et al. 6D robotic grasping system using convolutional neural networks and adaptive artificial potential fields with orientation control
DE102023117284A1 (de) Teachen von griffen durch menschliche demonstration
DE102022213557B3 (de) Betreiben eines Roboters mit Greifer