-
GEBIET
-
Die vorliegende Erfindung betrifft eine Robotersimulationsvorrichtung.
-
HINTERGRUND
-
In einem Robotersystem, das einen Roboter, einen visuellen Sensor und ein Werkstück in einem Arbeitsraum umfasst, ist eine Technik zur Ausführung einer Simulation bekannt, bei der ein Robotermodell des Roboters, ein visuelles Sensormodell des visuellen Sensors und ein Werkstückmodell des Werkstücks in einem virtuellen Raum angeordnet sind, der den Arbeitsraum dreidimensional ausdrückt, das Werkstückmodell durch das visuelle Sensormodell gemessen wird und das Robotermodell eine Arbeit an dem Werkstückmodell durchführt (z.B. PTL 1).
-
PTL 2 beschreibt eine „Informationsverarbeitungsvorrichtung, die umfasst: eine erste Auswahleinheit, die auf der Grundlage einer ersten Befehlseingabe ein Koordinatensystem aus einer Mehrzahl von Koordinatensystemen auswählt, die in einem virtuellen Raum enthalten sind, in dem ein erstes Modell auf der Grundlage von CAD-Daten, die eine Positionsinformation in dem virtuellen Raum umfassen, angeordnet ist; eine erste Erfassungseinheit, die eine erste Information erfasst, die ein zweites Modell anzeigt, das die Positionsinformation in dem virtuellen Raum nicht umfasst; eine zweite Erfassungseinheit, die eine zweite Information erfasst, die eine Position in dem von der ersten Auswahleinheit ausgewählten Koordinatensystem anzeigt; und eine Einstelleinheit, die auf der Grundlage der ersten und der zweiten Information an der Position eine Position des zweiten Modells in dem virtuellen Raum einstellt“ (Zusammenfassung).
-
[ZITIERLISTE]
-
[PATENTLITERATUR]
-
- [PTL 1] Japanische ungeprüfte Patentveröffentlichung (Kokai) Nr. 2015-171745 A
- [PTL 2] Japanische ungeprüfte Patentveröffentlichung (Kokai) Nr. 2020-97061 A
-
ZUSAMMENFASSUNG
-
[TECHNISCHES PROBLEM]
-
Eine Simulationsvorrichtung, wie sie in PTL 1 beschrieben ist, erzeugt einen Zustand von Werkstückmodellen, die in einer Schüttung in einen virtuellen Raum geladen sind, indem sie zum Beispiel eine Zufallszahl verwendet. Es ist eine Simulationstechnik erwünscht, die auf effiziente Weise ein Betriebsprogramm eines Roboters erzeugen kann, mit dem ein genauerer Werkstückaufnahmevorgang erreicht werden kann.
-
[LÖSUNG DES PROBLEMS]
-
Ein Aspekt der vorliegenden Offenbarung ist eine Robotersimulationsvorrichtung zum Simulieren einer Arbeit, die an einem Werkstück von einem Roboter in einem Robotersystem durchgeführt wird, das den Roboter, einen visuellen Sensor und das in einem Arbeitsraum angeordnete Werkstück umfasst, wobei die Robotersimulationsvorrichtung umfasst: eine Modellanordnungseinheit, die konfiguriert ist, ein Robotermodell des Roboters, ein visuelles Sensormodell des visuellen Sensors und ein Werkstückmodell des Werkstücks in einem virtuellen Raum anzuordnen, der den Arbeitsraum dreidimensional ausdrückt; eine Werkstückmodellpositionsberechnungseinheit, die konfiguriert ist, eine Position und eine Stellung des Werkstückmodells in Bezug auf das Robotermodell oder das visuelle Sensormodell in dem virtuellen Raum zu berechnen, indem ein Formmerkmal des Werkstückmodells einer dreidimensionalen Positionsinformation über das Werkstück in Bezug auf den Roboter oder den visuellen Sensor, die von dem visuellen Sensor in dem Arbeitsraum erfasst wird, überlagert wird; und eine Simulationsausführungseinheit, die konfiguriert ist, einen Simulationsvorgang des Messens des Werkstückmodells durch das visuelle Sensormodell auszuführen und das Robotermodell zu veranlassen, eine Arbeit an dem Werkstückmodell durchzuführen, wobei die Modellanordnungseinheit in dem virtuellen Raum das Werkstückmodell in der Position und der Stellung in Bezug auf das Robotermodell oder das visuelle Sensormodell anordnet, die von der Werkstückmodellpositionsberechnungseinheit berechnet werden.
-
[VORTEILHAFTE WIRKUNGEN DER ERFINDUNG]
-
Ein Simulationsvorgang einer Arbeit eines Robotermodells wird ausgeführt, während ein Zustand von Werkstücken, die in einer Schüttung in einen Arbeitsraum geladen sind, in einem virtuellen Raum reproduziert wird, und somit kann ein Betriebsprogramm, das einen genaueren Aufnahmevorgang ausführen kann, effizient erstellt werden.
-
Die Aufgaben, die Merkmale und die Vorteile sowie andere Aufgaben, Merkmale und Vorteile der vorliegenden Erfindung werden aus der detaillierten Beschreibung typischer Ausführungsformen der vorliegenden Erfindung, die in den begleitenden Zeichnungen dargestellt sind, deutlicher.
-
KURZE BESCHREIBUNG DER ZEICHNUNGEN
-
- 1 ist ein Diagramm, das eine Konfiguration darstellt, in der eine Robotersimulationsvorrichtung gemäß einer Ausführungsform mit einem Robotersystem verbunden ist.
- 2 ist ein Diagramm, das ein Beispiel für eine Hardwarekonfiguration einer Robotersteuerung und der Robotersimulationsvorrichtung darstellt.
- 3 ist ein Funktionsblockdiagramm, das eine funktionale Konfiguration der Robotersimulationsvorrichtung darstellt.
- 4 ist ein Flussdiagramm, das einen Simulationsvorgang durch die Robotersimulationsvorrichtung darstellt.
- 5 ist ein Diagramm, das einen Zustand darstellt, in dem ein Robotermodell in einem virtuellen Raum angeordnet ist.
- 6 ist ein Diagramm, das einen Zustand darstellt, in dem das Robotermodell und ein visuelles Sensormodell in dem virtuellen Raum angeordnet sind, wenn das visuelle Sensormodell ein fester Sensor ist, der in dem virtuellen Raum befestigt ist.
- 7 ist ein Diagramm, das einen Zustand darstellt, in dem das Robotermodell und das visuelle Sensormodell in dem virtuellen Raum angeordnet sind, wenn das visuelle Sensormodell an dem Robotermodell montiert ist.
- 8 ist ein Diagramm, das eine Situation darstellt, in der ein visueller Sensor ein Werkstück misst, wenn der visuelle Sensor ein fester Sensor ist, der in einem Arbeitsraum befestigt ist.
- 9 ist ein Diagramm, das eine Situation darstellt, in der das Werkstück durch den visuellen Sensor gemessen wird, wenn der visuelle Sensor an einem Roboter montiert ist.
- 10 ist ein Diagramm, das eine Situation darstellt, in der die Messung des Werkstücks durch Projektion von Musterlicht auf das Werkstück durch den visuellen Sensor durchgeführt wird.
- 11 ist ein Diagramm, das eine Situation darstellt, in der eine Mehrzahl von Schnittpunkten auf einer Werkstückoberfläche gemessen wird.
- 12 stellt einen Zustand dar, in dem ein Werkstückmodell in dem virtuellen Raum auf der Grundlage einer berechneten Position und Stellung des Werkstückmodells angeordnet ist, wenn das visuelle Sensormodell der feste Sensor ist, der in dem virtuellen Raum befestigt ist.
- 13 stellt einen Zustand dar, in dem ein Werkstückmodell WM in dem virtuellen Raum auf der Grundlage einer berechneten Position und Stellung des Werkstückmodells angeordnet ist, wenn das visuelle Sensormodell an dem Robotermodell montiert ist.
- 14 ist ein Diagramm, das einen Zustand darstellt, in dem ein Simulationsvorgang des Aufnehmens des Werkstückmodells durch das Robotermodell von einer Simulationsausführungseinheit ausgeführt wird.
-
BESCHREIBUNG VON AUSFÜHRUNGSFORMEN
-
Nachfolgend werden Ausführungsformen der vorliegenden Offenbarung unter Bezugnahme auf die Zeichnungen beschrieben. Ein ähnlicher konfigurierter Abschnitt oder ein ähnlicher funktionaler Abschnitt ist in den Zeichnungen, auf die Bezug genommen wird, mit dem gleichen Bezugszeichen versehen. Um das Verständnis zu erleichtern, ist der Maßstab in den Zeichnungen entsprechend geändert. Ein in der Zeichnung dargestellter Aspekt ist ein Beispiel für die Umsetzung der vorliegenden Erfindung, und die vorliegende Erfindung ist nicht auf den dargestellten Aspekt beschränkt.
-
1 ist ein Diagramm, das eine Konfiguration darstellt, in der eine Robotersimulationsvorrichtung 30 gemäß einer Ausführungsform mit einem Robotersystem 100 verbunden ist. Das Robotersystem 100 umfasst einen Roboter 10, eine Robotersteuerung 20, die einen Betrieb des Roboters 10 steuert, einen visuellen Sensor 70 und ein Werkstück W, das sich in einem Zustand befindet, in dem es in einer Schüttung in einen Behälter 81 geladen ist. Eine Hand 11 ist an einem Handgelenkabschnitt des Roboters 10 angebracht. Jedes Objekt, das das Robotersystem 100 bildet, ist in einem Arbeitsraum angeordnet. Die Robotersimulationsvorrichtung 30 ist eine Vorrichtung zur Ausführung einer Simulation zur Erzeugung eines Betriebsprogramms des Roboters 10. Die Robotersimulationsvorrichtung 30 ist drahtgebunden oder drahtlos mit der Robotersteuerung 20 verbunden. Es ist zu beachten, dass die Robotersimulationsvorrichtung 30 ferngesteuert mit der Robotersteuerung 20 verbunden sein kann.
-
Die Robotersimulationsvorrichtung 30 gemäß der vorliegenden Ausführungsform ordnet in einem virtuellen Raum ein Modell eines jeden Objekts einschließlich des Roboters 10, des visuellen Sensors 70 und der in einer Schüttung in den Behälter 81 geladenen Werkstücke W an und simuliert einen Vorgang des Erfassens des Werkstücks W durch den visuellen Sensor 70 und des Aufnehmens des Werkstücks W durch den Roboter 10 (Hand 11), indem sie die Modelle in einer simulierten Weise betreibt. In diesem Fall führt die Robotersimulationsvorrichtung 30 die Simulation aus, indem sie eine tatsächliche dreidimensionale Positionsinformation über das in einer Schüttung in den Behälter 81 geladene Werkstück W aufnimmt und einen tatsächlichen Zustand des in einer Schüttung in den virtuellen Raum geladenen Werkstücks W reproduziert, und kann so effizient ein Betriebsprogramm erzeugen, das einen genaueren Werkstückaufnahmevorgang ausführen kann.
-
Der visuelle Sensor 70 kann eine zweidimensionale Kamera sein, die ein zweidimensionales Bild aufnimmt, oder ein dreidimensionaler Positionsdetektor, der eine dreidimensionale Position eines Zielobjekts aufnimmt. In der vorliegenden Ausführungsform wird davon ausgegangen, dass der visuelle Sensor 70 ein Entfernungssensor ist, der eine dreidimensionale Position eines Zielobjekts erfassen kann. Der visuelle Sensor 70 umfasst einen Projektor 73 und zwei Kameras 71 und 72, die in einander zugewandten Positionen über den Projektor 73 angeordnet sind. Der Projektor 73 ist so konfiguriert, dass er ein gewünschtes Musterlicht, z. B. ein Spotlicht oder ein Spaltlicht, auf eine Oberfläche eines Zielobjekts projizieren kann. Der Projektor umfasst eine Lichtquelle wie z. B. eine Laserdiode oder eine Leuchtdiode. Die Kameras 71 und 72 sind Digitalkameras, die eine Bildaufnahmevorrichtung, wie z. B. einen CCD- und einen CMOS-Sensor, umfassen.
-
Es ist zu beachten, dass 1 auch ein Roboterkoordinatensystem C1, das in dem Roboter 10 festgelegt ist, und ein Sensorkoordinatensystem C2, das in dem visuellen Sensor 70 festgelegt ist, darstellt. Beispielsweise ist das Roboterkoordinatensystem C1 in einem Basisabschnitt des Roboters 10 festgelegt, und das Sensorkoordinatensystem C2 ist in einer Position einer Linse des visuellen Sensors 70 festgelegt. Eine Position und eine Stellung in den Koordinatensystemen werden in der Robotersteuerung 20 erkannt. In 1 ist beispielhaft eine Konfiguration dargestellt, bei der der visuelle Sensor 70 an einem Armspitzenabschnitt des Roboters 10 befestigt ist, aber ein Konfigurationsbeispiel, bei dem der visuelle Sensor 70 an einer bekannten Position in dem Arbeitsraum befestigt ist, ist ebenfalls möglich.
-
2 ist ein Diagramm, das ein Beispiel für eine Hardwarekonfiguration der Robotersteuerung 20 und der Robotersimulationsvorrichtung 30 darstellt. Die Robotersteuerung 20 kann als allgemeiner Computer konfiguriert sein, bei dem ein Speicher 22 (z. B. ein ROM, ein RAM und ein nichtflüchtiger Speicher), eine Eingabe-/Ausgabeschnittstelle 23, eine Bedieneinheit 24 mit verschiedenen Betätigungsschaltern und dergleichen über einen Bus mit einem Prozessor 21 verbunden sind. Die Robotersimulationsvorrichtung 30 kann als allgemeiner Computer konfiguriert sein, bei dem ein Speicher 32 (z.B. ein ROM, ein RAM und ein nichtflüchtiger Speicher), eine Anzeigeeinheit 33, eine Bedieneinheit 34, die aus einer Eingabevorrichtung wie z.B. einer Tastatur (oder einem Softwareschlüssel) besteht, eine Eingabe-/Ausgabeschnittstelle 35 und dergleichen über einen Bus mit einem Prozessor 31 verbunden sind. Als Robotersimulationsvorrichtung 30 können verschiedene informationsverarbeitende Vorrichtungen wie ein Personalcomputer, ein Notebook-PC und ein Tablet-Terminal verwendet werden.
-
3 ist ein Funktionsblockdiagramm, das eine funktionale Konfiguration der Robotersimulationsvorrichtung 30 darstellt. Die Robotersimulationsvorrichtung 30 umfasst eine Einheit zur Erzeugung eines virtuellen Raums 131, eine Modellanordnungseinheit 132, eine Einheit zur Einstellung der Position des visuellen Sensormodells 133, eine Werkstückmodellpositionsberechnungseinheit 134 und eine Simulationsausführungseinheit 135.
-
Die Einheit zur Erzeugung eines virtuellen Raums 131 erzeugt einen virtuellen Raum, der einen Arbeitsraum dreidimensional darstellt.
-
Die Modellanordnungseinheit 132 ordnet ein Modell eines jeden Objekts, das das Robotersystem 100 bildet, in dem virtuellen Raum an. Ein Zustand, in dem jedes Objektmodell durch die Modellanordnungseinheit 132 in dem virtuellen Raum angeordnet ist, kann auf der Anzeigeeinheit 33 angezeigt werden.
-
Die Einheit zur Einstellung der Position des visuellen Sensormodells 133 erhält von der Robotersteuerung 20 eine Information, die eine Position des visuellen Sensors 70 in dem Arbeitsraum anzeigt. Zum Beispiel erhält die Einheit zur Einstellung der Position des visuellen Sensormodells 133 als Datei von der Robotersteuerung 20 eine Information (Kalibrierungsdaten), die in der Robotersteuerung 20 gespeichert sind und eine relative Position zwischen dem Roboterkoordinatensystem C1 und dem Sensorkoordinatensystem C2 anzeigen. Insbesondere handelt es sich bei der Information, die diese relative Position anzeigt, um eine Position und eine Stellung des visuellen Sensors 70 (Sensorkoordinatensystem C2) in Bezug auf den Roboter 10 (Roboterkoordinatensystem C1) in dem Arbeitsraum. Die Information, die die relative Position zwischen dem Roboterkoordinatensystem C1 und dem Sensorkoordinatensystem C2 anzeigt, wird durch die vorab durchgeführte Kalibrierung des visuellen Sensors 70 in dem Robotersystem 100 gewonnen und in der Robotersteuerung 20 gespeichert.
-
Hier wird die Kalibrierung beispielsweise dadurch erreicht, dass eine Position und eine Stellung des visuellen Sensors 70 in Bezug auf einen an einer vorbestimmten Referenzposition eines Roboters befestigten visuellen Marker erfasst wird, indem der visuelle Marker durch den visuellen Sensor 70 gemessen wird. Die Position und die Stellung des visuellen Sensors 70 in Bezug auf den Roboter 10 werden erfasst, indem die Position und die Stellung des visuellen Sensors 70 in Bezug auf einen an einer bekannten Position angeordneten visuellen Marker erfasst werden.
-
Die Modellanordnungseinheit 132 ordnet das visuelle Sensormodell in dem virtuellen Raum derart an, dass eine relative Position zwischen einem in dem Robotermodell in dem virtuellen Raum festgelegten Robotermodellkoordinatensystem und einem in dem visuellen Sensormodell festgelegten Sensormodellkoordinatensystem gleich der relativen Position zwischen dem Roboterkoordinatensystem und dem Sensorkoordinatensystem in dem Arbeitsraum ist.
-
Die Werkstückmodellpositionsberechnungseinheit 134 berechnet eine Position und eine Stellung des Werkstückmodells in Bezug auf das Robotermodell oder das visuelle Sensormodell in dem virtuellen Raum, indem ein Formmerkmal des Werkstückmodells einer dreidimensionalen Positionsinformation über ein Werkstück in Bezug auf den Roboter 10 oder den visuellen Sensor 70, die von dem visuellen Sensor in dem Arbeitsraum erfasst wird, überlagert wird. Die Modellanordnungseinheit 132 ordnet das Werkstückmodell in der berechneten Position und Stellung in dem virtuellen Raum an.
-
Die Simulationsausführungseinheit 135 führt eine Simulation eines Vorgangs des Messens des Werkstückmodells durch das visuelle Sensormodell, wobei sich das Werkstückmodell in einem Zustand befindet, in dem es in einer Schüttung in der berechneten Position und Stellung geladen ist, und des Aufnehmens des Werkstückmodells durch das Robotermodell aus. Es ist zu beachten, dass, wenn in dieser Beschreibung auf eine Simulation oder einen Simulationsvorgang Bezug genommen wird, ein Fall, in dem jedes Objektmodell wie z.B. das Robotermodell in einer simulierten Weise auf einem Anzeigebildschirm betrieben wird, zusätzlich zu einem Fall, in dem eine numerische Simulation eines Betriebs eines Roboters und dergleichen ausgeführt wird, umfasst ist.
-
4 ist ein Flussdiagramm, das einen Simulationsvorgang darstellt, der unter Steuerung durch den Prozessor 31 der Robotersimulationsvorrichtung 30 ausgeführt wird.
-
Zunächst erzeugt die Einheit zur Erzeugung eines virtuellen Raums 131 einen virtuellen Raum, der einen Arbeitsraum dreidimensional ausdrückt (Schritt S1). Dann ordnet die Modellanordnungseinheit 132 ein Robotermodell 10M in dem virtuellen Raum an (Schritt S2). 5 stellt einen Zustand dar, in dem das Robotermodell 10M in dem virtuellen Raum angeordnet ist. Ferner legt die Simulationsausführungseinheit 135 in dem virtuellen Raum ein Robotermodellkoordinatensystem M1 für das Robotermodell 10M an einer Position fest, die mit dem in dem Arbeitsraum definierten Roboterkoordinatensystem C1 verbunden ist.
-
Als nächstes stellt die Einheit zur Einstellung der Position des visuellen Sensormodells 133 eine Position und eine Stellung eines visuellen Sensormodells 70M in Bezug auf das Robotermodell 10M in dem virtuellen Raum auf der Grundlage einer Position und einer Stellung des visuellen Sensors 70 in Bezug auf den Roboter 10 in dem Arbeitsraum ein (Schritt S3). Beispielsweise werden die Position und die Stellung des visuellen Sensors in Bezug auf den Roboter 10 in dem Arbeitsraum in der Robotersteuerung 20 als eine relative Position zwischen dem Roboterkoordinatensystem C1 und dem Sensorkoordinatensystem C2 gespeichert, indem eine Kalibrierung des visuellen Sensors 70 in dem Robotersystem 100 durchgeführt wird. In Schritt S3 erhält die Einheit zur Einstellung der Position des visuellen Sensormodells 133 von der Robotersteuerung 20 eine Information als die relative Position zwischen dem Roboterkoordinatensystem C1 und dem Sensorkoordinatensystem C2.
-
Als nächstes ordnet die Modellanordnungseinheit 132 in Schritt S4 das visuelle Sensormodell 70M in dem virtuellen Raum derart an, dass eine relative Position zwischen dem Robotermodellkoordinatensystem M1 und einem Sensormodellkoordinatensystem M2 gleich der relativen Position zwischen dem Roboterkoordinatensystem C1 und dem Sensorkoordinatensystem C2 in dem Arbeitsraum ist.
-
6 und 7 stellen einen Zustand dar, in dem die Modellanordnungseinheit 132 das visuelle Sensormodell 70M in dem virtuellen Raum gemäß der Information anordnet, die eine relative Position des visuellen Sensors 70 in Bezug auf den Roboter 10 anzeigt. Es ist zu beachten, dass 6 ein Beispiel darstellt, bei dem der visuelle Sensor 70 als feste Kamera verwendet wird, die an einer vorbestimmten Position in dem Arbeitsraum befestigt ist, und 7 ein Beispiel darstellt, bei dem der visuelle Sensor 70 an dem Armspitzenabschnitt des Roboters 10 befestigt ist. Wie in den 6 und 7 dargestellt, umfasst das visuelle Sensormodell 70M ein Projektormodell 73M und zwei Kameramodelle 71M und 72M, die so angeordnet sind, dass sie einander über das Projektormodell 73M zugewandt sind. Wie in den 6 und 7 dargestellt, wird das Sensormodellkoordinatensystem M2 in dem virtuellen Raum an einer Position festgelegt, die mit dem Sensorkoordinatensystem C2 verbunden ist.
-
Als nächstes berechnet die Werkstückmodellpositionsberechnungseinheit 134 in Schritt S5 eine Position und eine Stellung eines Werkstückmodells WM in Bezug auf das Robotermodell 10M oder das visuelle Sensormodell 70M in dem virtuellen Raum, indem ein Formmerkmal des Werkstückmodells WM einer dreidimensionalen Information über das Werkstück W in Bezug auf den Roboter 10 oder den visuellen Sensor 70, die von dem visuellen Sensor 70 in dem Arbeitsraum erfasst wird, überlagert wird.
-
Die dreidimensionale Positionsinformation über das Werkstück W wird beispielsweise als ein Satz von dreidimensionalen Koordinaten mit Bezug auf das Roboterkoordinatensystem C1 oder das Sensorkoordinatensystem C2 in der Robotersteuerung 20 gespeichert, indem das Werkstück W durch den visuellen Sensor 70 gemessen wird. Die Werkstückmodellpositionsberechnungseinheit 134 erhält die dreidimensionale Positionsinformation über das Werkstück W von der Robotersteuerung 20 und berechnet die Position und die Stellung des Werkstückmodells WM durch Überlagerung der Formmerkmale des Werkstückmodells WM.
-
Hier wird ein Verfahren zur Erfassung der dreidimensionalen Positionsinformation über das Werkstück W in einem Zustand, in dem es in einer Schüttung geladen ist, durch den visuellen Sensor 70 unter Bezugnahme auf die 8 bis 10 beschrieben. In der vorliegenden Ausführungsform ist der visuelle Sensor 70 ein Entfernungssensor, der einen Abstand zu einem Zielobjekt erfassen kann. Der Entfernungssensor erfasst eine dreidimensionale Information über ein Werkstück, z. B. in Form eines Abstandsbildes oder einer dreidimensionalen Karte. Das Abstandsbild ist ein Bild, das einen Abstand von dem Entfernungssensor zu dem Werkstück innerhalb eines Messabstands durch Helligkeit und Dunkelheit oder eine Farbe eines jeden Pixels ausdrückt. Die dreidimensionale Karte drückt eine dreidimensionale Position des Werkstücks in einem Messbereich als einen Satz von dreidimensionalen Koordinatenwerten von Punkten auf einer Oberfläche des Werkstücks aus.
-
Die beiden Kameras 71 und 72 des visuellen Sensors 70 sind derart in verschiedene Richtungen gerichtet, so dass sich Sichtfelder der beiden Kameras 71 und 72 zumindest teilweise überlappen. Der Projektor 73 ist so angeordnet, dass ein Projektionsbereich des Projektors 73 die Sichtfelder einer jeden Kamera 71 und 72 zumindest teilweise überlappt. 8 ist ein Diagramm, das eine Situation darstellt, in der das Werkstück W durch den visuellen Sensor 70 gemessen wird, wenn der visuelle Sensor 70 eine feste Kamera ist, die an einer vorbestimmten Position in dem Arbeitsraum befestigt ist. 9 ist ein Diagramm, das eine Situation darstellt, in der das Werkstück W durch den visuellen Sensor 70 gemessen wird, wenn der visuelle Sensor 70 an dem Armspitzenabschnitt des Roboters 10 angebracht ist.
-
Eine Mehrzahl von Schnittlinien einer ersten Ebenengruppe, die so angeordnet ist, dass sie das Sichtfeld, in dem die beiden Kameras 71 und 72 einen Bereich erfassen, der ein Ziel der Messung in einem mit dem Werkstück W versehenen Bereich ist und der durch Brennpunkte der beiden Kameras 71 und 72 verläuft, in einem regelmäßigen Intervall das Gesichtsfeld unterteilen, und einer zweiten Ebenengruppe, die einer Grenzfläche von Licht und Dunkelheit eines gestreiften Musterlichts 160 entspricht, wenn der Projektor 73 das Musterlicht 160 auf den Bereich projiziert, der das Ziel der Messung in dem mit dem Werkstück W versehenen Bereich ist, werden berechnet und die dreidimensionale Positionsinformation über das Werkstück W wird als dreidimensionale Koordinaten eines Schnittpunkts der Schnittlinie und einer Werkstückoberfläche berechnet (siehe 10).
-
10 stellt das von den beiden Kameras 71 und 72 erfasste Sichtfeld (der Bereich, der das Ziel der Messung ist) als ein Sichtfeld FV dar und stellt durch eine strichpunktierte Linie eine virtuelle Linie dar, die das Sichtfeld in einem regelmäßigen Intervall unterteilt. 10 stellt das Streifenmusterlicht 160, das auf den mit dem Werkstück W versehenen Bereich projiziert wird, eine (im Folgenden als erste Ebene 151 bezeichnete) der ersten Ebenengruppe und eine (im Folgenden als zweite Ebene 152 bezeichnete) der zweiten Ebenengruppe dar. Es ist zu beachten, dass in 10 das gestreifte Musterlicht 160 als ein Licht und Dunkelheit-Muster (ausgedrückt durch das Vorhandensein oder das Fehlen einer Schraffur) dargestellt ist, das sich von einer Rückseite zu einer Vorderseite in 10 erstreckt. Ferner stellt 10 eine Schnittlinie L1 der ersten Ebene 151 und der zweiten Ebene 152 sowie einen Schnittpunkt P der Schnittlinie L1 und einer Oberfläche des Werkstücks W dar.
-
Auf diese Weise werden die erste Ebenengruppe und die zweite Ebenengruppe berechnet, und die Schnittlinie der ersten Ebenengruppe und der zweiten Ebenengruppe wird ebenfalls berechnet. Dann wird eine dreidimensionale Information über eine Mehrzahl der Schnittpunkte P einer Mehrzahl der berechneten Schnittlinien und der Oberfläche des in einer Schüttung geladenen Werkstücks W berechnet.
-
Die Robotersteuerung 20 erfasst dreidimensionale Koordinaten für alle Werkstücke W, indem sie einen Werkstückaufnahmeprozess mehrmals durchführt.
-
Die in dem Robotersystem 100 nach dem oben beschriebenen Verfahren erfassten dreidimensionalen Koordinaten für alle Werkstücke W werden in der Robotersteuerung 20 gespeichert.
-
Die Werkstückmodellpositionsberechnungseinheit 134 erhält als die dreidimensionale Information über das Werkstück W von der Robotersteuerung 20 die wie oben beschrieben erfassten dreidimensionalen Koordinaten (Koordinaten in Bezug auf das Roboterkoordinatensystem C1 oder das Sensorkoordinatensystem C2) der Mehrzahl von Schnittpunkten P auf der Werkstückoberfläche. Dann sucht die Werkstückmodellpositionsberechnungseinheit 134 nach einer Position und einer Stellung, die von dem Werkstückmodell eingenommen werden können, indem sie die dreidimensionale Information über das Werkstück W mit dem Formmerkmal des Werkstückmodells (wie z.B. Oberflächendaten, Kammliniendaten und Scheiteldaten über das Werkstückmodell) vergleicht, und berechnet eine Position und eine Stellung des Werkstückmodells, die einen maximalen Grad an Übereinstimmung zwischen dem Satz von dreidimensionalen Koordinaten und einer Forminformation über das Werkstückmodell aufweisen. Auf diese Weise erfasst die Werkstückmodellpositionsberechnungseinheit 134 die Position und die Stellung des Werkstückmodells WM in dem virtuellen Raum, die mit einer Position und einer Stellung des Werkstücks W in dem Arbeitsraum verbunden sind.
-
11 stellt einen Zustand dar, in dem das Werkstückmodell WM durch ein solches Verfahren der dreidimensionalen Positionsinformation (der Mehrzahl von Schnittpunkten P) über das Werkstück W überlagert und darauf angeordnet ist. Es ist zu beachten, dass 11 einen Bereich Q darstellt, in dem eine dreidimensionale Position des Werkstücks W erfasst wird. Ferner stellt 11 ein Werkstückmodellkoordinatensystem M3 dar, das in jedem Werkstückmodell WM festgelegt ist. Wenn zum Beispiel jedes Werkstückmodell WM eine rechteckige Parallelepipedform hat, kann das Werkstückmodellkoordinatensystem M3 in einer Schwerpunktposition der rechteckigen Parallelepipedform festgelegt werden.
-
Als nächstes ordnet in Schritt S6 die Modellanordnungseinheit 132 das Werkstückmodell WM in der Position und der Stellung des Werkstückmodells WM in Bezug auf das Robotermodell 10M oder das visuelle Sensormodell 70M in dem virtuellen Raum an. 12 stellt einen Zustand dar, in dem das Werkstückmodell WM auf der Grundlage der in Schritt S5 berechneten Position und Stellung des Werkstückmodells WM in dem virtuellen Raum angeordnet ist, wenn das visuelle Sensormodell 70M ein fester Sensor mit einer festen Position ist. 13 stellt einen Zustand dar, in dem das Werkstückmodell WM auf der Grundlage der in Schritt S5 berechneten Position und Stellung des Werkstückmodells WM in dem virtuellen Raum angeordnet ist, wenn das visuelle Sensormodell 70M an dem Robotermodell 10M montiert ist. Wie in den 12 und 13 dargestellt, können die Position und die Stellung des Werkstückmodells WM als eine Position und eine Stellung des Werkstückmodellkoordinatensystems M3 in Bezug auf das Robotermodellkoordinatensystem M1 oder das Koordinatensystem des visuellen Sensormodells M2 erfasst werden. Auf diese Weise wird eine tatsächliche Anordnung des Werkstücks W, das in einer losen Schüttung in den Arbeitsraum geladen ist, in dem virtuellen Raum reproduziert.
-
Als nächstes führt in Schritt S7 die Simulationsausführungseinheit 135 in einem Zustand, in dem das Werkstückmodell WM wie in 12 oder 13 in dem virtuellen Raum angeordnet ist, eine Simulation der Arbeit zum Messen des Werkstückmodells WM durch das visuelle Sensormodell 70M und zum einzelnen Aufnehmen des Werkstückmodells WM durch ein an dem Robotermodell 10M angebrachtes Handmodell 11M aus.
-
Ähnlich wie bei einem Messvorgang unter Verwendung des visuellen Sensors 70 misst die Simulationsausführungseinheit 135 eine Position und eine Stellung des Werkstückmodells WM in dem virtuellen Raum in einer simulierten Weise durch die folgenden Verfahren.
- (a1) Eine erste Ebenengruppe wird auf der Grundlage einer Position und eines Messbereichs der beiden Kameramodelle 71M und 72M in dem in dem virtuellen Raum angeordneten visuellen Sensormodell 70M berechnet.
- (a2) Als nächstes wird eine zweite Ebenengruppe auf der Grundlage einer Position und eines Messbereichs des Projektormodells 73M berechnet.
- (a3) Eine Mehrzahl von Schnittlinien zwischen der ersten Ebenengruppe und der zweiten Ebenengruppe werden berechnet.
- (a4) Die dreidimensionalen Koordinaten eines Schnittpunkts der Schnittlinie und des Werkstückmodells WM werden berechnet.
- (a5) Die Position und die Stellung des Werkstückmodells WM werden auf der Grundlage der dreidimensionalen Koordinaten des Werkstückmodells WM berechnet.
- (a6) Auf der Grundlage der berechneten Position und Stellung des Werkstückmodells WM wird ein Vorgang simuliert, bei dem das Robotermodell 10M in eine Position bewegt wird, in der ein Zielwerkstückmodell gehalten werden kann, und bei dem das Zielwerkstückmodell von dem Handmodell 11M aufgenommen wird.
-
14 stellt einen Zustand dar, in dem der Simulationsvorgang des Aufnehmens des Werkstückmodells WM durch das Robotermodell 10M von der Simulationsausführungseinheit 135 ausgeführt wird. Ein solcher Vorgang kann auf der Anzeigevorrichtung 33 der Robotersimulationsvorrichtung 30 angezeigt werden.
-
Auf diese Weise wird gemäß der vorliegenden Ausführungsform ein Simulationsvorgang der Arbeit eines Robotermodells ausgeführt, während ein Zustand eines in einer Schüttung in einen Arbeitsraum geladenen Werkstücks in einem virtuellen Raum reproduziert wird, und somit kann ein Betriebsprogramm, das einen genaueren Aufnahmevorgang ausführen kann, effizient erzeugt werden.
-
Die vorliegende Erfindung wurde oben unter Verwendung der typischen Ausführungsformen beschrieben, aber es wird von denjenigen mit gewöhnlichen Fachkenntnissen auf dem Gebiet verstanden, dass Änderungen, andere verschiedene Änderungen, Auslassungen und Hinzufügungen in jeder der oben beschriebenen Ausführungsformen vorgenommen werden können, ohne vom Umfang der vorliegenden Erfindung abzuweichen.
-
Der in 3 dargestellte Funktionsblock der Robotersimulationsvorrichtung 30 kann durch Ausführen von in einer Speichervorrichtung gespeicherter Software durch den Prozessor 31 der Robotersimulationsvorrichtung 30 erreicht werden, oder kann durch eine Konfiguration erreicht werden, in der Hardware wie ein z.B. anwendungsspezifischer integrierter Schaltkreis (ASIC) ein Hauptkörper ist.
-
Das Programm, das den Simulationsvorgang in 4 in der oben beschriebenen Ausführungsform ausführt, kann auf verschiedenen computerlesbaren Aufzeichnungsmedien aufgezeichnet sein (zum Beispiel in einem ROM, einem EEPROM, einem Halbleiterspeicher wie z.B. einem Flash-Speicher, einem magnetischen Aufzeichnungsmedium und einer optischen Platte wie z.B. einer CD-ROM und einer DVD-ROM).
-
BEZUGSZEICHENLISTE
-
- 10
- Roboter
- 10M
- Robotermodell
- 11
- Hand
- 11M
- Handmodell
- 20
- Robotersteuerung
- 21
- Prozessor
- 22
- Speicher
- 23
- Eingabe-/Ausgabeschnittstelle
- 24
- Bedieneinheit
- 30
- Robotersimulationsvorrichtung
- 31
- Prozessor
- 32
- Speicher
- 33
- Anzeigeeinheit
- 34
- Bedieneinheit
- 35
- Eingabe-/Ausgabeschnittstelle
- 70
- visueller Sensor
- 70M
- visuelles Sensormodell
- 71, 72
- Kamera
- 71M, 72M
- Kameramodell
- 73
- Projektor
- 73M
- Projektormodell
- 81
- Behälter
- 81M
- Behältermodell
- 100
- Robotersystem
- 131
- Einheit zur Erzeugung eines virtuellen Raums
- 132
- Modellanordnungseinheit
- 133
- Einheit zur Einstellung der Position des visuellen Sensormodells
- 134
- Werkstückmodellpositionsberechnungseinheit
- 135
- Simulationsausführungseinheit
-
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 2015171745 A [0003]
- JP 202097061 A [0003]