-
Hintergrund der Erfindung
-
1. Bereich der Erfindung
-
Bei der vorliegenden Erfindung handelt es sich um ein Robotersystem, das mit einem Videoanzeigegerät ausgestattet ist, das unter Verwendung einer Technik, die erweiterte Realität einsetzt, ein Bild eines virtuellen Objekts überlagernd auf einem Videobild eines Roboters anzeigt.
-
2. Erläuterung der relevanten Technik
-
Bei Industrierobotersystemen, die in Produktionsstätten eingesetzt werden, ist am vorderen Ende des Roboterarms ein Endeffektor wie eine Roboterhand, ein Bearbeitungswerkzeug usw. angebracht. Außerdem ist im Umfeld des Roboters eine Roboter-Peripherievorrichtung wie ein Förderband, ein Schienentransportwagen usw. angeordnet.
-
Aber es kann sein, dass in dem Stadium, in dem die Instruktion des Roboters mit Arbeitsbewegungen erfolgen soll, der erwähnte Endeffektor oder die erwähnte Roboter-Peripherievorrichtung noch nicht bereitgestellt werden können. In diesem Fall kann der Arbeiter die Roboter-Instruktion nicht durchführen, bevor der Endeffektor oder die Roboter-Peripherievorrichtung bereitgestellt werden. Deswegen gibt es Bedarf dafür, dass die Roboter-Instruktion unter dem Eindruck, dass der Endeffektor oder die Roboter-Peripherievorrichtung vorhanden sind, auch dann durchgeführt werden kann, wenn diese nicht bereitgestellt werden.
-
Als Technik, mit der sich die geschilderte Aufgabe lösen lässt, ist eine Technik denkbar, die erweiterte Realität einsetzt und ein virtuelles Videobild überlagernd auf einem Echtzeit-Videobild anzeigt. Im Übrigen sind in den letzten Jahren Vorrichtungen vorgestellt worden, die eine solche mit dem Einsatz von erweiterter Realität verbundene Technik nutzen, um die Bedienbarkeit der Roboter-Instruktion zu verbessern.
-
Z. B. stellt die Veröffentlichung der Patentoffenlegung 4850984 eine Technik vor, mit der der Bewegungsraum eines Roboters, der sich nach einem Bewegungsplan bewegt, mit dem Einsatz von erweiterter Realität auf dem Videobild des realen Roboters durch Überlagerung dargestellt wird. Außerdem stellt die Veröffentlichung der Patentoffenlegung 2014-180707 eine Technik vor, mit der die Bewegungsspur eines Roboters, der sich einem Bewegungsprogramm folgend bewegt, mit Hilfe des Einsatzes von erweiterter Realität auf dem Videobild des realen Roboters durch Überlagerung dargestellt wird.
-
Aber weder die Veröffentlichung der Patentoffenlegung 4850984 und noch die Veröffentlichung der Patentoffenlegung 2014-180707 schlagen vor, mit einer Technik, die erweiterte Realität einsetzt, das Videobild des oben erwähnten Endeffektors oder der oben erwähnten Roboter-Peripherievorrichtung überlagernd auf dem Bild des realen Roboters anzuzeigen.
-
Überblick über die Erfindung
-
Die vorliegende Erfindung stellt ein Robotersystem zur Verfügung, bei dem die Roboter-Instruktion auch ohne Endeffektor oder Roboter-Peripherievorrichtung unter dem Eindruck, dass diese vorhanden sind, durchgeführt werden kann.
-
In einer ersten Ausprägung der vorliegenden Erfindung wird ein Robotersystem zur Verfügung gestellt, das mit einer Steuerung, die einen Roboter steuert, und einem Videoanzeigegerät, das mit der Steuerung verbunden ist, versehen ist, wobei das Videoanzeigegerät mit einem Anzeigeteil, der ein von einer Kamera aufgenommenes Videobild eines realen Raums einschließlich eines Roboters in Echtzeit zeigt, und einem Bildverarbeitungsteil für erweiterte Realität, der ein virtuelles Videobild von einem Endeffektor oder einer Roboter-Peripherievorrichtung des Roboters überlagernd auf dem von der Kamera aufgenommenen realen Videobild des Roboters darstellt, ausgestattet ist.
-
In einer zweiten Ausprägung der vorliegenden Erfindung wird ein Robotersystem zur Verfügung gestellt, das wie in der genannten ersten Ausprägung aufgebaut ist und bei dem das Videoanzeigegerät mit einem Bildgenerierungsteil für virtuelle Objekte ausgestattet ist, der das virtuelle Videobild des Endeffektors oder der Roboter-Peripherievorrichtung, mit dem das von der Kamera aufgenommene reale Bild des Roboters überlagert wird, in Entsprechung zu der relativen Position und dem relativen Winkel des Roboters zur Kamera erzeugt.
-
In einer dritten Ausprägung der vorliegenden Erfindung wird ein Robotersystem zur Verfügung gestellt, das wie in der genannten ersten oder zweiten Ausprägung aufgebaut ist und bei dem der Bildverarbeitungsteil für erweiterte Realität das virtuelle Videobild des Endeffektors oder der Roboter-Peripherievorrichtung abhängig von Positions- und Stellungsdaten des von der Steuerung gesteuerten Roboters bzw. von aus der Steuerung kommenden Pseudo-Signalen verschiebt, während es im Anzeigeteil angezeigt wird.
-
In einer vierten Ausprägung der vorliegenden Erfindung wird ein Robotersystem zur Verfügung gestellt, das wie in einer der genannten ersten drei Ausprägungen aufgebaut ist und bei dem die Steuerung mit einer Instruktions-Bedienkonsole ausgestattet ist, mit der die Bedienung für die Roboter-Instruktion erfolgt.
-
In einer fünften Ausprägung der vorliegenden Erfindung wird ein Robotersystem zur Verfügung gestellt, das wie in einer der genannten ersten vier Ausprägungen aufgebaut ist und bei dem das Videoanzeigegerät ein mit einer Kamera ausgestattetes Head-Mounted-Display ist.
-
Vereinfachte Erläuterung der Figuren
-
Diese und sonstige Ziele, Eigenschaften und Vorteile der vorliegenden Erfindung werden durch die ausführliche Erläuterung von typischen Ausführungsformen der vorliegenden Erfindung, die in den beigefügten Figuren dargestellt werden, weiter verdeutlicht.
-
1 zeigt ein Blockdiagramm des Robotersystems einer Ausführungsform der vorliegenden Erfindung.
-
2 zeigt ein Flussdiagramm für den Verarbeitungsfluss, um ein Bild eines virtuellen Objekts überlagernd auf einem Bild eines realen Roboters anzuzeigen.
-
3 zeigt in einer schematischen Darstellung, wie die Verarbeitung in einem ersten Ausführungsbeispiel erfolgt.
-
4 zeigt eine schematische Darstellung des Bildes, das im Anzeigeteil eines Augmented-Reality-Display angezeigt wird, wenn der Roboter bewegt wird.
-
5 zeigt in einer schematischen Darstellung, wie die Verarbeitung in einem zweiten Ausführungsbeispiel erfolgt.
-
Ausführliche Erläuterung
-
Als Nächstes werden Ausführungsformen der vorliegenden Erfindung anhand der Figuren erläutert. In den hinzugezogenen Figuren sind gleiche Komponenten oder Funktionsteile mit gleichen Zeichen versehen. Das bedeutet, dass Komponenten, die in unterschiedlichen Figuren mit dem gleichen Zeichen versehen sind, die gleiche Funktion besitzen. Zum besseren Verständnis werden in den Figuren unterschiedliche Maßstäbe verwendet.
-
1 zeigt ein Blockdiagramm für das Robotersystem einer Ausführungsform der vorliegenden Erfindung. Wie 1 zeigt, ist das Robotersystem 10 der vorliegenden Ausführungsform mit einem Roboter 11, einer Robotersteuerung 12, die den Roboter 11 steuert, einem mit der Robotersteuerung 12 verbundenen Videoanzeigegerät in Form eines Augmented-Reality-Display 13 und einer mit der Robotersteuerung 12 verbundenen Instruktions-Bedienkonsole 14, über das die Bedienung bei der Instruktion des Roboter 11 erfolgt, ausgestattet.
-
Der Roboter 11 ist z. B. ein vertikaler Mehrgelenk-Manipulator. An jeder Gelenkachse des Roboters 11 ist ein (in den Figuren nicht gezeigter) Servomotor angebracht. Außerdem sind im Roboter 11 Stellungssensoren 15, die die Achsstellung (Drehwinkel) des jeweiligen Servomotors nachweist, wie z. B. Impulsgeber angebracht.
-
Am vorderen Ende des Arms des Roboters 11 befindet sich ein (in den Figuren nicht gezeigter) Flansch für die Anbringung eines abnehmbaren Endeffektors wie einer Roboterhand oder eines Bearbeitungswerkzeugs.
-
Eine Funktion der Robotersteuerung 12 ist es, gemäß einem Bewegungsprogramm Steuersignale zu erzeugen und den Roboter 11 zu treiben. Im Übrigen empfängt die Robotersteuerung 12 zusammen mit der Ausgabe von Steuersignalen an den Roboter 11 Signale von dem Augmented-Reality-Display 13 und der Instruktions-Bedienkonsole 14.
-
Außerdem besitzt die Robotersteuerung 12 einen Programmhalteteil 16, in dem ein Bewegungsprogramm für den Roboter 11 gehalten wird, und einen Positions- und Stellungsdaten-Generierungsteil 17, der Daten zur Position und Stellung des Roboters 11 erzeugt.
-
Die Instruktions-Bedienkonsole 14 gibt das Bewegungsprogramm für den Roboter 11 in den Programmhalteteil 16 ein. Außerdem kann die Instruktions-Bedienkonsole 14 das Bewegungsprogramm im Programmhalteteil 16 überschreiben.
-
Die Robotersteuerung 12 gibt gemäß dem Bewegungsprogramm im Programmhalteteil 16 Stellanweisungen an die Servomotoren aus und steuert die Servomotoren so, dass die von den Stellungssensoren 15 nachgewiesenen Stellungen der Servomotoren in Übereinstimmung mit den Stellanweisungen sind. Als Folge bewegt sich der Roboter 11 wie vom Bewegungsprogramm im Programmhalteteil 16 vorgegeben.
-
Der Positions- und Stellungsdaten-Generierungsteil 17 erzeugt auf Basis der von den Stellungssensoren 15 ausgegebenen Signale zur Stellung der Servomotoren die Daten zur Position- und Stellung des Roboters 11 und gibt sie an das Augmented-Reality-Display 13 aus.
-
Bei der Durchführung der Instruktion des Roboters bedient der Arbeiter den Roboter 11 über die Instruktions-Bedienkonsole 14, während er sich visuell mit dem Augmented-Reality-Display 13 orientiert. Dabei erhält der Roboter 11 von der Instruktions-Bedienkonsole 14 über die Robotersteuerung 12 die Anweisungen für die gewünschten Arbeitsbewegungen. Die gewünschten Arbeitsbewegungen werden dadurch im Programmhalteteil 16 der Robotersteuerung 12 protokolliert.
-
Es kann vorkommen, dass der Endeffektor, der z. B. in Form einer Roboterhand oder eines Bearbeitungswerkzeugs am vorderen Ende des Arms des Roboters 11 angebracht werden soll, nicht für die oben beschriebene Roboter-Instruktion bereitgestellt werden kann. Weiter kann es vorkommen, dass eine Roboter-Peripherievorrichtung zum Transport von Werkstücken wie ein Förderband, ein Schienentransportwagen, usw. nicht im Umfeld des Roboters 11 angeordnet werden kann. Das Robotersystem 10 der vorliegenden Ausführungsform ist so aufgebaut, dass der Endeffektor oder die Roboter-Peripherievorrichtung auch in einem solchen Fall als virtuelles Bild auf dem Augmented-Reality-Display 13 angezeigt werden können.
-
Genauer ist das Augmented-Reality-Display 13 wie in 1 gezeigt mit einer Kamera 18, die zur Aufnahme des realen Raums einschließlich des Roboters 11 verwendet wird, einem Anzeigeteil 19, der das von der Kamera 18 aufgenommene Bild des realen Raums einschließlich des Roboters 11 in Echtzeit wiedergibt, und einem Rechner 20 ausgestattet.
-
Das Augmented-Reality-Display 13 kann z. B. ein Head-Mounted-Display sein (siehe 3 und 5). In diesem Fall sollten die Bildflächen des Anzeigeteils 19 etwa so groß wie Brillengläser und passend zu den beiden Augen des Menschen angeordnet sein. Im Übrigen ist das Augmented-Reality-Display 13 nicht auf ein Head-Mounted-Display beschränkt; es kommt alles in Frage, was es dem Arbeiter ermöglicht, das von der Kamera 18 erzeugte Bild visuell zu erfassen, während er die Instruktions-Bedienkonsole 14 hält.
-
Der Rechner 20 des Augmented-Reality-Display 13 ist wie in 1 gezeigt mit einem Schätzteil 21 für die Position und Stellung der Kamera, einem Datenhalteteil 22 für virtuelle Objekte, einem Bildgenerierungsteil 23 für virtuelle Objekte und einem Bildverarbeitungsteil 24 für erweiterte Realität ausgestattet. Dabei können der Datenhalteteil 22 für virtuelle Objekte und der Bildgenerierungsteil 23 für virtuelle Objekte in der Robotersteuerung 12 eingebaut sein.
-
Der Schätzteil 21 für die Position und Stellung der Kamera schätzt die Position und den Winkel (die Stellung) der Kamera 18, die den Roboter 11 aufnimmt, relativ zum Roboter 11.
-
Der Datenhalteteil 22 für virtuelle Objekte hält die Daten von virtuellen Objekten, die nicht in dem realen Raum vorhanden sind, in dem der Roboter 11 installiert ist. Die Daten der virtuellen Objekte werden von der Instruktions-Bedienkonsole 14 in den Datenhalteteil 22 für virtuelle Objekte eingegeben. Bei den beschriebenen Daten der virtuellen Objekte handelt es sich um Daten für die dreidimensionale Form und den Installationsort des oben beschriebenen Endeffektors, der Roboter-Peripherievorrichtung usw.
-
Der Datenhalteteil 22 für virtuelle Objekte gibt die beschriebenen Daten eines virtuellen Objekts in den Bildgenerierungsteil 23 für virtuelle Objekte ein. Dazu erhält der Bildgenerierungsteil 23 für virtuelle Objekte von dem Schätzteil 21 für die Position und Stellung der Kamera die Daten der Position und des Winkels (der Stellung), die der Roboter 11 und die Kamera 18 zueinander einnehmen.
-
Der Bildgenerierungsteil 23 für virtuelle Objekte erzeugt dann auf Basis der Daten des virtuellen Objekts und der Daten der Position und des Winkels, die der Roboter 11 und die Kamera 18 zueinander einnehmen, ein Bild des virtuellen Objekts, das dem von der Kamera 18 aufgenommenen realen Bild des Roboters 11 angepasst ist. Dabei wird das Bild des virtuellen Objekts, wenn sich der Winkel und die Position von Roboter 11 und Kamera 18 zueinander ändern, so geändert, dass es an das reale Bild des Roboters 11 angepasst bleibt.
-
In den Bildverarbeitungsteil 24 für erweiterte Realität wird die Bildinformation des virtuellen Objekts, die vom Bildgenerierungsteil 23 für virtuelle Objekte erzeugt wird, eingegeben. Weiter werden die Positions- und Stellungsdaten während der Bewegung des Roboters 11 von dem Positions- und Stellungsdaten-Generierungsteil 17 der Robotersteuerung 12 über den Rechner 20 in den Bildverarbeitungsteil 24 für erweiterte Realität eingegeben. Außerdem werden die Daten des von der Kamera 18 aufgenommenen realen Bildes des Roboters 11 in den Bildverarbeitungsteil 24 für erweiterte Realität eingegeben.
-
Der Bildverarbeitungsteil 24 für erweiterte Realität lässt damit das von dem Bildgenerierungsteil 23 für virtuelle Objekte erzeugte, den Positions- und Stellungsdaten des Roboters 11 gemäße Bild des virtuellen Objekts im Anzeigeteil 19 überlagernd auf dem realen Bild des Roboters 11 anzeigen. Wenn sich der Roboter 11 in Bewegung befindet, sollten die Daten des virtuellen Objekts, mit denen das reale Bild des Roboters 11 überlagert werden soll, in festgelegten Zeitabständen gemäß den Positions- und Stellungsdaten des sich bewegenden Roboters 11 aktualisiert werden.
-
2 zeigt ein Flussdiagramm für den Verarbeitungsfluss, um das Bild eines virtuellen Objekts wie des oben beschriebenen Endeffektors, der oben beschriebenen Roboter-Peripherievorrichtung usw. überlagernd auf dem realen Bild des Roboters 11 anzuzeigen.
-
Wie 2 zeigt, prüft das Augmented-Reality-Display 13 zunächst, ob das reale Bild des Roboters 11 durch die Kamera 18 geladen worden ist (Schritt S11).
-
Wenn sich ergibt, dass das reale Bild des Roboters 11 geladen worden ist, schätzt der Schätzteil 21 für die Position und Stellung der Kamera des Augmented-Reality-Display 13 die Position und den Winkel, die der Roboter 11 und die Kamera 18 zueinander einnehmen (Schritt S12). Nach dem obigen Schritt S12 gibt die Robotersteuerung 12 die Positions- und Stellungsdaten des Roboters 11 aus dem Positions- und Stellungsdaten-Generierungsteil 17 an das Augmented-Reality-Display 13 aus (Schritt S13).
-
Anschließend lässt das Augmented-Reality-Display 13 das Bild des virtuellen Objekts wie des Endeffektors, der Roboter-Peripherievorrichtung usw. überlagernd auf dem von der Kamera 18 aufgenommenen realen Bild des Roboters 11 im Anzeigeteil 19 anzeigen (Schritt S14). Dabei wird das Bild des virtuellen Objekts wie oben beschrieben in Entsprechung zu der Position und dem Winkel, die der Roboter 11 und die Kamera 18 zueinander einnehmen, erzeugt und gemäß den Positions- und Stellungsdaten des Roboters 11 über das reale Bild des Roboters 11 gelagert.
-
Weiter prüft das Augmented-Reality-Display 13, ob das beschriebene überlagernde Bild, d. h. das auf dem realen Bild des Roboters 11 durch Überlagerung angezeigte Bild des virtuellen Objekts, bewegt werden muss (Schritt S15).
-
Wenn sich die Positions- und Stellungsdaten des Roboters 11, die der Positions- und Stellungsdaten-Generierungsteil 17 an das Augmented-Reality-Display 13 ausgibt, geändert haben, ist das Ergebnis des Augmented-Reality-Display 13 im obigen Schritt S15 ”YES”.
-
Wenn das Ergebnis im obigen Schritt S15 ”YES” ist, veranlasst das Augmented-Reality-Display 13, dass sich das oben beschriebene überlagernd angezeigte Bild bewegt (Schritt S16). Das kann in diesem Fall so erfolgen, dass die Daten des überlagernd angezeigten Bildes entsprechend zu den Positions- und Stellungsdaten des sich bewegenden Roboters 11 in festgelegten Zeitabständen aktualisiert werden.
-
Im Folgenden wird als konkretes Beispiel (im Folgenden erstes Ausführungsbeispiel genannt) der Fall vorgeführt, dass das virtuelle Bild eines Endeffektors auf dem Bild des realen Roboters 11 durch Überlagerung angezeigt wird.
-
(Erstes Ausführungsbeispiel)
-
3 zeigt in einer schematischen Darstellung, wie die Verarbeitung im ersten Ausführungsbeispiel erfolgt.
-
Bei der Durchführung der Roboter-Instruktion trägt der Arbeiter wie in 3 gezeigt das Augmented-Reality-Display 13 und sieht darin den an einer bestimmten Stelle installierten Roboter 11. Dabei ist am vorderen Ende des Arms des Roboters 11 kein Endeffektor wie eine Roboterhand, ein Bearbeitungswerkzeug usw. angebracht. Außerdem ist im Umfeld des Roboters 11 auch keine Roboter-Peripherievorrichtung für den Werkstücktransport wie ein Förderband, ein Schienentransportwagen usw. angeordnet.
-
In diesem realen Umfeld lädt das Augmented-Reality-Display 13 ein von der Kamera 18 aufgenommenes Bild des realen Umfelds einschließlich des Roboters 11 (Pfeil A in 3).
-
Anschließend beurteilt der Schätzteil 21 für die Position und Stellung der Kamera des Augmented-Reality-Display 13 die Position und den Winkel, die der Roboter 11 und die Kamera 18 zueinander einnehmen. Der Grund dafür ist, dass bei der Anzeige der Überlagerung des realen Bildes R1 des realen Roboters 11 mit dem virtuellen Bild des Endeffektors das Bild R2 des virtuellen Endeffektors mit der passenden Richtung und Position angezeigt werden muss.
-
Im ersten Ausführungsbeispiel werden die Position und der Winkel, die der Roboter 11 und die Kamera 18 wie oben beschrieben zueinander einnehmen, mit der folgenden Methode geschätzt.
-
Der Roboter 11 wird in Ruhestellung mit der Kamera 18 aus mehreren Blickwinkeln im Voraus aufgenommen und dann werden im Schätzteil 21 für die Position und Stellung der Kamera im Voraus mehrere Bildmodelle des Roboters 11 hinterlegt. Dabei werden im Voraus die relative Position und der relative Winkel des Roboters 11 zur Kamera 18 zu jedem aufgenommenen Bildmodell des Roboters 11 protokolliert.
-
Wenn danach das reale Bild R1 des realen Roboters 11 von dem Augmented-Reality-Display 13 wie oben beschrieben geladen wird, wird geprüft, welches der im Voraus hinterlegten mehreren Bildmodelle M1, M2, ... Mn des Roboters 11 dem geladenen realen Bild R1 des Roboters 11 am nächsten kommt (Pfeil B in 3). Der Schätzteil 21 für die Position und Stellung der Kamera nimmt dann an, dass die relative Position und der relative Winkel des Roboters 11 zur Kamera 18, die dem am nächsten kommenden Bildmodell entsprechen, die Position und der Winkel sind, die der Roboter 11 und die Kamera 18 bei der aktuellen Aufnahme der Kamera 18 zueinander einnehmen.
-
Anschließend teilt der Schätzteil 21 für die Position und Stellung der Kamera der Robotersteuerung 12 mit, was er als relative Positionen und relativen Winkel des Roboters 11 zur Kamera 18 geschätzt hat (Pfeil C in 3).
-
Daraufhin sendet der Positions- und Stellungsdaten-Generierungsteil 17 der Robotersteuerung 12 die Daten der aktuellen Position und Stellung des Roboters 11 an das Augmented-Reality-Display 13 (Pfeil D in 3).
-
Anschließend generiert der Bildgenerierungsteil 23 für virtuelle Objekte im Augmented-Reality-Display 13 ein Bild R2 des virtuellen Endeffektors, das dem gerade von der Kamera 18 aufgenommenen realen Bild R1 des Roboters 11 angepasst ist. Dabei wird das Bild R2 des virtuellen Endeffektors auf Basis der im Datenhalteteil 22 für virtuelle Objekte abgelegten und gehaltenen Daten für die dreidimensionale Form usw. des Endeffektors und gemäß der Position und dem Winkel, die der Roboter 11 und die Kamera 18 nach der oben beschriebenen Schätzung zueinander einnehmen, erzeugt. D. h. in dem generierten Bild R2 des virtuellen Endeffektors passen Richtung, Position und Größe zum vorderen Ende des Arms in dem von der Kamera 18 aufgenommenen realen Bild R1 des Roboters 11.
-
Der Bildverarbeitungsteil 24 für erweiterte Realität im Augmented-Reality-Display 13 fügt das vom Bildgenerierungsteil 23 für virtuelle Objekte generierte Bild R2 des virtuellen Endeffektors an das vordere Ende des Arms in dem von der Kamera 18 aufgenommenen realen Bild R1 des Roboters 11 an und lässt das Ergebnis im Anzeigeteil 19 anzeigen (Pfeil E in 3). Dabei wird die Position des vorderen Endes des Arms im realen Bild R1 des Roboters 11 mit Hilfe der Positions- und Stellungsdaten des Roboters 11, die von der Robotersteuerung 12 gesendet worden sind, und der relativen Position und des relativen Winkels des Roboters 11 zur Kamera 18 identifiziert.
-
4 zeigt eine schematische Darstellung des Bildes, das im Augmented-Reality-Display 13 angezeigt wird, wenn der Roboter 11 bewegt wird.
-
Bei der Durchführung der Roboter-Instruktion verwendet der Arbeiter die Instruktions-Bedienkonsole 14, um den Roboter 11 zu treiben. Dadurch ändern sich die Position und Stellung des Roboters 11, wodurch sich das reale Bild R1 des Roboters 11 im Anzeigeteil 19 wie in 4 gezeigt ändert. Der Bildverarbeitungsteil 24 für erweiterte Realität aktualisiert die Daten des Bildes R2 des virtuellen Endeffektors, das im realen Bild R1 des Roboters 11 nahe dem vorderen Ende des Arms anzuzeigen ist, gemäß den sich ändernden Daten der Position und Stellung des Roboters 11. Dabei sollte der Bildgenerierungsteil 23 für virtuelle Objekte das Bild R2 des virtuellen Endeffektors in Echtzeit entsprechend zur Veränderung des realen Bilds R1 des Roboters 11 generieren. Auf die beschriebene Weise bewegt sich das Bild R2 des virtuellen Endeffektors, das im realen Bild R1 des Roboters 11 nahe dem vorderen Ende des Arms angezeigt wird, (der mit einer gestrichelten Linie umschlossene Bildteil 25 in 4) zusammen mit der Veränderung des realen Bildes R1 des Roboters 11.
-
Gemäß dem oben erläuterten ersten Ausführungsbeispiel entsteht durch das Augmented-Reality-Display 13 auch dann, wenn am vorderen Ende des Arms des Roboters 11 kein Endeffektor angebracht ist, der Eindruck, dass der Endeffektor vorhanden ist, so dass die Roboter-Instruktion durchgeführt werden kann. Da ferner als Augmented-Reality-Display 13 ein Head-Mounted-Display verwendet wird, kann der Arbeiter die Instruktions-Bedienkonsole 14 bedienen, während er visuell das im Anzeigenteil 19 angezeigte Videobild der Kamera 18 erfasst.
-
Als Nächstes wird als konkretes Beispiel (im Folgenden zweites Ausführungsbeispiel genannt) der Fall vorgeführt, dass das Bild einer virtuellen Roboter-Peripherievorrichtung auf dem Bild des realen Roboters 11 durch Überlagerung angezeigt wird.
-
(Zweites Ausführungsbeispiel)
-
5 zeigt in einer schematischen Darstellung, wie die Verarbeitung im zweiten Ausführungsbeispiel erfolgt.
-
Bei der Durchführung der Roboter-Instruktion trägt der Arbeiter wie in 5 gezeigt das Augmented-Reality-Display 13 und sieht darin den an einer bestimmten Stelle installierten Roboter 11. Dabei ist am vorderen Ende des Arms des Roboters 11 kein Endeffektor wie eine Roboterhand, ein Bearbeitungswerkzeug usw. angebracht. Außerdem ist im Umfeld des Roboters 11 ist auch keine Roboter-Peripherievorrichtung für den Werkstücktransport wie ein Förderband, ein Schienentransportwagen usw. angeordnet.
-
In diesem realen Umfeld lädt das Augmented-Reality-Display 13 ein von der Kamera 18 aufgenommenes Bild des realen Umfelds einschließlich des Roboters 11 (Pfeil F in 5). Dabei ist im Fall des zweiten Ausführungsbeispiels auf der Oberfläche des Roboters 11 mindestens eine Markierung 26 angebracht. Die Markierung 26 sollte eine bestimmte Form oder ein bestimmtes Muster haben und im von der Kamera 18 aufgenommenen Bild erkennbar sein.
-
Anschließend schätzt der Schätzteil 21 für die Position und Stellung der Kamera des Augmented-Reality-Display 13 die Position und den Winkel, die der Roboter 11 und die Kamera 18 zueinander einnehmen. Der Grund dafür ist der gleiche wie der oben beim ersten Ausführungsbeispiel erläuterte.
-
Im zweiten Ausführungsbeispiel werden die Position und der Winkel, die der Roboter 11 und die Kamera 18 wie oben beschrieben zueinander einnehmen, mit der folgenden Methode geschätzt.
-
Die im Vorfeld in einer Mehrzahl auf der Oberfläche des im realen Raum installierten Roboters 11 angebrachten Markierungen 26 werden mit der Kamera 18 aufgenommen. Die jeweilige Position einer Markierung 26 im realen Raum ist bekannt. Deswegen können die Position und die Stellung (der Winkel) der Kamera 18 im Koordinatensystem des realen Raums aus den auf die Bildkoordinaten der Kamera 18 projizierten Positionen der Markierungen 26 zurück berechnet werden. Mit einer solchen Rechnung schätzt der Schätzteil 21 für die Position und Stellung der Kamera die relative Position und den relativen Winkel des Roboters 11 zur Kamera 18. Außerdem sollte ein Bildmodell der gewünschten Roboter-Peripherievorrichtung in Beziehung zu den Positionen der Markierungen 26 gesetzt werden. Auf diese Weise können die Daten des Bildmodells der gewünschten Roboter-Peripherievorrichtung in einer gewünschten Position durch Überlagerung auf dem realen Bild des Roboters 11 entsprechend der Position und der Stellung (dem Winkel) der Kamera 18 im Koordinatensystem des realen Raums angezeigt werden.
-
Anschließend teilt der Schätzteil 21 für die Position und Stellung der Kamera der Robotersteuerung 12 die relative Position und den relativen Winkel des Roboters 11 zur Kamera 18 mit (Pfeil G in 5). Im Übrigen wird bei der zweiten Ausführungsform angenommen, dass anders als in der Darstellung von 1 der Datenhalteteil 22 für virtuelle Objekte und der Bildgenerierungsteil 23 für virtuelle Objekte in der Robotersteuerung 12 eingebaut sind.
-
Der in der Robotersteuerung eingebaute Bildgenerierungsteil 23 für virtuelle Objekte generiert das Bild R3 der virtuellen Roboter-Peripherievorrichtung, das dem gerade von der Kamera 18 aufgenommenen realen Bild R1 des Roboters 11 angefügt werden soll; die Roboter-Peripherievorrichtung kann z. B. ein Förderband sein. Dabei wird das Bild R3 der virtuellen Roboter-Peripherievorrichtung auf Basis der im Datenhalteteil 22 für virtuelle Objekte abgelegten und gehaltenen Daten für die dreidimensionale Form usw. der Roboter-Peripherievorrichtung und gemäß der Position und dem Winkel, die der Roboter 11 und die Kamera 18 nach der oben beschriebenen Rechnung zueinander einnehmen, erzeugt. D. h. in dem generierten Bild R3 der virtuellen Roboter-Peripherievorrichtung passen Richtung, Position und Größe zu dem von der Kamera 18 aufgenommenen realen Bild R1 des Roboters 11.
-
Anschließend sendet die Robotersteuerung 12 das im Bildgenerierungsteil 23 für virtuelle Objekte generierte Bild R3 der virtuellen Roboter-Peripherievorrichtung an den Bildverarbeitungsteil 24 für erweiterte Realität im Augmented-Reality-Display 13 (Pfeil H in 5).
-
Der Bildverarbeitungsteil 24 für erweiterte Realität lässt dann das von dem Bildgenerierungsteil 23 für virtuelle Objekte generierte Bild R3 der virtuellen Roboter-Peripherievorrichtung im Anzeigeteil 19 überlagernd auf dem von der Kamera 18 aufgenommenen realen Bild R1 des Roboters 11 anzeigen (Pfeil I in 5). Dabei wird die Position, in der das Bild R3 der virtuellen Roboter-Peripherievorrichtung bei der Überlagerung angezeigt werden soll, mit Hilfe der auf die Bildkoordinaten der Kamera 18 projizierten Positionen der Markierungen 26 und der relativen Position und des relativen Winkels des Roboters 11 zur Kamera 18 identifiziert.
-
Im Übrigen sollte die folgende Methode verwendet werden, um das auf dem realen Bild des Roboters 11 durch Überlagerung angezeigte Bild R3 der virtuellen Roboter-Peripherievorrichtung, die z. B. ein Förderband ist, zu bewegen. Zunächst werden im Vorfeld gemäß dem Bild R3 des virtuellen Förderbands mehrere Bewegungsbilder des Stück für Stück verschobenen beweglichen Bandteils des virtuellen Förderbands erstellt und im Datenhalteteil 22 für virtuelle Objekte hinterlegt. Die Robotersteuerung 12 wird so ausgelegt, dass sie zu einem gewünschten Zeitpunkt ein Pseudo-Signal für die Steuerung des virtuellen Förderbands an das Augmented-Reality-Display 13 ausgeben kann. Auf die Eingabe eines Pseudo-Signals von der Robotersteuerung 12 hin zeigt das Augmented-Reality-Display 13 in bestimmten Zeitabständen die oben beschriebenen Bewegungsbilder des beweglichen Bandteils mit einer passenden Richtung, Position und Größe überlagernd auf dem realen Bild des Roboters 11 an.
-
Gemäß dem oben erläuterten zweiten Ausführungsbeispiel entsteht durch das Augmented-Reality-Display 13 auch dann, wenn im Umfeld des Roboters keine Roboter-Peripherievorrichtung wie ein Förderband usw. angebracht ist, der Eindruck, dass die Roboter-Peripherievorrichtung vorhanden ist, so dass die Roboter-Instruktion durchgeführt werden kann. Da ferner als Augmented-Reality-Display 13 ein Head-Mounted-Display verwendet wird, kann der Arbeiter die Instruktions-Bedienkonsole 14 bedienen, während er visuell das im Anzeigenteil 19 angezeigte Videobild der Kamera 18 erfasst.
-
In der obigen Beschreibung wurde die vorliegende Erfindung anhand typischer Ausführungsbeispiele erläutert, aber ein Fachmann wird wohl verstehen, dass die oben beschriebenen Ausführungsbeispiele abgeändert werden können oder verschiedene sonstige Änderungen, Weglassungen oder Hinzufügungen vorgenommen werden können, ohne dass der Bereich der vorliegenden Erfindung verlassen wird. In geeigneter Weise vorgenommene Kombinationen der oben beschriebenen Ausführungsbeispiele gehören zum Bereich der vorliegenden Erfindung.
-
Wirkung der Erfindung
-
Mit der ersten, zweiten, dritten und vierten Ausprägung der vorliegenden Erfindung kann die Roboter-Instruktion auch dann durchgeführt werden, wenn kein Endeffektor oder keine Roboter-Peripherievorrichtung für den Roboter bereitgestellt sind, indem mit Hilfe einer Bildanzeigevorrichtung der Eindruck hervorgebracht wird, dass der Endeffektor oder die Roboter-Peripherievorrichtung vorhanden sind.
-
Mit der fünften Ausprägung der vorliegenden Erfindung kann der Arbeiter die Instruktions-Bedienkonsole bedienen, während er visuell das im Anzeigeteil angezeigte Videobild der Kamera erfasst.