-
GEBIET DER ERFINDUNG
-
Beispielhafte Ausführungsformen der vorliegenden Erfindung beziehen sich auf die Kalibrierung eines Bildverarbeitungssystems und insbesondere auf ein System und ein Verfahren zur Kalibrierung zwischen einem Bildverarbeitungssystem und einem Roboter.
-
HINTERGRUND DER ERFINDUNG
-
Gelenkarme sind steuerbare Maschinen, die einen Endeffektor genau und wiederholbar durch einen Bearbeitungsraum in eine festgelegte Pose bewegen können. Der hier verwendete Begriff Pose bezieht sich auf beispielhafte Weise auf eine Kombination aus dreidimensionaler Position und dreidimensionaler Rotation. Eine Roboterpose entspricht auf beispielhafte Weise der Pose des Endeffektors hinsichtlich des Koordinatensystems des Roboters. Auf beispielhafte Weise sind Endeffektoren steuerbare Maschinen, die Werkstücke greifen und loslassen können und bspw. mechanische Greifer, Vakuumsauger, elektromagnetische Kontakte etc. umfassen können. Üblicherweise, wie hier verwendet, wird die Kombination aus einem Gelenkarm und einem Endeffektor als Roboter bezeichnet. Der dreidimensionale Bereich, der für den Roboter zur Ausführung von Tätigkeiten zugänglich ist, wird als Arbeitsplatz des Roboters bezeichnet.
-
Roboter werden auf beispielhafte Weise eingesetzt, um Aufgaben wie das Bewegen eines Werkstücks innerhalb des Bearbeitungsraumes zu erfüllen, indem eine vorbestimmte Schrittfolge ausgeführt wird. Beispielsweise kann der Endeffektor entlang der Bahnkurve T1 zur Endeffektorpose P1 bewegt werden. Der Endeffektor kann anschließend vor der Bewegung entlang der Bahnkurve T2 zur Endeffektorpose P2 ein Werkstück greifen. In Pose P2 kann der Endeffektor das Werkstück loslassen. Ein bekannter Nachteil des Einsatzes solcher Roboter ist, dass das Werkstück sich in einer bekannten Lage befinden muss, damit der Roboter die Aufgabe erfolgreich durchführen kann. Beispielsweise kann der Endeffektor gegebenenfalls das Werkstück nicht greifen, wenn dieses sich nicht zu Beginn in der erwarteten Lage befindet. Ungenauigkeiten bei der Werkstückslage sind ein bekannter Nachteil solcher Robotersysteme und ein häufiger Grund, warum Roboter nicht für die Durchführung von Entnahme-, Ablage- und Montagetätigkeiten ausgewählt werden.
-
Eine bekannte Technik zur Behebung von Ungenauigkeiten bei der Werkstückslage ist der Einsatz von Sensoren, um zuerst die Werkstückslage zu messen, und diese gemessene Werkstückslage anschließend einzusetzen, um die Bahnkurve des Roboters anzugleichen. Die Bildverarbeitung ist eine gängige Technik zur Messung von Werkstückspositionen, da die Bildverarbeitung üblicherweise ein schnelles, kostengünstiges, berührungsloses Messverfahren ist. Der Begriff bildgeführte Robotertechnik (Vision Guided Robotics, VGR) veranschaulicht den Vorgang des Einsatzes eines Bildverarbeitungssystems zur Unterstützung des Roboters bei der Ausführung seiner Aufgaben.
-
Ein bekannter Nachteil des Einsatzes von Bildverarbeitung zur Messung einer Werkstückslage ist, dass das Bildverarbeitungssystem üblicherweise die Werkstückslage hinsichtlich des Koordinatensystems des Bildverarbeitungssystems misst, wohingegen der Roboter den Endeffektor hinsichtlich des Koordinatensystems des Roboters bewegt. Daher muss die Werkstückslage, die vom Bildverarbeitungssystem berechnet wurde, in das Koordinatensystem des Roboters übertragen werden, damit der Roboter die vom Bildverarbeitungssystem berechnete Werkstückslage nutzen kann. Der Begriff Hand-Augen-Kalibrierung veranschaulicht die Aufgabe, die Beziehung zwischen dem Koordinatensystem des Bildverarbeitungssystems und dem Koordinatensystem des Roboters zu bestimmen.
-
Wie Fachleuten bekannt sein wird, wirkt sich die Genauigkeit der Hand-Augen-Kalibrierung direkt auf die Genauigkeit der VGR-Verfahren aus. Wenn die Hand-Augen-Kalibrierung die tatsächliche Beziehung zwischen dem Koordinatensystem des Bildverarbeitungssystems und dem Koordinatensystem des Roboters genau widerspiegelt, bewirken genaue Bildverarbeitungsmessungen der Werkstückslage genaue Endeffektorposen zur Entnahme, Ablage und Montage des Werkstücks. Dementsprechend, falls die Hand-Augen-Kalibrierung ungenau ist und nicht die tatsächliche Beziehung zwischen dem Koordinatensystem des Bildverarbeitungssystems und dem Koordinatensystem des Roboters widerspiegelt, führt eine genaue Bildverarbeitungsmessung des Werkstücks nicht zwangsläufig zu genauen Endeffektorposen zur Entnahme, Ablage und Montage des Werkstücks. Diese ungenauen Roboterposen können zur Folge haben, dass der Roboter die vorgesehenen Aufgaben nicht ausführen kann.
-
Tsai und Lenz haben eine bekannte Technik zur Ausführung der Hand-Augen-Kalibrierung entwickelt. Ihre Technik wird im Aufsatz „A new technique for fully autonomous and efficient 3D robotics hand/eye calibration", veröffentlicht in IEEE Transactions on Robotics Automation, Volume 5, Issue 3, Seiten 345–348, beschrieben, dessen Inhalte hierin unter Bezugnahme aufgenommen sind. Die Technik von Tsai und Lenz erzielt auf beispielhafte Weise eine Reihe von Roboterposen und zugehörige aufgenommene Bilder. Für jedes der aufgenommenen Bilder schätzt die Technik die Lage der Kamera hinsichtlich des Kalibrierobjekts ab. Dadurch wird eine Reihe von Roboterposen und abgeschätzten Kameralagen hinsichtlich des Kalibrierobjekts erhalten. Die Technik von Tsai und Lenz bestimmt anschließend die Lage der Kamera hinsichtlich des Gelenkarms aus der Reihe von Roboterposen und den entsprechenden abgeschätzten Kameralagen. In einem exemplarischen Fall einer ortsfesten Kameraumgebung ist ein bekannter Nachteil der Technik von Tsai und Lenz, dass sie nicht ausdrücklich die Bedingung enthält, dass es nur eine einzige Lage der Kamera hinsichtlich der Roboterbasis gibt und dass es nur eine einzige Lage des Kalibrierobjekts hinsichtlich des Endeffektors gibt. Stattdessen lässt die Technik von Tsai und Lenz unabhängige. und daher möglicherweise uneinheitliche Abschätzungen der Kameralagen zu sowie ferner unabhängige und daher möglicherweise uneinheitliche Abschätzungen der Lage des Kalibrierobjekts.
-
Ein weiterer bekannter Nachteil der Technik von Tsai und Lenz ist, dass sie Kalibrierungen in einem Bildverarbeitungssystem nur für jeweils eine Kamera gleichzeitig durchführt. Daher muss die Technik von Tsai und Lenz, sollte die Durchführung einer Kalibrierung für eine Vielzahl von Kameras in einem Bildverarbeitungssystem gewünscht werden, für jede Kamera nacheinander durchgeführt werden. Dadurch wird mehr Zeit für die Durchführung der Kalibrierung benötigt und eine unabhängige und dadurch möglicherweise uneinheitliche Kalibrierung der verschiedenen Kameras zugelassen.
-
Tsai und Lenz haben paarweise Bewegungen und den Ausdruck AiX = XBi untersucht, wobei Ai die wahrgenommene Bewegung der Kamera und Bi eine relative Bewegung des Endeffektors beschreibt. Dadurch konnten sie die Transformation zwischen dem Endeffektor und der Kamera X durch Auflösen von X berechnen, was die Gesamtabweichungen zwischen Paaren von AXi und XBi minimierte. Im Aufsatz
„Optimal Hand-Eye Calibration", veröffentlicht im Protokoll der „IEEE/RSJ International Conference on Intelligent Robots and Systems", die im Jahr 2006 stattfand, 2008, Seiten 4647–4653, erwähnten Strobl und Hirzinger eine Technik für die Hand-Augen-Kalibrierung, die den Ausdruck AX = ZB untersucht, um die Endeffektor-Kamera-Transformation und die Roboter-Kalibrierplatte-Transformationen abzuschätzen und das Problem wird auf ein System von starren Transformationen reduziert: AiX = ZBi, wobei Ai die wahrgenommene Transformation zwischen der Kamera und der Kalibrierplatte, X die Endeffektor-Kamera-Transformation, Z die Roboterbasis-Kalibrierplatten-Transformation und Bi die Endeffektorpose (die Transformation vom Endeffektor zur Roboterbasis) beschreibt. Der Nachteil von diesen beiden Ansätzen (und allen anderen Ansätzen, die auf der Grundtechnik aufbauen) ist, dass sie die Abschätzung von Unterschieden zwischen zwei starren Transformationen beinhalten, diff(Transformation1, Transformationationen2), und es gibt keine bekannte, physikalisch sinnvolle Methode für die Messung des Unterschieds zwischen zwei Transformationen.
-
Ein weiterer Nachteil von Verfahren, wie sie von Tsai & Lenz und Strobl und Hirzinger beschrieben werden, ist, dass die Abschätzung der Hand-Augen-Kalibrierung auf der Grundlage von Lagen der Kalibrierplatte nicht optimal ist. Der Grund dafür ist, dass jede berechnete Kamera-Kalibrierplatten-Lage üblicherweise in manche Richtungen genauer ist als in andere, aber dass keine Informationen zur Richtungsgenauigkeit in den Kamera-Kalibrierplatten-Lagen enthalten sind. Die Tatsache, dass Kamera-Kalibrierplatten-Lagen üblicherweise in manche Richtungen genauer sind als in andere, kann so erklärt werden, dass die Orientierung der Kalibrierplatte üblicherweise genauer abgeschätzt werden kann als die Neigung der Kalibrierplatte.
-
ÜBERBLICK ÜBER DIE ERFINDUNG
-
Eine beispielhafte Ausführungsform der vorliegenden Erfindung überwindet die Nachteile des Stands der Technik, indem ein System und ein Verfahren zur robusten Kalibrierung zwischen einem Bildverarbeitungssystem und einem Roboter zur Verfügung gestellt wird. Auf beispielhafte Weise wird der Roboter in eine Vielzahl von Posen bewegt und es werden Bilder eines Kalibrierobjekts aufgenommen, wie etwa einer Kalibrierplatte, die an einem Endeffektor des Roboters befestigt wird und Merkmale an genau bekannten Positionen enthält. Alternativ wird ein Kalibrierobjekt im Raum befestigt und eine Kamera/Kameras wird/werden am Roboter befestigt, der anschließend in eine Vielzahl von Posen bewegt wird, bei denen Bilder des Kalibrierobjekts aufgenommen werden. Mittels des Bildverarbeitungssystems werden die aufgenommenen Bilder analysiert, indem die Positionen der Merkmale im Bild gemessen werden. Mittels der festgelegten Roboterposen und der gemessenen Bildmerkmalspositionen wird die Beziehung zwischen dem Koordinatensystem des Bildverarbeitungssystems und dem Koordinatensystem des Roboters bestimmt.
-
In einem Beispiel für eine ortsfeste Kameraumgebung enthält die beispielhafte Ausführungsform der vorliegenden Erfindung auf beispielhafte Weise die Einschränkung, dass es eine einzige Transformation mit sechs Freiheitsgraden (six degree of freedom, 6DOF) zwischen jeder Kamera und dem Roboterbasis-Koordinatensystem gibt, und ausdrücklich die Einschränkung, dass es eine einzige 6DOF-Transformation zwischen dem Endeffektor des Roboters und der Kalibrierplatte gibt. Es sollte beachtet werden, dass bei einer alternativen Ausführungsform der vorliegenden Erfindung eine abweichende Anzahl von Freiheitsgraden eingesetzt werden kann. Daher sollte die Beschreibung von sechs Freiheitsgraden als lediglich exemplarisch angesehen werden. Beispielhafte Ausführungsformen der vorliegenden Erfindung ermöglichen auf beispielhafte Weise die gleichzeitige Kalibrierung einer Vielzahl von Kameras auf einen Roboter zusätzlich zu einer separaten Kamerakalibrierung, wodurch die Notwendigkeit aufgehoben wird, Kameras zuerst auf den Bearbeitungsraum eines Roboters und anschließend das Bildverarbeitungssystem auf den Roboter kalibrieren zu müssen.
-
Kameras können entweder im Raum mit einem Sichtfeld, das einen Teil des Arbeitsplatzes eines Roboters umfasst, oder an einem Gelenkarm und/oder einem Endeffektor des Roboters angebracht werden. Kameras, die im Raum angebracht werden, können hier als ortsfeste Kameras bezeichnet werden, während Kameras, die an einem Gelenkarm und/oder einem Endeffektor eines Roboters angebracht werden, hierin als bewegliche Kameras bezeichnet werden können. Wenn eine Kamera ortsfest im Raum angebracht wird, berechnen beispielhafte Ausführungsformen der vorliegenden Erfindung zwei Transformationen: die Transformation zwischen dem Roboterkoordinatensystem und dem Koordinatensystem der Kamera sowie die Transformation zwischen der Lage des Kalibrierobjekts und der Pose des Endeffektors. Wenn mehrere Kameras ortsfest im Raum angebracht werden, berechnen beispielhafte Ausführungsformen der vorliegenden Erfindung die Transformationen zwischen dem Roboterkoordinatensystem und den Koordinatensystemen jeder Kamera sowie die Transformation zwischen der Lage des Kalibrierobjekts und der Pose des Endeffektors. Es sollte beachtet werden, dass die Begriffe Kalibrierobjekt und Kalibrierplatte hierin austauschbar eingesetzt werden können. Das Koordinatensystem der Kamera wird bisweilen als die Lage der Kamera bezeichnet. Die Lage des Kalibrierobjekts wird bisweilen als das Koordinatensystem des Kalibrierobjekts bezeichnet. Das kanonische Koordinatensystem der Kalibrierplatte nach der Kalibrierung von der einen oder der Vielzahl von Kameras wird bisweilen als das Koordinatensystem des Bildverarbeitungssystems bezeichnet. Das Koordinatensystem des Bildverarbeitungssystems wird bisweilen als das Weltkoordinatensystem des Bildverarbeitungssystems bezeichnet. Die Pose des Endeffektors wird bisweilen als das Koordinatensystem des Endeffektors bezeichnet. Die Pose des Endeffektors hinsichtlich der Roboterbasis wird bisweilen als die Roboterpose bezeichnet. Das Koordinatensystem des Roboters wird bisweilen als das Roboterbasis-Koordinatensystem bezeichnet. Es muss beachtet werden, dass die Erfindung eine Situation, in der verschiedene Kameras hinsichtlich verschiedener kanonischer Kalibrierplatten-Transformationen kalibriert werden können, handhaben kann. Anders ausgedrückt können beispielhafte Ausführungsformen der vorliegenden Erfindung eine Situation handhaben, in der die eine Kamera oder die Vielzahl von Kameras hinsichtlich verschiedener Koordinatensysteme von Bildverarbeitungssystemen kalibriert wurden. Dem liegt zugrunde, dass die Erfindung die Lage von jeder Kamera abschätzt – und die Erfindung setzt die Einschränkung, dass die Kameras in derselben Lage hinsichtlich des Koordinatensystems des Bildverarbeitungssystems bleiben, nicht zwangsläufig durch.
-
Wenn eine Kamera am Roboter angebracht wird, werden ebenso zwei Transformationen berechnet: die Transformation zwischen dem Roboterkoordinatensystem und dem Kalibrierobjekt sowie die Transformation zwischen der Kameralage und der Pose des Endeffektors. Beim Einsatz von mehreren am Roboter angebrachten (beweglichen) Kameras berechnet die Erfindung die Transformation zwischen dem Roboterkoordinatensystem und dem Kalibrierobjekt sowie die Transformationen zwischen der Lage jeder Kamera und der Pose des Endeffektors.
-
Es muss beachtet werden, dass das Weltkoordinatensystem des Bildverarbeitungssystems üblicherweise als Platzhalter dient und dass das Weltkoordinatensystem des Bildverarbeitungssystems üblicherweise keine intrinsische physikalische Bedeutung hat. Demzufolge können Benutzer für eine einzige ortsfeste Kamera die von der vorliegenden Erfindung berechneten Hand-Augen-Kalibrierungs-Transformationen einsetzen, um das Weltkoordinatensystem des Bildverarbeitungssystems hinsichtlich des Roboterkoordinatensystems anzupassen (während die Transformation zwischen der Kamera und dem Weltkoordinatensystem des Bildverarbeitungssystems nicht verändert wird). Alternativ können Benutzer für eine einzige ortsfeste Kamera die von der vorliegenden Erfindung berechneten Hand-Augen-Kalibrierungs-Transformationen einsetzen, um die Transformation zwischen der Kamera und dem Weltkoordinatensystem des Bildverarbeitungssystems anzupassen (während die Transformation zwischen dem Weltkoordinatensystem des Bildverarbeitungssystems hinsichtlich des Roboterkoordinatensystems nicht verändert wird). Alternativ können Benutzer für eine einzige bewegliche Kamera die von der vorliegenden Erfindung berechneten Hand-Augen-Kalibrierungs-Transformationen einsetzen, um das Weltkoordinatensystem des Bildverarbeitungssystems hinsichtlich des Endeffektor-Koordinatensystems anzupassen (während die Transformation zwischen der Kamera und dem Weltkoordinatensystem des Bildverarbeitungssystems nicht verändert wird). Alternativ können Benutzer für eine einzige bewegliche Kamera die von der vorliegenden Erfindung berechneten Hand-Augen-Kalibrierungs-Transformationen einsetzen, um die Transformation zwischen der Kamera und dem Weltkoordinatensystem des Bildverarbeitungssystems anzupassen (während die Transformation zwischen dem Weltkoordinatensystem des Bildverarbeitungssystems hinsichtlich des Endeffektor-Koordinatensystems nicht verändert wird). Da die Kameralage und das Weltkoordinatensystem des Bildverarbeitungssystems auf diese Art und Weise ausgetauscht werden können, wird bisweilen auf die Abschätzung des Bildverarbeitungs-Weltkoordinatensystems Bezug genommen, um auf die Abschätzung der Kameralage Bezug zu nehmen, und bisweilen wird auf die Abschätzung der Kameralage Bezug genommen, um die Abschätzung des Bildverarbeitungs-Weltkoordinatensystems vorzunehmen.
-
KURZBESCHREIBUNG DER ZEICHNUNGEN
-
Die oben genannten sowie die weiteren Vorteile der Erfindung können besser durch die folgende Beschreibung in Verbindung mit den dazugehörigen Zeichnungen verstanden werden, in denen gleiche Bezugszeichen auf identische oder funktionsmäßig ähnliche Elemente verweisen:
-
1 ist eine schematische Darstellung einer exemplarischen Bildverarbeitungs-Roboter-Umgebung mit ortsfest im Raum angebrachten Kameras zur Verwendung bei einer Kalibrierung zwischen einem Bildverarbeitungssystem und einem Roboter gemäß einer beispielhaften Ausführungsform der vorliegenden Erfindung;
-
2 ist eine schematische Darstellung einer exemplarischen Bildverarbeitungs-Roboter-Umgebung mit am Roboter angebrachten Kameras zur Verwendung bei einer Kalibrierung zwischen einem Bildverarbeitungssystem und einem Roboter gemäß einer beispielhaften Ausführungsform der vorliegenden Erfindung;
-
3 ist ein Schaubild, das die Arbeitsschritte bei der Durchführung der Kalibrierung zwischen einem Roboter und einem Bildverarbeitungssystem detailliert beschreibt, wobei gemäß einer beispielhaften Ausführungsform der vorliegenden Erfindung fest angebrachte Kameras eingesetzt werden;
-
4 ist ein Schaubild, das die Arbeitsschritte bei der Durchführung der Kalibrierung zwischen einem Roboter und einem Bildverarbeitungssystem detailliert beschreibt, wobei gemäß einer beispielhaften Ausführungsform der vorliegenden Erfindung am Roboter angebrachte Kameras eingesetzt werden; und
-
5 ist ein schematisches Blockdiagramm, das exemplarische Steuerungssysteme für ein Bildverarbeitungssystem und einen Roboter gemäß einer beispielhaften Ausführungsform der vorliegenden Erfindung darstellt.
-
DETAILLIERTE BESCHREIBUNG EINER BEISPIELHAFTEN AUSFÜHRUNGSFORM
-
Beispielhafte Ausführungsformen der vorliegenden Erfindung stellen ein System und ein Verfahren zur genauen Verfeinerung der Hand-Augen-Kalibrierung zur Verfügung, während auf beispielhafte Weise eine Beschränkung enthalten ist, dass es eine einzige 6DOF-Transformation (Freiheitsgrade) zwischen jeder Kamera und dem Endeffektor für den Fall einer beweglichen Kamera gibt, oder dass es eine einzige 6DOF-Transformation zwischen jeder Kamera und der Roboterbasis für den Fall einer ortsfesten Kamera gibt. Es sollte beachtet werden, dass in einer alternativen Ausführungsform der vorliegenden Erfindung eine abweichende Anzahl von Freiheitsgraden eingesetzt werden kann. Daher sollte die Beschreibung von sechs Freiheitsgraden als lediglich exemplarisch angesehen werden. Ferner enthalten beispielhafte Ausführungsformen der vorliegenden Erfindung auf beispielhafte Weise die Einschränkung, dass es eine einzige 6DOF-Transformation zwischen dem Roboterkoordinatensystem und der Kalibrierplatte für den Fall einer beweglichen Kamera gibt. Alternativ enthalten beispielhafte Ausführungsformen der vorliegenden Erfindung für den Fall einer ortsfesten Kamera eine Beschränkung, dass es eine einzige 6DOF-Transformation zwischen dem Kalibrierplatten-Koordinatensystem und dem Endeffektor-Koordinatensystem gibt. Auf beispielhafte Weise wird der Roboter in festgelegte Posen bewegt und es werden Bilder von einem Kalibrierobjekt aufgenommen, das Merkmale an genau bekannten physikalischen Positionen enthält. Eine beispielhafte Ausführungsform der Erfindung beinhaltet die genaue Kenntnis der physikalischen Merkmalspositionen, alternative Ausführungsformen der Erfindung könnten ungenaue Kenntnisse von physikalischen Merkmalspositionen nutzen. Das Kalibrierobjekt ist nicht zwangsläufig ein flaches Objekt (mit allen Merkmalen auf derselben Ebene). Alternativ könnte das Kalibrierobjekt ein dreidimensionales Objekt wie etwa ein Würfel sein, dessen Merkmale an mehreren Flächen vorhanden sind. Alternativ könnte das Kalibrierobjekt eine dreidimensionale Schachtel sein (mit unterschiedlichen Seitenlängen), deren Merkmale an mehreren Flächen vorhanden sind. Alternativ könnte das Kalibrierobjekt eine Scheibe sein, deren Merkmale an einer oder beiden Seiten vorhanden sind. Alternativ könnte das Kalibrierobjekt eine Kugel mit Merkmalen sein. Alternativ könnte das Kalibrierobjekt ein Zylinder mit Merkmalen sein.
-
Das Bildverarbeitungssystem analysiert anschließend die aufgenommenen Bilder durch die Messung der Positionen der Merkmale in den Bildern und bringt die festgelegten Roboterposen mit den gemessenen Bildmerkmalspositionen in Beziehung, um die Beziehung zwischen dem Koordinatensystem des Bildverarbeitungssystems und dem Koordinatensystem des Roboters zu bestimmen. Beispielhafte Ausführungsformen der vorliegenden Erfindung nutzen auf beispielhafte Weise eine Analyse, die ausdrücklich die Einschränkung enthält, dass es eine einzige 6DOF-Transformation zwischen jeder Kamera und dem Endeffektor gibt, und die ausdrücklich die Einschränkung enthält, dass es eine einzige 6DOF-Transformation zwischen dem Roboterkoordinatensystem und der Kalibrierplatte für den Fall einer beweglichen Kamera gibt. Alternativ nutzen beispielhafte Ausführungsformen der vorliegenden Erfindung für den Fall einer ortsfesten Kamera auf beispielhafte Weise eine Analyse, die ausdrücklich die Einschränkung enthält, dass es eine einzige 6DOF-Transformation zwischen jeder Kamera und der Roboterbasis gibt, und die ausdrücklich die Einschränkung enthält, dass es eine einzige 6DOF-Transformation zwischen dem Kalibrierplatten-Koordinatensystem und dem Endeffektor-Koordinatensystem gibt.
-
Eine beispielhafte Ausführungsform der vorliegenden Erfindung beinhaltet den Einsatz einer ortsfesten Kalibrierplatte und eines ortsfesten Roboters, alternative Ausführungsformen der Erfindung könnten den Einsatz von nicht-ortsfesten Kalibrierplatten und/oder nicht-ortsfesten Robotern beinhalten, so dass mehrere 6DOF-Transformationen zur Wirkung kommen würden. Der Begriff Kamera bezieht sich auf beispielhafte Weise auf eine Kombination eines Sensor-Elementes zur Messung von elektromagnetischer Strahlung und einer Linse zur Ablenkung von elektromagnetischer Strahlung. Beispiele für Kamera-Sensor-Elemente beinhalten CCD-Sensoren, CMOS-Sensoren und Unterstützungsschaltungen (Support Circuitry), um eine zweidimensionale Darstellung der Belichtung zu bilden. Linsen werden üblicherweise genutzt, um elektromagnetische Strahlung von einem Motiv auf das Sensor-Element einer Kamera zu lenken. Kameras werden bisweilen als Bildverarbeitungskameras bezeichnet. Für die Hand-Augen-Kalibrierung werden die Kamera und die Linse üblicherweise aneinander befestigt, um einheitliche Beobachtungen zu gewährleisten.
-
Eine Ausführungsform der verfeinerten Technik beinhaltet die Untersuchung der Abweichungen zwischen Transformationen durch den Vergleich von Entfernungen zwischen anhand der Transformationen eingetragenen Punkten. Eine Ausführungsform der verfeinerten Technik beinhaltet die Untersuchung aller physikalischen Punkte pi auf der Kalibrierplatte und die Untersuchung des Unterschiedes im physikalischen Raum zwischen den sowohl anhand von AXB–1 als auch von Z eingetragenen Punkten. Jeder anhand von Z eingetragene physikalische Punkt pi, die Transformation zwischen der Roboterbasis und der Kalibrierplatte, entspricht der physikalischen Position von pi in Roboterkoordinaten. Zudem entspricht auch jeder anhand von AXB–1 eingetragene physikalische Punkt pi der physikalischen Position von pi in Roboterkoordinaten. Die Entfernung zwischen zwei physikalischen Punkten ist einzigartig und gut bekannt. Daher können wir die Abweichungs-Gesamtquadratsumme von allen Punkten, die anhand von allen Transformationen eingetragen werden, Σ(AXB–1pi – Zpi)2, untersuchen und dieser Ansatz ist gut definiert und beruht auf der Messung von Entfernungen zwischen 3D-Punkten und beruht nicht auf der Abschätzung von Abweichungen zwischen starren Transformationen.
-
Die Ausführungsform, die Σ(AXB–1pi – Zpi)2 minimiert, weist den Nachteil auf, dass sie auf Abschätzungen der Lage der Kalibrierplatte hinsichtlich der Kamera beruht, aber solche Verfahren sind nicht optimal, da die berechneten Kamera-Kalibrierplatten-Lagen weniger Informationen enthalten als die ursprünglichen Merkmalsdaten. Jede berechnete Kamera-Kalibrierplatten-Lage ist üblicherweise in manche Richtungen genauer als in andere, aber diese Informationen zur Richtungsgenauigkeit sind nicht in den Kamera-Kalibrierplatten-Lagen enthalten. Die Tatsache, dass Kamera-Kalibrierplatten-Lagen üblicherweise in manche Richtungen genauer sind als in andere Richtungen, kann so erklärt werden, dass die Orientierung der Kalibrierplatte üblicherweise genauer eingeschätzt werden kann als die Neigung der Kalibrierplatte.
-
Ein bekannter Nachteil von Verfahren, wie sie von Tsai und Lenz und Strobl und Hirzinger beschrieben werden, ist, dass sie auf die Kalibrierung einer einzigen Kamera ausgerichtet sind. Da diese Verfahren keine Regelung für die gleichzeitige Kalibrierung mehrerer Kameras aufweisen, muss jede Kamera unabhängig kalibriert werden. Der Nachteil bei der unabhängigen Kalibrierung jeder einzelnen Kamera ist, dass jede unabhängige Kalibrierung von einer unterschiedlichen Lage der Kalibrierplatte ausgehen kann – wohingegen es bekannt ist, dass die Lage der Kalibrierplatte für alle Kameras einheitlich ist. Kalibrierungsgenauigkeit wird fast immer verbessert durch die Einbeziehung aller relevanten physikalischen Einschränkungen.
-
Ein weiterer bekannter Nachteil des Verfahrens von Tsai und Lenz, das relative Bewegungen untersucht, ist, dass diese relativen Bewegungen auf zeitlich aufeinanderfolgenden Roboterposen beruhen. Demzufolge kann eine unterschiedliche zeitliche Anordnung der Roboterposen zu einer unterschiedlichen Hand-Augen-Kalibrierung führen. Auf beispielhafte Weise bringt die vorliegende Erfindung eine Hand-Augen-Kalibrierung hervor, die unabhängig von der Anordnung von Roboterposen ist.
-
Eine beispielhafte Ausführungsform dieser verfeinerten Technik schätzt die Hand-Augen-Kalibrierparameter direkt aus den beobachteten Bildmerkmalspositionen ab, anstatt sich auf die berechneten Kamera-Kalibrierplatten-Lagen zu stützen. Bei einer beispielhaften Ausführungsform der verfeinerten Technik schätzt das System die Projektion der 3D-Punkte auf die entsprechenden Kameras ab und vergleicht die abgeschätzten 2D-Positionen mit den gemessenen 2D-Positionen. Bei einer alternativen Ausführungsform der verfeinerten Technik werden die 3D-Strahlen ri, die Merkmalspositionen in jeder Kamera fi entsprechen, mit den 3D-Positionen der entsprechenden transformierten Punkte auf der Kalibrierplatte verglichen. Anschließend werden die Ergebnisse aus diesen einzelnen Vergleichen gesammelt und in einer Quadratsumme kombiniert, um die Hand-Augen-Kalibrierparameter abzuschätzen, die die Abweichungs-Quadratsumme minimieren. Bei einer weiteren alternativen Ausführungsform können die Ergebnisse aus den einzelnen Vergleichen nach ihren Entfernungen von der jeweiligen Kamera gewichtet werden, so dass die Entfernungen zwischen den 3D-Strahlen und den entsprechenden 3D-Punkten sich den Bildabweichungen annähern.
-
Es gibt zwei grundlegende Methoden, Bildverarbeitungskameras für bildgeführte Robotertechnik anzubringen. Bei einer ersten beispielhaften Ausführungsform können eine oder mehrere Bildverarbeitungskameras in ortsfesten Positionen angebracht werden, unten in Bezug auf 1 beschrieben, um den Bearbeitungsraum des Roboters zu sehen. Bei einer zweiten beispielhaften Ausführungsform können eine oder mehrere Bildverarbeitungskameras an den Gelenkarm und/oder den Endeffektor angebracht werden, so dass die eine Kamera oder die die Vielzahl von Kameras sich mit dem Roboter bewegen), unten in Bezug auf 2 beschrieben. Es muss beachtet werden, dass diese beiden grundlegenden Methoden zur Anbringung von Bildverarbeitungskameras eine Hand-Augen-Kalibrierung erfordern, damit die Bildverarbeitungsmessungen optisch vom Roboter genutzt werden können.
-
A. Kalibrierumgebungen
-
1 ist eine schematische Darstellung einer exemplarischen Umgebung 100, die einen Roboter mit einer Kalibrierplatte aufweist, die an einem Endeffektor befestigt wird, mit einer Vielzahl von im Raum angebrachten Kameras zur Verwendung bei der Ausführung einer Bildverarbeitung für eine Roboter-Kalibrierung gemäß einer beispielhaften Ausführungsform der vorliegenden Erfindung. Die Umgebung 100 beinhaltet auf beispielhafte Weise eine Vielzahl von Kameras 105A, B, C, die im Raum befestigt sind, jeweils mit einem Sichtfeld von zumindest einem Teil der Umgebung 100. Jede der Kameras 105 nimmt Bilder von ihrem Sichtfeld in ihrem jeweiligen Kamerakoordinatensystem auf. Während drei Kameras 105A, B, C dargestellt sind, können die Grundlagen der vorliegenden Erfindung bei einer beliebigen Anzahl von Kameras eingesetzt werden. Es sollte beachtet werden, dass bei alternativen Ausführungsformen verschiedene Anzahlen von Kameras zum Einsatz kommen können. Daher sollte die Beschreibung von drei Kameras als lediglich exemplarisch angesehen werden. Der Roboter umfasst auf beispielhafte Weise eine Roboterbasis 110 und einen Gelenkarm 115 mit einem Endeffektor 120, der an einem äußeren Ende angeordnet ist. Auf beispielhafte Weise wird die Roboterbasis 110 in der Umgebung 100 befestigt. Gemäß einer beispielhaften Ausführungsform der vorliegenden Erfindung werden die Aufnahmen der Kamera 105 hinsichtlich der Roboterbasis 110 kalibriert. Dies bedeutet, dass die Roboterbasis 110 als Ursprung für ein Roboterkoordinatensystem zur Verwendung bei einer Kalibrierung dient. Wie Fachleuten bekannt sein wird, kann der Roboter wiederholbare Bewegungen seines Endeffektors in Posen hinsichtlich der Roboterbasis ausführen. Beispielhafte Ausführungsformen der vorliegenden Erfindung ermöglichen eine robuste Kalibrierung eines Bildverarbeitungssystems auf das Roboterkoordinatensystem.
-
Der Gelenkarm
115 wird auf beispielhafte Weise mit drei Abschnitten dargestellt. Es sollte jedoch beachtet werden, dass bei alternativen Ausführungsformen abweichende Anzahlen von Abschnitten zum Einsatz kommen können. Daher sollte die Beschreibung eines Gelenkarms
115 mit drei Abschnitten als lediglich exemplarisch angesehen werden. Es gibt neben einem Gelenkarm viele andere Möglichkeiten zur Positionierung eines Endeffektors: alternative Stellglieder zur Positionierung eines Endeffektors beinhalten Kombinationen aus Linearführungen, Stuart-Plattformen etc. Ferner kann der Endeffektor
120 eine beliebige Art von aus dem Stand der Technik bekannten Endeffektoren umfassen, bspw. mechanische, elektromagnetische, Vakuumsauger etc. Gemäß einer beispielhaften Ausführungsform der vorliegenden Erfindung wird die Kalibrierplatte
125 am Endeffektor
120 befestigt. Die Kalibrierplatte kann eine herkömmliche, üblicherweise bei Bildverarbeitungssystemen verwendete Kalibrierplatte umfassen. Exemplarische Kalibrierplatten werden von der Cognex Corporation aus Natick, MA, (USA) vertrieben. Eine exemplarische Kalibrierplatte ist das Modell Nr. 320-5029R der Cognex Corporation. Alternative Kalibrierplatten und Verfahren zum Messen von Merkmalen werden in der
US-Patentschrift Nr. 6,137,893 beschrieben. Alternative Kalibrierplatten und Verfahren zum Messen von Merkmalen werden in der
US-Patentschrift Nr. 6,816,187 beschrieben. Alternative Kalibrierplatten und Messmerkmale werden im Aufsatz
„A Versatile Camera Calibration Technique for High-Accuracy 3D Machine Vision Metrology Using Off-the-Shelf TV Cameras and Lenses" von Roger Y. Tsai, veröffentlicht im IEEE Journal of Robotics and Automation, Volume RA-3, No. 4, Seiten 323–344, beschrieben, dessen Inhalte hierin unter Bezugnahme aufgenommen sind.
-
Es sollte jedoch beachtet werden, dass gemäß alternativen Ausführungsformen der vorliegenden Erfindung abweichende Arten von Kalibrierplatten zum Einsatz kommen können. Ein Beispiel einer Kalibrierplatte könnte ein Anzeigegerät, auf dem ein Kalibriermuster angezeigt wird, sein. Ein weiteres Beispiel für eine Kalibrierplatte könnte ein Anzeigegerät sein, auf dem ein wechselndes Muster angezeigt wird – so dass eine Vielzahl von Bildern von den verschiedenen Mustern des Anzeigegerätes aufgenommen werden könnte – und die Zusammensetzung der Ergebnisse könnte als eine einzige Aufnahme einer Kalibrierplatte untersucht werden. Daher sollten die in der oben genannten US-Patentanmeldung beschriebenen Kalibrierplatten als lediglich exemplarisch angesehen werden. Die Kalibrierplatte 125 wird so am Endeffektor 120 befestigt, dass ein Verrutschen während der Bewegung des Endeffektors verhindert wird. Wie weiter unten beschrieben, werden der Gelenkarm 115 und der Endeffektor 120 in eine Vielzahl von Posen in den Sichtfeldern der Kameras 105 bewegt. Es sollte beachtet werden, dass die Kalibrierplatte anstatt am Endeffektor alternativ an einem beliebigen Abschnitt des Stellglieds angebracht werden kann, obwohl bei diesem alternativen Aufbau die vorgegebenen Roboterposen mit der Lage der entsprechenden Position am Stellglied übereinstimmen sollten. Bilddaten, die aus der Vielzahl von Posen bezogen werden, werden anschließend gemäß der Lehre der beispielhaften Ausführungsformen der vorliegenden Erfindung eingesetzt, um Kalibrierungstransformationen zu erstellen.
-
2 ist eine schematische Darstellung einer exemplarischen Umgebung 200 zur Bildverarbeitungs-Roboter-Kalibrierung, bei der eine Vielzahl von Kameras gemäß einer beispielhaften Ausführungsform der vorliegenden Erfindung am Gelenkarm eines Roboters befestigt ist. Eine Kalibrierplatte 125 ist in der Umgebung 200 befestigt. Auf beispielhafte Weise wird die Kalibrierplatte so befestigt, dass sie während des Kalibriervorgangs gemäß einer beispielhaften Ausführungsform der vorliegenden Erfindung nicht bewegt werden kann. Eine Roboterbasis 110 ist ebenso in der Umgebung 200 befestigt. Ein Gelenkarm 115 ist mit der Roboterbasis 110 verbunden und ein Endeffektor 120 ist am äußersten Ende des Gelenkarms 115 angeordnet. Am Ende des Gelenkarms 115 sind eine Vielzahl von Kameras 205A, B, C befestigt. Die Kameras 205 sind auf beispielhafte Weise am Gelenkarm 115 und/oder am Endeffektor 120 befestigt. Die Kameras 205 sind starr befestigt, sodass sie nicht unabhängig vom Gelenkarm 115 und/oder dem Endeffektor 120 bewegt werden können. Es sollte beachtet werden, dass gemäß den Grundlagen der beispielhaften Ausführungsformen der vorliegenden Erfindung eine beliebige Anzahl von Kameras 205 zum Einsatz kommen kann. Daher sollte die Beschreibung von zwei eingesetzten Kameras 205A, B als lediglich exemplarisch angesehen werden. Wie weiter unten in Bezug auf 4 beschrieben, werden der Gelenkarm 115 und/oder der Endeffektor 120 in eine Vielzahl von Posen bewegt und es werden Bilder von der Kalibrierplatte 125 aufgenommen.
-
Es sollte beachtet werden, dass gemäß den Grundlagen der beispielhaften Ausführungsformen der vorliegenden Erfindung die Kameras anstatt am Endeffektor alternativ an einem beliebigen Abschnitt des Stellglieds angebracht werden könnten, obwohl in diesem alternativen Aufbau die vorgegebenen Roboterposen mit der Lage der entsprechenden Position am Stellglied übereinstimmen sollten. Des Weiteren können bei diesem alternativen Aufbau verschiedene Kameras an verschiedenen Abschnitten des Stellglieds angebracht werden. Aus den aufgenommenen Bildern können Kalibrierinformationen bezogen oder berechnet werden, um ein Steuerungssystem zu ermöglichen (nicht dargestellt), weiter unten in Bezug auf 5 beschrieben, um den Roboter hinsichtlich der Roboterbasis-Koordinaten zu steuern.
-
B. Kalibrierung mittels befestigter (ortsfester) Kameras
-
Auf beispielhafte Weise wird für die Hand-Augen-Kalibrierung für den Fall von einer oder mehreren ortsfesten Kameras ein Kalibrierobjekt wie etwa eine Kalibrierplatte starr entweder am Gelenkarm des Roboters und/oder am Endeffektor befestigt, und der Roboter wird in verschiedene Posen bewegt, so dass sich das Kalibrierobjekt im Sichtfeld von einer oder mehreren Kameras befindet. Die aufgenommenen Bilder des Kalibrierobjekts werden in Verbindung mit den Roboterposen erfasst.
-
Für den Fall einer einzigen ortsfesten Kamera wird die Hand-Augen-Kalibrierung auf beispielhafte Weise durch die Abschätzung von zwei Transformationen durchgeführt: (1) das Koordinatensystem des Roboters hinsichtlich des Weltkoordinatensystems des Bildverarbeitungssystems und (2) die Transformation zwischen der Lage des Kalibrierobjekts und der Pose des Endeffektors. Es wird davon ausgegangen, dass die Kameras sowohl für extrinsische als auch für intrinsische Parameter vorkalibriert sind und dass die Kamerakalibrierung während und nach der Hand-Augen-Kalibrierung gleich bleibt. Da die Kamerakalibrierung eine Transformation zwischen der Lage der Kamera und dem Weltkoordinatensystem des Bildverarbeitungssystems beinhaltet, umfasst eine Abschätzung des Weltkoordinatensystems des Bildverarbeitungssystems im Wesentlichen eine Abschätzung der Lage der Kamera, da die Kameralage durch die gleichbleibende Kamerakalibrierungstransformation mit dem Weltkoordinatensystem des Bildverarbeitungssystems verbunden ist.
-
Es muss beachtet werden, dass die für die Hand-Augen-Kalibrierung aufgenommenen Bilder für die Kalibrierung der Kameras genutzt werden könnten (d. h. für die Bestimmung der extrinsischen und intrinsischen Parameter), und auf diese Art und Weise müssten die Kameras nicht vor der Hand-Augen-Kalibrierung kalibriert werden, da der Hand-Augen-Kalibrierungs-Vorgang auf beispielhafte Weise eine Kamerakalibrierung als ersten Schritt beinhalten kann.
-
Da die Kamera und die Roboterbasis während des Hand-Augen-Kalibrierungs-Vorgangs fest an Ort und Stelle bleiben, sollten sowohl das Koordinatensystem des Roboters als auch das Koordinatensystem des Bildverarbeitungssystems gleich bleiben. Daher sollte es nur eine Transformation zwischen dem Koordinatensystem des Roboters und dem Koordinatensystem des Bildverarbeitungssystems geben. Gleichermaßen, da das Kalibrierobjekt während des Hand-Augen-Kalibrierungs-Vorgangs fest am Gelenkarm und/oder am Endeffektor angebracht bleibt, sollte es nur eine Transformation geben, die einen Zusammenhang zwischen der Pose des Endeffektors und der Lage des Kalibrierobjekts herstellt.
-
Die Transformation G bildet vom Koordinatensystem des Roboters auf das Koordinatensystem des Bildverarbeitungssystems ab. Die Transformation H bildet vom Kalibrierobjekt auf die Pose des Endeffektors ab. Es wird davon ausgegangen, dass die Kameras so kalibriert wurden, dass die Abbildung P von 3D-Punkten in Koordinaten des Bildverarbeitungssystems auf 2D-Punkte in einem aufgenommenen Bild abbildet. Es wird davon ausgegangen, dass die Kamerakalibrierung und die entsprechende Abbildung P während und nach dem Hand-Augen-Kalibrierungs-Vorgang gleich bleiben. Die Transformation Ri bildet von der Pose des Endeffektors (in Schritt i) auf das Roboterkoordinatensystem ab. Der Term x(i, u, v, w) soll sich auf die x-Koordinate der Bildmerkmalsposition beziehen, die von einem Bildmerkmals-Extraktor in Schritt i beobachtet wurde, entsprechend physikalischen Koordinaten (u, v, w) am Kalibrierobjekt. Der Term y(i, u, v, w) soll sich auf die y-Koordinate der Bildmerkmalsposition beziehen, die von einem Bildmerkmals-Extraktor in Schritt i beobachtet wurde, entsprechend physikalischen Koordinaten (u, v, w) am Kalibrierobjekt. Daher ist (x(i, u, v, w), y(i, u, v, w)) eine 2D-Position eines gefundenen Merkmals in einem aufgenommenen Bild. Diese 2D-Position in einem aufgenommenen Bild entspricht der 3D-Position (u, v, w) am Kalibrierobjekt. Die 3D-Position (u, v, w) am Kalibrierobjekt entspricht der 3D-Position H·(u, v, w) am Endeffektor. Die 3D-Position H·(u, v, w) am Endeffektor entspricht der 3D-Position Ri·H·(u, v, w) im Koordinatensystem des Roboters. Die 3D-Position Ri·H·(u, v, w) im Koordinatensystem des Roboters entspricht der 3D-Position G·Ri·H·(u, v, w) im Koordinatensystem des Bildverarbeitungssystems. Die 3D-Position G·Ri·H·(u, v, w) entspricht der 2D-Position P(G·Ri·H·(u, v, w)) im aufgenommenen Bild. Jede 2D-Position (x(i, u, v, w), y(i, u, v, w)) eines gefundenen Merkmals im aufgenommenen Bild entspricht einer erwarteten 2D-Position P(G·Ri·H·(u, v, w)). Für jede gefundene 2D-Merkmalsposition kann die gefundene 2D-Merkmalsposition mit der erwarteten 2D-Position verglichen werden, um eine Abweichung P(G·Ri·H·(u, v, w)) – (x(i, u, v, w), y(i, u, v, w)) in Bildkoordinaten zu erstellen. Die Summe aller Quadrat-Abweichungen lautet: Σ|P(G·Ri·H·(u, v, w)) – (x(i, u, v, w), y(i, u, v, w))|2 ist die kombinierte Abweichung zwischen den tatsächlich gemessenen Daten und den erwarteten Daten. Gemäß einer beispielhaften Ausführungsform der vorliegenden Erfindung wird die Hand-Augen-Kalibrierung durch die Auflösung der Parameter G und H verfeinert, die die minimale Rest-Quadratsumme zwischen den tatsächlich gemessenen Daten und den erwarteten Daten zur Folge haben. Es muss beachtet werden, dass H sechs Freiheitsgrade (6DOF) beinhaltet, um die Transformation zwischen dem Koordinatensystem des Bildverarbeitungssystems und dem Roboterkoordinatensystem (3 Freiheitsgrade der Translation und 3 Freiheitsgrade der Rotation) zu parametrisieren. Es muss beachtet werden, dass G sechs Freiheitsgrade (6DOF) beinhaltet, um die Transformation zwischen dem physikalischen Kalibrier-Koordinatensystem, das vom Kalibrierobjekt definiert wird, und dem Endeffektor-Koordinatensystem (3 Freiheitsgrade der Translation und 3 Freiheitsgrade der Rotation) zu parametrisieren.
-
Ga, Gb, Gc, Gx, Gy, Gz sollen sich auf eine 6-Variablen-Parametrisierung von G und Ha, Hb, Hc, Hx, Hy, Hz auf eine 6-Variablen-Parametrisierung von H beziehen. E(Ga, Gb, Gc, Gx, Gy, Gz, Ha, Hb, Hc, Hx, Hy, Hz| gemessene Bildmerkmalspositionen und entsprechende Kalibrierpositionen und entsprechende Roboterposen) soll sich auf die Fehlerfunktions-Quadratsumme beziehen, die von den 12 Variablen Ga, Gb, Gc, Gx, Gy, Gz, Ha, Hb, Hc, Hx, Hy, Hz sowie von den gemessenen Bildmerkmalspositionen und den entsprechenden Kalibrierpositionen und den entsprechenden Roboterposen abhängt. E kann auf der Grundlage von iterativen Additionen der einzelnen Ergebnisse von |P(G·Ri·H·(u, v, w)) – (x(i, u, v, w), y(i, u, v, w))|2 numerisch berechnet werden.
-
Bei einer beispielhaften Ausführungsform werden die Hand-Augen-Kalibrierparameter zuerst mittels einer Variante des Verfahrens von Tsai und Lenz grob abgeschätzt. Die Technik, die im Aufsatz „Hand Eye Calibration Using Dual Quaternions" von Daniiliidis, veröffentlicht im International journal of Robotics Research, Volume 18, No. 3, Seiten 286–298, beschrieben wird, dessen Inhalte hierin unter Bezugnahme aufgenommen sind, wird auf beispielhafte Weise eingesetzt, um die Hand-Augen-Kalibrierparameter grob abzuschätzen. Bei alternativen Ausführungsformen könnte der Benutzer grobe Abschätzungen der Hand-Augen-Kalibrierparameter manuell eingeben. Bei anderen alternativen Ausführungsformen könnte ein Computerprogramm eine Vielzahl von groben Abschätzungen von Hand-Augen-Kalibrierparametern zählen, jede dieser groben Abschätzungen verfeinern und die verfeinerten Hand-Augen-Kalibrierparameter auswählen, die den geringsten Rest zur Folge haben.
-
Auf beispielhafte Weise verfeinern beispielhafte Ausführungsformen der vorliegenden Erfindung die Parameterwerte durch Verwendung von Gradientenabstiegs-Techniken weiter, um die Parameterwerte zu finden, die E minimieren. Die Parametrisierungen der 3D-Rotationen von G und H verwenden die groben Abschätzungen der Transformationen entsprechend der Hand-Augen-Kalibrierung. Quaternionen sind ein bekanntes und effizientes Verfahren zur Parametrisierung des Raums von 3D-Rotationen, allerdings haben sie den Nachteil, dass sie 4 Parameter beinhalten: s0, s1, s2, s3. Erfreulicherweise werden Quaternionen hinsichtlich projektiver Koordinatensysteme so definiert, dass ein Anpassen aller 4 Werte r·s0, r·s1, r·s2, r·s3 die 3D-Rotation nicht beeinflusst. Folglich kann eine 1-Variablen-befestigte Koordinatendarstellung dort definiert werden, wo einer der vier Quaternionen-Werte bei 1 oder –1 fest vorgegeben ist und die anderen drei Quaternionen-Koordinaten den 3 Parametern entsprechen. Diese Parametrisierung ist gültig, da die näherungsweise 3D-Rotation von den groben Abschätzungen her bekannt ist und daher die Auswahl der Quaternion-Koordinate, die fest als 1 oder –1 vorgegeben werden soll, entsprechend getroffen werden kann.
-
Insbesondere wird die Levenberg-Marquadt-Optimierungstechnik auf beispielhafte Weise eingesetzt, um die Gradientenabstiegs-Technik durchzuführen, mit dem Ziel, das globale Minimum zu finden, indem die Tatsache genutzt wird, dass die partiellen Ableitungen der Fehlerfunktion in einem lokalen Extremum 0 betragen werden und dass die Levenberg-Marquadt-Technik eine gleichzeitige Lösung für ein Gleichungssystem numerisch berechnet, was in diesem Fall die Reihe von partiellen Ableitungen ist: dE/dGa, dE/dGb, dE/dGc, dE/dGx, dE/dGy, dE/dGz, dE/dHa, dE/dHb, dE/dHc, dE/dHx, dE/dHy, dE/dHz. Es muss beachtet werden, dass, da E() eine Funktion aus Ga, Gb, Gc, Gx, Gy, Gz, Ha, Hb, Hc, Hx, Hy, Hz ist, alle ihre partiellen Ableitungen Funktionen von Ga, Gb, Gc, Gx, Gy, Gz, Ha, Hb, Hc, Hx, Hy, Hz sein können.
-
Um die Levenberg-Marquadt-Technik zu nutzen, müssen partielle Ableitungen von E bei willkürlichen Parameterwerten berechnet werden. Der Term Vektor J soll sich auf eine willkürliche Auswahl von Parameterwerten beziehen. Die partiellen Ableitungen ersten Grades von E können hinsichtlich jeder der unabhängigen Variablen numerisch abgeschätzt werden, indem der Unterschied zwischen der bei der Konfiguration J berechneten E und der bei einer naheliegenden Konfiguration berechneten E berechnet wird, welche symmetrisch um die Konfiguration J sind und sich lediglich leicht in einer der Variablen unterscheiden, und anschließend wird mittels des Unterschieds zwischen den Variabelwerten in den symmetrischen Konfiguration dividiert. Beispielsweise können die partiellen Ableitungen von E hinsichtlich Gc bei der Konfiguration J berechnet werden, indem das Verhältnis zwischen dem Unterschied der E-Werte und dem Unterschied bei der Variablen, (E(GaJ, GbJ, GcJ + δ, GxJ, GyJ, GzJ, HaJ, HbJ, HcJ, HxJ, HxJ, HzJ) – E(GaJ, GbJ, GcJ – δ, GxJ, GyJ, GzJ, HaJ, HbJ, HcJ, HxJ, HyJ, HzJ))/(2δ), berechnet wird. Auf beispielhafte Weise wird ein Wert von 10^–4 für δ eingesetzt, obwohl andere Ausführungsformen unterschiedliche Werte für δ verwenden könnten. Bei einer alternativen Ausführungsform könnten die partiellen Ableitungen von E hinsichtlich einer Variablen bei der Konfiguration J berechnet werden, indem asymmetrische Beispielkonfigurationen verwendet werden, wie etwa die Berechnung des Verhältnisses zwischen dem Unterschied der E-Werte und dem Unterschied bei der Variablen, (E(GaJ, GbJ, GcJ + δ, GxJ, GyJ, GzJ, HaJ, HbJ, HcJ, HxJ, HyJ, HzJ) – E(GaJ, GbJ, GcJ, GxJ, GyJ, GzJ, HaJ, HbJ, HcJ, HxJ, HyJ, HzJ))/δ.
-
Eine alternative Ausführungsform könnte die partiellen Ableitungen von E hinsichtlich der Variablen analytisch berechnen, indem ein analytischer Ausdruck für die Fehlerfunktion E erstellt wird und anschließend die symbolischen Ableitungen berechnet werden. Die symbolisch berechnete Ableitung könnte genauer sein als die numerisch berechnete Ableitung – und würde ebenso nicht erfordern, dass der Benutzer eine Schrittgröße für die Berechnung einer numerischen Ableitung wählt. Zuerst wird eine generische algebraische Fehlerfunktion formuliert, die den Fehler zwischen einer 2D-Bildmerkmalsposition und der entsprechenden 3D-Kalibriermerkmalsposition und der Roboterpose als multivariaten algebraischen Ausdruck von unbekannten Parametern charakterisiert.
-
Das Levenberg-Marquadt-Optimierungsverfahren umfasst intern die Optimierung der partiellen Ableitungen des Gleichungssystems. Das Gleichungssystem besteht aus partiellen Ableitungen einer Fehlerfunktion, so dass die partiellen Ableitungen, die die Levenberg-Marquadt-Technik verwendet, partielle Ableitungen zweiten Grades der E-Funktion sind. Die partiellen Ableitungen zweiten Grades können numerisch abgeschätzt werden hinsichtlich zweier Variablen durch die numerische Berechnung des Verhältnisses zwischen dem Unterschied bei partiellen Ableitungen dE/dvar (unterschieden in einer kleinen Menge in einer der Variablen) und diese kleine Menge beträgt: Beispielsweise kann die partielle Ableitung zweiten Grades von E hinsichtlich Gc hinsichtlich Gc bei der Konfiguration J berechnet werden, indem (dE/dvar (Gaj, GbJ, GcJ + ε, GxJ, GyJ, GzJ, HaJ, HbJ, HcJ, HxJ, HyJ, HzJ) – dE/dvar (GaJ, GbJ, GcJ, GxJ, GyJ, GzJ, HaJ, HbJ, HcJ, HxJ, HyJ, HzJ))/ε berechnet wird. Bei einer beispielhaften Ausführungsform werden ein Maximum von 100 Wiederholungen, ein Wert von 10^–4 für ε und ein Wert von 10^–2 für Lambda und ein Wert von 10^–6 für δ für die Levenberg-Marquadt-Optimierung eingesetzt. Die Variable Lambda wird üblicherweise in Bezug auf den Dämpfungsfaktor für Levenberg-Marquadt-Verfahren verwendet.
-
Es muss beachtet werden, dass dieses Hand-Augen-Kalibrierverfahren ausdrücklich die Einschränkung enthält, dass es nur eine einzige 6DOF-Transformation zwischen jeder Kamera und dem Endeffektor gibt, während die Einschränkung enthalten ist, dass es nur eine einzige 6DOF-Transformation zwischen dem Roboterkoordinatensystem und dem physikalischen Koordinatensystem, das vom Kalibrierobjekt definiert wird, gibt. Dem liegt zugrunde, dass dieses Hand-Augen-Kalibrierverfahren die 6DOF-Transformation zwischen jeder Kamera und dem Endeffektor sowie die 6DOF-Transformation zwischen dem Roboterkoordinatensystem und der Kalibrierplatte parametrisiert. Da diese Einschränkungen das tatsächliche physikalische System genau widerspiegeln, sorgt die Einbindung dieser Einschränkungen in das Hand-Augen-Kalibrierverfahren für genauere Hand-Augen-Kalibriermodelle als Hand-Augen-Kalibrierverfahren, die diese Einschränkungen nicht enthalten.
-
Ein weiterer Aspekt von Ausführungsformen der vorliegenden Erfindung beinhaltet die gleichzeitige Kalibrierung für die Lage einer Vielzahl von Kameras und die Lage des Kalibrierobjekts hinsichtlich des Endeffektors. Bei diesem Aspekt der Erfindung wird die Lage jeder Kamera separat mittels 6 Parametern für jede Kamera parametrisiert. Dadurch beinhaltet das Gesamtsystem für die Hand-Augen-Kalibrierung von n Kameras 6·n + 6 Parameter, von denen 6·n Parameter für die n Kameras sind und 6 Parameter für die Lage des Kalibrierobjekts hinsichtlich des Endeffektors. Die Hand-Augen-Kalibrierung kann an einer Vielzahl von Kameras durchgeführt werden, indem ein unterschiedliches Bildverarbeitungs-Koordinatensystem für jede Kamera untersucht wird. Dies ist plausibel, da eine spezifische Kamerakalibrierung für jede Kamera angenommen wird, und eine leicht unterschiedliche Lage des Bildverarbeitungs-Koordinatensystems entspricht einer leicht unterschiedlichen Lage jeder Kamera im Vergleich zu der Spezifikation durch die Kamerakalibrierung dieser Kamera. Des Weiteren kann dieser Ansatz der Charakterisierung eines unterschiedlichen Bildverarbeitungs-Koordinatensystems für jede Kamera leicht in das Konzept zur Verfeinerung der Hand-Augen-Kalibrierung eingegliedert werden. Im Vergleich zu den 12 Parametern Ga, Gb, Gc, Gx, Gy, Gz, Ha, Hb, Hc, Hx, Hy, Hz, die zur Charakterisierung der Hand-Augen-Kalibrierung für eine einzige Kamera verwendet werden, verwendet die Hand-Augen-Kalibrierung 6·(n + 1) Parameter G1a, G1b, G1c, G1x, G1y, G1z, G2a, G2b, G2c, G2x, G2y, G2z, ... Gna, Gnb, Gnc, Gnx, Gny, Gnz, Ha, Hb, Hc, Hx, Hy, Hz, um die Hand-Augen-Kalibrierung zu charakterisieren.
-
Um die Hand-Augen-Kalibrierung an einem System mit einer Vielzahl von Kameras durchzuführen, soll (xk(i, u, v, w), yk(i, u, v, w)) eine 2D-Position eines gefundenen Merkmals in einem aufgenommenen Bild zugehörig zu Kamera k sein. Diese 2D-Position in einem aufgenommenen Bild entspricht der 3D-Position (u, v, w) am Kalibrierobjekt. Die 3D-Position (u, v, w) am Kalibrierobjekt entspricht der 3D-Position H·(u, v, w) am Endeffektor. Die 3D-Position H·(u, v, w) am Endeffektor entspricht der 3D-Position Ri·H·(u, v, w) im Koordinatensystem des Roboters. Die 3D-Position Ri·H·(u, v, w) im Koordinatensystem des Roboters entspricht der 3D-Position Gk·Ri·H·(u, v, w) im Koordinatensystem des Bildverarbeitungssystems der Kamera k. Die 3D-Position Gk·Ri·H·(u, v, w) entspricht der 2D-Position Pk(Gk·Ri·H·(u, v, w)) im von Kamera k aufgenommenen Bild. Jede (xk(i, u, v, w), yk(i, u, v, w)) ist eine 2D-Position eines gefundenen Merkmals im aufgenommenen Bild und entspricht einer erwarteten 2D-Position Pk(Gk·Ri·H·(u, v, w)). Für jede gefundene 2D-Merkmalsposition kann die gefundene 2D-Merkmalsposition mit der erwarteten 2D-Position verglichen werden, um eine Abweichung Pk(Gk·Ri·H·(u, v, w)) – (xk(i, u, v, w), yk(i, u, v, w)) zu erstellen. Das Quadrat dieser Abweichung lautet |Pk(Gk·Ri·H·(u, v, w)) – (xk(i, u, v, w), yk(i, u, v, w))|2. Die Summe von all diesen Abweichungen im Quadrat lautet Σ|Pk(Gk·Ri·H·(u, v, w)) – (xk(i, u, v, w), yk(i, u, v, w))|2.
-
Bei einer beispielhaften Ausführungsform wird die Aufnahme von Bildern und die Positionierung des Kalibrierobjekts so vorgesehen, dass die Lage des Kalibrierobjekts, die das Bildverarbeitungs-Koordinatensystem definiert, verwendet wird, um eines der Bilder für die Hand-Augen-Kalibrierung aufzunehmen. Auf beispielhafte Weise wird dies erreicht, indem die für die Hand-Augen-Kalibrierung aufgenommenen Bilder als Bilder für die Kamerakalibrierung verwendet werden, wobei eines der für die Hand-Augen-Kalibrierung verwendeten Bilder das Bild ist, das zur Definierung des Bildverarbeitungs-Koordinatensystems für die Kamerakalibrierung verwendet wird. Alternativ wird dies erreicht, indem die Bilder für die Hand-Augen-Kalibrierung zuerst aufgenommen werden, und anschließend, während das Kalibrierobjekt in derselben Lage belassen wird, das erste aufgenommene Bild zur Kamerakalibrierung als das Bild zur Definition des Bildverarbeitungs-Koordinatensystems verwendet wird.
-
3 ist ein Flussdiagramm, das die Schritte eines exemplarischen Vorgangs 300 zur Durchführung einer Bildverarbeitung für die Roboterkalibrierung detailliert beschreibt, wobei gemäß einer beispielhaften Ausführungsform der vorliegenden Erfindung befestigte Kameras eingesetzt werden. Der Vorgang 300 beginnt mit Schritt 305 und wird mit Schritt 310 fortgeführt, wobei eine oder mehrere Kameras im Raum befestigt werden. Wie oben angemerkt wurde, können beispielhafte Ausführungsformen der vorliegenden Erfindung gleichzeitig eine Vielzahl von Kameras kalibrieren. Auf beispielhafte Weise werden die Kameras, die zur Kalibrierung eingesetzt werden, in der Umgebung befestigt, in der sie eingesetzt werden sollen, auf eine Art und Weise, dass nicht anzunehmen ist, dass sie sich bewegen werden. Die Kalibrierplatte wird in Schritt 315 am Endeffektor des Gelenkarms befestigt. Bei alternativen Ausführungsformen kann die Kalibrierplatte an einem der Abschnitte des Gelenkarms anstatt am Endeffektor befestigt sein. Daher sollte die Beschreibung der am Endeffektor befestigten Kalibrierplatte als lediglich exemplarisch angesehen werden.
-
Der Endeffektor wird anschließend in eine Vielzahl von Posen bewegt und in Schritt 320 werden Bilder von der Kalibrierplatte in jeder der Vielzahl von Posen aufgenommen. Auf beispielhafte Weise beinhaltet die Bewegung zwischen diesen Posen Rotationen um zumindest zwei nicht parallele Achsen. Ferner, um bessere Kalibrierinformationen zu erhalten, sollte der Rotationswinkel zumindest 5° betragen. Dies ist keine festgelegte Regel; jedoch können mit größeren Rotationen oder Bewegungen zwischen verschiedenen Posen bessere Ergebnisse erzielt werden.
-
Eine Bildmerkmals-Extraktionstechnik wird anschließend an den aufgenommenen Bildern ausgeführt, um in Schritt
325 Merkmale an der Kalibrierplatte zu extrahieren. Auf beispielhafte Weise werden im Merkmalsextraktions-Schritt Techniken wie die von der Cognex Corporation als Merkmalsdetektor vertriebene Technik eingesetzt. Alternative Verfahren zur Messung von Merkmalen werden in der
US-Patentschrift Nr. 6,137,893 beschrieben. Alternative Verfahren zur Messung von Merkmalen werden in der
US-Patentschrift Nr. 6,816,187 beschrieben. Alternative Verfahren zur Messung von Merkmalen werden in
„A Versatile Camera Calibration Technique for High-Accuracy 3D Machine Vision Metrology Using Off-the-Shelf TV Cameras and Lenses" von Roger Y. Tsai, IEEE Journal of Robotics and Automation, Volume RA-3, No. 4, Seiten 323–344, beschrieben. Jedoch sollte beachtet werden, dass in alternativen Ausführungsformen verschiedene Merkmalsextraktions-Techniken eingesetzt werden können. Daher sollte die Beschreibung des Einsatzes von Techniken, die in den oben genannten US-Patenten beschrieben werden, als lediglich exemplarisch angesehen werden. Des Weiteren können bei alternativen Ausführungsformen der vorliegenden Erfindung bei der Merkmalsextraktion abweichende Techniken eingesetzt werden, einschließlich beispielsweise der Verwendung von dreidimensionalen Merkmalen aus einer dreidimensionalen Kamera, einer Range-Imaging-Kamera, einer Kombination aus strukturierter Belichtung und einer Kamera, die zusammenwirken, um dreidimensionale Informationen zu liefern, einer thermischen Merkmalsdetektion mittels wärmeempfindlicher Kameras etc. Beispielsweise kann ein Stereo-Kamerasystem eingesetzt werden, in dem zwei oder mehr Kameras die Kalibrierplatte aufnehmen und die 3D-Positionen jedes Merkmals messen.
-
Alternativ könnte ein einziges Sensorelement, das in Verbindung mit einer Vielzahl von bestimmten optischen Pfaden wie etwa nichteinheitlichen Linsen, Spiegeln oder holographischen Linsenelementen verwendet wird, als eine Vielzahl von einzelnen Kameras gelten. Alternativ könnte eine Vielzahl von Sensorelementen, die sich einen optischen Pfad teilen, als eine einzige Kamera gelten.
-
Daher sollte die Beschreibung der Merkmalsdetektion mittels herkömmlicher Bildverarbeitungssysteme als lediglich exemplarisch angesehen werden.
-
Für jede der Kameras werden anschließend in Schritt
330 Kalibrierplattenlagen (die Lagen der Kalibrierplatte hinsichtlich jeder Kamera) berechnet. Dies bedeutet, dass durch den Einsatz einer Reihe von intrinsischen Daten und Entsprechungen zwischen bekannten Merkmalspositionen und beobachteten Merkmalspositionen die Lage der Kamera hinsichtlich der Kalibrierplatte berechnet wird. Dieser Schritt geht von der Annahme aus, dass die intrinsischen Parameter der Kamera vorkalibriert wurden. Jedoch können bei einer alternativen Ausführungsform die Kameras mittels der gesammelten Daten kalibriert werden, wodurch ein Vorgang aus zwei Schritten nicht mehr erforderlich ist, in dem zuerst die Kameras kalibriert werden und anschließend die Kalibrierung zwischen dem Bildverarbeitungssystem und dem Roboter durchgeführt wird. Die Kamerakalibrierung kann mittels bekannten Techniken wie denjenigen, die in der
US-Patentschrift Nr. 6,816,187 beschrieben werden, durchgeführt werden. Alternativ kann die Kamerakalibrierung mittels der Technik, die in
„A Versatile Camera Calibration Technique for High-Accuracy 3D Machine Vision Metrology Using Off-the-Shelf TV Cameras and Lenses" von Roger Y. Tsai, veröffentlicht im IEEE Journal of Robotics and Automation, Volume RA-3, No. 4, Seiten 323–344, beschrieben wird, durchgeführt werden. Es sollte beachtet werden, dass bei alternativen Ausführungsformen der vorliegenden Erfindung abweichende Arten von Kamerakalibrierung eingesetzt werden können. Daher sollte die Beschreibung der Kamerakalibrierung mittels der oben genannten US-Patentanmeldung als lediglich exemplarisch angesehen werden.
-
Die aufgenommenen Bilder sowie die entsprechenden Roboterposen werden anschließend in Schritt 335 vorverarbeitet. Diese Vorverarbeitung dokumentiert auf beispielhafte Weise die Bewegungen für die Platte und den Roboter. Jedes aus Bild und Roboterpose bestehende Paar wird anschließend erfasst, um die Bewegungen zu maximieren. Mit jeder Plattenlage, die in Schritt 330 mit den vorkalibrierten Kameraparametern berechnet wurde, wird die Bewegung zwischen jeweils zwei Plattenlagen berechnet. Gleichermaßen wird die Bewegung zwischen zwei Roboterposen berechnet. Alle Paare von Platten- und Roboterbewegungen werden anschließend berechnet, und die Paare, deren Abweichungen über einen vorbestimmten Grenzwert hinausgehen, werden auf beispielhafte Weise als Ausreißer gekennzeichnet und aus den Bewegungspaaren entfernt.
-
Für ein Paar aus Roboter- und Kalibrierplattenbewegung sollten die Rotationswinkel bei der Darstellung ihrer Rotationen mittels einer entsprechenden Rotation um eine einzige Achse oder bei Darstellung der Bewegungen mittels Schraubbewegungen in idealem Zustand gleich sein. Folglich kann der Unterschied der Rotationswinkel zwischen Roboterbewegung und Kalibrierplattenbewegung des gleichen Paares als die Abweichung verwendet werden. Die Erfassung ermöglicht es dem System, einheitliche Bewegungen aus Posen mit willkürlicher Anordnung abzuleiten und Bewegungen mit wesentlichen Rotationen zu verwenden, was zu stabileren, genaueren und robusteren Kalibrierfestlegungen führt.
-
Das Kalibriersystem löst anschließend das lineare System auf, um in Schritt 340 Transformationen in Roboterbasiskoordinaten zu bestimmen. Wie oben beschrieben, wird hier auf beispielhafte Weise eine Variante der Technik von Tsai und Lenz eingesetzt. Es sollte beachtet werden, dass die Schritte 330–340 bei alternativen Ausführungsformen der vorliegenden Erfindung optional sein können.
-
Bei einer alternativen Ausführungsform werden erste Abschätzungen der Kamera-Roboter-Transformation(en) und der Endeffektor-Kalibrierpositions-Transformationen in Schritt 342 erzielt. Die Transformationen werden anschließend in Schritt 345 verfeinert. Die Verfeinerung basiert auf der Minimierung der Summe von allen Abweichungen im Quadrat zwischen den erwarteten 2D-Bildmerkmalspositionen und den oben genannten gefundenen Merkmalspositionen. Alternativ kann die erste Abschätzung für die Transformation vom Endeffektor zur Kalibrierplatte und die Transformation von jeder Kamera zum Roboterbasissystem zuerst mittels einer unabhängigen Verfeinerung weiterentwickelt werden, die die Abweichungen unter den gemeldeten Roboterposen und den berechneten Roboterposen mittels der Transformationen minimiert. Anschließend können die verfeinerten Transformationen in die auf den 2D-Merkmalspositions-Abweichungen basierende Verfeinerung eingespeist werden. Alternativ kann ein Prüfungsschritt nach der Verfeinerung hinzugefügt werden, um die verfeinerten Ergebnisse nicht zu berücksichtigen, wenn die verfeinerten Ergebnisse hinsichtlich einer festgelegten Prüffunktion keine besseren Ergebnisse bringen als die unverfeinerten Ergebnisse.
-
Die Verfeinerung der Transformationeneinheitlichkeit (Minimierung der Abweichungen unter den gemeldeten Roboterposen und den berechneten Roboterposen mittels der Transformationen) bewirkt ebenso eine gleichzeitige Verfeinerung einer Vielzahl von Kameras, d. h. für eine Vielzahl von befestigten Kameras gibt es nur eine Transformation von der Kalibrierplattenkoordinate zum Koordinatensystem des Roboter-Endeffektors.
-
Ein Beispiel für die Verfeinerung der Transformationeneinheitlichkeit lautet wie folgt:
Z soll die Transformation vom Kamerakoordinatensystem zum Roboterbasis-Koordinatensystem darstellen. X soll die Transformation vom Kalibrierplatten-System zum Koordinatensystem des Roboter-Endeffektors darstellen. Bi ist die Roboterpose (Transformation vom Koordinatensystem des Roboter-Endeffektors zum Roboterbasis-Koordinatensystem) in Schritt i. Ai ist die Lage der Kalibrierplatte (die Transformation vom Kalibrierplatten-Koordinatensystem zum Kamerakoordinatensystem) für eine Kamera in Schritt i. Die Transformation Ai wird bisweilen als die gemessene Transformation bezeichnet. Die Struktur Z_inverse·Bi·X wird bisweilen als die erwartete Transformation bezeichnet. Die folgende Struktur sollte eine Identitäts-Transformation sein (da sie vom Kalibrierplatten-Koordinatensystem zum Kalibrierplatten-Koordinatensystem transformiert). Ai_inverse·Z_inverse·Bi·X
-
Das Ziel der Verfeinerung ist, die Gesamtabweichungen zwischen jeder Ai_inverse·Z_inverse·Bi·X und Identitäts-Transformation für alle Kameras und Bewegungen zu minimieren.
-
Bei der Hand-Augen-Kalibrierungsanwendung basiert eine beispielhafte Methode, den Unterschied zwischen zwei Transformationen (oder zwei Posen) zu berechnen, auf der Verwendung der Dimensionen des Bearbeitungsraums wie folgt. Wenn davon ausgegangen wird, dass das Arbeitsvolumen der Roboter-Bildverarbeitungs-Anwendung durch einen Rahmen dargestellt werden kann, kann der Unterschied zwischen der Transformation X1 und der Transformation X2 durch den Vergleich der Positionen der acht eingetragenen Eckpunkte des Rahmens gemessen werden: v1 bis v8: Σ(X1·vi – X2·vi) i = 1 – 8
-
Ein beispielhafter Schritt ist die Verwendung der verfeinerten Transformation aus der Verfeinerung der Transformationeneinheitlichkeit und deren Einspeisung in die auf den Bildmerkmalen basierende Verfeinerung. So werden viel bessere erste Abschätzungen zur Verfügung gestellt und die Annäherung der Verfeinerung, die auf der Verwendung der Bildmerkmale basiert, kann beschleunigt werden sowie der Einschluss in lokale Minima vermieden werden.
-
Ein Beispiel für eine Prüffunktion ist die Abweichungs des quadratischen Mittelwerts (RMS) der nach der Verfeinerung berechneten Bildkoordinaten im Vergleich zum quadratischen Mittelwert (RMS) vor der Verfeinerung. In manchen Fällen kann es auftreten, dass die Roboterbewegungen nicht so genau sind wie das Bildverarbeitungssystem und dass die Verfeinerung zu einer Überanpassung der Kamera-Endeffektor-Transformation und der Roboterbasis-Kalibrierplatten-Transformation, die auf den ungenauen Roboterposen basiert, führt. Durch den Vergleich der Restwerte vor und nach der Verfeinerung können wir bestimmen, ob wir die Ergebnisse aus der Verfeinerung annehmen wollen.
-
Ein weiteres Verfahren, um zu bestimmen, ob die Verfeinerung eine Verbesserung darstellt, ist der Vergleich der Abweichung des quadratischen Mittelwerts (RMS) der nach der Verfeinerung berechneten Bildkoordinaten mit dem quadratischen Mittelwert (RMS) der Bildkoordinaten der Kamerakalibrierung. Durch den Vergleich von Restwerten nach der Verfeinerung mit den Restwerten, die der Kamerakalibrierung zugehörig sind, können wir bestimmen, ob wir die Ergebnisse aus der Verfeinerung annehmen wollen.
-
Die Kameras/das Bildverarbeitungssystem werden/wird anschließend in Schritt 350 mit den Transformationen konfiguriert. Die Konfiguration der Kameras/des Bildverarbeitungssystems ermöglicht, dass das System Positionen, die vom Bildverarbeitungssystem hinsichtlich des Roboterbasis-Koordinatensystems aufgenommen wurden, melden kann. Der Vorgang 300 wird anschließend mit Schritt 355 abgeschlossen.
-
C. Kalibrierung mittels Bewegung von (am Roboter angebrachten) Kameras
-
Bei einer beispielhaften Ausführungsform wird/werden die Kameras an den Gelenkarm befestigt, so dass sie entsprechend dem Endeffektor transformiert werden kann/können. Ein Kalibrierobjekt wird so positioniert, dass es von den Kameras aufgenommen werden kann, und der Roboterarm/Endeffektor wird in verschiedene Posen bewegt, so dass das Kalibrierobjekt von einer Kamera oder mehreren Kameras aufgenommen wird. Die aufgenommenen Bilder des Kalibrierobjekts werden in Verbindung mit den Roboterposen erfasst.
-
Ähnlich zum Hand-Augen-Kalibrierverfahren für eine einzige ortsfeste Kamera wird die Hand-Augen-Kalibrierung für eine einzige bewegliche Kamera durch die Berechnung von zwei Transformationen durchgeführt: (1) die Transformation zwischen dem Koordinatensystem des Roboters und dem physikalischen Koordinatensystem, das vom Kalibrierobjekt definiert wird, und (2) die Transformation zwischen dem Bildverarbeitungs-Koordinatensystem der Kamera und der Pose des Endeffektors. Da die Roboterbasis und das Kalibrierobjekt während des Vorgangs der Hand-Augen-Kalibrierung ortsfest bleiben, sollte es nur eine Transformation zwischen dem Koordinatensystem des Roboters und dem Kalibrierobjekt geben. Gleichermaßen, da die Kamera während des Vorgangs der Hand-Augen-Kalibrierung fest positioniert hinsichtlich des Endeffektors bleibt, sollte es nur eine Transformation geben, die die Pose des Endeffektors mit der Lage der Kamera in Verbindung setzt.
-
Wiederum, ähnlich dem Hand-Augen-Kalibrierverfahren für eine ortsfeste Kamera (für ortsfeste Kameras), kann die Hand-Augen-Kalibrierung für bewegliche Kameras die Kamerakalibrierung unter Verwendung aller Hand-Augen-Kalibrierungs-Bilder durchführen, so dass die Kameras vor der Hand-Augen-Kalibrierung nicht vorkalibriert werden müssen. Die Transformation G bildet vom Koordinatensystem des Roboters zum Koordinatensystem des Kalibrierobjekts ab. Die Transformation G^–1 bildet vom Koordinatensystem des Kalibrierobjekts zum Koordinatensystem des Roboters ab. Die Transformation H bildet vom Bildverarbeitungs-Koordinatensystem der Kamera zur Endeffektorpose ab. Die Transformation H^–1 bildet von der Endeffektorpose zum Bildverarbeitungs-Koordinatensystem der Kamera ab. Es wird davon ausgegangen, dass die Kameras so kalibriert wurden, dass die Abbildung P von 3D-Punkten in Bildverarbeitungssystem-Koordinaten zu 2D-Punkten in einem aufgenommenen Bild abbildet. Es wird davon ausgegangen, dass die Kamerakalibrierung (intrinsische und extrinsische Parameter) und die entsprechende Abbildung P während und nach dem Vorgang der Hand-Augen-Kalibrierung gleich bleiben. Der Term Ri soll sich auf eine Transformation beziehen, die von der Endeffektorpose (in Schritt i) zum Roboterkoordinatensystem abbildet. Der Term Ri^–1 soll sich auf eine Transformation beziehen, die vom Roboterkoordinatensystem (in Schritt i) zur Endeffektorpose (in Schritt i) abbildet. Der Term x(i, u, v, w) soll sich auf die x-Koordinate der Bildmerkmalsposition in Schritt i entsprechend physikalischen Koordinaten (u, v, w) am Kalibrierobjekt beziehen. Der Term y(i, u, v, w) soll sich auf die y-Koordinate der Bildmerkmalsposition in Schritt i entsprechend der physikalischen Koordinaten (u, v, w) am Kalibrierobjekt beziehen. Jede (x(i, u, v, w), y(i, u, v, w)) ist eine 2D-Position eines gefundenen Merkmals in einem aufgenommenen Bild. Diese 2D-Position in einem aufgenommenen Bild entspricht der 3D-Position (u, v, w) am Kalibrierobjekt. Die 3D-Position (u, v, w) am Kalibrierobjekt entspricht der 3D-Position G^–1·(u, v, w) im Roboterkoordinatensystem. Die 3D-Position G^–1·(u, v, w) im Roboterkoordinatensystem entspricht der 3D-Position Ri^–1·G^–1·(u, v, w) im Koordinatensystem des Endeffektors. Die 3D-Position Ri^–1·G^–1·(u, v, w) im Koordinatensystem des Endeffektors entspricht der 3D-Position H^–1·Ri^–1·G^–1·(u, v, w) im Koordinatensystem des Bildverarbeitungssystems der Kamera. Die 3D-Position H^–1·Ri^–1·G^–1·(u, v, w) entspricht der 2D-Position P(H^–1·Ri^–1·G^–1·(u, v, w)) im aufgenommenen Bild. Jede 2D-Position (x(i, u, v, w), y(i, u, v, w)) eines gefundenen Merkmals im aufgenommenen Bild entspricht einer erwarteten 2D-Position P(H^–1·Ri^–1·G^–1·(u, v, w)). Für jede gefundene 2D-Merkmalsposition wird die gefundene 2D-Merkmalsposition mit der erwarteten 2D-Position verglichen, um eine Abweichung P(H^–1·Ri^–1·G^–1·(u, v, w)) – (x(i, u, v, w), y(i, u, v, w)) zu erstellen. Das Quadrat der Entfernung dieser Abweichung lautet |P(H^–1·Ri^–1·G^–1·(u, v, w)) – (x(i, u, v, w), y(i, u, v, w))|2. Die Summe von allen diesen Abweichungen im Quadrat lautet Σ|P(H^–1·Ri^–1·G^–1·(u, v, w)) – (x(i, u, v, w), y(i, u, v, w))|2 und entspricht der kombinierten Abweichung zwischen den tatsächlich gemessenen Daten und den erwarteten Daten in Bildkoordinaten. Auf beispielhafte Weise wird die Hand-Augen-Kalibrierung berechnet, indem die Parameter G und H aufgelöst werden, die die minimale Rest-Quadratsumme zwischen den tatsächlich gemessenen Daten und den erwarteten Daten bewirken. Die Parameterwerte werden für G und H gelöst, die die Rest-Quadratsumme zwischen den tatsächlich gemessenen Daten und den erwarteten Daten minimieren.
-
Das Hand-Augen-Kalibrierverfahren für bewegliche Kameras, d. h. Kameras, die am Roboter angebracht werden, ist dem Hand-Augen-Kalibrierverfahren für ortsfeste Kameras ähnlich. Wie das Hand-Augen-Kalibrierverfahren für eine einzige ortsfeste Kamera parametrisiert das Hand-Augen-Kalibrierverfahren für eine einzige angebrachte Kamera ebenso das System hinsichtlich 12 Variablen: Ga, Gb, Gc, Gx, Gy, Gz, Ha, Hb, Hc, Hx, Hy, Hz, und berechnet zuerst eine grobe Abschätzung der Hand-Augen-Kalibrierung und verwendet anschließend Optimierungsverfahren wie etwa Gradientenabstieg, um die Parameterabschätzungen zu verfeinern. Wie das Hand-Augen-Kalibrierverfahren für eine einzige ortsfeste Kamera berechnet das Hand-Augen-Kalibrierverfahren für eine einzige bewegliche Kamera ebenso eine Fehlerfunktion E(Ga, Gb, Gc, Gx, Gy, Gz, Ha, Hb, Hc, Hx, Hy, Hz), die die Abweichungssumme im Quadrat zwischen den tatsächlich gemessenen Merkmalspositionen und den erwarteten Merkmalspositionen charakterisiert und die Parameter verfeinert, indem Optimierungsverfahren wie etwa Gradientenabstieg verwendet werden. Wie das Hand-Augen-Kalibrierverfahren für eine einzige ortsfeste Kamera verwendet eine beispielhafte Ausführungsform für das Hand-Augen-Kalibrierverfahren für eine einzige bewegliche Kamera ebenso Levenberg-Marquadt bezüglich des Systems von partiellen Ableitungen der Fehlerfunktion, wobei diese partiellen Ableitungen numerisch berechnet werden.
-
Wie das Hand-Augen-Kalibrierverfahren für eine Vielzahl von ortsfesten Kameras handhabt die beispielhafte Ausführungsform für das Hand-Augen-Kalibrierverfahren für eine Vielzahl von beweglichen Kameras ebenso eine Vielzahl von Kameras, indem jeder Kamera ein unterschiedliches Bildverarbeitungssystem-Koordinatensystem zugehörig ist und indem 6n + 6 Parameter verwendet werden, um die Hand-Augen-Kalibrierung zu charakterisieren (obwohl es in diesem Fall eine G-Transformation und n H-Transformationen gibt) Ga, Gb, Gc, Gx, Gy, Gz, H1a, H1b, H1c, H1x, H1y, H1z, H2a, H2b, H2c, H2x, H2y, H2z, ... Hna, Hnb, Hnc, Hnx, Hny, Hnz, um die Hand-Augen-Kalibrierung zu charakterisieren.
-
Wie das Hand-Augen-Kalibrierverfahren für eine Vielzahl von ortsfesten Kameras bezieht sich bei der beispielhaften Ausführungsform für das Hand-Augen-Kalibrierverfahren für eine Vielzahl von beweglichen Kameras (xk(i, u, v, w), yk(i, u, v, w)) ebenso auf eine 2D-Position eines gefundenen Merkmals in einem aufgenommenen Bild für Kamera k. Diese 2D-Position in einem aufgenommenen Bild entspricht der 3D-Position (u, v, w) am Kalibrierobjekt. Die 3D-Position (u, v, w) am Kalibrierobjekt entspricht der 3D-Position G^–1·(u, v, w) im Roboterkoordinatensystem. Die 3D-Position G^–1·(u, v, w) im Roboterkoordinatensystem entspricht der 3D-Position Ri^–1·G^–1·(u, v, w) im Koordinatensystem des Endeffektors. Die 3D-Position Ri^–1·G^–1·(u, v, w) im Koordinatensystem des Endeffektors entspricht der 3D-Position Hk^–1·Ri^–1·G^–1·(u, v, w) im Koordinatensystem des Bildverarbeitungssystems der Kamera k. Die 3D-Position Hk^–1·Ri^–1·G^–1·(u, v, w) entspricht der 2D-Position Pk(Hk^–1·Ri^–1·G^–1·(u, v, w)) im von Kamera k aufgenommenen Bild. Jede 2D-Position (xk(i, u, v, w), yk(i, u, v, w)) eines gefundenen Merkmals im aufgenommenen Bild entspricht einer erwarteten 2D-Position Pk(Hk^–1·Ri^–1·G^–1·(u, v, w)). Für jede gefundene 2D-Merkmalsposition wird die gefundene 2D-Merkmalsposition mit der erwarteten 2D-Position verglichen, um eine Abweichung Pk(Hk^–1·Ri^–1·G^–1·(u, v, w)) – (xk(i, u, v, w), yk(i, u, v, w)) in Bildkoordinaten zu erstellen. Das Quadrat der Entfernung dieser Abweichung lautet |Pk(Hk^–1·Ri^–1·G^–1·(u, v, w)) – (xk(i, u, v, w), yk(i, u, v, w))|2. Die Summe von allen diesen Abweichungen im Quadrat lautet Σ|Pk(Hk^–1·Ri^–1·G^–1·(u, v, w)) – (xk(i, u, v, w), yk(i, u, v, w))|2 und entspricht der kombinierten Abweichung zwischen den tatsächlich gemessenen Daten und den erwarteten Daten. Die Hand-Augen-Kalibrierung wird auf beispielhafte Weise durch die Lösung der Parameter G und H1 ... Hn berechnet, die die minimale Rest-Quadratsumme zwischen den tatsächlich gemessenen Daten und den erwarteten Daten bewirken. Die Parameterwerte werden zu G und H1 hin gelöst, die die Rest-Quadratsumme zwischen den tatsächlich gemessenen Daten und den erwarteten Daten minimieren.
-
4 ist ein Schaubild, das die Schritte eines exemplarischen Vorgangs 400 für die Durchführung einer Bildverarbeitung für die Roboterkalibrierung detailliert beschreibt, wobei gemäß einer beispielhaften Ausführungsform der vorliegenden Erfindung am Roboter angeordnete Kameras eingesetzt werden. Der Vorgang 400 beginnt mit Schritt 405 und wird mit Schritt 410 fortgeführt, wo eine oder mehrere Kameras am Roboter befestigt sind. Wie oben angemerkt wurde, kann eine beispielhafte Ausführungsform der vorliegenden Erfindung gleichzeitig eine Vielzahl von Kameras kalibrieren. Auf beispielhafte Weise sind die Kameras, die zur Kalibrierung eingesetzt werden, entweder an einem Gelenkarm und/oder am Endeffektor des Roboters befestigt. Die Kalibrierplatte ist in Schritt 415 im Raum befestigt. Auf beispielhafte Weise wird die Kalibrierplatte so befestigt, dass sie sich während des Kalibriervorgangs nicht bewegt. Der Endeffektor wird anschließend in eine Vielzahl von Posen bewegt und in Schritt 420 werden Bilder von der Kalibrierplatte in jeder der Vielzahl von Posen aufgenommen. Auf beispielhafte Weise beinhalten die Bewegungen zwischen allen Posen Rotationen um zumindest zwei nicht parallele Achsen. Um bessere Kalibrierinformationen zu erhalten, sollte der Rotationswinkel zumindest 5° betragen. Dies ist keine festgelegte Regel; jedoch können mit größeren Rotationen zwischen Bewegungen bessere Ergebnisse erzielt werden.
-
Eine Bilddetektionstechnik wird an den aufgenommenen Bildern ausgeführt, um in Schritt
425 Merkmale an der Kalibrierplatte zu ermitteln. Wie oben beschrieben, können bei der Merkmalsdetektion Techniken wie die von der Cognex Corporation als Merkmalsdetektor vertriebene Technik eingesetzt werden. Alternative Verfahren zur Messung von Merkmalen werden in der
US-Patentschrift Nr. 6,137,893 beschrieben. Alternative Verfahren zur Messung von Merkmalen werden in der
US-Patentschrift Nr. 6,816,187 beschrieben. Alternative Verfahren zur Messung von Merkmalen werden in
„A Versatile Camera Calibration Technique for High-Accuracy 3D Machine Vision Metrology Using Off-the-Shelf TV Cameras and Lenses" von Roger Y. Tsai, veröffentlicht im IEEE Journal of Robotics and Automation, Volume RA-3, No. 4, Seiten 323–344 beschrieben. Des Weiteren können, wie oben angemerkt, bei alternativen Ausführungsformen der vorliegenden Erfindung bei der Merkmals-Extraktion verschiedene Techniken eingesetzt werden, einschließlich beispielsweise der Verwendung von dreidimensionalen Merkmalen aus einer dreidimensionalen Kamera, einer thermischen Merkmalsdetektion mittels wärmeempfindlicher Kameras etc.
-
Für jede der Kameras werden anschließend in Schritt 430 Kalibrierplattenlagen berechnet. Dies bedeutet, dass durch den Einsatz einer Reihe von intrinsischen Daten und Entsprechungen zwischen bekannten Merkmalspositionen und beobachteten Merkmalspositionen die Lage der Kamera hinsichtlich der Kalibrierplatte berechnet wird. Dieser Schritt geht von der Annahme aus, dass die Kameras vorkalibriert wurden. Jedoch können in alternativen Ausführungsformen die Kameras mittels der gesammelten Daten kalibriert werden, wodurch ein Vorgang aus zwei Schritten nicht mehr erforderlich ist, in dem zuerst die Kameras kalibriert werden und anschließend die Kalibrierung zwischen dem Kopf-Bildverarbeitungssystem und dem Roboter durchgeführt wird. Die aufgenommenen Bilder sowie ihre entsprechenden Roboterposen werden anschließend in Schritt 435 vorverarbeitet. Diese Vorverarbeitung dokumentiert auf beispielhafte Weise die Bewegungen für jede Platte und den Roboter. Jedes Paar bestehend aus Bild und Roboterpose wird anschließend erfasst, um die Bewegungen zu maximieren. Bei jeder Kameralage, die in Schritt 430 mit den vorkalibrierten Kameraparametern berechnet wurde, wird die Bewegung zwischen jeweils zwei Kamerapositionen berechnet. Gleichermaßen wird die Bewegung zwischen zwei Roboterposen berechnet. Alle Paare von Kamerabewegungen und Roboterbewegungen werden berechnet und die Paare, deren Abweichungen über einen vorbestimmten Grenzwert hinausgehen, werden auf beispielhafte Weise als Ausreißer gekennzeichnet und aus den Bewegungspaaren entfernt.
-
Für ein Paar aus Roboterbewegung und Kamerabewegung sollten die Rotationswinkel bei der Darstellung ihrer Rotationen mittels einer entsprechenden Rotation um eine einzige Achse oder bei Darstellung der Bewegungen mittels Schraubbewegungen in idealem Zustand gleich sein. Daher kann der Unterschied der Rotationswinkel zwischen Roboterbewegung und Kamerabewegung des gleichen Paares als Abweichung verwendet werden.
-
Die Erfassung ermöglicht es dem System, einheitliche Bewegungen aus Posen mit willkürlicher Anordnung abzuleiten und Bewegungen mit wesentlichen Rotationen zu verwenden, was zu stabileren, genaueren und robusteren Kalibrierfestlegungen führt.
-
Es sollte beachtet werden, dass bei alternativen Ausführungsformen die Schritte 430–440 optional sein können. Das Kalibriersystem löst anschließend das lineare System auf, um in Schritt 440 Transformationen in Roboterbasis-Koordinaten zu berechnen. Bei einer alternativen Ausführungsform werden in Schritt 442 erste Abschätzungen der Kamera-Roboter-Transformation(en) und der Endeffektor-Kalibrierplatten-Transformationen erzielt. Die Transformationen werden anschließend in Schritt 445 verfeinert. Die Verfeinerung basiert auf der Minimierung der Summe von allen Abweichungen im Quadrat zwischen den erwarteten 2D-Bildmerkmalspositionen und den oben genannten gefundenen Merkmalspositionen. Alternativ kann die erste Abschätzung für die Transformation vom Endeffektor zur Kamera und für die Transformation von der Platte zum Roboterbasissystem zuerst mittels einer unabhängigen Verfeinerung weiterentwickelt werden, die die Abweichungen unter den gemeldeten Roboterposen und den berechneten Roboterposen mittels der Transformationen minimiert. Anschließend können die verfeinerten Transformationen in die auf den 2D-Merkmalspositions-Abweichungen basierende Verfeinerung eingespeist werden. Alternativ kann ein Prüfungsschritt nach der Verfeinerung hinzugefügt werden, um die verfeinerten Ergebnisse nicht zu berücksichtigen, sollten sie hinsichtlich einer Prüffunktion keine besseren Ergebnisse bringen als die unverfeinerten Ergebnisse.
-
Die Verfeinerung der Transformationeneinheitlichkeit (Minimierung der Abweichungen zwischen den gemeldeten Roboterposen und den berechneten Roboterposen mittels der Transformationen) bewirkt eine gleichzeitige Verfeinerung der Positionen für eine Vielzahl von Kameras. Mit anderen Worten gibt es für den Fall der Vielzahl von beweglichen Kameras nur eine Transformation vom Kalibrierplatten-Koordinatensystem zum Roboterbasis-Koordinatensystem.
-
Ein Beispiel für eine Verfeinerung der Transformationeneinheitlichkeit lautet wie folgt. Z soll sich auf die Transformation von der Kalibrierplatten-Koordinate zur Roboterbasis-Koordinate beziehen, X ist die Transformation vom Kamerakoordinatensystem zum Koordinatensystem des Roboter-Endeffektors. Bi ist die Roboterpose (Transformation vom Koordinatensystem des Roboter-Endeffektors zum Roboterbasis-Koordinatensystem) in Schritt i. Ai ist die Position der Kalibrierplatte (Transformation vom Kalibrierplatten-Koordinatensystem zum Kamerakoordinatensystem) für eine Kamera in Schritt i. Die Transformation Ai wird bisweilen als die gemessene Transformation bezeichnet.
-
Die folgende Struktur sollte die Identitäts-Transformation sein (da sie die Struktur der Transformationen vom Kalibrierplatten-Koordinatensystem zum Kalibrierplatten-Koordinatensystem ist). Z_inverse·Bi·X·Ai
-
Das Ziel der Verfeinerung ist, die Gesamtabweichungen zwischen jeder Z_inverse·Bi·X·Ai und Identitäts-Transformation für alle Kameras und Bewegungen zu minimieren. Die Struktur (Z_inverse·Bi·X)_inverse wird bisweilen als die erwartete Transformation bezeichnet.
-
Bei der Hand-Augen-Kalibrieranwendung basiert eine beispielhafte Methode, den Unterschied zwischen zwei Transformationen (oder zwei Posen) zu berechnen, auf der Verwendung der Bearbeitungsraumdimensionen wie folgt. Wenn davon ausgegangen wird, dass das Arbeitsvolumen der Roboter-Bildverarbeitungs-Anwendung durch einen Rahmen dargestellt werden kann, kann der Unterschied zwischen der Transformation X1 und der Transformation X2 durch die Untersuchung der Entfernung zwischen durch die Transformationen abgebildeten Punkten – insbesondere der acht Eckpunkte des Rahmens – berechnet werden: v1 bis v8: Σ(X1·vi – X2·vi) i = 1 – 8
-
Ein beispielhafter Schritt ist die Verfeinerung der Kamera-Endeffektor-Transformation und der Roboterbasis-Kalibrierplatten-Transformation vor der weiteren Verfeinerung dieser Transformationen mittels der Verwendung der auf Bildmerkmalen basierenden Verfeinerung. Durch die anfängliche Verfeinerung der Transformationen mittels der Abweichungs-Funktion zwischen den abgebildeten Punkten werden viel bessere erste Abschätzungen für die auf Bildmerkmalen basierende Verfeinerung zur Verfügung gestellt und die Hand-Augen-Kalibrierung kann beschleunigt sowie robuster gemacht werden.
-
Ein Beispiel für eine Prüffunktion ist die Abweichungs des quadratischen Mittelwerts (RMS) der nach der Verfeinerung berechneten Bildkoordinaten im Vergleich zum quadratischen Mittelwert (RMS) vor der Verfeinerung. In manchen Fällen kann es auftreten, dass die Roboterbewegungen nicht so genau sind wie das Bildverarbeitungssystem und dass die Verfeinerung zu einer Überanpassung der Kamera-Endeffektor-Transformation und der Roboterbasis-Kalibrierplatten-Transformation, die auf den ungenauen Roboterposen basiert, führt. Durch den Vergleich der Restwerte vor und nach der Verfeinerung können wir bestimmen, ob wir die Ergebnisse aus der Verfeinerung annehmen wollen.
-
Ein weiteres Verfahren, um zu bestimmen, ob die Verfeinerung eine Verbesserung darstellt, ist der Vergleich der Abweichung des quadratischen Mittelwerts (RMS) der nach der Verfeinerung berechneten Bildkoordinaten mit der Abweichung des quadratischen Mittelwerts (RMS) der Bildkoordinaten der Kamerakalibrierung. Durch den Vergleich von Restwerten nach der Verfeinerung mit den Restwerten, die zur Kamerakalibrierung zugehörig sind, können wir bestimmen, ob wir die Ergebnisse aus der Verfeinerung annehmen wollen.
-
Die Kameras/das Bildverarbeitungssystem werden/wird anschließend in Schritt 450 mit den Transformationen konfiguriert. Der Vorgang 400 wird anschließend mit Schritt 455 abgeschlossen.
-
D. Steuerungsmechanismen
-
5 ist ein schematisches Blockdiagramm einer exemplarischen Umgebung 500, das Steuerungsmechanismen für ein Bildverarbeitungssystem und einen Roboter gemäß einer beispielhaften Ausführungsform der vorliegenden Erfindung illustriert. Eine Roboterbasis 110 wird operativ mit einem Gelenkarm gekoppelt, der einen Endeffektor 120 an seinem äußersten Endstück aufweist. Auf beispielhafte Weise wird der Roboter operativ mit einem Robotersteuerungssystem 505 gekoppelt. Auf beispielhafte Weise umfasst das Robotersteuerungssystem 500 einen Prozessor 515, eine Reihe von Input-Output-Adaptern 520 und ein Speichermedium 525. Auf dem Speichermedium 525 wird die Software 530 zur Steuerung des Robotersteuerungssystems 505 und des Roboters abgespeichert. Auf beispielhafte Weise kann das Robotersteuerungssystem 505 in verschiedenen Formaten verwendet werden einschließlich beispielsweise der Verwendung von programmierbaren Festwertspeichern (programmable read only memory, PROM), NVRAM-Speichern etc. Daher sollte die Beschreibung der Bestandteile des Robotersteuerungssystems 505 als lediglich exemplarisch angesehen werden. Des Weiteren sollte beachtet werden, dass bei alternativen Ausführungsformen das Robotersteuerungssystem 505 ohne Software etc. verbunden werden kann.
-
Ebenso in Umgebung 500 enthalten sind Kameras 105A, B. Es sollte beachtet werden, dass in Umgebung 500 die Kameras 105 als im Raum befestigt dargestellt werden; jedoch können bei alternativen Ausführungsformen die Kameras am Gelenkarm 115 und/oder am Endeffektor 120 des Roboters angebracht werden. Daher sollte die Beschreibung von im Raum befestigten Kameras 105 als lediglich exemplarisch angesehen werden. Die Kameras 105 sind operativ mit einem Bildverarbeitungssystem 510 gekoppelt. Das Bildverarbeitungssystem 510 beinhaltet auf beispielhafte Weise einen Prozessor 535, Input/Output-Adapter 540 und ein Speichermedium 545. Das Speichermedium 545 beinhaltet auf beispielhafte Weise Software 550, die die neue Kalibriertechnik gemäß einer beispielhaften Ausführungsform der vorliegenden Erfindung implementier. Wiederum, wie oben hinsichtlich des Robotersteuerungssystems 505 angemerkt, kann das Bildverarbeitungssystem 510 alternative oder zusätzliche und/oder unterschiedliche Bestandteile umfassen. Daher sollte die hier enthaltene Beschreibung als lediglich exemplarisch angesehen werden.
-
Vorstehend wurde eine detaillierte Beschreibung von beispielhaften Ausführungsformen der vorliegenden Erfindung zur Verfügung gestellt. Verschiedene Veränderungen an den Ausführungen können vorgenommen werden, ohne vom Kern der vorliegenden Erfindung abzuweichen. Zudem, wenngleich diese Beschreibung sich auf mit Hardware verwendete Software bezieht, ist ausdrücklich vorgesehen, dass die Lehre dieser Erfindung als Software implementiert werden kann, einschließlich eines programmierten, computerlesbaren Mediums oder der Ausführung an einem Computer, an Hardware, Firmware oder einer Kombination daraus. Dementsprechend sollte diese Beschreibung als lediglich exemplarisch angesehen werden, die den Umfang der Erfindung nicht einschränkt.
-
ZITATE ENTHALTEN IN DER BESCHREIBUNG
-
Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.
-
Zitierte Patentliteratur
-
- US 6137893 [0032, 0054, 0077]
- US 6816187 [0032, 0054, 0057, 0077]
-
Zitierte Nicht-Patentliteratur
-
- „A new technique for fully autonomous and efficient 3D robotics hand/eye calibration”, veröffentlicht in IEEE Transactions on Robotics Automation, Volume 5, Issue 3, Seiten 345–348 [0007]
- „Optimal Hand-Eye Calibration”, veröffentlicht im Protokoll der „IEEE/RSJ International Conference on Intelligent Robots and Systems”, die im Jahr 2006 stattfand, 2008, Seiten 4647–4653 [0009]
- „A Versatile Camera Calibration Technique for High-Accuracy 3D Machine Vision Metrology Using Off-the-Shelf TV Cameras and Lenses” von Roger Y. Tsai, veröffentlicht im IEEE Journal of Robotics and Automation, Volume RA-3, No. 4, Seiten 323–344 [0032]
- „Hand Eye Calibration Using Dual Quaternions” von Daniiliidis, veröffentlicht im International journal of Robotics Research, Volume 18, No. 3, Seiten 286–298 [0042]
- „A Versatile Camera Calibration Technique for High-Accuracy 3D Machine Vision Metrology Using Off-the-Shelf TV Cameras and Lenses” von Roger Y. Tsai, IEEE Journal of Robotics and Automation, Volume RA-3, No. 4, Seiten 323–344 [0054]
- „A Versatile Camera Calibration Technique for High-Accuracy 3D Machine Vision Metrology Using Off-the-Shelf TV Cameras and Lenses” von Roger Y. Tsai, veröffentlicht im IEEE Journal of Robotics and Automation, Volume RA-3, No. 4, Seiten 323–344 [0057]
- „A Versatile Camera Calibration Technique for High-Accuracy 3D Machine Vision Metrology Using Off-the-Shelf TV Cameras and Lenses” von Roger Y. Tsai, veröffentlicht im IEEE Journal of Robotics and Automation, Volume RA-3, No. 4, Seiten 323–344 [0077]