-
Die vorliegende Erfindung bezieht sich auf eine Simulationsvorrichtung, die eine Simulation eines Roboters ausführt.
-
Bekannt ist eine sogenannte Offline-Programmierung zum Erstellen eines Betriebsprogramms durch Ausführen einer Simulation, wobei ein Robotersystemmodell mit einem Robotermodell, einem Werkstückmodell und einem Peripheriegerätemodell, die jeweils dreidimensional einen Roboter, ein Werkstück und eine Peripheriegerät darstellen, auf einem Bildschirm angeordnet ist (siehe z.B.
JP H09 - 212 228 A und
JP 2017 - 519 644 A ). Weiterer Stand der Technik findet sich in
DE 103 05 384 A1 ,
EP 3 093 108 A2 ,
EP 2 962 814 A2 ,
WO 2017 / 072 979 A1 ,
US 2017 / 0 372 139 A1 und
US 2016 / 0 257 000 A1 .
-
Die Offline-Programmierung nach der oben beschriebenen verwandten Technik hat zwar den Vorteil, einen Bediener in die Lage zu versetzen, ein Betriebsprogramm an einem Ort zu erstellen, der nicht an einer Fertigungslinie liegt, in der ein Roboter angeordnet ist, das Robotersystemmodell wird jedoch auf einem Bildschirm eines Computers angezeigt, der eine Simulation durchführt. Deshalb ist dem Bediener eine Überprüfung eines Zustands des Robotersystems nur durch die zweidimensionale Oberfläche des Bildschirms möglich. Insofern verursacht die Offline-Programmierung in der verwandten Technik das Problem, dass der Bediener mit einer geringeren Wahrscheinlichkeit einen Zustand des Robotersystems intuitiv erfassen wird, und zum Beispiel mit geringerer Wahrscheinlichkeit die Perspektive wahrnehmen wird.
-
Es ist daher die Aufgabe, eine Simulationsvorrichtung bereitzustellen, die in der Lage ist, eine Simulation durchzuführen, so dass ein Bediener einen Zustand eines Robotersystems intuitiv erfassen kann.
-
Die Lösung liegt gemäß der vorliegenden Erfindung in einer Robotersimulationsvorrichtung mit den Merkmalen des Patentanspruchs 1. Vorteilhafte Ausführungsformen sind in den abhängigen Patentansprüchen offenbart.
-
Die Ziele, Merkmale und Vorteile der vorliegenden Erfindung werden aus der folgenden Beschreibung der Ausführungsformen in Verbindung mit den beigefügten Zeichnungen besser ersichtlich, für die gilt:
- 1 ist ein Konfigurationsdiagramm, das eine Gesamtkonfiguration eines Robotersimulationssystems gemäß einer Ausführungsform darstellt;
- 2 ist ein Blockdiagramm, das ein Hardwarekonfiguration einer Simulationsvorrichtung darstellt;
- 3 ist ein Funktionsblockdiagramm, das Funktionen veranschaulicht, die durch das Ausführen einer Simulation in der Simulationsvorrichtung erzielt werden sollen;
- 4 ist ein Flussdiagramm, das den Simulationsvorgang eines Roboters veranschaulicht;
- 5 ist ein Flussdiagramm, das veranschaulicht, wie eine Simulation bei Verbindung mit einem Robotersystem ausgeführt wird;
- 6 ist ein Konfigurationsdiagramm, das einen Zustand veranschaulicht, in dem Positionen des sich im Betrieb befindlichen Robotersystems im Betrieb eines Modells des Robotersystems wiedergegeben werden;
- 7 ist ein Diagramm, das ein Beispiel einer Bildschirmanzeige veranschaulicht, auf der dem Modell des Robotersystems überlagerte Lernpunkte angezeigt sind;
- 8 ist ein Diagramm, das einen Zustand veranschaulicht, in dem der Änderungsvorgang der Lernpunkte auf der Bildschirmanzeige nach 7 ausgeführt wird;
- 9 ist ein Diagramm, das ein Beispiel einer Bildschirmanzeige veranschaulicht, bei dem Einstellinformationen zusammen mit dem Modell des Robotersystems angezeigt werden;
- 10 ist ein Diagramm, das ein Beispiel einer Bildschirmanzeige veranschaulicht, bei dem Informationen über Betriebszustände zusammen mit dem Modell des Robotersystems angezeigt werden;
- 11 ist ein Konfigurationsdiagramm, das eine Gesamtkonfiguration eines Robotersimulationssystems veranschaulicht, bei dem ein Projektor als Anzeigevorrichtung verwendet wird; und
- 12 ist ein Diagramm, das ein Konfigurationsbeispiel veranschaulicht, bei dem eine Vielzahl von Robotersystemen mit einer Simulationsvorrichtung verbunden ist.
-
Im Folgenden werden Ausführungsformen der vorliegenden Erfindung unter Bezugnahme auf die beigefügten Zeichnungen beschrieben. Überall in den Zeichnungen werden übereinstimmende Bestandteile durch gemeinsame Bezugszeichen gekennzeichnet. Um das Verständnis der Zeichnungen zu erleichtern, werden Maßstäbe der Zeichnungen in geeigneter Weise verändert. Zu beachten ist, dass in den Zeichnungen dargestellte Betriebsarten nur Beispiele zur Umsetzung der Erfindung sind, und dass die Erfindung nicht auf die dargestellte Betriebsarten beschränkt ist.
-
1 ist ein Konfigurationsdiagramm, das eine Gesamtkonfiguration eines Robotersimulationssystems 100 gemäß einer Ausführungsform darstellt. Wie in 1 dargestellt, ist das Robotersimulationssystem 100 so ausgebildet, dass ein Simulationssystem (eine Simulationsvorrichtung 90 und ein Head-Mounted Display 80) mit einer Funktion, ein dreidimensionales Modell eines Robotersystems anzuzeigen und zu bedienen, wobei es dasselbe als ein pseudodreidimensionales Objekt unter Verwendung einer Funktion zum Anzeigen eines erweiterten realen Bildes einem Bild eines realen Raums überlagert, in Kommunikationsverbindung mit einer Robotersteuerung 50 steht, die einen Roboter 30 über ein Netzwerk 60 steuert. Insbesondere beinhaltet das Robotersimulationssystem 100 die Simulationsvorrichtung 90, das mit der Simulationsvorrichtung 90 verbundene Head-Mounted Display 80, die über das Netzwerk 60 mit der Simulationsvorrichtung 90 verbundene Robotersteuerung 50, und den mit der Robotersteuerung 50 verbundenen Roboter 30. Typischerweise sind der Roboter 30, ein Werkstück W, ein Peripheriegerät 11 und die Robotersteuerung 50 in einer Fertigungslinie angeordnet, und die Simulationsvorrichtung 90 und das Head-Mounted Display 80 sind jeweils an einem nicht an der Fertigungslinie liegenden Ort angeordnet.
-
Der Roboter 30 ist z.B. ein vertikaler Knickarmroboter, und eine Hand 39, die ein Beispiel für einen End-Effektor ist, ist an einem vorderen Ende eines Arms angebracht. Der Roboter 30 ist in der Lage, ein Werkstück W zu transportieren, indem er es mit der Hand 39 hält. Um den Roboter 30 herum sind das Peripheriegerät 11 (z.B. ein Wagen zum Transportieren eines Werkstücks) und das Werkstück W angeordnet.
-
Die Robotersteuerung 50 steuert den Betrieb des Roboters 30 durch Ausgabe eines Steuerbefehls an einen Servomotor (nicht dargestellt), der jede Gelenkachse des Roboters 30 gemäß einem in der Robotersteuerung 50 geladenen Betriebsprogramm antreibt. Die Robotersteuerung 50 tauscht auch über das Netzwerk 60 Informationen mit der Simulationsvorrichtung 90 aus.
-
Das Head-Mounted Display 80 beinhaltet eine Kamera 81, die einen realen Raum aufnimmt, eine Einheit 82 zum Verarbeiten eines erweiterten realen Bildes, die eine Verarbeitung ausführt, bei der ein von der Simulationsvorrichtung 90 bereitgestelltes Modell des Robotersystems und verschiedene Informationen einem von der Kamera 81 aufgenommenen Bild des realen Raums überlagert werden, und eine Anzeigeeinheit 83, die ein dreidimensionales Bild anzeigt, das von der Einheit 82 zum Verarbeiten eines erweiterten realen Bildes erzeugt wird (bezogen auf 2). Die Anzeigeeinheit 83 zeigt ein dreidimensionales Bild am Beispiel eines binokularen Parallaxenbildes an. In 1 wird ein Beispiel eines auf der Anzeigeeinheit 83 des Head-Mounted Displays 80 angezeigten Bildes innerhalb einer mit gestrichelten Linien gezeichneten, in sich geschlossenen Linie dargestellt. Im Beispiel von 1 werden ein Robotermodell 30M, ein Werkstückmodell WM und ein Peripheriegerätemodell 11M, die jeweils Modelle des Roboters 30, des Werkstücks W und des Peripheriegeräts 11 sind, auf dem Head-Mounted Display 80 angezeigt, während sie dem Bild des realen Raums überlagert sind. Ein Bediener kann beim Erstellen eines Bildes eines Modells des Robotersystems eine Position eines Blickwinkels ändern, beispielsweise durch Bedienen einer Bedieneinheit 95 der Simulationsvorrichtung 90. Das Head-Mounted Display 80 kann durch ein Display eines anderen Typs, das an eine erweiterte Realität angepasst werden kann, ersetzt werden.
-
Wie in 2 dargestellt, kann die Simulationsvorrichtung 90 aus einem typischen Computer mit einer CPU 91, einem ROM 92, einem RAM 93, einer Speichervorrichtung 94, der Bedieneinheit 95, einer Netzwerkschnittstelle 96, einer Externe-Geräte-Schnittstelle 97 zum Verbinden mit verschiedenen externen Geräten, einer Anzeigeeinheit 98 und dergleichen bestehen. Die Speichervorrichtung 94 speichert ein Simulationsprogramm zum Ausführen einer Simulation, dreidimensionale Modelldaten an dem Robotermodell 30M, dem Werkstückmodell WM, dem Peripheriegerätemodell 11M und dergleichen. Die Simulationsvorrichtung 90 ist über die Externe-Geräte-Schnittstelle 97 mit dem Head-Mounted Display 80 und über die Netzwerkschnittstelle 96 auch mit der Robotersteuerung 50 verbunden. Die Simulationsvorrichtung 90 kann über eine drahtgebundene oder eine drahtlose Verbindung mit dem Head-Mounted Display 80 verbunden sein. Die Simulationsvorrichtung 90 kann auch mit der Robotersteuerung 50 über eine drahtgebundene oder eine drahtlose Verbindung verbunden sein.
-
3 ist ein Funktionsblockdiagramm, das verschiedene Funktionen im Zusammenhang mit einer Simulation veranschaulicht, die durch das Zusammenwirken der Simulationsvorrichtung 90 und des Head-Mounted Displays 80 erzielt werden soll. Das Simulationsprogramm kann auf verschiedenen Arten von computerlesbaren Speichermedien gespeichert werden (z.B. einem ROM, einem RAM, einem Flash-Speicher, einer Festplatte, einem CD-ROM, einem DVD-ROM und dergleichen).
-
Eine Robotersystemmodell-Anzeigeeinheit 101 überlagert dreidimensional das Robotermodell 30M, das Werkstückmodell WM und das Peripheriegerätemodell 11M auf ein Bild eines realen Raums, das in der Anzeigeeinheit 83 des Head-Mounted Displays 80 dargestellt wird, unter Verwendung einer Positionsbeziehung, die identisch ist mit einer tatsächlichen Positionsbeziehung des Robotersystems. Indem es beispielsweise einem Bediener ermöglicht wird, Ist-Positionsinformationen des Robotersystems unter Verwendung der Bedieneinheit 95 der Simulationsvorrichtung 90 einzugeben oder indem die Simulationsvorrichtung 90 veranlasst wird, die Ist-Positionsinformationen des Robotersystems von einer externen Vorrichtung zu erfassen, ist die Robotersystemmodell-Anzeigeeinheit 101 in der Lage, im Bild des realen Raums, ein Modell des Robotersystems mit überlagerter Anzeige an einer der Ist-Positionsbeziehung des Robotersystems entsprechenden Position anzuzeigen. Dadurch kann jedes Modell in einem Blickfeld des Bedieners, der das Head-Mounted Display 80 trägt, angezeigt werden, so als ob das in einer Fertigungslinie vorgesehene Robotersystem in einem Raum angeordnet wäre, in dem sich der Bediener aufhält.
-
Eine Simulationsausführungseinheit 141 führt den Simulationsvorgang aus, indem sie die von der Robotersystemmodell-Anzeigeeinheit 101 angezeigten Modelle des Robotersystems in simulierter Weise betreibt. In der vorliegenden Beschreibung bedeutet der Simulationsvorgang, dass ein Modell in simulierter Weise gemäß einem Betriebsprogramm oder einer von einem Bediener durchgeführten Befehlseingabe von Lernpunkten betrieben wird. So kann beispielsweise ein Bediener den gewünschten Betrieb (Lernpunkte) eines Roboters in die Simulationsvorrichtung 90 eingeben und den Betrieb des Roboters durch Ausführen des Simulationsvorgangs überprüfen. Auf diese Weise wird, indem der Simulationsvorgang wie oben beschrieben durchgeführt wird, ein Betriebsprogramm erstellt, das es dem Roboter 30 ermöglicht, den gewünschten Vorgang auszuführen. Zu diesem Zeitpunkt kann der Bediener die Eingabe der Lernpunkte und die Bedienung des Roboters 30 und dergleichen überprüfen, während er die dreidimensional dargestellten Modelle des Robotersystems mit überlagerter Anzeige im Bild des realen Raums betrachtet, in dem sich der Bediener, der das Head-Mounted Display 80 trägt, aufhält. Das heißt, der Bediener kann die Lernpunkte eingeben und die Bedienung des Roboters 30 überprüfen, während er intuitiv einen Ist-Zustand des Robotersystems erfasst (z.B. Abstände zwischen dem Roboter 30, dem Peripheriegerät 11 und dem Werkstück W), wodurch ein genaues Betriebsprogramm erstellt werden kann.
-
Der Bediener kann die Bedieneinheit 95 (z.B. eine Tastatur, eine Maus und eine andere Zeigevorrichtung) der Simulationsvorrichtung 90 betätigen, um einen Eingabevorgang wie die Eingabe der Lernpunkte im Simulationsbetrieb wie oben beschrieben durchzuführen. Alternativ zu der Simulationsvorrichtung 90 kann ein im Stand der Technik bekannter Sensor zum Verfolgen der Bewegung der Hände eines Bedieners (eine Kamera, ein in der Hand eines Bedieners getragener Sensor oder dergleichen) als externe Vorrichtung angeschlossen werden. Die Kamera als Sensor zum Erfassen der Bewegung der Hände eines Bedieners kann in dem Head-Mounted Display 80 vorgesehen sein. Wenn die Simulationsvorrichtung 90, wie oben beschrieben, eine Funktion zum Verfolgen der Bewegung der Hände eines Bedieners hat, so kann der Bediener die Eingabe der Lernpunkte oder dergleichen mit einer Geste anweisen. Verschiedene Arten von im Folgenden beschriebenen Bedieneingaben (Touch-Bedienung, Drag-Bedienung und dergleichen) können jeweils durch eine Funktion der Verfolgung der Bewegung der Hände eines Bedieners erreicht werden.
-
Eine Robotersystem-Verbindungseinheit 102 stellt eine Verbindung zwischen der Simulationsvorrichtung 90 und der Robotersteuerung 50 her. Dadurch kann ein Austausch von Informationen zwischen einer Simulationsprogrammseite (Simulationsvorrichtung 90) und einer Robotersystemseite (Robotersteuerung 50) ermöglicht werden.
-
Eine Robotersystemmodell-Betriebseinheit 103 erfasst von der Robotersteuerung 50 im Betrieb Positionen des Roboters 30, des Werkstücks W und des Peripheriegeräts 11, die das Robotersystem bilden, um das Robotermodell 30M, das Werkstückmodell WM und das Peripheriegerätemodell 11M, die das Robotersystemmodell bilden, in Positionen zu bewegen, die deren Positionen im Betrieb entsprechen. Die Simulationsvorrichtung 90 empfängt ein Signal, das einen Zustand der Hand 39 des Roboters 30 anzeigt, um einen Handabschnitt des Robotermodells 30M zu veranlassen, das Werkstückmodell WM zu halten, wenn der Roboter 30 das Werkstück W mit der Hand 39 hält. Die oben beschriebene Bewegungsverarbeitung kann so durchgeführt werden, dass die Bewegung auf der Robotersystemseite in Echtzeit verfolgt wird. 6 veranschaulicht einen Zustand, in dem das Robotermodell 30M das Werkstück WM in einem Bild hält, das in dem Head-Mounted Display 80 als Reaktion auf den Roboter 30, der das Werkstück W auf der Robotersystemseite hält, angezeigt wird.
-
Eine Betriebsprogramm-Erfassungseinheit 111 erfasst ein Betriebsprogramm des Roboters 30 von der Robotersteuerung 50 über das Netzwerk 60.
-
Eine Betriebsprogramm-Anzeigeeinheit 112 zeigt Informationen über das Betriebsprogramm des Roboters 30 an, indem sie diese unter Verwendung des erfassten Betriebsprogramms dem Bild des in dem Head-Mounted Display 80 angezeigten realen Raums überlagert. 7 veranschaulicht ein Beispiel für Informationen über das in dem Head-Mounted Display 80 angezeigte Betriebsprogramm. Bei dem angezeigten Beispiel nach 7 werden ein dreidimensionales Bild, das eine grafische Darstellung von Knoten 201 bis 204 der jeweiligen im Betriebsprogramm enthaltenen Lernpunkte zeigt, und ein zwischen den entsprechenden Lernpunkten verlaufender Pfad 210 dargestellt, indem sie dem Bild des realen Raums überlagert werden. Zusätzlich wird im angezeigten Beispiel von 7 ein dreidimensionales Panel 220 mit einer Liste von Lernpunkten angezeigt. Wenn ein Bediener bei diesem Bildschirm seine Hand bewegt, um einen gewünschten Lernpunkt auf dem Panel 220 zu berühren und auszuwählen, oder beispielsweise einen Knoten 202 des Lernpunkts mit der Hand berührt, so wird ein Panel 230, das eine dreidimensionale Position des ausgewählten Lernpunkts zeigt, angezeigt, indem es dem Bild des realen Raums überlagert wird. Im Beispiel von 7 wird ein Lernpunkt 202 (ein Lernpunkt P2 auf dem Panel 220) ausgewählt. In der unten folgenden Beschreibung werden Anzeigeinhalte, wie z.B. verschiedene Bedienfelder und Bedienmenüs, auch als dreidimensionales Bild dargestellt.
-
An einem Betriebsprogramm-Änderungseinheit 113 wird eine Betätigung für ein von einem Bediener ausgeführtes Ändern von Lernpunkten vorgenommen. Als Beispiel für den Vorgang zum Ändern von Lernpunkten kann der Bediener einen dem Bild des realen Raums überlagerten Knoten jedes Lernpunktes bewegen, indem er einen Drag-Vorgang mit der Hand ausführt. 8 veranschaulicht einen Zustand, bei dem ein Bediener den Knoten 202 des Lernpunktes durch Ausführen eines Drag-Vorgangs bewegt. Ein weiteres Beispiel für eine Betätigung zum Ändern von Lernpunkten kann so ausgeführt sein, dass, wenn ein Bediener mit der Hand eines der Positionsdatenelemente, die eine dreidimensionale Position eines Lernpunkts angeben, auf dem Panel 230 berührt, im realen Raum eine numerische Tastatur 240 angezeigt wird, damit der Bediener die numerische Tastatur 240 betätigen kann, um einen Zahlenwert der berührten Positionsdaten einzugeben. Das Beispiel von 8 veranschaulicht einen Zustand, bei dem eine Z-Koordinate auf dem Panel 230, die eine dreidimensionale Position eines Lernpunktes angibt, durch Ausführen eines Berührungsvorgangs ausgewählt wird, wodurch dann die numerische Tastatur 240 angezeigt wird.
-
Eine Betriebsprogramm-Berücksichtigungseinheit 114 übermittelt ein durch die Betriebsprogramm-Änderungseinheit 113 geändertes Betriebsprogramm und einen Ausführungsbefehl an die Robotersteuerung 50 über das Netzwerk 60, um diese auf der Robotersystemseite zu berücksichtigen. Danach steuert die Robotersteuerung 50, die das geänderte Betriebsprogramm empfangen hat, den Roboter 30 entsprechend dem geänderten Betriebsprogramm. Gemäß der vorstehend beschriebenen Ausführung kann ein Bediener, wenn sich der tatsächliche Betrieb des Roboters 30 von einem gewünschten Betrieb unterscheidet, beispielweise aufgrund eines externen Faktors (wenn z.B. eine im Roboter 30 vorgesehene Sicherheitsüberwachungsvorrichtung einen Menschen erkennt und dadurch die Betriebsgeschwindigkeit des Roboters 30 reduziert wird), in einer Situation, in der der Roboter 30 tatsächlich gemäß dem in der Simulation von 4 erstellten Betriebsprogramm betrieben wird, das Betriebsprogramm ändern und dabei intuitiv und präzise einen Zustand des Roboters 30 erfassen.
-
Eine Einstellung-Erfassungseinheit 121 erfasst die Einstellung des Robotersystems von der Robotersystemseite über das Netzwerk 60. Eine Einstellung-Anzeigeeinheit 122 zeigt die von der Einstellung-Erfassungseinheit 121 erfassten Einstellinformationen an, indem sie sie dem Bild des realen Raumes, das auf dem Head-Mounted Display 80 angezeigt wird, überlagert. Die Einstellinformationen umfassen beispielsweise ein Positionsregister (ein Register, das eine Position eines Roboters bezeichnet) und ein Zahlenwertregister (verschiedene Register, die beim Betrieb eines Programms verwendet werden). 9 veranschaulicht ein Beispiel für die Einstellinformationen, die angezeigt werden, indem sie dem Bild des realen Raumes überlagert werden. In dem Beispiel der 9 bedeutet „POSREG“ das Positionsregister und „NUMREG“ bedeutet das Zahlenwertregister. In 9 wird ein Einstellmenüfeld 251 angezeigt, das ein Menü mit den Einstellinformationen zeigt.
-
An einer Einstellung-Änderungseinheit 123 wird eine Betätigung zum Ändern der Einstellinformationen vorgenommen. 9 veranschaulicht auch ein Beispiel für den Einstellinformationen-Änderungsvorgang. Im Beispiel von 9 zeigt die Einstellung-Änderungseinheit 123 ein Untermenü 252 an, das eine Liste von Positionsregistern zeigt, wenn ein Bediener das Positionsregister („POSREG“) im Einstellmenüfeld 251 auswählt. Wenn im Untermenü 252 ein Positionsregister PR3 ausgewählt wird, so zeigt die Einstellung-Änderungseinheit 123 ein Panel 260 an, das Einstellinformationen über das Positionsregister PR3 anzeigt, indem sie sie dem Bild des realen Raums überlagert. Die Einstellung-Änderungseinheit 123 zeigt das numerische Tastenfeld 240 an, indem sie es dem Bild des realen Raumes überlagert, wenn ein Bediener die Positionsinformationen auf dem Panel 260 berührt und auswählt, und erhält die Eingabe eines Zahlenwerts der ausgewählten Positionsinformation. Das Beispiel der 9 veranschaulicht einen Zustand, in dem das numerische Tastenfeld 240 angezeigt wird, wenn eine Z-Koordinate auf dem Panel 260 durch Berühren ausgewählt wird.
-
Eine Einstellung-Berücksichtigungseinheit 124 berücksichtigt die durch die Einstellung-Änderungseinheit 123 geänderten Einstellinformationen und einen Änderungsbefehl auf der Robotersystemseite, indem sie diese über das Netzwerk 60 an die Robotersteuerung 50 übermittelt. Die Robotersteuerung 50, die die geänderten Einstellinformationen erhalten hat, ändert die Einstellung entsprechend dem geänderten Einstellungsinhalt.
-
Eine Betriebszustand-Erfassungseinheit 131 erfasst Betriebszustände des Robotersystems von der Robotersteuerung 50 über das Netzwerk 60. Die Betriebszustände umfassen beispielsweise Informationen über einen Alarm, einen Fertigungszustand, ein von einer in einem Roboter vorgesehenen Kamera erfasstes Erkennungsergebnis, einen Zustand eines Reduktionsgetriebes (Untersetzungsgetriebes) und dergleichen. Eine Betriebszustand-Anzeigeeinheit 132 zeigt Informationen über die Betriebszustände an, indem sie diese dem Bild des realen Raumes überlagert, das in dem Head-Mounted Display 80 angezeigt wird. 10 veranschaulicht ein Beispiel für die Betriebszustände, die angezeigt werden, indem sie dem Bild des realen Raumes überlagert werden. In dem Beispiel der 10 wird ein Menüfeld 271 angezeigt, das ein Menü der Betriebszustände zeigt. Wenn ein Bediener eines der Elemente in dem Menüfeld 271 berührt und auswählt, so zeigt die Betriebszustand-Anzeigeeinheit 132 ein Panel 272 an, das Details des ausgewählten Elements zeigt, indem sie es dem Bild des realen Raums überlagert. Im Beispiel der 10 wird über das Menüfeld 271 ein Alarm („ALARM“) ausgewählt, um Informationen anzuzeigen, die ein Protokoll des Alarms auf dem Panel 272 zeigen.
-
Eine Modellmaßstab-Änderungseinheit 133 bietet eine Funktion zum Ändern des Maßstabs einer Anzeige jedes der Modelle des Robotersystems. So kann beispielsweise die Modellmaßstab-Änderungseinheit 133 einen Maßstab jedes der Modelle ändern, indem eine von einem Bediener ausgeführte Bedieneingabe an die Robotersimulationsvorrichtung 90 an ihr vorgenommen wird oder eine Gestenbedienung an ihr vorgenommen wird, die an einem im realen Raum angezeigten Bedienmenü ausgeführt wird.
-
4 ist ein Flussdiagramm, das den Betrieb gemäß einem Simulationsprogramm zum Erstellen des Betriebsprogramms des Roboters 30 veranschaulicht. Der Simulationsbetrieb der 4 erfolgt unter Steuerung der CPU 91 der Simulationsvorrichtung 90. Zuerst werden durch die Funktion der Robotersystemmodell-Anzeigeeinheit 101 dreidimensionale Modelle des Robotermodells 30M, des Werkstückmodells WM und des Peripheriegeräts 11M dargestellt, indem sie dem Bild des in der Anzeigeeinheit 83 des Head-Mounted Displays 80 angezeigten realen Raums überlagert werden (Schritt S11). Anschließend wird durch die Funktion der Simulationsausführungseinheit 141 der Simulationsbetrieb jedes der Modelle des Robotersystems durchgeführt (Schritt S12). Insbesondere gibt ein Bediener hier Lernpunkte ein, um den Roboter 30 zu veranlassen, den gewünschten Vorgang auszuführen, und führt die Simulation durch, indem er die Modelle des Robotersystems in simulierter Weise betreibt. In diesem Fall kann der Bediener, wie oben beschrieben, einen Eingabevorgang durchführen, während er intuitiv einen Zustand der einzelnen Modelle des Robotersystems erfasst, die in dem Head-Mounted Display 80 angezeigt werden. Wenn das Betriebsprogramm, das den Roboter 30 veranlassen soll, den gewünschten Vorgang auszuführen, wie oben beschrieben erstellt wird, so wird das Betriebsprogramm an die Robotersteuerung 50 übertragen (Schritt S13). Die Robotersteuerung 50 führt, nachdem sie das Betriebsprogramm empfangen hat, das Betriebsprogramm zur Steuerung des Roboters 30 aus.
-
5 ist ein Flussdiagramm, das den Simulationsvorgang veranschaulicht, der es der Simulationsvorrichtung 90 ermöglicht, das Betriebsprogramm durch Überprüfen der tatsächlichen Bewegung des Robotersystems zu ändern. Der Simulationsbetrieb von 5 erfolgt unter Steuerung der CPU 91 der Simulationsvorrichtung 90. Wenn die Simulationsvorrichtung 90 betätigt wird, um den Simulationsvorgang zu starten, zeigt die Robotersystemmodell-Anzeigeeinheit 101 zunächst das Robotersystemmodell einschließlich des Robotermodells 30M, des Werkstückmodells WM und des Peripheriegerätmodells 11M gemäß deren tatsächlicher Anordnung an, wobei das Robotersystemmodell dem Bild des in dem Head-Mounted Display 80 angezeigten realen Raums überlagert wird (Schritt S101). Dann verbindet die Robotersystem-Verbindungseinheit 102 eine Simulationssystemseite mit der Robotersystemseite (Schritt S102).
-
Anschließend betreibt die Robotersystemmodell-Betriebseinheit 103 das Robotersystemmodell entsprechend der Bewegung des Robotersystems unter Verwendung von Positionsinformationen über das in Betrieb befindliche Robotersystem, die von der Robotersteuerung 50 erfasst wurden (Schritt S103). In diesem Fall kann ein Bediener ein Bild betrachten, das es dem Bediener ermöglicht, sich so zu fühlen, als ob die dreidimensional dargestellten Modelle des Robotersystems tatsächlich im realen Raum, in dem sich der Bediener befindet, arbeiten würden, so dass ein Zustand des Robotersystems intuitiv erfasst werden kann.
-
Anschließend erfasst die Betriebsprogramm-Erfassungseinheit 111 das Betriebsprogramm des Robotersystems (Schritt S104). Dann zeigt die Betriebsprogramm-Anzeigeeinheit 112 die Lernpunkte des Betriebsprogramms an, wobei sie sie dem Bild des realen Raums überlagert, wie in 7 als Beispiel dargestellt (Schritt S105). In diesem Zustand wird an der Betriebsprogramm-Änderungseinheit 113 eine Betätigung zum Ändern von Positionen der Lernpunkte, wie in 8 dargestellt, vorgenommen (Schritt S106). In Schritt S106 kann das Robotermodell 30M entsprechend den geänderten Lernpunkten in simulierter Weise betrieben werden, um dessen Bewegungen zu überprüfen. Bei Änderung der Lernpunkte übermittelt die Betriebsprogramm-Berücksichtigungseinheit 114 das geänderte Betriebsprogramm an die Robotersteuerung 50, um das geänderte Betriebsprogramm im Robotersystem zu berücksichtigen (Schritt S107). Gemäß der oben beschriebenen Ausführung werden die Lernpunkte zusammen mit den dem Bild des realen Raumes überlagerten Modellen des Robotersystems dreidimensional dargestellt, so dass ein Bediener Positionen der jeweiligen Lernpunkte intuitiv erfassen und entsprechend eine notwendige Änderung der Lernpunkte vornehmen kann.
-
Anschließend erfasst die Einstellung-Erfassungseinheit 121 Einstellinformationen über das Robotersystem (Schritt S108). Die Einstellung-Anzeigeeinheit 122 zeigt die erfassten Einstellinformationen an, wobei sie sie dem Bild des realen Raums überlagert (Schritt 109). Dann wird von einem Bediener an der Einstellung-Änderungseinheit 123 eine Betätigung zum Ändern der Einstellung vorgenommen (Schritt S110). Bei Änderung der Einstellung werden die von der Einstellung-Berücksichtigungseinheit 124 geänderten Einstellinformationen an die Robotersteuerung 50 übermittelt und in dieser berücksichtigt (Schritt S111). Gemäß der oben beschriebenen Ausführung werden die Einstellinformationen zusammen mit den Modellen des Robotersystems in einer dem Bild des realen Raumes überlagerten Weise angezeigt, so dass ein Bediener in einer Situation, in der der Bediener einen Zustand des Robotersystems intuitiv erfassen kann, eine notwendige Änderung der Einstellung vornehmen kann.
-
Anschließend erfasst die Betriebszustand-Erfassungseinheit 131 den Betriebszustand des Robotersystems (Schritt S112). Bei Erfassung des Betriebszustands zeigt die Betriebszustand-Anzeigeeinheit 132 den Betriebszustand des Robotersystems an, um diesen dem Bild des realen Raums, das in dem Head-Mounted Display 80 angezeigt wird, zu überlagern, wie in 10 veranschaulicht (Schritt S113). Wenn, wie oben beschrieben, der Betriebszustand zusammen mit den im realen Raum dargestellten Modellen des Robotersystems angezeigt wird, können die Vorteile, gemäß derer ein Bediener einen Zustand des Robotersystems intuitiv erfassen kann, weiter optimiert werden.
-
Wie oben beschrieben, kann die Simulation gemäß der vorliegenden Ausführungsform in einer Situation durchgeführt werden, die es dem Bediener erlaubt, einen Zustand des Robotersystems intuitiv zu erfassen.
-
Obwohl die Erfindung mit Bezug auf die spezifische Ausführungsform beschrieben wurde, wird dem Fachmann bewusst sein, dass verschiedene Änderungen oder Modifikationen daran vorgenommen werden können, ohne vom Umfang der nachstehenden Patentansprüche abzuweichen.
-
Das Modell des Robotersystems kann auf einer Anzeigeeinheit des Head-Mounted Displays als in einem virtuellen Raum existierendes, pseudo-dreidimensionales Objekt dargestellt werden.
-
So kann zum Beispiel das oben beschriebene Head-Mounted Display 80 eine Kameraposition-Orientierung-Schätzfunktion (Erfassungseinheit) zum Schätzen einer Position und einer Ausrichtung der Kamera 81 unter Verwendung eines Sensors (eines Gyrosensors, eines Beschleunigungssensors usw.) umfassen. Durch die Verwendung der vorstehend beschriebenen Kameraposition-Orientierung-Schätzfunktion wird es möglich, die Position eines Blickwinkels zu ändern, um ein Bild der Modelle des Robotersystems zu erzeugen, während die Bewegung des Kopfes eines Bedieners verfolgt wird. So kann beispielsweise ein Bild nicht nur so erzeugt werden, dass die Modelle des Robotersystems einem Bediener nahe kommen, wenn sich der Bediener bewegt, indem er an einem Ort geht, an dem sich der Bediener befindet, sondern auch so, dass ein Bediener durch Bewegen seines Kopfes in einen gewünschten Teilbereich der Modelle des Robotersystems schauen kann.
-
Wenn das Peripheriegerät 11 den Arbeitsvorgang des Förderns eines Werkstücks ausführt und die Robotersteuerung 50 Informationen bereitstellen kann, die der Simulationsvorrichtung 90 einen Betriebszustand des Peripheriegeräts anzeigen, so kann die Simulationsvorrichtung 90 diese Informationen verwenden, um ein Bild zu erzeugen, in dem die Modelle des Robotersystems bewegt werden.
-
Beispiele für eine Technik zur Darstellung des Modells des Robotersystems als ein in einem dreidimensionalen Raum existierendes pseudo-dreidimensionales Objekt können, neben der Technik nach der oben beschriebenen Ausführungsform, verschiedene Techniken umfassen. 11 veranschaulicht ein Ausführungsbeispiel eines Robotersimulationssystems 100A, bei dem ein Projektor 280 anstelle des Head-Mounted Displays 80 in der Ausführung von 1 verwendet wird. Im Ausführungsbeispiel der 11 veranlasst eine Simulationsvorrichtung 90A einen Projektor 280 ein dreidimensionales Modell eines Robotersystems als dreidimensionales stereoskopisches Bild in einem von einem Bediener aus betrachteten realen Raum darzustellen. Zum Beispiel kann der Projektor 280 ein dreidimensionales stereoskopisches Bild anzeigen, indem er ein Hologramm an einer vorbestimmten Position an einem Ort verwendet, an dem sich ein Bediener befindet.
-
Solch ein dreidimensionales stereoskopisches Bild ist ein stereoskopisches Bild eines Objekts, das gewonnen werden kann, indem ein Medium (Hologramm), wie beispielsweise ein Film, auf dem durch Überlagerung von Licht aus dem Objekt (Objektlicht) mit Referenzlicht erzeugte Interferenzstreifen aufgezeichnet werden, mit dem Referenzlicht bestrahlt wird. Als Projektor 280 kann eine Vorrichtung verwendet werden, die eine Funktion zum Projizieren eines Hologramms unter Verwendung einer im Stand der Technik bekannten Technik aufweist. Die Simulationsvorrichtung 90A weist ähnliche Funktionen auf wie die im oben genannten Ausführungsbeispiel beschriebene Simulationsvorrichtung 90. Eine solche Ausführungsform ermöglicht es dem Bediener auch, Lernpunkte einzugeben und eine Simulation durchzuführen, während er intuitiv einen Zustand der Modelle des Robotersystems erfasst (Wahrnehmung eines Abstands zwischen dem Roboter 30 und dem Werkstück W oder dem Peripheriegerät 11, usw.).
-
12 veranschaulicht ein Ausführungsbeispiel eines Robotersimulationssystems 100B, bei dem eine Vielzahl von Robotersystemen über das Netzwerk 60 mit einer Robotersimulationsvorrichtung 90B verbunden ist. Bei der Ausführung nach 12 kann die Robotersimulationsvorrichtung 90B Modelle eines jeden der Vielzahl von Robotersystemen anzeigen und diese einem Bild eines realen Raums überlagern und kann die in den 3 und 4 dargestellte Simulation für jedes der Vielzahl von Robotersystemen ausführen. Bei dem Beispiel nach 12 ist die Simulationsvorrichtung 90B mit zwei Robotersystemen verbunden (ein System mit einer Robotersteuerung 50a, einem Roboter 30a, einem Werkstück Wa und einem Peripheriegerät 11a und ein System mit einer Robotersteuerung 50b, einem Roboter 30b, einem Werkstück Wb und einem Peripheriegerät 11b). Darüber hinaus zeigt die Anzeigeeinheit 83 des Head-Mounted Displays 80 zwei Modellsätze des Robotersystems an (Modelle eines Robotersystems eines Roboters 30aM, eines Werkstücks WaM und eines Peripheriegeräts 11aM sowie Modelle eines Robotersystems eines Roboters 30bM, eines Werkstücks WbM und eines Peripheriegeräts 11bM) und überlagert sie dem Bild des realen Raums (siehe innerhalb der mit gestrichelten Linien gezeigten, in sich geschlossenen Linie in 12). Bei der Ausführung nach 12 weist die Simulationsvorrichtung 90B ähnliche Funktionen auf wie die bei der oben genannten Ausführungsform beschriebene Simulationsvorrichtung 90. Die Ausführung nach 12 ermöglicht es einem Bediener, den Simulationsbetrieb jedes der Robotersysteme an einem Ort auszuführen, an dem sich der Bediener befindet, während er intuitiv einen Zustand jedes der Vielzahl von Robotersystemen erfasst.
-
Um das Problem der vorliegenden Offenbarung zu lösen, können verschiedene Aspekte und Auswirkungen, wie nachfolgend beschrieben, vorgesehen werden. Zahlen in Klammern in der Beschreibung der Aspekte entsprechen den jeweiligen Bezugszeichen der Zeichnungen der vorliegenden Offenbarung.
-
Ein erster Aspekt der vorliegenden Offenbarung ist beispielsweise eine Robotersimulationsvorrichtung, die umfasst: eine Bildanzeigeeinheit (101), die ein dreidimensionales Modell eines Robotersystems mit einem Roboter (30), einem Werkstück (W) und einem Peripheriegerät (11) als ein pseudo-dreidimensionales Objekt, das in einem dreidimensionalen Raum existiert, anzeigt; und eine Simulationsausführungseinheit (141), die einen Simulationsvorgang für das dreidimensionale Modell des von der Bildanzeigeeinheit (101) angezeigten Robotersystems ausführt.
-
Gemäß dem ersten Aspekt kann ein Bediener einen Simulationsvorgang ausführen, wobei er im Stande ist einen Zustand des Robotersystems intuitiv zu erfassen.
-
Ein zweiter Aspekt der vorliegenden Offenbarung ist die Robotersimulationsvorrichtung (90) des ersten Aspekts, wobei die Bildanzeigeeinheit (101) eine Erfassungseinheit (80) beinhaltet, die eine Position und eine Ausrichtung des Kopfes eines Bedieners erfasst, wobei die Bildanzeigeeinheit (101) die Position eines Blickwinkels zum Anzeigen des dreidimensionalen Modells gemäß der erfassten Position und Ausrichtung des Kopfes des Bedieners ändert. Ein dritter Aspekt der vorliegenden Offenbarung ist die Robotersimulationsvorrichtung (90A) des ersten Aspekts, wobei das pseudo-dreidimensionale Objekt des dreidimensionalen Modells des Robotersystems, das von der Bildanzeigeeinheit (101) angezeigt wird, ein stereoskopisches Bild ist, das unter Verwendung eines Hologramms wiedergegeben wird, das das dreidimensionale Modell des Robotersystems darstellt.
-
Ein vierter Aspekt der vorliegenden Offenbarung ist die Robotersimulationsvorrichtung (90) eines der ersten bis dritten Aspekte, die ferner umfasst: eine Netzwerkverbindungseinheit (102) zum Verbinden mit einer Robotersteuerung (50), um den Roboter (30) über ein Netzwerk (60) zu steuern; und eine Modellbetriebseinheit (103), die von der Robotersteuerung (50) Positions- und Ausrichtungsdaten über den Roboter im Betrieb erfasst, um das dreidimensionale Modell des von der Bildanzeigeeinheit (101) dargestellten Roboters unter Verwendung der erfassten Positions- und Ausrichtungsdaten zu bedienen.
-
Ein fünfter Aspekt der vorliegenden Offenbarung ist die Robotersimulationsvorrichtung (90) des vierten Aspekts, die ferner umfasst: eine Betriebsprogramm-Erfassungseinheit (111), die von der Robotersteuerung (50) ein Betriebsprogramm des Roboters erfasst; und eine Betriebsprogramm-Anzeigeeinheit (112), die auf der Grundlage einer dreidimensionalen Position eines in dem erfassten Betriebsprogramm enthaltenen Lernpunkts ein Bild anzeigt, das den Lernpunkt an einer Position zeigt, die der dreidimensionalen Position des Lernpunkts im dreidimensionalen Raum entspricht.
-
Ein sechster Aspekt der vorliegenden Offenbarung ist die Robotersimulationsvorrichtung (90) des fünften Aspekts, die ferner umfasst: eine Betriebsprogramm-Änderungseinheit (113), an der eine Betätigung zum Ändern des als Bild angezeigten Lernpunkts vorgenommen wird; und eine Betriebsprogramm-Berücksichtigungseinheit (114), die das Betriebsprogramm entsprechend einer Position des geänderten Lernpunkts aktualisiert und das aktualisierte Betriebsprogramm zusammen mit einem Ausführungsbefehl des aktualisierten Betriebsprogramms an die Robotersteuerung übermittelt.
-
Ein siebter Aspekt der vorliegenden Offenbarung ist die Robotersimulationsvorrichtung (90) eines der vierten bis sechsten Aspekte, die ferner umfasst: eine Einstellung-Erfassungseinheit, die von der Robotersteuerung Einstellinformationen über das Robotersystem erfasst; und eine Einstellung-Anzeigeeinheit, die die als Zeicheninformationen erfassten Einstellinformationen im dreidimensionalen Raum anzeigt.
-
Ein achter Aspekt der vorliegenden Offenbarung ist die Robotersimulationsvorrichtung (90) des siebten Aspekts, die ferner umfasst: eine Einstellung-Änderungseinheit (123), an der eine Betätigung zum Ändern der angezeigten Einstellinformationen vorgenommen wird; und eine Einstellung-Berücksichtigungseinheit (124), die die geänderten Einstellinformationen zusammen mit einem Änderungsbefehl der Einstellinformationen an die Robotersteuerung (50) übermittelt.
-
Ein neunter Aspekt der vorliegenden Offenbarung ist die Robotersimulationsvorrichtung (90) eines der vierten bis achten Aspekte, die ferner umfasst: eine Betriebszustand-Erfassungseinheit (131), die von der Robotersteuerung (50) Informationen über einen Betriebszustand des Robotersystems erfasst; und eine Betriebszustand-Anzeigeeinheit (132), die die erfassten Informationen über den Betriebszustand als Zeicheninformationen im dreidimensionalen Raum anzeigt.
-
Ein zehnter Aspekt der vorliegenden Offenbarung ist die Robotersimulationsvorrichtung (90B) des vierten Aspekts, die wie folgt ausgebildet ist: es gibt eine Vielzahl von Systemen, von denen jedes das Robotersystem und die Robotersteuerung (50a oder 50b) umfasst; die Netzwerkverbindungseinheit (102) ist über das Netzwerk (60) mit einer Mehrzahl der Robotersteuerungen (50a und 50b) verbunden; die Bildanzeigeeinheit (101) zeigt ein dreidimensionales Modell von jedem der Robotersysteme als das im dreidimensionalen Raum existierende pseudo-dreidimensionale Objekt an; die Simulationsausführungseinheit (141) führt den Simulationsvorgang für das dreidimensionale Modell jedes der Robotersysteme aus; und die Modellbetriebseinheit (103) erfasst von den Robotersteuerungen (50a und 50b) Positions- und Ausrichtungsdaten des in Betrieb befindlichen Roboters, der mit jeder der Robotersteuerungen verbunden ist, und bedient das dreidimensionale Modell jedes der Roboter unter Verwendung der erfassten Positions- und Ausrichtungsdaten.
-
Ein elfter Aspekt der vorliegenden Offenbarung ist die Robotersimulationsvorrichtung (90) eines der ersten bis zehnten Aspekte, die ferner eine Modellmaßstab-Änderungseinheit (133) beinhaltet, die einen Maßstab einer Darstellung des dreidimensionalen Modells des Robotersystems ändert.