DE102014102943A1 - Robotersystem mit Funktionalität zur Ortsbestimmung einer 3D- Kiste - Google Patents

Robotersystem mit Funktionalität zur Ortsbestimmung einer 3D- Kiste Download PDF

Info

Publication number
DE102014102943A1
DE102014102943A1 DE102014102943.7A DE102014102943A DE102014102943A1 DE 102014102943 A1 DE102014102943 A1 DE 102014102943A1 DE 102014102943 A DE102014102943 A DE 102014102943A DE 102014102943 A1 DE102014102943 A1 DE 102014102943A1
Authority
DE
Germany
Prior art keywords
line segments
controller
robot
lines
box
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.)
Granted
Application number
DE102014102943.7A
Other languages
English (en)
Other versions
DE102014102943B4 (de
Inventor
Moonju Lee
Jianying Shi
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.)
GM Global Technology Operations LLC
Original Assignee
GM Global Technology Operations LLC
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 GM Global Technology Operations LLC filed Critical GM Global Technology Operations LLC
Publication of DE102014102943A1 publication Critical patent/DE102014102943A1/de
Application granted granted Critical
Publication of DE102014102943B4 publication Critical patent/DE102014102943B4/de
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/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
    • G06N20/00Machine learning
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/60Type of objects
    • G06V20/64Three-dimensional objects
    • G06V20/653Three-dimensional objects by matching three-dimensional models, e.g. conformal mapping of Riemann surfaces
    • 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
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2200/00Indexing scheme for image data processing or generation, in general
    • G06T2200/04Indexing scheme for image data processing or generation, in general involving 3D image data
    • 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/10024Color image
    • 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
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S901/00Robots
    • Y10S901/46Sensing device
    • Y10S901/47Optical

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Mechanical Engineering (AREA)
  • Robotics (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Medical Informatics (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Artificial Intelligence (AREA)
  • Multimedia (AREA)
  • Manipulator (AREA)

Abstract

Ein Robotersystem enthält einen Roboter, eine dreidimensionale Punktwolkenkamera (3D-Punktwolkenkamera) und einen Controller. Die Kamera gibt eine Bilddatendatei mit zweidimensionalen Farbdaten (2D-Farbdaten) und 3D-Tiefendaten aus. Der Controller empfängt Eingabekriterien und die Bilddatendatei und detektiert 2D- und 3D-Liniensegmente in der Bilddatendatei. Sätze neuer 3D-Linien werden mit Hilfe des Zurückprojizierens einiger der 2D-Liniensegmente auf einige der 3D-Liniensegmente erzeugt. Die neuen 3D-Linien werden in einander schneidende Linien gruppiert und der Controller führt eine Normalvektorgruppierungsfunktion an den sich schneidenden Linien aus, um Kandidaten-Ebenen zu identifizieren. Sich schneidende Ebenen werden aus den Kandidaten-Ebenen identifiziert, und aus den sich schneidenden Ebenen werden Kandidaten-Kisten identifiziert. Der Controller lokalisiert eine Zielkiste aus den identifizierten Kandidaten-Kisten mit Hilfe der Eingabekriterien. Eine Steuerungsaktion durch das Greiforgan kann an der Zielkiste befohlen werden.

Description

  • TECHNISCHES GEBIET
  • Die vorliegende Offenbarung betrifft ein Robotersystem mit Funktionalität zur Ortsbestimmung einer dreidimensionalen Kiste (3D-Kiste).
  • HINTERGRUND
  • Roboter sind elektromechanische Vorrichtungen, die zum Ausführen komplizierter oder sich wiederholender Aufgabe auf automatische Weise in der Lage sind. Ein typischer Roboter bewegt sich in Ansprechen auf Aufgabenanweisungen und sensorische Rückmeldungen auf mehreren Achsen. Ein Roboter kann beispielsweise verschiedene Näherungssensoren, taktile Sensoren, Schalter, Kraftmessdosen, Messfühler und dergleichen verwenden, um die ihn umgebende Umwelt bei der Ausführung einer gegebenen Arbeitsaufgabe zu bewerten. Der Roboter kann mit Hilfe eines oder mehrerer Greiforgane auf ein Objekt einwirken, das sich innerhalb seiner Umgebung befindet.
  • Im Speziellen können Materialhandhabungsroboter programmiert sein, um in einer automatisierten Arbeitsumgebung Objekte zu lokalisieren, auszuwählen und zu bewegen. Beispielsweise können derartige Roboter in einer typischen Produktionsanlage verwendet werden, um sich wiederholende Verpackungsoperationen auszuführen, bei denen Komponenten in Kisten verpackt werden. Daher muss ein Roboter bei einer Verpackungsoperation zuerst eine Zielkiste lokalisieren, ein Teil oder eine Komponente, das bzw. die sich innerhalb der Kiste befindet, identifizieren und dann eine Greiforgansteuerungssequenz ausführen, um auf die identifizierte Komponente in einer gegebenen Weise einzuwirken.
  • ZUSAMMENFASSUNG
  • Es wird hier ein Robotersystem offenbart, das einen Roboter, beispielsweise einen Materialhandhabungsroboter mit einem Greiforgan, umfasst. Das Robotersystem enthält außerdem eine oder mehrere dreidimensionale Punktwolkenkameras (3D-Punktwolkenkameras), die auch als Rot-, Grün-, Blau-Tiefenkameras (RGB-D-Kameras) bezeichnet werden, und einen Controller in Verbindung mit dem Roboter und der einen oder den mehreren Kameras. Jede Kamera bildet ein Zielobjekt mit Hilfe einer Aufnahme aus einer 3D-Punktwolke mit Tiefeninformationen und zweidimensionalen (2D) Rot-, Grün-, Blau-Farbdaten (RGB-Farbdaten) ab und gibt eine automatisch synchronisierte Datendatei mit den 2D-Farbdaten und den 3D-Tiefendaten aus. Der Controller, der als eine Computervorrichtung mit einem Prozessor und einem konkreten nicht vorübergehenden Speicher ausgeführt sein kann, ist so programmiert oder anderweitig ausgestaltet, dass er die 2D- und 3D-Informationen von der Kamera automatisch zusammenführt, und dass er danach Ebenen und Linien in den zusammengeführten Informationen bei verschiedenen Bildtiefen segmentiert, um eine mögliche Kiste/eine Kandidaten-Kiste im Arbeitsraum des Roboters zu lokalisieren und um deren Position und Orientierung zu identifizieren. Wenn die Kandidatenkiste mit bekannten Parametern der Zielkiste übereinstimmt, d. h. einer Kiste mit bekannten Abmessungen und/oder Farbeigenschaften, führt der Controller eine Steuerungsaktion mit Bezug auf die Zielkiste aus. Beispielhafte Steuerungsaktionen können umfassen, dass ein Ergreifen und/oder Bewegen der Zielkiste und/oder einer Komponente, die sich darin befindet, durch ein Greiforgan des Roboters mit Hilfe von Steuerungsbefehlen, die an den Roboter übertragen werden, befohlen wird.
  • Bei einer speziellen Ausführungsform enthält ein Robotersystem einen Roboter mit einem Greiforgan, eine dreidimensionale Punktwolkenkamera (3D-Punktwolkenkamera) und einen Controller. Die Kamera kann betrieben werden, um eine Datendatei mit zweidimensionalen Farbdaten (2D-Farbdaten) und 3D-Punktwolken-Tiefendaten aufzunehmen und auszugeben. Der Controller, der mit der 3D-Punktwolkenkamera und dem Roboter in Verbindung steht, enthält einen Prozessor und einen Speicher, in dem Anweisungen zum Lokalisieren einer Zielkiste aufgezeichnet sind. Die Ausführung der Anweisungen durch den Prozessor veranlasst, dass der Controller die Datendatei von der 3D-Punktwolkenkamera und außerdem einen Satz von Eingabekriterien empfängt. Der Controller detektiert mehrere 2D-Liniensegmente und mehrere 3D-Liniensegmente in der empfangenen Datendatei und erzeugt einen Satz von 3D-Linien, was umfasst, dass zumindest einige der 2D-Liniensegmente auf mindestens einige der mehreren 3D-Liniensegmente zurückprojiziert werden. Außerdem gruppiert der Controller den erzeugten Satz von 3D-Linien in Gruppen mit sich schneidenden Linien, führt eine Normalvektor-Gruppierungsfunktion (NVG-Funktion) an den Gruppen der sich schneidenden Linien aus, um dadurch einen Satz möglicher Ebenen/Kandidaten-Ebenen zu identifizieren und identifiziert Sätze von sich schneidenden Ebenen aus dem Satz von Kandidaten-Ebenen. Mögliche Kisten/Kandidaten-Kisten werden dann aus den Sätzen von sich schneidenden Ebenen identifiziert und der Controller lokalisiert eine Zielkiste mit Hilfe der empfangenen Eingabekriterien aus den identifizierten Kandidaten-Kisten. Der Controller ist außerdem ausgestaltet, um die Ausführung einer Steuerungsaktion an der Zielkiste durch das Greiforgan des Roboters zu befehlen.
  • Ein Verfahren zur Verwendung mit dem Robotersystem umfasst, dass mit Hilfe eines Controllers des Robotersystems ein Satz von Eingabekriterien empfangen wird und dass mit Hilfe des Controllers eine Bilddatendatei von einer Punktwolkenkamera des Robotersystems empfangen wird. Die Bilddatendatei enthält 2D-Farbdaten, die typischerweise als Rot-, Grün-, Blau-Daten (RGB-Daten) beschrieben sind, und 3D-Tiefendaten. Das Verfahren umfasst außerdem, dass mehrere 2D-Liniensegmente und mehrere 3D-Liniensegmente in der empfangenen Datendatei detektiert werden, dass ein Satz von 3D-Linien erzeugt wird, was umfasst, dass zumindest einige der 2D-Liniensegmente auf mindestens einige der 3D-Liniensegmente zurückprojiziert werden, und dass der erzeugte Satz von 3D-Linien in Gruppen von sich schneidenden Linien gruppiert wird. Zusätzlich umfasst das Verfahren, dass eine NVG-Funktion an den Gruppen von sich schneidenden Linien ausgeführt wird, um einen Satz von Kandidaten-Ebenen zu identifizieren, dass Sätze von sich schneidenden Ebenen aus dem Satz von Kandidaten-Ebenen identifiziert werden, und dass Kandidaten-Kisten aus den Sätzen von sich schneidenden Ebenen identifiziert werden. Anschließend fährt das Verfahren fort, indem mit Hilfe der Eingabekriterien eine Zielkiste aus den identifizierten Kandidaten-Kisten lokalisiert wird, und es umfasst, dass mit Hilfe des Controllers eine Ausführung einer Steuerungsaktion an der Zielkiste durch ein Greiforgan eines Roboters des Robotersystems befohlen wird.
  • Bei einer anderen Ausführungsform enthält das Robotersystem einen Materialhandhabungsroboter mit einem Greiforgan in der Form eines mehrfingrigen Greifers, eine 3D-Punktwolkenkamera, die betrieben werden kann, um eine Datendatei mit 2D-Daten in der Form von RGB-Farbbilddaten und 3D-Punktwolken-Tiefendaten aufzunehmen und auszugeben, und einen Controller in Verbindung mit der Punktwolkenkamera und dem Roboter. Der Controller enthält einen Prozessor und einen Speicher, in dem Anweisungen zum Lokalisieren einer Zielkiste aufgezeichnet sind. Die Ausführung der Anweisungen durch den Prozessor bewirkt, dass der Controller die Datendatei von der 3D-Punktwolkenkamera empfängt, dass er einen Satz von Eingabekriterien empfängt, welche eine Länge, eine Breite, eine Höhe und/oder eine Farbe der Zielkiste enthalten, und dass er mehrere 2D-Liniensegmente und mehrere 3D-Liniensegmente in der empfangenen Datendatei detektiert. Außerdem führt der Controller in dieser Ausführungsform eine Vorverarbeitung der empfangenen Bilddatendatei mit Hilfe eines Tiefpassfilters aus, um Signalrauschen aus der Datendatei zu entfernen, bevor er die 2D- und 3D-Liniensegmenge detektiert, und er erzeugt einen Satz von 3D-Linien, was umfasst, dass er mindestens einige der 2D-Liniensegmente zurück auf mindestens einige der 3D-Liniensegmente mit Hilfe eines statistischen Ausgleichsprozesses projiziert.
  • Bei dieser Ausführungsform ist der Controller außerdem ausgestaltet, um den erzeugten Satz von 3D-Linien in Gruppen von sich schneidenden Linien zu gruppieren, um eine NVG-Funktion an den Gruppen von sich schneidenden Linien auszuführen, um einen Satz von Kandidaten-Ebenen zu identifizieren, um Sätze von sich schneidenden Ebenen aus dem Satz von Kandidaten-Ebenen zu identifizieren, und um Kandidaten-Kisten aus den Sätzen von sich schneidenden Ebenen zu identifizieren. Anschließend lokalisiert der Controller eine Ziel-Kiste mit Hilfe der Eingabekriterien aus den identifizierten Kandidaten-Kisten und befiehlt ein Ergreifen der lokalisierten Zielkiste durch den Greifer des Roboters.
  • Die vorstehenden Merkmale und Vorteile und andere Merkmale und Vorteile der vorliegenden Erfindung ergeben sich leicht aus der folgenden genauen Beschreibung der besten Arten, um die Erfindung auszuführen, wenn sie in Verbindung mit den beiliegenden Zeichnungen gelesen wird.
  • KURZBESCHREIBUNG DER ZEICHNUNGEN
  • 1 ist eine schematische Veranschaulichung einer beispielhaften Ausführungsform eines Robotersystems mit einer Funktionalität zur Ortsbestimmung einer dreidimensionalen Kiste (3D-Kiste), die hier offengelegt wird.
  • 2 ist ein Flussdiagramm, das ein Verfahren zum Lokalisieren und Identifizieren einer Zielkiste mit Hilfe des in 1 gezeigten Robotersystems beschreibt.
  • 3 ist eine schematische Darstellung einer 3D-Linien-Zusammenführungsaufgabe, welche 2D- und 3D-Liniensegmente als Teil des in 2 gezeigten Verfahrens zusammenführt oder korreliert.
  • 4 ist eine schematische Darstellung einer Liniengruppierungsaufgabe des Verfahrens von 2.
  • 5 ist eine schematische Darstellung einer unzureichenden Ebenengruppierungsaufgabe des in 2 gezeigten Verfahrens.
  • 6 ist eine schematische Darstellung von möglichen Kistenkonstruktionsentscheidungen des in 1 gezeigten Controllers.
  • GENAUE BESCHREIBUNG
  • Mit Bezug auf die Zeichnungen, bei denen gleiche Bezugszeichen in den mehreren Ansichten gleiche oder ähnliche Komponenten bezeichnen, und mit 1 beginnend, ist ein Robotersystem 10 gezeigt, das eine oder mehrere dreidimensionale Punktwolkenkameras (3D-Punktwolkenkameras) 12, die auch als Rot-, Grün-, Blau-Tiefenkameras (RGB-D-Kameras) bezeichnet werden, einen Roboter 14 mit Gelenken 15 und einem Greiforgan 16, und einen Controller (C) 20 aufweist. Der Controller 20, der mit dem Roboter 14 und der einen oder den mehreren Kameras 12 in Verbindung steht, ist so programmiert, dass er ein 3D-Zielobjekt in der Form einer Kiste 18 mit Hilfe der Ausführung von Anweisungen, die ein Verfahren 100 verkörpern, wobei ein Beispiel dafür nachstehend mit Bezug auf 2 beschrieben wird, automatisch lokalisiert und identifiziert. Das Robotersystem 10 kann verschiedene andere Sensoren beim Ausführen der ihm zugewiesenen Arbeitsaufgaben verwenden. Obwohl sie der Einfachheit halber in 1 weggelassen sind, können beispielhafte Sensoren Endschalter, Näherungssensoren, Kraft- oder Lastsensoren, taktile Sensoren und dergleichen umfassen.
  • Im Umfang der vorliegenden Erfindung kann die Kiste 18 von 1 eine beliebige rechteckige Kiste des Typs sein, der verwendet wird, um Komponenten oder Teile im Lager vorzuhalten, oder um derartige Komponenten in einer Produktionsanlage oder Lagerhallenanlage zu transportieren. Das heißt, dass die Kiste 18 durch lineare Kanten 21 in jeder ihrer Längen(L)-, Breiten(W)- und Hohen(H)-Abmessungen definiert ist. Diese herkömmlichen Kisten 18 können gestapelt, zusammengestellt oder gruppiert sein oder sie können einzeln überall in einer gegebenen Anlage angeordnet sein. Um zu ermöglichen, dass der Roboter 14 eine gewünschte Steuerungsaktion an der Kiste 18 ausführt, etwa das Ergreifen und/oder Bewegen der Kiste 18 und/oder eines beliebigen ihrer Inhalte mit Hilfe des Greiforgans 16, muss der Roboter 14 zunächst in der Lage sein, die Kiste 18 aus dem potentiellen Signalrauschen zu lokalisieren und zu identifizieren, das durch Arbeiter, Maschinen und Gerätschaften in einer typischen Anlage bereitgestellt wird.
  • Typische Sichtsysteme und hochauflösende Bildgebungsvorrichtungen können verwendet werden, um Objekte in einer Anlage zu lokalisieren. Aufgrund der relativ hohen Kosten der Hardware, der Komplexität der Bildverarbeitung und der Notwendigkeit, die Sichtsysteme mit einer umfangreichen Bibliothek aus Trainingsbildern zu trainieren, können derartige Vorgehensweisen jedoch unerwünscht sein. Die vorliegende Erfindung zielt darauf ab, ein explizites Training des Sichtsystems zu vermeiden, indem nur Abmessungen und/oder die Farbe einer Zielkiste angegeben wird, die durch den Roboter 14 lokalisiert werden soll. Die Zielkisten können in einer Echtzeitanwendung auf robuste Weise lokalisiert werden, indem 2D- und 3D-Informationen von den 3D-Punktwolkenkameras 12 zusammengeführt werden. Die vorliegende Herangehensweise nutzt zu ihrem Vorteil die relativen Stärken von beiden Bildtypen, wie nachstehend offengelegt wird. Um die Kosten weiter zu reduzieren, können die 3D-Punktwolkenkameras 12 als relativ kostengünstige Gaming-Kameras des Typs, der in der Technik bekannt ist, ausgeführt sein, und daher können die Kosten zur Implementierung der vorliegenden Herangehensweise im Vergleich mit existierenden Maschinenlerntechniken, etwa neuronalen Netzen, Stützvektormaschinen [engl.: Support-Vector-Machines] und dergleichen attraktiv sein.
  • Der Roboter 14 von 1 kann als Materialhandhabungsroboter ausgeführt sein, der als Greiforgan 16 einen betätigbaren Greifer aufweist, der geeignet ist, um die Kiste 18 zu ergreifen oder anzuheben, sobald die Kiste 18 lokalisiert und korrekt als Zielkiste identifiziert wurde. Als Beispiel kann der Roboter 14 als ein typischer sechsachsiger Industrieroboter aufgebaut sein, der auf einen Satz von Eingabebefehlen (Pfeil 11) von dem Controller 20 anspricht. Die Eingabebefehle (Pfeil 11) können als Kraft-, Impedanz- und/oder Positionsbefehle oder beliebige andere geeignete Befehle ausgeführt sein, welche letztlich das Greiforgan 16 in die Nähe der und in Kontakt mit der Kiste 18 manövrieren. Obwohl es der Einfachheit halber weggelassen wurde, kann jedes Gelenk 15 des Roboters 14 durch ein oder mehrere Gelenkaktoren angetrieben werden, z. B. Kugelgewinde-Gelenkmotoren, lineare Aktoren, rotatorische Aktoren oder dergleichen, wie in der Technik gut verstanden wird.
  • Der Controller 20 von 1 kann als eine oder mehrere Computervorrichtungen mit einem Prozessor (P) 22 und einem konkreten, nicht vorübergehenden Speicher (M) 24, in dem Anweisungen zum Ausführen des Verfahrens 100 aufgezeichnet sind, ausgeführt sein. Der Speicher 24 kann einen magnetischen oder optischen Speicher, einen elektrisch löschbaren programmierbaren Festwertspeicher (EEPROM) und dergleichen umfassen. Nach Bedarf kann zusätzlicher vorübergehender Speicher enthalten sein, z. B. Speicher mit wahlfreiem Zugriff (RAM), Speicher für interne Signalpuffer usw. Andere Hardware des Controllers 20 kann einen Hochgeschwindigkeits-Taktgeber, Analog/Digital-Schaltungen (A/D-Schaltungen), Digital/Analog-Schaltungen (D/A-Schaltungen) und beliebige notwendige Eingabe/Ausgabe-Schaltungen und -Vorrichtungen (I/O) sowie Signalaufbereitungs- und Pufferelektronik umfassen. Einzelne Steuerungsalgorithmen, die im Controller 20 vorhanden sind oder für den Controller 20 leicht zugänglich sind, können im Speicher 24 und/oder einem anderen geeigneten Speicher gespeichert sein und mit Hilfe des Prozessors 22 automatisch ausgeführt werden, um die erforderliche Steuerungsfunktionalität bereitzustellen.
  • Immer noch mit Bezug auf 1, können die 3D-Punktwolkenkameras 12 betrieben werden, um die Kiste 18 immer dann abzubilden, wenn die Kiste 18 in einem Sichtfeld 17 der Kameras 12 positioniert ist, und um aufgenommene Wolkendaten (Pfeil 19) der Kiste 18 zur Verarbeitung in Übereinstimmung mit dem Verfahren 100 zurück an den Controller 20 zu übertragen. Wie in der Technik bekannt ist, ist eine 3D-Punktwolke ein Satz von Datenpunkten in einem 3D-Koordinatensystem, etwa dem Kartesischen X-, Y-, Z-Koordinatensystem. Diese Kameras sind in der Lage, eine beliebige Anzahl von Datenpunkten aufzunehmen, welche die Oberflächenkontur eines Zielobjekts beschreiben, und um die aufgenommenen Punktwolkendaten (Pfeil 19) als eine Tiefendatendatei mit synchronisierten Farbdaten auszugeben. Der Controller 20 kann vorbestimmte Zielinformationen (Pfeil 13) empfangen, welche die bekannte Größe, Form, Farbe und/oder andere beschreibende Parameter der speziellen Zielkiste definieren, die durch den Roboter 14 lokalisiert werden soll.
  • Folglich werden dem in 1 gezeigten Controller 20 die Abmessungen, die Farbe und/oder andere Identifizierungsmerkmale der Zielkiste, die er zu lokalisieren versucht, bekannt gegeben, bevor die von der bzw. den 3D-Punktwolkenkameras 12 aufgenommenen Punktwolkendaten (Pfeil 19) verarbeitet werden. Obwohl in 1 zur Einfachheit der Veranschaulichung zwei 3D-Punktwolkenkameras 12 gezeigt sind, kann das vorliegende Verfahren 100 mit nur einer 3D-Punktwolkenkamera 12 oder mit einer beliebigen anderen Anzahl von 3D-Punktwolkenkameras 12 arbeiten. Beispielhafte 3D-Punktwolkenkameras 12 können ohne Einschränkung eine beispielhafte 2D-Auflösung von 640 × 480 Pixeln für bis zu 30 Bilder pro Sekunde oder eine Auflösung von 1280 × 960 für bis zu 12 Bilder pro Sekunde aufweisen. Die 3D-Punktwolkenkameras 12 können eine beispielhafte 3D-Punktgenauigkeit und Tiefenerfassungsauflösung von etwa 0,3 mm bei einem Abstand von 1 m vom Zielobjekt aufweisen, und sie können von dem abgebildeten Zielobjekt etwa 0,5 bis etwa 1,5 m entfernt positioniert sein. Andere Kamerakonfigurationen können verwendet werden, ohne von dem beabsichtigten erfinderischen Umfang abzuweichen, sofern die aufgenommenen Punktwolkendaten (Pfeil 19) 2D-Farbbilddaten und 3D-Tiefendaten enthalten und diese automatisch synchronisiert werden. Wie in der Technik bekannt ist, bezeichnet der Begriff ”automatisch synchronisieren” die zeitliche Synchronisation der aufgenommenen 2D-Daten mit den 3D-Daten, die in die gleichen Punktwolkendaten (Pfeil 19 von 1) aufgenommen wurden.
  • Mit Bezug auf 2 beginnt eine beispielhafte Ausführungsform des Verfahrens 100 mit Schritt 102, bei dem die aufgenommenen Punktwolkendaten (Pfeil 19 von 1) empfangen und vorverarbeitet werden. Die Punktwolkendaten enthalten sowohl 2D-Farbdaten (RGB-Daten) als auch 3D-Positionsdaten, wobei beispielsweise jeder Datenpunkt in der Punktwolke X-, Y- und Z-Koordinaten aufweist. Die Punktwolkenkameras 12 sind automatisch synchronisiert, was, wie in der Technik bekannt ist, die zeitliche Synchronisation der aufgenommenen 2D-Daten mit den 3D-Daten, die in die gleichen Punktwolkendaten (Pfeil 19 von 1) aufgenommen wurden, bezeichnet. Der Begriff ”Vorverarbeitung” bezeichnet bekannte Bildverarbeitungstechniken wie etwa eine Bildglättung und Kantenverbesserung. Die Glättung und Verbesserung kann das Unterdrücken von hoch- und/oder niederfrequentem Rauschen in einem aufgenommenen Bild umfassen, indem etwa ein spezielles Frequenzband unter Verwendung eines Bandpassfilters und dergleichen ausgefiltert wird.
  • Bei Schritt 104 führt der Controller 20 als Nächstes eine 2D/3D-Liniendetektionssequenz aus den vorverarbeiteten Bildern von Schritt 102 aus. In der Technik sind verschiedene Verfahren bekannt, um lineare Merkmale in einem Bild zu detektieren. Derartige Herangehensweisen werden typischerweise bei der Computerbilderfassung, der Bildsegmentierung und der Mustererkennung verwendet. Beispielhafte Liniendetektionsprozesse umfassen ohne Einschränkung die Hough-Transformation oder die Schnelle Hough-Transformation.
  • Bei Schritt 106 führt der Controller 20 von 1 die zuvor bei Schritt 104 detektierten 2D- und 3D-Linien zusammen. Wie vorstehend erwähnt wurde, sind die Kameratypen, die für die Punktwolkenkameras 12 von 1 verwendet werden, 3D-Punktwolkenkameras, Vorrichtungen, die 2D-Daten als RGB-Bild und zugehörige 3D-Punkte ausgibt, welche XYZ- oder andere 3D-Positionen im freien Raum beschreiben. Im Vergleich mit 3D-Daten sind 2D-Daten präziser, aber bei 2D-Daten weiß man nicht genau, wo sich ein aufgenommener 2D-Datenpunkt im freien Raum befindet. Andererseits liefern 3D-Daten die fehlenden Ortsbestimmungsinformationen, aber diese zusätzlichen Informationen sind im Vergleich mit den 2D-Daten weniger genau. Schritt 106 umfasst daher, dass diese verschiedenen Datenteile für das gleiche Ziel zusammengeführt werden.
  • Kurz mit Bezug auf 3 umfasst ein beispielhafter Satz von Linien 40, die von Schritt 104 ausgegeben wurden, 2D-Liniensegmente 42, welche die detektierten 2D-Linien repräsentieren, und 3D-Liniensegmente 44, welche die 3D-Punktwolkendaten aus der gleichen automatisch synchronisierten Bilddatendatei von den 3D-Punktwolkenkameras 12 von 1 repräsentieren. Schritt 106 von 2 kann umfassen, dass die 2D-Daten zurück in den 3D-Raum projiziert werden, wie durch Pfeile A angezeigt ist. Im Vergleich mit 2D-Daten sind 3D-Daten allgemein verrauscht und weniger genau, und sie sind daher unstetig. Das bedeutet, dass nach dem Stattfinden der Liniendetektion bei Schritt 104 in den 3D-Daten immer noch Lücken existieren können, wie durch die Abstände zwischen den separaten 3D-Segmenten 44 dargestellt ist. Die Daten von den 2D-Liniensegmenten 42 können durch den Controller 20 von 1 zurück in den 3D-Raum projiziert werden, um die Lücken in den 3D-Liniensegmenten 44 auszufüllen, beispielsweise unter Verwendung eines statistischen Ausgleichsansatzes. Schritt 106 erzeugt einen Satz von neuen 3D-Linien, welche zuvor segmentierte 3D-Liniensegmente verbinden können, die mit einem oder mehreren 2D-Liniensegmenten korrelieren. Nachdem dies stattgefunden hat, können die 2D-Linieninformationen von Schritt 104 verworfen werden. Das Verfahren 100 geht dann zu Schritt 108 weiter.
  • Schritt 108 von 2 kann umfassen, dass mit Hilfe des Controllers 20 von 1 eine Liniengruppierungsfunktion ausgeführt wird, um festzustellen, wie oder ob sich die neuen 3D-Linien von Schritt 106 schneiden. Wenn sich die Linien bei einem Punkt P schneiden, werden die Linien als potentielle Kandidaten-Liniengruppen gruppiert, d. h. LG = (L1, L2, P), wobei LG eine gegebene Kandidaten-Liniengruppe repräsentiert, L1 eine Linie in der Kandidatengruppe repräsentiert, L2 eine Schnittlinie in der gleichen Gruppe ist und P ein Schnittpunkt im 3D-Raum der Linien L1 und L2 ist.
  • Kurz mit Bezug auf 4 kann der Controller 20 von 1 einen Normalvektor (n) für jedes sich schneidende Linienpaar (L1, L2, P) berechnen, um Schritt 108 auszuführen. Andere Kandidaten-Linien sind als LC repräsentiert. Nach Bedarf können alle Liniensegmente verlängert werden, um den Schnittpunkt P herauszufinden. Der Normalvektor (n) kann als das Kreuzprodukt der Linien L1 und L2 berechnet werden, d. h. n = L1 × L2, wie in der Technik gut bekannt ist. Folglich ist die Ausgabe von Schritt 108 ein Satz von Normalvektoren (n).
  • Schritt 110 von 2 umfasst das Durchführen eines Normalvektorgruppierungsprozesses (NVG-Prozesses). Bekannte NVG-Prozesse beruhen auf der Tatsache, dass 3D-Punkte, die sich auf einer gemeinsamen Ebene befinden, ähnliche Normalvektoren (n) aufweisen werden. Daher verwendet NVG den IJK-Raum, welcher, wie in der Technik bekannt ist, ein weiterer 3D-Koordinatenraum ist, der rechtwinklig zu dem XYZ-Raum ist, um festzustellen, welche Normalvektoren (n) von Schritt 108 in die gleiche Richtung zeigen. Je besser eine Ansammlung von Normalvektoren konzentriert ist, desto wahrscheinlicher ist es, dass die Vektoren an der gleichen ebenen oder planaren interessierenden Oberfläche entspringen.
  • Eine derartige Oberfläche kann eine rechteckige Oberfläche der Zielkiste sein, die der Roboter 14 von 1 als Teil des Verfahrens 100 zu lokalisieren versucht. Daher gibt Schritt 110 einen Satz von Kandidaten-Ebenen aus, indem er einen Satz von Vektoren Ni von k sich schneidenden Paaren gruppiert, d. h. Ni = {(L1, L2, P)k}. Sobald der Satz von Kandidaten-Ebenen bestimmt worden ist, geht das Verfahren 100 zu Schritt 112 weiter.
  • Mit Bezug auf 5 gruppiert der Controller bei Schritt 112 als Nächstes Ebenen aus den Kandidaten-Ebenen von Schritt 110 in eine Ebenengruppierung (PG) oder eine unzureichende Ebenengruppierung (DPG). In der Ebenengruppierung wird die Gruppe als PG = (L1, L2, L3, L4, n) beschrieben. Wenn zwei orthogonale Sätze mit dem gleichen Normalvektor (n) und der gleichen Phase identifiziert werden, beschreiben diese eine einzige Ebene. Bei der unzureichenden Ebenengruppierung kann die Gruppe als DPG = (L4, L5, L6, n) beschrieben werden, d. h. weniger als vier Linien sind für eine mögliche Seite (F) vorhanden. Daher wird etwas beschrieben, das weniger als eine vollständige Ebene ist, in diesem speziellen Fall durch sich schneidende Liniensegmente (L5, L6) und ein Liniensegment L4, welche alle tatsächlich in der gleichen Ebene liegen können oder auch nicht. Diese möglichen Ebenen/Kandidaten-Ebenen können dennoch brauchbar und gültig sein und können daher von dem Controller 20 von 1 als ergänzende Informationen, die zum Identifizieren einer gegebenen Zielkiste beitragen, betrachtet werden.
  • Schritt 114 umfasst, dass aus den Kandidaten-Ebenen, die bei Schritt 112 bestimmt wurden, Kisten konstruiert werden. Der Controller 20 kann aus den Ebenen-Gruppierungen (PG) von Schritt 112 feststellen, ob drei Ebenen (P1, P2, P3) wie in 6 gezeigt, identifiziert wurden, die in rechten Winkeln zueinander angeordnet sind, d. h. in der Form einer typischen rechteckigen Kiste. Schritt 114 kann umfassen, dass Ebenen zu verschiedenen Kandidaten-Kisten mit drei Ebenen, zwei Ebenen und einer Ebene gruppiert werden. Nach dieser Gruppierung geht das Verfahren 100 zu Schritt 116 weiter.
  • Bei Schritt 116 von 2 trifft der Controller 20 von 1 als Nächstes eine Entscheidung bezüglich der Kisten von Schritt 114. In 6 ist eine Kandidaten-Kiste (BC) mit drei Ebenen (P1, P2, P3) gezeigt. Eine derartige Kandidaten-Kiste (BC) weist eine große Wahrscheinlichkeit auf, dass sie eine tatsächliche rechteckige Kiste ist. Auch wenn es nur zwei Ebenen gibt, die in rechten Winkeln zueinander angeordnet sind, beispielsweise die Ebenen P1 und P2, können diese Informationen dennoch eine wahrscheinliche Kandidaten-Kiste nahelegen, da einige zusätzliche Abmessungsdaten in der Form der Tiefe bereitgestellt werden. Wenn nur eine Ebene (P1, P2 oder P3) identifiziert wird, ist dies im Vergleich mit einer Kandidaten-Kiste, die zwei oder drei Ebenen aufweist, eine schlechte Kandidaten-Kiste, da Tiefeninformationen mit Hilfe einer einzigen Ebene nicht bereitgestellt werden. Jedoch kann die Identifikation einer einzigen Ebene dennoch für den Controller 20 von 1 nützlich sein, beispielsweise, indem bekannte Abstände zwischen Scheitelpunkten mit vorbestimmten Größenkriterien für die spezielle Zielkiste, die gerade lokalisiert wird, abgeglichen werden.
  • Als Teil von Schritt 116 kann der Controller 20 von 1 eine Zielkiste aus den identifizierten Kandidaten-Kisten mit Hilfe von Eingabekriterien wie etwa den vorbestimmten Zielinformationen (Pfeil 13 von 1) lokalisieren. Wenn beispielsweise die vorbestimmten Zielinformationen eine Kiste beschreiben, die Abmessungen von 0,5 m auf jeder Seite aufweist, kann der Controller 20 die Abmessungen der Kandidaten-Kiste (BC) mit diesen Informationen vergleichen, um festzustellen, ob die Abmessungen in ausreichender Weise übereinstimmen. Farbe ist ein weiterer möglicher Vergleichsstandard.
  • Wenn eine Übereinstimmung detektiert wird, kann der Controller 20 die Ausführung einer Steuerungsaktion an der Zielkiste, z. B. der Kiste 18 von 1, durch das Greiforgan 16 des Roboters 14, der in 1 gezeigt ist, befehlen. Beispielhafte Steuerungsaktionen können umfassen, dass dem Roboter 14 mit Hilfe der Übertragung der Eingabebefehle (Pfeile 11 von 1) an die Aktoren der Gelenke 15, die in der gleichen Figur gezeigt sind, befohlen wird, das Greiforgan 16 an der Kiste 18 festzuklemmen. Auf diese Weise kann von dem Roboter 14 auf die Kiste 18 eingewirkt werden, sobald sie unter Verwendung des vorstehend beschriebenen Verfahrens korrekt als eine Zielkiste identifiziert wurde.
  • Obwohl die besten Arten zum Ausführen der Erfindung im Detail beschrieben wurden, wird der Fachmann auf dem Gebiet, das diese Erfindung betrifft, verschiedene alternative Konstruktionen und Ausführungsformen erkennen, um die Erfindung im Umfang der beigefügten Ansprüche in die Praxis umzusetzen.

Claims (9)

  1. Robotersystem, umfassend: einen Roboter mit einem Greiforgan; eine dreidimensionale Punktwolkenkamera (3D-Punktwolkenkamera), die betrieben werden kann, um eine Bilddatendatei aufzunehmen und auszugeben, die zweidimensionale Farbdaten (2D-Farbdaten) und 3D-Tiefendaten aufweist; und einen Controller in Verbindung mit der Kamera und dem Roboter, der einen Prozessor und einen Speicher aufweist, in dem Anweisungen zum Lokalisieren einer Zielkiste aufgezeichnet sind, wobei eine Ausführung der Anweisungen durch den Prozessor veranlasst, dass der Controller: die Bilddatendatei von der Kamera empfängt; einen Satz von Eingabekriterien empfängt; mehrere 2D-Liniensegmente und mehrere 3D-Liniensegmente in der empfangenen Bilddatendatei detektiert; einen Satz neuer 3D-Linien erzeugt, was umfasst, dass er zumindest einige der 2D-Liniensegmente zurück auf zumindest einige der 3D-Liniensegmente projiziert; den erzeugten Satz neuer 3D-Linien in Gruppen mit einander schneidenden Linien gruppiert; eine Normalvektor-Gruppierungsfunktion an den Gruppen mit sich schneidenden Linien ausführt, um einen Satz von Kandidaten-Ebenen zu identifizieren; Sätze von sich schneidenden Ebenen aus dem identifizierten Satz von Kandidaten-Ebenen identifiziert; aus den identifizierten Sätzen von sich schneidenden Ebenen Kandidaten-Kisten identifiziert; aus den identifizierten Kandidaten-Kisten unter Verwendung der Eingabekriterien die Zielkiste lokalisiert; und die Ausführung einer Steuerungsaktion an der Zielkiste durch das Greiforgan des Roboters befiehlt.
  2. Robotersystem nach Anspruch 1, wobei die 2D-Farbdaten Rot-, Grün- und Blau-Farbdaten (RGB-Farbdaten) sind.
  3. Robotersystem nach Anspruch 1, wobei der Controller ausgestaltet ist, um die empfangene Bilddatendatei vorzuverarbeiten, um Signalrauschen aus der Bilddatendatei zu entfernen, bevor die 2D- und 3D-Liniensegmente detektiert werden.
  4. Robotersystem nach Anspruch 1, wobei der Roboter ein Materialhandhabungsroboter ist und das Greiforgan ein mehrfingriger Greifer ist.
  5. Robotersystem nach Anspruch 1, wobei die Eingabekriterien eine Länge, eine Breite, eine Höhe und/oder eine Farbe der Zielkiste umfassen.
  6. Robotersystem nach Anspruch 1, wobei der Controller ausgestaltet ist, um einen statischen Ausgleichsprozess auszuführen, um die 2D-Liniensegmente zurück auf die 3D-Liniensegmente zu projizieren.
  7. Verfahren zur Verwendung mit einem Robotersystem, wobei das Verfahren umfasst, dass: ein Satz von Eingabekriterien mit Hilfe eines Controllers des Robotersystems empfangen wird; mit Hilfe des Controllers eine Bilddatendatei von einer dreidimensionalen Punktwolkenkamera (3D-Punktwolkenkamera) des Robotersystems empfangen wird, wobei die Bilddatendatei zweidimensionale Farbdaten (2D-Farbdaten) und 3D-Tiefendaten enthält; mehrere 2D-Liniensegmente und mehrere 3D-Liniensegmente in der empfangenen Bilddatendatei detektiert werden; ein Satz neuer 3D-Linien erzeugt wird, was umfasst, dass zumindest einige der 2D-Liniensegmente zurück auf zumindest einige der 3D-Liniensegmente projiziert werden; der erzeugte Satz neuer 3D-Linien in Gruppen von sich schneidenden Linien gruppiert wird; eine Normalvektor-Gruppierungsfunktion an den Gruppen von sich schneidenden Linien ausgeführt wird, um dadurch einen Satz von Kandidaten-Ebenen zu identifizieren; aus dem Satz von Kandidaten-Ebenen Sätze von sich schneidenden Ebenen identifiziert werden; Kandidaten-Kisten aus den identifizierten Sätzen von sich schneidenden Ebenen identifiziert werden; mit Hilfe eines Controllers eine Zielkiste aus den identifizierten Kandidaten-Kisten unter Verwendung der Eingabekriterien lokalisiert wird; und mit Hilfe des Controllers eine Ausführung einer Steuerungsmaßnahme an der Zielkiste durch ein Greiforgan eines Roboters des Robotersystems befohlen wird.
  8. Verfahren nach Anspruch 7, wobei das Empfangen der Eingabekriterien umfasst, dass eine Länge, eine Breite, eine Höhe und/oder eine Farbe der Zielkiste empfangen wird.
  9. Verfahren nach Anspruch 7, wobei das Erzeugen des Satzes neuer 3D-Linien umfasst, dass zumindest einige der 2D-Liniensegmente zurück auf mindestens einige der 3D-Liniensegmente mit Hilfe einer statistischen Ausgleichsfunktion projiziert werden.
DE102014102943.7A 2014-02-13 2014-03-06 Robotersystem mit Funktionalität zur Ortsbestimmung einer 3D- Kiste Active DE102014102943B4 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US14/179,968 2014-02-13
US14/179,968 US9233469B2 (en) 2014-02-13 2014-02-13 Robotic system with 3D box location functionality

Publications (2)

Publication Number Publication Date
DE102014102943A1 true DE102014102943A1 (de) 2015-08-13
DE102014102943B4 DE102014102943B4 (de) 2018-08-30

Family

ID=53676758

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102014102943.7A Active DE102014102943B4 (de) 2014-02-13 2014-03-06 Robotersystem mit Funktionalität zur Ortsbestimmung einer 3D- Kiste

Country Status (3)

Country Link
US (1) US9233469B2 (de)
CN (1) CN104842361B (de)
DE (1) DE102014102943B4 (de)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102017127950B4 (de) * 2016-12-01 2019-11-07 Fanuc Corporation Robotersteuerung, die automatisch eine störzone für einen roboter vorgibt
DE102021118885B4 (de) 2020-07-28 2022-11-10 Nvidia Corporation Maschinelles lernen zur steuerung von objektübergaben

Families Citing this family (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8648867B2 (en) 2006-09-25 2014-02-11 Neurala Llc Graphic processor based accelerator system and method
EP2999940A4 (de) 2013-05-22 2017-11-15 Neurala Inc. Verfahren und vorrichtung zur frühen sensorischen integration und robusten erfassung von wissen der realen welt
EP3000030A4 (de) 2013-05-22 2017-07-05 Neurala Inc. Verfahren und vorrichtung für iterative nichtspezifische verteilte laufzeit-architektur und deren anwendung zur cloud-intelligenz
US9626566B2 (en) 2014-03-19 2017-04-18 Neurala, Inc. Methods and apparatus for autonomous robotic control
KR20170036657A (ko) * 2014-03-19 2017-04-03 뉴럴라 인코포레이티드 자율 로봇 제어를 위한 방법들 및 장치
US9492923B2 (en) 2014-12-16 2016-11-15 Amazon Technologies, Inc. Generating robotic grasping instructions for inventory items
JP6352893B2 (ja) 2015-12-09 2018-07-04 ファナック株式会社 プログラマブルロジックコントローラとの通信機能を備えたロボット制御装置及び通信システム
CN105729468B (zh) * 2016-01-27 2018-01-09 浙江大学 一种基于多深度摄像机增强的机器人工作台
WO2017166006A1 (en) 2016-03-28 2017-10-05 Abb Schweiz Ag Method, system and apparatus of determining search parameters for welding seam point calibration
US9687983B1 (en) * 2016-05-11 2017-06-27 X Development Llc Generating a grasp pose for grasping of an object by a grasping end effector of a robot
CN106269548A (zh) * 2016-09-27 2017-01-04 深圳市创科智能技术有限公司 一种物体自动分拣方法及其装置
US10315866B2 (en) * 2016-10-20 2019-06-11 Intelligrated Headquarters, Llc 3D-2D vision system for robotic carton unloading
US10515319B2 (en) * 2016-12-16 2019-12-24 Fetch Robotics, Inc. System and method for computing a probability that an object comprises a target
EP3444783A1 (de) * 2017-08-17 2019-02-20 ABB Schweiz AG Robotersystem und verfahren zur steuerung
CN107225573A (zh) * 2017-07-05 2017-10-03 上海未来伙伴机器人有限公司 机器人的动作控制方法和装置
US11117262B2 (en) * 2017-08-01 2021-09-14 eBots Inc. Intelligent robots
CN107479501A (zh) * 2017-09-28 2017-12-15 广州智能装备研究院有限公司 基于深度学习的3d零部件吸取方法
CN107932560B (zh) * 2017-11-14 2021-04-27 上海交通大学 一种人机安全防护***和防护方法
US11225039B2 (en) 2018-06-08 2022-01-18 Aurora Flight Sciences Corporation Systems and methods to automate composite manufacturing quality checks
CN108931983B (zh) * 2018-09-07 2020-04-24 深圳市银星智能科技股份有限公司 地图构建方法及其机器人
CN111696144B (zh) * 2019-03-11 2024-06-25 北京地平线机器人技术研发有限公司 深度信息确定方法、深度信息确定装置及电子设备
CN109820350B (zh) * 2019-03-24 2021-02-12 济宁市传染病医院 一种自动分类存取档案柜
CN110238831B (zh) * 2019-07-23 2020-09-18 青岛理工大学 基于rgb-d图像及示教器的机器人示教***及方法
US11389965B2 (en) 2019-07-26 2022-07-19 Mujin, Inc. Post-detection refinement based on edges and multi-dimensional corners
CN111783529B (zh) * 2019-07-26 2021-07-09 牧今科技 基于边缘和多维拐角的检测后改善
DE102021202759A1 (de) 2021-03-22 2022-09-22 Robert Bosch Gesellschaft mit beschränkter Haftung Vorrichtung und Verfahren zum Trainieren eines neuronalen Netzwerks zum Steuern eines Roboters
DE102021210903A1 (de) 2021-09-29 2023-03-30 Robert Bosch Gesellschaft mit beschränkter Haftung Verfahren zum Aufnehmen eines Objekts mittels einer Robotervorrichtung
CN113733100B (zh) * 2021-09-29 2022-10-28 珠海优特电力科技股份有限公司 巡检操作机器人的目标定位方法、装置、设备及存储介质

Citations (6)

* 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
DE102006036346A1 (de) 2006-08-03 2008-02-07 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Verfahren zur automatisierten 3-D-Objekterkennung und Lagebestimmung
DE102007008598A1 (de) 2007-02-19 2008-08-21 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Automatische Programmierung von Robotern zum Abschweißen gehefteter Profile auf Mikropaneelen mit Hilfe digitaler Bilderfassung
DE102007026956A1 (de) 2007-06-12 2008-12-18 Kuka Innotec Gmbh Verfahren und System zum Roboter geführten Depalettieren von Reifen
DE102008020579A1 (de) 2008-04-24 2009-11-05 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Verfahren zur automatischen Objektlageerkennung und Bewegung einer Vorrichtung relativ zu einem Objekt
AT507339A1 (de) 2008-09-26 2010-04-15 Sticht Fertigungstech Stiwa Verfahren und anlage zum aufnehmen und/oder bearbeiten von objekten

Family Cites Families (37)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4402053A (en) * 1980-09-25 1983-08-30 Board Of Regents For Education For The State Of Rhode Island Estimating workpiece pose using the feature points method
US6163946A (en) * 1981-05-11 2000-12-26 Great Lakes Intellectual Property Vision target based assembly
US6317953B1 (en) * 1981-05-11 2001-11-20 Lmi-Diffracto Vision target based assembly
US5579444A (en) * 1987-08-28 1996-11-26 Axiom Bildverarbeitungssysteme Gmbh Adaptive vision-based controller
CN2133863Y (zh) * 1992-09-23 1993-05-19 张应铭 光学套版投映装置及装有该装置的影象套版机
US5856844A (en) * 1995-09-21 1999-01-05 Omniplanar, Inc. Method and apparatus for determining position and orientation
JPH10124767A (ja) * 1996-10-24 1998-05-15 Hochiki Corp 防災監視制御盤のパネル構造
US7995096B1 (en) * 1999-09-23 2011-08-09 The Boeing Company Visual security operations system
US6297844B1 (en) * 1999-11-24 2001-10-02 Cognex Corporation Video safety curtain
JP2003136465A (ja) * 2001-11-06 2003-05-14 Yaskawa Electric Corp 検出対象物の3次元位置・姿勢決定方法とロボット用視覚センサ
JP3842233B2 (ja) * 2003-03-25 2006-11-08 ファナック株式会社 画像処理装置及びロボットシステム
US8625854B2 (en) * 2005-09-09 2014-01-07 Industrial Research Limited 3D scene scanner and a position and orientation system
JP2007090448A (ja) * 2005-09-27 2007-04-12 Honda Motor Co Ltd 二次元コード検出装置及びそのプログラム、並びに、ロボット制御情報生成装置及びロボット
JP4839827B2 (ja) * 2005-12-26 2011-12-21 コニカミノルタセンシング株式会社 3次元測定装置
CA2591808A1 (en) * 2007-07-11 2009-01-11 Hsien-Hsiang Chiu Intelligent object tracking and gestures sensing input device
JP5297727B2 (ja) * 2008-09-04 2013-09-25 トヨタ自動車株式会社 ロボット装置及び物体の位置姿勢推定方法
US8442304B2 (en) * 2008-12-29 2013-05-14 Cognex Corporation System and method for three-dimensional alignment of objects using machine vision
JP5567908B2 (ja) * 2009-06-24 2014-08-06 キヤノン株式会社 3次元計測装置、その計測方法及びプログラム
EP2400261A1 (de) * 2010-06-21 2011-12-28 Leica Geosystems AG Optisches Messverfahren und Messsystem zum Bestimmen von 3D-Koordinaten auf einer Messobjekt-Oberfläche
JP5624394B2 (ja) * 2010-07-16 2014-11-12 キヤノン株式会社 位置姿勢計測装置、その計測処理方法及びプログラム
JP5671281B2 (ja) * 2010-08-20 2015-02-18 キヤノン株式会社 位置姿勢計測装置、位置姿勢計測装置の制御方法及びプログラム
JP5924862B2 (ja) * 2010-12-15 2016-05-25 キヤノン株式会社 情報処理装置、情報処理方法及びプログラム
JP5863440B2 (ja) * 2010-12-28 2016-02-16 キヤノン株式会社 情報処理装置および方法
US8639644B1 (en) * 2011-05-06 2014-01-28 Google Inc. Shared robot knowledge base for use with cloud computing system
US8380349B1 (en) * 2011-05-06 2013-02-19 Google Inc. Methods and systems for providing instructions to a robotic device
EP2527784A1 (de) * 2011-05-19 2012-11-28 Hexagon Technology Center GmbH Optisches Messverfahren und Messsystem zum Bestimmen von 3D-Koordinaten auf einer Messobjekt-Oberfläche
US9199380B2 (en) * 2011-10-28 2015-12-01 University Of Washington Through Its Center For Commercialization Acoustic proximity sensing
JP2013101045A (ja) * 2011-11-08 2013-05-23 Fanuc Ltd 物品の3次元位置姿勢の認識装置及び認識方法
US8965104B1 (en) * 2012-02-10 2015-02-24 Google Inc. Machine vision calibration with cloud computing systems
US8933912B2 (en) * 2012-04-02 2015-01-13 Microsoft Corporation Touch sensitive user interface with three dimensional input sensor
US9846960B2 (en) * 2012-05-31 2017-12-19 Microsoft Technology Licensing, Llc Automated camera array calibration
US8996167B2 (en) * 2012-06-21 2015-03-31 Rethink Robotics, Inc. User interfaces for robot training
JP6021533B2 (ja) * 2012-09-03 2016-11-09 キヤノン株式会社 情報処理システム、装置、方法及びプログラム
CN103019023B (zh) * 2012-11-21 2015-10-28 中山大学 基于体视技术的全视角三维显示***和方法
US9041914B2 (en) * 2013-03-15 2015-05-26 Faro Technologies, Inc. Three-dimensional coordinate scanner and method of operation
US9904356B2 (en) * 2013-05-28 2018-02-27 The Boeing Company Tracking a user to support tasks performed on complex-system components
US9395810B2 (en) * 2013-05-28 2016-07-19 The Boeing Company Ubiquitous natural user system

Patent Citations (6)

* 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
DE102006036346A1 (de) 2006-08-03 2008-02-07 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Verfahren zur automatisierten 3-D-Objekterkennung und Lagebestimmung
DE102007008598A1 (de) 2007-02-19 2008-08-21 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Automatische Programmierung von Robotern zum Abschweißen gehefteter Profile auf Mikropaneelen mit Hilfe digitaler Bilderfassung
DE102007026956A1 (de) 2007-06-12 2008-12-18 Kuka Innotec Gmbh Verfahren und System zum Roboter geführten Depalettieren von Reifen
DE102008020579A1 (de) 2008-04-24 2009-11-05 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Verfahren zur automatischen Objektlageerkennung und Bewegung einer Vorrichtung relativ zu einem Objekt
AT507339A1 (de) 2008-09-26 2010-04-15 Sticht Fertigungstech Stiwa Verfahren und anlage zum aufnehmen und/oder bearbeiten von objekten

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102017127950B4 (de) * 2016-12-01 2019-11-07 Fanuc Corporation Robotersteuerung, die automatisch eine störzone für einen roboter vorgibt
US10481571B2 (en) 2016-12-01 2019-11-19 Fanuc Corporation Robot controller which automatically sets interference region for robot
DE102021118885B4 (de) 2020-07-28 2022-11-10 Nvidia Corporation Maschinelles lernen zur steuerung von objektübergaben
US11597078B2 (en) 2020-07-28 2023-03-07 Nvidia Corporation Machine learning control of object handovers

Also Published As

Publication number Publication date
US9233469B2 (en) 2016-01-12
CN104842361B (zh) 2017-05-17
US20150224648A1 (en) 2015-08-13
CN104842361A (zh) 2015-08-19
DE102014102943B4 (de) 2018-08-30

Similar Documents

Publication Publication Date Title
DE102014102943B4 (de) Robotersystem mit Funktionalität zur Ortsbestimmung einer 3D- Kiste
DE102015102740B4 (de) Vorrichtung und Verfahren zum Anordnen von Gegenständen mittels Roboter und Gegenstandübertragungssystem
DE102016122678B4 (de) Werkstückpositions-/-Stellungsberechnungssystem und Handhabungssystem
DE102016000995B4 (de) Förderrobotersystem mit dreidimensionalem Sensor
DE102014212304B4 (de) Informationsverarbeitungsvorrichtung, Informationsverarbeitungsverfahren und Speichermedium
DE102015208584B4 (de) Greifvorrichtung und Greifverfahren
DE102015002760B4 (de) Robotersimulationssystem, das den Prozess des Entnehmens von Werkstücken simuliert
DE102013109220B4 (de) Robotervorrichtung und Verfahren zum Herausnehmen von Bulk-Ware aus einem Lager
DE102013018222B4 (de) Objektaufnahmevorrichtung und Verfahren zum Aufnehmen eines Objekts
DE112019000177T5 (de) Ein robotersystem mit automatisiertem paketregistrierungsmechanismus und verfahren zum betreiben dieses systems
DE102017108727B4 (de) Verfahren zur Erstellung einer Datenbank mit Greiferposen, Verfahren zum Steuern eines Roboters, computerlesbares Speichermedium und Handhabungssystem
DE102021107568A1 (de) Adaptive planung von zugriffen zum aufheben von behältern
DE102015111080B4 (de) Robotervorrichtung mit maschinellem Sehen
DE102015001527A1 (de) Robotersystem, das visuelle Rückmeldung verwendet
DE102021121063A1 (de) Effiziente datengenerierung für das greifenlernen mit allgemeinen greifern
DE102016001174A1 (de) Robotersystem zum Entnehmen von Werkstücken mit Umrechenfunktion von Position und Orientierung und Verfahren zum Entnehmen von Werkstücken
DE112018007727B4 (de) Robotersystem
DE102021103726B4 (de) Messparameter-Optimierungsverfahren und -vorrichtung sowie Computersteuerprogramm
DE102015000587A1 (de) Roboterprogrammiervorrichtung zum Erstellen eines Roboterprogramms zum Aufnehmen eines Bilds eines Werkstücks
DE102020116803A1 (de) System und verfahren zur objekterkennung auf der grundlage von bilddaten
DE102015001579A1 (de) Robotersystem mit Vermeidung unbeabsichtigten Abwurfs geförderter Gegenstände
WO2018193130A1 (de) Verfahren zur erstellung einer datenbank mit greiferposen, verfahren zum steuern eines roboters, computerlesbares speichermedium und handhabungssystem
DE102022130652A1 (de) Anlernen eines roboters durch vorführen mit visualservoing
EP3702108A1 (de) Verfahren zum ermitteln einer greifposition zum ergreifen eines werkstücks
EP3555722A1 (de) Mobiler manipulator und verfahren zum steuern eines mobilen manipulators

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R016 Response to examination communication
R018 Grant decision by examination section/examining division
R020 Patent grant now final