-
TECHNISCHES GEBIET
-
Die vorliegende Erfindung betrifft eine dreidimensionale Messvorrichtung zum Erzeugen von Positionsinformationen dreidimensionaler Punkte.
-
STAND DER TECHNIK
-
Eine bekannte Messvorrichtung erfasst ein Bild mit einem visuellen Sensor und detektiert eine dreidimensionale Position eines Objekts gemäß dem erhaltenen Bild. Beispiele für eine bekannte Messvorrichtung zum Detektieren einer dreidimensionalen Position beinhalten eine Vorrichtung zum Detektieren einer Position durch Scannen eines vorbestimmten Bereichs mit einem Laser-Entfernungsmesser und eine Vorrichtung zum Detektieren einer Position gemäß dem Triangulationsprinzip durch Erfassen von Bildern mit zwei Kameras (siehe zum Beispiel die japanische ungeprüfte Patentveröffentlichung Nr.
2008-264947A und die japanische ungeprüfte Patentveröffentlichung Nr.
2006-258486A ).
-
Außerdem ist eine bekannte Messvorrichtung zum Detektieren einer dreidimensionalen Position eine Entfernungskamera, die Licht von einer Lichtquelle emittiert und dann durch die Oberfläche eines Objekts reflektiertes Licht mit einem Lichtempfangselement empfängt (siehe zum Beispiel die internationale Veröffentlichung Nr.
WO2018/042801A1 ). Die Entfernungskamera detektiert einen Abstand zu dem Objekt gemäß der Lichtlaufzeit und einer Lichtgeschwindigkeit pro Pixel des Lichtempfangselements.
-
Beispielsweise bestrahlt die Entfernungskamera ein Objekt mit Licht, das eine mit einer vorbestimmten Periode modulierte Intensität aufweist. Die Entfernungskamera berechnet den Abstand von der Entfernungskamera zu dem Objekt gemäß einer Phasendifferenz zwischen dem von der Lichtquelle emittierten Licht und dem reflektierten Licht. Dieses Messverfahren wird optisches Laufzeitverfahren genannt. Die Entfernungskamera kann ein Entfernungsbild erzeugen, dessen Farbe oder Dichte gemäß einem pro Pixel erhaltenen Abstand geändert wird.
-
[ZITIERLISTE]
-
[PATENTLITERATUR]
-
- [PTL 1] Japanische ungeprüfte Patentveröffentlichung Nr. 2008-264947A
- [PTL 2] Japanische ungeprüfte Patentveröffentlichung Nr. 2006-258486A
- [PTL 3] Internationale Veröffentlichung Nr. WO2018/042801A1
-
KURZFASSUNG DER ERFINDUNG
-
[TECHNISCHES PROBLEM]
-
Eine Entfernungskamera, die ein Bild in einem optischen Übergangszeitverfahren erfasst, berechnet einen Abstand von der Entfernungskamera zu dem Objekt pro Pixel. Dies ermöglicht, dass ein dreidimensionaler Punkt entsprechend einem Pixel auf der Oberfläche des Objekts festgelegt wird. Die Position des dreidimensionalen Punktes entspricht der Position auf der Oberfläche des Objekts.
-
Das Lichtempfangselement der Entfernungskamera empfängt vorzugsweise Licht, das von der Oberfläche des Objekts reflektiert wird und einen Pfad durchläuft. Die Form des Objekts kann jedoch bewirken, dass Licht, das von der Lichtquelle emittiert wird, an einer Mehrzahl von Positionen reflektiert wird und zu der Entfernungskamera zurückkehrt. Beispielsweise kann Licht an einer Position reflektiert werden, die sich von einer gewünschten Position unterscheidet, und dann an der gewünschten Position reflektiert und zu der Entfernungskamera zurückgeführt werden. Das Lichtempfangselement kann Licht empfangen, das durch eine Mehrzahl von Pfaden reflektiert wird. Solch eine Mehrzahl von Pfaden wird als Multipath (Mehrweg) bezeichnet.
-
Wenn das Lichtempfangselement Licht empfängt, das eine Mehrzahl von Pfaden durchläuft, wird der durch die Entfernungskamera detektierte Abstand zu dem Objekt erhöht. Der Abstand zu dem Objekt, das in jedem Pixel detektiert wird, variiert in Abhängigkeit von der Reflexionsform des Lichts. Dementsprechend ist die Entfernungskamera möglicherweise nicht in der Lage, einen dreidimensionalen Punkt, der auf der Oberfläche des Objekts festzulegen ist, an einer korrekten Position festzulegen. Beispielsweise werden die Abstände zu dem Objekt, das in einigen Pixeln detektiert wird, erhöht, und die Oberfläche des Objekts kann als eine konkave Form detektiert werden, obwohl es tatsächlich flach ist. Wie oben beschrieben, wenn reflektiertes Licht durch Multipath empfangen wird, kann die Entfernungskamera nicht genau die Position eines dreidimensionalen Punktes auf der Oberfläche des Objekts detektieren, und somit ist das Reduzieren des Einflusses von Multipath wünschenswert.
-
[LÖSUNG DES PROBLEMS]
-
Eine dreidimensionale Messvorrichtung der vorliegenden Offenbarung beinhaltet eine Entfernungskamera, die Positionsinformationen von dreidimensionalen Punkten auf einer Oberfläche eines Objekts gemäß der Lichtlaufzeit erfasst, und eine Verarbeitungsvorrichtung, die die Positionsinformationen der dreidimensionalen Punkte, die durch die Entfernungskamera erfasst werden, verarbeitet. Die Entfernungskamera erfasst die Positionsinformationen der dreidimensionalen Punkte an einer Mehrzahl von relativen Positionen und Orientierungen der Entfernungskamera zu dem Objekt. Die Verarbeitungsvorrichtung beinhaltet eine Festlegungseinheit, die eine Mehrzahl von Evaluierungsgebieten für das Objekt zum Evaluieren von Positionen von dreidimensionalen Punkten entsprechend der Oberfläche des Objekts festlegt. Die Verarbeitungsvorrichtung beinhaltet eine Bestimmungseinheit, die in jedem der Evaluierungsgebiete einen dreidimensionalen Punkt aus einer Mehrzahl der dreidimensionalen Punkte, die innerhalb jedes der Evaluierungsgebiete detektiert werden, bestimmt, der am nächsten zu einer vorbestimmten Referenzebene, Referenzpunkt oder Referenzlinie liegt. Die Verarbeitungsvorrichtung beinhaltet eine Erzeugungseinheit, die gemäß einer Mehrzahl von dreidimensionalen Punkten, die für jedes der Evaluierungsgebiete durch die Bestimmungseinheit bestimmt werden, Positionsinformationen von dreidimensionalen Punkten erzeugt, die durch Synthetisieren von Positionsinformationen von einer Mehrzahl der dreidimensionalen Punkte, die durch die Entfernungskamera erfasst werden, erhalten werden.
-
[VORTEILHAFTE EFFEKTE DER ERFINDUNG]
-
Ein Aspekt der vorliegenden Erfindung ermöglicht die Bereitstellung einer dreidimensionalen Messvorrichtung, die den Einfluss von Multipath reduziert.
-
Figurenliste
-
- 1 ist eine Seitenansicht einer ersten Robotereinrichtung einer Ausführungsform.
- 2 ist ein Blockdiagramm der ersten Robotereinrichtung.
- 3 ist eine Perspektivansicht eines ersten Werkstücks einer Ausführungsform.
- 4 ist eine partielle Querschnittsansicht einer Kamera und eines Werkstücks, wenn reflektiertes Licht durch Multipath empfangen wird.
- 5 ist ein schematisches Diagramm, das eine Phase von Licht veranschaulicht, das in einem Pixel eines Lichtempfangselements einer Kamera empfangen wird.
- 6 ist ein Entfernungsbild eines Werkstücks, das erfasst wird, wenn kein Lichtempfang durch Multipath erzeugt wird.
- 7 ist ein Entfernungsbild, wenn ein Lichtempfang durch Multipath erzeugt wird.
- 8 ist ein Flussdiagramm, das die Steuerung einer ersten Robotereinrichtung veranschaulicht.
- 9 ist eine partielle Querschnittsansicht einer Kamera und eines Werkstücks, wenn ein erstes Entfernungsbild an einer ersten Position der Kamera erfasst wird.
- 10 ist eine partielle Querschnittsansicht einer Kamera und eines Werkstücks, wenn ein zweites Entfernungsbild an einer zweiten Position der Kamera erfasst wird.
- 11 ist eine Querschnittsansicht eines Werkstücks zum Veranschaulichen einer Position eines dreidimensionalen Punktes, wenn dreidimensionale Punkte in einem ersten Entfernungsbild und ein dreidimensionaler Punkt in einem zweiten Entfernungsbild kombiniert werden.
- 12 ist eine Perspektivansicht einer Kamera und eines Werkstücks zum Veranschaulichen eines Evaluierungsbereichs, in dem Evaluierungsgebiete angeordnet sind.
- 13 ist eine Perspektivansicht eines Evaluierungsgebiets in einer ersten Robotereinrichtung.
- 14 ist eine Querschnittsansicht eines Werkstücks zum Veranschaulichen eines dreidimensionalen Punktes, der durch eine Bestimmungseinheit bestimmt wird.
- 15 ist eine Perspektivansicht eines Lichtempfangselements und eines optischen Zentrums einer Kamera zum Veranschaulichen einer Größe eines Evaluierungsgebiets.
- 16 ist ein Diagramm, das eine Position einer Kamera veranschaulicht, wenn ein Entfernungsbild erfasst wird.
- 17 ist eine Perspektivansicht eines zweiten Werkstücks einer Ausführungsform.
- 18 ist eine Perspektivansicht eines dritten Werkstücks und eines Tisches einer Ausführungsform.
- 19 ist eine Seitenansicht einer zweiten Robotereinrichtung einer Ausführungsform.
- 20 ist eine partielle Querschnittsansicht einer Kamera und eines Werkstücks zum Veranschaulichen von Positionen dreidimensionaler Punkte, wenn ein dreidimensionaler Punkt in einem ersten Entfernungsbild und ein dreidimensionaler Punkt in einem zweiten Entfernungsbild kombiniert werden.
- 21 ist eine Seitenansicht einer Inspektionsvorrichtung einer Ausführungsform.
- 22 ist ein Blockdiagramm einer Inspektionsvorrichtung einer Ausführungsform.
- 23 ist eine partielle Querschnittsansicht eines Werkstücks und einer Kamera, wenn ein erstes Entfernungsbild in einer dritten Robotereinrichtung einer Ausführungsform erfasst wird.
- 24 ist eine partielle Querschnittsansicht eines Werkstücks und einer Kamera, wenn ein zweites Entfernungsbild in einer dritten Robotereinrichtung erfasst wird.
- 25 ist eine partielle Querschnittsansicht einer Kamera und eines Werkstücks zum Veranschaulichen von Positionen dreidimensionaler Punkte, wenn ein dreidimensionaler Punkt in einem ersten Entfernungsbild und ein dreidimensionaler Punkt in einem zweiten Entfernungsbild kombiniert werden.
- 26 ist eine Perspektivansicht einer Kamera und eines Werkstücks zum Veranschaulichen eines Evaluierungsbereichs, in dem Evaluierungsgebiete in einer dritten Robotereinrichtung angeordnet sind.
- 27 ist eine Perspektivansicht eines Evaluierungsgebiets in einer dritten Robotereinrichtung.
- 28 ist eine Querschnittsansicht eines Werkstücks zum Veranschaulichen eines dreidimensionalen Punktes, der durch eine Bestimmungseinheit in einer dritten Robotereinrichtung bestimmt wird.
- 29 ist eine Perspektivansicht eines Lichtempfangselements und eines optischen Zentrums zum Veranschaulichen einer Größe eines Evaluierungsgebiets in einer dritten Robotereinrichtung.
- 30 ist eine Perspektivansicht, die Orientierungen einer Kamera veranschaulicht, wenn eine Mehrzahl von Entfernungsbildern in einer dritten Robotereinrichtung erfasst werden.
- 31 ist eine Seitenansicht einer Kamera und eines Werkstücks in einer vierten Robotereinrichtung einer Ausführungsform.
- 32 ist eine partielle Querschnittsansicht einer Kamera und eines Werkstücks in einer fünften Robotereinrichtung einer Ausführungsform.
- 33 ist eine Perspektivansicht einer Kamera und eines Werkstücks zum Veranschaulichen eines Evaluierungsbereichs, in dem Evaluierungsgebiete in einer fünften Robotereinrichtung angeordnet sind.
- 34 ist eine Perspektivansicht eines Evaluierungsgebiets in einer fünften Robotereinrichtung.
-
BESCHREIBUNG DER AUSFÜHRUNGSFORMEN
-
Eine dreidimensionale Messvorrichtung einer Ausführungsform wird mit Bezug auf 1 bis 34 beschrieben. Die dreidimensionale Messvorrichtung der vorliegenden Ausführungsform beinhaltet eine Entfernungskamera, die Positionsinformationen von dreidimensionalen Punkten einer Oberfläche eines Objekts gemäß der Lichtlaufzeit erfasst. Die dreidimensionale Messvorrichtung erzeugt Positionsinformationen von dreidimensionalen Punkten entsprechend einer Oberfläche eines Werkstücks gemäß Positionsinformationen von dreidimensionalen Punkten, die an einer Mehrzahl von Positionen und Orientierungen erfasst werden. In der vorliegenden Ausführungsform fungiert jede von Robotereinrichtungen und einer Inspektionsvorrichtung als eine dreidimensionale Messvorrichtung.
-
1 ist eine Seitenansicht einer ersten Robotereinrichtung der vorliegenden Ausführungsform. 2 ist ein Blockdiagramm einer ersten Robotereinrichtung der vorliegenden Ausführungsform. Mit Bezug auf 1 und 2 beinhaltet eine Robotereinrichtung 3 eine Hand 5, die ein Werkstück 62 greift, und einen Roboter 1, der die Hand 5 bewegt. Die Robotereinrichtung 3 beinhaltet eine Steuerung 2, die die Robotereinrichtung 3 steuert. Ferner beinhaltet die Robotereinrichtung 3 eine Plattform 61, auf der das Werkstück 62 platziert wird.
-
Die Hand 5 ist ein Endeffektor, der das Werkstück 62 hält und loslässt. Die Hand 5 der vorliegenden Ausführungsform ist eine Saughand, die eine Oberfläche 63a des Werkstücks 62 durch Ansaugen hält. Ein an dem Roboter 1 angebrachter Endeffektor ist nicht auf diesen Aspekt beschränkt, und ein beliebiges Werkzeug, das für durch die Robotereinrichtung 3 durchgeführte Vorgänge geeignet ist, kann eingesetzt werden. Beispielsweise kann als ein Endeffektor ein Werkzeug zum Durchführen von Schweißen, ein Werkzeug zum Aufbringen eines Dichtungsmaterials auf eine Oberfläche eines Werkstücks oder dergleichen eingesetzt werden. Das heißt, die dreidimensionale Messvorrichtung der vorliegenden Ausführungsform kann bei einer Robotereinrichtung angewendet werden, die beliebige Vorgänge durchführt. Alternativ, anstelle des Anbringens eines Werkzeugs an dem Roboter 1, kann eine Kamera 31 an dem Roboter 1 angebracht werden.
-
Der Roboter 1 der vorliegenden Ausführungsform ist ein Knickarmroboter mit einer Mehrzahl von Gelenken 18. Der Roboter 1 beinhaltet einen oberen Arm 11 und einen unteren Arm 12. Der untere Arm 12 wird durch eine Drehbasis 13 gestützt. Die Drehbasis 13 wird durch eine Basis 14 gestützt. Der Roboter 1 beinhaltet ein Handgelenk 15, das mit einem Endabschnitt des oberen Arms 11 gekoppelt ist. Das Handgelenk 15 beinhaltet einen Flansch 16, der die Hand 5 sichert. Die Komponenten des Roboters 1 sind so ausgebildet, dass sie sich um eine vorbestimmte Antriebsachse drehen. Der Roboter ist nicht auf den oben beschriebenen Aspekt beschränkt, und ein beliebiger Roboter, der ein Werkzeug oder ein Werkstück bewegen kann, kann eingesetzt werden.
-
Die Robotereinrichtung 3 beinhaltet die Kamera 31 als eine Entfernungskamera, die Positionsinformationen von dreidimensionalen Punkten entsprechend einer Oberfläche des Werkstücks 62 als ein Objekt erfasst. Die Kamera 31 der vorliegenden Ausführungsform ist eine Laufzeit(TOF)-Kamera (TOF - Time of Flight), die Positionsinformationen von dreidimensionalen Punkten gemäß der Lichtlaufzeit erfasst. Die TOF-Kamera beinhaltet ein Lichtempfangselement mit einer Mehrzahl von Pixeln, die zweidimensional angeordnet sind. Das Lichtempfangselement beinhaltet eine CCD (Charge-Coupled Device), einen CMOS (Complementary Metal-Oxide Semiconductor - komplementäre Metalloxid-Halbleiter) oder dergleichen.
-
In der ersten Robotereinrichtung 3 wird die Kamera 31 durch den Roboter 1 gestützt. Die Kamera 31 ist über ein Stützglied 35 an dem Flansch 16 befestigt. Die Kamera 31 bewegt sich mit der Hand 5. Die Kammer 31 ist so angeordnet, dass sie in der Lage ist, ein Bild eines durch die Hand 5 gehaltenen Teils im Werkstück 62 zu erfassen.
-
Die Kamera 31 kann Positionsinformationen von dreidimensionalen Punkten entsprechend einer Oberfläche eines Objekts in der Form eines Entfernungsbildes oder einer dreidimensionalen Karte erfassen. Ein Entfernungsbild repräsentiert Positionsinformationen von dreidimensionalen Punkten in einem Bild. In einem Entfernungsbild werden Positionen auf einer Oberfläche eines Objekts oder Abstände von der Kamera 31 durch Dichten oder Farben von jeweiligen Pixeln repräsentiert. Andererseits repräsentiert eine dreidimensionale Karte dreidimensionale Informationen als einen Satz von Koordinatenwerten (x, y, z) von gemessenen dreidimensionalen Punkten. In einem Aspekt der vorliegenden Ausführungsform werden Positionsinformationen von dreidimensionalen Punkten unter Verwendung eines Entfernungsbildes beschrieben, das als ein Beispiel aufgenommen wird.
-
Der Roboter 1 der vorliegenden Ausführungsform beinhaltet eine Roboterantriebsvorrichtung 21, die Komponenten wie etwa den oberen Arm 11 antreibt. Die Roboterantriebsvorrichtung 21 beinhaltet eine Mehrzahl von Antriebsmotoren, die den oberen Arm 11, den unteren Arm 12, die Drehbasis 13 und das Handgelenk 15 antreiben. Die Hand 5 beinhaltet eine Handantriebsvorrichtung 22, die die Hand 5 antreibt. Die Handantriebsvorrichtung 22 der vorliegenden Ausführungsform treibt die Hand 5 durch Luftdruck an. Die Handantriebsvorrichtung 22 beinhaltet eine Pumpe, ein elektromagnetisches Ventil und dergleichen zur Druckentlastung eines inneren Raums eines Saugnapfes.
-
Die Steuerung 2 steuert den Roboter 1 und die Hand 5. Die Steuerung 2 weist eine arithmetische Verarbeitungsvorrichtung (Computer) auf, die eine Zentralverarbeitungseinheit (CPU) als einen Prozessor beinhaltet. Die arithmetische Verarbeitungsvorrichtung weist einen Direktzugriffsspeicher (RAM), einen Nurlesespeicher (ROM) oder dergleichen auf, die gegenseitig über einen Bus mit der CPU verbunden sind. Der Roboter 1 der vorliegenden Ausführungsform befördert das Werkstück 62 automatisch gemäß einem Betriebsprogramm 41. Die Roboterantriebsvorrichtung 21 und die Handantriebsvorrichtung 22 werden durch die Steuerung 2 gesteuert.
-
Die Steuerung 2 beinhaltet eine Speicherungseinheit 42, die Informationen bezüglich der Steuerung der Robotereinrichtung 3 speichert. Die Speicherungseinheit 42 kann aus einem Speicherungsmedium ausgebildet sein, das Informationen speichern kann, zum Beispiel ein flüchtiger Speicher, ein nichtflüchtiger Speicher, eine Festplatte oder dergleichen. Das Betriebsprogramm 41, das im Voraus zum Betreiben des Roboters 1 erzeugt wird, wird in die Steuerung 2 eingegeben. Das Betriebsprogramm 41 wird in der Speicherungseinheit 42 gespeichert.
-
Die Steuerung 2 beinhaltet eine Betriebssteuereinheit 43, die einen Betriebsbefehl sendet. Die Betriebssteuereinheit 43 sendet einen Betriebsbefehl zum Antreiben des Roboters 1 gemäß dem Betriebsprogramm 41 zu einem Roboterantriebsteil 44. Das Roboterantriebsteil 44 beinhaltet eine elektrische Schaltung, die die Antriebsmotoren antreibt und Elektrizität zu der Roboterantriebsvorrichtung 21 gemäß dem Betriebsbefehl liefert. Ferner sendet die Betriebssteuereinheit 43 einen Betriebsbefehl zum Antreiben der Handantriebsvorrichtung 22 zu einem Handantriebsteil 45. Das Handantriebsteil 45 beinhaltet eine elektrische Schaltung, die die Pumpe und dergleichen antreibt und Elektrizität zu der Pumpe und dergleichen gemäß dem Betriebsbefehl liefert. Die Betriebssteuereinheit 43 entspricht einem Prozessor, der gemäß dem Betriebsprogramm 41 angetrieben wird. Der Prozessor fungiert als die Betriebssteuereinheit 43 durch Lesen des Betriebsprogramms 41 und Durchführen der im Betriebsprogramm 41 definierten Steuerung.
-
Der Roboter 1 beinhaltet einen Zustandsdetektor zum Detektieren einer Position und einer Orientierung des Roboters 1. Der Zustandsdetektor der vorliegenden Ausführungsform beinhaltet einen Positionsdetektor 23, der an dem Antriebsmotor jeder Antriebsachse in der Roboterantriebsvorrichtung 21 angebracht ist. Basierend auf einer Ausgabe vom Positionsdetektor 23 werden eine Position und eine Orientierung des Roboters 1 detektiert. Der Zustandsdetektor ist nicht auf einen Positionsdetektor beschränkt, der an dem Antriebsmotor angebracht ist, und ein beliebiger Detektor, der in der Lage ist, eine Position und eine Orientierung des Roboters 1 zu detektieren, kann eingesetzt werden.
-
Ein Weltkoordinatensystem 71, das als Reaktion auf eine Änderung einer Position und einer Orientierung des Roboters 1 unbeweglich ist, wird für die Robotereinrichtung 3 der vorliegenden Ausführungsformen festgelegt. In dem in 1 veranschaulichten Beispiel befindet sich ein Ursprung des Weltkoordinatensystems 71 an der Basis 14 des Roboters 1. Das Weltkoordinatensystem 71 wird auch als ein Referenzkoordinatensystem bezeichnet. Im Weltkoordinatensystem 71 ist eine Position des Ursprungs fest, und ferner sind die Richtungen von Koordinatenachsen fest. Selbst wenn die Position und die Orientierung des Roboters 1 geändert werden, werden die Position und die Orientierung des Weltkoordinatensystems 71 nicht geändert. Das Weltkoordinatensystem 71 weist eine X-Achse, eine Y-Achse und eine Z-Achse, die zueinander orthogonal sind, als Koordinatenachsen auf. Zusätzlich wird eine W-Achse als eine Koordinatenachse rund um die X-Achse festgelegt. Eine P-Achse wird als eine Koordinatenachse rund um die Y-Achse festgelegt. Eine R-Achse wird als eine Koordinatenachse rund um die Z-Achse festgelegt.
-
Zusätzlich wird in der Robotereinrichtung 3 ein Werkzeugkoordinatensystem 72 festgelegt, das einen Ursprung aufweist, der bei einer beliebigen Position des Werkzeugs festgelegt wird. Das Werkzeugkoordinatensystem 72 ist ein Koordinatensystem, dessen Position und Orientierung mit der Hand 5 geändert werden. In der vorliegenden Ausführungsform wird der Ursprung des Werkzeugkoordinatensystems 72 bei einem Werkzeugspitzenpunkt festgelegt. Der Ursprung des Werkzeugkoordinatensystems 72 befindet sich an der Drehachse des Flansches 16. Das Werkzeugkoordinatensystem 72 weist eine X-Achse, eine Y-Achse und eine Z-Achse auf, die zueinander orthogonal sind. Das Werkzeugkoordinatensystem 72 weist eine W-Achse rund um die X-Achse, eine P-Achse rund um die Y-Achse und eine R-Achse rund um die Z-Achse auf.
-
Wenn die Position und die Orientierung des Roboters 1 geändert werden, werden die Position des Ursprungs und die Orientierung des Werkzeugkoordinatensystems 72 geändert. Beispielsweise entspricht die Position des Roboters 1 einer Position des Werkzeugspitzenpunktes (der Position des Ursprungs des Werkzeugkoordinatensystems 72). Ferner entspricht die Orientierung des Roboters 1 der Orientierung des Werkzeugkoordinatensystems 72 bezüglich des Weltkoordinatensystems 71.
-
Ferner wird in der Robotereinrichtung 3 ein Kamerakoordinatensystem 73 für die Kamera 31 festgelegt. Das Kamerakoordinatensystem 73 ist ein Koordinatensystem, dessen Position und Orientierung mit der Kamera 31 geändert werden. Ein Ursprung des Kamerakoordinatensystems 73 der vorliegenden Ausführungsform wird beim optischen Zentrum der Kamera 31 festgelegt. Das Kamerakoordinatensystem 73 weist eine X-Achse, eine Y-Achse und eine Z-Achse auf, die zueinander orthogonal sind. Das Kamerakoordinatensystems 73 der vorliegenden Ausführungsform wird so festgelegt, dass die Z-Achse die optische Achse der Kamera 31 überlappt.
-
Die Robotereinrichtung 3 der vorliegenden Ausführungsform fungiert als eine dreidimensionale Messvorrichtung, die das Werkstück 62 detektiert. Die dreidimensionale Messvorrichtung beinhaltet die Kamera 31 und eine Verarbeitungsvorrichtung, die Positionsinformationen von dreidimensionalen Punkten, die durch die Kamera 31 erfasst werden, verarbeitet. Die Steuerung 2 beinhaltet eine Verarbeitungseinheit 51, die Positionsinformationen von dreidimensionalen Punkten verarbeitet. Die Verarbeitungseinheit 51 fungiert als die Verarbeitungsvorrichtung. Die Verarbeitungseinheit 51 beinhaltet eine Positionserfassungseinheit 52, die Positionsinformationen von dreidimensionalen Punkten von der Kamera 31 erfasst. Die Verarbeitungseinheit 51 beinhaltet eine Umwandlungseinheit 53, die die Positionsinformationen von dreidimensionalen Punkten relativ zu der Kamera 31 in die Positionsinformationen von dreidimensionalen Punkten relativ zu dem Werkstück 62 umwandelt. Die Verarbeitungseinheit 51 beinhaltet eine Festlegungseinheit 56, die eine Mehrzahl von Evaluierungsgebieten zum Evaluieren einer Position eines dreidimensionalen Punktes entsprechend der Oberfläche des Werkstücks 62 für das Werkstück 62 festlegt. Die Verarbeitungseinheit 51 beinhaltet eine Bestimmungseinheit 54, die einen dreidimensionalen Punkt bestimmt, der am nächsten zu einer Referenzebene, einem Referenzpunkt oder einer Referenzlinie als eine Referenz im Evaluierungsgebiet zum Evaluieren einer Position eines dreidimensionalen Punktes liegt. Die Verarbeitungseinheit 51 beinhaltet eine Erzeugungseinheit 55, die Positionsinformationen von dreidimensionalen Punkten erzeugt, die durch Synthetisieren von Positionsinformationen von einer Mehrzahl von dreidimensionalen Punkten, die durch die Kamera 31 erfasst werden, erhalten werden.
-
Die Verarbeitungseinheit 51 beinhaltet eine Betriebsbefehlseinheit 58, die einen Betriebsbefehl zum Antreiben des Roboters 1 gemäß den synthetisierten Positionsinformationen von dreidimensionalen Punkten erzeugt. Die Verarbeitungseinheit 51 beinhaltet eine Bilderfassungssteuereinheit 57, die einen Befehl zum Erfassen eines Bildes zu der Kamera 31 sendet.
-
Die oben beschriebene Verarbeitungseinheit 51 entspricht einem Prozessor, der gemäß dem Betriebsprogramm 41 angetrieben wird. Insbesondere entspricht jede der Positionserfassungseinheit 52, der Umwandlungseinheit 53, der Festlegungseinheit 56, der Bestimmungseinheit 54 und der Erzeugungseinheit 55 einem Prozessor, der gemäß dem Betriebsprogramm 41 angetrieben wird. Zusätzlich entspricht jede der Betriebsbefehlseinheit 58 und der Bilderfassungssteuereinheit 57 dem Prozessor, der gemäß dem Betriebsprogramm 41 angetrieben wird. Der Prozessor fungiert als jede Einheit durch Lesen des Betriebsprogramms 41 und Durchführen der im Betriebsprogramm 41 definierten Steuerung.
-
Die Robotereinrichtung 3 beinhaltet eine Bewegungsvorrichtung, die entweder das Werkstück 62 oder die Kamera 31 bewegt, um eine relative Position der Kamera 31 zu dem Werkstück 62 zu ändern. In der ersten Robotereinrichtung 3 fungiert der Roboter 1 als die Bewegungsvorrichtung, die die Kamera 31 bewegt.
-
3 veranschaulicht eine Perspektivansicht eines ersten Werkstücks der vorliegenden Ausführungsform. Das erste Werkstück 62 der vorliegenden Ausführungsform beinhaltet einen Plattenabschnitt 63, der in einer Plattenform ausgebildet ist, und einen Wandabschnitt 64, der vom Plattenabschnitt 63 aufgerichtet ist. Der Plattenabschnitt 63 beinhaltet eine Oberfläche 63a mit einer planaren Form. Der Wandabschnitt 64 ist an einem Endabschnitt der Oberfläche 63a angeordnet. Die Oberfläche 63a des Werkstücks 62 wird durch die Hand 5 gehalten.
-
Mit Bezug auf 1 bis 3 erfasst die erste Robotereinrichtung 3 ein Entfernungsbild des Werkstücks 62 mit der Kamera 31, bevor die Hand 5 das Werkstück 62 hält. Die Bilderfassungssteuereinheit 57 sendet einen Befehl zum Erfassen eines Bildes zu der Kamera 31. Die Robotereinrichtung 3 erfasst ein Bild an einer Mehrzahl von Positionen der Kamera 31. Die Verarbeitungseinheit 51 detektiert die Position der Oberfläche 63a des Werkstücks 62 gemäß einer Mehrzahl von Bildern, die durch die Kamera 31 erfasst werden.
-
Die Betriebsbefehlseinheit 58 erzeugt einen Betriebsbefehl für den Roboter 1 gemäß der Position der Oberfläche 63a des Werkstücks 62, sodass die Hand 5 die Oberfläche 63a halten kann. Die Betriebsbefehlseinheit 58 sendet den Betriebsbefehl zu der Betriebssteuereinheit 43. Die Betriebssteuereinheit 43 ändert die Position und die Orientierung des Roboters 1 gemäß dem Betriebsbefehl und hält dann das Werkstück 62 mit der Hand 5. Dann befördert der Roboter 1 das Werkstück 62 zu einer Zielposition gemäß dem Betriebsprogramm 41.
-
Als Nächstes wird der Einfluss des reflektierten Lichts beschrieben, das über Multipath durch die Kamera 31 empfangen wird. 4 ist eine partielle Querschnittsansicht einer Kamera und eines Werkstücks zum Veranschaulichen eines Einflusses von Multipath. Die Kamera 31 detektiert die Position der Oberfläche 63a des Werkstücks 62. Die Kamera 31 weist ein Bilderfassungsgebiet 31a auf, in dem ein Entfernungsbild erfasst werden kann. Licht wird von einer Lichtquelle der Kamera 31 emittiert, wie durch einen Pfeil 101 angegeben. Licht, das durch die Oberfläche 63a des Werkstücks 62 reflektiert wird, kehrt in Richtung des Lichtempfangselements der Kamera 31 zurück, wie durch einen Pfeil 102 angegeben. Wenn das Lichtempfangselement nur das Licht empfängt, das durch den Pfad reflektiert wird, der durch den Pfeil 101 und den Pfeil 102 angegeben wird, kann die exakte Position der Oberfläche 63a des Werkstücks 62 detektiert werden.
-
Licht, das von der Lichtquelle emittiert wird, kann jedoch durch den Wandabschnitt 64 reflektiert und dann in Richtung der Oberfläche 63a geleitet werden, wie durch einen Pfeil 103 angegeben. Anschließend kehrt das Licht zu dem Lichtempfangselement zurück, wie durch den Pfeil 102 angegeben. Auf diese Weise läuft das Licht von der Lichtquelle und kehrt zu dem Lichtempfangselement über eine Mehrzahl von Pfaden zurück, einschließlich des Pfades, der durch den Pfeil 101 angegeben wird, und des Pfades, der durch den Pfeil 103 angegeben wird. Das heißt, das Lichtempfangselement empfängt Licht, das über Multipath zurückgeführt wird. Wenn Licht eingeschlossen wird, dass mehrere Male reflektiert wird, wird die Laufzeit des durch das Lichtempfangselement detektierten Lichts als länger detektiert. Obwohl in 4 zur Erläuterung zwei Pfade veranschaulicht sind, wird Licht, das an verschiedenen Positionen des Wandabschnitts 64 reflektiert wird, tatsächlich in Richtung der Oberfläche 63a geleitet, und das Lichtempfangselement kann Lichtstrahlen empfangen, die viele Pfade durchlaufen.
-
5 veranschaulicht ein erläuterndes Diagramm eines Verfahrens zum Messen eines Abstands von einer Kamera zu einem Werkstück. Mit Bezug auf 4 und 5 entspricht ein erster Pfad dem Pfad, der durch die Pfeile 101 und 102 angegeben wird. Ein zweiter Pfad entspricht dem Pfad, der durch die Pfeile 103 und 102 angegeben wird.
-
Mit Bezug auf das Diagramm des ersten Pfades, als ein Verfahren zum Messen der Lichtlaufzeit, detektiert die Kamera 31 der vorliegenden Ausführungsform eine Phasenverzögerung eines reflektierten Lichts bezüglich Licht, das von der Lichtquelle emittiert wird. Die Kamera 31 führt eine Bilderfassung zu einer Mehrzahl von Timings mit unterschiedlichen Phasen bezüglich des Lichts, das von der Lichtquelle emittiert wird, durch. In dem in 5 veranschaulichten Beispiel wird die Bilderfassung bei vier Arten von Bilderfassungstimings (0°, 90°, 180° und 270°) wiederholt. In 5 sind empfangene Lichtmengen Q1, Q2, Q3 und Q4 in einem Pixel des Lichtempfangselements angegeben. Zu dieser Zeit kann ein Abstand L zu einem Objekt entsprechend einem Pixel zum Beispiel gemäß Gleichung (1) unten berechnet werden. In Gleichung (1) ist c die Geschwindigkeit des Lichts, f ist die Modulationsfrequenz des von der Lichtquelle emittierten Lichts.
-
Gleichung 1
-
Mit Bezug auf das Diagramm des zweiten Pfades wird, wenn ein Lichtpfad länger wird, das Timing von empfangenem Licht, das von der Lichtquelle emittiert wird, später als das Timing von empfangenem Licht durch den ersten Pfad. Die empfangenen Lichtmengen Q1, Q2, Q3 und Q4 des Lichts, das mit den vier Arten von Bilderfassungstimings empfangen wird, unterscheiden sich von jenen durch den ersten Pfad. Beispielsweise ist, bei dem Bilderfassungstiming von 0°, die empfangene Lichtmenge Q1 durch den zweiten Pfad kleiner als die empfangene Lichtmenge Q1 durch den ersten Pfad. Wenn ein Abstand L gemäß Gleichung (1) oben berechnet wird, ist der Abstand L entsprechend jedem Pixel länger als der Abstand L durch den ersten Pfad.
-
Wenn das Lichtempfangselement das über Multipath reflektierte Licht empfängt, empfängt das Lichtempfangselement zum Beispiel gleichzeitig Licht, das den ersten Pfad durchläuft, und Licht, das den zweiten Pfad durchläuft. Das heißt, das Lichtempfangselement detektiert eine empfangene Lichtmenge, die durch Kombinieren der empfangenen Lichtmenge durch den ersten Pfad und der empfangenen Lichtmenge durch den zweiten Pfad erhalten wird. Infolgedessen ist, wenn Licht, das über Multipath reflektiert wird, empfangen wird, der Abstand L länger als der Abstand, der dem ersten Pfad entspricht. Insbesondere ist der Abstand ein Abstand zwischen dem Abstand, der dem Licht entspricht, das den ersten Pfad durchläuft, und dem Abstand, der dem Licht entspricht, das den zweiten Pfad durchläuft. Ein dreidimensionaler Punkt 81, der entsprechend einem Pixel detektiert wird, wird an einer Position entfernt von der Oberfläche 63a detektiert. Ein dreidimensionaler Punkt 81 wird für jedes Pixel detektiert. Eine detektierte Oberfläche 76, die eine Mehrzahl von dreidimensionalen Punkten 81 beinhaltet, weist eine Form auf, die sich von der tatsächlichen Form der Oberfläche 63a unterscheidet.
-
6 veranschaulicht ein Beispiel für ein Entfernungsbild ohne den Einfluss von Multipath. 7 veranschaulicht ein Beispiel für ein Entfernungsbild mit einem Einfluss von erzeugtem Multipath. In 6 und 7 ist die Form des Werkstücks 62 zur Referenz durch gestrichelte Linien angegeben. In einem Entfernungsbild der vorliegenden Ausführungsform ist, je tiefer die Farbe ist, desto entfernter der Abstand von der Kamera 31. Mit Bezug auf 6 ist in einem Entfernungsbild 86 die Farbdichte im Wesentlichen die gleiche über die gesamte Oberfläche des Plattenabschnitts 63 des Werkstücks 62. Auf der Oberfläche des Wandabschnitts 64 ist, je näher der Abstand zu der Kamera 31 ist, desto heller die Farbe. Mit Bezug auf 7 wird ein Entfernungsbild 87 durch Empfangen von Licht über Multipath erhalten. Auf der Oberfläche des Plattenabschnitts 63 werden Gebiete mit tieferen Farben in der Nähe des Wandabschnitts 64 erzeugt. Wenn die Position der Oberfläche des Plattenabschnitts 63 gemäß einem solchen Entfernungsbild detektiert wird, wird die exakte Position möglicherweise nicht detektiert. Infolgedessen kann die Robotereinrichtung 3 daran scheitern, das Halten des Werkstücks 62 zu steuern. Die dreidimensionale Messvorrichtung der vorliegenden Ausführungsform führt die Steuerung zum Reduzieren eines solchen Einflusses von Multipath durch.
-
8 veranschaulicht ein Flussdiagramm zum Beschreiben der Steuerung der ersten Robotereinrichtung als eine dreidimensionale Messvorrichtung. Die erste Robotereinrichtung 3 erfasst eine Mehrzahl von Entfernungsbildern, während die Position der Kamera 31 geändert wird. Durch Synthetisieren von Entfernungsbildern, die an einer Mehrzahl von Positionen erhalten werden, wird ein Entfernungsbild mit reduziertem Multipath erzeugt.
-
In Schritt 111 platziert die Steuerung 2 die Kamera 31 an einer vorbestimmten ersten Position, und dann erfasst die Bilderfassungssteuereinheit 57 ein erstes Entfernungsbild mit der Kamera 31. 9 veranschaulicht eine partielle Querschnittsansicht der Kamera und des Werkstücks, wenn die Kamera an der ersten Position platziert ist. Die relative Position der Kamera 31 zu dem Werkstück 62 ist vorbestimmt. In der ersten Robotereinrichtung 3 ändert der Roboter 1 die Position und die Orientierung, sodass die Kamera 31 entlang einer vorbestimmten Bewegungsebene 78 verschoben wird. Beispielsweise bewegt sich die Kamera 31, um das optische Zentrum der Kamera 31 auf der Bewegungsebene 78 anzuordnen. Die Kamera 31 wird an einer Position entlang der Bewegungsebene 78 platziert. In der ersten Robotereinrichtung 3 wird die Orientierung der Kamera 31 konstant gehalten.
-
Der Roboter 1 platziert die Kamera 31 an einer ersten Position P31a. Die Kamera 31 wird vorzugsweise so platziert, dass zumindest ein Teil des im Werkstück 62 zu detektierenden Abschnitts innerhalb des Bilderfassungsgebiets 31a der Kamera 31 angeordnet ist. Mit anderen Worten ist der zu detektierende Teil des Werkstücks 62 in einem durch die Kamera 31 erfassten Bild enthalten.
-
Die Kamera 31 detektiert die Positionsinformationen eines dreidimensionalen Punktes 81 pro Pixel. 9 veranschaulicht dreidimensionale Punkte 81 bezüglich der Querschnittsform des Werkstücks 62, die durch Schneiden des Werkstücks 62 durch eine Ebene erhalten wird. Die Positionsinformationen der dreidimensionalen Punkte 81, die von der Kamera 31 ausgegeben werden, werden im Kamerakoordinatensystem 73 repräsentiert. Beispielsweise werden die Positionsinformationen der dreidimensionalen Punkte 81 durch den Koordinatenwert der X-Achse, den Koordinatenwert der Y-Achse und den Koordinatenwert der Z-Achse im Kamerakoordinatensystem 73 repräsentiert. Da das durch die Kamera 31 empfangene Licht durch Multipath beeinflusst wird, können die Positionen der dreidimensionalen Punkte 81 von der Oberfläche 63a des Plattenabschnitts 63 entfernt sein.
-
Mit Bezug auf 2 erfasst die Positionserfassungseinheit 52 der Verarbeitungseinheit 51 das erste Entfernungsbild des Werkstücks 62 von der Kamera 31. Ferner erfasst die Positionserfassungseinheit 52 die Position und die Orientierung des Roboters 1 zu der Zeit der Erfassung des ersten Entfernungsbildes vom Positionsdetektor 23. Die Positionserfassungseinheit 52 speichert das erste Entfernungsbild mit der Position und der Orientierung des Roboters 1 in der Speicherungseinheit 42.
-
Mit Bezug auf 8 bewegt in Schritt 112 die Steuerung 2 die Kamera 31 durch Ändern der Position und der Orientierung des Roboters 1. 10 veranschaulicht eine partielle Querschnittsansicht der Kamera und des Werkstücks, wenn die Kamera an einer zweiten Position platziert ist. Der Roboter 1 bewegt die Kamera 31 entlang der Bewegungsebene 78, wie durch einen Pfeil 104 angegeben. Der Roboter 1 bewegt die Kamera 31 zweidimensional entlang der Bewegungsebene 78. Die Kamera 31 wird an einer zweiten Position P31b platziert.
-
Mit Bezug auf 8 erfasst die Bilderfassungssteuereinheit 57 in Schritt 113 ein zweites Entfernungsbild des Werkstücks 62 mit der Kamera 31. Mit Bezug auf 2 erfasst die Positionserfassungseinheit 52 das zweite Entfernungsbild des Werkstücks 62 von der Kamera 31. Ferner erfasst die Positionserfassungseinheit 52 die Position und die Orientierung des Roboters 1 zu der Zeit der Erfassung des zweiten Entfernungsbildes vom Positionsdetektor 23. Die Positionserfassungseinheit 52 speichert das zweite Entfernungsbild mit der Position und der Orientierung des Roboters 1 in der Speicherungseinheit 42.
-
Mit Bezug auf 10 detektiert die Kamera 31 dreidimensionale Punkte 82 durch Erfassen des Bildes an der zweiten Position P31b. Das Lichtempfangselement empfängt Licht, das einen Pfad durchläuft, der durch Pfeile 103 und 102 angegeben wird, sowie Licht, das einen Pfad durchläuft, der durch Pfeile 101 und 102 angegeben wird. Der Einfluss von Multipath wird auch an den Positionen des dreidimensionalen Punktes 82 erzeugt. Das Gebiet des Wandabschnitts 64, das in dem Bilderfassungsgebiet 31a enthalten ist, wird jedoch reduziert. Aus diesem Grund ist der Einfluss von Multipath auf die Position des dreidimensionalen Punktes 82 kleiner als der auf die Position des dreidimensionalen Punktes 81, der durch die Kamera 31 erfasst wird, die an der ersten Position P31a platziert ist. Die dreidimensionalen Punkte 82 nahe der Oberfläche 63a des Plattenabschnitts 63 werden erhalten.
-
Mit Bezug auf 8 bestimmt die Verarbeitungseinheit 51 in Schritt 114, ob die Bilderfassung an allen vorbestimmten Positionen der Kamera 31 durchgeführt wurde oder nicht. In Schritt 114, wenn es eine verbleibende Position gilt, an der die Bildererfassung durch die Kamera 31 durchzuführen ist, kehrt die Steuerung zu Schritt 112 zurück. Dann wird die Steuerung von Schritt 112 zu Schritt 114 wiederholt.
-
In Schritt 114, wenn die Bilderfassung an allen Positionen der Kamera 31 durchgeführt wurde, geht die Steuerung zu Schritt 115 über. In diesem Beispiel erfasst die Kamera 31 Bilder an zwei Positionen. Da die Bilderfassung an allen Positionen der Kamera 31 durchgeführt wurde, geht die Steuerung zu Schritt 115 über. Es ist anzumerken, dass in der vorliegenden Ausführungsform die Kamera Bilder an zwei Positionen erfasst, aber die Ausführungsform nicht darauf beschränkt ist. Die Kamera kann Bilder an drei oder mehr Positionen erfassen.
-
Mit Bezug auf 2 und 8 wandelt die Umwandlungseinheit 53 der Verarbeitungseinheit 51 in Schritt 115 die Entfernungsbilder um, die an der Mehrzahl von Positionen P31a und P31b der Kamera 31 erfasst wurden. Die Umwandlungseinheit 53 wandelt die Positionsinformationen der dreidimensionalen Punkte relativ zu der Kamera 31 in die Positionsinformationen relativ zu dem Werkstück 62 um. Die Umwandlungseinheit 53 wandelt die Positionsinformationen der dreidimensionalen Punkte, die in dem Kamerakoordinatensystem 73 repräsentiert werden, in die Positionsinformationen der dreidimensionalen Punkte um, die im Weltkoordinatensystem 71 repräsentiert werden. Zu dieser Zeit wandelt die Umwandlungseinheit 53 die Entfernungsbilder, die an den jeweiligen Positionen P31a und P31b erfasst werden, gemäß der Position und der Orientierung des Roboters 1 um. Die Positionen der dreidimensionalen Punkte 81 und 82 in sowohl dem ersten Entfernungsbild als auch dem zweiten Entfernungsbild werden durch die Koordinatenwerte im Weltkoordinatensystem 71 repräsentiert.
-
Als Nächstes bestimmt in Schritt 116 die Bestimmungseinheit 54 der Verarbeitungseinheit 51 die dreidimensionalen Punkte nahe der Oberfläche 63a des Werkstücks 62 der dreidimensionalen Punkte, die im ersten Entfernungsbild und im zweiten Entfernungsbild enthalten sind.
-
11 veranschaulicht eine partielle Querschnittsansicht des Werkstücks, in der die dreidimensionalen Punkte im ersten Entfernungsbild und die dreidimensionalen Punkte im zweiten Entfernungsbild kombiniert werden. Die Bestimmungseinheit 54 ordnet die dreidimensionalen Punkte, die in allen Entfernungsbildern enthalten sind, auf einer Oberfläche des Werkstücks 62 an. In diesem Beispiel ordnet die Bestimmungseinheit 54 die dreidimensionalen Punkte 81 im ersten Entfernungsbild und die dreidimensionalen Punkte 82 im zweiten Entfernungsbild auf der Oberfläche des Werkstücks 62 an. Die Mehrzahl von dreidimensionalen Punkten 81 und 82 entsprechend der Oberfläche 63a des Werkstücks 62 werden angeordnet.
-
12 veranschaulicht eine Perspektivansicht der Kamera und des Werkstücks zum Beschreiben eines Evaluierungsbereichs, in dem Evaluierungsgebiete in der ersten Robotereinrichtung angeordnet sind. 13 veranschaulicht eine Perspektivansicht eines Evaluierungsgebiets in der ersten Robotereinrichtung. Mit Bezug auf 12 und 13 ist die Mehrzahl von dreidimensionalen Punkten 81 und 82 auf der Oberfläche 63a des Werkstücks 62 und in der Nähe der Oberfläche 63a angeordnet. Die Festlegungseinheit 56 der Verarbeitungseinheit 51 legt einen Evaluierungsbereich 91 fest, der ein Bereich ist, in dem die dreidimensionalen Punkte 81 und 82 evaluiert werden. Die Festlegungseinheit 56 legt eine Mehrzahl von Evaluierungsgebieten 92 für das Werkstück 62 fest, um die Positionen der dreidimensionalen Punkte 81 und 82 entsprechend der Oberfläche 63a des Werkstücks 62 zu evaluieren. Der Evaluierungsbereich 91 beinhaltet die Mehrzahl von Evaluierungsgebieten 92.
-
In der vorliegenden Ausführungsform werden die Evaluierungsgebiete 92 und der Evaluierungsbereich 91 im Voraus festgelegt und in der Speicherungseinheit 42 gespeichert. Die Festlegungseinheit 56 erfasst die Evaluierungsgebiete 92 und den Evaluierungsbereich 91 von der Speicherungseinheit 42 und legt die Evaluierungsgebiete 92 und den Evaluierungsbereich 91 für das Werkstück 62 fest. Der Evaluierungsbereich 91 wird vorzugsweise derart ausgebildet, dass er einen Teil des zu evaluierenden Werkstücks 62 enthält. In der vorliegenden Ausführungsform wird der Evaluierungsbereich 91 derart festgelegt, dass er die Oberfläche 63a des zu evaluierenden Werkstücks 62 enthält. Ferner wird in der vorliegenden Ausführungsform der Evaluierungsbereich 91 derart festgelegt, dass er das Werkstück 62 enthält.
-
Die Evaluierungsgebiete 92 der vorliegenden Ausführungsform sind Gebiete, die durch Teilen des Evaluierungsbereichs 91 in eine Mehrzahl von Gebieten erhalten wird. Eine Referenzebene wird festgelegt, um die Positionen der dreidimensionalen Punkte 81 und 82 zu evaluieren. Eine beliebige Ebene kann als die Referenzebene verwendet werden. Die Referenzebene ist vorzugsweise die Bewegungsebene 78 oder eine Ebene parallel zu der Bewegungsebene 78. In der ersten Robotereinrichtung 3 wird die Bewegungsebene 78 als die Referenzebene festgelegt.
-
Als das Evaluierungsgebiet der vorliegenden Ausführungsform wird ein Gebiet verwendet, das sich von einer Referenz wie etwa der Referenzebene erstreckt. Das Evaluierungsgebiet 92 wird derart gebildet, dass es sich von der Bewegungsebene 78 in eine senkrechte Richtung erstreckt. Das Evaluierungsgebiet 92 der vorliegenden Ausführungsform ist in Form eines rechteckigen Parallelepipeds ausgebildet. Das Evaluierungsgebiet ist nicht auf diese Ausführungsform beschränkt und kann sich in eine Richtung erstrecken, die bezüglich der Referenzebene geneigt ist. Zusätzlich kann ein Evaluierungsgebiet mit einer beliebigen Form verwendet werden. Beispielsweise kann ein Evaluierungsgebiet eine Polygonform aufweisen.
-
Die Bestimmungseinheit 54 detektiert die dreidimensionalen Punkte 81 und 82, die in den jeweiligen Evaluierungsgebieten 92 enthalten sind, gemäß den Positionen der dreidimensionalen Punkte 81 und 82. Hier, wenn der Einfluss von Multipath erzeugt wird, wie oben beschrieben, wird der Abstand von der Kamera 31 zu dem dreidimensionalen Punkt länger. Daher kann bestimmt werden, dass, je kürzer der Abstand von der Bewegungsebene 78 als die Referenzebene zu dem dreidimensionalen Punkt ist, desto kleiner der Einfluss von Multipath ist.
-
Die Bestimmungseinheit 54 bestimmt den dreidimensionalen Punkt, der am nächsten zu der Bewegungsebene 78 liegt, der Mehrzahl von dreidimensionalen Punkten 81 und 82, die innerhalb des Evaluierungsgebiets 92 angeordnet sind. Die Bestimmungseinheit 54 berechnet den Abstand von der Bewegungsebene 78 zu jedem der dreidimensionalen Punkte 81 und 82. In dem in 13 veranschaulichten Beispiel befindet sich ein dreidimensionaler Punkt 82 näher an der Bewegungsebene 78 als zwei dreidimensionale Punkte 81. Somit bestimmt die Bestimmungseinheit 54 den dreidimensionalen Punkt 82. Dann führt die Bestimmungseinheit 54 die Steuerung zum Ausschließen der zwei dreidimensionalen Punkte 81 aus dem Satz von dreidimensionalen Punkten durch. Auf diese Weise führt die Bestimmungseinheit 54 die Steuerung zum Bestimmen eines dreidimensionalen Punktes, der am nächsten zu der Referenzebene liegt, für jedes der Evaluierungsgebiete 92 durch.
-
14 veranschaulicht eine Querschnittsansicht des Werkstücks zum Angeben der Positionen der dreidimensionalen Punkte nach der Bestimmung durch die Bestimmungseinheit. Die dreidimensionalen Punkte 81 und 82, die am nächsten zu der Bewegungsebene 78 liegen, werden aus der Mehrzahl von dreidimensionalen Punkten 81 und 82 extrahiert, die in 11 in jedem der Evaluierungsgebiete 92 veranschaulicht sind. Durch das Bestimmen der dreidimensionalen Punkte 81 und 82 durch die Bestimmungseinheit 54, wie oben beschrieben, ist es möglich, die dreidimensionalen Punkte nahe der Oberfläche 63a zu belassen. Das heißt, die dreidimensionalen Punkte, die weniger durch Multipath beeinflusst werden, können belassen werden.
-
Hier unterscheiden sich die dreidimensionalen Punkte 81, die auf der Oberfläche des Wandabschnitts 64 verbleiben, von den dreidimensionalen Punkten, die der Oberfläche 63a entsprechen. Somit kann die Bestimmungseinheit 54 die Steuerung zum Entfernen der dreidimensionalen Punkte am Wandabschnitt 64 durchführen. Beispielsweise kann eine ungefähre Position der Oberfläche 63a im Voraus definiert werden. Dann kann die Bestimmungseinheit 54 steuern, dreidimensionale Punkte zu entfernen, die von einem vorbestimmten Bereich von der Position der Oberfläche 63a abweichen.
-
Mit Bezug auf 8, in Schritt 117, erzeugt die Erzeugungseinheit 55 der Verarbeitungseinheit 51 Positionsinformationen von dreidimensionalen Punkten, die durch Synthetisieren einer Mehrzahl von Positionsinformationen von dreidimensionalen Punkten gemäß der Mehrzahl von dreidimensionalen Punkten 81 und 82, die durch die Bestimmungseinheit 54 bestimmt werden, erhalten werden. Beispielsweise kann die Erzeugungseinheit 55 ein Entfernungsbild durch alle der dreidimensionalen Punkte erzeugen, die durch die Bestimmungseinheit 54 bestimmt werden. Alternativ kann die Erzeugungseinheit 55 Positionsinformationen von dreidimensionalen Punkten in der Form einer dreidimensionalen Karte erzeugen. Auf diese Weise kann die Verarbeitungseinheit 51 Positionsinformationen von dreidimensionalen Punkten, die weniger durch Multipath beeinflusst werden, gemäß Positionsinformationen von dreidimensionalen Punkten erzeugen, die an einer Mehrzahl von Positionen der Kamera 31 erfasst werden.
-
Mit Bezug auf 2 kann die Betriebsbefehlseinheit 58 der Verarbeitungseinheit 51 die Form und die Position der Oberfläche 63a des Werkstücks 62 gemäß den Positionsinformationen von dreidimensionalen Punkten detektieren. Dann sendet die Betriebsbefehlseinheit 58 eine Position und eine Orientierung, in die die Hand 5 platziert werden sollte, zu der Betriebssteuereinheit 43 gemäß der Position und der Form der Oberfläche 63a. Die Betriebssteuereinheit 43 steuert die Positionen und die Orientierungen des Roboters 1 und der Hand 5. Auf diese Weise kann die Position des Werkstücks 62 detektiert werden und das Werkstück 62 kann durch die Robotereinrichtung 3 befördert werden.
-
15 veranschaulicht eine Perspektivansicht des Lichtempfangselements und eines optischen Zentrums zum Beschreiben der Größe des Evaluierungsgebiets der vorliegenden Ausführungsform. Das Evaluierungsgebiet 92 kann auf eine beliebige Größe festgelegt werden. Es wird jedoch bevorzugt, mindestens einen dreidimensionalen Punkt innerhalb des Evaluierungsgebiets 92 einzuschließen. Wenn das Evaluierungsgebiet 92 zu groß ist, wird die Anzahl von dreidimensionalen Punkten, die durch die Bestimmungseinheit 54 zu bestimmen sind, reduziert.
-
In dem in 15 veranschaulichten Beispiel wird eine virtuelle Ebene 97 bezüglich des Lichtempfangselements 96 festgelegt. Die virtuelle Ebene 97 ist eine Ebene parallel zu dem Lichtempfangselement 96. Die virtuelle Ebene 97 ist von einem optischen Zentrum 31c der Kamera 31 mit einen Abstand d entfernt. Der Abstand d ist ein Abstand von der Kamera 31 zu der Oberfläche 63a des Werkstücks 62. Der Abstand d muss kein genauer Abstand sein, solange der Abstand d ein ungefährer Abstand ist. In der virtuellen Ebene 97 wird ein Gebiet 97a berechnet, das mit einem Pixel 99, das im Lichtempfangselement 96 enthalten ist, bezüglich des optischen Zentrums 31c symmetrisch ist. Die Größe des Gebiets 97a kann auf die Größe des Evaluierungsgebiets 92 gesetzt werden. Das heißt, das Evaluierungsgebiet 92 kann auf die Größe festgelegt werden, die einem Pixel auf der Oberfläche 63a des Werkstücks 62 entspricht.
-
Es ist anzumerken, dass die Festlegungseinheit 56 der Verarbeitungseinheit 51 der vorliegenden Ausführungsform vorbestimmte Evaluierungsgebiete festlegt, aber die Ausführungsform nicht darauf beschränkt ist. Die Festlegungseinheit kann dazu ausgelegt sein, in der Lage zu sein, die Größe oder die Form des Evaluierungsgebiets zu ändern. Beispielsweise kann die Festlegungseinheit die Form des Werkstücks detektieren und das Evaluierungsgebiet auf eine Größe und in einer Form entsprechend der Form des Werkstücks festlegen. Ferner kann die Festlegungseinheit eine Mehrzahl von Arten von Festlegungsgebieten festlegen, die Formen und Größen aufweisen, die sich voneinander für ein Werkstück gemäß der Form des Werkstücks unterscheiden.
-
16 veranschaulicht eine Perspektivansicht und eine Draufsicht eines Bilderfassungsgebiets zum Beschreiben der Position der Kamera, wenn die Kamera bezüglich des Werkstücks platziert wird. Die Kamera 31 kann an einer beliebigen Position platziert werden, sodass sie zumindest einen Teil eines Zielabschnitts des Werkstücks 62 einschließt, wenn ein Entfernungsbild durch die Kamera 31 erfasst wird. Ein Pfeil 108 gibt die optische Achse der Kamera 31 an, wenn die Kamera 31 an der Position P31a platziert wird. Im Beispiel hier befindet sich die Position P31a direkt über dem mittleren Abschnitt der Oberfläche 63a des Werkstücks 62.
-
In dem in 16 veranschaulichten Beispiel wird die virtuelle Ebene 97 von der Bewegungsebene 78 um den Abstand d entfernt festgelegt. Das Bilderfassungsgebiet 31a auf der virtuellen Ebene 97 wird berechnet. Das Bilderfassungsgebiet 31a weist eine viereckige Form auf der virtuellen Ebene 97 auf. Dann wird ein Gebiet 97b durch Multiplizieren der Breite W und der Höhe H des Vierecks des Bilderfassungsgebiets 31a mit vorbestimmten Konstanten festgelegt. Im Beispiel hier wird das Gebiet 97b durch Multiplizieren der Breite W und der Höhe H mit 0,6 festgelegt. Dann kann eine Position P31c der Kamera 31 so festgelegt werden, dass die optische Achse, die durch einen Pfeil 109 angegeben wird, an der Position entsprechend jeder Ecke des Gebiets 97b lokalisiert wird. Mit anderen Worten kann die Kamera 31 so platziert werden, dass die optische Achse an einem Eckpunkt entsprechend einem Sichtwinkel mit einem vorbestimmten Verhältnis zu dem Sichtwinkel der Kamera angeordnet wird. Die Kamera 31 wird an einer Mehrzahl der Position P31a und P31c entlang der Bewegungsebene 78 platziert.
-
Alternativ ist es, als die Position, an der die Kamera platziert wird, möglich, eine Position anzunehmen, an der die optische Achse an einem Endabschnitt eines Gebiets angeordnet wird, in dem das Werkstück platziert wird. Alternativ kann die Kamera so platziert werden, dass die optische Achse an einer Position angeordnet wird, die durch gleichmäßiges Teilen eines vorbestimmten Gebiets erhalten wird.
-
In der oben beschriebenen Ausführungsform wurde das Werkstück, das den Wandabschnitt beinhaltet, der auf der Oberfläche des Plattenabschnitt aufgerichtet wird, als ein Beispiel beschrieben, aber die Ausführungsform ist nicht darauf beschränkt. Die dreidimensionale Messvorrichtung der vorliegenden Ausführungsform kann bei der Messung eines beliebigen Objekts angewendet werden, bei dem Lichtempfang über Multipath erzeugt wird.
-
17 veranschaulicht eine Perspektivansicht eines zweiten Werkstücks der vorliegenden Ausführungsform. Eine Nut 66a ist auf der oberen Oberfläche eines zweiten Werkstücks 66 ausgebildet. Wenn die Grundfläche der Nut 66a detektiert wird, kann Licht durch eine Seitenfläche der Nut 66a reflektiert werden, um Lichtempfang über Multipath zu erzeugen. Die dreidimensionale Messvorrichtung der vorliegenden Ausführungsform kann zum Messen einer Oberfläche eines Werkstücks mit einer wie oben beschriebenen Vertiefung verwendet werden.
-
Es wird bevorzugt, ein Entfernungsbild durch derartiges Platzieren der Kamera zu erfassen, dass die optische Achse an der Position der Wandfläche der Nut 66a angeordnet ist, wenn das Werkstück 66 die Nut 66a aufweist. Alternativ wird bevorzugt, eine Mehrzahl von Bilderfassungspositionen der Kamera auf der Bewegungsebene mit einem Intervall entsprechend der Breite WG der Nut 66a festzulegen. Durch das Durchführen dieser Steuerung kann der Einfluss von Multipath, der zu der Zeit des Detektierens der Grundfläche der Nut erzeugt wird, zuverlässiger reduziert werden.
-
18 veranschaulicht eine Perspektivansicht eines dritten Werkstücks und eines Tisches der vorliegenden Ausführungsform. In einem dritten Werkstück 67 ist die Querschnittsform einer Oberfläche 67a in einer Wellenform ausgebildet. Außerdem kann im Fall des Detektierens, dass die Oberfläche 67a solche Vertiefungen und Vorsprünge aufweist, ein Lichtempfang über Multipath verursacht werden.
-
Ferner kann Lichtempfang über Multipath durch ein Objekt erzeugt werden, das rund um das Werkstück platziert ist. In dem in 18 veranschaulichten Beispiel ist das Werkstück 67 auf einem Tisch 68 platziert. Ein stabförmiges Glied 69, das als eine Säule dient, ist an den Tisch 68 befestigt. Das Werkstück 67 ist nahe des stabförmigen Gliedes 69 platziert. Die Oberfläche 67a wird durch die Kamera 31 detektiert, Licht, das durch die Oberfläche des stabförmigen Gliedes 69 reflektiert wird, kann in Richtung der Oberfläche 67a laufen, um Lichtempfang über Multipath zu erzeugen. Außerdem können, im Fall des Detektierens der Oberfläche 67a des Werkstücks 67 mit einer Vorrichtung, die den Tisch 68 beinhaltet, die Positionsinformationen von dreidimensionalen Punkten mit reduziertem Einfluss von Multipath durch Messungen mit der dreidimensionalen Messvorrichtung der vorliegenden Ausführungsform erfasst werden. Die dreidimensionale Messvorrichtung der vorliegenden Ausführungsform kann die Positionsinformationen von dreidimensionalen Punkten mit reduziertem Multipath erzeugen, selbst wenn es nicht bekannt ist, wie Multipath erzeugt wird.
-
19 veranschaulicht eine Seitenansicht einer zweiten Robotereinrichtung der vorliegenden Ausführungsform. In einer zweiten Robotereinrichtung 4 unterstützt der Roboter 1 das Werkstück 62 über die Hand 5. Die Kamera 31 ist an einer Plattform 65 befestigt. In der zweiten Robotereinrichtung 4 fungiert der Roboter 1 als eine Bewegungsvorrichtung, die das Werkstück 62 bewegt. Wenn der Roboter 1 das Werkstück 62 bewegt, ändert sich die relative Position der Kamera 31 zu dem Werkstück 62. Außerdem wird in der zweiten Robotereinrichtung 4 die Oberfläche 63a des Werkstücks 62 detektiert.
-
Die zweite Robotereinrichtung 4 fungiert als eine dreidimensionale Messvorrichtung. Die dreidimensionale Messvorrichtung kann die Position des Werkstücks 62 zum Beispiel bezüglich der Hand 5 detektieren. Die dreidimensionale Messvorrichtung kann eine Fehlausrichtung beim Halten des Werkstücks 62 detektieren. Alternativ kann die dreidimensionale Messvorrichtung zum Beispiel die Form der Oberfläche 63a des Werkstücks 62 detektieren. Alternativ kann die dreidimensionale Messvorrichtung die Abmessungen des Werkstücks 62 inspizieren.
-
Der Roboter 1 bewegt das Werkstück 62 entlang der vorbestimmten Bewegungsebene 78. Der Roboter 1 verschiebt das Werkstück 62, während die Orientierung des Werkstücks 62 konstant gehalten wird. Die Bewegungsebene 78 ist zum Beispiel eine Ebene, die sich in eine horizontale Richtung erstreckt. Die Steuerung 2 ändert die Position und die Orientierung des Roboters 1, sodass sich der Ursprung des Werkzeugkoordinatensystems 72 auf der Bewegungsebene 78 bewegt. Ferner steuert die Steuerung 2 die Orientierung des Roboters 1 so, dass die Z-Achse des Werkzeugkoordinatensystems 72 in eine vorbestimmte Richtung zeigt.
-
Die Kamera 31 erfasst Entfernungsbilder mit dem Werkstück 62, das an einer Mehrzahl von Positionen des Werkstücks 62 platziert wird. In dem in 19 veranschaulichten Beispiel erfasst die Kamera 31 ein erstes Entfernungsbild, bei dem das Werkstück 62 an einer ersten Position P62a platziert ist. Ferner erfasst die Kamera 31 ein zweites Entfernungsbild, bei dem das Werkstück 62 an einer zweiten Position P62b platziert ist. Die Positionen von dreidimensionalen Punkten entsprechend der Oberfläche 63a des Werkstücks 62 in sowohl dem ersten Entfernungsbild als auch dem zweiten Entfernungsbild werden im Kamerakoordinatensystem 73 repräsentiert.
-
Mit Bezug auf 2 und 19 erfasst die Positionserfassungseinheit 52 der Verarbeitungseinheit 51 Entfernungsbilder und erfasst die Position und die Orientierung des Roboters 1 zu der Zeit der Erfassung der Entfernungsbilder. Die Positionserfassungseinheit 52 speichert die Entfernungsbilder in Kombination mit der Position und der Orientierung des Roboters 1 in der Speicherungseinheit 42.
-
Nach dem Abschluss der Bilderfassung mit dem Werkstück 62, das an einer Mehrzahl der Positionen P62a und P62b platziert wird, erzeugt die Verarbeitungseinheit 51 Positionsinformationen der dreidimensionalen Punkte, die durch Synthetisieren einer Mehrzahl von Entfernungsbildern erhalten werden. Die Umwandlungseinheit 53 wandelt die Positionsinformationen der dreidimensionalen Punkte, die in dem Kamerakoordinatensystem 73 repräsentiert werden, in die Positionsinformationen der dreidimensionalen Punkte, die im Werkzeugkoordinatensystem 72 repräsentiert werden, gemäß der Position und der Orientierung des Roboters 1 um.
-
20 veranschaulicht eine partielle Querschnittsansicht des Werkstücks und der Kamera, wenn eine Mehrzahl von dreidimensionalen Punkten, die in Entfernungsbildern entsprechend einer Mehrzahl von Positionen enthalten sind, im Werkstück angeordnet sind. Die Bestimmungseinheit 54 ordnet den dreidimensionalen Punkt, der im ersten Entfernungsbild und im zweiten Entfernungsbild enthalten ist, im Werkstück 62 an. Die dreidimensionalen Punkte 81, die im ersten Entfernungsbild enthalten sind, und die dreidimensionalen Punkte 82, die im zweiten Entfernungsbild enthalten sind, werden auf der Oberfläche 63a des Werkstücks 62 und in der Nähe der Oberfläche 63a angegeben. Die dreidimensionalen Punkte 81 und 82 werden jeweils im Werkzeugkoordinatensystem 72 repräsentiert.
-
Mit Bezug auf 2 und 20 berechnet die Bestimmungseinheit 54 die Positionen der dreidimensionalen Punkte 81 und 82, wenn das Werkstück 62 an einer Position platziert wird. Beispielsweise werden die Positionen der dreidimensionalen Punkte 81 und 82 berechnet, wenn das Werkstück 62 an der ersten Position P62a platziert wird. Ferner wandelt die Bestimmungseinheit 54 die Positionsinformationen der dreidimensionalen Punkte, die in dem Werkzeugkoordinatensystem 72 repräsentiert werden, in die Positionsinformationen der dreidimensionalen Punkte, die im Weltkoordinatensystem 71 repräsentiert werden, gemäß der Position und der Orientierung des Roboters 1 um. Eine Referenzebene 79 für die Bestimmungseinheit 54 zum Bestimmen der dreidimensionalen Punkte 81 und 82 wird vorbestimmt. In der zweiten Robotereinrichtung 4 wird die Referenzebene 79 definiert, die durch das optische Zentrum 31c der Kamera 31 läuft. Im Beispiel hier ist die Referenzebene 79 eine Ebene parallel zu der Bewegungsebene 78.
-
Ferner wird, ähnlich zu der ersten Robotereinrichtung 3, ein Evaluierungsbereich so bestimmt, dass die Oberfläche 63a des Werkstücks 62 eingeschlossen wird. Innerhalb des Evaluierungsbereichs wird eine Mehrzahl von Evaluierungsgebieten bestimmt, die sich in eine senkrechte Richtung von der Referenzebene 79 erstrecken (siehe 12 und 13). Die Bestimmungseinheit 54 bestimmt den dreidimensionalen Punkt, der am nächsten zu der Referenzebene 79 liegt, in jedem der Evaluierungsgebiete. Die Erzeugungseinheit 55 kann synthetisierte Positionsinformationen von dreidimensionalen Punkten gemäß den durch die Bestimmungseinheit 54 bestimmten dreidimensionalen Punkten erzeugen.
-
Andere Konfigurationen, Vorgänge und Effekte der zweiten Robotereinrichtung ähneln jenen der ersten Robotereinrichtung, und daher wird die Beschreibung davon hier nicht wiederholt.
-
In der ersten Robotereinrichtung und der zweiten Robotereinrichtung wird die Kamera oder das Werkstück verschoben, aber die Ausführungsform ist nicht darauf beschränkt. Sowohl die Kamera als auch das Werkstück können verschoben werden. Beispielsweise können die Kamera und das Werkstück in entgegengesetzte Richtungen entlang der Bewegungsebene verschoben werden. Ferner ist die Bewegung der Kamera und des Werkstücks nicht auf eine Verschiebung entlang der Bewegungsebene beschränkt, und eine Bilderfassung kann an einer Position durchgeführt werden, die von der Bewegungsebene abweicht. Wenn beispielsweise ein Hindernis auf der Bewegungsebene vorhanden ist, kann die Bilderfassung durchgeführt werden, wenn die Kamera oder das Werkstück an einer Position entfernt von der Bewegungsebene platziert ist.
-
Die Bewegungsvorrichtung, die die Kamera oder das Werkstück bewegt, ist nicht auf einen Roboter beschränkt, und eine beliebige Vorrichtung kann eingesetzt werden, die die Kamera oder das Werkstück bewegen kann. Beispielsweise kann eine Vorrichtung, die ein Fördermittel beinhaltet, das ein Werkstück befördert, eine Vorrichtung, die ein Werkstück oder eine Kamera in eine X-Achsen-, eine Y-Achsen- und eine Z-Achsenrichtung orthogonal zueinander bewegt, eine Vorrichtung, die einen Zylinder beinhaltet, der ein Werkstück oder eine Kamera in eine Richtung bewegt, oder dergleichen als die Bewegungsvorrichtung eingesetzt werden.
-
21 veranschaulicht eine Seitenansicht einer Inspektionsvorrichtung der vorliegenden Ausführungsform. 22 veranschaulicht ein Blockdiagramm einer Inspektionsvorrichtung der vorliegenden Ausführungsform. Eine Inspektionsvorrichtung 7 fungiert als eine dreidimensionale Messvorrichtung. Die dreidimensionale Messvorrichtung muss keine Bewegungsvorrichtung, wie etwa den oben beschriebenen Roboter 1, beinhalten. Mit Bezug auf 21 und 22 beinhaltet die Inspektionsvorrichtung 7 eine erste Kamera 31 und eine zweite Kamera 32 als eine Mehrzahl von Entfernungskameras. Jede der Kameras 31 und 32 ist eine TOF-Kamera.
-
Die Kameras 31 und 32 werden durch ein Stützglied 35 gestützt. Die Kameras 31 und 32 sind an Positionen befestigt, die entlang einer Platzierungsebene 75 voneinander entfernt sind. Die Positionen der Kameras 31 und 32 sind vorbestimmt. Die Kameras 31 und 32 sind so platziert, dass sie Bilder des Werkstücks 62 an voneinander verschiedenen Positionen erfassen. Die Kameras 31 und 32 weisen optische Zentren 31c bzw. 32c auf, die sich auf der Platzierungsebene 75 befinden. Ferner wird sowohl die Kamera 31 als auch 32 so platziert, dass die optische Achse in eine vorbestimmte Richtung zeigt. Das heißt, die Orientierungen der Kameras 31 und 32 sind zueinander identisch. Das Werkstück 62 wird auf einer Plattform 61 platziert. Auf diese Weise sind das Werkstück 62 und beide der Kameras 31 und 32 an vorbestimmten Positionen befestigt.
-
In der Inspektionsvorrichtung 7 wird das Weltkoordinatensystem 71 als ein Referenzkoordinatensystem festgelegt. In dem in 21 veranschaulichten Beispiel ist das Weltkoordinatensystem 71 so festgelegt, dass ein Ursprung auf der Oberfläche der Plattform 61 angeordnet wird. Zusätzlich wird ein Kamerakoordinatensystem für jede der Kameras 31 und 32 festgelegt. Jedes der Kamerakoordinatensysteme wird so festgelegt, dass das optische Zentrum von jeder der Kameras 31 und 32 der Ursprung ist und die Z-Achse die optische Achse überlappt.
-
Die Inspektionsvorrichtung 7 beinhaltet eine Steuerung 8, die eine arithmetische Verarbeitungsvorrichtung einschließlich einer CPU beinhaltet. Die Steuerung 8 beinhaltet eine Speicherungseinheit 42 und eine Verarbeitungseinheit 51 ähnlich jener der Steuerung 2 der ersten Robotereinrichtung 3 (siehe 2). Die Verarbeitungseinheit 51 beinhaltet eine Bilderfassungssteuereinheit 57, die die Kameras 31 und 32 steuert. Die Verarbeitungseinheit 51 beinhaltet eine Positionserfassungseinheit 52, ein Umwandlungseinheit 53, eine Festlegungseinheit 56, ein Bestimmungseinheit 54 und eine Erzeugungseinheit 55, um Entfernungsbilder zu verarbeiten, die durch die Kameras 31 und 32 erfasst werden.
-
Während der Roboter 1 die Bilderfassungsposition der Kamera 31 in der ersten Robotereinrichtung der vorliegenden Ausführungsform ändert, sind eine Mehrzahl von Kameras 31 und 32 in der dreidimensionalen Messvorrichtung angeordnet, die in 21 und 22 veranschaulicht ist. Dann wird eine Mehrzahl von Entfernungsbildern durch die Mehrzahl von Kameras 31 und 32 erfasst, deren Positionen sich voneinander unterscheiden. Beispielsweise erfasst die erste Kamera 31 ein erstes Entfernungsbild, und die zweite Kamera 32 erfasst ein zweites Entfernungsbild.
-
In der Speicherungseinheit 42 werden die Positionen der Kameras 31 und 32 im Voraus gespeichert. Die Speicherungseinheit 42 speichert Entfernungsbilder, die durch die Kamera 31 und die Kamera 32 erfasst werden. Die Umwandlungseinheit 53 wandelt die Positionsinformationen der dreidimensionalen Punkte relativ zu den Kameras 31 und 32 in die Positionsinformationen relativ zu dem Werkstück 62 um. Im Beispiel hier wandelt die Umwandlungseinheit 53 die Positionsinformationen der dreidimensionalen Punkte, die in den Kamerakoordinatensystemen 31 und 32 detektiert werden, in die Positionsinformationen der dreidimensionalen Punkte im Weltkoordinatensystem 71 um.
-
In der Inspektionsvorrichtung 7 wird eine Referenzebene vorbestimmt. Im Beispiel hier wird eine Referenzebene verwendet, die identisch mit der Platzierungsebene 75 ist. Eine beliebige Ebene kann als die Referenzebene verwendet werden. Beispielsweise kann die Referenzebene eine Ebene parallel zu der Platzierungsebene 75 sein.
-
Die Festlegungseinheit 56 legt einen Evaluierungsbereich und Evaluierungsgebiete fest. Im Beispiel hier werden der Evaluierungsbereich und das Evaluierungsgebiet zum Evaluieren der Position des dreidimensionalen Punktes vorbestimmt. Beispielsweise wird der Evaluierungsbereich so festgelegt, dass er die Oberfläche 63a des zu evaluierenden Werkstücks 62 beinhaltet. Die Evaluierungsgebiete werden durch Teilen des Evaluierungsbereichs in eine Mehrzahl von Gebieten festgelegt. Ähnlich zu der ersten Robotereinrichtung 3 kann das Evaluierungsgebiet aus einem Gebiet eines rechteckigen Parallelepipeds gebildet werden, das sich in eine Richtung senkrecht zu der Platzierungsebene 75 erstreckt, die als die Referenzebene dient. Die Bestimmungseinheit 54 kann einen dreidimensionalen Punkt mit dem kleinsten Abstand von der Platzierungsebene 75 in jedem der Evaluierungsgebiete bestimmen. Die Erzeugungseinheit 55 kann synthetisierte Positionsinformationen von dreidimensionalen Punkten gemäß den durch die Bestimmungseinheit 54 bestimmten dreidimensionalen Punkten erzeugen.
-
Die Steuerung 8 kann die Oberfläche des Werkstücks 62 gemäß den synthetisierten Positionsinformationen der dreidimensionalen Punkte inspizieren. Beispielsweise kann die Steuerung 8 die Abmessungen der Außenränder des Werkstücks gemäß einem vorbestimmten Bestimmungswert inspizieren. Alternativ kann, wenn eine Vertiefung oder ein Vorsprung auf der Oberfläche des Werkstücks ausgebildet ist, die Form der Vertiefung oder des Vorsprungs inspiziert werden.
-
In dem in 21 und 22 veranschaulichten Beispiel sind zwei Kameras angeordnet, aber die Ausführungsform ist nicht darauf beschränkt. Die dreidimensionale Messvorrichtung kann drei oder mehr Kameras beinhalten. Die dreidimensionale Messvorrichtung kann Entfernungsbilder synthetisieren, die durch eine Mehrzahl von Kameras erfasst werden. Andere Konfigurationen, Vorgänge und Effekte der Inspektionsvorrichtung sind die gleichen wie jene der ersten Robotereinrichtung und der zweiten Robotereinrichtung der vorliegenden Ausführungsformen, und somit werden die Beschreibungen davon hier nicht wiederholt.
-
23 veranschaulicht eine partielle Querschnittsansicht einer Kamera und eines Werkstücks in einer dritten Robotereinrichtung der vorliegenden Ausführungsform. Die Konfiguration der dritten Robotereinrichtung ähnelt der der ersten Robotereinrichtung (siehe 1). Die dritte Robotereinrichtung beinhaltet eine Drehvorrichtung, die die relative Orientierung der Kamera 31 zu dem Werkstück 62 ändert. Der Roboter 1 fungiert als eine Drehvorrichtung.
-
In der dritten Robotereinrichtung wird die relative Orientierung der Kamera 31 zu dem Werkstück 62 geändert, und die Kamera 31 erfasst Positionsinformationen von dreidimensionalen Punkten. Der Roboter 1 dreht die Kamera 31 um das optische Zentrum 31c der Kamera 31, das als ein vorbestimmter Zentralpunkt dient. Die Kamera 31 erfasst Entfernungsbilder in einer Mehrzahl von vorbestimmten relativen Orientierungen.
-
Mit Bezug auf 2 und 23 erfasst die Kamera 31 ein erstes Entfernungsbild in einer ersten Orientierung R31a. Die Positionsinformationen von dreidimensionalen Punkten 81 entsprechend der Oberfläche 63a und der Oberfläche des Wandabschnitts 64 des Werkstücks 62 werden erfasst. Die Positionserfassungseinheit 52 erfasst die Position und die Orientierung des Roboters 1 zu der Zeit der Erfassung des ersten Entfernungsbildes zusammen mit dem ersten Entfernungsbild. Die Speicherungseinheit 42 speichert die Position und die Orientierung des Roboters 1 in Kombination mit dem ersten Entfernungsbild. Die Positionsinformationen der dreidimensionalen Punkte zu dieser Zeit werden im Kamerakoordinatensystem repräsentiert.
-
24 veranschaulicht eine partielle Querschnittsansicht der Kamera und des Werkstücks, wenn die Kamera in einer zweiten Orientierung platziert ist. Wenn der Roboter 1 die Position und die Orientierung ändert, dreht sich die Kamera 31 rund um das optische Zentrum 31c als ein Drehzentrum. Die Kamera 31 erfasst ein zweites Entfernungsbild in einer zweiten Orientierung R31b. Im Beispiel hier befindet sich der Wandabschnitt 64 außerhalb des Bilderfassungsgebiets 31a der Kamera 31. Somit werden im zweiten Entfernungsbild die Positionsinformationen der dreidimensionalen Punkte 82, die auf der Oberfläche 63a des Werkstücks 62 angeordnet sind, erfasst. Die Speicherungseinheit 42 speichert das zweite Entfernungsbild in Kombination mit der Position und der Orientierung des Roboters 1 zu der Zeit der Erfassung des zweiten Entfernungsbildes. Die Positionsinformationen der dreidimensionalen Punkte zu dieser Zeit werden im Kamerakoordinatensystem repräsentiert.
-
In der vorliegenden Ausführungsform werden Entfernungsbilder in die beiden Orientierungen R31a und R31b der Kamera 31 erfasst, aber die Ausführungsform ist nicht darauf beschränkt. Entfernungsbilder können in drei oder mehr Orientierungen der Kamera 31 erfasst werden. Nach dem Abschluss der Bilderfassung in alle Orientierungen der Kamera 31 wandelt die Umwandlungseinheit 53 die Positionen der dreidimensionalen Punkte 81 und 82 vom Kamerakoordinatensystem 73 zu dem Weltkoordinatensystem 71 um.
-
25 veranschaulicht eine partielle Querschnittsansicht der Kamera und des Werkstücks, wenn dreidimensionale Punkte, die in einer Mehrzahl von Orientierungen der Kamera erfasst werden, im Werkstück angeordnet sind. Die Bestimmungseinheit 54 ordnet die dreidimensionalen Punkte 81 und 82, die im ersten Entfernungsbild und im zweiten Entfernungsbild enthalten sind, im Werkstück 62 an.
-
26 veranschaulicht eine Perspektivansicht eines Evaluierungsbereichs zum Evaluieren von Positionen von dreidimensionalen Punkten. 27 veranschaulicht eine Perspektivansicht eines Evaluierungsgebiets zum Evaluieren von Positionen von dreidimensionalen Punkten. Mit Bezug auf 26 und 27 legt die Festlegungseinheit 56 einen Evaluierungsbereich und Evaluierungsgebiete fest. In der dritten Robotereinrichtung werden Evaluierungsgebiete 94 zum Evaluieren der Positionen der dreidimensionalen Punkte entsprechend der Oberfläche 63a des Werkstücks 62 für das Werkstück 62 vorbestimmt. Eine Mehrzahl von Evaluierungsgebieten 94 wird innerhalb eines Evaluierungsbereichs 93 festgelegt. Jedes der Evaluierungsgebiete 94 ist ein Gebiet, das sich radial von einem Referenzpunkt erstreckt, der im Voraus bezüglich des Werkstücks 62 definiert wird. Das Evaluierungsgebiet 94 weist eine Kegelform auf.
-
Im Beispiel hier wird das optische Zentrum 31c der Kamera 31 als ein Referenzpunkt verwendet. Das heißt, der Referenzpunkt ist der Zentralpunkt, um den die Kamera 31 gedreht wird. Das Evaluierungsgebiet 94 wird mit einem Winkel θ und einem Winkel φ eines sphärischen Koordinatensystems festgelegt, dessen Ursprung der Referenzpunkt ist. Der Referenzpunkt ist nicht auf diese Ausführungsform beschränkt und kann sich auf derselben Seite wie die Seite befinden, auf der sich der Drehzentralpunkt der Kamera bezüglich des Werkstücks befindet. Das heißt, ein Referenzpunkt neben dem Mittelpunkt kann festgelegt werden, um den die Kamera 31 gedreht wird.
-
Die Evaluierungsgebiete 94 werden durch Teilen des Evaluierungsbereichs 93 in eine Mehrzahl von Gebieten festgelegt. Der Evaluierungsbereich 93 ist ein Bereich, der sich radial um das optische Zentrum 31c erstreckt. Der Evaluierungsbereich 93 beinhaltet vorzugsweise einen innerhalb des Evaluierungsbereichs 93 zu evaluierenden Teil. Im Beispiel hier wird der Evaluierungsbereich 93 so festgelegt, dass er die Oberfläche 63a des Werkstücks 62 innerhalb des Evaluierungsbereichs 93 beinhaltet.
-
Mit Bezug auf 2 und 27 bestimmt die Bestimmungseinheit 54 den dreidimensionalen Punkt, der am nächsten zu dem optischen Zentrum 31c liegt, als den Referenzpunkt der dreidimensionalen Punkte 81 und 82, die innerhalb des Evaluierungsgebiets 94 in jedem der Evaluierungsgebiete 94 detektiert werden. In dem in 27 veranschaulichten Beispiel, da sich ein dreidimensionaler Punkt 82 näher am optischen Zentrum 31c als zwei dreidimensionale Punkte 81 befindet, bestimmt die Bestimmungseinheit 54 den dreidimensionalen Punkt 82. Die Bestimmungseinheit 54 führt die Steuerung zum Bestimmen des dreidimensionalen Punktes, der am nächsten zu dem Referenzpunkt liegt, für jedes der Evaluierungsgebiete 94 durch.
-
28 veranschaulicht eine Querschnittsansicht des Werkstücks, in dem dreidimensionale Punkte, die durch die Bestimmungseinheit bestimmt werden, angegeben sind. Der dreidimensionale Punkt mit dem kleinsten Abstand vom Referenzpunkt wird aus der Mehrzahl von dreidimensionalen Punkten 81 und 82 extrahiert, die in 25 in jedem der Evaluierungsgebiete 94 veranschaulicht sind. Ein dreidimensionaler Punkt entfernt von der Oberfläche des Werkstücks 62 wird ausgeschlossen. Außerdem verbleiben in der dritten Robotereinrichtung die dreidimensionalen Punkte 81 auf der Oberfläche des Wandabschnitts 64. Die Bestimmungseinheit 54 kann die dreidimensionalen Punkte 81, die entsprechend der Oberfläche des Wandabschnitts 64 detektiert werden, durch ein beliebiges Verfahren ausschließen. Beispielsweise kann der dreidimensionale Punkt 81, der den vorbestimmten Positionsbereich überschreitet, ausgeschlossen werden.
-
Mit Bezug auf 2 und 28 erzeugt die Erzeugungseinheit 55 Positionsinformationen von dreidimensionalen Punkten, die durch Synthetisieren von Positionsinformationen von einer Mehrzahl von dreidimensionalen Punkten, die durch die Kamera 31 gemäß der Mehrzahl von dreidimensionalen Punkten, die durch die Bestimmungseinheit 54 bestimmt werden, erhalten werden. Die Erzeugungseinheit 55 kann ein Entfernungsbild gemäß den dreidimensionalen Punkten 82 erzeugen, die entsprechend der Oberfläche 63a des Plattenabschnitts 63 des Werkstücks 62 angeordnet sind.
-
29 veranschaulicht eine Perspektivansicht, die die Größe des Evaluierungsgebiets in der dritten Robotereinrichtung beschreibt. Das Evaluierungsgebiet 94 kann auf eine beliebige Größe festgelegt werden. In der vorliegenden Ausführungsform wird ein Pixel 99 im Lichtempfangselement 96 der Kamera 31 bestimmt. Der Winkel θ und der Winkel φ in sphärischen Koordinaten können durch gerade Linien festgelegt werden, die sich von den Eckpunkten des Pixels 99 zu dem optischen Zentrum 31c erstrecken. Ein Gebiet mit einer Kegelform gemäß dem Winkel θ und dem Winkel φ kann als das Evaluierungsgebiet 94 festgelegt werden. Auf diese Weise können die Winkel entsprechend einem Pixel als die Winkel der Kegelform des Evaluierungsgebiets festgelegt werden.
-
30 veranschaulicht eine Perspektivansicht und eine Draufsicht eines Bilderfassungsgebiets zum Beschreiben der Orientierungen der Kamera, wenn die Kamera gedreht wird. Der Winkel, mit dem die Kamera 31 gedreht wird, kann auf einen beliebigen Winkel festgelegt werden. Im Beispiel hier wird die virtuelle Ebene 97 von der Kamera 31 entfernt festgelegt. Die virtuelle Ebene 97 ist eine Ebene senkrecht zu der optischen Achse, die durch den Pfeil 108 angegeben wird, wenn die Kamera 31 in die erste Orientierung R31a platziert wird. Im Bilderfassungsgebiet 31a auf der virtuellen Ebene 97 ist es möglich, einen Punkt entsprechend einem Sichtwinkel mit einem vorbestimmten Verhältnis zu dem Sichtwinkel der Kamera 31 festzulegen. Dann kann eine Orientierung der Kamera 31 so festgelegt werden, dass die optische Achse der Kamera 31 an diesem Punkt angeordnet wird. Beispielsweise ist es in dem Bilderfassungsgebiet 31a auf der virtuellen Ebene 97 möglich, ein Gebiet 98 durch Multiplizieren des Sichtwinkels mit einem vorbestimmten Verhältnis zu berechnen. Wie durch den Pfeil 109 angegeben, kann die Orientierung R31c der Kamera 31 so festgelegt werden, dass die optische Achse an der Position des Eckpunktes 100a des Gebiets 98 angeordnet wird. Alternativ kann die Orientierung R31c der Kamera 31 so festgelegt werden, dass die optische Achse an einem Punkt 100b angeordnet wird, der durch gleichmäßiges Teilen des Gebiets 98 erhalten wird.
-
Die dritte Robotereinrichtung kann auch synthetisierte Positionsinformationen von dreidimensionalen Punkten gemäß den Positionsinformationen der dreidimensionalen Punkte erzeugen, die durch Drehen der Kamera 31 erfasst werden. Dementsprechend können Positionsinformationen von dreidimensionalen Punkten mit reduziertem Einfluss von Multipath erfasst werden.
-
Andere Konfigurationen, Vorgänge und Effekte der dritten Robotereinrichtung ähneln jenen der ersten Robotereinrichtung der vorliegenden Ausführungsform, und daher wird die Beschreibung davon hier nicht wiederholt.
-
31 veranschaulicht eine Seitenansicht einer Kamera und eines Werkstücks in einer vierten Robotereinrichtung der vorliegenden Ausführungsform. Die Konfiguration der vierten Robotereinrichtung ähnelt der Konfiguration der zweiten Robotereinrichtung (siehe 19). In der vierten Robotereinrichtung ist die Position der Kamera 31 fest. Dann wird die relative Orientierung der Kamera 31 zu dem Werkstück 62 durch Ändern der Orientierung des Werkstücks 62 geändert. In der vierten Robotereinrichtung fungiert der Roboter 1 als eine Drehvorrichtung, die die relative Orientierung der Kamera 31 zu dem Werkstück 62 ändert. Der Roboter 1 dreht das Werkstück 62 um das optische Zentrum 31c als ein Zentralpunkt der Drehung. Die Kamera 31 erfasst Entfernungsbilder mit dem Werkstück 62, das in eine Mehrzahl von vorbestimmten relativen Orientierungen des Werkstücks 62 zu der Kamera 31 platziert wird.
-
Die Steuerung 2 ändert die Position und die Orientierung des Roboters 1, sodass der Ursprung des Werkzeugkoordinatensystems 72, der ein Werkzeugspitzenpunkt ist, auf einer sphärischen Oberfläche 80 angeordnet wird, die am optischen Zentrum 31c zentriert ist. Die Steuerung 2 ändert die Position und die Orientierung des Roboters 1, sodass die Z-Achse des Werkzeugkoordinatensystems 72 zum optischen Zentrum 31c zeigt.
-
Mit Bezug auf 2 und 31 erfasst die Kamera 31 ein erstes Entfernungsbild, bei dem das Werkstück 62 in eine erste Orientierung R62a des Werkstücks 62 platziert wird. Die Positionsinformationen von dreidimensionalen Punkten, die von der Kamera 31 ausgegeben werden, werden im Kamerakoordinatensystem 73 repräsentiert. Die Positionserfassungseinheit 52 speichert das erste Entfernungsbild in Kombination mit der Position und der Orientierung des Roboters 1 in der ersten Orientierung R62a in der Speicherungseinheit 42.
-
Als Nächstes ändert die Steuerung 2 die Position und die Orientierung des Roboters 1, um das Werkstück 62 in eine zweite Orientierung R62b zu platzieren. Die Kamera 31 erfasst ein zweites Entfernungsbild. Die Positionserfassungseinheit 52 speichert das zweite Entfernungsbild in Kombination mit der Position und der Orientierung des Roboters 1 in der zweiten Orientierung R62b in der Speicherungseinheit 42.
-
In der vorliegenden Ausführungsform werden Entfernungsbilder erfasst, bei denen das Werkstück 62 in die beiden Orientierungen des Werkstücks 62 platziert wird, aber die Ausführungsform ist nicht darauf beschränkt. Entfernungsbilder können in drei oder mehr Orientierungen erfasst werden. Die Kamera 31 erfasst Entfernungsbilder mit dem Werkstück 62, das in alle Orientierungen des Werkstücks 62 platziert wird.
-
Die Umwandlungseinheit 53 wandelt die Positionsinformationen der dreidimensionalen Punkte, die in jede der Orientierungen R62a und R62b des Werkstücks 62 erfasst und in dem Kamerakoordinatensystem 73 repräsentiert werden, in die Positionsinformationen der dreidimensionalen Punkte um, die im Werkzeugkoordinatensystem 72 repräsentiert werden. Die Umwandlungseinheit 53 wandelt Positionsinformationen von dreidimensionalen Punkten gemäß der Position und der Orientierung des Roboters 1 um.
-
Als Nächstes ordnet die Bestimmungseinheit 54 die Positionsinformationen der dreidimensionalen Punkte im ersten Entfernungsbild und die Positionsinformationen der dreidimensionalen Punkte im zweiten Entfernungsbild auf einer Oberfläche des Werkstücks 62 an. Hier wählt die Bestimmungseinheit 54 eine beliebige Orientierung des Werkstücks 62 aus. Beispielsweise wählt die Bestimmungseinheit 54 eine Orientierung des Werkstücks 62 innerhalb eines Bereichs aus, in dem das Werkstück 62 bewegt wird. In der vorliegenden Ausführungsform wählt die Bestimmungseinheit 54 die Orientierung R62a aus, bei der sich die Z-Achse des Werkzeugkoordinatensystems 72 parallel zu der vertikalen Richtung befindet.
-
Als Nächstes wandelt die Bestimmungseinheit 54 die Positionsinformationen der dreidimensionalen Punkte, die in dem Werkzeugkoordinatensystem 72 repräsentiert werden, in die Positionsinformationen der dreidimensionalen Punkte, die im Weltkoordinatensystem 71 repräsentiert werden, gemäß der Position und der Orientierung des Roboters 1 um, die der ausgewählten Orientierung des Werkstücks 62 entsprechen. Durch das Durchführen dieser Steuerung wird ein Zustand erhalten, der dem Zustand ähnelt, der in 20 in der zweiten Robotereinrichtung 4 veranschaulicht ist.
-
Die Festlegungseinheit 56 legt einen Evaluierungsbereich und Evaluierungsgebiete fest. In der vierten Robotereinrichtung werden ein Evaluierungsbereich und Evaluierungsgebiete mit einer Kegelform ähnlich jener in der dritten Robotereinrichtung eingesetzt (siehe 26 und 27). Ein Referenzpunkt zum Definieren der Evaluierungsgebiete kann an einer beliebigen Position relativ zu dem Werkstück 62 festgelegt werden. Im Beispiel hier wird das optische Zentrum 31c als ein Referenzpunkt festgelegt. Das heißt, der Referenzpunkt wird als der Zentralpunkt festgelegt, um den das Werkstück 62 gedreht wird. Die Bestimmungseinheit 54 bestimmt den dreidimensionalen Punkt, der am nächsten zu dem Referenzpunkt liegt, in jedem der Evaluierungsgebiete. Die Erzeugungseinheit 55 kann synthetisierte Positionsinformationen von dreidimensionalen Punkten gemäß den durch die Bestimmungseinheit 54 bestimmten dreidimensionalen Punkten erzeugen.
-
Andere Konfigurationen, Vorgänge und Effekte der vierten Robotereinrichtung ähneln jenen der ersten Robotereinrichtung bis zu der dritten Robotereinrichtung, und daher wird die Beschreibung davon hier nicht wiederholt.
-
In der dritten Robotereinrichtung und der vierten Robotereinrichtung wird ein Roboter als eine Drehvorrichtung eingesetzt, die eine Kamera oder ein Werkstück dreht, aber die Ausführungsform ist nicht darauf beschränkt. Als eine Drehvorrichtung kann eine beliebige Vorrichtung eingesetzt werden, die eine Kamera oder ein Werkstück um einen vorbestimmten Zentralpunkt drehen kann. Ferner kann eine Drehvorrichtung eingesetzt werden, die sowohl eine Kamera als auch ein Werkstück dreht.
-
32 veranschaulicht eine partielle Querschnittsansicht einer Kamera und eines Werkstücks einer fünften Robotereinrichtung der vorliegenden Ausführungsform. Die Konfiguration der fünften Robotereinrichtung ähnelt der der ersten Robotereinrichtung (siehe 1). Die fünfte Robotereinrichtung beinhaltet eine Bewegungsvorrichtung, die die relative Position der Kamera 31 zu dem Werkstück 62 ändert. Der Roboter 1 fungiert als eine Bewegungsvorrichtung.
-
In der ersten Robotereinrichtung wird die Kamera 31 entlang der vorbestimmten Bewegungsebene 78 verschoben. Mit Bezug auf 2 und 32 ändert im Gegensatz dazu in der fünften Robotereinrichtung der Roboter 1 die Position und die Orientierung, sodass die Kamera 31 entlang einer vorbestimmten Bewegungslinie 83 verschoben wird. Die Kamera 31 wird an einer Position entlang der Bewegungslinie 83 platziert. Beispielsweise befindet sich das optische Zentrum der Kamera 31 auf der Bewegungslinie 83. Zu dieser Zeit wird die Orientierung der Kamera 31 konstant gehalten.
-
Nachdem sie an eine ersten Position P31d platziert wurde, erfasst die Kamera 31 ein erstes Entfernungsbild. Die dreidimensionalen Punkte 81 entsprechend der Oberfläche des Werkstücks 62 werden detektiert. Die Positionserfassungseinheit 52 speichert das erste Entfernungsbild mit der Position und der Orientierung des Roboters 1 in der Speicherungseinheit 42. Als Nächstes wird der Roboter 1 so angetrieben, dass die Kamera 31 an einer Position P31e platziert wird. Die Kamera 31 erfasst ein zweites Entfernungsbild. Die dreidimensionalen Punkte 82 entsprechend der Oberfläche des Werkstücks 62 werden detektiert. Die Positionserfassungseinheit 52 speichert das erste Entfernungsbild mit der Position und der Orientierung des Roboters 1 in der Speicherungseinheit 42.
-
Die Umwandlungseinheit 53 der Verarbeitungseinheit 51 wandelt die Positionsinformationen der dreidimensionalen Punkte, die in dem Kamerakoordinatensystem 73 repräsentiert werden, in die Positionsinformationen der dreidimensionalen Punkte um, die im Weltkoordinatensystem 71 repräsentiert werden. Die Bestimmungseinheit 54 bestimmt einen dreidimensionalen Punkt, der am nächsten zu einer Referenzlinie liegt, aus den dreidimensionalen Punkten 81 und 82, die in dem ersten Entfernungsbild und dem zweiten Entfernungsbild enthalten sind.
-
33 veranschaulicht eine Perspektivansicht einer Kamera und eines Werkstücks zum Beschreiben eines Evaluierungsbereichs, in dem Evaluierungsgebiete in der fünften Robotereinrichtung angeordnet sind. 34 veranschaulicht eine Perspektivansicht eines Evaluierungsgebiets in der fünften Robotereinrichtung. Mit Bezug auf 33 und 34 wird in der fünften Robotereinrichtung eine Referenzlinie festgelegt, um die Positionen der dreidimensionalen Punkte 81 und 82 zu evaluieren. Eine beliebige Linie kann als die Referenzlinie verwendet werden. Die Referenzlinie ist vorzugsweise die Bewegungslinie 83 oder eine Linie parallel zu der Bewegungslinie 83. In der fünften Robotereinrichtung wird die Bewegungslinie 83 als die Referenzlinie festgelegt.
-
Die Festlegungseinheit 56 legt einen Evaluierungsbereich 121 und Evaluierungsgebiete 122 fest. Die Evaluierungsgebiete 122 sind Gebiete, die durch Teilen des Evaluierungsbereichs 121 in eine Mehrzahl von Gebieten erhalten werden. Das Evaluierungsgebiet 122 weist eine vorbestimmte Breite entlang der Bewegungslinie 83 als die Referenzlinie auf. Die Evaluierungsgebiete 122 werden so gebildet, dass sie sich radial von der Bewegungslinie 83 zu dem Werkstück 62 erstrecken. Eine Breite W des Evaluierungsgebiets 122 kann ähnlich zu der Länge einer Seite des Evaluierungsgebiets 92 in der ersten Robotereinrichtung festgelegt werden. Die Breite W kann gemäß einem Abstand d von der Kamera 31 zu der Oberfläche 63a des Werkstücks 62 und der Größe eines Pixels des Lichtempfangselements festgelegt werden (siehe 15). Ferner kann ein Winkel θ des Evaluierungsgebiets 122 ähnlich zu dem Winkel θ des Evaluierungsgebiets 94 in der dritten Robotereinrichtung festgelegt werden. Der Winkel θ kann gemäß geraden Linien festgelegt werden, die durch die Eckpunkte des Pixels 99 und das optische Zentrum der Kamera 31 laufen (siehe 29).
-
Die Bestimmungseinheit 54 berechnet den Abstand von der Bewegungslinie 83 zu jedem der dreidimensionalen Punkte 81 und 82. In dem in 34 veranschaulichten Beispiel befindet sich ein dreidimensionaler Punkt 82 näher an der Bewegungslinie 83 als zwei dreidimensionale Punkte 81. Somit bestimmt die Bestimmungseinheit 54 den dreidimensionalen Punkt 82. Die Bestimmungseinheit 54 führt die Steuerung zum Ausschließen der zwei dreidimensionalen Punkte 81 aus dem Satz von dreidimensionalen Punkten durch. Auf diese Weise führt die Bestimmungseinheit 54 die Steuerung zum Bestimmen des dreidimensionalen Punktes, der am nächsten zu der Referenzlinie liegt, für jedes der Evaluierungsgebiete 122 durch. Die Erzeugungseinheit 55 der Verarbeitungseinheit 51 erzeugt Positionsinformationen von dreidimensionalen Punkten, die durch Synthetisieren von Positionsinformationen einer Mehrzahl von dreidimensionalen Punkten gemäß der Mehrzahl von dreidimensionalen Punkten 81 und 82, die durch die Bestimmungseinheit 54 bestimmt werden, erhalten werden.
-
Wie oben beschrieben, selbst wenn eine Mehrzahl von Entfernungsbildern durch Bewegung der Kamera entlang der Bewegungslinie erfasst wird, können Positionsinformationen von dreidimensionalen Punkten mit reduziertem Einfluss von Multipath erzeugt werden. Es ist anzumerken, dass die Positionen der Kameras 31 zu der Zeit der Erfassung einer Mehrzahl von Entfernungsbildern durch ein Verfahren festgelegt werden können, das dem Verfahren des Festlegens des Intervalls für die Kameras 31 in der ersten Robotereinrichtung ähnelt (siehe 16).
-
Andere Konfigurationen, Vorgänge und Effekte der fünften Robotereinrichtung ähneln jenen der ersten Robotereinrichtung, und daher wird die Beschreibung davon hier nicht wiederholt.
-
Als Nächstes wird eine sechste Robotereinrichtung der vorliegenden Ausführungsform beschrieben. Die sechste Robotereinrichtung ähnelt der zweiten Robotereinrichtung 4 der vorliegenden Ausführungsform (siehe 19 und 20). Mit Bezug auf 19 und 20 wird in der zweiten Robotereinrichtung 4 das Werkstück 62 zweidimensional entlang der Bewegungsebene 78 bewegt. Im Gegensatz dazu wird das Werkstück 62 in der sechsten Robotereinrichtung entlang einer Bewegungslinie anstelle der Bewegungsebene 78 bewegt. Die Bewegungslinie ist eine Linie, die sich in eine vorbestimmte Richtung erstreckt. Beispielsweise ist die Bewegungslinie eine Linie, die sich in die horizontale Richtung erstreckt. Der Roboter 1 verschiebt das Werkstück 62, während die Orientierung des Werkstücks 62 konstant gehalten wird.
-
In der zweiten Robotereinrichtung 4 wird die Referenzebene 79 so festgelegt, dass die Bestimmungseinheit 54 die dreidimensionalen Punkte 81 und 82 bestimmt. Im Gegensatz dazu wird eine Referenzlinie in der sechsten Robotereinrichtung im Voraus anstelle der Referenzebene 79 festgelegt. Die Referenzlinie ist zum Beispiel eine Linie, die durch das optische Zentrum der Kamera 31 läuft. In der vorliegenden Ausführungsform wird die Referenzlinie so festgelegt, dass sie parallel mit der Bewegungslinie ist.
-
Die Kamera 31 erfasst Entfernungsbilder mit dem Werkstück 62, das an einer Mehrzahl von Positionen des Werkstücks 62 platziert wird. Ähnlich zu der fünften Robotereinrichtung legt die Festlegungseinheit 56 einen Evaluierungsbereich und einen Evaluierungsbereich, der sich von der Referenzlinie erstreckt, fest (siehe 33 und 34). Die Bestimmungseinheit 54 bestimmt den dreidimensionalen Punkt, der am nächsten zu der Referenzlinie liegt, in jedem der Evaluierungsgebiete. Die Erzeugungseinheit 55 kann synthetisierte Positionsinformationen von dreidimensionalen Punkten gemäß den durch die Bestimmungseinheit 54 bestimmten dreidimensionalen Punkten erzeugen.
-
Andere Konfigurationen, Vorgänge und Effekte der sechsten Robotereinrichtung ähneln jenen der zweiten Robotereinrichtung und der fünften Robotereinrichtung, und die Beschreibung davon wird hier nicht wiederholt.
-
Die oben beschriebene erste Robotereinrichtung führt die Steuerung zum Bestimmen eines dreidimensionalen Punktes nahe der Referenzebene durch Bewegen der Kamera 31 entlang der Bewegungsebene und Erfassen eines Entfernungsbildes durch. Die zweite Robotereinrichtung führt die Steuerung zum Bestimmen eines dreidimensionalen Punktes nahe der Referenzebene durch Bewegen des Werkstücks 62 entlang der Bewegungsebene und Erfassen eines Entfernungsbildes durch. Die dritte Robotereinrichtung führt die Steuerung zum Bestimmen eines dreidimensionalen Punktes nahe des Referenzpunktes durch Drehen der Kamera 31 um den Zentralpunkt und Erfassen eines Entfernungsbildes durch. Die vierte Robotereinrichtung führt die Steuerung zum Bestimmen eines dreidimensionalen Punktes nahe des Referenzpunktes durch Drehen des Werkstücks 62 um den Zentralpunkt und Erfassen eines Entfernungsbildes durch. Die fünfte Robotereinrichtung führt die Steuerung zum Bestimmen eines dreidimensionalen Punktes nahe der Referenzlinie durch Bewegen der Kamera 31 entlang der Bewegungslinie und Erfassen eines Entfernungsbildes durch. Die sechste Robotereinrichtung führt die Steuerung zum Bestimmen eines dreidimensionalen Punktes nahe der Referenzlinie durch Bewegen des Werkstücks 62 entlang der Bewegungslinie und Erfassen eines Entfernungsbildes durch. Diese Steuerungen zum Erfassen von Entfernungsbildern und Steuerungen zum Bestimmen eines dreidimensionalen Punktes, die in oben beschriebenen Positionsinformationen von dreidimensionalen Punkten zu halten sind, können zufällig kombiniert werden.
-
Beispielsweise kann eine Steuerung zum Bestimmen eines dreidimensionalen Punktes nahe eines vorbestimmten Referenzpunktes durch Bewegen der Kamera 31 oder des Werkstücks 62 entlang einer Bewegungsebene und Erfassen eines Entfernungsbildes durchgeführt werden. Ferner kann eine Steuerung zum Bestimmen eines dreidimensionalen Punktes nahe eines vorbestimmten Referenzpunktes durch Bewegen der Kamera 31 oder des Werkstücks 62 entlang einer Bewegungslinie und Erfassen eines Entfernungsbildes durchgeführt werden. Eine Steuerung zum Bestimmen eines dreidimensionalen Punktes nahe einer vorbestimmten Referenzlinie kann durch Bewegen der Kamera 31 oder des Werkstücks 62 entlang einer Bewegungsebene und Erfassen eines Entfernungsbildes durchgeführt werden. Eine Steuerung zum Bestimmen eines dreidimensionalen Punktes nahe einer vorbestimmten Referenzebene kann durch Bewegen der Kamera 31 oder des Werkstücks 62 entlang einer Bewegungslinie und Erfassen eines Entfernungsbildes durchgeführt werden. Des Weiteren kann eine Steuerung zum Bestimmen eines dreidimensionalen Punktes nahe der vorbestimmten Referenzebene oder Referenzlinie durch Drehen der Kamera 31 oder des Werkstücks 62 um einen Zentralpunkt und Erfassen eines Entfernungsbildes durchgeführt werden.
-
Zusätzlich fungiert der Roboter 1 der vorliegenden Ausführungsform als eine Änderungsvorrichtung, die die relative Position und die relative Orientierung der Kamera 31 zu dem Werkstück 62 ändert. Der Roboter 1 kann einen beliebigen Vorgang des Bewegens der Kamera 31 und/oder des Werkstücks 62 entlang einer Bewegungsebene oder einer Bewegungslinie in Kombination mit einem Vorgang des Drehens der Kamera 31 und/oder des Werkstücks 62 um einen vorbestimmten Zentralpunkt durchführen. Beispielsweise bewegt die Robotereinrichtung die Kamera 31 entlang einer Bewegungsebene, um Entfernungsbilder zu erfassen, und stoppt ferner die Bewegung der Kamera 31 während eines Zeitraums der Bewegung entlang der Bewegungsebene. Dann kann die Kamera 31 um einen vorbestimmten Zentralpunkt gedreht werden, um Entfernungsbilder zu erfassen. Alternativ kann die Robotereinrichtung Entfernungsbilder während eines Zeitraums erfassen, in dem ein Vorgang des Verschiebens der Kamera 31 und ein Vorgang des Drehens der Kamera 31 durchgeführt werden, sodass das Werkstück 62 immer zentriert ist. In diesem Fall kann die Bestimmungseinheit eine beliebige der Steuerung zum Bestimmen des dreidimensionalen Punktes nahe des vorbestimmten Referenzpunktes, der Steuerung zum Bestimmen des dreidimensionalen Punktes nahe der vorbestimmten Referenzebene und der Steuerung zum Bestimmen des dreidimensionalen Punktes nahe der vorbestimmten Referenzlinie durchführen.
-
In jeder oben beschriebenen Steuerung kann die Reihenfolge der Schritte zweckmäßig geändert werden, insofern nicht die Funktion und der Effekt geändert werden.
-
Die obige Ausführungsform kann zweckmäßig kombiniert werden. In jeder der oben beschriebenen Zeichnungen werden die gleichen oder äquivalente Teile durch die gleichen Bezugsziffern bezeichnet. Es sollte angemerkt werden, dass die oben beschriebene Ausführungsform ein Beispiel ist und nicht die Erfindung beschränkt. Zusätzlich beinhaltet die Ausführungsform Modifikationen der Ausführungsform, die in den Ansprüchen beschrieben sind.
-
Bezugszeichenliste
-
- 1
- Roboter
- 2, 8
- Steuerung
- 3, 4
- Robotereinrichtung
- 7
- Inspektionsvorrichtung
- 23
- Positionsdetektor
- 31, 32
- Kamera
- 31C, 32c
- optisches Zentrum
- P31a, P31b, P31c, P31d, P31e
- Position
- R31a, R31b
- Orientierung
- 51
- Verarbeitungseinheit
- 52
- Positionserfassungseinheit
- 53
- Umwandlungseinheit
- 54
- Bestimmungseinheit
- 55
- Erzeugungseinheit
- 56
- Festlegungseinheit
- 62, 66, 67
- Werkstück
- P62a, P62b
- Position
- R62a, R62b
- Orientierung
- 71
- Weltkoordinatensystem
- 72
- Werkzeugkoordinatensystem
- 73
- Kamerakoordinatensystem
- 75
- Platzierungsebene
- 78
- Bewegungsebene
- 79
- Referenzebene
- 81, 82
- dreidimensionaler Punkt
- 83
- Bewegungslinie
- 86, 87
- Entfernungsbild
- 91, 93, 121
- Evaluierungsbereich
- 92, 94, 122
- Evaluierungsgebiet
- 96
- Lichtempfangselement
-
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
-
- JP 2008264947 A [0002, 0004]
- JP 2006258486 A [0002, 0004]
- WO 2018042801 A1 [0003, 0004]