-
HINTERGRUND
DER ERFINDUNG
-
1. Gebiet
der Erfindung
-
Die
vorliegende Erfindung betrifft einen dreidimensionalen optischen
Sensor oder, insbesondere, einen dreidimensionalen optischen Sensor
zum Abstrahlen eines Lichtpunkts oder eines Lichtschlitzes auf die
Oberfläche
eines Objekts und zum Ausmessen der dreidimensionalen Position bestimmter Punkte
auf dem Objekt. Der erfindungsgemäße dreidimensionale optische
Sensor wird für
verschiedene Anwendungen und beispielsweise in Kombination mit einem
Roboter verwendet.
-
2. Beschreibung des Standes
der Technik
-
Ein
herkömmliches
Verfahren zum Bestimmen der dreidimensionalen Position eines auszumessenden
Objekts ist bekannt. In dem Verfahren werden mehrere Endpunkte des
Objekts bestimmt mittels eines Lichtpunkts (nachfolgend auch als „ein Pseudo-Lichtschlitz" bezeichnet) oder
eines Lichtschlitzes, der auf ebene Weise abgetastet wird, wie unten
in (i) und (ii) beschrieben.
- (i) Zwei oder
mehr Lichtschlitzstrahlen werden in ein Loch, welches in einer vorgegebenen
flachen Metallplatte ausgebildet ist, hineinprojiziert, und zumindest
drei Endpunkte werden dadurch erfasst, um die dreidimensionale Position
und die Richtung der Oberflächen
des Lochs zu bestimmen. Dieses Verfahren wird beispielsweise in
der ungeprüften
japanischen Patentveröffentlichung Nr.
6-258024 offenbart.
- (ii) Eine Schablonenanpassung bzw. Mustererkennung wird durchgeführt unter
Verwendung eines abgetasteten Lichtpunkts (Pseudo-Lichtschlitzes)
oder eines Lichtschlitzes mit der Form der Lichter auf einem Bild
als einer Schablone. Auf diese Weise wird der abgetastete Lichtpunkt oder
der Lichtschlitz bestimmt, und die dreidimensionale Position der
erfassten Punkte, die davon umfasst sind, wird bestimmt. Dieses
Verfahren ist beispielsweise in der ungeprüften japanischen Patentveröffentlichung
Nr. 10-105717 offenbart.
-
Verschiedene
Verfahren zur Kalibrierung sind für einen dreidimensionalen optischen
Sensor gut bekannt, der verwendet wird um die dreidimensionale Position
eines bestimmten Punkts eines Objektes auszumessen mittels Abstrahlens
des Lichtpunkts oder des Lichtschlitzes auf die Oberfläche des Objekts.
Eines der Verfahren ist bei spielsweise in der ungeprüften japanischen
Patentveröffentlichung
Nr. 10-063317 offenbart.
-
EP1215017A2 beschreibt
einen dreidimensionalen Positionssensor mit einem Projektor, der
angeordnet ist, um gemustertes Licht auf eine Werkstückslinie
eines Referenzwerkstücks
zu projizieren, wobei eine Kamera so ausgerichtet ist, dass sie
Teile des Lichtmusters erfasst, die auf die Oberfläche des Referenzwerkstücks auftreffen,
und eine Steuerung bzw. einen Controller, der für das Erfassen von dreidimensionalen
Positionen der Werkstückslinie
eingerichtet ist, und zwar auf der Grundlage von Position und Projektionsausrichtung
des gemusterten Lichts.
-
In
dem oben beschriebenen Verfahren (i) gilt, dass, je höher die
Messgenauigkeit ist, desto höher die
Genauigkeit ist, mit der der Teil erfasst wird, wo das Loch den
Lichtschlitz oder den Pseudolichtschlitz schneidet, der durch den
abtastenden Lichtpunkt gebildet wird. Der Teil, wo sich das Loch
und der Lichtschlitz schneiden, ist jedoch tatsächlich dort, wo es am schwierigsten
ist, den Lichtschlitz zu bestimmen. Obwohl eine gewisse Verbesserung
durch sorgfältig ausgearbeitete
Entwurfsversuche zu erwarten ist, ist es daher schwierig, den Lichtschlitz
genau zu bestimmen. Darüber
hinaus ist der Schnittpunkt, abhängig von
der Oberflächenzustand
oder der Farbe des Objekts, oft verschwommen und nicht sichtbar
oder entwickelt eine Lichthofbildung bis hin zu einem nicht mehr
unterscheidbaren Ausmaß.
-
Andererseits
wird in dem Verfahren (ii) eine Schablonenanpassung auf einem Bild
durchgeführt. Abhängig von
der Farbe oder dem Oberflächenzustand
des Objekts ist die Schlitzlinie jedoch verbreitert oder verschwommen.
Sogar in dem Fall, in dem das Zentrum des Lichtschlitzes genau definiert
ist, wird oft ein Bild mit einer anderen Form als der des Schablonenmodells
gebildet, mit dem Ergebnis, dass eine gleichmäßige Erfassung schwierig ist.
Ferner wird der Teil nahe dem Ende des Bilds leicht durch Linsenstörungen beeinflusst.
Der Gebrauch einer Linse mit großer Brennweite um diese Unannehmlichkeit
zu vermeiden, würde
zu dem Problem führen, dass
das optische Feld so schmal ist, dass sogar eine kleine Versetzung
des Objekts den Lichtschlitz unsichtbar macht.
-
Dementsprechend
ist es das Ziel dieser Erfindung, das Problem des oben beschriebenen
Standes der Technik zu lösen.
Insbesondere ist diese Erfindung dazu vorgesehen, den dreidimensionalen
optischen Sensor zum Messen der dreidimensionalen Position eines
bestimmten Punkts eines Objekts zu verbessern mittels Abstrahlens
des Lichtpunkts oder des Lichtschlitzes auf die Oberfläche des
Objekts. Sogar in ei nem Fall, in dem genaue Messung einer dreidimensionalen
Position in dem Stand der Technik schwierig ist, macht es diese
Erfindung möglich,
die dreidimensionale Position eines Merkmalspunkts auf einer Referenzlichtebene
zu bestimmen.
-
ZUSAMMENFASSUNG
DER ERFINDUNG
-
Gemäß dieser
Erfindung wird das oben genannte Problem mittels eines dreidimensionalen
optischen Sensors gelöst
unter Verwendung des Referenzlichts (des Lichtschlitzes oder des
Pseudo-Lichtschlitzes, der gebildet wird mittels Abtastens eines Lichtpunkts),
welches auf ebene Weise projiziert wird, wobei die dreidimensionalen
Positionen einer Vielzahl von Punkten, die auf einem Roboterkoordinatensystem
oder einem für
einen Sensor eindeutigen Koordinatensystem bestimmt werden, auf
ein Koordinatensystem projiziert werden, welches einer Referenzlichtebene
zugeordnet ist, und ein Merkmalspunkt wird auf dem Koordinatensystem
bestimmt, wo das Licht hinprojiziert wird. Dann wird die Position des
so bestimmten Merkmalspunkts umgewandelt auf das Roboterkoordinatensystem
oder das für
den Sensor eindeutigen Koordinatensystem.
-
Insbesondere
wird, gemäß eines
ersten Gesichtspunkts der Erfindung, ein dreidimensionaler optischer
Sensor bereitgestellt, der ein erstes Bildaufnahmemittel zum Aufnehmen
des Lichtpunkts oder des Lichtschlitzes aufweist, welcher als Referenzlicht auf
die Oberfläche
eines auszumessenden Objekts abgestrahlt wird, und ein Mittel zum
Erfassen der dreidimensionalen Position, bei welcher das Referenzlicht
auf die Oberfläche
des Objekts auftrifft auf der Grundlage des Auftreffpunkts des Referenzlichts und
der Richtung, in welcher das Referenzlicht auf das erfasste Bild
abgestrahlt wird. Diese Erfindung hat die nachstehend beschriebenen
Merkmale.
-
Der
erfindungsgemäße dreidimensionale
optische Sensor weist auf:
Ein Steuermittel, welches angeordnet
ist zum Erfassen einer Vielzahl von dreidimensionalen Positionen auf
einer Schnittlinie zwischen der Referenzlichtebene, die den Lichtschlitz
beinhaltet und der Oberfläche des
auszumessenden Objekts, wobei die Vielzahl der dreidimensionalen
Positionen benötigt
wird, um eine Form der Schnittlinie zu bestimmen.
-
Das
Steuermittel ist ferner angeordnet zum Bestimmen der Schnittlinie
in einem dreidimensionalen orthogonalen Koordinatensystem, welches
dergestalt festgesetzt ist, dass eine Ebene, die mittels zweier
der drei Koordinatenachsen des dreidimensi onalen orthogonalen Koordinatensystems
gebildet wird, mit der Referenzlichtebene übereinstimmt oder parallel
dazu liegt.
-
Das
Steuermittel ist ferner angeordnet zum Erfassen einer Position einer
Merkmalslinie des auszumessenden Objekts auf einer Bildebene eines zweiten
Bildaufnahmemittels.
-
Das
Steuermittel ist ferner angeordnet zum Projizieren der Merkmalslinie
auf der Bildebene des zweiten Bildaufnahmemittels auf die Referenzlichtebene
mittels einer Projektionstransformation und zum Bestimmen einer
Position einer projizierten Merkmalslinie in dem dreidimensionalen
orthogonalen Koordinatensystem.
-
Das
Steuermittel ist ferner angeordnet zum Bestimmen eines Schnittpunkts
zwischen der Schnittlinie und der projizierten Merkmalslinie in
dem dreidimensionalen orthogonalen Koordinatensystem.
-
Das
Steuermittel kann ferner angeordnet sein zum Umwandeln der Position
des bestimmten Schnittpunkts in dem dreidimensionalen orthogonalen
Koordinatensystem in eine Position des Schnittpunkts in zumindest
einem Koordinatensystem, welches in einem dreidimensionalen optischen
Sensor oder in einem Roboter, der den dreidimensionalen optischen
Sensor trägt,
festgesetzt ist.
-
Das
erste Bildaufnahmemittel kann auch als das zweite Bildaufnahmemittel
dienen.
-
Gemäß einem
zweiten Gesichtspunkt der Erfindung, wird ein dreidimensionaler
optischer Sensor bereitgestellt, der Schablonenerkennung nutzt,
welcher ein Bildaufnahmemittel zum Aufnehmen eines Bilds des Lichtpunkts
oder des Lichtschlitzes aufweist, welcher als Referenzlicht auf
die Oberfläche eines
auszumessenden Objekts abgestrahlt wird, und ein Mittel zum Erfassen
der dreidimensionalen Position, bei welcher das Referenzlicht auf
die Oberfläche
des Objekts auftrifft, und zwar auf der Grundlage des Punkts, bei
welchem das Referenzlicht auf das aufgenommene Bild auftrifft, und
der Richtung, in welcher das Referenzlicht auf das aufgenommene Bild
abgestrahlt wird.
-
Der
dreidimensionale optische Sensor gemäß diesem Gesichtspunkt der
Erfindung weist auf:
Ein Steuermittel, welches angeordnet ist
zum Erfassen einer Vielzahl von dreidimensionalen Positionen auf
einer Schnittlinie zwischen der Referenzlichtebene, die den Lichtschlitz
beinhaltet, und der Oberfläche
des zu messenden Objekts, wobei die Vielzahl der dreidimensionalen
Positionen benötigt
wird, um eine Form der Schnittlinie zu bestimmen.
-
Das
Steuermittel ist ferner angeordnet zum Bestimmen der Schnittlinie
in einem dreidimensionalen orthogonalen Koordinatensystem, welches
dergestalt festgesetzt ist, dass eine Ebene, die mittels zweier
der drei Koordinatenachsen gebildet wird, mit der Referenzlichtebene übereinstimmt
oder parallel dazu liegt.
-
Das
Steuermittel ist ferner angeordnet zum Bestimmen eines Punkts, der
auf der Schnittlinie erfasst werden soll, und zwar durch Anpassen
einer vorbereiteten Schablone eines geometrischen Musters der Schnittlinie
mit der erfassten Schnittlinie in dem dreidimensionalen orthogonalen
Koordinatensystem und zum Bestimmen einer Position des Punkts, der
in dem dreidimensionalen orthogonalen Koordinatensystem erfasst
werden soll.
-
Das
Steuermittel kann ferner angeordnet sein zum Umwandeln der Position
des Erfassungspunkts in dem dreidimensionalen orthogonalen Koordinatensystem
in eine Position des Erfassungspunkts in zumindest einem der Koordinatensysteme, welches
in einem dreidimensionalen optischen Sensor oder in einem Roboter,
der den dreidimensionalen optischen Sensor trägt, festgesetzt ist.
-
In
dem erfindungsgemäßen dreidimensionalen
optischen Sensor wird die dreidimensionale Position in dem Roboterkoordinatensystem
und dem Sensorkoordinatensystem für jeden Punkt auf einem Werkstück oder
einem ähnlichen
Objekt bestimmt, welches mit dem Referenzlicht auf ebener Weise
angestrahlt wird. Als Nächstes
wird das Koordinatensystem, auf welchem die dreidimensionale Position bestimmt
wird, in das Koordinatensystem umgewandelt, welches der Referenzlichtebene
zugeordnet ist. In Übereinstimmung
mit dieser Koordinatentransformation wird die dreidimensionale Position
umgewandelt. Unter Verwendung der Positionsinformation nach der
Transformation wird die Position des Merkmalspunkts bestimmt, der
auf dem Koordinatensystem nach der Transformation erfasst werden
soll. Beim Ablauf kann das gut bekannte Schablonenanpassungsverfahren
verwendet werden. Diese Position wird weiter in das Originalkoordinatensystem
umgewandelt. Als ein Ergebnis wird die dreidimensionale Position
des Merkmalspunkts auf dem ebenen Referenzlicht bestimmt.
-
Sogar
in einem Fall, in dem die dreidimensionale Position gemäß des Standes
der Technik nicht genau ausgemessen werden kann, macht es diese Erfindung
möglich,
die dreidimensionale Position eines Merkmalspunkts auf dem ebenen
Referenzlicht genau zu bestimmen, wodurch die Messgenauigkeit und
die Zuverlässigkeit
des dreidimensionalen optischen Sensors verbessert wird.
-
KURZE BESCHREIBUNG
DER ZEICHNUNGEN
-
1 ist
ein Diagramm, welches eine allgemeine Konfiguration zeigt, die gemäß einer
Ausführungsform
der Erfindung verwendet wird.
-
2 ist
ein Diagramm, welches ein Beispiel einer Anwendung gemäß einer
Ausführungsform zeigt.
-
3 ist
ein Diagramm, welches das Verhältnis
zwischen dem projizierten Teil 19 eines Werkstücks 13 zeigt,
welches mit einem Lichtschlitz 12 angestrahlt wird und
einer Seite 15 des Werkstücks 13 in der X-Y-Ebene
des Referenzkoordinatensystems in 2.
-
4 ist
ein Ablaufdiagramm, welches schematisch die Schritte zeigt, die
gemäß einer
Ausführungsform
in der in 2 gezeigten Anwendung ausgeführt werden.
-
5 ist
ein Diagramm, welches ein weiteres Beispiel einer Anwendung gemäß einer
Ausführungsform
zeigt.
-
6 ist
ein schematisches Diagramm zur Erklärung der in 5 gezeigten
Anwendung.
-
7 ist
ein Ablaufdiagramm, welches schematisch die Lehr-(Modellregistrierungs-)
Schritte zeigt, die gemäß einer
Ausführungsform
für die
Anwendung von 5 ausgeführt werden.
-
8 ist
ein Ablaufdiagramm, welches schematisch die Messschritte zeigt,
die gemäß einer
Ausführungsform
für die
in 5 gezeigte Anwendung ausgeführt werden.
-
GENAUE BESCHREIBUNG DER
ERFINDUNG
-
Ausführungsformen
der Erfindung sind nachstehend mit Bezug zu den Zeichnungen erklärt. Zunächst ist 1 eine
Figur, die eine allgemeine Konfiguration zeigt, die in einer Ausführungsform
der Erfindung verwendet wird. Der Sensorkopf eines dreidimensionalen
optischen Sensors umfasst einen Projektor 1 zum Projizieren
den Lichtschlitzes oder des Pseudolichtschlitzes als einem Referenzlicht
und eine Videokamera 2 zum Empfangen des projizierten Referenzlichts.
Die Videokamera 2 wird nicht nur als Empfänger verwendet,
um das reflektierte Referenzlicht zu erfassen, sondern auch, um
die zweidimensionale Merkmalsmenge des auszumessenden Objekts zu
bestimmen. Wie oben beschrieben, ist der „Pseudolichtschlitz" hierein definiert
als der Pseudolichtschlitz, der mittels eines in ebener Form abgetasteten
Lichtpunkts gebildet wird. Die Ebene, die den Lichtschlitz trägt, oder
die Ebene, die den projizierten Lichtstrahlpunkt trägt, und
zwar zum Abtasten eines Lichtpunkts, stellt die „Referenzlichtebene" dar. In der folgenden
Beschreibung wird die Bezeichnung „Lichtschlitz", soweit nicht anders
festgelegt, als Ausdruck verwendet, der auch den „Pseudolichtschlitz" umfasst.
-
Bezugsziffer 6 bezeichnet
einen Roboter, der mit einer Robotersteuerung 5 verbunden
und auf eine gut bekannte Weise von ihr gesteuert wird. Wie in 1 gezeigt,
ist der dreidimensionale optische Sensor (d.h. „Sensorkopf", was im Folgenden
ebenfalls zutrifft) am vorderen Ende (Abdeckung) auf dem Roboter 6 befestigt.
Die Robotersteuerung 5, die auch als ein Bildprozessor/-controller
des optischen Sensors dient, ist mit dem Projektor 1 und
der Videokamera 2 verbunden. Die Robotersteuerung bzw.
der Robotercontroller 5 steuert den Projektionsbetrieb des
Projektors 1 und den Bildaufnahmebetrieb der Videokamera 2 einerseits,
während
sie gleichzeitig das Bild aufnimmt und verarbeitet und die verschiedenen,
später
beschriebenen Abläufe
ausführt.
-
Der
Roboter 6 weist ein eindeutiges Koordinatensystem (nachstehend
als „das
Roboterkoordinatensystem" bezeichnet) 7 auf.
Darüber
hinaus ist ein Koordinatensystem (nachstehend als „das Abdeckungskoordinatensystem) 3 auf
der Abdeckung des Roboters 6 bleibend festgesetzt. Das
Abdeckungskoordinatensystem 3 steht in Beziehung mit dem
Roboterkoordinatensystem, und hat Daten (Matrixdaten) davon im internen
Speicher der Robotersteuerung 5 gespeichert. Ferner ist
die gut bekannte Kalibrierung des dreidimensionalen optischen Sensor
breites abgeschlossen, und die verschiedenen, durch die Kalibrierung
erlangten Daten (Kalibrierungsdaten) sind im internen Speicher der
Robotersteuerung 5 gespeichert.
-
Die
Kalibrierungsdaten umfassen die Daten zum Bestimmen, und zwar mittels
Berechnung, wo der mittels des Projektors 1 projizierte
Lichtschlitz eine Ebene (Referenzlichtebene) im Raum bildet und der
Richtung, in welche die optische Achse der Videokamera 2 gerichtet
ist. Gleichzeitig wird ein für
den optischen Sensor eindeutiges Koordinatensystem (nachstehend
als „das
Sensorkoordinatensystem" bezeichnet) 4 festgesetzt.
Das Abdeckungskoordinatensystem 3 und das Sensorkoordinatensystem 4 stehen
mittels einer Transformationsmatrix (Sf) in Beziehung, und die Daten
der Transformationsmatrix (Sf) sind ebenfalls in dem internen Speicher
der Robotersteuerung 5 gespeichert. Ein konkretes Verfahren
der Kalibrierung und die Inhalte der Daten sind gut bekannt, während das
Verfahren zum Bestimmen der Transformationsmatrix (Sf) in der ungeprüften japanischen
Patentveröffentlichung
Nr. 10-063317 offenbart
wird.
-
2 zeigt
eine Anwendung des Systems von 1, in welcher
eine Anweisung von der Robotersteuerung 5 ausgegeben wird,
und der Lichtschlitz (welcher, wie oben beschrieben, der Pseudolichtschlitz
sein kann, der aus dem abtastenden Lichtpunkt gebildet wird) 12 wird
mittels des Projektors 1 auf das Messobjekt (in diesem
Fall ein parallelepipedes bzw. spatförmiges Werkstück) 13 abgestrahlt, um
dadurch die dreidimensionale Position des Schnittpunkts 11 des
Lichtschlitzes 12 und einer Seite 15 des Werkstücks 13 zu
bestimmen. Ein Verfahren zum genauen Bestimmen der dreidimensionalen Position
des Schnittpunkts 11 gemäß dieser Ausführungsform
ist nachstehend beschrieben.
-
Bei
Strahlen des Lichtschlitzes 12 auf das Werkstück 13,
wird der Teil 19, der mittels des Lichtschlitzes angestrahlt
wird, heller gemacht als die anderen Teile. Der Lichtschlitz 12 ist
eben, und deshalb sollte der projizierte Teil 19 idealerweise
eine klare helle Linie (welche eine pseudohelle gepunktete Linie
im Fall des Pseudolichtschlitzes sein kann, für welche das gleiche nachstehend
gilt) mit einer vorbestimmten Linienbreite sein. In tatsächlichen
Fällen kann
die Linienbreite jedoch unregelmäßig werden, oder
ein unscharfer Schatten kann in einem Teil des projizieren Teils 19 auftauchen
oder insbesondere in der Nähe
des Schnittpunkts 11, und zwar abhängig von Oberflächenzuständen oder
einer Farbe des Werkstücks 13,
wie oben beschrieben.
-
Insbesondere
in einem anderen Fall als dem Extremfall, bei dem der gesamte projizierte
Teil 19 unscharf ist, kann die dreidimensionale Position
eines jeden von vielen Punkten auf dem Sensorkoordinatensystem bestimmt
werden. In dem Fall, in dem Unregelmäßigkeiten in der Linienbreite
oder der unscharfe Schatten in der Nähe des Schnittpunktes 11 auftaucht,
kann die genaue Position des Schnittpunkts 11 jedoch nicht
bestimmt werden, was zu dem Nachteil des Standes der Technik führt.
-
Gemäß dieser
Ausführungsform
wird die dreidimensionale Position jedes Punkts, der den projizierten
Teil 19 auf dem Sensorkoordinatensystem ausmacht, vorläufig in
die Koordinate der dreidimensionalen Position auf dem Referenzkoordinatensystem
umgewandelt, wobei eine X-Y-Ebene in der Ebene des Lichtschlitzes 12 festgesetzt
ist. Falls die Transformationsmatrix, die diese Koordinatentransformation
repräsentiert,
[T] ist, können
die Daten [T] der Transformationsmatrix aus den Daten auf der Ebene,
die den Lichtschlitz trägt,
welcher den projizierten Teil 19 bildet, und den festgesetzten
Daten des Sensorkoordinatensystems bestimmt werden. Die Bestimmung
in der Richtung der X-Achse und Y-Achse des Referenzkoordinatensystems
lässt einen
gewissen Freiraum. Nichtsdestotrotz kann die Richtung, in welcher
die X-Achse (oder Y-Achse) des Sensorkoordinatensystems auf die
Referenzebene projiziert wird, als die X-Achse (oder Y-Achse) des Referenzkoordinatensystems
genutzt werden.
-
Falls
die dreidimensionale Position jedes Punkts Pn auf dem projizierten
Teil 19 auf dem Sensorkoordinatensystem (xn, yn, zn) ist
und die dreidimensionale Position davon auf dem Referenzkoordinatensystem
(Xn, Yn, Zn) ist, befindet sich die Projektion jedes Punkts Pn auf
der Referenzebene (Ebene des Lichtschlitzes 12), und deshalb
sollte Zn Null sein. Somit kann die dreidimensionale Position (Xn, Yn,
0) auf dem Referenzkoordinatensystem eigentlich als zweidimensionale
Information verarbeitet werden. In diesem Fall ist das Referenzkoordinatensystem
dergestalt festgesetzt, dass die X-Y-Ebene mit der Ebene des Lichtschlitzes 12 übereinstimmt. Als
Alternative kann das Referenzkoordinatensystem jedoch dergestalt
festgesetzt sein, dass die Ebene, die durch zwei Achsen gebildet
wird, wie etwa die X-Y-Ebene jedes Koordinatensystems, parallel
zur Ebene des Lichtschlitzes 12 liegt. In einem solchen Fall
nimmt die Ebene des Lichtschlitzes 12 den Wert Zn = Z0
(Z0: konstant) an jedem Punkt an, und (Xn, Yn, 0) wird ersetzt durch
(Xn, Yn, Z0) auf dem Referenzkoordinatensystem. Nichtsdestotrotz
bleibt der Wert Zn konstant, und deshalb können diese Punkte immer noch
als zweidimensionale Information verarbeitet werden.
-
Der
zu bestimmende Schnittpunkt 11 ist sowohl ein Punkt auf
dem Teil 19, wo der Lichtschlitz 12 auf das Werkstück 13 gestrahlt
wird, als auch gleichzeitig ein Punkt auf der Seite 15 des
Werkstücks 13. Die
Seite 15 des Werkstücks 13 kann
als Linienabschnitt (Linienbild) erfasst werden mittels der normalen
Bildaufnahmefunktion (zweidimensionale Bildaufnahmefunktion oder
Erfassungsfunktion der Videokamera 2 und der Bildverarbeitungsfunktion
des optischen Sensors. Dieser Ablauf wird gezeigt mittels des Linienabschnitts
(Linienbilds) 17 auf der Bildebene 16 in 2.
Die Seite 15 des Werkstücks 13 ist
in der Ebene 18 enthalten, die den Linienabschnitts 17 und
einen Punkt (normalerweise die Linsenmitte, deren Position mittels
Kalibrierung bestimmt wird) in der Videokamera 2 umfasst.
-
Bezüglich der
Schnittlinie zwischen der Ebene 18 und der Ebene des Lichtschlitzes 12 (ausgedrückt als
Z = 0 auf dem Referenzkoordinatensystem), zeigt 3 das
Verhältnis
zwischen dem projizierten Teil 19, wo der Lichtschlitz 12 auf
das Werkstück 13 gestrahlt
wird, und der Seite 15 des Werkstücks 13. Da das Werkstück parallelepiped
ist, werden sowohl der Teil 19, wo der Lichtschlitz 12 auf
das Werkstück 13 gestrahlt
wird, als auch die Seite 15 des Werkstücks 13 als eine gerade
Linie projiziert. Somit wird der Schnittpunkt zwischen den geraden Linien
bestimmt. Im tatsächlichen
Verfahren werden eine Gleichung, welche die gerade Linie angibt,
welche dem projizierten Teil 19 entspricht, und eine Gleichung,
welche die gerade Linie angibt, die der Seite 15 entspricht,
bestimmt, und zwar mittels der Methode der kleinsten Quadrate oder
einer ähnlichen
gut bekannten Methode, und der Schnittpunkt (Xq, Yq, 0) wird errechnet,
wo (Xq, Yq, 0) der Koordinatenwert auf dem Referenzkoordinatensystem
ist.
-
Es
werde angenommen, dass die Werkstücksoberfläche oder eine Seite des Werkstücks gekrümmt ist.
Eine gekrümmte
Linie anstatt einer geraden Linie wird projiziert. In einem solchen
Fall kann ein ähnlicher
Ablauf ausgeführt
werden mittels Bestimmens dieser Kurven als eine Funktion beispielsweise
unter Verwendung der gut bekannten Methode des Annäherns, der
Polynomkurve oder der Splinekurve mittels der Methode der kleinsten
Quadrate. Die auf diese Weise bestimmte Position des Schnittpunkts
(Wert auf dem Referenzkoordinatensystem) wird der inversen Transformation
(ausgedrückt
als die inverse Matrix Inv [T] der Matrix [T]) der oben genannten
Transformation (ausgedrückt
als die Matrix [T]) unterworfen. Somit kann die dreidimensionale Position
auf dem ursprünglichen
Sensorkoordinatensystem bestimmt werden. Darüber hinaus kann die dreidimensionale
Position auf dem Sensorkoordinatensystem in die Daten auf dem Roboterkoordinatensystem
umgewandelt werden unter Verwendung der oben beschriebenen Transformationsmatrix
[Sf]. 4 fasst diese Abläufe als Ablaufdiagramm der nachstehend
kurz beschriebenen Schritte zusammen.
-
Schritt
S1: Eine Anweisung, einen normalen Bildaufnahmebetrieb durchzuführen, wird
von der Robotersteuerung 5 zur Videokamera 2 gesendet, und
ein zweidimensionales Bild mit einem zweidimensionalen Merkmalsteil,
wie etwa einer geraden Linie, die einen auf dem Werkstück (allgemein
ein auszumessendes Objekt, da das gleiche nachstehend gilt) 13 zu
bestimmenden Punkt aufweist, wird erfasst.
-
Schritt
S2: Ein zweidimensionaler Merkmalsteil wird auf der Bildebene mittels
Verarbeitens des Bilds in der Robotersteuerung 5 extrahiert.
-
Schritt
S3: Punkte der Anzahl N (N ≥ 2
und beispielsweise auf einige Zehn im Voraus festgesetzt) werden
gemäß einer
geeigneten Regel aus dem Merkmalsteil (beispielsweise einer Seite)
auf der extrahierten Bildebene bestimmt. Beispielsweise werden N
Punkte in gleichmäßigen Abständen aus den
Pixeln ausgewählt,
die dem Merkmalsteil entsprechen.
-
Schritt
S4: Eine Lichtprojektionsanweisung wird von der Robotersteuerung
an den Projektor 1 gesendet, während eine Anweisung an die
Videokamera 2 gesendet wird, gleichzeitig das Bild des
Lichtschlitzes aufzunehmen. Somit wird ein Bild, welches den projizierten
Teil 19 aufweist, erfasst.
-
Schritt
S5: Der projizierte Teil 19 wird auf der Bildebene mittels
Verarbeitens des Bilds in der Robotersteuerung 5 extrahiert.
-
Schritt
S6: der Anzahl M (M ≥ 2
und beispielsweise auf einige Zehn im Voraus festgesetzt) werden
gemäß einer
geeigneten Regel aus dem Bild des projizierten Teils 19,
der in Schritt S4 abgefragt wurde, bestimmt. Beispielsweise werden
M Punkte in gleichmäßigen Abständen aus
den Pixeln ausgewählt,
die dem projizierten Teil entsprechen.
-
Schritt
S7: Die dreidimensionale Position jedes der (N) Schnittpunkte zwischen
jeder der (N) geraden Linien, die jeden der in Schritt S3 ausgewählten (N)
Punkte und einen Punkt (beispielsweise Linsenzentrum) in der Videokamera 2 verbinden,
und der Ebene des in Schritt S4 projizierten Lichtschlitzes (Schlitzebene)
wird auf dem Sensorkoordinatensystem bestimmt.
-
Schritt
S8: Die dreidimensionale Position (auf dem Sensorkoordinatensystem)
jedes der in Schritt S6 ausgewählten
M Punkte wird umgewandelt in die Daten auf dem Referenzkoordinatensystem (das
auf der Schlitzebene festgesetzt ist oder parallel dazu liegt) unter
Verwendung der Koordinatentransformationsmatrix [T].
-
Schritt
S9: Die dreidimensionale Position (auf dem Sensorkoordinatensystem)
jedes der in Schritt S7 N Punkte wird umgewandelt in die Daten auf
dem Referenzkoordinatensystem (das auf der Schlitzebene festgesetzt
ist oder parallel dazu ist) unter Verwendung der Koordinatentransformationsmatrix
[T].
-
Schritt
S10: Auf der Grundlage des in Schritt S8 erlangten Ergebnisses wird
eine Kurve (oder in einigen Fällen
eine gerade Linie), die ausgedrückt
ist durch die M Punkte auf der Referenzebene, mittels einer gut
bekannten Annäherungsmethode,
wie etwa der Methode der kleinsten Quadrate, bestimmt.
-
Schritt
S11: Auf der Grundlage des in Schritt S9 erlangten Ergebnisses wird
eine Kurve (oder in einigen Fällen
eine gerade Linie), die ausgedrückt
ist durch die N Punkte auf der Referenzebene, mittels einer gut
bekannten Annäherungsmethode,
wie etwa der Methode der kleinsten Quadrate, bestimmt.
-
Schritt
S12: Der in den Schritten S10 und S11 bestimmte Schnittpunkt zwischen
den Kurven (oder geraden Linien) wird auf dem Referenzkoordinatensystem
bestimmt.
-
Schritt
S13: Der in Schritt S12 bestimmte Schnittpunkt wird der umgekehrten
Transformation unterworfen, welche durch die umgekehrte Matrix Inv [T]
von [T] ausgedrückt
wird, um dadurch einen Schnittpunkt auf dem Sensorkoordinatensystem
zu bestimmen.
-
Schritt
S14: Der in Schritt 13 bestimmte Schnittpunkt wird der Transformation
unterworfen, welche durch die Matrix [Sf] ausgedrückt wird,
um dadurch einen Schnittpunkt auf dem Abdeckungskoordinatensystem
zu bestimmen. Falls nötig,
werden diese Daten weiter in die Daten auf dem Roboterkoordinatensystem
umgewandelt.
-
Durch
Ausführen
dieser Schritte kann die dreidimensionale Position des Schnittpunkts 11 (2)
genau bestimmt werden. Das Merkmal dieses Ablaufs besteht darin,
dass der Schnittpunkt 11 selbst (der entsprechende Bildpunkt
bzw. Pixel) nicht in dem Bild (dem Bildpunkt) des projizierten Teils 19 enthalten
zu sein braucht, der in Schritt S5 extrahiert wurde, oder in den
in Schritt S6 ausgewählten
Punkten. Mit anderen Worten wird die dreidimensionale Position des
Schnittpunkts 11 in dem Bild des projizierten Teils 19 nicht
in der Genauigkeit beeinträchtigt,
solange die Kurve (oder gerade Linie) in Schritt S10 insgesamt genau
bestimmt wird. Diesen Vorteil erhält man nicht durch den Stand
der Technik.
-
Als
Nächstes
wird eine weitere Anwendung der Erfindung, wie in 5 gezeigt,
erläutert.
Diese Anwendung stellt einen Fall dar, in welchem die dreidimensionale
Position eines konvexen Punkts 21 eines gestuften Werkstücks 23 bestimmt
wird. Zuerst wird ein geeignetes Werkstück als ein typisches auszumessendes
Objekt vorbereitet, und es wird, wie in dem oben beschriebenen Fall,
die dreidimensionale Position jedes beliebigen Punkts, wo der projizierte Teil 22 des
Werkstücks 23 mit
dem Lichtschlitz 12 angestrahlt wird, auf dem Sensorkoordinatensystem 4 bestimmt.
Diese Position wird auf die gleiche Weise wie in dem davor erwähnten Fall
mittels der Koordinatentransformationsmatrix (Matrix [T]) in die
dreidimensionale Position auf dem Referenzkoordinatesystem umgewandelt.
-
Als
ein Ergebnis werden die Werte von X und Y an jedem Punkte auf die
X-Y-Ebene des Referenzkoordinatensystems aufgezeichnet und, falls
nötig, miteinander
verbunden, um ein Bild zu ergeben. Ein Beispiel ist in 6 gezeigt.
In diesem Fall sind die rechten und linken Teile in unterschiedlicher
Helligkeit dargestellt, um die Verständlichkeit der Punkte zu erleichtern,
die aufgezeichnet und als eine Grenze verbunden sind. In 6 wird
die Form, die den zu bestimmenden Merkmalspunkt umfasst, vorher
in der Robotersteuerung 5 als eine Schablone 24 registriert (gelehrt).
Das Modellbild 24 wird als Muster bzw. Schablone zum Erfassen
des Merkmalsteils (in diesem Fall des konvexen Teils) zur Zeit einer
nachfolgenden Messung verwendet. Insbesondere wird bei jedem nachfolgenden
Ablauf ein entsprechendes Bild vorbereitet unter Verwendung des
Eingangsbildes jedes auszumessenden Werkstücks, und Bilder mit der gleichen
Form werden mittels der gut bekannten Modellanpassungstechnik erkannt,
wie etwa der normalisierten Korrelation, um dadurch den Merkmalspunkt 21 zu
erfassen (erkennen oder bestimmen).
-
Die
dreidimensionale Position (auf dem Referenzkoordinatensystem) des
erfassten Merkmalspunkts 21 wird einer inversen Transformation
(Inv [T]) unterworfen, um die dreidimensionale Position des Merkmalspunkts 21 auf
dem Originalsensorkoordinatensystem 4 zu bestimmen.
-
7 und 8 sind
eine Zusammenfassung dieses Ablaufs in einem Ablaufdiagramm, welches
in „Lehre
(Modellregistrierung)" und „Messung" aufgeteilt ist.
Jeder Schritt ist nachstehend kurz beschrieben.
-
[Lehre (Modellregistrierung)]
(7)
-
Schritt
Q1: Eine Projektionsanweisung wird von der Robotersteuerung 5 an
den Projektor 1 gesendet, um den Lichtschlitz dergestalt
zu projizieren, dass er durch den konvexen Punkt 21 des
zur Lehre verwendeten Werkstücks
läuft.
Gleichzeitig wird eine Anweisung, ein Bild des Lichtschlitzes aufzunehmen, an
die Videokamera 2 gesendet, um ein Bild zu erfassen, welches
den projizierten Teil 22 beinhaltet.
-
Schritt
Q2: Der projizierte Teil 22 wird auf der Bildebene extrahiert
durch Verarbeiten des Bilds in der Robotersteuerung 5.
-
Schritt
Q3: Die geeignete Anzahl (100 beispielsweise) von Punktreihen wird
bestimmt, um das Bild des projizierten Teils 22 auszudrücken, welcher in
Schritt Q2 abgefragt wurde.
-
Schritt
Q4: Die dreidimensionale Position (auf dem Sensorkoordinatensystem)
der Punktreihe bzw. Linie von Punkten, die in Schritt Q3 bestimmt wurde,
wird umgewandelt in die Daten auf dem Referenzkoordinatensystem
(das auf der Schlitzebene oder parallel dazu festgesetzt ist, und
zwar unter Verwendung der Koordinatentransformationsmatrix [T].
-
Schritt
Q5: Ein zweidimensionales Bild wird erzeugt auf der Grundlage der
in Schritt Q4 erlangten Linie von Punkten. Falls nötig, wird
die Linie von Punkten verbunden, oder die Helligkeit wird zwischen
den zwei Flächen
unterschieden, die durch die verbundene Linie getrennt werden.
-
Schritt
Q6: Das in Schritt Q5 erzeugte zweidimensionale Bild wird als ein
Modellbild im Speicher der Robotersteuerung 5 gespeichert,
um damit den Ablauf zu beenden.
-
[Messung] (8)
-
Schritt
R1: Eine Projektionsanweisung wird von der Robotersteuerung 5 an
den Projektor 1 gesendet, um den Lichtschlitz dergestalt
zu projizieren, dass er durch den konvexen Punkt 21 des
auszumessenden Werkstücks
läuft.
Gleichzeitig wird eine Anweisung, ein Bild des Lichtschlitzes aufzunehmen, an
die Videokamera 2 gesendet, um ein Bild zu erfassen, welches
den projizierten Teil 22 aufweist.
-
Schritt
R2: Der projizierte Teil 22 wird auf der Bildebene abgefragt
durch Verarbeiten des Bilds in der Robotersteuerung 5.
-
Schritt
R3: Die geeignete Anzahl (100 beispielsweise) von Linien von Punkten
wird bestimmt, um das Bild des projizierten Teils 22 auszudrücken, welcher
in Schritt R2 abgefragt wurde.
-
Schritt
R4: Die dreidimensionale Position (auf dem Sensorkoordinatensystem)
der Linie aus Punkten, die in Schritt R3 bestimmt wurde, wird umgewandelt
in die Daten auf dem Referenzkoordinatensystem (das auf der Schlitzebene
oder parallel dazu festgesetzt ist), und zwar unter Verwendung der Koordinatentransformationsmatrix
[T]
-
Schritt
R5: Ein zweidimensionales Bild wird erzeugt auf der Grundlage der
in Schritt R4 erlangten Linie von Punkten. Falls nötig, wird
die Linie von Punkten verbunden, oder die Helligkeit wird unterschieden
zwischen den zwei Flächen,
die durch die verbundene Linie getrennt werden, oder ein ähnlicher
Ablauf wie der zum Erzeugen des Modellbildes wird ausgeführt.
-
Schritt
R6: Das gelehrte Modellbild wird als eine Schablone bzw. ein Muster
verwendet, und durch Schablonenanpassung bzw. Mustererkennung mit
dem in Schritt R5 erzeugten zweidimensionalen Bild wird der Merkmalsteil
(konvexer Teil mit dem Punkt 21) erkannt.
-
Schritt
R7: Der Punkt 21 wird bestimmt, und die dreidimensionale
Position auf dem Referenzkoordinatensystem wird der inversen Transformation
(Inv [T]) unterworfen, um die dreidimensionale Position auf dem
Sensorkoordinatensystem zu bestimmen.
-
Schritt
R8: Die in Schritt R7 bestimmte Position wird der Transformation
unter unterworfen, die mittels Matrix [Sf] ausgedrückt wird,
um den Schnittpunkt auf dem Abdeckungskoordinatensystem zu bestimmen.
Falls nötig,
wird der Schnittpunkt weiter in die Daten auf dem Roboterkoordinatensystem
umgewandelt.
-
Durch
Ausführen
der oben beschriebenen Schritte kann die dreidimensionale Position
des Punkts 21 (5) auf dem konvexen Teil genau
erfasst werden. Das Merkmal dieses Ablaufs besteht darin, dass das
Bild (Pixel bzw. Bildpunkt) des projizierten Teils 22,
der in den Schritten Q2, R2 extrahiert wurde, nicht den Punkt 21 selbst
(entsprechender Bildpunkt) zu umfassen braucht. Mit anderen Worten wird,
solange das in den Schritten Q5, R5 erzeugte zweidimensionale Bild
insgesamt genau bestimmt werden kann, die dreidimensionale Position
des Punkts 21 nicht in der Genauigkeit beeinträchtigt. Diesen
Vorteil erhält
man nicht durch den Stand der Technik.
-
Obwohl
die Erfindung mit beispielhaften Ausführungsformen davon gezeigt
und beschrieben worden ist, sollte dem Fachmann klar sein, dass
die obigen und verschiedene andere Änderungen, Auslassungen und
Hinzufügungen
darin vorgenommen werden können,
ohne vom Umfang der Erfindung, so wie sie beansprucht wird, abzuweichen.