-
Die Erfindung betrifft, das Einmessen eines Werkstücks zur optischen 3D-Lageerkennung mit einem Bildverarbeitungssystem in einer Station mit Roboter, insbesondere mit mehreren Robotern und bei großem Werkstück, außerdem das Einmessen an mehreren Stationen mit gleichem oder ähnlichem Werkstück, in einer stationsspezifischen Standardlage.
-
Bildverarbeitungssysteme zur 3D-Lageerkennung von Werkstücken arbeiten meist mit punktuellen Merkmalen (Löcher, Ecken, rechnerische Schnittpunkte von Kanten), deren dreidimensionale Positionen am Werkstück bekannt sein müssen, bezogen auf die Geometrie der anstehenden Verarbeitung (Greifpunkt, Bearbeitungsbahn..). Bei Robotersystemen wird der Greif- oder Bearbeitungsvorgang vorzugsweise eingegeben durch Vorzeigen mit einem realen Werkstück in einer zufällig oder speziell gewählten Lage, im folgenden Standardlage genannt (gemeint ist die physikalische Lage, unabhängig vom dem zur Darstellung gewählten Koordinatensystem). Im laufenden Betrieb wird über eine 3D-Lageerkennug die Abweichung der aktuellen Werkstücklage von der Standardlage bestimmt und über eine entprechende Koordinatentransformation der Greif- oder Bearbeitungsvorgang an die aktuelle Situation angepaßt. Dazu kann hilfsweise ein Werkstück-Koordinatensystem definiert sein.
-
Die 3D-Merkmalsgeometrie kann aus den CAD-Daten stammen, das hat jedoch die folgenden Nachteile: a) es fehlt der Bezug der 3D-Positionen laut CAD zu der Bearbeitungsgeometrie in Standardlage; dieser Bezug muß vor Ort hergestellt werden. b) Reale Werkstücke können von den CAD-Daten in systematischer Weise abweichen. Man bevorzugt daher das Vermessen der Merkmale anhand von Serienteilen. Letzteres kann mit Meßmaschine in einem dafür vorgesehenen Meßraum geschehen, was in der Regel mit handhabungstechnischen Problemen verbunden ist, außerdem fehlt immer noch der Bezug zu der Standardlage.
-
Nach
DE 199 31 676 A1 wird zum genauen Vermessen der Position von Meßpunkten an einem Werkstück ein an einem Roboter montiertes optisches Meßwerkzeug verwendet. Zur Verbesserung der Genauigkeit werden vor oder während der Messungen Kalibriermarken angemessen, die sich in der Nähe der Messpunkte befinden. Die dreidimensionale Position der Kalibriermarken ist vorab genau bekannt. Nach
DE 40 26 942 A1 wird zur Vermessung charakteristischer Punkte auf einer Objektoberfläche eine Kamera mittels Schwenk-Dreheinrichtung in zwei verschiedenen Stellungen mit verschiedenen Dreh- bzw. Schwenkwinkeln auf die Punkte gerichtet. Für jede Messung muss die Lage des Sensors im Bildraum und die Orientierung des Bildraums im Koordinatenmessgeräts bekannt sein.
-
Die Verwendung einer Meßmaschine ist besonders umständlich und nachteilig bei sehr großen Teilen wie sie z. B. im Automobilbau vorkommen; es sind große und teure Meßmaschinen erforderlich, beim Transport zum Meßraum können sich Geometrieveränderungen ergeben.
-
Es wäre handhabungstechnisch und meßtechnisch günstiger, in der Bearbeitungsstation ein Serienteil in Standardlage zur Bestimmung der 3D-Merkmalsgeometrie zu verwenden. Dazu kann man unter manueller Führung eine am Roboter befestigte Meßspitze an die Merkmale heranführen und die Koordinaten der einzelnen Merkmale festhalten. Vorteil ist, daß die Koordinaten gleich im Roboter-Koordinatensystem verfügbar sind. Nachteilig bei dieser Vorgehensweise ist die Unfallgefahr (der Bediener muß mit dem Auge nahe an die Meßspitze heran), die Abhängigkeit der Genauigkeit von der Sorgfalt des Bedieners, außerdem der Zeitbedarf. Auch muß hier die Position der Meßspitze im Roboterkoordinatensystem bekannt sein. Bei Verwendung von Meßspitzen wird in der Regel der TCP (Tool Center Point) in die Spitze gelegt; dafür gibt es fertig aufbereitete Roboter-Prozeduren, es geschieht jedoch wiederum unter Führung und Kontrolle des Bedieners.
-
Gerade bei großen Teilen, wo das Einmessen in der Bearbeitungsstation in Standardlage erwünscht ist, werden jedoch in der Regel mehrere Roboter eingesetzt und die Merkmale können oft nicht von einem einzelnen Roboter mittels Meßspitze mechanisch erreicht werden. Werden mehrere Roboter verwendet und vermessen diese verschiedene Merkmale, so müssen die Koordinaten für ein Bildverarbeitungssystem in einem gemeinsamen Koordinatensystem dargestellt werden.
-
Anmerkung: Die Betrachtungen zu dieser Erfindung sind davon unabhängig, wieviele Kameras zur Lageerkennung verwendet werden und ob die Kameras fest oder an einem Roboter montiert sind. Allgemein sind zur Lageerkennung bei punktuellen Merkmalen mindestens drei Merkmale erforderlich, die aus mindestens zwei schräg zueinander stehenden Richtungen aufgenommen werden; dies geschieht normalerweise mit drei aus verschiedene Richtungen auf verschiedene Merkmale blickenden Kameras, kann aber auch mit einer einzelnen Kamera und divergierenden Strahlenbündeln (kurzbrennweitige Optik) realisiert sein.
-
Aufgabe der Erfindung ist es, die Unfallgefahr zu vermeiden, die Bedienung beim ersten Einmessen in einer Station zu erleichtern und jedes nachträgliche Einmessen ähnlicher Werkstücke für diese Station oder für andere, ähnlich aufgebaute Stationen vollautomatisch durchführen zu können (nachträgliches Einmessen ist z. B. erforderlich bei neuen, ähnlichen Varianten oder bei Chargenwechsel und chargenspezifischen Geometrieabweichungen).
-
Die Aufgabe wird gelöst nach Anspruch 1.
-
Vorbemerkung: eine 3D-Position wird durch 3 Parameter beschrieben (x, y, z), eine 2D-Position (Bildkoordinaten) durch 2 Parameter (u, v), eine 3D-Lage oder eine Pose bestehen aus Position und Orientierung und werden somit durch 6 Parameter beschrieben (x, y, z, a, b, c).
-
Das Verfahren zum Vermessen der Position von Merkmalen eines Werkstücks, die für eine 3D-Lageerkennung eines solchen Werkstücks verwendet werden, in einer Station mit mindestens einem Roboter, wobei an mindestens einem Roboter eine Kamera mit dem Roboter bewegbar befestigt ist,
ist dadurch gekennzeichnet,
daß die Position der Abbildung der Merkmale im Bildkoordinatensystem für mehrere Bildaufnahmen gemessen wird, wobei die Kamera so auf die Merkmale gerichtet wird, dass
- a) in den Bildaufnahmen für jeden Roboter mit zur Vermessung verwendeter Kamera mindestens ein Merkmal existiert, für das mindestens sechs Bildaufnahmen dieser Kamera mit rotatorisch gleicher und translatorisch unterschiedlicher Roboterpose enthalten sind,
und wobei
- b) in den Bildaufnahmen für alle Merkmale mindestens zwei Bildaufnahmen einer Kamera mit rotatorisch unterschiedlicher Roboterpose enthalten sind,
und wobei aus den Messungen die Positionen der Merkmale in den betreffenden Roboterkoordinatensystemen bestimmt werden.
-
Es werden also für jedes für die Bildverarbeitung herangezogene Merkmal mit mindestens einem Roboter und der daran befetigten Kamera Messungen realisiert.
-
Bei Mehr-Roboter-Systemen kann es sinnvoll sein, unterschiedliche Merkmale über Kameras an unterschiedlichen Robotern zu vermessen. Wenn der Bezug zwischen den Roboterkoordinatensystemen direkt oder indirekt bekannt ist (gegenseitige Roboterkalibrierung gegeben), können die Merkmalspositionen auf ein gemeinsames System transformiert werden, wie für die Bildverarbeitung praktisch gefordet.
-
Bei Systemen mit mehreren Robotern mit je einer Kamera treffen besonders vorteilhaft für jede dieser Kameras Bedingung a) für mindestens ein Merkmal und Bedingung b) für mindestens drei Merkmale zu. Dann kann aus den Messungen der Bezug zwischen den betreffenden Roboterkoordinatensystemen hergeleitet werden, ohne daß die Roboter-Koordinatensysteme vorab zueinander kalibriert sein müssen: ist die Position von drei Punkten in zwei verschiedenen Roboterkoordinatensystemen bekannt, so kann daraus inbekannter Weise der Bezug zwischen den Koordinatensystemen hergestellt werden. Im Zuge der Werkstückvermessung findet also quasi nebenbei eine gegenseitige Kalibrierung aller Roboter der Station untereinander statt.
-
Für das nachträgliche Einmessen eines Werkstücks mit gleicher oder ähnlicher Merkmalsgeometrie, in der gleichen Station, kann der Meßvorgang vollautomatisch unter Wiederverwendung von bei einem vorherigen Einmessen manuell bestimmten und gespeichereten Roboterposen.
-
Für das Einmessen eines Werkstücks in einer zweiten Station, wobei ein Werkstück mit gleicher oder ähnlicher Werkstückgeometrie bereits in einer ersten Station vermessen wurde, kann der Meßvorgang vollautomatisch laufen unter Wiederverwendung der in der ersten Station gespeichereten Roboterposen. Die dafür erforderliche Datenübertragung kann natürlich über Netzwerk erfolgen.
-
Zur rechentechnisch einfacheren Handhabung kann nun ein. beliebiges Koordinatensystem, z. B. ein Zell-Koordinatensystem definiert werden, das in bekanntem Bezug zu den Roboterkoordinatensystemen steht. Für die Lagegerkennung ist es insbesondere bei Mehr-Robotersystemen wichtig, die Merkmale in einem gemeinsamen Koordinatensystem ausdrücken zu können.
-
Vorzugsweise befindet sich beim Messen das Werkstück in einer Standardlage, für die ein Greif- und/oder Bearbeitungsvorgang des Roboters definiert ist oder durch Teach-In eingegeben wird.
-
Im Automatikbetrieb wird ein durch Werkstückerkennungssystem auf Basis der wie oben beschrieben gewonnenen Merkmalspositionen die Abweichung der Lage des aktuellen Werkstücks von der Standardlage bestimmt, mit Ergebnisausgabe wiederum im zweiten Koordinatensystem oder auch in den Roboter-Koordinatensystemen. Entprechend der Abweichung wird der zuvor für die Standardlage eingespeicherte Greif- bzw. Bearbeitungsvorgang modifiziert. Hilfsweise kann dazu ein Werkstückkoordinatensystem herangezogen werden.
-
Die Messungen werden mit einem an die Kamera angeschlossenen Bildverarbeitungssystem bestimmt. (Dies kann eine intelligente Kamera mit integrerter Bildauswertung sein oder eine Kamera mit getrennter Bildauswerteeinheit, z. B. ein PC mit Framegrabber.) Die Kamera braucht nicht präzise befestigt zu werden, es genügt, wenn sie für die erste Aufnahme grob so eingerichtet wird, daß sie das Merkmal erfaßt. Die Kamera braucht auch nicht bezüglich ihrer inneren Parameter vorkalibriert zu sein. Für die folgenden Aufnahmen wird der Roboter vom Operateur so in verschiedene Posen gebracht, daß die oben geschilderten Bedingungen erfüllt sind. Die dabei eingenommenen Posen werden aufgezeichnet und für ein nachträgliches Einmessen (z. B. bei neuen, ähnlichen Varianten, s. o.) wiederverwendet, das dann vollautomatisch geschehen kann. Nach dem Einmessen kann die Kamera entfernt werden, für das nachträgliche Einmessen genügt eine provisorische Befestigung in grob ähnlicher Lage wie beim ersten Einmessen. Bei Anwendungen in rauer Umgebung wie einer Lackiererei oder Wachsanlage kann man, falls erforderlich, die Kamera während des Automatikbetriebs einfach abdecken.
-
Falls für die Werkstückerkennung oder andere Zwecke ohnehin Kameras am Roboter befestigt sind, können diese für das oben geschilderte Verfahren mit verwendet werden.
-
Natürlich können die Verfahrensschritte bei mehreren Robotern gleichzeitig oder zeitlich getrennt durchgeführt werden. Befinden sich mehrere Merkmale im Bildfeld einer Kamera, so können Messungen mehrerer Merkmale mit einer einzigen Bildaufnahme zusammengefaßt werden.
-
Vorbemerkung zur folgenden Erläuterung: Unter Kalibrierung einer Kamera verstehen wir die Herstellung des abbildenden Bezugs von Raumkoordinaten zu Bildkoordinaten. Für das einfache Lochkamera-Modell kann man die Abbildung mit einer Projektionsmatrix mit 11 freien Parametern darstellen, bei Erfassung nichtlinearer Verzerrungen (Verzeichnung durch die verwendete Optik) arbeitet man mit einer vorgeschalteten Verzerrungsfunktion; ausführliche Angaben dazu findet man in der Literatur unter dem Stichwort ”Kamerakalibrierung”.
-
1 zeigt zwei Roboter R1 und R2, mit Koordinatensystemen RKS1 bzw. RKS2, zur Vereinfachung der Darstellung mit nur drei Freiheitsgraden gezeichnet, mit je einer Kamera 2, sowie ein gemeinsames Zell-Koordinatensystem ZKS. RKS1 und RKS2 können zueinander verschoben und verdreht sein, wie in der Figur angedeutet. Die Kameras sind auf Merkmale 3 eines Werkstücks 4 gerichtet. Die Werkzeuge 6 sind ebenso wie die Kameras 2 am Endeffektor der Roboter befestigt. Die Bearbeitungsbahn 5 (z. B. für eine Schweißnaht) und die Merkmale werden in einem der genannten Koordinatensysteme angegeben oder hilfsweise in einem Werkstückkoordinatensystem WKS. Nicht notwendigerweise, aber um beste Genauigkeit zu erzielen, erfaßt jede Kamera in einem Schritt jeweils nur ein Merkmal (kleines Bildfeld, Merkmale weit voneinander entfernt).
-
Es werden mindestens sechs Bildaufnahmen mit einem Merkmal in unterschiedlicher, allgemeiner Kameraposition und mit beliebiger, aber konstanter Kameraorientierung realisiert und jeweils die Position der Abbildung des Merkmals durch die Kamera bestimmt, gemessen in einem Bildkoordinatensystem. Zur Veranschaulichung des Vorgangs betrachten wir in 2 ein Merkmal, das mit rein translatorischen Bewegungen aufgenommen wird, wobei die Roboterposen hier zur anschaulichen Darstellung 6 Punkte auf den Kanten eines Quaders einnnehmen. Für die 11 freien Parameter der Kamerakalibrierung sind mindestens 6 Punkte erforderlich, denn jede Aufnahme eines Merkmals liefert 2 Bildkoordinaten. Die Kamera ”sieht” in diesem Beispiel also die Punkte auf einem Quader, wie in 2 abgebildet (Monitorbild 7), an Positionen 8, im Bildkoordinatensystem BKS. Wohlgemerkt sind die Abbildungspunkte Abbildungen des selben Merkmals 3. Mit dem Lochkameramodell kann aus sechs solchen Punkten (die räumliche Verschiebung ist bekannt über die bekannte Roboterbewegung) eine Kamerakalibrierung realisiert werden. Dabei bezieht sich das Kamerakoordinatensystem auf das Merkmal und hat die gleiche Orientierug wie das Roboterkoordinatensystem. Die Koordinaten des Merkmals im Roboterkoordinatensystem sind allerdings noch unbekannt.
-
Realisierung:
-
Mit Darstellung in homogenen Koordinaten und
- – Index i der i-ten Bildaufnahme
- – Kameraprojektion K als 3×4-Matrix mit 11 freien Parametern, welche unbekannt sind,
- – inverse Roboterpose F(i) als 4×4-Matrix (enthält Rotation R(i) und Translation t(i) des TCPs)
- – Bildpunkt q(i) (des selben Merkmals)
- – Merkmal p ergibt sich die Abbildung des Merkmals p auf den Bildpunkt q(i) zu q(i) = K·F(i)·p [1]
-
Legt man das Bezugssystem in die Merkmal p, ergibt sich p = 0 und damit
q(i) = K·t(i), wobei t(i) den Translationsanteil von F(i) darstellt und bekannt ist. Bei mindestens 6 Aufnahmen (i = 1..6) läßt sich ein überbestimmtes lineares Gleichungssystem formulieren
aus welchem sich durch bekannte mathematische Verfahren die 11 Unbekannten der Kameraprojektionsmatrix K bestimmen lassen.
-
Nun wird der translatorische Bezug von dem aktuell betrachteten Merkmal zum Roboterkoordinatensystem des gerade betrachteten Roboters hergestellt. Dies geschieht durch eine Bewegung mit Rotationsanteil um einen Raumpunkt, und Messung der Abbildung des Merkmals, wobei der optionale Translationsanteil so gewählt wird, daß das Merkmal im Bildfeld der Kamera verbleibt. Da die Kamera bereits kalibriert ist, kann nun aus mindestens zwei solcher Aufnahmen die Lage des Merkmals in Roboterkoordinaten bestimmt werden.
-
Realisierung:
-
Das Bezugssystem KBS der Kameraprojektion K liegt in p und hat die Orientierung des Roboterbezugssystems RBS.
-
Um den Versatz des Kamerabezugssystems KBS zum RBS zu bestimmen, werden (mindestens) zwei Aufnahmen des Merkmals p benötigt, wobei sich die Rotationen des TCPs sowohl untereinander, als auch in Bezug zu den oben erwähnten Aufnahmen unterscheiden müssen.
-
Auf das RBS bezogen, ergibt sich die Projektionsgleichung [1] zu q(i) = K·T·F(i)·T^ – 1·p [2], wobei T die zu bestimmende Translationsmatrix zwischen KBW und RBS, sowie T^ – 1 ihre Inverse ist. Der in T enthaltene Translationsvektor sei p'.
-
Aus [2] mit p = 0 folgt durch Umformung q(i) = K·(F(i) – I + N)·(–p'), wobei I die 4×4-Einheitsmatrix, und N die homogene Nullmatrix (alle Elemente sind Null, nur N[4, 4] = 1) darstellen.
-
Bei mindestens 2 Aufnahmen (i = 1..2) läßt sich erneut ein überbestimmtes lineares Gleichungssystem formulieren q(1) = K·(F(1) – I + N)·(–p') q(2) = K·(F(2) – I + N)·(–p'), aus welchem sich durch bekannte mathematische Verfahren die Koordinaten der Translation p' bestimmen lassen. p' ist damit zugleich die Position des Kalibrierpunktes bezüglich des RBS.
-
Nun ist also die Position des vermessenen Merkmals in Roboterkoordinaten bekannt, außerdem der abbildende Bezug von Raumkoordinaten eines Merkmals zu Bildkoordinaten. Umgekehrt kann aus Bildkoordinaten der zugehörige Sehstrahl bestimmt werden. Die Position des zusätzlichen Merkmals kann nun durch Schneiden der Sehstrahlen von zwei Bildaufnahmen aus unterschiedlicher Richtung berechnet werden (dies entpricht dem klassichen Stereo). Um die restlichen Merkmale eines Werkstücks zu vermessen, genügen also nun pro zusätzlichem Merkmal zwei Messungen aus unterschiedlicher Richtung.
-
Natürlich wird man in der Praxis sowohl Translationen als auch Rotationen redundant ausführen, um über eine Ausgleichsrechnung eine höhere Präzision zu erreichen.
-
Vorteile:
-
Für das erste Einmessen braucht der Roboterbediener nur dafür zu sorgen, daß die Merkmale im Monitorbild der Kamera bzw. des Bildverarbeitungssystems sichtbar sind, er braucht sich also nicht in die Nähe einer Meßspitze zu begeben (Unfallgefahr).
-
Jede nachträgliche Messung geschieht vollautomatisch.
-
Messungen für gleich oder ähnlich aufgebaute Stationen mit einem oder mehreren Robotern geschehen in stationsspezifischer Standardlage vollautomatisch.
-
Es besteht keine Abhängigkeit der Meßgenauigkeit von der Sorgfalt des Bedieners. Die Messung geschieht – im Gegensatz zu einer separaten Messung mit Meßmaschine im Meßraum – direkt im Roboter-Koordinatensystem, was die Meßkette verkürzt. Die Messung geschieht direkt in der Station: a) Fehler, die beim Transport in den Meßraum auftreten können, entfallen; b) das Teil wird in der Halterung vermessen, in der es später erkannt werden soll, systematische Geometrieveränderungen aufgrund unterschiedlicher Teilehalterung (z. B. Verwinden je nach Aufhängung in einem Hängeförderer) werden automatisch stationsindividuell eingebracht.
-
Wird die gleiche Kamera zum Einmessen wie zur Werkstückerkennung verwendet, so ergibt sich noch der wesentliche Vorteil, daß bezüglich Bildauswertung systematische Meßfehler beim Einmessen wie im Automatikbetrieb gleichermaßen auftreten und sich daher in erster Näherung aufheben. Anschauliches Beispiel: Bei der Bildaufnahme eines runden Lochs kann sich aufgrund der Beleuchtungs- und Hintergrundverhältnisse eine eher mondförmige als kreisrunde Form ergeben, was zu einem seitlichen Versatzfehler bei der Messung im Bild führen kann. Tritt dieser Fehler beim Einmessen und später bei der Lageerkennung systematisch in gleicher Weise auf, so arbeitet das System mit einer virtuell verschobenen Lochposition, bei Modellbildung und Erkennung gleichermaßen, und erkennt somit die Abweichung von der Standardlage trotzdem richtig.