[go: up one dir, main page]

DE102009007024A1 - Verfahren und Vorrichtung zum Vereinzeln von Bauteilen - Google Patents

Verfahren und Vorrichtung zum Vereinzeln von Bauteilen Download PDF

Info

Publication number
DE102009007024A1
DE102009007024A1 DE200910007024 DE102009007024A DE102009007024A1 DE 102009007024 A1 DE102009007024 A1 DE 102009007024A1 DE 200910007024 DE200910007024 DE 200910007024 DE 102009007024 A DE102009007024 A DE 102009007024A DE 102009007024 A1 DE102009007024 A1 DE 102009007024A1
Authority
DE
Germany
Prior art keywords
component
pixels
image
determined
gripping
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.)
Withdrawn
Application number
DE200910007024
Other languages
English (en)
Inventor
Rainer Dipl.-Ing. Class
Markus Dipl.-Ing. Höferlin
Willi Dipl.-Ing. Klumpp
Andreas Dipl.-Ing. Koch
Mathias Dipl.-Ing. Richter
Matthias Dipl.-Ing. Schreiber
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.)
Mercedes Benz Group AG
Original Assignee
Daimler AG
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 Daimler AG filed Critical Daimler AG
Priority to DE200910007024 priority Critical patent/DE102009007024A1/de
Publication of DE102009007024A1 publication Critical patent/DE102009007024A1/de
Withdrawn legal-status Critical Current

Links

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B43WRITING OR DRAWING IMPLEMENTS; BUREAU ACCESSORIES
    • B43KIMPLEMENTS FOR WRITING OR DRAWING
    • B43K23/00Holders or connectors for writing implements; Means for protecting the writing-points
    • B43K23/001Supporting means
    • B43K23/002Supporting means with a fixed base
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B43WRITING OR DRAWING IMPLEMENTS; BUREAU ACCESSORIES
    • B43MBUREAU ACCESSORIES NOT OTHERWISE PROVIDED FOR
    • B43M99/00Subject matter not provided for in other groups of this subclass
    • B43M99/008Desk-receptacles for holding writing appliances

Landscapes

  • Image Processing (AREA)

Abstract

Die Erfindung betrifft ein Verfahren zum Vereinzeln von Bauteilen (24) aus einem Behältnis (10), bei welchem mittels eines Sensors ein Bild zumindest eines Bauteils (24) erstellt wird, welches eine dreidimensionale Punktwolke mit einer Mehrzahl von erfassten Bildpunkten (12) umfasst. Mittels einer Auswerteeinheit wird anhand des Bildes und unter Heranziehung einer aus erfassten Bildpunkten (12) gebildete Basis zum Transformieren erfasster Bildpunkte (12) eine Position des zumindest einen Bauteils (24) ermittelt und mittels einer Greifeinheit (38) zumindest ein Bauteil (24) in Abhängigkeit von der ermittelten Position aufgenommen. Zum Ermitteln der Position des zumindest einen Bauteils (24) wird aus einer Menge möglicher Basen zum Transformieren erfasster Bildpunkte (12) wenigstens eine bauteilspezifische Basis bestimmt. Des Weiteren betrifft die Erfindung eine Vorrichtung zum Vereinzeln von Bauteilen (24) aus einem Behältnis (10).

Description

  • Die Erfindung betrifft ein Verfahren zum Vereinzeln von Bauteilen aus einem Behältnis, bei welchem mittels eines Sensors ein Bild zumindest eines Bauteils erstellt wird, welches eine dreidimensionale Punktwolke mit einer Mehrzahl von erfassten Bildpunkten umfasst. Anhand des Bildes wird mittels einer Auswerteeinheit unter Heranziehung einer aus erfassten Bildpunkten gebildeten Basis zum Transformieren erfasster Bildpunkte eine Position des zumindest einen Bauteils ermittelt wird. In Abhängigkeit von der ermittelten Position wird dann mittels einer Greifeinheit zumindest ein Bauteil aufgenommen. Des Weiteren betrifft die Erfindung eine Vorrichtung zum Vereinzeln von Bauteilen.
  • Aus dem Stand der Technik ist es bekannt, zum Vereinzeln von Bauteilen die Bauteile auf ein Fließband aufzugeben und mit einer Kamera Bilder des unter der Kamera vorbeilaufenden Fließbands mit den sich darauf befindenden Bauteilen aufzuzeichnen. Die von der Kamera erfassten Bilder werden mit Hilfe von Vergleichsbildern in einer Auswerteeinheit ausgewertet. Hierbei wird anhand des Vergleichs mit Vergleichsbildern eine Position des Bauteils ermittelt. Als Position wird hierbei eine Lage in der Fließbandebene und gegebenenfalls eine Drehung um eine senkrecht zu der Fließbandebene ausgerichtete Drehachse des Bauteils erkannt. Die ermittelte Position des Bauteils wird einer Greifeinheit übermittelt, welche das Bauteil aufnimmt.
  • Bei einem derartigen Verfahren ist es notwendig, vor dem Erstellen des Bildes die Bauteile auf das Fließband aufzugeben, um die jeweilige Position des Bauteils zu ermitteln, da so ein einheitlicher, Größenverhältnisse nicht verzerrender Abstand von Kamera und Bauteil sichergestellt ist.
  • Ein Ermitteln der Position des Bauteils anhand Bildpunkte einer dreidimensionalen Punktwolke, welches ein Aufnehmen des Bauteils direkt aus dem Behältnis ermöglicht, erfordert einen sehr hohen Berechnungsaufwand beim Vergleichen des mittels des Sensors erstellten Bildes mit dem Vergleichsbild. Dadurch ist keine ausreichend kurze, einer rationellen Weiterverarbeitung genügende, Taktzeit beim Aufnehmen des Bauteils mittels der Greifeinheit erreichbar.
  • Aufgabe der vorliegenden Erfindung ist es daher, ein verbessertes Verfahren und eine Vorrichtung der eingangs genannten Art zum Vereinzeln von Bauteilen aus einem Behältnis zu schaffen.
  • Diese Aufgabe wird durch ein Verfahren mit den Merkmalen des Patentanspruchs 1 gelöst. Des Weiteren wird diese Aufgabe durch eine Vorrichtung zum Vereinzeln von Bauteilen mit den Merkmalen des Patentanspruchs 11 gelöst. Vorteilhafte Ausgestaltungen mit zweckmäßigen Weiterbildungen der Erfindung sind in den abhängigen Patentansprüchen angegeben.
  • Bei dem erfindungsgemäßen Verfahren zum Vereinzeln von Bauteilen aus einem Behältnis, bei welchem
    • a) mittels eines Sensors ein Bild zumindest eines Bauteils erstellt wird, welches eine dreidimensionale Punktwolke mit einer Mehrzahl von erfassten Bildpunkten umfasst,
    • b) mittels einer Auswerteeinheit anhand des Bildes und unter Heranziehung einer aus erfassten Bildpunkten gebildeten Basis zum Transformieren erfasster Bildpunkte eine Position des zumindest einen Bauteils ermittelt wird, und
    • c) mittels einer Greifeinheit zumindest ein Bauteil in Abhängigkeit von der ermittelten Position aufgenommen wird,
    wird zum Ermitteln der Position des zumindest einen Bauteils gemäß Schritt b) aus einer Menge möglicher Basen zum Transformieren erfasster Bildpunkte wenigstens eine bauteilspezifische Basis bestimmt.
  • Der Erfindung liegt die Erkenntnis zugrunde, dass ein Abstimmungsverfahren, bei welchem alle möglichen, unter Heranziehung erfasster Bildpunkte gebildete Basen zum Transformieren erfasster Bildpunkte herangezogen werden, sehr rechenaufwändig und somit zeitaufwändig ist. Wird hingegen die Basisanzahl reduziert, so die Komplexität der Berechnung drastisch reduzierbar. Dadurch ist ein verbessertes Verfahren zum Vereinzeln von Bauteilen aus einem Behältnis geschaffen.
  • Das rasche Berechnen erlaubt ein lagerichtiges Erkennen des Bauteils innerhalb einer vorgegebenen, auf die Bedürfnisse der automatisierten, rationellen Produktion und/oder Weiterverarbeitung abgestimmten Taktzeit. Ebenso ist das Erlernen eines zum Vergleich heranzuziehenden Modells des Bauteils besonders einfach und mit geringem Rechenaufwand bzw. Trainingsaufwand durchführbar. Dadurch ist eine besonders hohe Flexibilität beim Anwenden des Verfahrens auf neue Bauteile erreichbar, welche eine bisher nicht bekannte Formgebung aufweisen.
  • Bei den Bauteilen kann es sich insbesondere um Kleinteile, beispielsweise Schrauben, Unterlegscheiben oder Muttern, für ein Kraftfahrzeug handeln, welche einer automatisierten Weiterverarbeitung zugeführt werden sollen.
  • Ist die Position des Bauteils in dem Behältnis erkannt, so kann eine die Greifeinheit steuernde Einrichtung, beispielsweise ein Roboter, dazu veranlasst werden, das Bauteil gezielt zu ergreifen und anschließend in eine gewünschte räumliche Orientierung zu überführen. Dadurch ist ein geordnetes, lagerichtiges Ablegen des Bauteils in einer Weiterverarbeitungseinrichtung ermöglicht.
  • Der vorzusehende Platzbedarf für das Vereinzeln jeweils voneinander verschiedener Bauteile ist hierbei gering im Vergleich zum Platzbedarf für mechanischer Vereinzeler, mittels welchen unterschiedliche Bauteile vereinzelt der Weiterverarbeitungseinrichtung zur Verfügung zu stellen wären.
  • In einer vorteilhaften Ausgestaltung der Erfindung wird aus der dreidimensionalen Punktwolke an Bildpunkten durch Anwenden wenigstens eines Homogenitätskriteriums, insbesondere eines Stetigkeitskriteriums und/oder eines Differenzierbarkeitskriteriums, ein zweidimensionales Bild erstellt wird, in welchem wenigstens eine Region abgrenzbar ist. Dadurch brauchen bei dem anschließenden Vergleichen von Bildpunkten der dreidimensionalen Punktwolke, welche in die wenigstens eine bauteilspezifische Basis transformiert werden, mit Modellpunkten eines Modells des Bauteils weniger Bildpunkte berücksichtigt zu werden.
  • Als weiter vorteilhaft hat es sich gezeigt, wenn für der wenigstens einen Region zugeordnete, gemäß Schritt a) erfasste Bildpunkte Normalenvektoren gebildet und diese Normalenvektoren in eine Einheitskugel überführt werden, wobei Aufpunkte der Normalenvektoren auf der Oberfläche der Einheitskugel zu liegen kommen. Eine solche Einheitskugel wird auch als Gaußkugel bezeichnet und eignet sich besonders zum Bilden einer bauteilspezifische Basis. Dieses Verfahren ist auf beliebige Freiformobjekte anwendbar. Als bauteilspezifische Basis kann dann ein, insbesondere unter Heranziehung eines Winkels zwischen zwei Normalenvektoren als Schlüssel ausgewählter, Zweitupel linear unabhängiger Normalenvektoren gewählt werden. Hierbei reicht die Information über die Richtung Normalenvektoren Vektoren aus, um die Basis eindeutig zu bestimmen.
  • Ergänzend oder alternativ kann, insbesondere bei Bauteilen in dem Behältnis, bei welchen eine Translation des zu ergreifenden Bauteils gefunden werden soll, unter Heranziehung von der wenigstens einen Region zugeordneten, gemäß Schritt a) erfassten Bildpunkten eine Zylinderachse ermittelt werden, wobei ein Punkt, insbesondere ein Mittelpunkt, der Zylinderachse zum Bilden der bauteilspezifischen Basis herangezogen wird. Ein solches Bilden der bauteilspezifischen Basis bietet sich beispielsweise für Schrauben oder Bolzen an, welche einen im Wesentlichen zylinderförmigen Teilbereich aufweisen.
  • Des Weiteren hat es sich als vorteilhaft gezeigt, unter Heranziehung von der wenigstens einen Region zugeordneten, gemäß Schritt a) erfassten Bildpunkten ein Korrelationsellipsoid zu ermitteln, wobei ein Punkt, insbesondere ein Massenschwerpunkt, des Korrelationsellipsoids zum Bilden der bauteilspezifischen Basis herangezogen wird. Das Korrelationsellipsoid und dessen Schwerpunkt kann hierbei mittels Hauptkomponentenanalyse von einer Region zugeordneten Bildpunkten erfolgen. Ein solches Bilden der bauteilspezifischen Basis bietet sich insbesondere für im Wesentlichen ebene Bauteile, beispielsweise für Scheiben, insbesondere Unterlegscheiben, an.
  • Bildpunkte der dreidimensionalen Punktwolke können in die wenigstens eine bauteilspezifische Basis transformiert und, insbesondere mittels eines Geometric-Hashing-Algorithmus, mit Modellpunkten eines Modells des Bauteils verglichen werden. Anschließend kann durch lineare Transformation ein Referenzkoordinatensystem des Modells in das Koordinatensystem der Szene des Bauteils überführt werden. Somit ist ein körperfestes System in den Szenenkoordinaten platziert und das Bauteil lokalisiert. Die so ermittelte Position des Bauteils in dem Behältnis kann dann der die Greifeinheit steuernden Einrichtung übermittelt werden.
  • Hierbei hat es sich als vorteilhaft gezeigt, anhand der Übereinstimmung der Bildpunkte mit den Modellpunkten wenigstens einen Greifpunkt an dem zu vereinzelnden Bauteil zu bestimmen. Durch das Bestimmen von wenigstens einem Greifpunkt an dem zu vereinzelnden Bauteil ist ein Entnehmen des Bauteils aus dem Behältnis mittels der Greifeinheit besonders prozesssicher durchführbar.
  • Wird gemäß einer weiteren vorteilhaften Ausgestaltung der Erfindung zum Aufnehmen des Bauteils wenigstens ein Greifpunkt in Abhängigkeit von einer Wahrscheinlichkeit einer Kollision der Greifeinheit mit einem mit einem von dem Bauteil verschiedenen Objekt, insbesondere mit einem weiteren Bauteil und/oder mit dem Behältnis, an eine die Greifeinheit steuernde Einrichtung übermittelt, so ist ein kollisionsvermeidendes Entnehmen des Bauteils aus dem Behältnis ermöglicht.
  • Schließlich hat es sich als vorteilhaft gezeigt, wenn beim Erfassen des Bilds des Bauteils gemäß Schritt a) ein, insbesondere mehr als eine Kamera nutzendes, Lichtschnittverfahren, insbesondere ein Laserlichtschnittverfahren, eingesetzt wird. Im Gegensatz zu einem Laserscanverfahren, bei welchem in Folge von Reflektionen und Spiegelungen an dem Bauteil eine Totalreflektion des Lasers und damit einhergehend ein entsprechender Informationsverlust auftreten kann, hat sich das auf einem Triangulationsansatz basierende Lichtschnittverfahren als besonders geeignet erwiesen.
  • Gemäß einem weiteren Aspekt der Erfindung wird die oben genannte Aufgabe gelöst durch eine Vorrichtung zum Vereinzeln von Bauteilen aus einem Behältnis, mit einem Sensor zum Erstellen eines Bildes zumindest eines Bauteils, welches eine dreidimensionale Punktwolke mit einer Mehrzahl von erfassten Bildpunkten umfasst, mit einer Auswerteeinheit, mittels welcher anhand des Bildes und unter Heranziehung einer aus erfassten Bildpunkten gebildeten Basis zum Transformieren erfasster Bildpunkte eine Position des zumindest einen Bauteils ermittelbar ist, und mit einer Greifeinheit zum Aufnehmen zumindest eines Bauteils in Abhängigkeit von der ermittelten Position. Hierbei ist mittels der Auswerteeinheit zum Ermitteln der Position des zumindest einen Bauteils aus einer Menge möglicher Basen zum Transformieren erfasster Bildpunkte wenigstens eine bauteilspezifische Basis bestimmbar.
  • Die für das erfindungsgemäße Verfahren beschriebenen bevorzugten Ausführungsformen und Vorurteile gelten auch für die erfindungsgemäße Vorrichtung zum Vereinzeln von Bauteilen.
  • Die vorstehend in der Beschreibung genannten Merkmale und Merkmalskombinationen sowie die nachfolgend in der Figurenbeschreibung genannten und/oder in der Figur alleine gezeigten Merkmale und Merkmalskombinationen sind nicht nur in der jeweils angegebenen Kombination, sondern auch in anderen Kombinationen oder auch in Alleinstellung verwendbar, ohne den Rahmen der Erfindung zu verlassen.
  • Weitere Vorteile, Merkmale und Einzelheiten der Erfindung ergeben sich aus der nachfolgenden Beschreibung bevorzugter Ausführungsformen sowie anhand der Zeichnungen. Dabei zeigen:
  • 1 ein Tiefenbild einer Schrauben enthaltenden Kiste und ein durch Anwenden eines Stetigkeitskriteriums aus dem Tiefenbild erstelltes zweidimensionales Schwarz-Weiß-Bild, in welchem Regionen abgegrenzt sind;
  • 2 jeweils ein zweidimensionales Bild einer Scheiben enthaltenden und einer die Schrauben gemäß 1 enthaltenden Kiste, in welchem durch Anwenden eines Stetigkeitskriteriums und eines Differenzierbarkeitskriteriums Regionen abgegrenzt sind;
  • 3 mittels eines Laserlichtschnittsensors erfasste Bildpunkte einer dreidimensionalen Punktwolke, welche einer Region zugeordnet sind, wobei die Region Teile einer Oberfläche einer einzelnen Schraube abgrenzt, sowie eine anhand der Bildpunkte ermittelte Zylinderachse der Schraube;
  • 4 die Bildpunkte gemäß 3 mit einem eingepassten Modell eines Zylinders der Schraube;
  • 5 Modelle von Schrauben in der Kiste mit jeweiligen Greifpunkten an zu vereinzelnden Schrauben, wobei an dem jeweiligen Greifpunkt eine Greifeinheit ansetzt;
  • 6 eine an einem Modell einer Schraube ansetzende Greifeinheit in einer weiteren Ansicht;
  • 7 Modelle von in einer Kiste in ihrer Position ermittelten Muttern;
  • 8 ein mittels Hauptkomponentenanalyse eines planaren Flächenstücks erstelltes Korrelationsellipsoid;
  • 9 eine mittels Hauptkomponentenanalyse in einer Kiste gefundene Exzenterscheibe; und
  • 10 ein durch Transformieren von Bildpunkten einer Exzenterscheibe gemäß 9 erstelltes Schwarz-Weiß-Bild.
  • Im Folgenden werden Verfahren zur Lageschätzung in Distanzbildern beschrieben, die einen gezielten ”Griff in die Kiste” ermöglichen. Es ist so ermöglicht, mittels eines Industrieroboters, aus einem Kleinladungsträger, also einer Gitterbox bzw. Kiste 10 (vgl. 1), Bauteile zu greifen. In der Kiste liegen die Bauteile, etwa Schrauben 24 (vgl. 1), Muttern 32 (vgl. 7) oder Scheiben, beispielsweise Exzenterscheiben 40 (vgl. 9), sortenrein vor.
  • Dazu wird eine Bestimmung der Position der Bauteile in der Kiste 10 mittels Bildverarbeitung vorgenommen. Koordinatensysteme, welche dabei eine Rolle spielen, sind hierbei so gekoppelt, dass es dem Industrieroboter ermöglicht ist, sein Toolsystem kollisionsfrei mit einem Greifsystem zur Deckung zu bringen. Die Kopplung zwischen der Basis des Industrieroboters und einem Scannersystem erfolgt über ein Base, welches in beiden Systemen auf identische Art festgelegt ist. Mit dem Industrieroboter wird das Base nach der Dreipunktmethode eingeteacht. Bei der Bildverarbeitung ist das Base ebenfalls durch Verschieben von drei Punkten festlegbar. In der vorliegenden Ausführungsform sind Kisteneckpunkte gewählt, jedoch kann ein beliebiges anderes Objekt, welches vom Scanner eindeutig erfassbare Punkte bietet, verwendet werden.
  • Das Verfahren zum Vereinzeln von Bauteilen aus der Kiste 10 gliedert sich in mehrere Phasen. In einer ersten Phase wird eine 3D-Erfassung von Bildpunkten 12 (vgl. 3) mittels eines Laserlichtschnittverfahrens durchgeführt. Als nächster Schritt folgt die Aufbereitung der Daten, d. h. eine Restauration von einzelnen Fehlpixeln und eine Beseitigung von Artefakten aus dem Bild. Daraufhin wird das Bild durch eine Segmentierung in Regionen 14 (vgl. 1 und 2) unterteilt, aus denen dann die eigentliche Positionsermittlung bzw. Lageschätzung, also die Bestimmung eines körperfesten Koordinatensystems 16 (vgl. 3) erfolgt. In diesem System werden mögliche Greifpunkte 18 (vgl. 5) einer Kollisionsvermeidung unterzogen und anschließend an den greifenden Industrieroboter als vorliegend drei Raumrichtungen und drei Drehrichtungen umfassende 6D-Koordinaten übergeben.
  • Um Greifpunkte 18 an Bauteilen in der Kiste 10 zu finden, wird mittels eines auf Triangulation basierenden Laserlichtschnittsensors die Kiste 10 gescannt und eine Punktwolke erstellt, welche erfasste Bildpunkte 12 umfasst. Der von Laserlichtschnittsensor umfasst vorliegend eine Kamera und eine Laserlinie.
  • Die Punktwolke ist ein Distanzbild l(i, j) oder Tiefenbild 20 (vgl. 1), auch 2,5D-Bild genannt, da sich die Bildpunkte 12 alle eindeutig in eine i, j-Ebene projizieren lassen. Es gibt also mehrere Darstellungsformen für die Daten. Einige Teile von bei der Bildverarbeitung eingesetzten Algorithmen können besonders schnell auf Bildern rechnen. Eine räumliche Darstellung der Daten wird hingegen für ein System gleicher Skalierung gewählt, in dem auch Modelle 30 (vgl. 5) der Bauteile und Parameter angegeben werden. Um die Koordinaten (i, j, l(i, j)) der Bildpunkte 12 in einem SI-System zu erhalten, werden die Daten gestreckt. Dazu werden Funktionen gemäß Gleichung (1) verwendet: (x, y, z)T = T(i, j) = (fx(i), fy(j), fz(l(i, j)))T (1)wobei fx, fy, fz affine Abbildungen sind.
  • Die Punktwolke kann aufgrund von Reflexionen und Abschattungen Bereiche ohne Information, also Bereiche mit sogenannten Missing Data enthalten. Durch erneutes Scannen dieser Bereiche in von einem ursprünglichen Scanwinkel verschiedenen Scanwinkel und/oder von einem ursprünglichen Verfahrweg verschiedenen Verfahrweg kann diese fehlende Information gewonnen werden.
  • Ein vorliegend eingesetztes Verfahren die Messdaten zu verbessern, beruht darauf, bei vorgegebener Aufnahmerichtung innerhalb einer jeden Bildspalte jeweils benachbarte Bildpunkte 12 auf ihre Steigung hin zu untersuchen. Liegt die Steigung über einer durch einen Winkel zwischen optischen Achsen von Kamera und Laserlinie definierten, wird davon ausgegangen, dass der höher liegende Bildpunkt durch eine Störung verursacht wurde. Dieser Bildpunkt wird dann auf ”Missing Data” gesetzt.
  • Vor allem für die datenbasierte Kollisionsvermeidung stellen solche Störpixel, welche zu dem benachbarten Bildpunkt 12 hin eine besonders große Steigung aufweisen, ansonsten reale Hindernisse dar. Das Verwenden eines Medianfilters ist zum Verbessern der Messdaten nicht geeignet, da sich ein durch Störpixel verursachtes Rauschen ansonsten zu einem Gegenstand verdichten würde.
  • Um den Schattenwurf in der Kiste 10 bei fortgeschrittenem Entnahmeprozess, wenn also zunehmend Bauteile entnommen werden, welche sich nahe dem Kistenboden befinden, zu reduzieren, wird der Scanner, welcher vorliegend die Kamera und Laserlinie in einer zusammengehörenden Baugruppe umfasst, um einen definierten Winkel von beispielsweise 30° aus einer senkrechten Scanposition geschwenkt. Es wird wie nachfolgend beschrieben vorgegangen, um eine verlustfreie Transformation der Daten auf ein Tiefenbild zu erreichen und somit die bei der Bildverarbeitung eingesetzten Algorithmen unverändert anwenden zu können.
  • Die vom geschwenkten Scanner erfassten Daten stellen nun schräge Schnitte durch die Kiste 10 dar. Die aufgenommenen Profile werden durch eine affine Transformation l' = T(l)in der Art transformiert, dass die Kiste 10 nun unverzerrt, aber gekippt erscheint. Das wird dadurch ausgeglichen, dass der Kontext 30° bekannt ist und eine andere, ebenfalls geneigte Definition für das Roboterbase in einer Kalibrierphase angegeben wird.
  • Um eine schnelle Unterteilung des Bildes in Teilabschnitte zu erhalten, wird zunächst ein Schwarz-Weiß-Bild 22 aus dem Tiefenbild 20 erstellt (vgl. 1).
  • Ein besonders schnelles Segmentierungsverfahren für Tiefenbilder 20, welches für den Griff in die Kiste 10 gute Ergebnisse liefert, ist die Segmentierung nach einem Homogenitätskriterium in der Tiefe der Bildpunkte 12 bzw. Pixel. Hierbei wird der Abstand zwischen einem Zentrumspixel und seinen Nachbarpixeln in z-Richtung, also in Hochrichtung, berechnet. Alle Nachbarpixel, deren Abstand zum Zentrumspixel einen vorgegebene Schwellenwert T1 überschreitet, werden gezählt. Sobald für ein Zentrumspixel mehr als eine durch einen weiteren Schwellenwert T2 vorgegebene Anzahl an Nachbarpixeln diese Eigenschaft nicht erfüllen, wird das Zentrumspixel Schwarz, also ”0” gesetzt, ansonsten auf Weiß, also ”1”.
  • Nachfolgend ist der hierfür herangezogene Algorithmus im Pseudocode dargestellt.
  • Figure 00100001
  • In 1 ist das Ergebnis dieses Abgrenzens von Regionen 14 durch Anwendung dieses Stetigkeitskriteriums auf Bildpunkte 12 des Tiefenbilds 20 dargestellt. Hierfür ist eine Schraube 24, welche einen Schraubenkopf 26 und einen ein Gewinde aufweisenden Zylinder 28 umfasst, in dem Tiefenbild 20 beispielhaft gezeigt. Die durch Anwendung des Stetigkeitskriteriums auf die Bildpunkte 12 der Schraube 24 abgegrenzte, und im Verhältnis zu dem Tiefenbild 20 der Schraube 24 kleinere Region 14 ist in dem Schwarz-Weiß-Bild 22 dargestellt.
  • Ein Vorteil dieses Vorgehens ist, dass einzelne Störpixel, aber auch große Störflächen, aussortiert werden oder dass letztere zumindest auf eine Größe reduziert werden, die eine Vernachlässigung der Region möglich macht.
  • Ergänzend oder alternativ kann ein weiteres Segmentierungsverfahren, dessen Ergebnis für Scheiben bzw. Schrauben 24 aufweisende Regionen 14 in 2 in jeweils einem zweidimensionalen Bild 60 gezeigt ist, zum Einsatz kommen. Bei diesem Segmentierungsverfahren werden zusätzlich zur Stetigkeit noch Änderungen von Normalenvektoren von Pixel zu Pixel untersucht. Somit wird ein Schätzwert für die Differenzierbarkeit erhalten. Dieses Segmentierungsverfahren hat den Vorteil, dass ein Abgrenzen von zusammenhängenden Regionen 14 vorgenommen werden kann, welche annähernd konvex sind.
  • Bei diesem weiteren Segmentierungsverfahren werden zunächst Flächennormalen N(i, j) auf dem Tiefenbild 20 mit l(i, j) mittels der Standardsobeloperatoren (–1, 0, 1) und (–1, 0, 1)T und der Funktionen fx, fy, fz in kartesischen Koordinaten bestimmt. In dem Bild werden zeilen- und spaltenweise benachbarte Pixel auf Verletzungen zweier Homogenitätskriterien überprüft: zum einen auf die Normalenabweichung, zum anderen auf ihren Höhenunterschied. Danach werden die Zeilen und Spalten zerschnitten und die Abschnitte, versehen mit einer fortlaufenden Nummer, in jeweils ein Bild eingetragen. Zwischen den Pixeln gleicher Koordinate im Zeilen- und Spaltenbild wird eine Relation aufgestellt und die sich ergebende Adjazenzmatrix reduziert, bis alle über Umwege verknüpfte Knoten zu einem Label zusammengefasst, also einer Region 14 zugeordnet sind. Eines der Bilder wird verwendet, um das letztendliche L(i, j) zu erzeugen, indem alle Pixel in der Bezeichnerrelation nachgeschlagen und ersetzt werden.
  • Als Ergebnis werden, wie in 2 gezeigt, Regionen 14 erhalten, innerhalb welcher je nach Art der Bauteile in der jeweiligen Kiste 10 die Scheiben oder die Schrauben 24 zu liegen kommen.
  • Dieses Segmentierungsverfahren kann auch verwendet werden, um das Schwarz-Weiß-Bild 22 welches mittels des ersten, die Bildpunkte auf Stetigkeit untersuchenden Segmentierungsverfahren erstellt ist, zu einem Bezeichnerbild zusammenzufassen. Hierbei wird auf das Homogenitätskriterium der Änderung der Normalenvektoren von Pixel zu Pixel verzichtet. Der Schwellenwert Tdist wird hingegen auf den Wert 0,5 gesetzt.
  • Zur Bestimmung des körperfesten Koordinatensystems 16 werden bauteilspezifische Verfahren eingesetzt, je nach Anwendungsfall und zu erkennendem Bauteiltyp. Die Anwendungsfälle teilen sich in zwei wesentliche Bestandteile auf: zum Einen wird in einer Initialerkennung überprüft werden, ob sich der richtige Bauteiltyp in der eingestellten Kiste 10 befindet, zum anderen werden besonders schnell Ergebnisse, also Greifpunkte 18, ermittelt, wenn mittels der Vorrichtung zum Vereinzeln von Bauteilen die Richtigkeit des Bauteiltyps erkannt ist.
  • Aus Gründen der Geschwindigkeit wird nicht die gesamte Punktmenge eines Modells 30 (vgl. 5) mit der Szene, also den Bildpunkten 12 des Bauteils verglichen. Die Bestimmung des richtigen Bauteiltyps baut nicht auf einer vollständigen Lagebestimmung auf.
  • Im Folgenden wird zunächst das Problem mathematisch beschrieben. Gegeben ist ein Modell M, dass sich durch die Transformation ΘM geeignet in eine Punktmenge überführen lässt. Die Menge R{ΘM} bezeichnet transformierte Punktwolken, die örtlich verschoben und rotiert sind. Weiterhin gibt es ein Signal S, dass ebenfalls aus einer Punktmenge besteht. Mittels eines Verfahrens Ω ausgewählte Teilmengen Si von S sind identisch zu Teilmengen von R{ΘM}. Die Forderung lautet hier also, durch das Finden einer Transformation R den Abstand zwischen den Punktemengen zu minimieren, d. h. di = f(R, Ω) = ∥Ω{Si} – R{ΘM}∥ → min (2)
  • Vorliegend ist ein Verfahren gefunden, welches aufgrund einer drastischen Reduzierung zu verknüpfender Punkte anwendbar ist. Die Punkte können nicht nur Bildpunkte 12, sondern auch Merkmalspunkte sein, wie z. B. Kanten im Bild oder flächige Bereiche, die zueinander eine räumliche Verbindung durch die Objektgeometrie aufweisen.
  • Generell bedient sich das vorliegende Verfahren zum Vereinzeln von Bauteilen aus einer Kiste 10 des Geometric Hashing. Geometric Hashing sucht nach der oben genannten Transformation, indem es einen Zusammenhang zwischen den Punkten im Modell 30 zu den Punkten in der Szene herstellt.
  • Dabei wird ein Abstimmungsverfahren eingesetzt, dass sich in eine Offline- und eine Onlinephase aufgliedert. Der Begriff Basis bezeichnet im Folgenden ein kartesisches Rechtshandsystem, jedoch sind in alternativen Ausführungsformen des Verfahrens auch schiefwinklige Koordinatensysteme heranziehbar.
  • In der Offlinephase wird aus den Modellpunkten M der Abstimmungsraum festgelegt. Dazu werden alle Basen, die sich durch die Modellpunkte bilden lassen, aufgestellt und die restlichen Punkte Pl mit l ≠ i, j, k bezüglich dieser Basis dargestellt. Zur Bildung der Basen BM werden zum Beispiel Tripel Pi, Pj, Pk aus den Punkten gebildet, die zwei linear unabhängige Differenzvektoren x → = Pj – Pi und y' → = Pk – Pi besitzen. Der dritte Vektor ergibt sich aus z → = Pj – Pi × Pk – Pi, woraufhin sich z. B. mit Hilfe der Gram-Schmidtschen Orthonormalisierung der Raum mit den Achsen x →, y →, z → berechnen lässt.
  • Der kartesische Raum, der durch eine Basis aufgespannt wird, wird nun in achsenparallele Würfel der Größe 1 aufgeteilt. Diese Würfel erhalten eine Liste L → / t(x,y,z) mit t →(x, y, z) = (u(x), v(y), w(z)), die sich über Koordinaten adressieren lässt. Die Funktionen u(x), v(y), w(z) sehen hierbei wie folgt aus u(X) = xs + xoffset,wobei s ein Skalierungsfaktor ist, der reziprok die Größe der Würfel parametriert und damit die Genauigkeit oder Auflösung vorgibt.
  • Der Wert xoffset ist so groß gewählt, dass die Koordinate u(x) für alle x der Modellpunkte positiv ist. Alle Punkte Pl erzeugen in den Listen einen Eintrag, wenn sie in dem entsprechenden Würfel liegen. Dieser Eintrag enthält Informationen darüber, welche Basis welchen Modells 30 diesen Eintrag erzeugt hat. Es können auch zusätzliche Informationen abgelegt werden, z. B. welche Normalenrichtung nl der Punkt in den lokalen Koordinaten besitzt, worüber sich die anschließende Abstimmung gewichten lässt.
  • Die Listen L werden in einer über u, v, w adressierten Hashtabelle abgelegt, woher der Name Geometric Hashing rührt.
  • In der Onlinephase werden die Szenenpunkte S analog behandelt, nur dass sie keine Listeneinträge erzeugen. Die Punkte P S / l werden über die gleichen Funktionen u, v, w in das Abstimmungsraster abgebildet. Nun bewirkt jeder Listeneintrag L t →(PSl ), dessen Startadresse durch u, v, w errechnet ist, für alle Listenelemente beim entsprechenden Modell 30 in einem neuen Abstimmungshistogramm A M / d, das ebenfalls eine Hashtabelle ist, eine Erhöhung des d-ten Listenwertes, wobei d die Adresse der zugehörigen Basis ist.
  • Die Abstimmung wird für alle Basen insbesondere für alle Basistripel durchgeführt. Danach wird über maxd A M / d herausgefunden, welche Basis des Modells 30 am besten einer Basis aus der Szene entspricht. Durch die lineare Transformation T(BM, BS) wird dann das Referenzkoordinatensystem des Modells 30 in das Szenensystem überführt. Somit ist das körperfeste Koordinatensystem 16 in den Szenenkoordinaten platziert und das Objekt, beispielsweise das Bauteil, lokalisiert.
  • Dieses Vorgehen ist in dem nachfolgend wiedergegebene Algorithmus durch den Pseudocode für die Offlinephase dargestellt.
  • Figure 00130001
  • Der nachfolgend wiedergegebene Algorithmus stellt den Pseudocode für die Onlinephase dar.
  • Figure 00140001
  • Prinzipiell kann, wie aus dem Stand der Technik bekannt, das Geometric Hashing zum Beispiel direkt auf alle Messpunkte, insbesondere Bildpunkte 12 mit beliebigen Basistripeln angewendet werden. Dies hat den Nachteil, dass infolge des Aufwands O(n4) eine Berechnungsdauer sehr lang und somit keine ausreichend kurze, einer rationellen Weiterverarbeitung genügende, Taktzeit beim Vereinzeln der Bauteile aus der Kiste 10 erreichbar ist.
  • Vorliegend werden daher drei verschiedene Ausführungsformen des Verfahrens erläutert, bei welchen durch eine schnelle Vorverarbeitung die Informationen, also die mögliche Basisanzahl, reduziert ist. Durch eine datengetriebene Bestimmung der Basis wird die kombinatorische Explosion (Tripel aus Szenenpunkten) unterbunden und dadurch die Komplexität auf O(n2) für eine Einheitskugel (Gaußkugel) – bzw. O(n) für Scheiben bzw. O(1) für Schrauben – reduziert.
  • Die Listen sind in der Nähe des Ursprungs der lokalen Koordinatensysteme wesentlich länger als die der Punkte in der Nähe des Objektrands, weil alle Punkte bezüglich desselben Koordinatensystems dargestellt werden. Die Zeit zum Traversieren der Listen in Ursprungsnähe ist dann besonders groß. Um das zu vermeiden werden die Listen von vornherein auf verschiedene Hashtabellen aufgeteilt. Dazu wird ein eindeutiger Schlüssel aus den Basispunkten berechnet.
  • Dieser Schlüssel kann bei typisierten Merkmalspunkten durch die Kombination von mehreren Typen in einer konkreten Basis gebildet werden. Das ursprüngliche 3D Hashing kann die geometrische Information der Basispunkte direkt verwenden. Es können die Schlüssel d1, d2, α verwendet werden, wobei d1 der Abstand zwischen Pi und Pj ist, d2 der Abstand zwischen Pi und Pk und α der Winkel zwischen x' = Pj – Pi und y' = Pk – Pi.
  • Es sind jedoch auch alternative, im Folgenden erläuterte Schlüssel verwendbar. Die Hashtabellen werden in einer übergeordneten Hashtabelle, dem ”MetaHashTable” einsortiert.
  • Eine erste Ausführungsform des Verfahrens, bei welchem der Geometric Hashing Algorithmus zum Einsatz kommt, beruht auf der Überlegung, die Bestimmung von Rotation und Translation zu trennen. Dazu werden die Regionen 14 mittels des Segmentierungsverfahren, bei welchem die Homogenitätskriterien Stetigkeit und Änderungen von Normalenvektoren von Pixel zu Pixel untersucht werden, abgegrenzt. Für die einer jeweiligen Region 14 zugeordneten Bildpunkte 12 werden Normalenvektoren gebildet. Diese Normalenvektoren werden in eine Einheitskugel, die Gaußkugel, überführt, wobei Aufpunkte der Normalenvektoren auf der Oberfläche der Gaußkugel zu liegen kommen.
  • Als Modell hierfür werden die Normalenrichtungen aus dem zugehörigen STL-File verwendet, die sich ebenfalls auf einer Gaußkugel befinden.
  • Dieses Verfahren lässt sich auf beliebige Freiformobjekte anwenden. Vorliegend werden jedoch die Muttern 32 der 7 mit diesem Verfahren lokalisiert.
  • Als bauteilspezifische Basis werden hierbei alle Zweitupel von Normalenvektoren gebildet, die linear unabhängig sind. Der Basisschlüssel ist beispielsweise der Winkel zwischen den beiden Normalenvektoren. Für das Geometric Hashing auf der Gaußkugel reicht die Information über die Richtung zweier Normalenvektoren aus, um die Basis eindeutig zu bestimmen.
  • In alternativen Ausführungsformen ist es vorstellbar, eine spezielle Diskretisierung für die Gaußkugel zu verwenden. Des Weiteren lässt sich für das Einpassen der Gaußkugel ein 2D Geometric Hashing Algorithmus mit den entsprechenden Datenstrukturen verwenden, indem die Koordinaten als Kugelkoordinaten ausgewertet werden.
  • Von den erhaltenen Rotationen wird nicht nur das beste Ergebnis verwendet, da die Objekte, nämlich die Muttern 32, bei der vorliegenden Ausführungsform annähernd rotationssymmetrisch sind, so dass eine durch die Symmetrieachse definierbare Hauptrichtung in beide Richtungen zeigen kann.
  • Bei einer weiteren Ausführungsform können mittels des Geometric Hashing Algorithmus Translationen eines Objekts gefunden werden. Diese Ausführungsform kann anschließend an das Geometric Hashing auf der Gaußkugel erfolgen, aber auch unabhängig davon eingesetzt werden, wenn sich eindeutige Basen z. B. aus Regionendaten ergeben oder zusätzlich noch ein rotatorischer Freiheitsgrad eingepasst werden soll, dessen Punkte als unterschiedliche Modelle abgelegt werden können.
  • Anhand von 3 und 4 wird das Bilden einer bauteilspezifischen Basis für Schrauben 24 beschrieben. Um die Position der Schraube 24 in der Kiste 10 zu ermitteln, werden zunächst durch Anwendung des Stetigkeitskriteriums auf Bildpunkte 12 des Tiefenbilds 20 Regionen 14 abgegrenzt. Auch ein Normalenbild N →(i, j) wird berechnet.
  • Daraufhin wird für jede Region 14 eine Zylinderachse 34 bestimmt. Dazu wird zu jedem Bildpunkt 12 mit den Koordinaten (i, j), transformiert p → = (x, y, z)T nach Gleichung (1), aus der Region 14 der mit dem gesuchten Radius R multiplizierte Normalenvektor N →(i, j) gehängt (vgl. Gleichung (3)). k →(i, j) = p →(i,j) – RN →(i,j) (3)
  • In diese Punkte wird mit Hilfe der Methode der kleinsten Quadrate eine Gerade mit den Parametern {r →, v →} eingepasst (über Huberabstand). Anschließend werden alle Punkte k →(i,j) auf eine Gerade projiziert, also zur gefundenen Zylinderachse 34 mit c →(t) = r → + tv →der Abstand d = lc → – k →(i,j)lbestimmt.
  • Fällt der Abstand d in ein vorgegebenes Toleranzband, wird der Bildpunkt 12 als zum Zylinder 28 (vgl. 4) gehörend gezählt und sein Projektionsparameter der Gerade to zur Längenmessung des Zylinders 28 herangezogen.
  • Somit ist die gesamte Gewindeachse der Schraube 24 mit Länge und Radius bekannt. 4 zeigt einzelne Zylinder 28, welche in die erfassten Bildpunkte 12 einer jeweiligen Region 14 eingepasst sind. Die Bildpunkte 12 der Szene in 3 und 4 umfassen auch Bildpunkte 12, welche im Bereich des Schraubenkopfes 26 und im Bereich einer Schraubenspitze 36 angeordnet sind.
  • Es wird also größerer Zylinder angenommen, der den gefundenen Zylinder 28 umgibt, und alle Bildpunkte 12, die innerhalb dieses größeren Zylinders liegen, also auch Bildpunkte 12 aus dem Bereich des Schraubenkopfes 26 und der Schraubenspitze 36, werden zum Geometric Hashing Algorithmus als Punktmenge gegeben.
  • Die Basismenge für das Modell 30 sind in diesem Fall alle Punkte der Zylinderachse des Modells 30, während zum Matching der Szene nur der Mittelpunkt r der Zylinderachse 34 herangezogen wird. Die Gewichtung der Bildpunkte 12 wird hierbei über ein Skalarprodukt zwischen Modell- und Szenennormalenvektoren gewählt, so dass auch negative Gewichte möglich sind.
  • Mittels des Geometric-Hashing wird über die besten Ergebnisse abgestimmt, dann lässt sich das dazu passende Koordinatensystem 16 des jeweiligen Bauteils, beispielsweise der Schraube 24, mit Hilfe der gefundenen Transformation berechnen.
  • 5 zeigt beispielhaft die Modelle 30 der Schrauben 24 in der anhand der erfassten Bildpunkte 12 in der Kiste 10 ermittelten Position, in welche jeweils ein Koordinatensystem 16 eingepasst ist. In 5 ist für die jeweilige Schraube 24 des Weiteren ein Greifpunkt 18 angegeben, an welchem eine Greifeinheit 38, beispielsweise mittels eines Saugers oder ein Magneten, das Bauteil, vorliegend also die Schraube 24, ergreifen kann.
  • Eine weitere Ausführungsform wird vorliegend zum Ermitteln der Position einer Scheibe, beispielsweise der Exzenterscheibe 40, in der Kiste 10 herangezogen (vgl. 9). Zunächst wird zum Abgrenzen von Regionen 14, in welchen Bildpunkte 12 der Scheibe zu liegen kommen, das Segmentierungsverfahren genutzt, bei welchem die Homogenitätskriterien Stetigkeit und Änderungen von Normalenvektoren von Pixel zu Pixel untersucht werden.
  • Dieses Segmentierungsverfahren liefert bei restriktiver Parametrisierung ebene Regionen 14 (vgl. 2).
  • Die Punktemenge einer jeweiligen Region 14 bzw. eines Labels l, also (x, y, z)kεT(l(i, j)) mit L(i, j) = l und mit T aus Gleichung (1), wird hierzu einer Hauptachsentransformation unterworfen, die als Ergebnis ein Koordinatensystem 16 in der Scheibenebene produziert.
  • Hierfür wird für jede Menge p →k = (x, y, z)k T des Labels l, welche eine vorgegebene Mindestanzahl an Bildpunkten 12 beinhaltet, der Massenschwerpunkt ci nach Gleichung (4) berechnet.
  • Figure 00180001
  • Veranschaulichend ist ein solcher Massenschwerpunkt 42 eines planaren Flächenstücks 44 in 8 dargestellt. Nach dem Berechnen des Massenschwerpunkts je Region 14 wird für jede Region 14 eine 3 × 3 Korrelationsmatrix Ci nach Gleichung (5) aufgestellt.
  • Figure 00180002
  • Die Korrelationsmatrix beinhaltet die Varianzen aller Bildpunkte 12 der Region 14 bezüglich ihres Massenschwerpunktes.
  • Durch Berechnung der Eigenvektoren ei(1 ≤ i ≤ 3) und den dazugehörigen Eigenwerten λi wird ein Korrelationsellipsoid 46 erstellt. Bei dieser Hauptkomponentenanalyse (Principle Component Analyses, PCA) des planaren Flächenstückes 44 bestimmen die Eigenvektoren und Eigenwerte das Korrelationsellipsoid 46. Der im Massenschwerpunkt 42 ansetzende Eigenvektor 48 des kleinsten Eigenwertes entspricht der Normalenrichtung des Flächenstücks 44 (vgl. 8).
  • Die Bedingung der Ebenenextraktion lässt sich wie folgt definieren: sind die Eigenwerte λi mit den zugehörigen Eigenvektoren ei entsprechend Gleichung (6) der Größe nach geordnet, so erfüllen die Eigenwerte λi die Gleichungen (7), (8) und (9). i < j → λi ≤ λj (6) λ1 ≈ 0 (7) λ2 >> 0 (8) λ3 >> 0 (9)
  • Geometrisch lassen sich die Gleichungen (6) bis (9) wie folgt erläutern: Die Varianzen der Bildpunkte 12 sind innerhalb einer Ebene groß. Die Eigenvektoren ei der großen Eigenwerte λi entsprechen den Spannvektoren der Ebene. In Richtung der Ebenennormale, also in Richtung des Eigenvektors 48, sind die Varianzen sehr klein. Der zugehörige Eigenvektor 48 entspricht somit der Ebenennormale. Werden die Kriterien nicht erfüllt, können die Bildpunkte 12 Kanten, Kugeln oder weitere geometrische Figuren bilden. In 9 sind berechnete Exzenterscheiben 40 eines Scans dargestellt.
  • Dieser Berechnung schließt sich die Transformation der Bildpunkte 12 einer ebenen Region 14 in ein Schwarz-Weiß-Bild 50 an, wie es 10 zeigt. In diesem Schwarz-Weiß-Bild 50 wird als jeweilige konvexe Hülle ein Umkreis 52 einer jeden Konturlinie 54 der Exzenterscheibe 40 bestimmt. Derjenige Umkreis 52, dessen Radius dem gesuchten Scheibenradius entspricht wird als erster Kandidat aufgenommen. An dieser Stelle lässt sich die Orientierung der Exzenterscheibe 40 bestimmen. Hierbei wird ein Differenzvektor der jeweiligen Mittelpunkte der beiden größten Umkreise 52 der Konturlinien 54 eines jeden Schwarz-Weiß-Bildes 50 als x-Achse definiert.
  • Die ermittelten bauteilfesten Koordinatensysteme 15 entsprechen nicht in jedem Fall den Greifpunkten 18, die der Industrieroboter anfährt. Es gibt für die jeweiligen Bauteile mehrere Greifpunkte 18, die je nach Lage des Bauteils günstig anzufahren sind. Beispielsweise kann es Schwierigkeiten bereiten, eine senkrecht stehende Schraube 24 am Gewinde zu greifen, wohingegen ein Greifen am Schraubenkopf 26 bei der senkrecht stehenden Schraube 24 leicht zu bewerkstelligen ist.
  • Um diese Funktionalität bereitzustellen, wird je Bauteil ein STL-File angelegt, in welchem mehrere Greifpunkte 18 an dem Bauteil definiert sind. Für das jeweilige Koordinatensystem 16 eines Bauteils werden diese möglichen Greifpunkte 18 in die vorliegende Basis des Bauteils in der Kiste 10 transformiert. Für die jeweiligen Greifpunkte 18 werden Anfahrrichtungen ermittelt, aus welchen die Greifeinheit 38 des Industrieroboters das Bauteil zum Aufnehmen anfahren kann. Die voneinander verschiedenen Anfahrrichtungen werden verglichen und diejenige Anfahrrichtung ausgewählt, die eine möglichst senkrechte Anfahrt erlaubt.
  • Beispielsweise wenn ein Greifpunkt 18 direkt von oben, also ohne Schrägstellung der Greifeinheit 38, angefahren werden soll, wird der gefundene Greifpunkt 18 einer Transformation unterworfen. Insbesondere wenn die Greifeinheit 18 den Sauger und/oder den Magneten zum Halten des Bauteils aufweist, ist es möglich eine Orientierung des Saugers und/oder Magneten an eine Orientierung des Bauteils anzupassen, auch wenn die Greifeinheit 38 das sich schräg in der Kiste 10 befindende Bauteil senkrecht anfährt.
  • Um eine Kollision der Greifeinheit 38 mit anderen als dem zu ergreifenden Bauteil, etwa mit benachbarten Bauteilen in der Kiste 10, mit der Kiste 10 selbst oder mit einem zumindest überwiegend außerhalb der Kiste 10 angeordneten Objekt, zu vermeiden, wird eine Störgeometrie der Greifeinheit 38 durch einen Greiferzylinder 56 approximiert (vgl. 6).
  • Der Greiferzylinder 56 wird mit einem virtuellen Quader 58 umgeben, dessen Eckpunkte auf die Ebene des Tiefenbildes 20 projiziert werden. Die Eckpunkte werden zum Bilden eines Polygonzugs herangezogen, welcher eine konvexe Hülle der Eckpunkte ist. Der Polygonzug wird in einem Maskenbild weiß (1) eingefärbt, die Pixel des Polygonzugs also auf ”1” gesetzt. Alle anderen Pixel bleiben Schwarz, also auf ”0” gesetzt. Dieses Maskenbild wird benutzt, um eine Vorauswahl an Bildpunkten 12 des Tiefenbildes 20 zu treffen, welche in kartesische Koordinaten zu transformieren sind. Da somit nicht alle Bildpunkte 12 des Tiefenbildes 20 in kartesische Koordinaten zu transformierend sind, ist zum raschen Ermitteln der Wahrscheinlichkeit einer Kollision der Greifeinheit 38 mit von dem zu ergreifenden Bauteil verschiedenen Objekten ein vergleichsweise geringer Rechenaufwand nötig.
  • Es wird anschließend für alle Bildpunkte 12 des Tiefenbildes 20, welche in kartesische Koordinaten transformiert wurden, überprüft, ob diese Bildpunkte 12 innerhalb des Greiferzylinders 56 liegen oder nicht. Eine jeweilige Eindringtiefe jedes Bildpunktes 12 in den Greiferzylinders 56 in z-Richtung wird für alle diese innerhalb des Greiferzylinders 56 liegen Bildpunktes 12 aufsummiert. Liegt die sich ergebende Summe über einem Schwellenwert, wird der Greifpunkt 18 nicht angefahren.
  • Als weitere Einschränkung für die Koordinaten des jeweiligen Greifpunkts 18 kann eine Positivbox angeben werden, innerhalb derer die Koordinaten auf jeden Fall liegen müssen, um dem Industrieroboter übermittelt zu werden.
  • Des Weiteren kann es vorgesehen sein, zumindest eine Negativbox, also eine Tabuzone, zu definieren, innerhalb derer ein Greifpunkt 18 nicht zu liegen kommen darf und/oder welche beim Anfahren des Bauteils mit der Greifeinheit 38 zu vermeiden ist. Dies ist vorliegend vorgesehen, um eine Kollision der sechsten Achse des Industrieroboters mit dem Scanner zu vermeiden.

Claims (12)

  1. Verfahren zum Vereinzeln von Bauteilen (24, 32, 40) aus einem Behältnis (10), bei welchem a) mittels eines Sensors ein Bild (20) zumindest eines Bauteils (24, 32, 40) erstellt wird, welches eine dreidimensionale Punktwolke mit einer Mehrzahl von erfassten Bildpunkten (12) umfasst, b) mittels einer Auswerteeinheit anhand des Bildes (20) und unter Heranziehung einer aus erfassten Bildpunkten (12) gebildeten Basis zum Transformieren erfasster Bildpunkte (12) eine Position des zumindest einen Bauteils (24, 32, 40) ermittelt wird, und c) mittels einer Greifeinheit (38) zumindest ein Bauteil (24, 32, 40) in Abhängigkeit von der ermittelten Position aufgenommen wird, dadurch gekennzeichnet, dass zum Ermitteln der Position des zumindest einen Bauteils (24, 32, 40) gemäß Schritt b) aus einer Menge möglicher Basen zum Transformieren erfasster Bildpunkte (12) wenigstens eine bauteilspezifische Basis bestimmt wird.
  2. Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass aus der dreidimensionalen Punktwolke an Bildpunkten (12) durch Anwenden wenigstens eines Homogenitätskriteriums, insbesondere eines Stetigkeitskriteriums und/oder eines Differenzierbarkeitskriteriums, ein zweidimensionales Bild (22, 60) erstellt wird, in welchem wenigstens eine Region (14) abgrenzbar ist.
  3. Verfahren nach Anspruch 2, dadurch gekennzeichnet, dass für der wenigstens einen Region (14) zugeordnete, gemäß Schritt a) erfasste Bildpunkte (12) Normalenvektoren gebildet und diese Normalenvektoren in eine Einheitskugel überführt werden, wobei Aufpunkte der Normalenvektoren auf der Oberfläche der Einheitskugel zu liegen kommen.
  4. Verfahren nach Anspruch 3, dadurch gekennzeichnet, dass als bauteilspezifische Basis ein, insbesondere unter Heranziehung eines Winkels zwischen zwei Normalenvektoren als Schlüssel ausgewählter, Zweitupel linear unabhängiger Normalenvektoren gewählt wird.
  5. Verfahren nach einem der Ansprüche 2 bis 4, dadurch gekennzeichnet, dass unter Heranziehung von der wenigstens einen Region (14) zugeordneten, gemäß Schritt a) erfassten Bildpunkten (12) eine Zylinderachse (34) ermittelt wird, wobei ein Punkt, insbesondere ein Mittelpunkt, der Zylinderachse (34) zum Bilden der bauteilspezifischen Basis herangezogen wird.
  6. Verfahren nach einem der Ansprüche 2 bis 5, dadurch gekennzeichnet, dass unter Heranziehung von der wenigstens einen Region (14) zugeordneten, gemäß Schritt a) erfassten Bildpunkten (12) ein Korrelationsellipsoid (46) ermittelt wird, wobei ein Punkt, insbesondere ein Massenschwerpunkt (42), des Korrelationsellipsoids (46) zum Bilden der bauteilspezifischen Basis herangezogen wird.
  7. Verfahren nach einem der Ansprüche 1 bis 6, dadurch gekennzeichnet, dass Bildpunkte (12) der dreidimensionalen Punktwolke in die wenigstens eine bauteilspezifische Basis transformiert und, insbesondere mittels eines Geometric-Hashing-Algorithmus, mit Modellpunkten eines Modells (30) des Bauteils (24, 32, 40) verglichen werden.
  8. Verfahren nach Anspruch 7, dadurch gekennzeichnet, dass anhand der Übereinstimmung der Bildpunkte (12) mit den Modellpunkten wenigstens ein Greifpunkt (18) an dem zu vereinzelnden Bauteil (25, 32, 40) bestimmt wird.
  9. Verfahren nach einem der Ansprüche 1 bis 8, dadurch gekennzeichnet, dass zum Aufnehmen des Bauteils (24, 32, 40) wenigstens ein Greifpunkt (18) in Abhängigkeit von einer Wahrscheinlichkeit einer Kollision der Greifeinheit (38) mit einem von dem Bauteil (24, 32, 40) verschiedenen Objekt, insbesondere mit einem weiteren Bauteil und/oder mit dem Behältnis (10), an eine die Greifeinheit (38) steuernde Einrichtung übermittelt wird.
  10. Verfahren nach einem der Ansprüche 1 bis 9, dadurch gekennzeichnet, dass beim Erfassen des Bilds (20) des Bauteils (24, 32, 40) gemäß Schritt a) ein, insbesondere mehr als eine Kamera nutzendes, Lichtschnittverfahren, insbesondere ein Laserlichtschnittverfahren, eingesetzt wird.
  11. Vorrichtung zum Vereinzeln von Bauteilen (24, 32, 40) aus einem Behältnis (10), mit einem Sensor zum Erstellen eines Bildes (20) zumindest eines Bauteils (24, 32, 40), welches eine dreidimensionale Punktwolke mit einer Mehrzahl von erfassten Bildpunkten (12) umfasst, mit einer Auswerteeinheit, mittels welcher anhand des Bildes (20) und unter Heranziehung einer aus erfassten Bildpunkten (12) gebildeten Basis zum Transformieren erfasster Bildpunkte (12) eine Position des zumindest einen Bauteils (24, 32, 40) ermittelbar ist, und mit einer Greifeinheit (38) zum Aufnehmen zumindest eines Bauteils (24, 32, 40) in Abhängigkeit von der ermittelten Position, dadurch gekennzeichnet, dass mittels der Auswerteeinheit zum Ermitteln der Position des zumindest einen Bauteils (24, 32, 40) aus einer Menge möglicher Basen zum Transformieren erfasster Bildpunkte (12) wenigstens eine bauteilspezifische Basis bestimmbar ist.
  12. Vorrichtung nach Anspruch 11, dadurch gekennzeichnet, dass die Vorrichtung zum Durchführen eines Verfahrens nach einem der Ansprüche 1 bis 10 ausgebildet ist.
DE200910007024 2009-01-31 2009-01-31 Verfahren und Vorrichtung zum Vereinzeln von Bauteilen Withdrawn DE102009007024A1 (de)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE200910007024 DE102009007024A1 (de) 2009-01-31 2009-01-31 Verfahren und Vorrichtung zum Vereinzeln von Bauteilen

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE200910007024 DE102009007024A1 (de) 2009-01-31 2009-01-31 Verfahren und Vorrichtung zum Vereinzeln von Bauteilen

Publications (1)

Publication Number Publication Date
DE102009007024A1 true DE102009007024A1 (de) 2010-08-05

Family

ID=42270269

Family Applications (1)

Application Number Title Priority Date Filing Date
DE200910007024 Withdrawn DE102009007024A1 (de) 2009-01-31 2009-01-31 Verfahren und Vorrichtung zum Vereinzeln von Bauteilen

Country Status (1)

Country Link
DE (1) DE102009007024A1 (de)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102011101017A1 (de) * 2011-05-10 2012-11-15 Hetal-Werke Franz Hettich Gmbh & Co. Kg Verfahren und Bearbeitungseinrichtung zur Bearbeitung von Werkstücken
CN108247635A (zh) * 2018-01-15 2018-07-06 北京化工大学 一种深度视觉的机器人抓取物体的方法
DE102022106765B3 (de) 2022-03-23 2023-08-24 Bayerische Motoren Werke Aktiengesellschaft Verfahren zum Bestimmen einer Lage eines Objekts relativ zu einer Erfassungseinrichtung, Computerprogramm und Datenträger
CN119260474A (zh) * 2024-11-14 2025-01-07 上海交通大学 基于三维视觉驱动的非标零件多功能加工系统及方法

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102011101017A1 (de) * 2011-05-10 2012-11-15 Hetal-Werke Franz Hettich Gmbh & Co. Kg Verfahren und Bearbeitungseinrichtung zur Bearbeitung von Werkstücken
CN108247635A (zh) * 2018-01-15 2018-07-06 北京化工大学 一种深度视觉的机器人抓取物体的方法
CN108247635B (zh) * 2018-01-15 2021-03-26 北京化工大学 一种深度视觉的机器人抓取物体的方法
DE102022106765B3 (de) 2022-03-23 2023-08-24 Bayerische Motoren Werke Aktiengesellschaft Verfahren zum Bestimmen einer Lage eines Objekts relativ zu einer Erfassungseinrichtung, Computerprogramm und Datenträger
CN119260474A (zh) * 2024-11-14 2025-01-07 上海交通大学 基于三维视觉驱动的非标零件多功能加工系统及方法

Similar Documents

Publication Publication Date Title
DE112010004767B4 (de) Punktwolkedaten-Verarbeitungsvorrichtung, Punktwolkedaten-Verarbeitungsverfahren und Punktwolkedaten-Verarbeitungsprogramm
DE112012005350B4 (de) Verfahren zum Schätzen der Stellung eines Objekts
DE19636028C1 (de) Verfahren zur Stereobild-Objektdetektion
DE69027616T2 (de) Gerät und Verfahren zum Bestimmen von Konturen und Linien
DE102014209137B4 (de) Verfahren und Vorrichtung zur Kalibrierung eines Kamerasystems eines Kraftfahrzeugs
DE69226512T2 (de) Verfahren zur Bildverarbeitung
EP2927844A1 (de) Positions- und lagebestimmung von 3d objekten
EP3320483B1 (de) Verfahren zum steuern eines roboters und/oder eines autonomen fahrerlosen transportsystems
DE102012223047B4 (de) Mehrteil-Korrespondierer (corresponder) für mehrere Kameras
DE102007013664A1 (de) Multisensorieller Hypothesen-basierter Objektdetektor und Objektverfolger
DE102022107144A1 (de) Komponentenprüfsystem und -verfahren auf produktionsgeschwindigkeit
EP1522878B1 (de) Verfahren zur Bestimmung der Lageänderung eines Gepäckstücks zur Untersuchung einer verdächtigen Region in diesem Gepäckstück
EP2047403A1 (de) Verfahren zur automatisierten 3d-objekterkennung und lagebestimmung
DE102009007024A1 (de) Verfahren und Vorrichtung zum Vereinzeln von Bauteilen
DE102008036219A1 (de) Verfahren zur Erkennung von Objekten im Umfeld eines Fahrzeugs
DE102019211459B4 (de) Verfahren und Vorrichtung zum Überprüfen einer Kalibrierung von Umfeldsensoren
DE102022106765B3 (de) Verfahren zum Bestimmen einer Lage eines Objekts relativ zu einer Erfassungseinrichtung, Computerprogramm und Datenträger
EP1098268A2 (de) Verfahren zur dreidimensionalen optischen Vermessung von Objektoberflächen
DE102019209473A1 (de) Verfahren und Vorrichtung zur schnellen Erfassung von sich wiederholenden Strukturen in dem Bild einer Straßenszene
EP3770804B1 (de) Flurförderzeug mit einer objekterkennung
EP0360880A1 (de) Verfahren zum segmentieren dreidimensionaler Szenen
DE102019220616B4 (de) Verfahren zur simultanen lokalisierung und abbildung
EP2059905A2 (de) Verfahren zur lagebestimmung von objeckten im dreidimensionalen raum
DE102023110832A1 (de) Verfahren zum Beurteilen eines Objekts, Verfahren zur Handhabung eines Objekts, optisches System und Handhabungssystem
DE102009009569B4 (de) Verfahren zum Ermitteln einer Teilfläche eines Bauteils

Legal Events

Date Code Title Description
R005 Application deemed withdrawn due to failure to request examination