[go: up one dir, main page]

DE102009007024A1 - Method and device for separating components - Google Patents

Method and device for separating components 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
German (de)
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/en
Publication of DE102009007024A1 publication Critical patent/DE102009007024A1/en
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).The invention relates to a method for separating components (24) from a container (10), wherein by means of a sensor, an image of at least one component (24) is created, which comprises a three-dimensional point cloud with a plurality of captured pixels (12). By means of an evaluation unit, a position of the at least one component (24) is determined on the basis of the image and with reference to a base formed from detected pixels (12) for transforming detected pixels (12) and by means of a gripping unit (38) at least one component (24) Depending on the position determined. For determining the position of the at least one component (24), at least one component-specific basis is determined from a set of possible bases for transforming detected pixels (12). Furthermore, the invention relates to a device for separating components (24) from a container (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.The The invention relates to a method for separating components a container, in which by means of a sensor, an image of at least one component is created, which is a three-dimensional point cloud with a Comprises a plurality of captured pixels. Based on the picture will by means of an evaluation unit using one of Pixels formed base for transforming detected pixels a position of the at least one component is determined. Dependent on from the position determined is then by means of a gripping unit at least one component added. Furthermore, the invention relates a device for separating components.

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.Out the prior art, it is known for separating components the components on a conveyor belt give up and with a camera pictures of passing under the camera assembly line to record with the components located thereon. The of the camera captured images are using comparison images evaluated in an evaluation unit. This is based on the comparison determined a position of the component with comparative images. When Position here is a position in the assembly line level and optionally a rotation about an axis of rotation oriented perpendicular to the assembly line plane of the component detected. The determined position of the component is transmitted to a gripping unit, which picks up the component.

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.at It is necessary to do this before creating the Picture the components on the assembly line to give up the respective Determine the position of the component, as such a uniform, size ratios non-distorting distance from camera and component ensured is.

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.One Determine the position of the component using pixels of a three-dimensional Point cloud, which allows the component to be picked up directly from the container, requires a very high calculation effort when comparing the created by the sensor image with the comparison image. Thereby is not a sufficiently short, a rational further processing sufficient, Cycle time when picking up the component by means of the gripping unit achievable.

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.task The present invention is therefore an improved process and a device of the type mentioned for separating Components from a container to accomplish.

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.These The object is achieved by a method having the features of the patent claim 1 solved. Furthermore, this object is achieved by a device for separating solved by components with the features of claim 11. advantageous Embodiments with expedient developments of the invention are in the dependent claims specified.

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.In the inventive method for separating components from a container in which
  • a) an image of at least one component is created by means of a sensor, which comprises a three-dimensional point cloud with a plurality of captured pixels,
  • b) a position of the at least one component is determined by means of an evaluation unit on the basis of the image and using a base formed from detected pixels for the purpose of transforming detected pixels; and
  • c) by means of a gripping unit at least one component is received as a function of the determined position,
For determining the position of the at least one component according to step b), at least one component-specific basis is determined from a set of possible bases for transforming detected pixels.

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.Of the The invention is based on the recognition that a voting procedure, in which all possible, using detected pixels formed bases for transforming Captured pixels are used, very computationally intensive and thus time consuming is. If, on the other hand, the base number is reduced, then the complexity of the calculation drastically reducible. This is an improved method of singulation of components from a container created.

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.The rapid calculation allows a correct position recognition of the component within a given, tailored to the needs of automated, efficient production and / or further processing cycle time. Likewise, learning a model of the component to be compared for comparison is particularly simple and can be carried out with little computational effort or training expenditure. As a result, a particularly high flexibility in applying the method to new components can be achieved, which is a previously unknown Shaping have.

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.at the components may in particular be small parts, for example Screws, washers or nuts, for a motor vehicle, which are fed to an automated further processing should.

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.is detects the position of the component in the container, so can a the gripping unit controlling device, such as a robot, be prompted to take the component targeted and then in a desired one spatial To transfer orientation. Thereby is an ordered, correct positioning of the component in one Further processing device allows.

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.Of the space requirement for the separation of each different components is hereby low in comparison to the space requirement for mechanical separator, by means of which different components isolated the further processing device to disposal would be to make.

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.In An advantageous embodiment of the invention will become apparent from the three-dimensional Point cloud on pixels by applying at least one homogeneity criterion, in particular a continuity criterion and / or a differentiability criterion, a two-dimensional image is created in which at least one Region is delimitable. As a result, need in the subsequent comparison of pixels of the three - dimensional point cloud, which in the at least one component-specific basis to be transformed with model points a model of the component takes fewer pixels into account to become.

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.When Furthermore, it has proven to be advantageous if, for the at least one region assigned, according to step a) captured pixels formed normal vectors and these normal vectors be transferred into a unit sphere, where reference points of the normal vectors on the surface of the Unit ball come to rest. Such a unit ball will too as a Gaussian ball and is particularly suitable for forming a component-specific Base. This method is applicable to any free-form objects. As a component-specific basis can then one, in particular under attraction of an angle between two normal vectors as keys of selected, second ones linearly independent Normal vectors selected become. In this case, the information about the direction of normal vectors is sufficient Vectors to uniquely determine the base.

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.Complementary or Alternatively, in particular in the case of components in the container, at which a translation of the component to be taken are found should, with reference to the at least one region assigned, according to step a) detected pixels are determined a cylinder axis, wherein a point, in particular a center, of the cylinder axis for forming the component-specific basis is used. Such a make The component-specific basis is suitable, for example, for screws or bolt, which has a substantially cylindrical portion exhibit.

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.Of Furthermore, it has proved to be advantageous, with reference to from the at least one region associated with, according to step a) acquire detected pixels a correlation ellipsoid, where a point, in particular a centroid, of the correlation ellipsoid is used to form the component-specific basis. The Correlation ellipsoid and its center of gravity can hereby means Principal component analysis of pixels associated with a region respectively. Such a building of the component-specific basis offers especially for essentially planar components, for example for discs, in particular washers, at.

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.pixels the three-dimensional point cloud can in the at least one component-specific basis transformed and, in particular by means of a geometry hashing algorithm, be compared with model points of a model of the component. Subsequently can by linear transformation a reference coordinate system of the model are transferred to the coordinate system of the scene of the component. Thus, a body-tight System placed in the scene coordinates and locates the component. The thus determined position of the component in the container can then transmitted to the device controlling the gripping unit become.

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.in this connection it has proved to be advantageous, based on the coincidence of the pixels with the model points at least one gripping point at the to be separated Component to determine. By determining at least one grip point At the component to be separated is a removal of the component from the container by means of the gripping unit particularly process reliable feasible.

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.Is in accordance with a further advantageous embodiment of the invention for receiving the component At least one gripping point in response to a probability of a collision of the gripping unit with an object different from the component, in particular with a further component and / or with the container, is transmitted to a device controlling the gripping unit, thus removing the component from the collision allows the container.

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.Finally has it is shown to be advantageous if when capturing the image of the Component according to step a) a light-section method, in particular using more than one camera, in particular, a laser light section method is used. in the Contrary to a laser scanning method, in which as a result of reflections and reflections on the component a total reflection of the laser and with it a corresponding loss of information occur can, has been based on a triangulation approach light-section method proved to be particularly suitable.

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.According to one Another aspect of the invention, the above object is achieved by a device for separating components from a container, with a sensor for creating an image of at least one component, which is a three-dimensional point cloud with a plurality of detected pixels comprises, with an evaluation, by means of which is based on the image and using one of Pixels formed base for transforming detected pixels a position of the at least one component can be determined, and with a gripping unit for receiving at least one component in dependence from the position determined. Here is by means of the evaluation for determining the position of the at least one component from a Amount possible Bases for transforming detected pixels at least one component-specific Basis determinable.

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.The for the inventive method described preferred embodiments and prejudices also apply to the device according to the invention for separating components.

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.The features and feature combinations mentioned above in the description as well as the below mentioned in the figure description and / or in the figure alone shown features and feature combinations are not only in the specified combination, but also usable in other combinations or in isolation, without departing from the scope of the invention.

Weitere Vorteile, Merkmale und Einzelheiten der Erfindung ergeben sich aus der nachfolgenden Beschreibung bevorzugter Ausführungsformen sowie anhand der Zeichnungen. Dabei zeigen:Further Advantages, features and details of the invention will become apparent the following description of preferred embodiments and with reference to the Drawings. Showing:

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; 1 a depth image of a box containing screws, and a two-dimensional black-and-white image formed by applying a continuity criterion from the depth image, in which regions are demarcated;

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; 2 in each case a two-dimensional image of a disk containing and one of the screws according to 1 containing box in which regions are delineated by applying a continuity criterion and a differentiability criterion;

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; 3 image points of a three-dimensional point cloud, which are associated with a region, the region delimiting parts of a surface of a single screw, and a cylinder axis of the screw determined on the basis of the image points;

4 die Bildpunkte gemäß 3 mit einem eingepassten Modell eines Zylinders der Schraube; 4 according to the pixels 3 with a fitted model of a cylinder of the screw;

5 Modelle von Schrauben in der Kiste mit jeweiligen Greifpunkten an zu vereinzelnden Schrauben, wobei an dem jeweiligen Greifpunkt eine Greifeinheit ansetzt; 5 Models of screws in the box with respective gripping points on screws to be separated, wherein a gripping unit attaches to the respective gripping point;

6 eine an einem Modell einer Schraube ansetzende Greifeinheit in einer weiteren Ansicht; 6 a attaching to a model of a screw gripping unit in another view;

7 Modelle von in einer Kiste in ihrer Position ermittelten Muttern; 7 Models of nuts determined in position in a box;

8 ein mittels Hauptkomponentenanalyse eines planaren Flächenstücks erstelltes Korrelationsellipsoid; 8th a correlation ellipsoid created by principal component analysis of a planar patch;

9 eine mittels Hauptkomponentenanalyse in einer Kiste gefundene Exzenterscheibe; und 9 an eccentric disc found in a box by principal component analysis; and

10 ein durch Transformieren von Bildpunkten einer Exzenterscheibe gemäß 9 erstelltes Schwarz-Weiß-Bild. 10 a by transforming pixels of an eccentric disc according to 9 created Black and white image.

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.In the following, methods for estimating the position in distance images are described, which allow a targeted "grip in the box". It is thus possible, by means of an industrial robot, from a small load carrier, so a grid box or box 10 (see. 1 ) To grip components. In the box are the components, such as screws 24 (see. 1 ), Nuts 32 (see. 7 ) or discs, such as eccentric discs 40 (see. 9 ), sorted before.

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.This will be a determination of the position of the components in the box 10 made by image processing. Coordinate systems that play a role in this case are coupled in such a way that it is possible for the industrial robot to bring its tool system into collision-free collision with a gripping system. The coupling between the base of the industrial robot and a scanner system takes place via a base, which is defined identically in both systems. With the industrial robot, the base is taught according to the three-point method. In image processing, the base can also be fixed by moving three points. Crate corner points are selected in the present embodiment, but any other object that provides unique detectable points from the scanner can be used.

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.The process of separating components from the box 10 is divided into several phases. In a first phase, a 3D capture of pixels 12 (see. 3 ) performed by means of a laser light-section method. The next step is the preparation of the data, ie a restoration of individual defect pixels and an elimination of artifacts from the image. The image is then segmented into regions 14 (see. 1 and 2 ), from which then the actual position determination or position estimation, ie the determination of a body-fixed coordinate system 16 (see. 3 ) he follows. In this system are possible gripping points 18 (see. 5 ) subjected to a collision avoidance and then passed to the cross industrial robot as present three spatial directions and three directions of rotation comprehensive 6D coordinates.

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.Around grab points 18 on components in the box 10 The box is detected by means of a triangulation based laser light sensor 10 Scanned and created a point cloud, which captured pixels 12 includes. The laser light section sensor in the present case comprises a camera and a laser line.

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.The point cloud is a distance image l (i, j) or depth image 20 (see. 1 ), also called 2.5D image, since the pixels 12 all clearly projected into an i, j plane. So there are several forms of representation for the data. Some parts of algorithms used in image processing can calculate images very quickly. A spatial representation of the data, however, is chosen for a system of the same scale, in which also models 30 (see. 5 ) of components and parameters. Around the coordinates (i, j, l (i, j)) of the pixels 12 in an SI system, the data is stretched. For this purpose, functions according to equation (1) are used: (x, y, z) T = T (i, j) = (f x (i), f y (j), f z (l (i, j))) T (1) where f x , f y , f z are affine maps.

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.The Point cloud may be due to reflections and shading areas without information, ie areas with so-called missing data included. By rescanning these areas in from an original one Scan angle different scan angle and / or from an original Traversing different travel path may be this missing information be won.

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.A method used here to improve the measurement data is based thereon, for a given recording direction within each image column, in each case adjacent pixels 12 to investigate their slope. If the slope is over one defined by an angle between the optical axes of the camera and the laser line, it is assumed that the higher pixel was caused by a disturbance. This pixel is then set to "Missing Data".

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.Especially for the data-based collision avoidance are such Störpixel, which to the adjacent pixel 12 otherwise, they are real obstacles. Using a median filter is not suitable for improving the measurement data, since noise caused by noise pixels would otherwise condense into an object.

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.To the shadow in the box 10 in an advanced sampling process, if so, increasingly Removed components that are located near the bottom of the box, the scanner, which in this case includes the camera and laser line in a mating assembly, is pivoted by a defined angle of for example 30 ° from a vertical scanning position. The procedure is as described below in order to achieve a loss-free transformation of the data to a depth image and thus to be able to apply the algorithms used in the image processing unchanged.

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.The data collected by the tilted scanner now makes oblique cuts through the box 10 The recorded profiles are transformed by an affine transformation l '= T (l) transformed in the way that the box 10 now undistorted, but tilted appears. This is compensated by the fact that the context is 30 ° known and another, also inclined definition for the robot base is given in a calibration phase.

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).In order to obtain a rapid subdivision of the image into subsections, a black and white image is first formed 22 from the depth image 20 created (cf. 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”.A particularly fast segmentation method for depth images 20 which is for the handle in the box 10 gives good results, is the segmentation according to a homogeneity criterion in the depth of the pixels 12 or pixels. In this case, the distance between a center pixel and its neighboring pixels in the z direction, ie in the vertical direction, is calculated. All neighboring pixels whose distance from the center pixel exceeds a predetermined threshold value T1 are counted. As soon as more than one number of neighboring pixels specified by another threshold value T2 does not satisfy this property for a center pixel, the center pixel is set to black, ie "0", otherwise to white, ie "1".

Nachfolgend ist der hierfür herangezogene Algorithmus im Pseudocode dargestellt.following is the one for this algorithm used in pseudocode shown.

Figure 00100001
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.In 1 is the result of this delineation of regions 14 by applying this consistency criterion to pixels 12 of the depth image 20 shown. There is a screw for this 24 which is a screw head 26 and a threaded cylinder 28 includes, in the depth image 20 shown by way of example. By applying the continuity criterion to the pixels 12 the screw 24 demarcated, and in relation to the depth image 20 the screw 24 smaller region 14 is in the black and white picture 22 shown.

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.One The advantage of this procedure is that individual interfering pixels, but also large interfering surfaces, are sorted out or that the latter be reduced to at least a size that a neglect the region possible power.

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.Additionally or alternatively, another segmentation method, the result for discs or screws 24 exhibiting regions 14 in 2 each in a two-dimensional image 60 shown is used. In this segmentation method, changes of normal vectors from pixel to pixel are examined in addition to continuity. Thus, an estimate of the differentiability is obtained. This segmentation method has the advantage that a delimitation of contiguous regions 14 can be made, which are approximately convex.

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.In this further segmentation method, surface normals N (i, j) on the tie are first of all determined fenbild 20 with l (i, j) using the standard obel operators (-1, 0, 1) and (-1, 0, 1) T and the functions f x , f y , f z determined in Cartesian coordinates. In the image, neighboring pixels are checked for violations of two homogeneity criteria, line by line and column by column: on the one hand on the normal deviation and on the other hand on their difference in height. Thereafter, the lines and columns are cut and the sections, provided with a consecutive number, entered in each case a picture. Between the pixels of the same coordinate in the row and column image, a relation is set up and the resulting adjacency matrix is reduced until all nodes linked by way of detours are combined to form a label, ie a region 14 assigned. One of the images is used to generate the final L (i, j) by looking up and replacing all the pixels in the identifier relation.

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.As a result, as in 2 shown, regions 14 within which, depending on the type of components in the respective box 10 the discs or the screws 24 to come to rest.

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.This segmentation method can also be used to create the black and white image 22 which is created by means of the first segmentation method examining the pixels for continuity, to form an identifier image. Here, the homogeneity criterion of changing the normal vectors from pixel to pixel is dispensed with. The threshold T dist , however, is set to the value 0.5.

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.To determine the body-fixed coordinate system 16 Component-specific procedures are used, depending on the application and the type of component to be identified. The applications are divided into two main components: on the one hand, an initial recognition is used to check whether the correct component type is in the box that has been set 10 On the other hand, results become very fast, so grab points 18 , determined when the correctness of the component type is detected by means of the device for separating components.

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.For speed reasons, not the entire point set of a model 30 (see. 5 ) with the scene, so the pixels 12 of the component compared. The determination of the correct component type does not build on a complete orientation.

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) In the following, the problem will first be described mathematically. Given is a model M that can be suitably converted by the transformation Θ M in a point set. The set R {Θ M } denotes transformed point clouds that are locally shifted and rotated. Furthermore, there is a signal S, which also consists of a set of points. Subsets S i of S selected by a method Ω are identical to subsets of R {Θ M }. The requirement here is therefore to minimize the distance between the point sets by finding a transformation R, ie d i = f (R, Ω) = ∥Ω {p i } - 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.In the present case, a method is found which is applicable due to a drastic reduction to points to be linked. The dots can not only pixels 12 , but also feature points, such. B. edges in the image or area areas that have a spatial connection to each other by the object geometry.

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.In general, the present method uses for singulating components from a box 10 Geometric hashing. Geometric hashing looks for the above transformation by making a connection between the points in the model 30 to the points in the scene.

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.there A voting procedure will be used, which will turn into an offline and breaks down an online phase. The term base designates in the Following a Cartesian legal system, however, are in alternative embodiments of the method also skewed coordinate systems approachable.

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.In the offline phase, the voting space is determined from the model points M. For this purpose, all bases which can be formed by the model points are set up and the remaining points P l are represented with l ≠ i, j, k with respect to this basis. To form the bases B M , for example, triples P i , P j , P k are formed from the points which have two linearly independent difference vectors x → P j -P i and y '→ P k -P i . The third vector results from z → P j -P i × P k -P i , whereupon z. B. using Gram-Schmidt orthonormalization of the space with the axes x →, y →, z → can be calculated.

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.The Cartesian space, which is spanned by a base, is now divided into axis-parallel cubes of size 1. These cubes are given a list L → / t (x, y, z) with t → (x, y, z) = (u (x), v (y), w (z)), which are derived from Koor dinaten. The functions u (x), v (y), w (z) look like this u (X) = xs + x offset . where s is a scaling factor that reciprocally sets the size of the cubes and thus determines the accuracy or resolution.

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.The value x offset is chosen so large that the coordinate u (x) is positive for all x of the model points. All points P l generate an entry in the lists if they are in the corresponding cube. This entry contains information about which base of which model 30 created this entry. It can also be stored additional information, eg. For example, which normal direction n l has the point in the local coordinates, over which the subsequent vote can be weighted.

Die Listen L werden in einer über u, v, w adressierten Hashtabelle abgelegt, woher der Name Geometric Hashing rührt.The L lists are in one over u, v, w addressed hash table, where did the name Geometric come from Hashing stirs.

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.In the online phase, the scene points S are treated analogously, except that they do not generate any list entries. The points PS / l are mapped into the voting grid via the same functions u, v, w. Now each list entry causes L t → (P S l ) , whose starting address is calculated by u, v, w, for all list elements in the corresponding model 30 in a new voting histogram AM / d, which is also a hash table, an increase of the d-th list value, where d is the address of the associated base.

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.Voting is carried out for all bases, in particular for all base triplets. Then it is found out about max d AM / d which base of the model 30 best corresponds to a base from the scene. The linear transformation T (B M , B S ) then becomes the reference coordinate system of the model 30 transferred to the scene system. Thus, the body-fixed coordinate system 16 placed in the scene coordinates and the object, such as the component, located.

Dieses Vorgehen ist in dem nachfolgend wiedergegebene Algorithmus durch den Pseudocode für die Offlinephase dargestellt.This The procedure is described in the algorithm below the pseudocode for the offline phase is shown.

Figure 00130001
Figure 00130001

Der nachfolgend wiedergegebene Algorithmus stellt den Pseudocode für die Onlinephase dar.Of the The algorithm below represents the pseudo code for the online phase represents.

Figure 00140001
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.In principle, as is known from the prior art, the geometric hashing, for example, directly to all measuring points, in particular pixels 12 be applied with any base triplets. This has the disadvantage that due to the expense O (n 4 ) a calculation time is very long and thus not sufficiently short, a rational further processing sufficient cycle time when separating the components from the box 10 is reachable.

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.In the present case, therefore, three different embodiments of the method will be explained, in which the information, ie the possible basic number, is reduced by a fast preprocessing. By a data-driven determination of the basis, the combinatorial explosion (triplet of scene points) is suppressed and thereby the complexity on O (n 2 ) for a unit sphere (Gaussian) - or O (n) for slices and O (1) for screws - reduced.

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.The Lists are nearby the origin of the local coordinate systems much longer than those of the points nearby of the object's border, because all points are related to the same coordinate system being represented. The time to traverse the lists near the origin is then extraordinary big. To avoid this, the lists are different from the beginning Split hash tables. This is a unique key calculated at the base points.

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.This key can be formed at typed feature points by the combination of several types in a concrete base. The original 3D hashing can directly use the geometric information of the base points. The keys d 1 , d 2 , α can be used, where d 1 is the distance between P i and P j , d 2 is the distance between P i and P k and α is the angle between x '= P j -P i and y '= P k -P i .

Es sind jedoch auch alternative, im Folgenden erläuterte Schlüssel verwendbar. Die Hashtabellen werden in einer übergeordneten Hashtabelle, dem ”MetaHashTable” einsortiert.It however, alternative keys, explained below, may also be used. The hash tables be in a parent Hash table, sorted by "MetaHashTable".

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.A first embodiment of the method using the Geometric Hashing algorithm is based on the idea of separating the determination of rotation and translation. These are the regions 14 by means of the segmentation method in which the homogeneity criteria continuity and changes of normal vectors are examined from pixel to pixel, delimited. For those of a particular region 14 assigned pixels 12 normal vectors are formed. These normal vectors are transformed into a unit sphere, the Gaussian sphere, where reference points of the normal vectors come to rest on the surface of the Gaussian sphere.

Als Modell hierfür werden die Normalenrichtungen aus dem zugehörigen STL-File verwendet, die sich ebenfalls auf einer Gaußkugel befinden.When Model for this the normal directions from the associated STL file are used, the also on a Gaussian ball are located.

Dieses Verfahren lässt sich auf beliebige Freiformobjekte anwenden. Vorliegend werden jedoch die Muttern 32 der 7 mit diesem Verfahren lokalisiert.This method can be applied to any free-form objects. In the present case, however, the nuts 32 of the 7 localized with this method.

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.As a component-specific basis, all second tuples of normal vectors are formed, which are linearly independent. The base key is, for example, the angle between the two normal vectors. For geometric hashing on the Gaussian sphere, information about the direction of two normal vectors suffices to uniquely determine the base.

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.In alternative embodiments It is conceivable to use a special discretization for the Gaussian sphere use. Furthermore, lets for fitting the Gauss ball a 2D geometric hashing algorithm with the corresponding data structures use by evaluating the coordinates as spherical coordinates become.

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.Of the obtained rotations not only the best result is used because the objects, namely the nuts 32 , in the present embodiment, are approximately rotationally symmetrical, so that a main direction that can be defined by the axis of symmetry can point in both directions.

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.at a further embodiment can Translations of an object using the Geometric Hashing Algorithm being found. This embodiment can subsequently to the geometric hashing on the Gaussian ball, but also independently be used if unique bases z. From region data surrendered or in addition still a rotational degree of freedom is to be fitted, whose Points can be stored as different models.

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.Based on 3 and 4 will make a component-specific basis for screws 24 described. To the position of the screw 24 in the box 10 are first determined by applying the continuity criterion to pixels 12 of the depth image 20 regions 14 demarcated. Also, a normal image N → (i, j) is calculated.

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) Thereupon will be for each region 14 a cylinder axis 34 certainly. This is to each pixel 12 with the coordinates (i, j), p → = (x, y, z) transforms T according to equation (1), from the region 14 the normal vector N → (i, j) multiplied by the desired radius R is hung (compare equation (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.In these points a straight line with the parameters {r →, v →} is fitted by means of the method of least squares (via Huber distance). Subsequently, all points k → (i, j) are projected onto a straight line, ie to the found cylinder axis 34 With c → (t) = r → + tv → the distance d = lc → - k → (I, j) l certainly.

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.If the distance d falls within a specified tolerance band, the pixel becomes 12 as to the cylinder 28 (see. 4 ) and its projection parameter is the straight line to measure the length of the cylinder 28 used.

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.Thus, the entire thread axis of the screw 24 known with length and radius. 4 shows individual cylinders 28 , which in the captured pixels 12 a respective region 14 are fitted. The pixels 12 the scene in 3 and 4 also include pixels 12 , which are in the area of the screw head 26 and in the area of a screw tip 36 are arranged.

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.It is therefore assumed larger cylinder, the cylinder found 28 surrounds, and all pixels 12 , which lie within this larger cylinder, so also pixels 12 from the area of the screw head 26 and the screw tip 36 , are given to the Geometric Hashing algorithm as point set.

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.The base quantity for the model 30 are in this case all points of the cylinder axis of the model 30 while for matching the scene only the center r of the cylinder axis 34 is used. The weight of the pixels 12 is chosen by a scalar product between model and scene normal vectors, so that negative weights are possible.

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.Geometric hashing coordinates the best results, then the matching coordinate system can be selected 16 of the respective component, for example the screw 24 , calculate with the help of the found transformation.

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. 5 shows examples of the models 30 the screws 24 in the basis of the captured pixels 12 in the box 10 determined position, in each of which a coordinate system 16 is fitted. In 5 is for the particular screw 24 Furthermore, a gripping point 18 indicated on which a gripping unit 38 , For example by means of a nipple or a magnet, the component, in this case the screw 24 , can take.

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.A further embodiment is presently for determining the position of a disc, for example the eccentric disc 40 , in the box 10 used (cf. 9 ). First, to delineate regions 14 in which pixels 12 the disc, the segmentation method is used, in which the homogeneity criteria continuity and changes of normal vectors from pixel to pixel are examined.

Dieses Segmentierungsverfahren liefert bei restriktiver Parametrisierung ebene Regionen 14 (vgl. 2).This segmentation method provides planar regions in the case of restrictive parameterization 14 (see. 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.The point set of a respective region 14 or a label l, ie (x, y, z) kεT (l (i, j)) with L (i, j) = 1 and with T from equation (1), is subjected to a main axis transformation, which as a result a coordinate system 16 Produced in the slice plane.

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.For this purpose, for each set p → k = (x, y, z) k T of the label l, which is a predetermined minimum number of pixels 12 , the center of mass c i calculated according to equation (4).

Figure 00180001
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.Illustrative is such a center of mass 42 a planar sheet 44 in 8th shown. After calculating the center of mass per region 14 is for each region 14 a 3 × 3 correlation matrix C i according to equation (5).

Figure 00180002
Figure 00180002

Die Korrelationsmatrix beinhaltet die Varianzen aller Bildpunkte 12 der Region 14 bezüglich ihres Massenschwerpunktes.The correlation matrix contains the variances of all pixels 12 of the region 14 in terms of their center of mass.

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).By calculating the eigenvectors e i (1 ≦ i ≦ 3) and the associated eigenvalues λ i becomes a correlation ellipsoid 46 created. In this principal component analysis (PCA) of the planar patch 44 the eigenvectors and eigenvalues determine the correlation ellipsoid 46 , The mass focus 42 attaching eigenvector 48 of the smallest eigenvalue corresponds to the normal direction of the patch 44 (see. 8th ).

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) The condition of the plane extraction can be defined as follows: If the eigenvalues λ i with the associated eigenvectors e i are ordered according to equation (6), then the eigenvalues λ i satisfy the equations (7), (8) and (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.Geometrically, the equations (6) to (9) can be explained as follows: The variances of the pixels 12 are great in one plane. The eigenvectors e i of the large eigenvalues λ i correspond to the stress vectors of the plane. In the direction of the plane normal, ie in the direction of the eigenvector 48 , the variances are very small. The associated eigenvector 48 thus corresponds to the plane normal. If the criteria are not met, the pixels can 12 Form edges, balls or other geometric figures. In 9 are calculated eccentric discs 40 a scan.

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.This calculation is followed by the transformation of the pixels 12 a flat region 14 in a black and white picture 50 like it 10 shows. In this black and white picture 50 becomes a perimeter as the respective convex hull 52 of each contour line 54 the eccentric disc 40 certainly. The circle 52 whose radius corresponds to the desired disk radius is recorded as the first candidate. At this point, the orientation of the eccentric disc can be 40 determine. In this case, a difference vector of the respective midpoints of the two largest circles 52 the contour lines 54 every black and white picture 50 defined as x-axis.

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.The determined component-fixed coordinate systems 15 do not always correspond to the gripping points 18 that the industrial robot approaches. There are several gripping points for the respective components 18 , which are cheap to drive depending on the position of the component. For example, it can be difficult, a vertical screw 24 to grip the thread, whereas a gripping on the screw head 26 with the vertical screw 24 easy to do is.

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.To provide this functionality, an STL file is created for each component, in which several grip points 18 are defined on the component. For the respective coordinate system 16 of a component become these possible gripping points 18 into the present base of the component in the box 10 transformed. For the respective gripping points 18 Starting directions are determined from which the gripping unit 38 of the industrial robot can approach the component for recording. The mutually different approach directions are compared and selected that approach direction that allows the most possible vertical approach.

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.For example, if a grip point 18 directly from above, ie without inclination of the gripping unit 38 , to be approached, the found gripping point 18 subject to transformation. In particular, when the gripping unit 18 has the nipple and / or the magnet for holding the component, it is possible to adapt an orientation of the nipple and / or magnet to an orientation of the component, even if the gripping unit 38 that is sloping in the box 10 befindendes component perpendicular 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).To a collision of the gripping unit 38 with other than the component to be taken, such as with adjacent components in the box 10 , with the box 10 yourself or with one at least predominantly outside the box 10 arranged object, to avoid a jamming geometry of the gripping unit 38 through a gripper cylinder 56 approximated (cf. 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.The gripper cylinder 56 comes with a virtual cuboid 58 surrounded, whose vertices to the level of the depth image 20 be projected. The vertices are used to form a traverse, which is a convex hull of vertices. The traverse is colored white (1) in a mask image, so the pixels of the traverse are set to "1". All other pixels remain black, ie set to "0". This mask image is used to pre-select pixels 12 of the depth image 20 to be met, which are to be transformed into Cartesian coordinates. Since not all pixels 12 of the depth image 20 Cartesian coordinates are to be transformed to quickly determine the probability of collision of the gripping unit 38 with the objects to be gripped different objects a comparatively low computational effort needed.

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.It will then be for all pixels 12 of the depth image 20 , which have been transformed into Cartesian coordinates, checks if these pixels 12 inside the gripper cylinder 56 lie or not. A respective penetration depth of each pixel 12 in the gripper cylinder 56 in the z direction, all of these are inside the gripper cylinder 56 lie pixel 12 summed up. If the resulting sum is above a threshold, the gripping point becomes 18 not approached.

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.As a further restriction for the coordinates of the respective gripping point 18 A positive box can be specified within which the coordinates must be in any case in order to be transmitted to the industrial robot.

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.Furthermore, it can be provided to define at least one negative box, that is to say a taboo zone, within which a gripping point 18 must not come to rest and / or which when starting the component with the gripping unit 38 is to be avoided. This is provided in the present case for a collision of the sixth To avoid axis of the industrial robot with the scanner.

Claims (12)

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.Method for separating components ( 24 . 32 . 40 ) from a container ( 10 ), in which a) by means of a sensor, an image ( 20 ) at least one component ( 24 . 32 . 40 ) which is a three-dimensional point cloud with a plurality of captured pixels ( 12 ), b) by means of an evaluation unit based on the image ( 20 ) and using a pixel taken from ( 12 ) formed base for transforming detected pixels ( 12 ) a position of the at least one component ( 24 . 32 . 40 ), and c) by means of a gripping unit ( 38 ) at least one component ( 24 . 32 . 40 ) is received as a function of the determined position, characterized in that for determining the position of the at least one component ( 24 . 32 . 40 ) according to step b) from a set of possible bases for transforming acquired pixels ( 12 ) at least one component-specific basis is determined. 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.Method according to claim 1, characterized in that from the three-dimensional point cloud at picture elements ( 12 ) by applying at least one homogeneity criterion, in particular a continuity criterion and / or a differentiability criterion, a two-dimensional image ( 22 . 60 ) in which at least one region ( 14 ) is delimitable. 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.Method according to claim 2, characterized in that for the at least one region ( 14 ) associated with, according to step a) detected pixels ( 12 ) Normal vectors are formed and these normal vectors are converted into a unit sphere, wherein Aufpunkte the normal vectors come to lie on the surface of the unit sphere. 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.Method according to claim 3, characterized that as a component-specific basis, in particular using of an angle between two normal vectors as keys of selected, second ones linearly independent Normal vectors selected becomes. 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.Method according to one of claims 2 to 4, characterized in that, taking into account the at least one region ( 14 ), detected in step a) ( 12 ) a cylinder axis ( 34 ), wherein a point, in particular a center, of the cylinder axis ( 34 ) is used to form the component-specific basis. 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.Method according to one of claims 2 to 5, characterized in that, taking into account the at least one region ( 14 ), detected in step a) ( 12 ) a correlation ellipsoid ( 46 ), where a point, in particular a center of mass ( 42 ), the correlation ellipsoid ( 46 ) is used to form the component-specific basis. 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.Method according to one of claims 1 to 6, characterized in that pixels ( 12 ) of the three-dimensional point cloud into the at least one component-specific basis and, in particular by means of a geometric hashing algorithm, with model points of a model ( 30 ) of the component ( 24 . 32 . 40 ). 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.A method according to claim 7, characterized in that based on the coincidence of the pixels ( 12 ) with the model points at least one gripping point ( 18 ) on the component to be separated ( 25 . 32 . 40 ) is determined. 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.Method according to one of claims 1 to 8, characterized in that for receiving the component ( 24 . 32 . 40 ) at least one gripping point ( 18 ) depending on a probability of a collision of the gripping unit ( 38 ) with one of the component ( 24 . 32 . 40 ) different object, in particular with a further component and / or with the container ( 10 ), to a gripping unit ( 38 ) controlling device is transmitted. 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.Method according to one of claims 1 to 9, characterized in that when capturing the image ( 20 ) of the component ( 24 . 32 . 40 ) in accordance with step a), in particular more than one camera using, light-section method, in particular a laser light section method, is used. 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.Device for separating components ( 24 . 32 . 40 ) from a container ( 10 ), with a sensor for creating an image ( 20 ) at least one component ( 24 . 32 . 40 ), which has a three-dimensional point cloud with a plurality of captured pixels ( 12 ), with an evaluation unit, by means of which by means of the image ( 20 ) and using a pixel taken from ( 12 ) formed base for transforming detected pixels ( 12 ) a position of the at least one component ( 24 . 32 . 40 ) can be determined, and with a gripping unit ( 38 ) for receiving at least one component ( 24 . 32 . 40 ) in dependence on the determined position, characterized in that by means of the evaluation unit for determining the position of the at least one component ( 24 . 32 . 40 ) of a set of possible bases for transforming acquired pixels ( 12 ) at least one component-specific basis can be determined. Vorrichtung nach Anspruch 11, dadurch gekennzeichnet, dass die Vorrichtung zum Durchführen eines Verfahrens nach einem der Ansprüche 1 bis 10 ausgebildet ist.Device according to claim 11, characterized in that that the device for performing A method according to any one of claims 1 to 10 is formed.
DE200910007024 2009-01-31 2009-01-31 Method and device for separating components Withdrawn DE102009007024A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE200910007024 DE102009007024A1 (en) 2009-01-31 2009-01-31 Method and device for separating components

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE200910007024 DE102009007024A1 (en) 2009-01-31 2009-01-31 Method and device for separating components

Publications (1)

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

Family

ID=42270269

Family Applications (1)

Application Number Title Priority Date Filing Date
DE200910007024 Withdrawn DE102009007024A1 (en) 2009-01-31 2009-01-31 Method and device for separating components

Country Status (1)

Country Link
DE (1) DE102009007024A1 (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102011101017A1 (en) * 2011-05-10 2012-11-15 Hetal-Werke Franz Hettich Gmbh & Co. Kg Workpiece i.e. punched part, processing method, involves positioning carrier such that processing portions are attached to processing tools, where portions are processed without additional conveying movement of rotary indexing table
CN108247635A (en) * 2018-01-15 2018-07-06 北京化工大学 A kind of method of the robot crawl object of deep vision
DE102022106765B3 (en) 2022-03-23 2023-08-24 Bayerische Motoren Werke Aktiengesellschaft Method for determining a position of an object relative to a detection device, computer program and data carrier
CN119260474A (en) * 2024-11-14 2025-01-07 上海交通大学 Non-standard parts multifunctional processing system and method based on 3D vision drive

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102011101017A1 (en) * 2011-05-10 2012-11-15 Hetal-Werke Franz Hettich Gmbh & Co. Kg Workpiece i.e. punched part, processing method, involves positioning carrier such that processing portions are attached to processing tools, where portions are processed without additional conveying movement of rotary indexing table
CN108247635A (en) * 2018-01-15 2018-07-06 北京化工大学 A kind of method of the robot crawl object of deep vision
CN108247635B (en) * 2018-01-15 2021-03-26 北京化工大学 A method of deep vision robot grasping objects
DE102022106765B3 (en) 2022-03-23 2023-08-24 Bayerische Motoren Werke Aktiengesellschaft Method for determining a position of an object relative to a detection device, computer program and data carrier
CN119260474A (en) * 2024-11-14 2025-01-07 上海交通大学 Non-standard parts multifunctional processing system and method based on 3D vision drive

Similar Documents

Publication Publication Date Title
DE112010004767B4 (en) Point cloud data processing apparatus, point cloud data processing method and point cloud data processing program
DE112012005350B4 (en) Method of estimating the pose of an object
DE19636028C1 (en) Stereo image object detection, esp. for road vehicles
DE69027616T2 (en) Device and method for determining contours and lines
DE102014209137B4 (en) Method and device for calibrating a camera system of a motor vehicle
DE69226512T2 (en) Image processing method
EP2927844A1 (en) 3d object position and pose estimation
EP3320483B1 (en) Method for controlling a robot and/or an autonomous driverless transport system
DE102012223047B4 (en) Multi-part correspondent (corresponder) for several cameras
DE102007013664A1 (en) Tool e.g. blade, measuring and/or adjusting device, has rolling nut designed as roller ring transmission comprising set of roller-supported roller rings with variable upward gradient
DE102022107144A1 (en) COMPONENT TESTING SYSTEM AND PROCESS AT PRODUCTION SPEED
EP1522878B1 (en) Method for determining the displacement of luggage in order to scan a suspicious region in the luggage
EP2047403A1 (en) Method for automated 3d-object recognition and location determination
DE102009007024A1 (en) Method and device for separating components
DE102008036219A1 (en) Method for identification of object i.e. traffic sign, in surrounding area of e.g. passenger car, involves determining similarity measure between multiple characteristics of image region and multiple characteristics of characteristic set
DE102019211459B4 (en) Method and device for checking a calibration of environmental sensors
DE102022106765B3 (en) Method for determining a position of an object relative to a detection device, computer program and data carrier
EP1098268A2 (en) Method for the threedimensional optical measurement of object surfaces
DE102019209473A1 (en) Method and device for the rapid detection of repetitive structures in the image of a street scene
EP3770804B1 (en) Industrial truck with object detection
EP0360880A1 (en) Method of segmenting three-dimensional scenes
DE102019220616B4 (en) PROCEDURE FOR SIMULTANEOUS LOCATION AND IMAGE
EP2059905A2 (en) Method for determining the position of objects in three-dimensional space
DE102023110832A1 (en) Method for assessing an object, method for handling an object, optical system and handling system
DE102009009569B4 (en) Method for determining a partial surface of a component

Legal Events

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