[go: up one dir, main page]

DE102021210903A1 - Verfahren zum Aufnehmen eines Objekts mittels einer Robotervorrichtung - Google Patents

Verfahren zum Aufnehmen eines Objekts mittels einer Robotervorrichtung Download PDF

Info

Publication number
DE102021210903A1
DE102021210903A1 DE102021210903.9A DE102021210903A DE102021210903A1 DE 102021210903 A1 DE102021210903 A1 DE 102021210903A1 DE 102021210903 A DE102021210903 A DE 102021210903A DE 102021210903 A1 DE102021210903 A1 DE 102021210903A1
Authority
DE
Germany
Prior art keywords
neural network
depth image
values
until
output
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
DE102021210903.9A
Other languages
English (en)
Inventor
Alexander Kuss
Miroslav Gabriel
Philipp Christian Schillinger
Anh Vien Ngo
Zohar Feldman
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Robert Bosch GmbH
Original Assignee
Robert Bosch GmbH
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Robert Bosch GmbH filed Critical Robert Bosch GmbH
Priority to DE102021210903.9A priority Critical patent/DE102021210903A1/de
Priority to US17/934,887 priority patent/US12387351B2/en
Priority to CN202211188104.0A priority patent/CN115870971A/zh
Publication of DE102021210903A1 publication Critical patent/DE102021210903A1/de
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/50Depth or shape recovery
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/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/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
    • 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
    • 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/39473Autonomous grasping, find, approach, grasp object, sensory motor coordination
    • 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/39484Locate, reach and grasp, visual guided grasping
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/40Robotics, robotics mapping to robotics vision
    • G05B2219/40053Pick 3-D object from pile of objects
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/40Robotics, robotics mapping to robotics vision
    • G05B2219/40584Camera, non-contact sensor mounted on wrist, indep from gripper
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10024Color image
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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 OR CALCULATING; 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 OR CALCULATING; 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)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Orthopedic Medicine & Surgery (AREA)
  • Image Analysis (AREA)

Abstract

Gemäß verschiedenen Ausführungsformen wird ein Verfahren zum Aufnehmen eines Objekts mittels einer Robotervorrichtung beschrieben, aufweisend Beschaffen mindestens eines Tiefenbilds des Objekts, Ermitteln, für jeden mehrerer Punkte des Objekts, des Werts eines Maßes für die Streuung von Oberflächen-Normalenvektoren in einem Bereich um den Punkt des Objekts, Zuführen der ermittelten Werte zu einem neuronalen Netzwerk, eingerichtet, in Reaktion auf eine Eingabe, die Streuungsmaßwerte enthält, eine Angabe von Objektstellen zum Aufnehmen auszugeben, Ermitteln von einer Stelle des Objekts zum Aufnehmen des Objekts aus einer Ausgabe, die das neuronale Netzwerk in Reaktion auf die Zufuhr der ermittelten Werte ausgibt, und Steuern der Robotervorrichtung zum Aufnehmen des Objekts an der ermittelten Stelle.

Description

  • Die vorliegende Offenbarung bezieht sich auf Verfahren zum Aufnehmen eines Objekts mittels einer Robotervorrichtung.
  • Um eine flexible Herstellung oder Bearbeitung von Objekten durch einen Roboter zu ermöglichen, ist es wünschenswert, dass der Roboter fähig ist, ein Objekt ungeachtet der Lage, mit der das Objekt in den Arbeitsraum des Roboters platziert wird, aufzunehmen (z.B. zu greifen) und auch in der Lage ist, noch nicht gesehene Varianten des Objekts aufzunehmen.
  • Es gibt mehrere Verfahren, um beispielsweise bei der Entnahme von Gegenständen durch einen Roboter aus einem Behälter (engl. bin picking) die vielversprechendsten Stellen für das Greifen für eine erfolgreiche Entnahme eines Gegenstands aus dem Behälter zu erkennen. Diese Verfahren arbeiten typischerweise mit Farb(z.B. RGB)- und Tiefenbildern des jeweiligen Szenarios, wobei in einigen Fällen entweder Farb- oder Tiefenbilder ausreichen. Darüber hinaus stützen sich die meisten dieser Ansätze auf KI-Methoden, z. B. die Verwendung neuronaler Netze zum Erlernen einer Zuordnung zwischen Eingabedaten und vielversprechenden Greifpunkten.
  • Eine Schwierigkeit bei diesen Ansätzen ist die Generalisierung auf unterschiedliche Eingaben, z. B. neue Szenen/Hintergründe, neue Formen von Objekten, unterschiedliches Aussehen/Farben von Objekten usw. Um einige dieser Schwierigkeiten in Hinblick auf Generalisierung abzuschwächen können Vorverarbeitungsschritte angewendet werden, um relevante Aspekte der jeweiligen Roh-Kameradaten hervorzuheben.
  • Entsprechende effektive Ansätze zum Vorverarbeiten von Bildern von Objekten, die die Erkennung von Aufnehmbereichen durch ein neuronales Netzwerk ermöglichen, sind deshalb wünschenswert.
  • Offenbarung der Erfindung
  • Gemäß verschiedenen Ausführungsformen wird ein Verfahren zum Aufnehmen eines Objekts mittels einer Robotervorrichtung bereitgestellt, aufweisend Beschaffen mindestens eines Tiefenbilds des Objekts, Ermitteln, für jeden mehrerer Punkte des Objekts, des Werts eines Maßes für die Streuung von Oberflächen-Normalenvektoren in einem Bereich um den Punkt des Objekts, Zuführen der ermittelten Werte zu einem neuronalen Netzwerk, eingerichtet, in Reaktion auf eine Eingabe, die Streuungsmaßwerte enthält, eine Angabe von Objektstellen zum Aufnehmen auszugeben, Ermitteln von einer Stelle des Objekts zum Aufnehmen des Objekts aus einer Ausgabe, die das neuronale Netzwerk in Reaktion auf die Zufuhr der ermittelten Werte ausgibt, und Steuern der Robotervorrichtung zum Aufnehmen des Objekts an der ermittelten Stelle.
  • Das oben beschriebene Verfahren ermöglicht durch die Verwendung einer Vorverarbeitung von Bilddaten in Form der Ermittlung von Streuungsmaßwerten von (Oberflächen-)Normalenvektoren eine Detektion von Stellen zum Aufnehmen von Objekten, die robuster ist gegenüber Änderungen Bildbereich und eine bessere Verallgemeinerung auf neue (d.h. im Training nicht gesehene) Szenen und Objekte ermöglicht, die ein anderes Aussehen (als die im Training gesehenen) haben, aber ähnliche Eigenschaften hinsichtlich des Aufnehmens haben.
  • Das Resultat der Vorverarbeitung (d.h. die Berechnung der Streuungsmaßwerte), mit denen Bildeingabedaten des neuronalen Netzwerks beispielsweise ergänzt wird, führt zu aussagekräftigeren Eingabedaten für das neuronale Netzwerk. Das Training auf der Grundlage solcher Eingabedaten wird deshalb beschleunigt und das neuronale Netzwerk kann verhältnismäßig klein gewählt werden, da die Abbildung von Eingabe des neuronalen Netzwerks auf die Ausgabe des neuronale Netzwerks weniger kompliziert bzw. direkter ist.
  • Die durchgeführte Verarbeitung, insbesondere die von dem neuronalen Netz durchgeführte Inferenz, wird zur Detektion von Stellen oder Bereichen oder auch Posen zum Aufnehmen von Objekten verwendet. Dies geschieht modellfrei, d.h. allein durch die Beurteilung der Aufnehmbarkeit von Stellen des Objekts aus den Eingabebildern (z.B. RGB- und Tiefeneingabe oder nur aus der Tiefe) anstelle des Abgleichs mit einem Zielobjektmodell. Die Bestimmung der Aufnehmpose ist beispielsweise für Anwendungen relevant, bei der ein Roboter Gegenstände aus einem Behälter entnimmt, um die Aktionen für das Aufnehmen entsprechend zu planen. Die Erkennung von Bestimmung von Stellen oder Bereichen (oder letztlich der Pose) zum Aufnehmen kann auch für weitere Roboteranwendungen relevant sein, z. B. für die Montage, wo ein Roboter Objekte greifen muss. Anwendungen sind nicht auf einen bestimmten Typ von Aufnehmvorrichtung (z.B. Greifertyp) beschränkt.
  • Im Folgenden werden verschiedene Ausführungsbeispiele angegeben.
  • Ausführungsbeispiel 1 ist ein Verfahren zum Aufnehmen eines Objekts mittels einer Robotervorrichtung wie oben beschrieben.
  • Ausführungsbeispiel 2 ist ein Verfahren nach Ausführungsbeispiel 1, wobei das Maß für die Streuung die Standardabweichung oder die Varianz der Oberflächen-Normalenvektoren in dem Bereich um den Punkt des Objekts ist.
  • Die Standardabweichung und die Varianz sind bewährte Maße für die Streuung von Größen.
  • Ausführungsbeispiel 3 ist ein Verfahren nach Ausführungsbeispiel 1 oder 2, wobei die Ausgabe des neuronalen Netzes eine Aufnehmqualität für Punkte des Objekts angibt.
  • Aus dieser Ausgabe kann dann (von einer entsprechenden Steuereinrichtung) eine (z.B. die beste) Aufnehmstelle ausgewählt werden, wobei die Größe des erforderlichen Bereichs (z.B. zum Ansaugen) berücksichtigt werden kann. Beispielsweise kann ein Bereich mit ausreichender Größe gewählt werden, in dem die Aufnehmqualität im Mittel am höchsten ist.
  • Ausführungsbeispiel 4 ist ein Verfahren nach einem der Ausführungsbeispiele 1 bis 3, wobei das neuronale Netzwerk eingerichtet ist, in Reaktion auf eine Eingabe, die Streuungsmaßwerte und Tiefenbilddaten enthält, eine Angabe von Objektstellen zum Aufnehmen auszugeben, und wobei die ermittelten Werte dem neuronalen Netz zusammen mit dem Tiefenbild zugeführt werden;
  • Die Berücksichtigung des Tiefenbilds selbst durch das neuronale Netz kann die Genauigkeit der Bestimmung von Aufnehmstellen erhöhen.
  • Ausführungsbeispiel 5 ist ein Verfahren nach einem der Ausführungsbeispiele 1 bis 4, wobei das neuronale Netzwerk eingerichtet ist, in Reaktion auf eine Eingabe, die Streuungsmaßwerte und Farbbilddaten enthält, eine Angabe von Objektstellen zum Aufnehmen auszugeben, und wobei die ermittelten Werte dem neuronalen Netz zusammen mit einem oder mehreren Farbbildern des Objekts zugeführt werden.
  • Die Berücksichtigung von ein oder mehreren Farbbildern durch das neuronale Netz kann die Genauigkeit der Bestimmung von Aufnehmstellen ebenfalls erhöhen.
  • Ausführungsbeispiel 6 ist ein Verfahren nach einem der Ausführungsbeispiele 1 bis 5, wobei das Beschaffen des Tiefenbildes die Vorverarbeitung eines von einer Kamera empfangenen Kamera-Tiefenbildes zu dem Tiefenbild aufweist, wobei die Vorverarbeitung ein Auffüllen von Löchern, eine Rauschreduzierung und/oder eine Entfernung von Ausreißern aufweist.
  • Dadurch wird die Zuverlässigkeit der Bestimmung von Aufnehmstellen erhöht.
  • Ausführungsbeispiel 7 ist ein Verfahren nach einem der Ausführungsbeispiele 1 bis 6, wobei das Ermitteln der Werte des Maßes für die Streuung von Oberflächen-Normalenvektoren eine Umwandlung von Pixeln des Tiefenbilds in 3D-Punkte aufweist und das Ermitteln von Oberflächen-Normalenvektoren aus den 3D-Punkten aufweist.
  • Dadurch kann die Robustheit und Genauigkeit der Bestimmung der Oberflächen-Normalenvektoren und letztendlich der Werte des Streuungsmaßes erhöht werden. Insbesondere können intrinsische und extrinsische Parameter einer Kamera, mit der das Tiefenbild aufgenommen wurde, berücksichtigt werden.
  • Ausführungsbeispiel 8 ist ein Verfahren nach einem der Ausführungsbeispiele 1 bis 7, wobei die Robotervorrichtung eine Saugvorrichtung aufweist und gesteuert wird, das Objekt an der ermittelten Stelle mittels der Saugvorrichtung aufzunehmen.
  • Die vorgeschlagene Herangehensweise, Streumaße der Oberflächen-Normalenvektoren zu berücksichtigen, trägt besonders gut den physikalischen Erfordernissen von Saug-Aufnehmvorrichtungen Rechnung, bei denen abgedichtetes Vakuum zwischen der Aufnehmvorrichtung und der Objektoberfläche gebildet werden muss, um das Objekt anzuheben, und deshalb die Oberfläche beispielsweise nicht zu rau sein darf (d.h. die Streuung der Normalenvektoren sollte gering sein).
  • Ausführungsbeispiel 9 ist eine Steuereinrichtung, die eingerichtet ist, ein Verfahren nach einem der Ausführungsbeispiele 1 bis 8 durchzuführen.
  • Ausführungsbeispiel 10 ist ein Computerprogramm mit Befehlen, die, wenn sie durch einen Prozessor ausgeführt werden, bewirken, dass der Prozessor ein Verfahren nach einem der Ausführungsbeispiele 1 bis 8 durchführt.
  • Ausführungsbeispiel 11 ist ein computerlesbares Medium, das Befehle speichert, die, wenn sie durch einen Prozessor ausgeführt werden, bewirken, dass der Prozessor ein Verfahren nach einem der Ausführungsbeispiele 1 bis 8 durchführt.
  • In den Zeichnungen beziehen sich ähnliche Bezugszeichen im Allgemeinen auf dieselben Teile in den ganzen verschiedenen Ansichten. Die Zeichnungen sind nicht notwendigerweise maßstäblich, wobei die Betonung stattdessen im Allgemeinen auf die Darstellung der Prinzipien der Erfindung gelegt wird. In der folgenden Beschreibung werden verschiedene Aspekte mit Bezug auf die folgenden Zeichnungen beschrieben.
    • 1 zeigt einen Roboter.
    • 2 veranschaulicht eine Datenverarbeitung zum Aufnehmen eines Objekts durch einen Roboter.
    • 3 zeigt ein Ablaufdiagramm, das ein Verfahren zum Aufnehmen eines Objekts mittels einer Robotervorrichtung veranschaulicht.
  • Die folgende ausführliche Beschreibung bezieht sich auf die begleitenden Zeichnungen, die zur Erläuterung spezielle Details und Aspekte dieser Offenbarung zeigen, in denen die Erfindung ausgeführt werden kann. Andere Aspekte können verwendet werden und strukturelle, logische und elektrische Änderungen können durchgeführt werden, ohne vom Schutzbereich der Erfindung abzuweichen. Die verschiedenen Aspekte dieser Offenbarung schließen sich nicht notwendigerweise gegenseitig aus, da einige Aspekte dieser Offenbarung mit einem oder mehreren anderen Aspekten dieser Offenbarung kombiniert werden können, um neue Aspekte zu bilden.
  • Im Folgenden werden verschiedene Beispiele genauer beschrieben.
  • 1 zeigt einen Roboter 100.
  • Der Roboter 100 beinhaltet einen Roboterarm 101, zum Beispiel einen Industrieroboterarm zum Handhaben oder Montieren eines Arbeitsstücks (oder eines oder mehrerer anderer Objekte). Der Roboterarm 101 beinhaltet Manipulatoren 102, 103, 104 und eine Basis (oder Stütze) 105, mittels der die Manipulatoren 102, 103, 104 gestützt werden. Der Ausdruck „Manipulator“ bezieht sich auf die bewegbaren Bauteile des Roboterarms 101, deren Betätigung eine physische Interaktion mit der Umgebung ermöglicht, um z. B. eine Aufgabe auszuführen. Zur Steuerung beinhaltet der Roboter 100 eine (Roboter-) Steuereinrichtung 106, die zum Implementieren der Interaktion mit der Umgebung gemäß einem Steuerprogramm ausgelegt ist. Das letzte Bauteil 104 (das am weitesten von der Stütze 105 entfernt ist) der Manipulatoren 102, 103, 104 wird auch als der Endeffektor 104 bezeichnet und kann ein oder mehrere Werkzeuge beinhalten, wie etwa einen Schweißbrenner, ein Greifinstrument, ein Lackiergerät oder dergleichen.
  • Die anderen Manipulatoren 102, 103 (die sich näher an der Stütze 105 befinden) können eine Positionierungsvorrichtung bilden, sodass, zusammen mit dem Endeffektor 104, der Roboterarm 101 mit dem Endeffektor 104 an seinem Ende bereitgestellt ist. Der Roboterarm 101 ist ein mechanischer Arm, der ähnliche Funktionen wie ein menschlicher Arm bereitstellen kann (möglicherweise mit einem Werkzeug an seinem Ende).
  • Der Roboterarm 101 kann Gelenkelemente 107, 108, 109 beinhalten, die die Manipulatoren 102, 103, 104 miteinander und mit der Stütze 105 verbinden. Ein Gelenkelement 107, 108, 109 kann ein oder mehrere Gelenke aufweisen, die jeweils eine drehbare Bewegung (d. h. Drehbewegung) und/oder translatorische Bewegung (d. h. Verlagerung) für assoziierte Manipulatoren relativ zueinander bereitstellen können. Die Bewegung der Manipulatoren 102, 103, 104 kann mittels Aktoren initiiert werden, die durch die Steuereinrichtung 106 gesteuert werden.
  • Der Ausdruck „Aktor“ kann als eine Komponente verstanden werden, die als Reaktion auf ihren Antrieb zum Bewirken eines Mechanismus oder Prozesses ausgebildet ist. Der Aktor kann durch die Steuereinrichtung 106 erstellte Anweisungen (die sogenannte Aktivierung) in mechanische Bewegungen implementieren. Der Aktor, z. B. ein elektromechanischer Wandler, kann dazu ausgelegt sein, als Reaktion auf seinen Antrieb elektrische Energie in mechanische Energie umzuwandeln.
  • Der Ausdruck „Steuerung“ kann als ein beliebiger Typ von logikimplementierender Entität verstanden werden, die zum Beispiel eine Schaltung und/oder einen Prozessor beinhalten kann, die/der in der Lage ist, in einem Speicherungsmedium gespeicherte Software, Firmware oder eine Kombination davon auszuführen, und die/der Anweisungen, z. B. zu einem Aktor im vorliegenden Beispiel, ausstellen kann. Die Steuerung kann zum Beispiel durch Programmcode (z. B. Software) konfiguriert werden, um den Betrieb eines Systems, eines Roboters im vorliegenden Beispiel, zu steuern.
  • Im vorliegenden Beispiel beinhaltet die Steuereinrichtung 106 einen oder mehrere Prozessoren 110 und einen Speicher 111, der Code und Daten speichert, basierend auf denen der Prozessor 110 den Roboterarm 101 steuert. Gemäß verschiedenen Ausführungsformen steuert die Steuereinrichtung 106 den Roboterarm 101 auf Basis eines maschinellen Lernmodells 112, das im Speicher 111 gespeichert ist.
  • Gemäß verschiedenen Ausführungsformen ist das maschinelle Lernmodell 112 dazu ausgelegt und trainiert, dem Roboter 100 zu ermöglichen, eine Stellen eines Objekts 113 zu erkennen, an denen der Roboter 100 das Objekt 113 aufnehmen kann (oder auf andere Weise damit interagieren kann, z.B. lackieren).
  • Der Roboter 100 kann zum Beispiel mit einer oder mehreren Kameras 114 ausgestattet sein, die es ihm ermöglichen, Bilder seines Arbeitsraums aufzunehmen. Die Kamera 114 ist zum Beispiel an dem Roboterarm 101 befestigt, sodass der Roboter Bilder des Objekts 113 von verschiedenen Perspektiven aus machen kann, indem er den Roboterarm 101 herumbewegt.
  • Gemäß verschiedenen Ausführungsformen ist das maschinelle Lernmodell 112 ein neuronales Netz 112 und die Steuereinrichtung 106 führt dem neuronalen Netz 112 Eingabedaten basierend auf den ein oder mehreren digitalen Bildern (Farbbilder, Tiefenbilder oder beides) eines Objekts 113 zu und das neuronale Netz 112 ist dazu eingerichtet, Stellen (bzw. Bereiche) des Objekts 113 anzugeben, die für das Aufnehmen des Objekts 113 geeignet sind. Beispielsweise kann das neuronale Netz ein Eingabebild, das das Objekt 113 zeigt, entsprechend segmentieren, z.B. jedem Pixel einen Wert („Aufnehmqualitätswert“) zuordnen, der anzeigt, wie gut der Pixel zum Aufnehmen geeignet ist. Die Steuereinrichtung 106 kann dann einen Bereich ausreichender Größe zum als Stelle zum Aufnehmen wählen, in dem diese Werte ausreichend hoch sind (z.B. über einem Schwellwert liegen, im Mittel maximal sind, etc.).
  • Gemäß verschiedenen Ausführungsformen werden die Roh-Bilddaten, die von den Kameras geliefert werden, von der Steuereinrichtung 106 vorverarbeitet, anstatt sie direkt dem neuronalen Netz 112 als Eingabe zuzuführen. Das Resultat dieser Vorverarbeitung wird (ggf. zusammen mit zumindest einem Teil der Roh-Bilddaten) als Eingabe des neuronalen Netzes 112 verwendet, sodass eine Qualitätsverbesserung hinsichtlich der Eingabedaten des neuronalen Netzes 112 erreicht wird. Qualitätsverbesserung bedeutet hierbei, dass die Roh-Bilddaten auf eine oder mehrere der folgenden Arten verändert werden:
    1. (1) Rauschen und Artefakte werden entfernt, die bei Daten aus bestimmten Quellen stärker vorhanden sein können, z. B. durch Tiefenkomplettierung, um fehlende Daten zu entfernen, die für einen bestimmten Kameratyp charakteristisch sind, oder durch künstliche Erzeugung solcher Artefakte in synthetischen Daten. Diese Form der Vorverarbeitung, die auch als Bildverbesserungs-Vorverarbeitung bezeichnet wird, ist auch eine nützliche Vorbereitung für die Berechnungen, die im Folgenden beschrieben werden.
    2. (2) Die vorverarbeiteten Daten bewirken ein Training des neuronalen Netzes 112 für verschiedene Modalitäten über Farbe und Tiefe hinaus. Eine Modalität, die gemäß verschiedenen Ausführungsformen speziell in Betracht gezogen wird, ist die Standardabweichung (oder ein anderes Maß für die Streuung wie die Varianz) von Normalenvektoren der Oberfläche von in den Bildern gezeigten Objekten. Die Normalvektor-Standardabweichung ist geeignet, die lokale Ebenheit einer Oberfläche darzustellen, und ist somit eine besonders relevante Information für die Greifqualität (bzw. für die Qualität eines Objektbereichs für das Ansaugen). Weitere Modalitäten können sich aus anderen Vorverarbeitungsschritten ergeben, z. B. aus Objektmasken oder Hintergrundsegmentierung.
  • 2 veranschaulicht eine Datenverarbeitung zum Aufnehmen eines Objekts durch einen Roboter 201 (entsprechend dem Roboter 100).
  • Eine oder mehrere Kameras 202, beispielsweise entsprechend der Kamera 114, liefern Roh-Bilddaten (d.h. ein oder mehrere Bilder) 203. Es wird angenommen, dass die Roh-Bilddaten insbesondere Tiefeninformation über ein Objekt 204, das von dem Roboter 201 aufgenommen werden soll, enthalten.
  • Aus diesen Tiefeninformationen werden in einer Vorverarbeitung 205 Normalenvektoren der Oberfläche des Objekts 204 und deren Standardabweichungen (in verschiedenen Bereichen der Oberfläche) 206 ermittelt. Diese wird einem neuronalen Netz 207 als Eingabe zugeführt. Die Eingabe des neuronalen Netzes 207 kann auch Teile der (oder die gesamten) Roh-Bilddaten 203 enthalten oder gemäß vorhergehender Bildverbesserungs-Vorverarbeitungen (z.B. Rauschreduzierung) daraus erzeugter Bilddaten. Wie oben erwähnt können solche vorhergehender Bildverbesserungs-Vorverarbeitungen auch verwendet werden, um Bilddaten zu erzeugen, die dann als Grundlage der Standardabweichungsbestimmung 205 verwendet werden.
  • Das neuronale Netz 201 ist darauf trainiert (z.B. mittels entsprechender Trainings-Eingaben und zugehöriger Ziel-Ausgaben, d.h. Ground-Truth-Labels für überwachtes Lernen), die Eingabe auf eine Ausgabe abzubilden, die Stellen oder Bereiche des Objekts 113 identifiziert, die (z.B. besonders gut) zum Aufnehmen des Objekts geeignet sind.
  • Verschiedene Architekturen können für das neuronale Netz 207 verwendet werden. Das neuronale Netz 207 kann lediglich einen einzelnen Eingangskanal für die Standardabweichungen der Normalenvektoren oder eine Mehrkanaleingabe aufweisen, die die Standardabweichung der Normalenvektoren als Daten eines Kanals zusätzlich zu anderen (z.B. Farbbilddaten und/oder Tiefenbilddaten) enthält. Beispiele sind volle Konvolutionsnetze (engl. fully convolutional networks z. B. UNet, ResNet), die jedem Pixel eines Eingangsbildes einen Wert (der die Eignung der jeweiligen Stelle zum Aufnehmen des gezeigten Objekts anzeigt) zuordnen, um ein Ausgangsbild von der gleichen Größe wie das Eingangsbild zu bilden. Dies ermöglicht eine weitere Verarbeitung der Ausgabe zur Bestimmung einer Aufnehmpose, z. B. durch Auswahl eines globalen Maximums im Ausgangsbild.
  • Etablierte Bildverarbeitungs(z.B. Computervisions)-Algorithmen können für die Vorverarbeitung 205 von Bilddaten (insbesondere Tiefenbilddaten) verwendet werden, um die Standardabweichung der Normalenvektoren zu bestimmen. Zum Berechnen der Normalenvektoren kann der Gradient eines jeweiligen Tiefenbilds numerisch berechnet werden. Es können pixelweise Durchschnittswerte der Normalenvektoren mittels Bild-Konvolution (Faltung) berechnet werden. Die Berechnung der Standardabweichung aus den Normalenvektoren und ihren Durchschnittswerten erfolgt gemäß der dafür definierten und etablierten statistischen Operation.
  • Die Datenverarbeitung bestehend aus (Normalenvektor-Standardabweichungsbestimmungs-)Vorverarbeitung 205 und neuronalem Netz 207 liefert eine Ausgabe, die als Angabe eines Aufnehmbereichs oder einer Aufnehmpose interpretiert werden kann. Sie erhält wie oben erläutert Tiefeninformation des Objekts 204 also z.B. ein digitales Tiefenbild. Das neuronale Netz 207 kann auch zusätzlich ein oder mehrere Farbbilder des Objekts erhalten.
  • Gemäß einer Ausführungsform wird nach Erhalten solcher Bilder 203 Folgendes durchgeführt:
    1. (A) [Optional] Bildverbesserungs-Vorverarbeitung des empfangenen Tiefenbilds
    2. (B) Berechnung der Standardabweichung von Normalenvektoren in dem Tiefenbild
    3. (C) Inferenz durch das neuronale Netz 207 zum Detektieren von vielversprechenden Kandidaten für Aufnehmstellen und/oder -posen
    4. (D) [Optional] Auswahl einer Aufnehmstelle und/oder -pose aus den detektierten Kandidaten
  • Möglichkeiten für die optionale Bildverbesserungs-Vorverarbeitung, die besonders nützlich für die Berechnung der Normalenvektor-Standardabweichungen sind, sind die Folgenden:
    • (A1) Auffüllen von Löchern im Tiefenbild, d. h. von Pixeln mit fehlenden Werten, z. B. durch (A1a) Verwendung von Inpainting-Operationen, (A1b) Verwendung von Werten von nächsten Nachbarn, (A1c) Verwendung von Dilatationsoperationen etc. Das Auffüllen von Löchern verbessert die Qualität der Normalvektoren, da Normalvektoren in der Nähe von Löchern aufgrund der fehlenden Informationen weniger genau sind und Lochmuster die Netzinferenz dominieren und zu einer Überanpassung führen können.
    • (A2) Glättung der Werte im Tiefenbild, z. B. um Rauschen zu reduzieren. Dies kann z.B. durch (A2a) klassische Computervision-Unschärfeoperationen oder (A2b) Ausreißerentfernung durch lokale Filteroperationen erfolgen. Durch die Glättung wird die Aussagekraft der Standardabweichung der Normalvektoren verbessert, da eine hohe Standardabweichung eher die tatsächliche Standardabweichung der Oberflächennormalvektoren widerspiegelt als eine Standardabweichung, die lediglich auf Rauschen in den Tiefenmessungen zurückzuführen ist.
    • (A3) Filtern von Tiefenwerten nach verschiedenen Kriterien, z. B. (A3a) Entfernen von Tiefenwerten außerhalb eines Zielbereichs oder (A3b) Subtraktion eines Hintergrundtiefenbildes. Filtern ist nützlich, um die Netzinferenz auf relevante Bereiche des Bildes zu konzentrieren. Es sollte beachtet werden, dass ein Filtern durch Setzen der Tiefe auf einen bestimmten Wert, z. B. Null, eine geringe Standardabweichung der Normalvektoren erzeugt, was irreführend sein könnte. Daher wird gemäß einer Ausführungsform die Standardabweichung für ungeeignete Pixel explizit auf einen hohen Wert gesetzt.
  • Aus dem (optional vorverarbeiteten) Tiefenbild kann die Normalenvektor-Standardabweichung für jeden Pixel des Tiefenbilds wie folgt berechnet werden:
    • (B1) [Optional] Alle Pixel des Tiefenbilds werden (unter Verwendung ihres Tiefen-Pixelwertes) in Punkte im 3D-Raum unter Berücksichtigung der intrinsischen Parameter der Kamera 202, falls bekannt, konvertiert. Die Folgenden Operationen erfolgen dann mit diesen Punkten, anstatt direkt mit dem Tiefenbild, indem ein Bild konstruiert wird, indem für jeden Pixel die 3D-Koordinaten des Punktes enthalten sind. Dies kann die Robustheit und Genauigkeit der ermittelten Normalenvektoren verbessern.
    • (B2) Berechnen der Normalenvektoren aus dem Tiefenbild oder den Punkten des in (B1) erzeugten Bilds durch Bilden eines numerischen Gradienten, z.B. durch Verschieben des Tiefenbilds und Subtrahieren des verschobenen Tiefenbilds von dem ursprünglichen Tiefenbild. Auf diese Weise können z.B. Tiefenänderungen in x- und y- Richtung ermittelt werden und daraus ein Normalenvektor unter Verwendung des Vektorprodukts und anschließender Normalisierung gewonnen werden. Die Normalenvektoren an allen Pixel-Positionen können in Form eines weiteren Bilds repräsentiert werden, das dieselben Dimensionen wie das Tiefenbild hat und drei Kanäle aufweist, die die x, y und z-Komponenten der Normalenvektor angeben (aufgrund der Normierung reichen ohne Informationsverlust auch zwei dieser Kanäle,).
    • (B3) Berechnen eines Mittels der Normalenvektoren für jeden Pixel in einer bestimmten Umgebung des Pixels, d.h. einem bestimmten Einzugsgebiet. Das Einzugsgebiet kann beliebig definiert werden, seine Größe wird aber beispielsweise entsprechend der Größe der Aufnehmvorrichtung gewählt, d.h. gleich der Größe des „Fußabdrucks“ der Aufnehmvorrichtung, also der von der Aufnehmvorrichtung zum Aufnehmen verwendeten Fläche. Im allgemeinen Fall ist das Einzugsgebiet durch eine Matrix einer bestimmten Größe gegeben (typischerweise viel kleiner als das Tiefenbild bzw. das in (B1) konstruierte Bild), die einen Faltungskern definiert. Die Matrix enthält Einträge für Pixelpositionen in einer Umgebung des Pixels (und für den Pixel selbst), für den das Mittel berechnet werden soll, und eine Null zeigt an, dass der Wert an der jeweiligen Pixelposition nicht berücksichtigt werden soll und ein Eintrag größer Null zeigt an, dass er mit einer entsprechenden Gewichtung berücksichtigt werden soll. Die Mittel der Normalenvektoren können dann mittels einer Faltungsoperation mit dem Faltungskern berechnet werden, wobei anschließend durch die Summe der Einträge des Faltungskerns dividiert wird. Die Mittelung erfolgt komponentenweise.
  • Das Ergebnis ist ein weiteres Bild mit denselben Dimensionen (und der gleichen Anzahl von Kanälen), das für jeden Pixel einen Wert E(X) enthält, der den Mittelwert von relevanten Normalenvektoren X in seiner Umgebung enthält.
    • (B4) Die Mittelwertberechnung von (B3) wird für die komponentenweise quadrierten Normalenvektoren X2 anstatt X wiederholt, d.h. für jeden Pixel ein Mittel von (komponentenweise) quadrierten Normalenvektoren in der Umgebung des Pixels (und des Pixels selbst). Das Ergebnis wird als E(X2) bezeichnet.
    • (B5) Es wird komponentenweise und pixelweise die Normalenvektor-Standardabweichung STD(X) berechnet als STD ( X ) = E ( X 2 ) E ( X ) 2
      Figure DE102021210903A1_0001
  • Die Wurzeloperation ändert nicht die Ordnung und kann deshalb zur Reduzierung der Rechenzeit weggelassen werden.
  • Gemäß einer Ausführungsform wird die so komponentenweise berechnete Standardabweichung als Eingabe für das neuronale Netz 207 verwendet. Es können auch die Standardabweichungen für jeden Pixel über alle Komponenten summiert werden und das Resultat (d.h. ein Bild mit einem Kanal, das die summierte Standardabweichung enthält) als Eingabe für das neuronale Netz 207, ggf. zusammen mit einem oder mehreren Farb- und/oder Tiefenbildern 203, verwendet werden.
  • Des weiteren können die Werte der Standardabweichung jedes Pixels über das Bild normiert werden, z.B. auf den Wertebereich 0 - 1, bevor sie als Eingabe für das neuronale Netz 207 verwendet werden, um eine bessere Vergleichbarkeit verschiedener Bilder herzustellen, die die Generalisierungsfähigkeit des neuronalen Netzes unterstützt.
  • Gemäß einer Ausführungsform können zusätzliche Methoden verwendet werden, um die Vergleichbarkeit von Werten der Standardabweichung zu gewährleisten. Beispielsweise eignet sich ein Normalisierungsverfahren wie „contrast limited adaptive histogram equalization“ (CLAHE), um relative Unterschiede der Standardabweichung stärker zu betonen anstatt absolute Werte zu verwenden. Dies bietet sich insbesondere in Bildern an, in lokal große Unterschiede der Standardabweichung auftreten.
  • Das neuronale Netz 207 kann unter Verwendung von existierenden Datensätzen mit Tiefen- und ggf. Farbbildern trainiert werden, da die gesamte hierfür erforderliche Information aus diesen Daten ermittelt werden kann.
  • Das neuronale Netz 207 kann entweder direkt eine Aufnehmpose/stelle oder optional eine Liste von Aufnehmposen/stellen, eine pixelweise Aufnehmqualität oder eine Ausgabe in einem andere Format ausgeben, die anschließend in einer weiteren Verarbeitung zur Ableitung einer Aufnehmstelle und einer Aufnehmpose des Objekts 204 (wobei die Ableitung der Aufnehmpose die Ableitung der Aufnehmstelle beinhaltet) verwendet werden kann.
    • (D1) Wenn eine pixelweise Aufnehmqualität vom neuronalen Netz 207 ermittelt wird, bestimmt die Steuereinrichtung 106 beispielsweise aus dieser Ausgabe eine Menge von Kandidaten für Aufnehmstellen. Dies kann z.B. geschehen (D1a) durch Auswahl lokaler Maxima der Aufnehmqualität, (D1b) durch Schwellenwertbildung der Aufnehmqualität und Clustering des Ergebnisses zu Bereichen, (D1c) durch Kombination der Aufnehmqualität mit weiteren Verarbeitungsergebnissen, z.B. mit einer Obj ektsegmentierung.
    • (D2) Wenn Kandidaten für Aufnehmstellen wie in (D1) bestimmt wurden oder die Aufnehmstellen in Pixelkoordinaten angegeben sind, berechnet die Steuereinrichtung 106 eine vollständige Aufnehmpose, indem sie jeden Pixel der Aufnehmstelle in eine 3D-Position umwandelt wird, vgl. (B1), und eine Orientierung ausgewählt, indem das Vorzeichen des Normalenvektors an diesem Pixel umgedreht wird, vgl. (B2).
    • (D3) Wurde mehr als eine Aufnehmpose ermittelt, wählen die Steuereinrichtung 106 eine davon aus oder ordnet (sortiert) die Ergebnisse. Die Einstufung kann z. B. wie folgt erfolgen: (D3a) auf der Grundlage eines bestimmten Wertes für die Aufnehmqualität, (D3b) auf der Grundlage einer Clustergröße, (D3c) auf der Grundlage einer Instanzbewertung, (D3d) auf der Grundlage der Höhe der Pose etc.
  • Zusammengefasst wird gemäß verschiedenen Ausführungsformen ein Verfahren bereitgestellt, wie in 3 dargestellt.
  • 3 zeigt ein Ablaufdiagramm 300, das ein Verfahren zum Aufnehmen eines Objekts mittels einer Robotervorrichtung veranschaulicht.
  • In 301 wird mindestens ein Tiefenbilds des Objekts beschafft.
  • In 302 wird für jeden mehrerer Punkte des Objekts der Wert eines Maßes für die Streuung von Oberflächen-Normalenvektoren in einem Bereich um den Punkt des Objekts ermittelt.
  • In 303 werden die ermittelten Werte einem neuronalen Netzwerk zugeführt, das eingerichtet (z.B. trainiert) ist, in Reaktion auf eine Eingabe, die Streuungsmaßwerte enthält, eine Angabe von Objektstellen zum Aufnehmen auszugeben.
  • In 304 wird eine Stelle des Objekts zum Aufnehmen des Objekts aus einer Ausgabe, die das neuronale Netzwerk in Reaktion auf die Zufuhr der ermittelten Werte ausgibt, ermittelt (z.B. ausgewählt aus Stellen oder Bereichen, die die Ausgabe des neuronalen Netzes als geeignet angibt).
  • In 305 wird die Robotervorrichtung zum Aufnehmen des Objekts an der ermittelten Stelle gesteuert.
  • Das Verfahren kann das Trainieren des neuronalen Netzes, in Reaktion auf eine Eingabe, die Streuungsmaßwerte enthält, eine Angabe von Objektstellen zum Aufnehmen auszugeben, aufweisen. Dies erfolgt beispielsweise mittels überwachten Lernens durch Verwendung von Objekten mit bekannten Stellen zum Aufnehmen (bzw. Aufnehmposen, je nach Ausgabe des neuronalen Netzes).
  • Das Verfahren von 3 kann durch einen oder mehrere Computer mit einer oder mehreren Datenverarbeitungseinheiten durchgeführt werden. Der Begriff „Datenverarbeitungseinheit“ kann als irgendein Typ von Entität verstanden werden, die die Verarbeitung von Daten oder Signalen ermöglicht. Die Daten oder Signale können beispielsweise gemäß mindestens einer (d.h. einer oder mehr als einer) speziellen Funktion behandelt werden, die durch die Datenverarbeitungseinheit durchgeführt wird. Eine Datenverarbeitungseinheit kann eine analoge Schaltung, eine digitale Schaltung, eine Logikschaltung, einen Mikroprozessor, einen Mikrocontroller, eine Zentraleinheit (CPU), eine Graphikverarbeitungseinheit (GPU), einen Digitalsignalprozessor (DSP), eine integrierte Schaltung einer programmierbaren Gatteranordnung (FPGA) oder irgendeine Kombination davon umfassen oder aus dieser ausgebildet sein. Irgendeine andere Weise zum Implementieren der jeweiligen Funktionen, die hierin genauer beschrieben werden, kann auch als Datenverarbeitungseinheit oder Logikschaltungsanordnung verstanden werden. Es können ein oder mehrere der im Einzelnen hier beschriebenen Verfahrensschritte durch eine Datenverarbeitungseinheit durch eine oder mehrere spezielle Funktionen ausgeführt (z. B. implementiert) werden, die durch die Datenverarbeitungseinheit durchgeführt werden.
  • Die Herangehensweise von 3 kann zum Erzeugen eines Steuersignals für eine Robotervorrichtung dienen. Der Begriff „Robotervorrichtung“ kann als sich auf irgendein physikalisches System (mit einem mechanischen Teil, dessen Bewegung gesteuert wird) beziehend verstanden werden, wie z. B. eine computergesteuerte Maschine, ein Haushaltsgerät, ein Elektrowerkzeug oder eine Fertigungsmaschine.
  • Als Eingabedaten für das neuronale Netzwerk dienen beispielsweise Farb- und Tiefenbilder. Diese können aber auch durch Sensorsignale von anderen Sensoren wie z. B. Radar, LiDAR, Ultraschall, Bewegung, Wärmebilder etc. ergänzt werden.
  • Das neuronale Netzwerk klassifiziert die Eingabedaten und detektiert beispielsweise die Präsenz von Objekten und führt eine semantische Segmentierung auf der Grundlage der Sensordaten durch in Hinblick auf Stellen oder Bereiche, an denen die Objekte aufgenommen werden können, Posen (z.B. eine Greiferorientierung), mit der die Objekte aufgenommen (z.B. gegriffen) werden können.
  • Ausführungsformen können zum Trainieren eines Maschinelles-Lernen-Systems und Steuern eines Roboters, z. B. autonom von Robotermanipulatoren, um verschiedene Manipulationsaufgaben unter verschiedenen Szenarios zu erreichen, verwendet werden. Insbesondere sind Ausführungsformen auf die Steuerung und Überwachung der Ausführung von Manipulationsaufgaben anwendbar, z. B. in Montagelinien.
  • Obwohl spezielle Ausführungsformen hier dargestellt und beschrieben wurden, wird vom Fachmann auf dem Gebiet erkannt, dass die speziellen Ausführungsformen, die gezeigt und beschrieben sind, gegen eine Vielfalt von alternativen und/oder äquivalenten Implementierungen ausgetauscht werden können, ohne vom Schutzbereich der vorliegenden Erfindung abzuweichen. Diese Anmeldung soll irgendwelche Anpassungen oder Variationen der speziellen Ausführungsformen abdecken, die hier erörtert sind. Daher ist beabsichtigt, dass diese Erfindung nur durch die Ansprüche und die Äquivalente davon begrenzt ist.

Claims (11)

  1. Verfahren zum Aufnehmen eines Objekts mittels einer Robotervorrichtung, aufweisend Beschaffen mindestens eines Tiefenbilds des Objekts; Ermitteln, für jeden mehrerer Punkte des Objekts, des Werts eines Maßes für die Streuung von Oberflächen-Normalenvektoren in einem Bereich um den Punkt des Objekts; Zuführen der ermittelten Werte zu einem neuronalen Netzwerk, eingerichtet, in Reaktion auf eine Eingabe, die Streuungsmaßwerte enthält, eine Angabe von Objektstellen zum Aufnehmen auszugeben; Ermitteln von einer Stelle des Objekts zum Aufnehmen des Objekts aus einer Ausgabe, die das neuronale Netzwerk in Reaktion auf die Zufuhr der ermittelten Werte ausgibt; und Steuern der Robotervorrichtung zum Aufnehmen des Objekts an der ermittelten Stelle.
  2. Verfahren nach Anspruch 1, wobei das Maß für die Streuung die Standardabweichung oder die Varianz der Oberflächen-Normalenvektoren in dem Bereich um den Punkt des Objekts ist.
  3. Verfahren nach Anspruch 1 oder 2, wobei die Ausgabe des neuronalen Netzes eine Aufnehmqualität für Punkte des Objekts angibt.
  4. Verfahren nach einem der Ansprüche 1 bis 3, wobei das neuronale Netzwerk eingerichtet ist, in Reaktion auf eine Eingabe, die Streuungsmaßwerte und Tiefenbilddaten enthält, eine Angabe von Objektstellen zum Aufnehmen auszugeben, und wobei die ermittelten Werte dem neuronalen Netz zusammen mit dem Tiefenbild zugeführt werden;
  5. Verfahren nach einem der Ansprüche 1 bis 4, wobei das neuronale Netzwerk eingerichtet ist, in Reaktion auf eine Eingabe, die Streuungsmaßwerte und Farbbilddaten enthält, eine Angabe von Objektstellen zum Aufnehmen auszugeben, und wobei die ermittelten Werte dem neuronalen Netz zusammen mit einem oder mehreren Farbbildern des Objekts zugeführt werden.
  6. Verfahren nach einem der Ansprüche 1 bis 5, wobei das Beschaffen des Tiefenbildes die Vorverarbeitung eines von einer Kamera empfangenen Kamera-Tiefenbildes zu dem Tiefenbild aufweist, wobei die Vorverarbeitung ein Auffüllen von Löchern, eine Rauschreduzierung und/oder eine Entfernung von Ausreißern aufweist.
  7. Verfahren nach einem der Ansprüche 1 bis 6, wobei das Ermitteln der Werte des Maßes für die Streuung von Oberflächen-Normalenvektoren eine Umwandlung von Pixeln des Tiefenbilds in 3D-Punkte aufweist und das Ermitteln von Oberflächen-Normalenvektoren aus den 3D-Punkten aufweist.
  8. Verfahren nach einem der Ansprüche 1 bis 7, wobei die Robotervorrichtung eine Saugvorrichtung aufweist und gesteuert wird, das Objekt an der ermittelten Stelle mittels der Saugvorrichtung aufzunehmen.
  9. Steuereinrichtung, die eingerichtet ist, ein Verfahren nach einem der Ansprüche 1 bis 8 durchzuführen.
  10. Computerprogramm mit Befehlen, die, wenn sie durch einen Prozessor ausgeführt werden, bewirken, dass der Prozessor ein Verfahren nach einem der Ansprüche 1 bis 8 durchführt.
  11. Computerlesbares Medium, das Befehle speichert, die, wenn sie durch einen Prozessor ausgeführt werden, bewirken, dass der Prozessor ein Verfahren nach einem der Ansprüche 1 bis 8 durchführt.
DE102021210903.9A 2021-09-29 2021-09-29 Verfahren zum Aufnehmen eines Objekts mittels einer Robotervorrichtung Pending DE102021210903A1 (de)

Priority Applications (3)

Application Number Priority Date Filing Date Title
DE102021210903.9A DE102021210903A1 (de) 2021-09-29 2021-09-29 Verfahren zum Aufnehmen eines Objekts mittels einer Robotervorrichtung
US17/934,887 US12387351B2 (en) 2021-09-29 2022-09-23 Method for picking up an object by means of a robotic device
CN202211188104.0A CN115870971A (zh) 2021-09-29 2022-09-28 通过机器人设备拾取对象的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE102021210903.9A DE102021210903A1 (de) 2021-09-29 2021-09-29 Verfahren zum Aufnehmen eines Objekts mittels einer Robotervorrichtung

Publications (1)

Publication Number Publication Date
DE102021210903A1 true DE102021210903A1 (de) 2023-03-30

Family

ID=85477509

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102021210903.9A Pending DE102021210903A1 (de) 2021-09-29 2021-09-29 Verfahren zum Aufnehmen eines Objekts mittels einer Robotervorrichtung

Country Status (3)

Country Link
US (1) US12387351B2 (de)
CN (1) CN115870971A (de)
DE (1) DE102021210903A1 (de)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102023207208A1 (de) * 2023-07-27 2025-01-30 Robert Bosch Gesellschaft mit beschränkter Haftung Verfahren zum Trainieren eines maschinellen Lernmodells für die Steuerung eines Roboters zum Manipulieren eines Objekts
WO2025102096A1 (de) 2023-11-15 2025-05-22 Tgw Logistics Gmbh Umladestation mit verbesserter erkennung einer von einem roboter gehaltenen ware sowie verfahren und kommissioniersystem dazu

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN118822991B (zh) * 2024-07-10 2025-08-19 中电金信软件有限公司 图像检测方法、装置和计算机设备

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE19805794A1 (de) 1997-02-19 1998-08-20 Univ Carnegie Mellon Schnelle planare Segmentierung von Entfernungsdaten für mobile Roboter
DE102006036346B4 (de) 2006-08-03 2010-12-30 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Verfahren zur automatisierten 3-D-Objekterkennung und Lagebestimmung
US20130158947A1 (en) 2011-12-20 2013-06-20 Canon Kabushiki Kaisha Information processing apparatus, control method for information processing apparatus and storage medium
DE102008020579B4 (de) 2008-04-24 2014-07-31 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Verfahren zur automatischen Objektlageerkennung und Bewegung einer Vorrichtung relativ zu einem Objekt
DE102014102943B4 (de) 2014-02-13 2018-08-30 GM Global Technology Operations LLC (n. d. Gesetzen des Staates Delaware) Robotersystem mit Funktionalität zur Ortsbestimmung einer 3D- Kiste
DE102018202389A1 (de) 2017-03-03 2018-09-06 Keyence Corporation Robotersimulationsvorrichtung und Robotersimulationsverfahren
DE102019108787A1 (de) 2018-04-10 2019-10-10 Fanuc Corporation Handsteuerungsvorrichtung und Handsteuerungssystem
WO2020022302A1 (ja) 2018-07-26 2020-01-30 Ntn株式会社 把持装置
DE112019001507T5 (de) 2018-03-23 2020-12-31 Amazon Technologies, Inc. Optimierungsbasiertes federgitterverformungsmodell für weiche materialien
DE102020128653A1 (de) 2019-11-13 2021-05-20 Nvidia Corporation Greifbestimmung für ein Objekt in Unordnung

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11396101B2 (en) * 2018-11-08 2022-07-26 Kabushiki Kaisha Toshiba Operating system, control device, and computer program product
JP7395451B2 (ja) * 2020-09-16 2023-12-11 株式会社東芝 ハンドリング装置、処理装置、コントローラ及びプログラム

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE19805794A1 (de) 1997-02-19 1998-08-20 Univ Carnegie Mellon Schnelle planare Segmentierung von Entfernungsdaten für mobile Roboter
DE102006036346B4 (de) 2006-08-03 2010-12-30 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Verfahren zur automatisierten 3-D-Objekterkennung und Lagebestimmung
DE102008020579B4 (de) 2008-04-24 2014-07-31 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Verfahren zur automatischen Objektlageerkennung und Bewegung einer Vorrichtung relativ zu einem Objekt
US20130158947A1 (en) 2011-12-20 2013-06-20 Canon Kabushiki Kaisha Information processing apparatus, control method for information processing apparatus and storage medium
DE102014102943B4 (de) 2014-02-13 2018-08-30 GM Global Technology Operations LLC (n. d. Gesetzen des Staates Delaware) Robotersystem mit Funktionalität zur Ortsbestimmung einer 3D- Kiste
DE102018202389A1 (de) 2017-03-03 2018-09-06 Keyence Corporation Robotersimulationsvorrichtung und Robotersimulationsverfahren
DE112019001507T5 (de) 2018-03-23 2020-12-31 Amazon Technologies, Inc. Optimierungsbasiertes federgitterverformungsmodell für weiche materialien
DE102019108787A1 (de) 2018-04-10 2019-10-10 Fanuc Corporation Handsteuerungsvorrichtung und Handsteuerungssystem
WO2020022302A1 (ja) 2018-07-26 2020-01-30 Ntn株式会社 把持装置
DE102020128653A1 (de) 2019-11-13 2021-05-20 Nvidia Corporation Greifbestimmung für ein Objekt in Unordnung

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102023207208A1 (de) * 2023-07-27 2025-01-30 Robert Bosch Gesellschaft mit beschränkter Haftung Verfahren zum Trainieren eines maschinellen Lernmodells für die Steuerung eines Roboters zum Manipulieren eines Objekts
WO2025102096A1 (de) 2023-11-15 2025-05-22 Tgw Logistics Gmbh Umladestation mit verbesserter erkennung einer von einem roboter gehaltenen ware sowie verfahren und kommissioniersystem dazu

Also Published As

Publication number Publication date
US20230114306A1 (en) 2023-04-13
US12387351B2 (en) 2025-08-12
CN115870971A (zh) 2023-03-31

Similar Documents

Publication Publication Date Title
DE102018215057B4 (de) Maschinelles-Lernen-Vorrichtung, Robotersystem und maschinelles-Lernen-Verfahren
DE102015111080B4 (de) Robotervorrichtung mit maschinellem Sehen
DE102021210903A1 (de) Verfahren zum Aufnehmen eines Objekts mittels einer Robotervorrichtung
DE102020214301A1 (de) Vorrichtung und verfahren zum steuern eines roboters zum aufnehmen eines objekts in verschiedenen lagen
DE102022107228A1 (de) Aufnahme von objekten aus einem behälter (bin picking) mit drehungsausgleich
DE102017220752A1 (de) Bildverarbeitungsvorrichtung, Bildbverarbeitungsverfahren und Bildverarbeitungsprogramm
DE102020209080A1 (de) Bildverarbeitungssystem
DE112022004254T5 (de) Computer-implementiertes Betriebsverfahren für die Handhabung von Werkstücken mit auf einem Inpainting-Modell beruhender Rekonstruktion verdeckter Teile
EP4064106A1 (de) Verfahren zum erzeugen von trainingsdaten für ein ml-modell
DE102021209646B4 (de) Robotervorrichtung, Verfahren zum computerimplementierten Trainieren eines Roboter-Steuerungsmodells und Verfahren zum Steuern einer Robotervorrichtung
DE102022206274B4 (de) Verfahren zum Steuern eines Roboters zum Manipulieren, insbesondere Aufnehmen, eines Objekts
DE102021212860B4 (de) Verfahren zum Aufnehmen eines Objekts mittels eines Roboters
DE102021102643A1 (de) Verfahren zum Schätzen einer Pose eines Objektes, Computerprogramm und System
DE102021107479A1 (de) Erfassung einer dreidimensionalen pose durch mehrere 2d-kameras
DE102022207847A1 (de) Verfahren zum Steuern eines Roboters zum Manipulieren, insbesondere Aufnehmen, eines Objekts
DE102022203410B4 (de) Verfahren zum Steuern einer Robotervorrichtung
DE102021210993A1 (de) Verfahren zum Erzeugen von Trainingsdaten für überwachtes Lernen zum Trainieren eines neuronalen Netzes
DE102021201921B4 (de) Vorrichtung und verfahren zum steuern eines roboters zum aufnehmen eines objekts
DE102021109036A1 (de) Vorrichtung und verfahren zum lokalisieren von stellen von objekten aus kamerabildern der objekte
DE102021202570A1 (de) Vorrichtung und verfahren zum lokalisieren von stellen von objekten aus kamerabildern der objekte
EP4063081A1 (de) Verfahren zum ermitteln von steuerungsdaten für eine greifeinrichtung zum greifen eines gegenstands
DE102018121317B4 (de) Verfahren, Vorrichtung und Computerprogramm zur Schätzung einer durch eine Freiraumgeste vermittelten Richtungsinformation zur Bestimmung einer Benutzereingabe an einer Mensch-Maschine-Schnittstelle
DE102023208619A1 (de) Verfahren zum Trainieren eines maschinellen Lernmodells zum Erzeugen von Deskriptorbildern zu Bildern, die ein oder mehrere Objekte zeigen
DE112021005072T5 (de) Vorrichtung und Verfahren zur Justierung von Bildgebungsbedingung
DE112022005873T5 (de) Maschinenlernvorrichtung, merkmalsextraktionsvorrichtung und steuervorrichtung

Legal Events

Date Code Title Description
R163 Identified publications notified