-
VERWANDTE ANMELDUNG
-
Die Anmeldung beansprucht den Nutzen der parallel anhängigen vorläufigen US-Anmeldung mit der Seriennummer 62/201,723 mit dem Titel SYSTEM AND METHOD FOR TYING TOGETHER MACHINE VISION COORDINATE SPACES IN A GUIDED ASSEMBLY ENVIRONMENT, eingereicht am 06.08.2015, deren Lehren durch Bezugnahme ausdrücklich aufgenommen werden.
-
GEBIET DER ERFINDUNG
-
Die Erfindung betrifft Systeme maschinellen Sehens und insbesondere Sehsysteme, die zum Anleiten des Zusammenbaus von Werkstücken und anderen Gegenständen in einer Umgebung der Fertigung und des angeleiteten Zusammenbaus verwendet werden.
-
ALLGEMEINER STAND DER TECHNIK
-
In Systemen maschinellen Sehens (hier auch als „Sehsysteme” bezeichnet) werden eine oder mehrere Kameras verwendet, um Sehsystem-gestützte Prozesse an einem Gegenstand oder einer Oberfläche innerhalb einer abgebildeten Szene durchzuführen. Diese Prozesse können die Inspektion, das Entziffern von Symbolen, das Ausrichten und eine Vielzahl anderer automatisierter Aufgaben umfassen. Insbesondere kann ein Sehsystem zum Inspizieren eines flachen Gegenstandes, welcher eine abgebildete Szene passiert, verwendet werden. Die Szene wird typischerweise durch eine oder mehrere Sehsystemkameras abgebildet, welche innere oder äußere Sehsystemprozessoren enthalten können, die zum Generieren von Ergebnissen assoziierte Sehsystemprozesse betreiben. Eine oder mehrere der Kameras werden kalibriert, damit sie in der Lage ist/sind, die Sehaufgabe(n) mit hinreichender Genauigkeit und Zuverlässigkeit durchzuführen. Es kann eine Kalibrierplatte verwendet werden, um die Kamera(s) zu kalibrieren und einen gemeinsamen (globalen) Koordinatenraum (auch als ein Koordinaten-„System” bezeichnet) zu erstellen, in welchem die Pixelpositionen aller Kameras assoziieren Punkten in dem Koordinatenraum zugeordnet werden, wodurch ein abgebildetes Merkmal in jeder beliebigen Kamera innerhalb des Koordinatenraums verortet werden kann. Bei Anwendungen, die zum Anleiten des Zusammenbaus von Gegenständen eine Hebebühne verwenden, kann der Kalibrierprozess das Etablieren eines Verhältnisses zwischen der Hebebühne (auch als ein „Bewegungskoordinatenraum” bezeichnet) und dem allgemeinen Koordinatenraum beinhalten. Eine solche Kalibrierung lässt sich unter Verwendung bekannter „Hand-Auge”-Kalibrierverfahren bewerkstelligen.
-
Eine wichtige Aufgabe für Sehsysteme besteht darin, das Anleiten und Überprüfen des Zusammenbaus von Gegenständen (auch als „Werkstücke” bezeichnet) durch einen automatisierten Zusammenbaumechanismus zu unterstützen, welcher Hebeplattformen (Hebebühnen) zum genauen Tragen eines Werkstückes an einer Zusammenbauposition und einen Manipulator (z. B. eine Roboterhand oder einen Roboterarm, die/der „Pick-and-Place”-Operationen durchführt, oder eine andere Art der Hebevorrichtung/Hebebühne) zum Bewegen eines anderen Werkstückes in einer „Zusammenbaubewegung” auf eine darüberliegende Ausrichtungsposition, an welcher es mit dem Werkstück zusammengebaut wird, umfassen kann. Eine besondere Pick-and-Place-Operation beinhaltet das Ausrichten eines Werkstückes mit einem anderen Werkstück. Zum Beispiel kann ein berührungsempfindlicher Bildschirm in der Pick-and-Place-Operation von dem Manipulator über und in eine Vertiefung in einem Mobiltelefon, das auf der Hebebühne lagert, bewegt werden, wobei jeder berührungsempfindliche Bildschirm von der Aufleseposition wegbewegt und an der Ablegeposition (zuweilen als „Station” bezeichnet) auf einem wartenden Mobiltelefongehäuse abgelegt wird. Die ordnungsgemäße und genaue Ausrichtung des berührungsempfindlichen Bildschirms mit dem Mobiltelefongehäuse ist überaus wünschenswert.
-
Einige beispielhafte Systeme werden anfänglich trainiert, sodass sich jedes Werkstück während des Laufzeitbetriebes des Systems in einer korrekten Ausrichtung mit dem anderen Werkstück befindet. Während der Trainierzeit werden die Werkstücke auf ihre jeweiligen Positionen/Stationen positioniert, sodass, wenn sie zusammengebaut sind, die zusammengebauten Werkstücke ein gewünschtes gegenseitiges Positionsverhältnis aufweisen. Nach dem Trainieren, während der Laufzeit, werden eines der oder beide Werkstücke durch Verwendung des Sehsystems, welches die assoziierte Hebebühne auf der Position kontrolliert, auf ihren jeweiligen Positionen repositioniert, um jeglicher Platzierungs- oder dimensionalen Abweichung Rechnung zu tragen, und anschließend zusammengebaut. Durch das Justieren der Bühne werden die Werkstücke dadurch in dem gleichen gegenseitigen (erwarteten) Positionsverhältnis platziert, wie es bei der Trainierzeit der Fall war. In anderen beispielhaften Systemen kann das Trainieren weggelassen werden – zum Beispiel in Systemen, in denen die Geometrie der zusammengebauten Teile während der Laufzeit angewendet werden kann, wie etwa, wenn ein erster rechteckiger Gegenstand auf einem zweiten rechteckigen Gegenstand zentriert wird.
-
Nach dem Abbilden der Szene mit Werkstücken werden jedem Werkstück zugehörige Merkmale extrahiert und als Teil eines Prozesses, welcher schließlich die Hebebühnenparameter berechnet, die zu dem gewünschten Zusammenbau führen würden, dem gemeinsamen Koordinatenraum zugeordnet. Das Zuordnen zu dem gemeinsamen Koordinatenraum erfolgt aufgrund eines Kalibrierungsprozesses. In vielen Zusammenbausystemen umfasst der Kalibrierungsprozess das Überführen eines speziellen Kalibrierziels zwischen Positionen unter Verwendung des wiederholbaren Manipulators, der das Teil überführt, und das Abbilden eines Kalibrierziels an beiden Positionen. Dieses Verfahren geht mit mehreren Nachteilen einher. Zum Beispiel ist der Pick-and-Place-Greifer, der das Teil überführt, aufgrund von Unterschieden in Form, Gewicht oder anderen Eigenschaften des Werkstückes versus des Kalibrierziels eventuell nicht in der Lage, ein Kalibrierziel zu überführen. Sprich, ein Kalibrierziel, das nicht mit den Parametern des Greifers übereinstimmt. In derlei Systemen muss das Zuordnen von Parametern zu dem gemeinsamen Koordinatenraum über Anwendereingaben manuell spezifiziert werden, was oftmals zu einer suboptimalen Kalibrierung führt. Außerdem unterscheidet sich der Bewegungspfad, dem der Pick-and-Place-Manipulator während der Kalibrierung folgt, aufgrund von Unterschieden in den Eigenschaften des Teils und des Kalibrierziels, wie etwa Unterschieden in der Dicke oder anderen Eigenschaften, eventuell von jenem während der Laufzeit. Dies kann Kalibrierfehler nach sich ziehen, da es eine Abänderung von den Laufzeit-Bewegungsschritten, die der Manipulator ausführt, versus den Trainierzeit-Bewegungsschritten erfordert. Allgemeiner stellt es eine weitere Unannehmlichkeit für einen Anwender dar, aufgrund zusätzlicher Einstellungsschritte usw. während der Kalibrierzeit ein separates Kalibrierziel anzuwenden.
-
Ein weiterer Nachteil besteht darin, dass vorbekannte Kalibrierverfahren auf bestimmten mechanischen oder/oder iterativen Trial-and-Error-Prinzipien beruhten, die Beschränkungen haben und/oder unpraktisch und zeitaufwändig zu implementieren sind. Zum Beispiel kann das mechanische System in einem Verfahren derart konstruiert sein, dass das Verhältnis zwischen dem Koordinatenraum auf der ersten Position und dem Koordinatenraum auf der zweiten Position bekannt und etabliert ist. Dieses Verfahren schränkt die Flexibilität ein und trägt möglichen Bewegungen oder Positionsveränderungen im Zeitverlauf nicht Rechnung. Bei einem weiteren Verfahren erfolgt eine Anfangsschätzung über das Verhältnis zwischen den beiden Positionen, und wird durch Verwenden der Qualität der zusammengebauten Teile wiederholt nachgearbeitet. Dieses Verfahren ist zeitaufwändig und beruht auf mehrfachen Wiederholungen zum Erreichen der gewünschten Genauigkeit.
-
KURZDARSTELLUNG DER ERFINDUNG
-
Diese Erfindung überwindet Nachteile der mit dem Stand der Technik verbundenen Probleme, welche aus dem Überführen eines Kalibrierziels durch den Manipulator (und assoziierten Greifer) zwischen Auflese- und Ablegepositionen entstehen, indem ein System und Verfahren zur Kalibrierung bereitgestellt wird, welches die Koordinatenräume an den beiden Positionen während der Kalibrierzeit unter Verwendung von Merkmalen an einem Laufzeit-Werkstück verknüpft. Das System und Verfahren umfasst mindestens drei verschiedene Szenarios/Verfahren, eines, in dem die gleichen Merkmale auf beiden Positionen abgebildet und identifiziert werden können; eines, in dem die abgebildeten Merkmale des Laufzeit-Werkstückes an jeder Position (wobei ein CAD oder eine gemessene Wiedergabe des Werkstückes verfügbar ist) verschieden sind; und eines, in dem die erste Position, die eine Hebebühne umfasst, unter Verwendung von Hand-Auge-Kalibrierung zu der Hebebühne kalibriert wurde, und die zweite Position durch Hin- und Her-Überführen des Laufzeit-Teils zwischen den Positionen per Hand-Auge-Kalibrierung zu derselben Hebebühne kalibriert wird. Veranschaulichend lässt sich die Qualität der ersten beiden Verfahren verbessern, indem mehrere Laufzeit-Werkstücke, jedes mit einer anderen Lage, durchlaufen gelassen werden, wobei die Merkmale extrahiert und derlei Merkmale an jeder Position akkumuliert werden; und die akkumulierten Merkmale anschließend verwendet werden, um die beiden Koordinatenräume zu verknüpfen. Allgemeiner kalibriert das System und Verfahren die beiden Positionen unabhängig und verknüpft die Koordinatenräume für die beiden Positionen, indem es ein Werkstück überführt, für dessen Überführung während des Zusammenbaus der Manipulator konstruiert und angeordnet/ausgelegt ist, und die Merkmale des Werkstückes verwendet, statt die Merkmale einer Kalibrierplatte zu verwenden.
-
In einer veranschaulichenden Ausführungsform ist ein System und Verfahren zum Kalibrieren eines Sehsystems in einer Umgebung, in der ein erstes Werkstück auf einer ersten Position durch einen Manipulator auf eine zweite Position überführt wird, bereitgestellt. An dem ersten Werkstück wird eine Operation durchgeführt, welche auf dem Verknüpfen von Koordinatenräumen der ersten Position und der zweiten Position beruht. Mindestens eine Sehsystemkamera ist angeordnet, um das erste Werkstück abzubilden, wenn es auf der ersten Position positioniert wird, und das erste Werkstück abzubilden, wenn es auf der zweiten Position positioniert wird. Mindestens eine Sehsystemkamera wird in Bezug auf die erste Position kalibriert, um erste Kalibrierdaten abzuleiten, welche einen ersten Koordinatenraum definieren, und mindestens eine Sehsystemkamera (möglicherweise dieselbe(n) Kamera(s)) wird in Bezug auf die zweite Position kalibriert, um zweite Kalibrierdaten abzuleiten, welche einen zweiten Koordinatenraum definieren. Die Merkmale von mindestens dem ersten Werkstück werden an der ersten Position ausgehend von einem ersten Bild des ersten Werkstückes identifiziert. Auf Grundlage der identifizierten Merkmale auf dem ersten Bild wird das erste Werkstück in Bezug auf den ersten Koordinatenraum relativ zu der ersten Position verortet. Das erste Werkstück wird mit dem Manipulator mindestens einmal aufgegriffen und auf eine zuvor festgelegte Manipulatorposition an der zweiten Position bewegt, und ein zweites Bild des ersten Werkstückes wird an der zweiten Position erfasst. Auf Grundlage der identifizierten Merkmale auf dem zweiten Bild wird das erste Werkstück in Bezug auf den zweiten Koordinatenraum relativ zu der zweiten Position verortet. Der erste Koordinatenraum und der zweite Koordinatenraum werden dadurch miteinander verknüpft. Wenn die identifizierten Merkmale auf dem ersten Bild die gleichen wie die identifizierten Merkmale auf dem zweiten Bild sind, so umfasst das System und Verfahren veranschaulichend: (a) Zuordnen von Positionen der identifizierten Merkmale auf dem ersten Bild in Bezug auf die ersten Kalibrierdaten, (b) Zuordnen von Positionen der identifizierten Merkmale auf dem zweiten Bild in Bezug auf die zweiten Kalibrierdaten, und (c) Berechnen einer Transformation, welche die zugeordneten Merkmale auf der zweiten Position den zugeordneten Merkmalen auf der ersten Position zuordnet. Wenn sich einige der identifizierten Merkmale auf dem ersten Bild von den identifizierten Merkmalen auf dem zweiten Bild unterscheiden, so umfasst das System und Verfahren alternativ: (a) Zuordnen von Positionen der identifizierten Merkmale auf dem ersten Bild in Bezug auf die ersten Kalibrierdaten, (b) Berechnen einer Transformation relativ zu einer gespeicherten Spezifizierung von Merkmalspositionen des ersten Werkstückes, (c) Zuordnen von Positionen der identifizierten Merkmale auf dem zweiten Bild in Bezug auf die zweiten Kalibrierdaten, (d) Verwenden der bei Schritt (b) berechneten Transformation zum Ableiten von Positionen der identifizierten Merkmale aus dem zweiten Bild in dem ersten Koordinatenraum, wenn sich das Werkstück auf der ersten Position befindet, und (e) Berechnen einer Transformation, welche die zugeordneten Merkmale auf der zweiten Position den entsprechenden transformierten Merkmalen auf der ersten Position zuordnet. Die Spezifizierung des ersten Werkstückes kann auf einem CAD-Modell des ersten Werkstückes oder einem gemessenen Modell (z. B. CMM-generierte Messungen) des ersten Werkstückes beruhen. Veranschaulichend kann das System und Verfahren umfassen: (a) iteratives Bewegen des ersten Werkstückes mit einer Bewegungswiedergabevorrichtung entweder auf der ersten Position oder der zweiten Position zu einer Mehrzahl an verschiedenen Lagen, (b) Identifizieren von Merkmalen an jeder der Lagen auf jeder von der ersten Position und der zweiten Position, und (c) Akkumulieren der identifizierten Merkmalsinformationen zum Steigern der Genauigkeit, wobei das erste Werkstück entweder dasselbe Werkstück ist oder eines von einer Mehrzahl an unabhängigen Werkstücken ist. In unterschiedlichen Ausführungsformen umfasst das System und Verfahren eine Zuordnung von einem Bildkoordinatensystem zu einem Kalibrierungskoordinatensystem auf der ersten Position, und wobei die Zuordnung eine Einheit ist. In Ausführungsformen umfasst die zweite Position ein zweites Werkstück, in welches das erste Werkstück in einer gewünschten Ausrichtung mit dem zweiten Werkstück in Eingriff platziert wird, und/oder bei dem zweiten Werkstück kann es sich um ein Teil, einen Behälter oder ein Rahmengestell für die Weiterverarbeitung des ersten Werkstückes handeln. Außerdem kann die Operation in unterschiedlichen Ausführungsformen mindestens eine von einer Ausrichtungsoperation in Bezug auf einen anderen Gegenstand, einer Bedruckoperation auf dem ersten Werkstück und einer Auftragungsoperation auf dem ersten Werkstück sein, und die Operation kann zumindest teilweise an einer von der ersten Position und der zweiten Position entfernten Position durchgeführt werden.
-
In einer anderen veranschaulichenden Ausführungsform ist ein System und Verfahren zum Kalibrieren eines Sehsystems in einer Umgebung, in welcher ein erstes Werkstück auf einer ersten Position durch einen Manipulator auf eine zweite Position überführt wird, bereitgestellt, wobei eine an dem ersten Werkstück durchgeführte Operation auf dem Verknüpfen von Koordinatenräumen der ersten Position und der zweiten Position beruht, und in welchem mindestens eine der Positionen einer Hand-Auge-Kalibrierung unterzogen wird. Mindestens eine Sehsystemkamera ist angeordnet, um das erste Werkstück an der ersten Position abzubilden und um das zweite Werkstück abzubilden. Die Sehsystemkamera wird in Bezug auf die erste Position kalibriert, um erste Kalibrierdaten abzuleiten, und das erste Werkstück wird auf der zweiten Position positioniert. Veranschaulichend wird das erste Werkstück durch den Manipulator von der ersten Position auf die zweite Position bewegt, und ein Bild wird erfasst, von dem ausgehend Merkmale an dem ersten Werkstück verortet werden. Das erste Werkstück wird anschließend durch den Manipulator von der zweiten Position auf die erste Position bewegt, und eine Lage des ersten Werkstückes wird auf der ersten Position durch Bewegen der Bewegungswiedergabevorrichtung zu einer neuen Lage verändert. Die Bewegungswiedergabevorrichtung kann sich an jeder Position befinden, und die Lageveränderung über die Bewegungswiedergabevorrichtung kann entweder vor oder nach der Bewegung durch den Manipulator von der zweiten auf die erste Position erfolgen.
-
Die oben aufgeführten Schritte werden wiederholt, bis die Merkmalsposition und andere für die Hand-Auge-Kalibrierung relevante Daten akkumuliert und gespeichert sind, woraufhin die akkumulierten Daten verwendet werden, um mindestens eine Sehsystemkamera in Bezug auf die zweite Position per Hand-Auge-Kalibrierung zu kalibrieren. Dies erlaubt das Verknüpfen des ersten Koordinatenraums mit dem zweiten Koordinatenraum durch den gemeinsamen Koordinatenraum relativ zu der Bewegungswiedergabevorrichtung, erhalten von der Hand-Auge-Kalibrierung. Veranschaulichend umfasst die zweite Position ein zweites Werkstück an der Bewegungswiedergabevorrichtung, in welches das erste Werkstück in einer gewünschten Ausrichtung mit dem zweiten Werkstück in Eingriff platziert wird. Bei dem zweiten Werkstück kann es sich um ein Teil, einen Behälter oder ein Rahmengestell für die Weiterverarbeitung des ersten Werkstückes handeln, und die Operation kann mindestens eine von einer Ausrichtungsoperation in Bezug auf einen anderen Gegenstand, eine Bedruckoperation auf dem ersten Werkstück und einer Auftragungsoperation auf dem ersten Werkstück sein.
-
KURZBESCHREIBUNG DER ZEICHNUNGEN
-
Die untenstehende Erfindungsbeschreibung nimmt Bezug auf die beigefügten Zeichnungen, von denen:
-
1 ein Diagramm eines Mehrfach-Kamera-Sehsystems ist, angeordnet in Bezug auf eine beispielhafte Umgebung eines Pick-and-Place-Zusammenbaus, das einen an der Aufleseposition angeordneten Pick-and-Place-Manipulator zum Extrahieren eines Werkstückes zum Transport zu einer Ablegeposition zeigt, wobei eine der Positionen eine beispielhafte Hebebühne, die zusammen mit einem Werkstückzusammenbausystem verwendet wird, und einen Sehprozessor mit assoziierten Werkzeugen und Prozessen für die Kalibrierungs-, Trainier- und Laufzeit-Operation umfasst;
-
2 ein Diagramm eines Zwei-Kamera-Sehsystems ist, angeordnet in Bezug auf eine beispielhafte Pick-and-Place-Zusammenbau-Anordnung, in der ein Werkstück mit einem anderen Werkstück ausgerichtet wird, das den auf der Ablegeposition befindlichen Pick-and-Place-Manipulator zeigt, wobei das erste, aufgelesene Werkstück auf das zweite Werkstück platziert wird;
-
3 ein Ablaufdiagramm ist, das eine verallgemeinerte Übersicht eines Verfahrens zum Verknüpfen eines ersten Koordinatenraums an einer ersten Position mit einem zweiten Koordinatenraum an einer zweiten Position auf Grundlage der Abbildung eines Laufzeit-Werkstückes zeigt, das an jeder Position von dem Manipulator aufgegriffen wird, wobei das Kamerasystem in Bezug auf eine der Positionen kalibriert wird;
-
4 ein detailreicheres Ablaufdiagramm des in 3 allgemein beschriebenen Verfahrens zum Verknüpfen des Koordinatenraums einer ersten Position mit einem Koordinatenraum einer zweiten Position unter Verwendung von Merkmalen von einem oder mehreren Bildern von Laufzeit-Werkstücken an jeder Position ist, wobei die Merkmale an jeder Position die gleichen sind;
-
5 ein detailreicheres Ablaufdiagramm des in 3 allgemein beschriebenen Verfahrens zum Verknüpfen des Koordinatenraums einer ersten Position mit einem Koordinatenraum einer zweiten Position unter Verwendung von Merkmalen von einem oder mehreren Bildern von Laufzeit-Werkstücken an jeder Position ist, wobei mindestens einige der Merkmale an jeder Position aufgrund von Sichtbarkeitsunterschieden in jedem jeweiligen Sichtfeld unterschiedlich sind;
-
6 ein Ablaufdiagramm eines Verfahrens zum Verknüpfen des Koordinatenraums einer ersten Position mit einem Koordinatenraum einer zweiten Position durch Durchfürung separater Hand-Auge-Kalibrierungen an der ersten Position und der zweiten Position ist; und
-
7 ein Ablaufdiagramm eines zusätzlichen Prozesses relativ zu den Verfahren der 4 und 5 ist, worin Merkmale an mehreren unbekannten Lagen extrahiert und die akkumulierten Merkmale verwendet werden, um Koordinatenräume an jeder Position zu verknüpfen.
-
DETAILLIERTE BESCHREIBUNG
-
1 veranschaulicht ein Zusammenbausystem 100 mit einem beispielhaften Pick-and-Place(Manipulator)-Mechanismus 120, der das System und Verfahren zum Kalibrieren unter Verwendung eines Gegenstandes (erstes Werkstück) einsetzen kann, welches in der Laufzeit-Operation für den Zusammenbau mit einem zweiten Werkstück auf einer zweiten Position, einer Ausführungsform gemäß, durch den Manipulator manipuliert (zwischen Positionen/Stationen überführt) wird. Die Positionen umfassen insbesondere eine Aufleseposition 122, auf welcher sich das zu überführende Laufzeit-Werkstück 124 anfänglich befindet, und eine Platzierungsposition 110, auf der sich ein zweites Werkstück 112, mit dem das erste Werkstück 124 zusammengebaut wird, befindet. Der Manipulator kann einen Greifer umfassen, der (z. B.) einen Saugteller 125 zum selektiven Ineingriffnehmen des ersten Werkstückes 124 umfasst. Selektiv liest der Manipulator 120 das erste Werkstück 124 auf (Pfeil 130) und überführt es (Pfeil 132) auf eine Ausrichtungsposition 126 an dem zweiten Werkstück 112. In diesem Beispiel ist eine Schiene 128 zum Führen des Manipulators 120 entlang eines wiederholbaren Pfades bereitgestellt. Diese Schiene ist optional, und jede Ausführungsart, welche eine wiederholbare Bewegung des Manipulators 120 zwischen Auflese- und Platzierungspositionen ermöglicht, ist ausdrücklich vorgesehen. Zur Veranschaulichung definiert der Manipulator einen Koordinatenraum 134, der sich durch die Achsen Xm, Ym und Zm kennzeichnet, worin sich der Manipulator 120 mindestens entlang der Achse Ym und entlang einer Auflese-/Platzierungsrichtung auf der Achse Zm bewegt. Die Drehung θzm um die Achse Zm ist ebenfalls dargestellt, kann jedoch von dem Manipulator ausgeführt werden oder nicht. Die von dem Manipulator ausgeführten Bewegungen sind beliebig, und das Sehsystem arbeitet im Allgemeinen unabhängig von derlei Bewegungen, die zur Veranschaulichung gezeigt werden.
-
Die Aufleseposition 122 und/oder Platzierungsposition 110 definieren jeweils eine Plattform, auf welche jeweilige Werkstücke 124 und 112 im Vorfeld einer Pick-/Place-Operation positioniert werden. Die Werkstücke 124, 112 können durch jedes akzeptierbare Verfahren auf den Positionen/Plattformen (112 bzw. 110) abgelegt werden – z. B. ein Band von einer Werkstücksquelle, einen Robotermanipulator, manuelles Platzieren durch einen Anwender usw. In anderen Ausführungsformen kann das Werkstück 124 durch den Manipulator auf der ersten Position 110 gehalten werden und wird nicht auf der Position/Plattform 122 abgelegt. In dem beispielhaften System kann jede der Positionen/Plattformen 122, 110 eine Hebebühne umfassen, welche sich in einem oder mehreren Freiheitsgraden mit gewünschter Genauigkeit bewegt. Eine solche Hebebühne wird bereitgestellt, um eine Ausrichtung zwischen Werkstücken vor oder nach der wiederholbaren Pick-and-Place-Bewegung zu etablieren. Sprich, eines der Werkstücke wird durch die Hebebühne vor-ausgerichtet, und anschließend behält die Pick-/Place-Operation die zuvor festgelegte Ausrichtung bei, während sie sich durch den definierten Pfad bewegt. Alternativ kann die Endausrichtung des Werkstückes direkt vor der Zusammenbau-/Platzierungsbewegung erfolgen, nachdem die Pick-/Place-Operation das Werkstück bewegt. Jede Plattform (von denen jede eine Hebebühne umfassen kann) definiert ihren eigenen Koordinatenraum, der als der lokale, kalibrierte Koordinatenraum der Position betrachtet werden kann. Sprich, die Aufleseplattform 122 definiert einen ersten Koordinatenraum Xs1, Ys1, Zs1 (orthogonale Achsen 135), und die Platzierungsplattform 110 definiert einen zweiten Koordinatenraum Xs2, Ys2, Zs2 (orthogonale Achsen 137). Umfasst jede Plattform eine Hebebühne, so kann die Bewegung entlang einer oder mehrerer der dargestellten Koordinatenachsen und gegebenenfalls in mindestens einem Rotations-Freiheitsgrad (d. h. entlang θzs1 oder θzs2, wie dargestellt) erfolgen.
-
In dieser beispielhaften Systemumgebung/-anordnung 100 bildet mindestens eine Kamera 142, 140 jeweils eine Position (122, 110) ab. Alternativ können eine einzelne Kamera oder mehrere Kameras beide Positionen in einem einzelnen Sichtfeld (FOV) abbilden. Im Allgemeinen, und wie hier beschrieben, ist vorgesehen, dass die gleichen oder verschiedenen Merkmale des Werkstückes an jeder Position für eine oder mehrere Kameras sichtbar sind, wenn das Werkstück an der Position positioniert wird. Die Kameras 140, 142 sind mit einem Sehprozess(or) 160 vernetzt. Eine oder beide Positionen 122, 110 können gegebenenfalls zusätzliche Kameras 144 (mit Strichlinien dargestellt) umfassen. Der Sehprozess(or) 160 ist zudem mit einer Hebebühnensteuerung 170 auf der assoziierten Position wirkvernetzt, welche dem Prozessor 160 Bewegungsinformationen (z. B. Encoder- oder Stepperdistanz/Impulsinformationen) 172 zur Verwendung beim Bestimmen der physischen Position der Bühne und des assoziieren Werkstückes bereitstellt. Da die Hebebühne gegebenenfalls sowohl an Position 122 als auch 110 positioniert werden kann, sind die Steuerung 170 und assoziierten Bewegungsinformationen 172 im Falle beider Positionen ähnlich dargestellt. Während einer Hand-Auge-Kalibrierung (weiter unten beschrieben) wird die Bühne bewegt, während Bewegungsinformationen aufgezeichnet und mit dem erfassten Bild/den erfassten Bildern korreliert werden.
-
Die Kameras 140, 142, 144 sind jeweils mit dem Sehsystemprozessor und assoziierten Sehsystemprozess 160 wirkverbunden, der als ein benutzerdefinierter Sehprozessorkreis innerhalb eines oder mehrerer Kameragehäuse, in seiner Gesamtheit oder teilweise, integriert sein kann oder innerhalb einer vernetzten Rechnervorrichtung 180 bereitgestellt sein kann, einschließlich eines PC, Laptops, Tablets, Smartphones oder dergleichen mit einer geeigneten graphischen Benutzeroberfläche (GUI – z. B. Anzeige und/oder berührungsempfindlicher Bildschirm 182, Tastatur 184 und/oder Maus 186), ohne darauf beschränkt zu sein, um den Einstellung-(Kalibrierungs-), Trainier- und/oder Laufzeit-Betrieb zu unterstützen. Hinweis: in Zusammenbau-Systemen, bei denen mehr als eine Kamera eingesetzt wird, ist jede Kamera derart angepasst, dass sie entweder ihr erfasstes Bild oder aus dem Bild extrahierte Informationen an einen zentralen Prozessor sendet. Der zentrale Prozessor integriert anschließend die Information von den unterschiedlichen Kameras während des Zusammenbaus. Der Sehprozess(or) 160 führt eine Vielzahl von Sehsystemprozessen (oder -elementen/-modulen) durch, einschließlich unterschiedlicher Hilfsmittel 162 wie etwa Kantentaster, Blobanalysevorrichtungen, Suchhilfsmittel, Tastvorrichtungen usw. Veranschaulichend umfasst der Sehprozess(or) 160 einen Ausrichtungsprozess(or) 164, der die Ausrichtung von Bilddaten von den beiden Werkstücken in einer weiter unten beschriebenen Weise ausführt. Ein Kalibrierungsprozess(or) 166 vereinfacht das Durchführen von Kamerakalibrierungen und Hand-Auge-Kalibrierungen, die weiter unten beschrieben werden. Veranschaulichend führt ein Trainierprozess(or) 168 die unterschiedlichen, hier vorgesehenen Trainierprozeduren aus, um die Werkstücke derart zu repositionieren, dass das zweite Werkstück relativ zu dem ersten Werkstück genau zusammengebaut wird. Hinweis: der Sehprozessor 160 kann als eine Mehrzahl an vernetzten Kameraprozessoren (oder anderen Vorrichtungen) oder ein zentraler Prozessor in einem einzelnen Kamerazusammenbau (oder einer Fernverarbeitungsvorrichtung) aufgestellt sein.
-
Weiterer Hinweis: die hier in unterschiedlichen Ausführungsformen dargestellte physische Werkstückzusammenbauanordnung enthält eine beliebige Anzahl an Kameras, die unterschiedliche Regionen der Plattform/Hebebühne abbilden. Die Anzahl der Kameras, die beim Abbilden jeder Position (und/oder der Zusammenbaugesamtumgebung) verwendet werden, ist in wechselnden Anordnungen stark variabel. Gleichermaßen ist die Anzahl der Positionen innerhalb des Gesamtsystems, an denen der Manipulator eine Aufgabe durchführt, stark variabel.
-
Zudem versteht sich, dass die dargestellte Zusammenbauumgebung für eine Vielzahl an Anordnungen beispielhaft ist, in welchen ein erstes Werkstück durch einen (z. B.) wiederholbaren Manipulator von einer ersten Position auf eine andere Position, auf der eine Operation an dem ersten Werkstück durchgeführt wird, überführt wird. Die Operation kann ein Ineingriffnehmen mit einem zweiten Werkstück in einer gewünschten Ausrichtung beinhalten, oder sie kann unter Verwendung eines geeigneten Mechanismus direkt an dem ersten Werkstück durchgeführt werden. Zum Beispiel kann es sich bei dem zweiten Werkstück um ein Teil, mit dem das erste Werkstück zusammengebaut wird, einen Behälter/eine Box, in den/die das erste Werkstück platziert wird, und/oder ein Rahmengestell, in welches das erste Werkstück platziert wird – zum Beispiel als Teil einer Kittanordnung – handeln. Über ein solches Platzieren hinaus kann die Operation zudem das Bedrucken oder Auftragen von Haftetiketten auf das erste Werkstück beinhalten, wobei es einem Laser-, Schneid-, Werkzeugträger oder einer anderen Vorrichtung und/oder jedem beliebigen anderen Prozess, der das Werkstück modifiziert, ausgesetzt wird. Weitere Definitionen für die Operation und das zweite Werkstück sind unten bereitgestellt. Im Allgemeinen ist hauptsächlich vorgesehen, dass das System und Verfahren das Verknüpfen der Koordinatenräume der Kamera(s), welche die erste Position und die zweite Position abbilden, ermöglicht, damit eine Operation in einer wünschenswerten Art und Weise erfolgen kann.
-
Bevor die Einzelheiten des veranschaulichenden Systems und Verfahrens weiter beschrieben werden, wird auf die folgenden Begriffsbestimmungen verwiesen, die dem Leser beim Verstehen der hier präsentierten Konzepte helfen sollten: Begriffsbestimmungen
„Kalibrierter Koordinatenraum” | Ein Koordinatenraum, der durch das während einer Kamerakalibrierung, Hand-Auge-Kalibrierung oder einem anderen Kalibrierungsprozess verwendete Kalibrierziel definiert wird. |
„Gemeinsamer Koordinatenraum” | Während der Laufzeit werden durch die Kameras in dem System erfasste Merkmale diesem Raum zugeordnet. Der gemeinsame Koordinatenraum ist den Positionen gemeinsam. |
„Bildkoordinatenraum” | Der Koordinatenraum eines erfassten Bildes oder der Koordinatenraum eines transformierten Bildes. |
„Bewegungskoordinatenraum” | Der native Koordinatenraum, der mit der Bewegungswiedergabevorrichtung (z. B. Hebebühne) assoziiert ist. |
„Werkstückskoordinatenraum” | Der mit einem Werkstück assoziierte Koordinatenraum. Mögliche Quellen für diesen Koordinatenraum sind eine CAD-Spezifizierung oder CMM-Wiedergabe des Werkstückes. |
„KalibriertVonBildtransformation” | Die Transformation, welche dem kalibrierten Koordinatenraum Punkte von dem Bildkoordinatenraum zuordnet. |
„Kamerakalibrierung” | Ein Prozess zum Etablieren der Transformation zwischen dem Bild- und dem kalibrierten Koordinatenraum. |
„Hand-Auge-Kalibrierung” | Ein dem Fachmann bekannter Prozess zum Etablieren von Transformationen zwischen dem Bild-, dem kalibrierten und dem Bewegungskoordinatenraum. |
„Alle” Kameras | Bezieht sich auf sämtliche Kameras, die von dem System in der Zusammenbauaufgabe hier verwendet werden. Es ist ausdrücklich vorgesehen, dass einige Kameras, die von dem Sehsystem (oder anderen Prozessen) verwendet werden, die ansonsten die Szene abbilden würden, bei der Zusammenbauaufgabe ausgelassen werden können. Es ist hauptsächlich vorgesehen, dass eine oder mehrere (mindestens eine) Kamera(s) (welche dieselbe Kamera sein kann) jede Position in dem Zusammenbau abbildet und zu dem gemeinsamen Koordinatensystemraum kalibriert wird/werden. |
„Operation” | Bezeichnet einen Prozess, der auf der ersten Position, der zweiten Position oder einer Position, die von der ersten Position und der zweiten Position zumindest teilweise entfernt ist, an dem oder in Bezug auf das erste Werkstück durchgeführt wird. Bei der Operation kann es sich (z. B.) um eine Zusammenbauoperation in Bezug auf ein zweites Werkstück, das Platzieren des ersten Werkstückes in eine Box oder ein Rahmengestell (d. h. Kitting) oder eine Modifikation des ersten Werkstückes wie etwa Bedrucken, Etikettenauftragung, Klebstoffauftragung usw. unter Verwendung geeigneter Mechanismen handeln. |
„Erstes Werkstück” | Bezeichnet ein Teil oder einen anderen Gegenstand, das/der in einer tatsächlichen Laufzeitoperation des Manipulatorsystems (z. B. eines Zusammenbausystems) verwendet wird – auch als „Laufzeit-Werkstück” bezeichnet. Das erste Werkstück schließt ausdrücklich ein Kalibrierziel/eine Kalibrierplatte oder einen anderen Gegenstand aus, der für die Systemeinstellung/das Systemtrainieren, die/das keinen Bestandteil eines Fertigungs- oder anderen Laufzeitprozesses bildet, die Post-Kalibrierung und das -Trainieren verwendet wird. |
„Zweites Werkstück” | Bezeichnet ein sich auf einer zweiten Position befindliches Werkstück, mit dem das erste Werkstück auf Grundlage einer Ausrichtung zusammengebaut wird, welche (z. B.) unter Verwendung einer Bewegungswiedergabevorrichtung (Hebebühne) entweder auf der ersten Position oder der zweiten Position bewerkstelligt werden kann. Ein zweites Werkstück kann zudem einen Behälter (eine Box) oder ein Rahmengestell bezeichnen, worin das erste Werkstück platziert wird. |
-
Mit kurzem Verweis auf 2 ist der Manipulator 120 derart gezeigt, dass er sich entlang der Schiene 180 von der ersten Position 122 auf die zweite Position 110 bewegt hat, wobei sich das erste Werkstück 124 in seinem Greifer 150 befindet. Der Manipulator 120 ist derart gezeigt, dass er das erste Werkstück 126 genau in die ausgerichtete Empfangsposition 126 an dem zweiten Werkstück 112 platziert. Diese Ausrichtung wird durch die Kameras 140, 142 und den assoziierten Sehsystemprozess(or) 160 etabliert, indem die Hebebühne auf Grundlage des gemeinsamen Koordinatenraums bewegt wird. Dieser gemeinsame Koordinatenraum wird während der Kalibrierung etabliert, indem die kalibrierten Koordinatenräume von jeder der beiden Positionen 122, 110 miteinander verknüpft werden, wie nun unten beschrieben wird.
-
Für ein allgemeines Verständnis bestimmter Kalibrierungsprinzipien kann eine Bewegung für einen festen Körper wie etwa ein Kalibrierziel durch ein Paar von Lagen gekennzeichnet sein: eine Startlage, die einer Bewegung unmittelbar vorausgeht, und eine Endlage, die der Bewegung unmittelbar folgt – wobei eine „Lage” hier als ein Satz numerischer Werte zum Beschreiben der Position und Orientierung eines Körpers zu jedem beliebigen bestimmten Zeitpunkt in einem darunterliegenden Koordinatenraum – eine virtuelle Charakterisierung des Körpers – definiert ist. Zum Beispiel kann eine Lage bei zwei Dimensionen durch drei Zahlen gekennzeichnet sein: eine Übersetzung bei X, eine Übersetzung bei Y und eine Drehung R (oder θ). Eine Lage im Kontext eines Kalibrierziels beschreibt, wie sich das Kalibrierziel der/den Kamera(s) präsentiert. Typischerweise wird ein Kalibrierziel in einer sogenannten Standard-„Hand-Auge-Kalibrierung” durch eine Bewegungswiedergabevorrichtung an einige verschiedene Lagen in Bezug auf die Kamera(s) bewegt, und jede Kamera erfasst ein Bild des Kalibrierziels an jeder solchen Lage. Das Ziel einer solchen Hand-Auge-Kalibrierung besteht darin, die Lagen der Kamera(s), die Lagen des Kalibrierziels und die Lagen der Bewegungswiedergabevorrichtung in einem einzelnen Koordinatenraum, der als der „kalibrierte Koordinatenraum” bezeichnet werden kann, zu bestimmen. Typischerweise wird eine „Bewegung” durch eine physikalische Vorrichtung bereitgestellt, welche physikalische Bewegung wiedergeben kann, wie etwa ein Roboterarm oder eine Hebebühne oder ein Portal. Hinweis: entweder kann sich das Ziel relativ zu einer oder mehreren stationären Kamera(s) bewegen, oder die Kamera(s) können sich relativ zu einem stationären Ziel bewegen, wie etwa, wenn die Kameras an der physischen Vorrichtung, die Bewegung bereitstellt, befestigt sind. Die Steuerung einer solchen Bewegungswiedergabevorrichtung gebraucht numerische Werte (d. h. Lagen), um Befehle an die Vorrichtung auszugeben, jedwede gewünschte Bewegung wiederzugeben, und diese Werte werden in einem nativen Koordinatenraum für diese Vorrichtung, hier als der „Bewegungskoordinatenraum” bezeichnet, interpretiert. Nun wird mit Verweis auf 3 ein Kalibrierungsgesamtprozess 300 zum Verknüpfen der Koordinatenräume zweier unabhängiger Postionen (z. B. eine Auflese- und eine Ablegeposition) unter Verwendung eines Laufzeit-Werkstückes, das durch den Manipulator zwischen den Positionen bewegt wird, beschrieben. Beachtenswerterweise umgeht die Verwendung eines Laufzeit-Werkstückes die Nachteile, die mit der Verwendung eines Kalibrierziels verbunden sind, und erlaubt es dem Anwender, auf praktische Weise die gleiche Struktur zu gebrauchen, die der Manipulator erwartungsgemäß in einer Laufzeitoperation handhaben wird. Der Prozess 300 beginnt bei Schritt 310 durch Anordnen von einer oder mehreren Kameras zum Abbilden/Erfassen eines oder mehrerer Bilder einer ersten Position und einer zweiten Position. Die Kamera(s) sehen Merkmal(e) eines Laufzeit-Werkstückes an jeder Position ein – wobei die Merkmale in ihrer Gesamtheit oder teilweise auf jeder Position dieselben oder auf jeder Position verschieden sein können. Bei Schritt 320 werden die Kamera(s), die Merkmale auf der ersten Position oder der zweiten Position einsehen, zu einem jeweiligen kalibrierten Koordinatenraum kalibriert. Dies kann eine Hand-Auge-Kalibrierung umfassen, indem ein Kalibrierziel durch die Bühne bewegt wird und der Koordinatenraum auf Grundlage einer solchen Bewegung in Verbindung mit durch die Bühne bereitgestellten Bewegungsinformationen etabliert wird. Alternativ kann dies einen Kalibrierungsprozess umfassen, der sich unter Verwendung eines oder mehrerer Bilder eines speziellen Kalibrierziels wie etwa der Riffelgitterkalibrierplatte bewerkstelligen lässt, wodurch alle Kameras auf der Position mit dem entsprechenden Koordinatenraum verknüpft werden. Bei Schritt 330 werden Bilder des Laufzeit-Werkstückes durch eine oder mehrere Kamera(s) erfasst, die das Werkstück auf der ersten Position einsehen, und die Positionen von Merkmalen an dem Laufzeit-Werkstück werden auf der ersten Position identifiziert/extrahiert. Die identifizierten/extrahierten Merkmale werden anschließend zum Assoziieren des Werkstückes in Bezug auf einen ersten kalibrierten Koordinatenraum – typischerweise mit der ersten Position bei Schritt 340 verbunden – verwendet. Die Merkmale können jede beliebigen identifizierbaren visuellen Elemente an dem Werkstück sein, und insbesondere jene, die allein oder in Kombination die Orientierung und Position des Werkstückes einzigartig definieren. Demnach können, wenn Kanten und Ecken als identifizierte Merkmale eingesetzt werden, derlei Kanten und Ecken für eine bestimmte Position an dem Gesamtwerkstück (z. B. eine Einkerbung auf einer Seite des Werkstückes) einzigartig sein. Die Merkmalsextraktion lässt sich unter Verwendung unterschiedlicher Sehsystemhilfsmittel (z. B. Kantendetektoren, Blobanalysevorrichtungen usw.) 162 (1) dem Fachwissen entsprechend bewerkstelligen.
-
Bei Schritt 350 wird das Laufzeit-Werkstück von dem Manipulator (z. B. durch Anwendung eines Saugtellers 125 auf das Laufzeit-Werkstück 124 in 1) aufgegriffen, und das Werkstück wird auf die zweite Position bewegt. Diese Bewegung erfolgt mindestens einmal (und kann unter Verwendung verschiedener Lagen, wie unten mit Verweis auf 7 beschrieben, mehrere Male erfolgen). Anschließend, bei Schritt 360, erfasst/erfassen die Kamera(s) auf der zweiten Position (dort Werkstücksmerkmale einsehend) ein oder mehrere Bilder des Werkstückes (in dem Bildkoordinatenraum davon). Merkmale, die die gleichen wie jene sind, welche auf der ersten Position eingesehen wurden, oder die verschieden sind, werden auf der zweiten Position verwendet, um Positionen an dem Werkstück auf der zweiten Position zu finden. Dort, wo die Merkmale die gleichen sind, können die Koordinatenräume direkt verknüpft werden. Dort, wo die Merkmale verschieden sind, erlaubt es eine Spezifizierung des Werkstückes, wie etwa eine CAD-Zeichnung oder gemessene Repräsentation/Wiedergabe (d. h. unter Verwendung eines Koordinatenmessgerätes CMM zum Messen des Werkstückes und Speichern der Abmessungen), dass die Merkmale an jeder Position durch den Kalibrierprozess des Sehsystems in Übereinstimmung gebracht werden. Dank der in Übereinstimmung gebrachten Merkmale kann daraufhin jeder Koordinatenraum verknüpft werden. Hinweis: dort, wo eine der Positionen über Schritt 320 per Hand-Auge-Kalibrierung kalibriert wird, kann der berechnete gemeinsame Koordinatenraum der gleiche wie der Bewegungskoordinatenraum der Hebebühne sein.
-
Bei den 4 und 5 handelt es sich um ausführlichere Beschreibungen von zwei unabhängigen Verfahren/Prozessen 400 bzw. 500 zum Verknüpfen von Koordinatenräumen auf der ersten Position und der zweiten Position gemäß dem verallgemeinerten Prozess von 3. In 4 umfasst der Prozess 400 den Schritt 410, bei dem eine oder mehrere Kameras zum Abbilden von zwei Positionen, von denen eine eine Hebebühne umfassen kann, angeordnet sind. Wie oben beschrieben, kann eine optionale Hand-Auge-Kalibrierung mit den Kamera(s), welche die Position mit einer Hebebühne einsehen, zum Etablieren des kalibrierten Koordinatenraums durchgeführt werden. Allgemeiner können die Kamera(s), welche die erste und die zweite Position abbilden, bei Schritt 420 unter Verwendung eines geeigneten Kalibrierziels kalibriert werden. Bei Schritt 440 erfassen die Kamera(s) ein oder mehrere Bilder des Werkstückes auf der ersten Position, und die Bilder werden zum Verorten von Merkmalen, MerkmaleBild1, an dem Werkstück unter Verwendung geeigneter Sehsystemhilfsmittel (Schritt 450) verwendet. Diese Merkmale können dem kalibrierten Koordinatenraum an der ersten Position zugeordnet werden (MerkmaleKalibriert1 = Kalibriert1VonBild1·MerkmaleBild1). Das Laufzeit-Werkstück wird anschließend von dem Manipulator aufgegriffen und auf die zweite Position bewegt. Wo die Kamera(s) ein oder mehrere Bilder des Laufzeit-Gegenstandes (Schritt 460) erfassen. Bei diesem Verfahren sind die gleichen Merkmale, MerkmaleBild1, ebenfalls durch die Kamera(s) an der zweiten Position, MerkmaleBild2, sichtbar. Bei Schritt 470 verortet die Kamera(s) auf der zweiten Position demnach die gleichen Merkmale an dem Laufzeit-Werkstück, und der Prozess 400 ordnet die Positionen auf Grundlage der Kalibrierdaten auf der zweiten Position zu (MerkmaleKalibriert2 = Kalibriert2VonBild2·MerkmaleBild2). Anschließend berechnet der Prozess 400 bei Schritt 480 eine Transformation, Kalibriert1VonKalibriert2, welche MerkmaleKalibriert2 zu den MerkmalenKalibriert1 (aus Schritt 450) zuordnet. Diese Transformation wird verwendet, um die Koordinatenräume an den beiden Positionen gemäß dem folgenden Verhältnis miteinander zu verknüpfen: MerkmaleKalibriert1 = Kalibriert1VonKalibriert2·MerkmaleKalibriert2
-
Wurde die Position, welche die Bühne enthält, gegebenenfalls per Hand-Auge-Kalibrierung kalibriert, so kann die Transformation Kalibriert1VonKalibriert2 in Kombination mit den Hand-Auge-Kalibrierungsergebnissen zum Anleiten des Zusammenbaus des Teils während der Laufzeit verwendet werden.
-
In 5 umfasst der Prozess 500 den Schritt 510, bei dem eine oder mehrere Kameras zum Abbilden von zwei Positionen, von denen eine eine Hebebühne umfassen kann, angeordnet sind. Wie oben beschrieben, kann eine optionale Hand-Auge-Kalibrierung mit den Kamera(s), welche die Position mit einer Hebebühne einsehen, zum Etablieren des kalibrierten Koordinatenraums durchgeführt werden. Bei den Schritten 520 und 530 können die erste und die zweite Position unter Verwendung eines geeigneten Kalibrierziels kalibriert werden. Bei Schritt 540 erfassen die Kamera(s) ein oder mehrere Bilder des Werkstückes an der ersten Position, und die Bilder werden zum Verorten von Merkmalen an dem Werkstück, MerkmaleBild1, unter Verwendung geeigneter Sehsystemhilfsmittel verwendet. Bei Schritt 550 können diese Merkmale dem kalibrierten Koordinatenraum an der ersten Position zugeordnet werden, MerkmaleKalibriert1. Bei Schritt 560 berechnet der Prozess 500 eine Transformation, WerkstückVonKalibriert1, welche Werkstückmerkmale in einem ersten kalibrierten Koordinatenraum, MerkmaleKalibriert1, (aus Schritt 550) an der ersten Position dem folgenden Verhältnis gemäß dem gespeicherten Werkstückskoordinatenraum zuordnet: MerkmaleWerkstück = WerkstückVonKalibriert1·MerkmaleKalibriert1
-
Der Werkstückskoordinatenraum wird auf Grundlage eines Computer-Aided-Design(CAD)-Modells von dem Werkstück erstellt, welches eine Repräsentation der Merkmalsparameter beinhaltet. Alternativ lässt sich die Spezifizierung des Laufzeit-Werkstück-Koordinatenraums durch physikalisches Messen des Werkstückes – zum Beispiel unter Verwendung eines Koordinatenmessgerätes (CMM) dem Durchschnittsfachwissen gemäß etablieren. Die Parameter werden zur Verwendung durch den Zuordnungsprozess gespeichert.
-
Das Laufzeit-Werkstück wird anschließend von dem Manipulator aufgegriffen und auf die zweite Position bewegt. Wo die Kamera(s) ein oder mehrere Bilder des Laufzeit-Gegenstandes (Schritt 570) erfassen. Bei diesem Verfahren könnten eines oder mehrere der an der zweiten Position eingesehenen Merkmale von denjenigen Merkmalen abweichen, die auf der ersten Position eingesehen/abgebildet wurden. Dies kann sich daraus ergeben, dass die gleichen Merkmale wegen Hindernissen, dem Sichtfeld (FOV) der Kamera(s) usw. für die Kamera(s) nicht auf beiden Positionen sichtbar sind. Bei Schritt 580 verorten die Kamera(s) auf der zweiten Position die sichtbaren Merkmale, MerkSichtAuf2Bild2, an dem Laufzeit-Werkstück, und die Positionen werden auf Grundlage der Kalibrierdaten auf der zweiten Position zugeordnet (MerkSichtAuf2Kalibriert2 = Kalibriert2VonBild2·MerkSichtAufBild2). Die entsprechenden Punkte in dem Werkstückskoordinatenraum werden aufgefunden, MerkSichtAuf2Werkstück. Anschließend verwendet der Prozess 500 bei Schritt 590 die Rücktransformation WerkstückVonKalibriert1 aus Schritt 560 zum Berechnen der Position von Merkmalen, die auf der zweiten Position in dem ersten kalibrierten Raum sichtbar sind, wenn sich derlei Merkmale auf der ersten Position befanden: MerkSichtAuf2Kalibriert1 = Kalibriert1VonWerkstück·MerkSichtAuf2Werkstück.
-
Bei Schritt 592 werden die berechneten Merkmalspositionen von der ersten Position und die entsprechenden detektierten Merkmalspositionen auf der zweiten Position verwendet, um die Koordinatenräume an jeder dieser Positionen gemäß dem folgenden Verhältnis miteinander zu verknüpfen: MerkSichtAuf2Kalibriert1 = Kalibriert1VonKalibriert2·MerkSichtAuf2Kalibriert2
-
Wurde die Position, welche die Bühne enthält, per Hand-Auge-Kalibrierung kalibriert, so kann die Transformation Kalibriert1VonKalibriert2 in Kombination mit den Hand-Auge-Kalibrierungsergebnissen zum Anleiten des Zusammenbaus des Teils während der Laufzeit verwendet werden.
-
Hinweis: in unterschiedlichen Ausführungsformen ist es ausdrücklich vorgesehen, dass die Zuordnung von dem Bildkoordinatenraum zu dem Kalibrierungskoordinatenraum auf der ersten Position gleich Einheit sein kann. Dieses Verfahren nimmt Anordnungen auf, in denen die zweite Position kalibriert wird, und die Bildmerkmale auf der ersten Position werden dem Kalibrierungskoordinatenraum auf der zweiten Position zugeordnet, wie in den 3–5 beschrieben.
-
6 detailliert ein Verfahren/einen Prozess 600 gemäß einem anderen vorgesehenen Verfahren zum Verknüpfen der Koordinatenräume zweier unabhängiger Positionen, worin sowohl die Kamera(s) der ersten Position als auch die Kamera(s) der zweiten Position kalibrierungsfrei sind. In dieser Anordnung ist vorgesehen, dass jede Position separat per Hand-Auge-Kalibrierung kalibriert werden kann, wobei beide Positionen mit demselben gemeinsamen Koordinatenraum relativ zu der Hebebühne verknüpft werden. Bei Schritt 610 werden die Kamera(s) zum Abbilden jeder Position angeordnet. Die Position (d. h. erste Position), welche die Hebebühne enthält, wird bei Schritt 620 per Hand-Auge-Kalibrierung kalibriert. Das Laufzeit-Werkstück wird anschließend auf der Bühne-enthaltenden ersten Position bei Schritt 630 platziert. Das Laufzeit-Werkstück wird danach bei Schritt 640 aufgegriffen und auf die zweite Position bewegt, wo ein oder mehrere Bilder mit der/den Kamera(s) erfasst werden. Merkmale an dem Werkstück werden bei Schritt 650 verortet. Gegebenenfalls können derlei Merkmale, wenn die CAD- oder CMM-Spezifizierung des Werkstückes verfügbar ist, in Bezug auf eine CAD- oder CMM-Repräsentation des Werkstückskoordinatenraums in Übereinstimmung gebracht werden. Die aus den Merkmalen abgeleitete Lage wird in einer Liste Xl1 gespeichert. Das Werkstück wird bei Schritt 660 erneut aufgegriffen und zurück auf die erste/Bühnenposition bewegt. Die Schritte 640, 650 und 660 werden wiederholt, während die Bühne bewegt wird, um neue Lagen mit jeder Wiederholung (Schritt 680) zu etablieren, bis genügend Daten erfasst und in der Liste Xl1 gespeichert sind. Der Prozess 600 wird dann (über den Entscheidungsschritt 670) bei Schritt 690 fortgesetzt, um die akkumulierten Daten aus Schritt 650 (Liste Xl1) zu verwenden, um die Kamera(s) an der zweiten Position per Hand-Auge-Kalibrierung zu kalibrieren. Die kalibrierten Kamerakoordinatenräume auf beiden Positionen werden demnach durch den gemeinsamen Koordinatenraum relativ zu der Hebebühne miteinander verknüpft.
-
Die Verfahren/Prozesse 400 und 500 (Schritte 450, 470 in 4 und Schritte 550 und 580 in 5) können verbessert werden, indem iterativ eine Merkmalsextraktion aus dem Laufzeit-Werkstück durchgeführt wird. Ein Überblick über diesen verbesserten Prozess 700 ist in 7 beschrieben. Bei Schritt 710 werden ein oder mehrere Bilder von dem Laufzeit-Werkstück an der ersten Position erfasst, und Merkmale werden extrahiert/identifiziert. Das Werkstück wird anschließend bei Schritt 720 von dem Manipulator aufgegriffen und bewegt, und Merkmale werden extrahiert/identifiziert (entweder die gleichen oder verschiedene Merkmale, wie oben beschrieben). Der Manipulator bewegt das Werkstück entweder iterativ auf die erste Position zurück, wobei er die Lage bei jedem Mal ungefähr verändert (Schritt 730), oder er überführt mehrfache Instanzen des Werkstückes mit einer ungefähr verschiedenen Lage. Das heißt, die Genauigkeit und Robustheit der Kalibrierung kann durch mehrfache Iterationen der Merkmalsextraktion und Akkumulation an entweder dem gleichen Werkstück einer Reihe verschiedener Werkstücke, die jeweils durch einen Bewegungszyklus zwischen verschiedenen Positionen bewegt werden, verbessert werden. Während jeder Wiederholung werden Merkmale aus Bildern auf der ersten Position und der zweiten Position über die Schritte 710 und 720 extrahiert, bis genügend Merkmalsdaten erhalten sind. Der Grenzwert kann auf einer festgesetzten Anzahl an Wiederholungen oder einer anderen Metrik beruhen. Der Prozess 700 wird anschließend (über den Entscheidungsschritt 740) mit Schritt 750 fortgesetzt, wo die akkumulierten Merkmalsdaten von mehreren Lagen verwendet werden, um die Koordinatenräume an jeder Position miteinander zu verknüpfen, wie oben allgemein beschrieben.
-
Es versteht sich, dass die oben beschriebenen Verfahren zum Verknüpfen der Koordinatenräume an zwei unabhängigen Positionen in einem Zusammenbauprozess unter Verwendung eines Laufzeit-Werkstückes Nachteile umgehen, welche mit der Verwendung eines Kalibrierziels verbunden sind. Diese Verfahren ermöglichen eine Flexibilität in der Art und Weise, auf die Kameras in Bezug auf jede Position angeordnet werden. Diese Verfahren ermöglichen zudem eine verbesserte/gesteigerte Genauigkeit durch die Wiederholung unterschiedlicher Schritte wie etwa der Merkmalsextraktion. Diese Verfahren umgehen zudem die Nachteile der oben beschriebenen vorbekannten Verfahren, welche entweder auf einer bekannten mechanischen Anordnung oder einem iterativen Trial-and-Error-Ansatz beruhen.
-
Bei dem Vorangehenden handelt es sich um eine ausführliche Beschreibung von veranschaulichenden Ausführungsformen der Erfindung. Es können unterschiedliche Modifikationen und Zusätze vorgenommen werden, ohne von Geist und Umfang dieser Erfindung abzuweichen. Merkmale von jeder der unterschiedlichen Ausführungsformen, die oben beschrieben wurden, können gegebenenfalls mit Merkmalen anderer beschriebener Ausführungsformen kombiniert werden, um eine Vielfalt von Merkmalskombinationen in assoziierten neuen Ausführungsformen bereitzustellen. Ferner beschreibt das Vorgehende zwar einige separate Ausführungsformen der Vorrichtung und des Verfahrens der vorliegenden Erfindung, jedoch ist, was hier beschrieben wurde, für die Anwendung der Prinzipien der vorliegenden Erfindung lediglich veranschaulichend. Zum Beispiel sollten die wie hier verwendeten Ausdrücke „Prozess” und/oder „Prozessor” breit gefasst werden, sodass sie eine Vielzahl an Funktionen und Komponenten, die auf elektronischer Hardware und/oder Software basieren (und alternativ als funktionelle „Module” oder „Elemente” bezeichnet werden können), umfassen. Außerdem kann ein dargestellter Prozess oder Prozessor mit anderen Prozessen und/oder Prozessoren kombiniert oder in unterschiedliche Teilprozesse oder -prozessoren aufgeteilt werden. Derlei Teilprozesse und/oder Teilprozessoren lassen sich gemäß den Ausführungsformen in dieser Schrift unterschiedlich kombinieren. Gleichermaßen ist es ausdrücklich vorgesehen, dass sich jede beliebige Funktion, jeder beliebige Prozess und/oder Prozessor in dieser Schrift unter Verwendung elektronischer Hardware, Software, die aus einem nichttransitorischen rechnerlesbaren Medium von Programmanweisungen besteht, oder einer Kombination aus Hardware und Software implementieren lässt. Außerdem werden unterschiedliche, hier verwendete richtungs- und orientierungsangebende Ausdrücke wie etwa „vertikal”, „horizontal”, „nach oben”, „nach unten”, „oben”, „unten”, „seitlich”, „vorn”, „hinten”, „links”, „rechts” und dergleichen ausschließlich als relative Konventionen und nicht als absolute Orientierungen in Bezug auf einen festen Koordinatenraum oder ein festes – system wie etwa die Wirkungsrichtung der Schwerkraft verwendet. Veranschaulichend umfasst eine Position eine Positionsbühne, jedoch ist es vorgesehen, dass mehrere Positionen Bühnen umfassen können – zum Beispiel, wobei eine erste Hebebühne das Werkstück entlang einer Achse bewegt, und die zweite Bühne das Werkstück entlang einer anderen orthogonalen Achse (oder einer Drehung, die von der ersten Bühne nicht bereitgestellt wird) bewegt. Dementsprechend soll diese Beschreibung ausschließlich beispielhaft aufgefasst werden und nicht, um gegenteilig den Umfang dieser Erfindung einzuschränken.