-
ALLGEMEINER STAND DER TECHNIK
-
Gebiet der Erfindung
-
Die Erfindung betrifft eine Simulationsvorrichtung, die einen Arbeitsablauf eines Roboters simuliert.
-
Beschreibung des Standes der Technik
-
Eine Robotervorrichtung, die einen Roboter und ein Arbeitsablaufwerkzeug umfasst, kann einen Arbeitsablauf wie das Transportieren eines Werkstücks ausführen, indem sie eine Position und Orientierung des Roboters ändert. Beispielsweise ist eine Robotervorrichtung bekannt, die zum Aufnehmen eines Werkstücks konfiguriert ist, das in einem Behälter gestapelt ist (z. B. Japanische Offenlegungsschrift Veröffentlichungsnr. 2017-170567 A und Japanische Offenlegungsschrift Veröffentlichungsnr. 2010-71743 A). In einer solchen Robotervorrichtung kann die Position und Orientierung des Werkstücks durch Verwenden eines Bilds des Werkstücks festgestellt werden, das von einer Kamera erfasst wurde. Die Robotervorrichtung kann einen Arbeitsablauf am Werkstück ausführen, indem die Position und die Orientierung des Roboters gemäß der Position und Orientierung des Werkstücks geändert wird.
-
Ferner ist eine Simulationsvorrichtung bekannt, die in einer Robotervorrichtung, die eine Kamera zum Feststellen der Position und Orientierung eines Werkstücks umfasst, eine Simulation implementiert, bevor die Robotervorrichtung einen tatsächlichen Arbeitsablauf durchführt (z. B.
Japanisches Patent Nr. 5897624 B ).
-
KURZDARSTELLUNG DER ERFINDUNG
-
Eine Simulationsvorrichtung simuliert eine Robotervorrichtung, so dass festgestellt werden kann, ob die Robotervorrichtung einen gewünschten Arbeitsablauf durchführt oder nicht. Ferner kann die Simulationsvorrichtung ein Arbeitsablaufprogramm bewerten, das die Robotervorrichtung antreibt, bevor die Robotervorrichtung den tatsächlichen Arbeitsablauf durchführt. Ein Bediener kann dann aufgrund eines Simulationsergebnisses die Position einer Vorrichtung in einem Raum ändern, in dem der Arbeitsablauf durchzuführen ist, das Arbeitsablaufwerkzeug ändern oder das Arbeitsablaufprogramm korrigieren.
-
Die Simulationsvorrichtungen in der verwandten Technik können die Simulation implementieren, indem Modelle wie ein Robotermodell, das einem Roboter entspricht, und ein Werkstückmodell, das einem Werkstück entspricht, in einem virtuellen Raum angeordnet werden. Somit stellt die Simulationsvorrichtung manchmal einen Abschnitt des Werkstücks fest, der von der Kamera aus nicht tatsächlich sichtbar ist, um eine Simulation zu implementieren. Infolgedessen kann sich ein Entfernungsbild, das in der Simulation erhalten wird, von einem Entfernungsbild unterscheiden, das von der tatsächlichen Robotervorrichtung erhalten wird, was zum Problem der Verschlechterung der Simulationsgenauigkeit führt.
-
Beispielsweise wird in der tatsächlichen Robotervorrichtung die Position und Orientierung des Werkstücks eventuell nicht festgestellt, da ein Abschnitt des Werkstücks von der Kamera nicht erfasst werden kann. Infolgedessen liegt ein Fall vor, in dem das Werkstück nicht von der Robotervorrichtung transportiert werden kann. Dessen ungeachtet wird in der Simulationsvorrichtung die Berechnung selbst für einen Abschnitt durchgeführt, der von der Kamera nicht erfasst werden kann, und daher liegt ein Fall vor, in dem eine Simulation durchgeführt wird, so dass das Werkstück von der Robotervorrichtung transportiert werden kann.
-
Eine Simulationsvorrichtung nach einem Aspekt der vorliegenden Offenbarung simuliert einen Arbeitsablauf, der an einem Werkstück von einem Roboter ausgeführt wird, aufgrund dreidimensionaler Information über das Werkstücks, die von einem dreidimensionalen Sensor erhalten wird, der mit zwei zweidimensionalen Kameras vorgesehen ist. Die Simulationsvorrichtung umfasst eine Modellerzeugungseinheit, die in einem virtuellen Raum ein Robotermodell, das den Roboter dreidimensional ausdrückt, ein Werkstückmodell, das das Werkstück dreidimensional ausdrückt und ein dreidimensionales Sensormodell erzeugt, das Kameramodelle umfasst, die die zweidimensionalen Kameras dreidimensional ausdrücken. Die Simulationsvorrichtung umfasst eine Einstellpunktanordnungseinheit, die mehrere Einstellpunkte auf einer Oberfläche des Werkstückmodells anordnet, und eine Entfernungsberechnungseinheit, die Entfernungen vom dreidimensionalen Sensormodell zu jedem der Einstellpunkte berechnet. Die Simulationsvorrichtung umfasst eine dreidimensionale Information erzeugende Einheit, die dreidimensionale Information erzeugt, die Positionen der Einstellpunkte und Entfernungen vom dreidimensionalen Sensormodell zu den Einstellpunkten umfasst. Die Simulationsvorrichtung umfasst eine Ausschlusseinheit, die aus den Einstellpunkten, die auf der Oberfläche des Werkstückmodells angeordnet sind, den Einstellpunkt ausschließt, der von mindestens einem der Kameramodelle aus nicht sichtbar ist. Die Simulationsvorrichtung umfasst eine die Werkstückposition berechnende Einheit, die eine Position und Orientierung des Werkstückmodells aufgrund der dreidimensionalen Information berechnet. Die Simulationsvorrichtung umfasst eine Simulation ausführende Einheit, die eine Position und Orientierung des Robotermodells ändert und Simulation eines Arbeitsablaufs, der am Werkstückmodell durchgeführt wird, aufgrund der Position und Orientierung des Werkstückmodells implementiert.
-
Figurenliste
-
Es zeigen:
- 1 eine schematische Ansicht einer Robotervorrichtung und einer Simulationsvorrichtung einer Ausführungsform.
- 2 ein Blockdiagramm der Simulationsvorrichtung der Ausführungsform.
- 3 ein Blockdiagramm einer Einstellpunktanordnungseinheit der Ausführungsform.
- 4 ein Flussdiagramm des Steuerns von Simulation der Ausführungsform.
- 5 ein Beispiel für ein Bild, das auf einer Anzeigeeinheit der Simulationsvorrichtung angezeigt wird.
- 6 eine perspektivische Ansicht eines Modells zum Erläutern einer ersten Ebene zum Berechnen von Einstellpunkten in der Simulation.
- 7 eine perspektivische Ansicht eines Modells zum Erläutern einer zweiten Ebene zum Berechnen von Einstellpunkten in der Simulation.
- 8 eine perspektivische Ansicht zum Erläutern einer Schnittlinie der ersten Ebene und der zweiten Ebene.
- 9 ein Diagramm zum Erläutern einer Schnittlinie einer Messregion und der ersten Ebene, und einer Schnittlinie der Messregion und der zweiten Ebene.
- 10 eine perspektivische Ansicht eines Werkstückmodells zum Erläutern von Einstellpunkten, die von einer Einstellpunktanordnungseinheit auf Oberflächen eines Werkstücks angeordnet sind.
- 11 eine schematische Ansicht zum Erläutern der Berechnung einer Entfernung von einem Wegsensormodells zum Werkstückmodell.
- 12 eine erste schematische Ansicht zum Erläutern von Einstellpunkten, die auf Oberflächen eines Werkstücks angeordnet sind.
- 13 eine zweite schematische Ansicht zum Erläutern von Einstellpunkten, die auf Oberflächen des Werkstücks angeordnet sind.
- 14 eine perspektivische Ansicht des Werkstückmodells, wenn ein Abschnitt von Einstellpunkten von einer Ausschlusseinheit ausgeschlossen wird.
- 15 ein Beispiel für einen Entfernungsbild, das von der Simulationsvorrichtung erhalten wird.
- 16 eine perspektivische Ansicht des Werkstückmodells zum Erläutern eines Steuerns zum Feststellen von Oberflächen der Werkstückmodelle.
- 17 ein Beispiel für ein Bild, das auf einer Anzeigeeinheit angezeigt wird, wenn die Simulation durchgeführt wird.
- 18 eine schematische Ansicht zum Erläutern einer Überlappungsregion, wenn die Einstellpunkte von der Ausschlusseinheit ausgeschlossen werden.
- 19 eine schematische Ansicht zum Erläutern der Korrektur einer Entfernung der Einstellpunkte, die auf einer Oberfläche des Werkstückmodells angeordnet sind.
-
AUSFÜHRLICHE BESCHREIBUNG
-
Eine Simulationsvorrichtung einer Ausführungsform wird mit Bezug auf 1 bis 19 beschrieben. In der vorliegenden Ausführungsform implementiert eine Robotervorrichtung, die einen Roboter und ein Arbeitsablaufwerkzeug umfasst, das an dem Roboter angebracht ist, einen vorgegebenen Arbeitsablauf. Die Simulationsvorrichtung der vorliegenden Ausführungsform simuliert einen Arbeitsablauf, der vom Roboter an einem Werkstück durchzuführen ist. Ferner wird in der vorliegenden Ausführungsform eine Beschreibung bereitgestellt, indem eine Robotervorrichtung verwendet wird, die beispielsweise ein Werkstück transportiert.
-
1 ist eine schematische Ansicht der Robotervorrichtung und der Simulationsvorrichtung der vorliegenden Ausführungsform. Eine Robotervorrichtung 9 umfasst eine Hand 5, die ein Werkstück 85 ergreift, und einen Roboter 1, der die Hand 5 bewegt. Die Robotervorrichtung 9 umfasst einen Wegsensor 6, der als ein dreidimensionaler Sensor wirkt, der ein Bild des Werkstücks 85 erfasst, um eine Position und Orientierung des Werkstücks 85 festzustellen. Diese Robotervorrichtung 9 umfasst eine Steuereinheit 2, die den Roboter 1 und die Hand 5 steuert. Die Steuereinheit 2 der vorliegenden Ausführungsform steuert auch den Wegsensor 6.
-
Die Hand 5 der vorliegenden Ausführungsform ist ein Arbeitsablaufwerkzeug (Endwirkglied), das das Werkstück 85 ergreift und loslässt. Das Arbeitsablaufwerkzeug, das am Roboter 1 abgebracht ist, ist nicht auf diesen Modus beschränkt, und es kann ein beliebiges Arbeitsablaufwerkzeug verwendet werden, das dem Arbeitsablauf entspricht, der von der Robotervorrichtung 9 durchzuführen ist. Beispielsweise kann ein Arbeitsablaufwerkzeug, das das Werkstück schweißt, ein Arbeitsablaufwerkzeug, das ein Abdichtglied auf einer Oberfläche des Werkstücks anordnet, oder dergleichen verwendet werden.
-
Der Roboter 1 der vorliegenden Ausführungsform ist ein Gelenkroboter, der mehrere Gelenke 18 aufweist. Der Roboter 1 umfasst einen oberen Arm 11 und einen unteren Arm 12. Der untere Arm 12 wird von einer Drehunterlage 13 getragen. Die Drehunterlage 13 wird von einer Unterlage 14 getragen. Der Roboter 1 umfasst ein Handgelenk 15, das mit einem Endabschnitt des oberen Arms 11 verbunden ist. Jedes der einzelnen Glieder des Roboters 1 ist so ausgebildet, dass es sich um eine vorgegebene Antriebsachse dreht. Der Roboter ist nicht auf diesen Modus beschränkt und es kann ein beliebiger Roboter verwendet werden, der zum Bewegen eines Arbeitsablaufwerkzeugs in der Lage ist.
-
Die Steuereinheit 2 umfasst eine arithmetische Verarbeitungsvorrichtung (Computer), die eine zentrale Recheneinheit (CPU), einen Direktzugriffspeicher (RAM), einen schreibgeschützten Speicher (ROM) und dergleichen umfasst. Die CPU ist mit dem RAM und dem ROM über einen Bus verbunden. Ein im Voraus erstelltes Arbeitsablaufprogramm wird in die Steuereinheit 2 eingegeben, um die Robotervorrichtung 9 und den Wegsensor 6 zu steuern. Der Roboter 1 treibt die Steuereinheit 2 aufgrund von Betätigungsbefehlen an. Die Robotervorrichtung 9 transportiert das Werkstück 85 automatisch aufgrund des Arbeitsablaufprogramms.
-
Das Werkstück 85 ist auf einer Oberfläche eines Sockels 81 angeordnet. Der Wegsensor 6 ist in einer Position angebracht, die das Erfassen eines Bilds des Werkstücks 85 ermöglicht. In der vorliegenden Ausführungsform ist der Wegsensor 6 über dem Sockel 81 angebracht. Der Wegsensor 6 wird von einem Trageglied 83 getragen.
-
Der Wegsensor 6 der vorliegenden Ausführungsform umfasst zwei zweidimensionale Kameras 61, 62. Die beiden zweidimensionalen Kameras 61, 62 sind voneinander getrennt angebracht. Zweidimensionale Kameras 61, 62 sind Kameras, die zweidimensionale Bilder erfassen können. Als die beiden zweidimensionalen Kameras 61, 62, können beliebige Kameras verwendet werden, die einen Bildsensor wie einen CCD-Sensor (ladungsgekoppelten Bauteilsensor) oder einen CMOS-Sensor (komplementären Metall-Oxid-Halbleitersensor) umfassen. Die relativen Positionen der beiden zweidimensionalen Kameras 61, 62 sind vorgegeben.
-
Der Wegsensor 6 der vorliegenden Ausführungsform umfasst einen Projektor 63, der ein Musterlicht zum Werkstück 85 projiziert. Der Projektor 63 umfasst eine Lichtquelle wie eine Laserdiode oder eine Leuchtdiode. Der Projektor der 63 der vorliegenden Ausführungsform projiziert ein Streifenmusterlicht auf das Werkstück 85.
-
Der Wegsensor 6 der vorliegenden Ausführungsform erfasst Bilder des Werkstücks 85, wobei die beiden zweidimensionalen Kameras 61, 62 verwendet werden. Eine Funktion der Steuereinheit 2 ist das Verarbeiten der Bilder, die von den zweidimensionalen Kameras 61, 62 erfasst werden. Die Steuereinheit 2 kann dreidimensionale Information über das Werkstück 85 anhand eines Stereoverfahrens erzeugen. Die Steuereinheit 2 berechnet eine Entfernung zu einem vorgegeben Abschnitt des Werkstücks 85 aufgrund einer Parallaxe zwischen den beiden Bildern, die von den beiden zweidimensionalen Kameras 61, 62 erfasst werden. Es ist zu beachten, dass eine arithmetische Verarbeitungsvorrichtung, die die von den zweidimensionalen Kameras 61, 62 erfassten Bilder verarbeitet, getrennt von der Steuereinheit 2 angeordnet sein kann.
-
Die dreidimensionale Information umfasst Information bezüglich einer Position eines vorgegebenen Punkts und einer Entfernung vom Wegsensor zum vorgegebenen Punkt. Die dreidimensionale Information umfasst ein Entfernungsbild oder eine dreidimensionale Karte. Das Entfernungsbild ist ein Bild, das eine Helligkeit oder eine Farbe eines Pixels des Bilds gemäß einer Entfernung ändert. Die dreidimensionale Karte drückt Messpunkte aus, indem Sätze von Koordinatenwerten (x, y, z) eines vorgegebenen Koordinatensystems und Entfernungen verwendet werden. Daher wird in der vorliegenden Ausführungsform die Information über das Werkstück 85, die durch die Ausgabe des dreidimensionalen Sensors erhalten und dreidimensional ausgedrückt wird, als dreidimensionale Information bezeichnet.
-
Die Steuereinheit 2 stellt die Position und Orientierung des Werkstücks 85 aufgrund der dreidimensionalen Information fest, die aus den Bildern des Wegsensors 6 erhalten wird. Dann ändert die Steuereinheit 2 eine Position und Orientierung des Roboters 1 gemäß der Position und Orientierung des Werkstücks 85. Anschließend ergreift die Hand 5 das Werkstück 85. Als nächstes ändert die Steuereinheit 2 die Position und Orientierung des Roboters 1, um das Werkstück 85 an eine gewünschte Position zu transportieren.
-
Eine Simulationsvorrichtung 3 der vorliegenden Ausführungsform umfasst eine arithmetische Verarbeitungsvorrichtung (Computer), die eine CPU, einen RAM und dergleichen umfasst. Die Simulationsvorrichtung 3 umfasst eine Anzeigeeinheit 32, die einen Status während des Ausführens der Simulation, Ergebnisse und dergleichen anzeigt. Die Anzeigeeinheit 32 kann von einer Flüssigkeitskristallanzeigetafel oder dergleichen konfiguriert sein. Die Simulationsvorrichtung 3 der vorliegenden Ausführungsform ist durch eine Kommunikationsverbindung verbunden, um gegenseitige Kommunikation mit der Steuereinheit 2 durchzuführen. Die Simulationsvorrichtung 3 kann das Arbeitsablaufprogramm von der Steuereinheit 2 erhalten. Alternativ kann die Simulationsvorrichtung 3 das von der Simulationsvorrichtung 3 geänderte Arbeitsablaufprogramm an die Steuereinheit 2 senden. Es ist zu beachten, dass die Simulationsvorrichtung 3 eventuell nicht mit der Steuereinheit 2 verbunden ist. Die Simulationsvorrichtung 3 der vorliegenden Ausführungsform ist auf einem Sockel 82 platziert.
-
2 stellt ein Blockdiagramm der Simulationsvorrichtung der vorliegenden Ausführungsform dar. 3 stellt ein Blockdiagramm einer Einstellpunktanordnungseinheit der Simulationsvorrichtung der vorliegenden Ausführungsform dar. 4 stellt ein Flussdiagramm des Steuerns zum Implementieren einer Simulation der vorliegenden Ausführungsform dar.
-
Mit Bezug auf 2 bis 4 umfasst die Simulationsvorrichtung 3 eine Modellerzeugungseinheit 34, die Modelle von Gliedern, die in der Robotervorrichtung 9 enthalten sind, und ein Modell des Werkstücks 85 erzeugt. In Schritt 91 erzeugt die Modellerzeugungseinheit 34 einen virtuellen Raum, in dem zu simulierende Glieder angeordnet sind. Die Modellerzeugungseinheit 34 ordnet die Modelle der Glieder bezüglich der Simulation im virtuellen Raum an. Die Simulationsvorrichtung 3 zeigt diesen virtuellen Raum auf der Anzeigeeinheit 32 an. Ferner zeigt die Anzeigeeinheit 32 ein Ergebnis der Simulation an. Beispielsweise wird ein Arbeitsablauf, in dem die Position und Orientierung des Roboters geändert werden, auf der Anzeigeeinheit 32 angezeigt.
-
Ein Arbeiter gibt im Voraus dreidimensionale Modelle der Robotervorrichtung 9 und des Werkstücks 85 in die Simulationsvorrichtung 3 ein. Beispielsweise können dreidimensionale Daten, die von einer computergestützten Design-Vorrichtung (CDA-Vorrichtung) erzeugt werden, als das dreidimensionale Modell verwendet werden. Die dreidimensionalen Daten umfassen beispielsweise Formdaten der Glieder. Die Modellerzeugungseinheit 34 verwendet die dreidimensionalen Dateneingaben im Voraus, um ein Modell von jedem der Glieder zu erzeugen.
-
5 stellt ein Beispiel für ein Bild des virtuellen Raums dar, der auf der Anzeigeeinheit der Simulationsvorrichtung in der vorliegende Ausführungsform angezeigt wird. Die Modellerzeugungseinheit 34 erzeugt ein Robotervorrichtungsmodell 9M, das die Robotervorrichtung 9 dreidimensional ausdrückt. Die Modellerzeugungseinheit 34 erzeugt ein Robotermodell 1M, das den Roboter 1 dreidimensional ausdrückt. Die Modellerzeugungseinheit 34 erzeugt ein Handmodell 5M, das als Arbeitsablaufwerkzeugmodell dient, das die Hand 5 dreidimensional ausdrückt. Die Modellerzeugungseinheit 34 erzeugt ein Wegsensormodell 6M, das als dreidimensionales Sensormodell dient, das den Wegsensor 6 dreidimensional ausdrückt. Das Wegsensormodell 6M umfasst Kameramodelle 61M, 62M, die die zweidimensionalen Kamera 61, 62 dreidimensional ausdrücken, und ein Projektormodell 63M, das den Projektor 63 dreidimensional ausdrückt.
-
Die Modellerzeugungseinheit 34 erzeugt ein Werkstückmodell 85M, das das Werkstück 85 dreidimensional ausdrückt und ein Sockelmodell 81M, das den Sockel 81, auf dem das Werkstück 85 platziert ist, dreidimensional ausdrückt. Die Modellerzeugungseinheit 34 ordnet das Robotervorrichtungsmodell 9M und das Werkstückmodell 85M im virtuellen Raum an. Die relative Position der Modelle der Glieder in der Robotervorrichtung und des Werkstückmodells 85M entspricht den relativen Positionen der tatsächlichen Glieder in der Robotervorrichtung 9 und des tatsächlichen Werkstücks 85.
-
Die Modellerzeugungseinheit 34 richtet ein Weltkoordinatensystem im virtuellen Raum an, das einen Ursprung 101 umfasst. Das Weltkoordinatensystem ist ein Koordinatensystem, in dem sich der Ursprung 101 und eine Orientierung der Koordinatenachsen nicht ändern, selbst wenn sich die Position und Orientierung des Robotermodells 1M ändern. Beispielsweise können die Position des Robotervorrichtungsmodells 9M und die Position des Werkstückmodells 85M im virtuellen Raum dadurch ausgedrückt werden, dass Koordinatenwerte des Weltkoordinatensystems verwendet werden.
-
Es ist zu beachten, dass in 5, während die Anzeigeeinheit 32 das Robotervorrichtungsmodell 9M, das Werkstückmodell 85M und dergleichen in einem zweidimensionalen Bild anzeigt, die Anzeige nicht auf diesen Modus beschränkt ist. Die Anzeigeeinheit kann so ausgebildet sein, dass der Arbeiter den Beobachtungsunkt ändert, indem er eine Eingabevorrichtung verwendet und das Positionsverhältnis zwischen den Modellen der Glieder in einem dreidimensionalen Bild bestätigt.
-
Mit Bezug auf 2 bis 4 umfasst die Simulationsvorrichtung 3 eine Einstellpunktanordnungseinheit 35, die mehrere Einstellpunkte auf einer Oberfläche des Werkstückmodells 85M anordnet. In Schritt 92 ordnet die Einstellpunktanordnungseinheit 35 die Einstellpunkte auf allen Oberflächen des Werkstückmodells 85M an.
-
6 stellt eine perspektivische Ansicht zum Erläutern einer ersten Ebene zum Anordnen der Einstellpunkte dar. Mit Bezug auf 3 und 6 umfasst die Einstellpunktanordnungseinheit 35 eine die erste Ebene berechnende Einheit 45, die eine erste Ebene berechnet. Die Einstellpunktanordnungseinheit 35 stellt eine Messregion TA bezüglich des Wegsensormodells 6M ein. Die Messregion TA wird beispielsweise als eine Ebne definiert, die parallel zu einer Linie, die Linsenmittelpunkte der beiden Kameramodelle 61M, 62M verbindet, und orthogonal zu optischen Achsen der beiden Kameramodelle 61M, 62M verläuft. Alternativ kann die Messregion TA auf einer Ebene erzeugt werden, der orthogonal zu einer optischen Achse des Projektormodells 63M verläuft. In der vorliegenden Ausführungsform wird die Messregion TA in einer Position ausgebildet, die mit einer vorgegebenen Entfernung vom Wegsensormodell 6M getrennt ist. Außerdem ist die Messregion TA auf eine vorgegebene Größe ausgebildet.
-
Die Messregion TA der vorliegenden Ausführungsform ist durch Linien getrennt, die parallel zu der Linie verlaufen, die die Linsenmittelpunkte der beiden Kameramodelle 61M, 62M verbindet. Die Messregion TA ist mit gleichen Abständen durch mehrere Trennungslinien geteilt. Eine erste Ebene P1 der vorliegenden Ausführungsform umfasst die Linie, die die Linsenmittelpunkte der beiden Kameramodelle 61M, 62M verbindet, und die Trennungslinie. Die die erste Ebene berechnende Einheit 45 erzeugt mehrere der ersten Ebenen P1 bezüglich jeder der Trennungslinien.
-
7 stellt eine perspektivische Ansicht zum Erläutern einer zweiten Ebene zum Anordnen der Einstellpunkte dar. Mit Bezug auf 3 und 7 umfasst die Einstellpunktanordnungseinheit 35 eine die zweite Ebene berechnende Einheit 46, die eine zweite Ebene berechnet. Das Projektormodell 63M der vorliegenden Ausführungsform projiziert ein Streifenmusterlicht. In der Messregion TA werden Grenzlinien zwischen hellen Abschnitten und dunklen Abschnitten ausgebildet. Eine zweite Ebene P2 ist eine Ebene, die durch diese Grenzlinie und den Linsenmittelpunkt des Projektormodells 63M verläuft. Die die zweite Ebene berechnende Einheit 46 erzeugt die zweite Ebene P2 an jeder Grenzlinie des Streifenmusterlichts. Die die zweite Ebene berechnende Einheit 46 erzeugt mehrere der zweiten Ebenen P2. Es ist zu beachten, dass die Trennungslinien der Messregion TA, die in 6 dargestellt sind, so eingestellt sind, dass sie sich orthogonal zu den Grenzlinien des Streifenmusterlichts befinden, das vom Projektormodell 63M projiziert wird.
-
8 stellt eine schematische Ansicht zum Erläutern einer Schnittlinie der ersten Ebene und der zweiten Ebene dar. Mit Bezug auf 3 und 8 umfasst die Einstellpunktanordnungseinheit 35 eine Schnittlinienberechnungseinheit 47, die die Schnittlinien der ersten Ebenen P1 und der zweiten Ebnen P2 berechnet. Die Schnittlinienberechnungseinheit 47 berechnet Schnittlinien L1, die die Linien sind, wo sich die ersten Ebenen P1 und die zweiten Ebenen P2 schneiden. Die Schnittlinien L1 können beispielsweise durch eine Gleichung ausgedrückt werden, die auf dem Weltkoordinatensystem beruht.
-
Die Einstellpunktanordnungseinheit 35 umfasst eine Schnittpunktberechnungseinheit 48, die jeden Schnittpunkt des Werkstückmodells 85M und der Schnittlinien L1 berechnet. Die Schnittpunktberechnungseinheit 48 berechnete die Schnittpunkte der Schnittlinien L1 und der Oberflächen des Werkstückmodells 85M. Die Einstellpunktanordnungseinheit 35 kann die Schnittpunkte als die Einstellpunkte PC1, PC11 definieren. Die Einstellpunkte PC1, PC11 können beispielsweise als Koordinatenwerte des Weltkoordinatensystems ausgedrückt werden.
-
9 stellt eine Draufsicht zum Erläutern von Linien, wo sich die Messregion und die ersten Ebenen schneiden, und Linien dar, wo sich die Messregion und die zweiten Ebenen schneiden. In der Messregion TA der vorliegenden Ausführungsform werden die ersten Ebenen P1 und die zweiten Ebenen 2 so erzeugt, dass sie sich orthogonal kreuzen. Es werden mehrere Schnittpunkte der ersten Ebenen P1 und die zweiten Ebenen 2 erzeugt. Die Schnittlinienberechnungseinheit 47 berechnet mehrere der Schnittlinien L1 auf eine Weise, dass diese Schnittlinien L1 durch diese Schnittpunkte verlaufen. Die Schnittpunktberechnungseinheit 48 berechnet die Schnittpunkte, wo die mehreren Schnittlinien L1 die Oberflächen des Werkstückmodells 85M kreuzen, wodurch es möglich wird, diese Schnittpunkte als Einstellpunkte zu definieren.
-
10 stellt eine perspektivische Ansicht des Werkstückmodells zum Erläutern der Einstellpunkte dar, die auf den Oberflächen des Werkstückmodells angeordnet sind. Die Einstellpunktanordnungseinheit 35 ordnet die Einstellpunkte PC1 auf allen Oberflächen des Werkstückmodells 85M an. In der vorliegenden Ausführungsform ordnet die Einstellpunktanordnungseinheit 85 die Einstellpunkte PC1 auf einer oberen Oberflächen, Seitenflächen und einer unteren Oberfläche des Werkstückmodells 85M an. Wenn mehrere Werkstückmodelle vorliegen, ordnet die Einstellpunktanordnungseinheit 35 Einstellpunkte auf den Oberflächen aller Werkstückmodelle an.
-
11 stellt eine schematische Ansicht zum Erläutern des Berechnens einer Entfernung von einem Wegsensormodell zum Einstellpunkt des Werkstückmodells dar. Mit Bezug auf 2, 4 und 11 umfasst die Simulationsvorrichtung 3 eine Entfernungsberechnungseinheit 36, die Entfernungen Z vom Wegsensormodell 6M zum Einstellpunkt PC1 berechnet. In Schritt 93 berechnet die Entfernungsberechnungseinheit 36 die Entfernung Z vom Wegsensormodell 6M zum Einstellpunkt PC1 für jeden Einstellpunkt PC1.
-
Im virtuellen Raum sind die Positionen der Kameramodelle
61M,
62M vorgegeben. Eine Entfernung
D zwischen den beiden Kameramodellen
61M,
62M ist vorgegeben. Ferner sind auch eine optische Achse
LA1 des Kameramodells
61M und eine optische Achse
LA2 des Kameramodells
62M vorgegeben. So kann die Entfernungsberechnungseinheit
36 einen Winkel
θ1 berechnen, der von einer Sichtlinie
LV1 vom Kameramodell
61M zum Einstellpunkt
PC1 und der optischen Achse
LA1 gebildet wird. Ähnlich kann die Entfernungsberechnungseinheit
36 einen Winkel
θ2 berechnen, der von einer Sichtlinie
LV2 vom Kameramodell
62M zum Einstellpunkt
PC1 und der optischen Achse
LA2 gebildet wird. Durch Verwenden der Entfernung
D und der Winkel
θ1,
θ2 kann die Entfernung
Z vom Wegsensormodell
6M zum Einstellpunkt
PC1 aufgrund der Gleichung (1) unten berechnet werden.
-
Wie in 10 dargestellt, sind die mehreren Einstellpunkte PC1 auf den Oberflächen des Werkstückmodells 85M angeordnet. Die Entfernungsberechnungseinheit 36 der vorliegenden Ausführungsform berechnet die Entfernungen Z bezüglich aller Einstellpunkte PC1. Mit Bezug auf 2, und 4 umfasst die Simulationsvorrichtung 3 eine dreidimensionale Information erzeugende Einheit 37, die die dreidimensionale Information erzeugt, die die Positionen der Einstellpunkte und die Entfernungen vom Wegsensormodell 6M zu den Einstellpunkten PC1 umfasst. In Schritt 94 erzeugt die dreidimensionale Information erzeugende Einheit 37 dreidimensionale Information bezüglich des Werkstückmodells 85M aufgrund der Positionen der Einstellpunkte PC1 und der Entfernungen Z vom Wegsensormodell 6M zu den Einstellpunkten PC1.
-
Die Einstellpunktanordnungseinheit 35 der vorliegenden Ausführungsform ordnet die Einstellpunkte PC1 auf allen Oberflächen des Werkstückmodells 85M an. Im virtuellen Raum sind die Einstellpunkte PC1 auf allen Oberflächen des Werkstückmodells 85M angeordnet. Im tatsächlichen Arbeitsraum liegt jedoch ein Abschnitt des Werkstücks 85 vor, der von mindestens einer der zweidimensionalen Kameras 61, 62 aus nicht sichtbar ist.
-
Die Simulationsvorrichtung 3 der vorliegende Ausführungsform führt ein Steuern zum Ausschließen der Einstellpunkte durch, die in dem Abschnitt angeordnet sind, der von mindestens einer der zweidimensionalen Kameras 61, 62 aus nicht sichtbar ist. Mit Bezug auf 2 und 4 umfasst die Simulationsvorrichtung 3 eine Ausschlusseinheit 38, die aus den mehreren Einstellpunkten PC1, die auf der Oberfläche des Werkstückmodells 85M angeordnet sind, die Einstellpunkte ausschließt, die von mindestens einem der Kameramodelle 61M, 62M aus nicht sichtbar sind. In Schritt 95 schließt die Ausschlusseinheit 38 die Einstellpunkte PC1, die von mindestens einer der Kameramodelle 61M, 62M aus nicht sichtbar sind, aus der dreidimensionalen Information aus. Das heißt, dass die Ausschlusseinheit 38 die Einstellpunkte PC1 ausschließt, die in einem Abschnitt angeordnet sind, der von den tatsächlichen zweidimensionalen Kameras 61, 62 nicht erfasst werden kann.
-
12 stellt eine schematische Ansicht des Wegsensormodells und des Werkstückmodells zum Erläutern eines Prozesses des Ausschließens der Einstellpunkte dar. Im in 12 dargestellten Beispiel kann der Einstellpunkt PC1 von sowohl dem Kameramodell 61M als auch dem Kameramodell 62M gesehen werden. Das heißt, dass der Einstellpunkt PC1 in beiden Bildern erfasst wird, wenn das Werkstück 85 von der zweidimensionalen Kamera 61 und der zweidimensionalen Kamera 62 erfasst wird. Der Einstellpunkt PC11 ist auf einer Seitenfläche des Werkstückmodells 85M angeordnet. Während der Einstellpunkt PC11 vom Kameramodell 61M gesehen werden kann, kann der Einstellpunkt PC11 vom Kameramodell 62M nicht gesehen werden. Der Einstellpunkt PC11 ist auf einem toten Winkel der Oberfläche des Werkstückmodells 85M angeordnet. Der Einstellpunkt PC11 ist in einem Abschnitt angeordnet, der in dem von der tatsächlichen zweidimensionalen Kamera 62, die dem Kameramodell 62M entspricht, erfassten Bild nicht gesehen wird.
-
Die Ausschlusseinheit 38 schließt den Einstellpunkt PC11 aus, der vom Kameramodelle 62M nicht sichtbar ist. In der vorliegenden Ausführungsform berechnet die Ausschlusseinheit 38 die Sichtlinie LV1 vom Kameramodell 61M zum Einstellpunkt PC11 und die Sichtlinie LV2 vom Kameramodell 62M zum Einstellpunkt PC 11. Die Ausschlusseinheit 38 kann einen Schnittpunkt PX11 der Sichtlinie LV2 und der Oberfläche des Werkstückmodells 85M feststellen. Die Ausschlusseinheit 38 kann den Einstellpunkt PC11 ausschließen, wenn der Schnittpunkt PX11 zwischen dem Einstellpunkt PC11 und dem Kameramodell 62M vorliegt.
-
Ferner ermöglicht die Ausschlusseinheit 38, dass der Einstellpunkt bestehen bleibt, wenn ein Schnittpunkt für jede Sichtlinie und eine Oberfläche des Werkstückmodells vorliegt und der Einstellpunkt ein Punkt ist, der am nächsten am Kameramodell liegt. Andererseits ermöglicht die Ausschlusseinheit 38, dass der Einstellpunkt PC11 ausgeschlossen wird, wenn der Schnittpunkt PX11 der Sichtlinie LV2 und der Oberfläche des Werkstückmodells 85M näher am Kameramodell 62M liegt als der Einstellpunkt PC11. Die Ausschlusseinheit 38 schließt den Einstellpunkt PC11, der die Information über die Entfernung Z umfasst, aus der dreidimensionalen Information aus, die von der dreidimensionale Information erzeugenden Einheit 37 erzeugt wird.
-
13 stellt eine schematische Ansicht des Wegsensormodells und des Werkstückmodells zum Erläutern eines weiteren Beispiels des Ausschließen des Einstellpunkts dar. Im in 13 dargestellten Beispiel ist ein Werkstückmodell 86M auf den Werkstückmodellen 85M gestapelt. Das Werkstückmodell 86M weist eine gekrümmte obere Oberfläche auf. Beispielsweise liegt ein Schnittpunkt PX12 zwischen dem Kameramodell 62M und einem Schnittpunkt PC12 vor, und somit ist der Einstellpunkt PC12 ausgeschlossen. Ferner liegt ein Schnittpunkt PX13 zwischen dem Kameramodell 61M und einem Einstellpunkt PC13 vor, und somit ist der Einstellpunkt PC13 ausgeschlossen.
-
Somit kann das Steuern der vorliegenden Ausführungsform bezüglich eines Werkstückmodells mit einer beliebigen Form implementiert werden. Selbst wenn mehrere Werkstücke gestapelt sind, kann das Steuern der vorliegenden Ausführungsform implementiert werden. Die Ausschlusseinheit 38 der vorliegenden Ausführungsform kann den Einstellpunkt ausschließen, der in dem Abschnitt angeordnet ist, der nicht abgebildet wird, wenn zweidimensionale Bilder von den tatsächlichen zweidimensionalen Kameras 61, 62 erfasst werden. Ferner kann die Ausschlusseinheit 38 den Einstellpunkt ausschließen, der von einem der Kameramodelle nicht sichtbar ist, und kann den Einstellpunkt ausschließen, der von beiden Kameramodellen nicht sichtbar ist.
-
14 stellt eine perspektivische Ansicht des Werkstückmodells dar, nachdem die Ausschlusseinheit einen Abschnitt von Einstellpunkten ausgeschlossen hat. 14 ist eine Zeichnung, nachdem ein Abschnitt von Einstellpunkten PC1 von dem in 10 dargestellten Werkstückmodell 85M ausgeschlossen wurde. In diesem Beispiel sind die Einstellpunkte PC1 entfernt, die auf den Seitenflächen und der unteren Oberfläche des Werkstückmodells 85M angeordnet sind. Dann verbleiben die Einstellpunkte PC1, die auf der oberen Oberfläche des Werkstückmodells 85M angeordnet sind.
-
15 stellt ein Beispiel für dreidimensionale Information nach dem Ausschließen der Einstellpunkte durch die Ausschlusseinheit dar. Im Beispiel in 15 wird ein Entfernungsbild 67 dargestellt, das durch Stapeln des Werkstückmodells in zwei Stufen erhalten wird. Eine Schwärze von jedem Pixel wird gemäß der Entfernung Z vom Wegsensormodell 6M zum Werkstückmodell 85M festgestellt. Beispielsweise kann das Pixel mit abnehmender Entfernung zum Wegsensormodell 6M heller eingestellt werden. Durch Ändern einer solchen Schwärze von jedem Pixel ist es möglich, die dreidimensionale Information virtuell darzustellen. Es ist zu beachten, dass, wie oben beschrieben, die dreidimensionale Information nicht auf ein Entfernungsbild beschränkt ist und Information über ein Textformat sein kann, das Information der Positionen und Entfernungen der Einstellpunkte umfasst.
-
Mit Bezug auf 2 bis 4 umfasst die Simulationsvorrichtung 3 eine Oberflächen feststellende Einheit 40, die jede der Oberflächen des Werkstückmodells 85M feststellt. In Schritt 96 stellt die Oberflächen feststellende Einheit 40 jede der Oberflächen des Werkstückmodells 85M aufgrund der Einstellpunkte PC1 fest, die auf der Oberfläche des Werkstückmodells 85M angeordnet sind.
-
16 stellt eine perspektivische Ansicht des Werkstückmodells zum Erläutern des Steuerns zum Feststellen der Oberflächen des Werkstücks dar. In dem in 16 dargestellten Beispiel sind mehrere Werkstückmodelle 85M angeordnet. Die Oberflächen feststellende Einheit 40 erzeugt aus den mehreren Einstellpunkten PC1 Gruppen GPC1, GPC2, GPC3 der Einstellpunkt PC1, die nahe aneinander liegen. Beispielsweise erzeugt die Oberflächen feststellende Einheit 40 eine Gruppe der Einstellpunkte PC1, in der eine Entfernung zwischen nebeneinanderliegenden Einstellpunkten PC1 kleiner als ein Feststellungswert ist. In dem in 16 dargestellten Beispiel werden die Gruppen GPC1, GPC2, GPC3 gebildet. Die Oberflächen feststellende Einheit 40 stellt eine Gruppe als eine Oberfläche des Werkstückmodells fest. Wenn mehrere der Werkstückmodelle 85M vorhanden sind, kann die Oberflächen feststellende Einheit 40 mehrere Gruppen erzeugen.
-
Mit Bezug auf 2 und 4 umfasst die Simulationsvorrichtung 3 eine die Werkstückposition berechnende Einheit 41, die die Position und Orientierung des Werkstückmodells 85M aufgrund der dreidimensionalen Information über das Werkstückmodell 85M berechnet. In Schritt 97 berechnet die die Werkstückposition berechnende Einheit 41 die Position und Orientierung des Werkstückmodells 85M aufgrund der Gruppen GPC1, GPC2, GPC3 der Einstellpunkte PC1, die auf jeder der Oberflächen des Werkstückmodells 85M angeordnet sind. Beispielsweise kann eine Position eines Schwerpunkts des Werkstückmodells als die Position des Werkstückmodells eingesetzt werden. Ferner kann beispielsweise eine Richtung, in die sich eine zur Oberfläche des Werkstücks senkrecht verlaufende Linie erstreckt, als die Orientierung des Werkstückmodells eingesetzt werden.
-
17 stellt ein Beispiel für ein Bild der Anzeigeeinheit dar, wenn eine Simulation des Robotervorrichtungsmodells durchgeführt wird. Mit Bezug auf 2, 4 und 17 umfasst die Simulationsvorrichtung 3 eine die Simulation ausführende Einheit 42, die eine Simulation eines Arbeitsablaufs implementiert, der am Werkstückmodell ausgeführt wird. In Schritt 98 führt die die Simulation ausführende Einheit 42 eine Simulation des Robotervorrichtungsmodells 9M durch. Die die Simulation ausführende Einheit 42 ändert die Position und Orientierung des Robotermodells 1M aufgrund der Position und Orientierung des Werkstückmodells 85M, die von der die Werkstückposition berechnenden Einheit 41 berechnet werden. Durch Ändern der Position und Orientierung des Robotermodells 1M, bewegt sich das Handmodell 5M in die Umgebung des Werkstückmodells 85M. Danach ergreift das Handmodell 5M das Werkstückmodell 85M. Daraufhin ändert das Robotermodell 1M die Position und Orientierung und transportiert das Werkstückmodell 85M an eine gewünschte Position. Auf diese Weise kann die Simulation der Robotervorrichtung implementiert werden.
-
In der tatsächlichen Robotervorrichtung liegt ein Abschnitt eines Werkstücks vor, der von den beiden zweidimensionalen Kameras nicht erfasst werden kann. In einer Simulationsvorrichtung der verwandten Technik wird die Berechnung für einen Abschnitt des Werkstücks, der von den zweidimensionalen Kameras aus nicht sichtbar ist, ebenfalls berechnet, und daher können sich der Arbeitsablauf der tatsächlichen Robotervorrichtung und der Arbeitsablauf der Robotervorrichtung in der Simulation unterscheiden. Umgekehrt sind in der Simulationsvorrichtung der vorliegenden Ausführungsform die Einstellpunkte, die auf einem Abschnitt angeordnet sind, der von den tatsächlichen Kameras aus nicht erfasst werden kann, ausgeschlossen, und somit kann Simulation implementiert werden, die nahe an dem Arbeitsablauf der tatsächlichen Robotervorrichtung ist. Das heißt, dass die Simulationsvorrichtung der vorliegenden Ausführungsform die Genauigkeit der Simulation verbessern kann.
-
In der oben beschriebenen vorliegende Ausführungsform schließt die Ausschlusseinheit 38 die Einstellpunkte aus, die von den Kameras nicht erfasst werden können, indem die entsprechenden Sichtlinien LV1, LV2 der Kameramodelle 61M, 62M berechnet werden. Das Steuern zum Ausschließen der Einstellpunkte ist jedoch nicht auf diesen Modus beschränkt und es kann ein beliebiges Steuern zum Ausschließen des Einstellpunkts implementiert werden, der von den Kameramodellen nicht sichtbar ist, das heißt von den tatsächlichen Kameras nicht erfasst wird. Ferner kann die Ausschlusseinheit mindestens einen Abschnitt von Einstellpunkten aus den mehreren Einstellpunkten ausschließen, die von den Kameramodellen aus nicht sichtbar sind.
-
Beispielsweise kann beim von der Ausschlusseinheit 38 implementierten Steuern die Schnittlinie L1 verwendet werden, die sich von dem Linsenmittelpunkt des Projektormodells 63M erstreckt, wie in 8 dargestellt. Die Ausschlusseinheit 38 berechnet die Schnittpunkte der Oberflächen des Werkstückmodells 85M. Zu diesem Zeitpunkt kann, wenn die beiden Einstellpunkte PC1, PC11 als Schnittpunkte auf einer Schnittlinie L1 festgestellt werden, der Einstellpunkt PC11, der nicht der Einstellpunkt PC1 ist, der am nächsten am Projektormodell 63M liegt, ausgeschlossen werden. Ferner kann, wenn ein anderer Einstellpunkt PC1 zwischen dem Einstellpunkt PC11 und dem Projektormodell 63M vorliegt, die Ausschlusseinheit 38 ein Steuern zum Ausschließen des Einstellpunkts PC11 von der dreidimensionalen Information ausführen. Bei diesem Steuern kann ein großer Abschnitt von Einstellpunkte ausgeschlossen werden, die von mindestens einer der zweidimensionalen Kameras 61, 62 aus nicht sichtbar sind.
-
Während die Ausschlusseinheit 38 der vorliegenden Ausführungsform die Einstellpunkte, die von den Kameramodellen aus nicht sichtbar sind, aus der dreidimensionalen Information ausschließt, ist die Ausschlusseinheit nicht auf diesen Modus beschränkt. Die Ausschlusseinheit kann Einstellpunkte ausschließen, die von den Kameramodellen aus nicht sichtbar sind, bevor die dreidimensionale Information erzeugt wird. Beispielsweise kann ein Abschnitt der Einstellpunkte in einem Prozess ausgeschlossen werden, unmittelbar nachdem die Einstellpunkte auf den Oberflächen des Werkstückmodells angeordnet wurden.
-
In Bezug darauf kann ein Werkstück, das außerhalb des Sichtfelds der zweidimensionalen Kameras 61, 62 angeordnet ist, von den zweidimensionalen Kameras 61, 62 nicht erfasst werden. Ferner können die Position und Orientierung eines Werkstücks, das in einer Region angeordnet ist, in der das Muster des Projektors 63 nicht projiziert werden kann, nicht auf geeignete Weise festgestellt werden. Die Ausschlusseinheit 38 der vorliegenden Ausführungsform kann den Einstellpunkt ausschließen, der außerhalb eines Bereichs angeordnet ist, in dem die Sichtfelder der beiden Kameramodelle und der Projektionsbereich des Projektormodells überlappen.
-
18 stellt eine schematische Ansicht von Werkstückmodellen und ein Bereichsmodell zum Erläutern des Ausschließens des Einstellpunkts dar. In 18 sind die mehreren Werkstückmodelle 85M, 87M, 88M auf einem Sockel angeordnet. Das Projektormodell 63M projiziert das Musterlicht innerhalb eines Projektionsbereichs RA. Der Projektionsbereich RA entspricht der Region, in der das Musterlicht vom tatsächlichen Projektor 63 projiziert wird. Ferner weist das Kameramodell 61M einen Abbildungsbereich RC1 auf, der dem Sichtfeld der tatsächlichen zweidimensionalen Kamera 61 entspricht. Das Kameramodell 62M weist einen Abbildungsbereich RC2 auf, der dem Sichtfeld der tatsächlichen zweidimensionalen Kamera 62 entspricht. Der Abbildungsbereich RC1, RC2 und der Projektionsbereich RA sind vorgegeben.
-
Die Ausschlusseinheit 38 berechnen eine Überlappungsregion RD, die eine Region ist, in der der Abbildungsbereich RC1, der Abbildungsbereich RC2 und der Projektionsbereich RA überlappen. Das Werkstückmodell 85M ist innerhalb der Überlappungsregion RD angeordnet, und somit schließt die Ausschlusseinheit 38 die Einstellpunkte PC1 nicht aus, die auf den Oberflächen des Werkstückmodells 85M angeordnet sind. Das Werkstückmodell 88M ist außerhalb der Überlappungsregion RD angeordnet, und somit schließt die Ausschlusseinheit 38 die Einstellpunkte PC11 aus, die auf den Oberflächen des Werkstückmodells 88M angeordnet sind.
-
Ein Abschnitt des Werkstückmodells 87M ist innerhalb der Überlappungsregion RD angeordnet. Somit führt die Ausschlusseinheit 38 ein Steuern durch, um aus den Einstellpunkten, die auf den Oberflächen des Werkstückmodells 87M angeordnet sind, Einstellpunkte PC2 nicht auszuschließen, die innerhalb der Überlappungsregion RD angeordnet sind. Andererseits führt die Ausschlusseinheit 38 ein Steuern durch, um die Einstellpunkte PC12 auszuschließen, die außerhalb der Überlappungsregion RD angeordnet sind.
-
Mit Bezug auf 4 kann dieses Steuern implementiert werden, nachdem die Einstellpunkte auf den Oberflächen des Werkstückmodells 85M in Schritt 92 angeordnet wurden. Beispielsweise kann das Steuern implementiert werden, nachdem die Einstellpunkte, die von mindestens einem der Kameramodelle 61M, 62M aus nicht sichtbar sind, in Schritt 95 ausgeschlossen wurden. Ferner kann dieses Steuern implementiert werden, bevor die Einstellpunkte, die von mindestens einem der Kameramodelle 61M, 62M aus nicht sichtbar sind, ausgeschlossen wurden. Ferner kann das Steuern als ein Schritt implementiert werden, der Schritt 92 folgt.
-
Somit kann die Ausschlusseinheit 38 die Einstellpunkte ausschließen, indem die Sichtfelder der zweidimensionalen Kameras 61, 62 und der Projektionsbereich des Musterlichts des Projektors 63 berücksichtigt wurden. Dadurch können die Einstellpunkte, die in einem Abschnitt angeordnet sind, der von den tatsächlichen zweidimensionalen Kameras 61, 62 aus nicht sichtbar ist, und die Einstellpunkte ausgeschlossen werden, die in einer Region angeordnet sind, in der das Musterlicht nicht projiziert wird, und somit kann eine genauere Simulation implementiert werden.
-
Es ist zu beachten, dass die Werkstückmodelle 87M, 88M, die außerhalb der Überlappungsregion RD angeordnet sind, im in 18 dargestellten Beispiel vorliegen, die Werkstückmodelle sind nicht auf diesen Modus beschränkt. In der tatsächlichen Robotervorrichtung kann der Wegsensor 6 in einer Position angeordnet sein, die entsprechend getrennt ist, sodass alle Werkstücke 85 innerhalb der Überlappungsregion RD angebracht sind. Alternativ kann eine Kamera oder ein Wegsensor verwendet werden, der eine Leistung aufweist, die das Anordnen aller Werkstücke innerhalb der Überlappungsregion ermöglicht. In diesen Fällen liegen keine Einstellpunkte vor, die außerhalb der Überlappungsregion angeordnet sind, und daher muss die Ausschlusseinheit kein Steuern zum Ausschließen von Einstellpunkten durchführen, die außerhalb der Überlappungsregion angeordnet sind.
-
Mit Bezug auf 1 können in den tatsächlichen zweidimensionalen Kameras 61, 62 Bilder in einem Mittenabschnitt der erfassten Bilder erfasst werden, die Formen von tatsächlichen Gegenständen entsprechen. Dennoch könne abhängig von der Leistung der zweidimensionalen Kameras 61, 62 die Bilder an einem Endabschnitt des Bilds verzerrt sein. Beispielsweise kann abhängig von der Leistung der Kameralinse die Form im Vergleich zur tatsächlichen Form an einem Randabschnitt des Bilds verformt sein. Die Simulationsvorrichtung der vorliegende Ausführungsform kann das Bild gemäß solcher Merkmale des tatsächlichen Bilds korrigieren. Die Simulationsvorrichtung führt ein Steuern zum Vermitteln von Rauschen aus, das im Verhältnis zu einem Abstand von der Mitte des Bildes zunimmt. Beispielsweise führt eine Entfernungskorrektureinheit 39 der Simulationsvorrichtung 3 das Steuern zum Vermitteln eines großen Fehlers auf die Entfernung an den Einstellpunkten ein, die am Endabschnitt des erfassten Bilds angeordnet sind.
-
Mit Bezug auf 2 umfasst die Simulationsvorrichtung 3 der vorliegende Ausführungsform die Entfernungskorrektureinheit 39, die die Entfernung vom dreidimensionalen Sensormodell zu den Einstellpunkten korrigiert, die in der dreidimensionalen Information enthalten sind. Die Entfernungskorrektureinheit 39 korrigiert die Entfernung Z der Einstellpunkte PC1, die in der dreidimensionalen Information enthalten sind. Die Entfernungskorrektureinheit 39 kann ein Steuern durchführen, um einen Korrekturbetrag im Verhältnis zu einer Länge von der optischen Achse eines Kameramodells zum Einstellpunkt zu erhöhen.
-
19 stellt eine schematische Ansicht zum Erläutern des Steuerns der Entfernungskorrektureinheit dar. In 19 ist von den beiden Kameramodellen 61M, 62M eine Kamera 61M dargestellt. Die Entfernungskorrektureinheit 39 wählt einen der Einstellpunkte PC1, die in der dreidimensionalen Information enthalten sind. Die Entfernungskorrektureinheit 39 berechnet eine Länge DX1 zwischen der optischen Achse LA1 des Kameramodells 61M und dem Einstellpunkt PC1. Dann korrigiert die Entfernungskorrektureinheit 39 die Entfernung Z (siehe 11) zwischen dem Einstellpunkt PC1 und dem Wegsensormodell 6M. Beispielsweise kann ein Koeffizient, der der Länge DX1 entspricht, mit der Entfernung Z des Einstellpunkts PC1 multipliziert werden. Die Entfernungskorrektureinheit 39 kann das Steuern zum Erhöhen des Korrekturbetrags (Rauschens) im Verhältnis zur Länge von der optischen Achse LA1 zum Einstellpunkt durchführen. Beispielsweise ist eine Länge DX2 von der optischen Achse LA1 zum Einstellpunkt PC2 des Werkstückmodells 85M größer als die Länge DX1. Somit stellt die Entfernungskorrektureinheit 39 den Korrekturbetrag der Entfernung Z des Einstellpunkts PC2 auf einen Wert ein, der größer als der Korrekturbetrag der Entfernung Z des Einstellpunkts PC1 ist.
-
Die Korrektur der Entfernung durch die Entfernungskorrektureinheit 39 ist nicht auf das Verfahren des Multiplizierens eines Koeffizienten mit der Entfernung Z vom Wegsensormodell 6M zum Einstellpunkt beschränkt, und es kann ein beliebiges Steuern zum Korrigieren implementiert werden. Beispielsweise kann der Korrekturbetrag, der der Länge von der optischen Achse LA1 entspricht, im Voraus bestimmt werden. Dann kann der Korrekturbetrag zu der Entfernung Z des Einstellpunkts addiert oder von dieser subtrahiert werden. Ein solcher Koeffizient oder Korrekturbetrag kann im Voraus gemäß der Leistung der Kamera bestimmt werden.
-
Die Entfernungskorrektureinheit 39 kann für einen Einstellpunkt eine Korrektur im Verhältnis zum Kameramodell 61M und eine Korrektur im Verhältnis zum Kameramodell 62M implementieren. Das heißt, dass die Entfernungskorrektureinheit 39 die Korrektur der Entfernung Z bezüglich des Kameramodells 61M und des Kameramodells 62M steuern kann. Beispielsweise kann die Entfernungskorrektureinheit 39 die Entfernung Z bezüglich des Kameramodells 61M korrigieren und daraufhin die Entfernung Z bezüglich des Kameramodells 62M korrigieren.
-
Mit Bezug auf 4 kann die Korrektur der Entfernung Z durch die Entfernungskorrektureinheit 39 vor dem Prozess des Feststellens der Oberflächen des Werkstückmodells in Schritt 96 implementiert werden. Beispielsweise kann die Korrektur der Entfernung Z in einem Prozess implementiert werden, der auf den Prozess des Ausschließens eines Abschnitts der Einstellpunkte in Schritt 95 folgt. Alternativ kann die Korrektur der Entfernung Z in einem Prozess implementiert werden, der dem Prozess des Berechnens der Entfernung Z des Einstellpunkts in Schritt 93 folgt.
-
Der Projektor der vorliegenden Ausführungsform projiziert ein Streifenmusterlicht, das Musterlicht ist jedoch nicht auf diesen Modus beschränkt. Für das Lichtmuster, das vom Projektor projiziert wird, kann eine beliebiges Muster wie ein Punktmuster oder ein Schlitzmuster eingesetzt werden. Während der dreidimensionale Sensor in der vorliegenden Ausführungsform den Projektor umfasst, muss der dreidimensionale Sensor ferner den Projektor nicht umfassen.
-
Das Steuern zum Anordnen der Einstellpunkte auf den Oberflächen der Werkstückmodelle ist nicht auf das oben beschriebene Verfahren beschränkt, in dem die Schnittlinien der ersten Ebenen und der zweiten Ebenen verwendet werden, und es kann ein beliebiges Steuern verwendet werden. Beispielsweise kann, wenn das Lichtmuster, das von Projektor projiziert wird, ein Punktmuster ist, eine Linie berechnet werden, die durch eine Position eines in der Messregion projizierten Punkts und den Linsenmittelpunkt verläuft. Dann können der Schnittpunkt dieser Linie und der Oberfläche des Werkstückmodells als ein Einstellpunkt eingestellt werden. Wenn der dreidimensionale Sensor keinen Projektor umfasst, kann die Messregion ferner eingestellt werden, indem das gleiche Verfahren wie in der vorliegenden Ausführungsform verwendet wird, und auf dieser Messregion können mit gleichen Abständen Passierpunkte eingestellt werden. Dann wird eine Linie berechnet, die durch den Passierpunkt und den Linsenmittelpunkt des Projektormodells verläuft. Der Schnittpunkt dieser Linie und der Oberfläche des Werkstückmodells kann als ein Einstellpunkt eingestellt werden.
-
In der vorliegende Ausführungsform wird der Transport eines Werkstücks als ein Beispiel für einen Arbeitsablauf dargestellt, der von einer Robotervorrichtung durchgeführt wird, der Arbeitsablauf ist jedoch nicht auf diesen Modus beschränkt. Die vorliegenden Erfindung kann auf einen beliebigen Arbeitsablauf angewendet werden, der das Beschaffen der Position und Orientierung eines Werkstücks erfordert. Beispielsweise kann die vorliegenden Erfindung auf das Zusammensetzten eines Werkstücks oder Schweißen eines Werkstücks angewendet werden.
-
Gemäß einem Aspekt der vorliegenden Offenbarung kann in der Simulationsvorrichtung, die einen Arbeitsablauf eines Roboters simuliert, die Genauigkeit der Simulation verbessert werden.
-
Bei jedem oben beschriebenen Steuern kann die Reihenfolge der Schritte auf geeignete Weise innerhalb eines Bereichs geändert werden, in dem die Funktionstüchtigkeit und Wirkung nicht geändert werden.
-
Die oben beschriebenen Ausführungsformen können auf geeignete Weise kombiniert werden. In jedem der oben beschriebenen Diagramme sind den gleichen oder entsprechenden Teilen gleiche Bezugsnummern beigefügt. Es ist zu beachten, dass die oben beschrieben Ausführungsformen nur Beispiele sind und die Erfindung nicht einschränken. Die Ausführungsformen beinhalten auch Abwandlungen der Ausführungsformen innerhalb des Bereichs der Ansprüche.
-
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
-