DE102019006800B4 - Robotersteuerung und Anzeigevorrichtung unter Verwendung von erweiterter Realität und gemischter Realität - Google Patents

Robotersteuerung und Anzeigevorrichtung unter Verwendung von erweiterter Realität und gemischter Realität Download PDF

Info

Publication number
DE102019006800B4
DE102019006800B4 DE102019006800.9A DE102019006800A DE102019006800B4 DE 102019006800 B4 DE102019006800 B4 DE 102019006800B4 DE 102019006800 A DE102019006800 A DE 102019006800A DE 102019006800 B4 DE102019006800 B4 DE 102019006800B4
Authority
DE
Germany
Prior art keywords
robot
orientation
display device
display
section
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
DE102019006800.9A
Other languages
English (en)
Other versions
DE102019006800A1 (de
Inventor
Nobuhiro Yoshida
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fanuc Corp
Original Assignee
Fanuc Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fanuc Corp filed Critical Fanuc Corp
Publication of DE102019006800A1 publication Critical patent/DE102019006800A1/de
Application granted granted Critical
Publication of DE102019006800B4 publication Critical patent/DE102019006800B4/de
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/006Mixed reality
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/0081Programme-controlled manipulators with master teach-in means
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1602Programme controls characterised by the control system, structure, architecture
    • B25J9/161Hardware, e.g. neural networks, fuzzy logic, interfaces, processor
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J15/00Gripping heads and other end effectors
    • B25J15/08Gripping heads and other end effectors having finger members
    • B25J15/10Gripping heads and other end effectors having finger members with three or more finger members
    • B25J15/103Gripping heads and other end effectors having finger members with three or more finger members for gripping the object in three contact points
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J19/00Accessories fitted to manipulators, e.g. for monitoring, for viewing; Safety devices combined with or specially adapted for use in connection with manipulators
    • B25J19/02Sensing devices
    • B25J19/021Optical sensing devices
    • B25J19/023Optical sensing devices including video camera means
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1602Programme controls characterised by the control system, structure, architecture
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators
    • B25J9/1664Programme controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators
    • B25J9/1671Programme controls characterised by programming, planning systems for manipulators characterised by simulation, either to verify existing program or to create and verify new program, CAD/CAM oriented, graphic oriented programming systems
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1674Programme controls characterised by safety, monitoring, diagnostic
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1694Programme controls characterised by use of sensors other than normal servo-feedback from position, speed or acceleration sensors, perception control, multi-sensor controlled systems, sensor fusion
    • B25J9/1697Vision controlled systems
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/39Robotics, robotics to robotics hand
    • G05B2219/39449Pendant, pda displaying camera images overlayed with graphics, augmented reality
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/39Robotics, robotics to robotics hand
    • G05B2219/39451Augmented reality for robot programming

Landscapes

  • Engineering & Computer Science (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Software Systems (AREA)
  • Automation & Control Theory (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Graphics (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • Fuzzy Systems (AREA)
  • Mathematical Physics (AREA)
  • Multimedia (AREA)
  • Manipulator (AREA)
  • Numerical Control (AREA)

Abstract

Robotersteuerung (10), umfassend:eine Anzeigevorrichtung (18), die dazu konfiguriert ist, eine von einem Computer erzeugte Information so anzuzeigen, dass sich die Information mit einer tatsächlichen Umgebung oder einem tatsächlichen Bild, das durch das Aufnehmen der tatsächlichen Umgebung erhalten wird, überdeckt;einen Positions- und Ausrichtungserhaltungsabschnitt (20), der dazu konfiguriert ist, eine relative Position und Ausrichtung zwischen der Anzeigevorrichtung und einem in der tatsächlichen Umgebung umfassten Roboter (14) zu erhalten;einen Anzeigesteuerungsabschnitt (24), der dazu konfiguriert ist, die Anzeigevorrichtung so zu steuern, dass die Anzeigevorrichtung ein virtuelles Modell von mindestens einem Objekt des Roboters, einem beweglichen Teil (22) des Roboters, einem durch den beweglichen Teil abgestützten Gegenstand und einem Arbeitsziel (42) des beweglichen Teils anzeigt;einen Betriebssteuerungsabschnitt (26), der dazu konfiguriert ist, das auf der Anzeigevorrichtung angezeigte virtuelle Modell zu betreiben; undeinen Positions- und Ausrichtungsbestimmungsabschnitt (28), der dazu konfiguriert ist, mindestens eine von der Position und Ausrichtung des Roboters unter Verwendung von mindestens einer von der Position und Ausrichtung des von dem Betriebssteuerungsabschnitt betriebenen virtuellen Modells und unter Verwendung der durch den Positions- und Ausrichtungserhaltungsabschnitt erhaltenen relativen Position und Ausrichtung zu bestimmen.

Description

  • HINTERGRUND DER ERFINDUNG
  • Die vorliegende Erfindung betrifft eine Robotersteuerung und eine Anzeigevorrichtung, die erweiterte Realität (engl.:"augmented reality") und gemischte Realität (engl.:"mixed reality") nutzen.
  • In einem Robotersystem nach dem Stand der Technik kann ein Status eines Roboters oder einer Arbeit eines Bedieners unter Verwendung einer Technik der virtuellen Realität (VR) navigiert werden. In der virtuellen Realität ist es jedoch notwendig, vorab Modelldaten usw. des Roboters und seiner Peripheriegeräte bereitzustellen, und es erfordert eine beträchtliche Zeit und Mühe, präzise Modelle zu erstellen. Ferner kann die Navigation nicht korrekt durchgeführt werden, wenn sich das virtuelle Modell des Roboters deutlich von dem tatsächlichen Roboter unterscheidet.
  • Daher wird in einem neueren Robotersystem eine Technik der erweiterten Realität (Augmented Reality, AR) (z.B. eine AR-kompatible Anzeige) verwendet, um den Status des Roboters anzuzeigen oder die Arbeit des Bedieners zu unterstützen (oder zu navigieren) (siehe z.B. JP 2016-107379 A , JP 2017-138609 A , JP 2012-171024 A , JP 2017-104944 A , JP 2004-209641 A und JP 2017-523054 A ).
  • DE 10 2016 224 774 B3 beschreibt eine Head-Mounted-Vorrichtung zur Bestimmung eines Messvolumens einer von dem Roboter getragenen Kamera.
  • DE 10 2016 123 945 A1 beschreibt eine Verbindung zwischen einem virtuellen Bild eines Teils des Roboters, der noch nicht zur Verfügung gestellt wurde, und einem vorhandenen Roboter.
  • DE 10 2015 015 503 A1 beschreibt ein Robotersystem, das eine mit erweiterter Realität kompatible Anzeige nutzt, die fähig ist, Informationen über den Status und/oder eine Bedienführung eines Roboters, die einem realen Bild oder einer realen Umgebung hinzugefügt ist. Mittels der Markierung an einem Abschnitt des realen Roboters werden die relativ Position und der Winkel zwischen der Kamera und dem Roboter geschätzt.
  • DE 100 63 089 C1 beschreibt ein Verfahren zur anwender-gesteuerten Verknüpfung von Informationen innerhalb eines Augmented-Reality-Systems.
  • US 2018 / 0 267 314 A1 beschreibt ein Verfahren zur Darstellung der ein zu überwachendes Ziel betroffenen Information im Bild des zu überwachenden Ziels, ohne dass das Sehfeld blockiert wird.
  • US 2017 / 0 203 438 A1 beschreibt eine Simulation eines realen Roboters zur Bereitstellung eines virtuellen Roboters basierend auf den Parametern des realen Roboters.
  • Wenn ein Betriebsvorgang, wie etwa ein Einlernen des Roboters, durchgeführt werden soll, kann der Bediener den Betriebsvorgang durchführen, während er ein Bild oder eine Information betrachtet, das/die sich mit dem tatsächlichen Roboter überdeckt. Bei der Durchführung des Einlernens usw. ist es jedoch notwendig, den tatsächlichen Roboter zu bewegen, ähnlich wie bei der herkömmlichen Technik. Daher ist der Betriebsvorgang unter Verwendung der herkömmlichen AR-Technik nicht ausreichend benutzerfreundlich, und daher ist eine Technik erforderlich, die den Betriebsvorgang des Bedieners unterstützt, indem sie die Vorteile sowohl der erweiterten Realität als auch der gemischten Realität (Mixed Reality, MR) effektiv nutzt.
  • KURZDARSTELLUNG DER ERFINDUNG
  • Ein Aspekt der vorliegenden Offenbarung ist eine Robotersteuerung, umfassend: eine Anzeigevorrichtung, die dazu konfiguriert ist, eine von einem Computer erzeugte Information so anzuzeigen, dass sich die Information mit einer tatsächlichen Umgebung oder einem tatsächlichen Bild, das durch das Aufnehmen der tatsächlichen Umgebung erhalten wird, überdeckt; einen Positions- und Ausrichtungserhaltungsabschnitt, der dazu konfiguriert ist, eine relative Position und Ausrichtung zwischen der Anzeigevorrichtung und einem in der tatsächlichen Umgebung umfassten Roboter zu erhalten; einen Anzeigesteuerungsabschnitt, der dazu konfiguriert ist, die Anzeigevorrichtung so zu steuern, dass die Anzeigevorrichtung ein virtuelles Modell von mindestens einem Objekt des Roboters, einem beweglichen Teil des Roboters, einem durch den beweglichen Teil abgestützten Gegenstand und einem Arbeitsziel des beweglichen Teils anzeigt; einen Betriebssteuerungsabschnitt, der dazu konfiguriert ist, das auf der Anzeigevorrichtung angezeigte virtuelle Modell zu betreiben; und einen Positions- und Ausrichtungsbestimmungsabschnitt, der dazu konfiguriert ist, mindestens eine von der Position und Ausrichtung des Roboters unter Verwendung von mindestens einer von der Position und Ausrichtung des von dem Betriebssteuerungsabschnitt betriebenen virtuellen Modells und unter Verwendung der durch den Positions- und Ausrichtungserhaltungsabschnitt erhaltenen relativen Position und Ausrichtung zu bestimmen.
  • Ein weiterer Aspekt der vorliegenden Offenbarung ist eine Robotersteuerung, umfassend: eine Anzeigevorrichtung, die dazu konfiguriert ist, eine von einem Computer erzeugte Information so anzuzeigen, dass sich die Information mit einer tatsächlichen Umgebung oder einem tatsächlichen Bild, das durch Aufnehmen der tatsächlichen Umgebung erhalten wird, überdeckt; einen Anzeigesteuerungsabschnitt, der dazu konfiguriert ist, die Anzeigevorrichtung so zu steuern, dass die Anzeigevorrichtung ein virtuelles Modell von mindestens einem Objekt eines in der tatsächlichen Umgebung umfassten Roboters, einem beweglichen Teil des Roboters, einem durch den beweglichen Teil abgestützten Gegenstand und einem Arbeitsziel des beweglichen Teils anzeigt; einen Betriebssteuerungsabschnitt, der dazu konfiguriert ist, das auf der Anzeigevorrichtung angezeigte virtuelle Modell zu betreiben; und einen Positions- und Ausrichtungserhaltungsabschnitt, der dazu konfiguriert ist, mindestens eine von einer relativen Position und Ausrichtung zwischen dem Roboter und der Anzeigevorrichtung zu erhalten, indem mindestens eine von der Position und Ausrichtung des in der tatsächlichen Umgebung umfassten Objekts oder mindestens eine von der Position und der Ausrichtung des auf der Anzeigevorrichtung angezeigten virtuellen Modells verwendet wird, falls das in der tatsächlichen Umgebung umfasste Objekt und das auf der Anzeigevorrichtung angezeigte virtuelle Modell miteinander übereinstimmen oder das Objekt und das in dem tatsächlichen Bild auf der Anzeigevorrichtung dargestellte virtuelle Modell miteinander übereinstimmen.
  • Noch ein weiterer Aspekt der vorliegenden Offenbarung ist eine Anzeigevorrichtung, umfassend: einen Anzeigeabschnitt, der dazu konfiguriert ist, eine von einem Computer erzeugte Information so anzuzeigen, dass sich die Information mit einer tatsächlichen Umgebung oder einem tatsächlichen Bild, das durch Aufnehmen der tatsächlichen Umgebung erhalten wird, überdeckt; einen Positions- und Ausrichtungserhaltungsabschnitt, der dazu konfiguriert ist, eine relative Position und Ausrichtung zwischen dem Anzeigeabschnitt und einem in der tatsächlichen Umgebung umfassten Roboter zu erhalten; einen Anzeigesteuerungsabschnitt, der dazu konfiguriert ist, den Anzeigeabschnitt so zu steuern, dass der Anzeigeabschnitt ein virtuelles Modell von mindestens einem Objekt des Roboters, einem beweglichen Teil des Roboters, einem Gegenstand, der durch den beweglichen Teil abgestützt wird, und einem Arbeitsziel des beweglichen Teils anzeigt; einen Betriebssteuerungsabschnitt, der dazu konfiguriert ist, das auf dem Anzeigeabschnitt angezeigte virtuelle Modell zu betreiben; und einen Positions- und Ausrichtungsbestimmungsabschnitt, der dazu konfiguriert ist, mindestens eine von der Position und der Ausrichtung des Roboters unter Verwendung von mindestens einer von der Position und der Ausrichtung des von dem Betriebssteuerungsabschnitt betriebenen virtuellen Modells und unter Verwendung der durch den Positions- und Ausrichtungserhaltungsabschnitts erhaltenen relativen Position und Ausrichtung zu bestimmen.
  • Ein weiterer Aspekt der vorliegenden Offenbarung ist eine Anzeigevorrichtung, umfassend: einen Anzeigeabschnitt, der dazu konfiguriert ist, eine von einem Computer erzeugte Information so anzuzeigen, dass sich die Information mit einer tatsächlichen Umgebung oder einem tatsächlichen Bild, das durch Aufnehmen der tatsächlichen Umgebung erhalten wird, überdeckt; einen Anzeigesteuerungsabschnitt, der dazu konfiguriert ist, den Anzeigeabschnitt so zu steuern, dass der Anzeigeabschnitt ein virtuelles Modell von mindestens einem Objekt eines in der tatsächlichen Umgebung umfassten Roboters, einem beweglichen Teil des Roboters, einem durch den beweglichen Teil abgestützten Gegenstand und einem Arbeitsziel des beweglichen Teils anzeigt; einen Betriebssteuerungsabschnitt, der dazu konfiguriert ist, das auf dem Anzeigeabschnitt angezeigte virtuelle Modell zu betreiben; und einen Positions- und Ausrichtungserhaltungsabschnitt, der dazu konfiguriert ist, mindestens eine relative Position und Ausrichtung zwischen dem Roboter und dem Anzeigeabschnitt zu erhalten, indem mindestens eine von der Position und der Ausrichtung des in der tatsächlichen Umgebung umfassten Objekts oder mindestens eine von der Position und der Ausrichtung des in dem Anzeigeabschnitt angezeigten virtuellen Modells verwendet wird, falls das in der tatsächlichen Umgebung umfasste Objekt und das in dem Anzeigeabschnitt angezeigte virtuelle Modell miteinander übereinstimmen oder das Objekt und das in dem tatsächlichen Bild auf dem Anzeigeabschnitt dargestellte virtuelle Modell miteinander übereinstimmen.
  • Figurenliste
  • Die vorstehenden und andere Aufgaben, Merkmale und Vorteile der vorliegenden Erfindung werden durch die folgende Beschreibung ihrer bevorzugter Ausführungsformen mit Bezugnahme auf die beigefügten Zeichnungen deutlicher erkennbar gemacht, wobei:
    • 1 ein Funktionsblockdiagramm einer Robotersteuerung gemäß einer bevorzugten Ausführungsform ist;
    • 2 einen Zustand zeigt, in dem ein Benutzer das Einlernen eines Roboters durchführt;
    • 3 ein Head-Mounted-Display als Beispiel für eine Anzeigevorrichtung zeigt;
    • 4 ein mobiles Endgerät als Beispiel für eine Anzeigevorrichtung zeigt;
    • 5 ein Anzeigebeispiel einer Anzeigevorrichtung, wenn der Benutzer die Anzeigevorrichtung auf den Roboter richtet, zeigt;
    • 6 ein Beispiel für ein in einem Menü angezeigten Bild eines Werkzeugs zeigt;
    • 7 ein Beispiel für die Darstellung eines tatsächlichen Werkstücks unter Verwendung eines einfachen Modells zeigt;
    • 8 ein Beispiel für die Darstellung einer Stange zum Drehen jeder Achse des Roboters an einem Modell des Roboters zeigt;
    • 9 ein Beispiel für die Anzeige eines Werkzeugkoordinatensystems und manueller Bedientasten in der Nähe eines Werkzeugmodells zeigt;
    • 10 ein Beispiel für die Anzeige einer orthogonalen Jog-Bewegung für die translatorische Bewegung des Modells in der Nähe des Werkzeugmodells zeigt;
    • 11 ein Beispiel für die Anzeige einer orthogonalen Jog-Bewegung für die Drehbewegung des Modells in der Nähe des Werkzeugmodells zeigt;
    • 12 ein Anzeigebeispiel für die Anzeigevorrichtung zeigt, wenn ein Einlernpunkt des Roboters unter Verwendung der Position des virtuellen Modells eingestellt wird; und
    • 13 ein Beispiel für die Messung einer Positionsbeziehung zwischen dem Roboter und der Anzeigevorrichtung zeigt.
  • AUSFÜHRLICHE BESCHREIBUNG
  • 1 ist ein Funktionsblockdiagramm einer Robotersteuerung 10 gemäß einer bevorzugten Ausführungsform, und 2 stellt beispielhaft eine Anwendung der Robotersteuerung 10 dar, bei der ein Bediener (Benutzer) 12 das Einlernen eines Roboters 14 durchführt. Die Robotersteuerung 10 umfasst: eine Anzeigevorrichtung 18, die dazu konfiguriert ist, eine von einem Computer 11 erzeugte Information (ein 3D-Modell usw.) so anzuzeigen, dass sich die Information mit einer den Roboter 14 umfassenden tatsächlichen Umgebung (eine Fabrik oder ein Arbeitsplatz usw.) oder einem durch Aufnehmen der tatsächlichen Umgebung erhaltenen (tatsächlichen) Bild überdecken; einen Positions- und Ausrichtungserhaltungsabschnitt 20, der dazu konfiguriert ist, eine relative Position und Ausrichtung (oder eine Positionsbeziehung) zwischen der Anzeigevorrichtung 18 und dem in der tatsächlichen Umgebung umfassten Roboter 14 zu erhalten; einen Anzeigesteuerungsabschnitt 24, der dazu konfiguriert ist, die Anzeigevorrichtung 18 so zu steuern, dass die Anzeigevorrichtung 18 ein (virtuelles) Modell eines beweglichen Teils (z.B. eines Roboterarms und eines an dem Arm befestigten Werkzeugs, usw.) 22 des Roboters 14 anzeigt; einen Betriebssteuerungsabschnitt 26, der dazu konfiguriert ist, das auf der Anzeigevorrichtung 18 angezeigte virtuelle Modell zu betreiben; und einen Positions- und Ausrichtungsbestimmungsabschnitt 28, der dazu konfiguriert ist, mindestens eine von der Position und Ausrichtung (z.B. einen Einlernpunkt) des Roboters 14 zu bestimmen, indem mindestens eine von der Position und Ausrichtung des durch den Betriebssteuerungsabschnitt 26 betriebenen virtuellen Modells verwendet wird und die durch den Positions- und Ausrichtungserhaltungsabschnitt erhaltene Positionsbeziehung verwendet wird. Weiterhin kann die Robotersteuerung 10 einen Programmerzeugungsabschnitt 30 umfassen, der dazu konfiguriert ist, ein Bewegungsprogramm des Roboters 14 unter Verwendung von mindestens einer von der durch den Positions- und Ausrichtungsbestimmungsabschnitt 28 bestimmten Position und Ausrichtung des Roboters 14 zu erzeugen.
  • Der bewegliche Teil hierin bezeichnet ein Objekt, das durch die Bewegung jeder Achse des Roboters bewegt werden kann. So kann beispielsweise der bewegliche Teil den Roboterarm und/oder eine am Ende des Arms befestigte Hand oder ein Werkzeug, usw., umfassen. Ferner kann das virtuelle Modell mindestens ein Objekt eines in der tatsächlichen Umgebung umfassten Roboters (wie den Roboter 14), den beweglichen Teil des Roboters, einen Gegenstand, der durch den beweglichen Teil des Roboters abgestützt wird, und ein Arbeitsziel des beweglichen Teils umfassen. Außerdem kann das Arbeitsziel einen Gegenstand, der in einem Kalibriervorgang des Roboters verwendet wird (z.B. einen Gegenstand, mit dem der bewegliche Teil des Roboters während des Kalibriervorgangs in Kontakt kommt), sowie einen Gegenstand (oder ein Werkstück), der von dem Roboter befördert, verarbeitet oder bearbeitet werden soll, usw., umfassen.
  • In dem Beispiel von 1 können der Ausrichtungserhaltungsabschnitt 20, der Anzeigesteuerungsabschnitt 24, der Betriebssteuerungsabschnitt 26, der Positions- und Ausrichtungsbestimmungsabschnitt 28 und der Programmerzeugungsabschnitt 30 durch eine CPU, einen Speicher, einen Sensor, eine Kommunikationsvorrichtung, die in der Lage ist, mit der Anzeigevorrichtung 18 zu kommunizieren, oder eine Kombination derselben realisiert werden, die in einem Gehäuse (nicht dargestellt) angeordnet sind, das mit dem Roboter 14 über Draht oder drahtlos verbundenen ist. In diesem Zusammenhang kann mindestens eine dieser Komponenten in der Anzeigevorrichtung 18 angeordnet sein. Mit anderen Worten, die Anzeigevorrichtung 18 kann den Ausrichtungserhaltungsabschnitt 20, den Anzeigesteuerungsabschnitt 24, den Betriebssteuerungsabschnitt 26, den Positions- und Ausrichtungsbestimmungsabschnitt 28 und den Programmerzeugungsabschnitt 30 umfassen. Außerdem können die Anzeigevorrichtung 18 und das Gehäuse einen Steuerungsabschnitt (wie eine CPU und einen Speicher usw.) zum Steuern des gesamten Verhaltens der Anzeigevorrichtung 18 und des Roboters 14 aufweisen.
  • 3 zeigt ein Head-Mounted-Display als konkretes Beispiel für die Anzeigevorrichtung 18. Das Head-Mounted-Display 18 weist eine Kamera 32 zum Aufnehmen der tatsächlichen Umgebung und eine Anzeige 34 zum Anzeigen einer von der Kamera 32 in Echtzeit erhaltenen (aufgenommen) Abbildung oder eines Bildes auf. Die Anzeige 34 ist ein Beispiel für den Anzeigeabschnitt. Der Benutzer 12 kann das Head-Mounted-Display 18 tragen und deren Kamera 32 auf den tatsächlichen Roboter 14 richten, sodass die Umgebung einschließlich des Roboters 14 abgebildet werden kann und das Bild der Umgebung in Echtzeit erhalten (aufgenommen) werden kann. Auf diese Weise kann der Benutzer 12 das Bild der erweiterten Realität über die Anzeige 34 betrachten. Alternativ kann das Head-Mounted-Display 18 auch eine transmissive Anzeige aufweisen, so dass der Benutzer 12 die tatsächliche Umgebung durch die transmissive Anzeige betrachten kann. Das auf der Anzeige 34 angezeigte virtuelle Modell kann innerhalb der Anzeige 34 durch eine Bewegung (z.B. eine Gestenbewegung, wie nachfolgend erläutert) des Benutzers 12 bedient (verschoben, gedreht, vergrößert oder heran-/weggezoomt) werden.
  • 4 zeigt ein mobiles Endgerät (Tablet-Computer) als weiteres Beispiel für die Anzeigevorrichtung 18. Das mobile Endgerät 18 verfügt über eine Kamera 36 zum Aufnehmen der tatsächlichen Umgebung und eine Anzeige 38 zum Anzeigen einer Abbildung oder Bildes, das von der Kamera 36 in Echtzeit erhalten (aufgenommen) wurde. Die Anzeige 38 ist ein weiteres Beispiel für den Anzeigebereich. Der Benutzer 12 kann das mobile Endgerät 18 halten und dessen Kamera 36 auf den tatsächlichen Roboters 14 richten, sodass die Umgebung einschließlich des Roboters 14 abgebildet werden kann und das Bild der Umgebung in Echtzeit erhalten (aufgenommen) werden kann. Auf diese Weise kann der Benutzer 12 das Bild der erweiterten Realität über die Anzeige 38 betrachten. Das auf der Anzeige 38 angezeigte virtuelle Modell kann von dem Benutzer durch Berühren oder Verschieben eines Fingers oder eines Taststiftes 41 usw. innerhalb der Anzeige 38 bedient (bewegt usw.) werden.
  • Als nächstes wird ein Beispiel für den Ablauf des Betriebsvorgangs oder Prozesses unter Verwendung der Robotersteuerung 10 erläutert. Hierin trägt der Benutzer 12, wie in 2 dargestellt, das Head-Mounted-Display (wie in 3 dargestellt) als Anzeigevorrichtung 18 und lernt den Vorgang ein, bei dem der auf einer Bodenfläche 40 in der Umgebung (in diesem Fall einem Arbeitsplatz) installierte Roboter 14 einen an einer vorbestimmten Stelle auf der Bodenfläche 40 positionierten tatsächlichen Gegenstand (Werkstück) 42 mit einem Greifwerkzeug (in diesem Fall der Roboterhand 22) greift. Obwohl 2 drei Hände 22, 22a und 22b zeigt, ist nur die am Ende des Roboters 14 befestigte Hand 22 die tatsächliche Hand, und die anderen Hände 22a und 22b sind nicht existierende virtuelle Bilder (Modelle), wie nachfolgend erläutert. Außerdem ist außer der Hand 22 ein Roboterkörper des Roboters 14, das Werkstück 42 und andere Peripheriegeräte (nicht dargestellt) tatsächlich vorhanden.
  • Wenn der Benutzer 12 die Anzeigevorrichtung 18 auf den Roboter 14 richtet, wird zunächst ein Bild (z.B. ein Fenster) 50, das eine Liste oder ein Menü von Modellen darstellt, wie etwa ein verwendbares Werkzeug (z.B. eine Hand) für den Roboter 14 oder das Ende des Roboters 14 („Roboterende R“), auf der Anzeige 34 der Anzeigevorrichtung 18 angezeigt, wie in 5 dargestellt. Dann wählt der Benutzer 12 unter den angezeigten Modellen durch eine Gestenbewegung (z.B. eine Drag-and-Drop-Bewegung) ein geeignetes Modell aus, wodurch das ausgewählte Modell an einer bestimmten Position in einem Referenzkoordinatensystem 86 angezeigt wird, die zuvor an einer vorbestimmten Position in der tatsächlichen Umgebung definiert wurde. In diesem Fall führt der Benutzer 12 die Drag-and-Drop-Bewegung so durch, dass „Hand B“ aus dem Menü 50 auf die linke Seite der aktuellen Hand 22 bewegt wird, wodurch das virtuelle Modell 22a der Hand 22 angezeigt wird. In diesem Zusammenhang kann die Größe des virtuellen Modells 22a automatisch und geeignet abhängig von der Position, wo das virtuelle Modell abgelegt wird, geändert werden.
  • In dem Menü 50 können die wählbaren Werkzeuge in Textform und/oder als Bilder angezeigt werden. Das Werkzeug kann als Einzelposition angezeigt werden, oder es kann mit einem Gegenstand angezeigt werden, der von dem Werkzeug gehalten wird. So kann beispielsweise in Menü 50 die Hand B als Einzelposition als „Hand B“ angezeigt werden und die Hand B, die das Werkstück 42 greift, kann als als „Hand B1“ angezeigt werden. Wenn beispielsweise „Hand B1” ausgewählt wird, wird das virtuelle Modell der Hand 22 angezeigt, während das Werkstück 42 gegriffen wird.
  • 6 zeigt ein Beispiel für ein Bild des im Menü 50 angezeigten Werkzeugs. Wie in 6 dargestellt, stellen die Bilder 601 bis 604 Bilder von „Hand A“, „Hand B“, „Hand Bl‟ bzw. „Hand C” dar. Zum Beispiel ist „Hand A“ ein Werkzeug, das dazu konfiguriert ist, das Werkstück durch Adsorption zu halten, und „Hand B“ ist ein Werkzeug mit zwei Klauen, die dazu konfiguriert sind, das Werkstück zu greifen, indem es dazwischen eingeklemmt wird. Wie vorstehend beschrieben, gibt „Hand B1“ den Zustand an, in dem die Hand B das Werkstück greift. „Hand C” ist beispielsweise ein Werkzeug mit drei Klauen, die dazu konfiguriert sind, das Werkstück zu greifen, indem sie es zwischen sich einklemmen.
  • Die aufgeführten Modelle können als dreidimensionale (3D) Modelle dargestellt werden. Als 3D-Modell kann ein Abschnitt des Roboters, ein am Roboter befestigtes Werkzeug (eine Hand, eine Schweißzange, eine Klebstoffpistole usw.) und ein vom Werkzeug zu bearbeitender Gegenstand (ein von der Hand gegriffenes und transportiertes Werkstück, ein zu schweißendes Objekt usw.) angezeigt werden.
  • Weiterhin kann im Menü der Modelle auch ein virtuelles Objekt (z.B. ein rechteckiges Parallelepiped) angezeigt werden, das zuvor oder am Arbeitsplatz durch den Benutzer definiert wurde. Wie in 7 dargestellt, hat beispielsweise ein tatsächliches Werkstück 52 eine zylindrische Form, und eine Adsorptionshand 54 befördert das Werkstück 52, indem sie eine Oberseite des Werkstücks adsorbiert. In einem solchen Fall kann der Benutzer 12, vorab oder an dem Arbeitsplatz, das Werkstück 52 in der Robotersteuerung 10 als rechteckiges Parallelepiped- 3D-Arbeitsmodell 56, das das Werkstück 52 umfassen kann, festlegen und/oder speichern. Danach kann das Arbeitsmodell 56 auf der Anzeige 34 der Anzeigevorrichtung 18 angezeigt werden. Obwohl in diesem Fall das Arbeitsmodell 56 nicht auf das rechteckige Parallelepiped beschränkt ist, wird jedoch bevorzugt, dass zumindest die Ober- und Unterseite des Arbeitsmodells 56 so festgelegt werden, dass sie mit der Ober- und Unterseite des tatsächlichen Werkstücks 52 übereinstimmen. Wenn die Form des tatsächlichen Werkstücks kompliziert ist oder wenn das tatsächliche Werkstück nicht vorbereitet werden kann (oder nicht in der Umgebung positioniert werden kann), kann ein Betriebsvorgang (wie das Erlernen, wie nachfolgend erläutert) durch die Verwendung des obigen Modells des Werkstücks erleichtert werden.
  • Falls, wie in 7 dargestellt, ein Einlernen ausgeführt werden soll, bei dem das Werkstück 52 in eine Box 58 gelegt oder aus ihr herausgenommen wird, kann das Werkstück in der Box von dem Benutzer nicht gesehen werden, wenn die Box 58 tatsächlich in der tatsächlichen Umgebung positioniert ist. In einem solchen Fall kann aufgrund der Modellierung des Werkstücks ein Umriss des Werkstücks virtuell durch eine gestrichelte Linie usw. dargestellt werden, an der der Benutzer erkennen kann, dass das Werkstück in der Box verborgen ist. Dadurch kann der Benutzer das Einlernen des Roboters intuitiv und einfach unter Verwendung der Robotersteuerung 10 durchführen. Im Normalfall, wenn das Einlernen durchgeführt werden soll, betreibt der Benutzer die Robotersteuerung, um ein Bewegungsprogramm des tatsächlichen Roboters auszuführen, und überprüft, ob eine Beförderungsstrecke zwischen den Einlernpunkten mit dem tatsächlichen Objekt störend in Kontakt kommt. Bei dieser Überprüfung betreibt der Benutzer die Robotersteuerung, um das Programm mehrmals auszuführen, während er die Geschwindigkeit des Roboters in Stufen von einer niedrigeren Geschwindigkeit auf eine Soll-Einlerngeschwindigkeit erhöht. Andererseits kann in der Ausführungsform durch die Durchführung der oben genannten Modellierung des Werkstücks vor dem Einlernen die Bewegung des Roboters, wenn die Robotersteuerung 10 das Roboterprogramm ausführt, mit der tatsächlichen Umgebung als das virtuelle Bild des Roboters überdeckt werden. Somit kann der Anwender das Bewegungsbild des Arbeitsmodells 56 abspielen und von Anfang an einfach überprüfen, ob der Roboter mit Objekt zwischen den Einlernpunkten bei der Soll-Einlerngeschwindigkeit störend in Kontakt kommt, ohne die Störung zwischen der Beförderungsstrecke des Roboters und dem tatsächlichen Objekt, wie der Box, zu berücksichtigen, wodurch die Einlernzeit der Robotersteuerung 10 reduziert werden kann.
  • Die Liste (oder das Menü) 50 der Modelle wird auf einem Benutzerkoordinatensystem angezeigt, das am Körper des Benutzers 12 festgelegt ist. Mit anderen Worten, das Menü 50 wird so bewegt, dass es der Bewegung des Benutzers 12 folgt, und somit wird das Menü 50 immer an einer konstanten Position relativ zum Benutzer 12 angezeigt. Andererseits wird das Modell 22a, nachdem es so angezeigt (oder abgelegt) wurde, dass es sich mit der tatsächlichen Umgebung überdeckt, in Bezug auf das Referenzkoordinatensystem 86 eingestellt. Daher folgt das Modell 22a der Bewegung des Benutzers 12 auch dann nicht, wenn sich der Benutzer 12 bewegt, und wird an der angegebenen Position in der tatsächlichen Umgebung angezeigt.
  • Nachdem das virtuelle Modell 22a mit dem Bild der tatsächlichen Umgebung, wie in 5 dargestellt, überdeckt wurde, führt der Benutzer 12 die Bewegung, wie etwa eine Gestenbewegung, so aus, dass das virtuelle Modell 22a an einer gewünschten Position mit einer gewünschten Ausrichtung positioniert wird. Im Folgenden werden konkrete Beispiele der Gestenbewegung erläutert.
  • (Drag-Bewegung)
  • (A1) Der Benutzer 12 richtet seinen/ihren eigenen Blick auf das virtuelle Modell 22a, das an der Hand 22 oder dem Ende des Roboters befestigt ist, und führt eine Gestenbewegung aus, um das virtuelle Modell 22a mit den Fingern zu drücken. Dadurch ermöglicht der Anzeigesteuerungsabschnitt 24 das Bewegen des Modells 22a.
  • (A2) Der Benutzer 12 bewegt seine/ihre eigene Hand, während er das virtuelle Modell 22a drückt, um das Modell 22a in eine Position/Ausrichtung zu bringen, in der der Benutzer 12 einlernen möchte. Der Anzeigensteuerabschnitt 24 bewegt das Modell 22a entsprechend der Bewegung der Hand des Benutzers 12. Wenn die Bewegungsdistanz relativ groß ist, kann sich der Benutzer 12 innerhalb des Arbeitsplatzes (oder der tatsächlichen Umgebung) bewegen oder er kann gehen.
  • (A3) Wenn das Modell 22a die gewünschte Position erreicht, führt der Benutzer 12 eine Gestenbewegung aus, um seine/ihre eigene Hand zu öffnen. Die Position und Ausrichtung des Modells 22a zu diesem Zeitpunkt wird durch den Positions- und Ausrichtungsbestimmungsabschnitt 28 als Einlernpunkt usw. festgelegt (oder in einem Speicher gespeichert).
  • (Drag-Bewegung des gesamten Roboters)
  • Der Anzeigesteuerabschnitt 24 steuert die Anzeigevorrichtung 18 so, dass (die Anzeige 34 der) Anzeigevorrichtung 18 ein virtuelles Modell des gesamten Roboters 14 anzeigt. Der Benutzer 12 kann die folgende Bewegung usw. ausführen, wenn der Benutzer 12 durch Bewegen des gesamten Modells des Roboters ein Einlernen ausführen möchte.
  • (B1) Wie in 8 dargestellt, führt der Benutzer 12 eine Gestenbewegung usw. so aus, dass ein virtuelles (3D-)Modell 59 des gesamten Roboters 14 mit dem tatsächlichen Roboter 14 überdeckt wird. Anschließend wendet der Benutzer 12 seinen eigenen Blick dem Modell 59 zu und führt eine Lufttippbewegung durch, wobei in einem Raum in der Nähe des Robotermodells 59 ein Balken 60 zur Einstellung der Position jeder Achse des Roboters angezeigt wird. In diesem Fall ist der Roboter 14 ein Mehrgelenkroboter mit sechs Achsen, so dass sechs Stangen 60 in der Nähe der jeweiligen Achsen des Modells 59 angezeigt werden.
  • (B2) Der Benutzer 12 wendet seinen eigenen Blick einer (Objektiv-) Achse zu, führt eine Lufttippbewegung aus und führt dann die Gestenbewegung aus, um die Stangen 60 zu drücken, wobei der Anzeigesteuerabschnitt 24 das Bewegen des Modells 59 ermöglicht.
  • (B3) Der Benutzer 12 bewegt seine/ihre eigene Hand in einer kreisförmigen Bewegung, während er/sie die Stange 60 drückt, um die Position der Objektivachse des Modells 59 in eine Position zu bringen, in der der Benutzer 12 das Einlernen ausführen möchte. Der Anzeigesteuerabschnitt 24 bewegt das Modell 59 entsprechend der Bewegung der Hand des Benutzers 12. Zu diesem Zeitpunkt ist es nicht notwendig, den tatsächlichen Roboter 14 zu bewegen.
  • (B4) Wenn die Objektivachse die gewünschte Position erreicht, führt der Benutzer 12 eine Gestenbewegung aus, um seine/ihre eigene Hand zu öffnen. Dann wird die Position der Objektivachse zu diesem Zeitpunkt durch den Positions- und Ausrichtungsbestimmungsabschnitt 28 festgelegt (oder eingestellt).
  • (B5) Die Prozesse (B3) und (B4) werden bei Bedarf für die anderen Achsen ausgeführt. Schließlich wendet der Benutzer 12 seinen/ihren eigenen Blick einem anderen Abschnitt des Roboters als jede Achse zu und führt die Lufttippbewegung aus. Hierdurch wird die Position und Ausrichtung des Robotermodells 59 (oder die Position jeder Achse) zu diesem Zeitpunkt als Einlernpunkt eingestellt.
  • (Tastenbedienung)
  • (C1) Der Benutzer 12 wendet seinen/ihren eigenen Blick dem Werkzeug, wie beispielsweise der Hand 22a, zu und führt die Lufttippbewegung aus. Dann werden, wie in 9 beispielhaft veranschaulicht, in einem Raum in der Nähe des Werkzeugs ein für das Werkzeug definiertes Werkzeugkoordinatensystem 62, eine Mehrzahl von Bedientasten 64 zur Bedienung des virtuellen Modells des Werkzeugs und ein auf das Werkzeug angewandter Jog-Betrieb angezeigt. So wird beispielsweise „orthogonal“ angezeigt, was bedeutet, dass der angewandte Jog-Betrieb eine orthogonale Jog-Bewegung ist. Als weiteres Beispiel für die Anzeige des Jog-Betriebs kann „Gelenk“, das eine Gelenk-Jog-Bewegung darstellt, oder eine Anzeige des angegebenen Koordinatensystems, das angibt, dass die Jog-Bewegung eine orthogonaler Jog-Bewegung ist, die in dem angegebenen Koordinatensystem definiert ist (z.B. „Werkzeug“ etc., wenn die Jog-Bewegung im Werkzeugkoordinatensystem definiert ist), angezeigt werden. Außerdem kann je nach verwendetem Jog-Betrieb die Anzeige der Bedientaste 64 geändert werden. So kann beispielsweise „+J1“ usw., das die Objektivachse darstellt, anstelle von „+X“ und „-X“ usw. angezeigt werden, wenn die orthogonale Jog-Bewegung verwendet wird. Darüber hinaus kann die Anzahl der angezeigten Bedientasten 64 in Abhängigkeit von der Anzahl der Achsen und/oder der zusätzlichen Achse des Roboters 14 geändert werden.
  • (C2) Der Benutzer 12 wendet seinen/ihren eigenen Blick einer der Tasten 64 zu und führt die Lufttippbewegung aus, wodurch das Modell 22a in Abhängigkeit von einem angezeigten Verhältnis (in der Zeichnung 10%), das in der Nähe der Taste 64 angezeigt wird, um eine vorbestimmte Entfernung bewegt wird. Wenn das Modell 22a kontinuierlich bewegt werden soll, führt der Benutzer 12 eine vorbestimmte Bewegung aus (z.B. eine Gestenbewegung zum Schließen der eigenen Faust), nachdem der Benutzer 12 seinen/ihren eigenen Blick der Objektivtaste zugewendet hat. Auch in dieser Bewegung wird das Modell 22a abhängig von dem angezeigten Verhältnis (in der Zeichnung 10%), das in der Nähe der Taste 64 angezeigt wird, mit der vorbestimmten Geschwindigkeit bewegt. Wenn beispielsweise die maximale Bewegungsgeschwindigkeit (z.B. 250 mm/s) des Roboters 14 auf 100% und das angezeigte
  • Verhältnis auf 10% eingestellt ist, wird das Modell 22a mit einer Geschwindigkeit bewegt, die 10% der maximalen Geschwindigkeit (d.h. 25 mm/s) in die zugewiesene Richtung entspricht. Gleiches gilt auch für einen orthogonalen Jog-Bewegungsvorgang, wie nachfolgend erläutert. Wenn, zum Beispiel, in diesem Fall der Benutzer eine Gestenbewegung zum Öffnen der eigenen Faust ausführt, kann die Bewegung des Modells 22a gestoppt werden. Wenn der Benutzer 12 das Verhältnis (%) ändern möchte, kann der Benutzer 12 seinen/ihren eigenen Blick der Anzeige 65 zuwenden und die Lufttippbewegung ausführen, wodurch eine Taste (nicht dargestellt) angezeigt werden kann, mit der der Benutzer eine Zahl eingeben kann.
  • (C3) Wenn die Hand 22a oder das Werkzeug in die Position zum Einlernen gebracht wird, wendet der Benutzer 12 seinen/ihren eigenen Blick dem Modell 22a zu und führt die Lufttippbewegung aus. Dadurch werden die Position und Ausrichtung des Modells 22a zu diesem Zeitpunkt eingestellt (oder in einem Speicher gespeichert) und das Werkzeugkoordinatensystem 62 und die Tasten 64 werden dann ausgeblendet.
  • (Orthogonaler Jog-Bewegungsvorgang)
  • (D1) Der Benutzer 12 wendet seinen/ihren eigenen Blick dem Werkzeug, wie beispielsweise der Hand 22a, zu und führt die Lufttippbewegung aus. Dann werden, wie beispielhaft in 10 oder 11 dargestellt, in einem Raum in der Nähe des Werkzeugs eine orthogonale Jog-Bewegung 66 oder 68 zum Betreiben des virtuellen Modells des Werkzeugs und Information 70 oder 72 zum Angeben eines Verhältnisses der Geschwindigkeit, mit der das Modell bewegt wird, angezeigt.
  • (D2) Nachdem der Benutzer 12 seinen/ihren eigenen Blick der orthogonalen Jog-Bewegung 66 zuwendet und die Lufttippbewegung ausführt, kann der Benutzer 12 eine Taste 74 der orthogonalen Jog-Bewegung 66 drücken und bedienen. Wenn der Benutzer 12 dann die Taste 74 drückt und die Taste in die gewünschte Richtung bewegt (in der Zeichnung eine von +X, -X, +Y, -Y, -Y, +Z und -Z), kann das Werkzeug mit einer zugewiesenen Geschwindigkeit (z.B. 10% der maximalen Geschwindigkeit) in die gewünschte Richtung bewegt werden. Gleichermaßen kann der Benutzer 12, nachdem er seinen/ihren eigenen Blick der orthogonalen Jog-Bewegung 68 zuwendet und die Lufttippbewegung ausführt, eine beliebige von einer X-Achse 76, einer Y-Achse 78 und einer Z-Achse 80 der orthogonalen Jog-Bewegung 68 drücken und bedienen. Wenn Benutzer 12 dann die gedrückte Achse im Uhrzeigersinn oder gegen den Uhrzeigersinn dreht, kann das virtuelle Modell, wie beispielsweise die Hand 22a, mit der zugewiesenen Geschwindigkeit in die gewünschte Richtung gedreht werden (in der Zeichnung eine von +X, -X, +Y, -Y, -Y, +Z und -Z).
  • (D3) Wenn die Hand 22a oder das Werkzeug in die Position zum Einlernen gebracht wird, wendet der Benutzer 12 seinen/ihren eigenen Blick dem Modell 22a zu und führt die Lufttippbewegung aus. Dadurch wird die Position und Ausrichtung des Modells 22a zu diesem Zeitpunkt festgelegt (oder zwischengespeichert) und dann werden die orthogonale Jog-Bewegung 66 oder 68 und die Information 70 oder 72 ausgeblendet. In 10 wird die Taste 74 zum Bedienen des Werkzeugs gedrückt, und in 11 wird eine beliebige der X-Achse 76, Y-Achse 78 und Z-Achse 80 zum Bedienen des Werkzeugs gedrückt. Ein Pfeil, wie in 10 oder 11 dargestellt, kann jedoch als Taste zur Betätigung des Werkzeugs angezeigt werden. In diesem Fall kann eine Bedienung ähnlich der Tastenbedienung, wie in 9 dargestellt, durchgeführt werden.
  • Die Blickrichtung des Benutzers 12 kann unter Verwendung einer herkömmlichen Technik berechnet werden. So kann beispielsweise die Blickrichtung des Benutzers 12 berechnet werden, indem die Ausrichtung der Anzeigevorrichtung 18 (d.h. die Richtung, in die der Kopf von Benutzer 12 oder die Kamera 36 gerichtet ist) erfasst wird, indem ein Sensor 67, wie ein Gyrosensor (siehe 3), der für das Head-Mounted-Display 18 vorgesehen ist, verwendet wird oder indem ein für den Tablet-Computer 18 vorgesehener Sensor 69, wie ein Gyrosensor (siehe 4), verwendet wird.
  • Mit der obigen Gestenbewegung kann der Benutzer 12 die eigene Hand öffnen oder schließen, das Lufttippen ausführen, das Objekt mit dem Finger drücken usw. In diesem Zusammenhang kann der Benutzer 12 eine weitere Gestenbewegung zum Betreiben des Modells durchführen. Darüber hinaus kann der Benutzer 12 eine andere Funktion als die Gestenbewegung ausführen, indem er ein Programmierhandgerät oder ein Zeigegerät, wie einen Joystick oder ein Touchpanel, verwendet.
  • Nachdem das virtuelle Modell 22a des Werkzeugs durch die obige Gestenbewegung in die gewünschte Position (z.B. den Lernpunkt) bewegt wurde, kann der Benutzer 12 die Lufttippbewegung usw. ausführen, so dass das Modellauswahlmenü 50 auf einen Programmbearbeitungsbildschirm 82 umgeschaltet wird, wie in 12 dargestellt. Ähnlich wie im Menü 50 kann der Programmbearbeitungsbildschirm 82 auf dem am Körper des Benutzers 12 festgelegten Benutzerkoordinatensystem angezeigt werden, und der Benutzer 12 kann gleichzeitig den Bearbeitungsbildschirm 82 und die tatsächliche Umgebung betrachten.
  • Der Benutzer 12 betreibt das Modell 22a durch die obige Gestenbewegung oder eine Gestenbewegung, wie nachfolgend erläutert, so dass sich das Modell 22a in die Position und Ausrichtung bewegt, die eingelernt werden soll. Dann legt der Benutzer 12 die Position und Ausrichtung des Roboters 14 zu diesem Zeitpunkt (konkret, erzeugt und legt einen Einlernpunkt fest) mit Hilfe des Programmbearbeitungsbildschirms 82 fest oder lernt sie ein. Im Beispiel von 2 kann die Bewegung des Roboters 14 von der Position (Position[1]), in der die Hand 22 durch das virtuelle Bild 22a dargestellt wird, zu der Position (Position[3]), in der die Hand 22b das Werkstück 42 greifen kann, über die Position (Position[2]) der tatsächlichen Hand eingelernt werden.
  • Der Vorgang zum Einlernen der Position unter Verwendung des Programmbearbeitungsbildschirms 82 kann beispielsweise durch Auswahl einer Bewegungsbefehlsanweisung für den Roboter aus dem angezeigten Bewegungsmenü durchgeführt werden. Wenn der Benutzer 12 die Befehlsanweisung auswählt, werden die Position und Ausrichtung des Roboters, in der die Position und Ausrichtung des virtuellen Modells des Werkzeugs (nachfolgend als das Werkzeugmodell bezeichnet) mit der tatsächlichen Position und Ausrichtung des Werkzeugs übereinstimmen, spezifiziert. Danach wird die spezifizierte Position und Ausrichtung des Roboters als Einlernpunkt eingelernt (oder in einem geeigneten Speicher gespeichert). So kann beispielsweise in dem System, in dem die Adsorptionshand 54 das Werkstück 52 hält und aus der Box 58 entnimmt, wie in 7 dargestellt, das Einlernen durch die folgende Verfahrensweise durchgeführt werden.
  • (E1) Vorab oder an dem Arbeitsplatz definiert der Benutzer 12 das 3D-Arbeitsmodell 56 des Werkstücks 52. In diesem Fall wird das Arbeitsmodell 56 als ein Modell definiert, das das Werkstück 52 involvieren kann.
  • (E2) Der Anzeigesteuerungsabschnitt 24 zeigt das definierte Arbeitsmodell 56 so an, dass sich das Arbeitsmodell mit dem tatsächlichen Werkstück 52 überdeckt.
  • (E3) Wie in 7 dargestellt, projiziert der Anzeigesteuerungsabschnitt 24 das Modell der Adsorptionshand 54 in der tatsächlichen Welt, und der Benutzer 12 lernt die Position und Ausrichtung der Hand 54 ein, um das Werkstück 52 zu adsorbieren. Danach kann die Anzeigevorrichtung (oder die AR-kompatible Anzeige) durch den Anzeigesteuerungsabschnitt 24 das Modell der Hand 54 auf einer Modellliste anzeigen, wobei zu diesem Zeitpunkt das Modell der Adsorptionshand 54 und das vom Benutzer 12 definierte Modell 56 in einer gewünschten Positionsbeziehung positioniert sind, und kann ferner Positionsnummern von Einlernpunkten (in diesem Fall Positionen[1] bis[3]) anzeigen. Dadurch kann die Robotersteuerung 10 visuell und einfach eine Beförderungsstrecke so einlernen, dass der Roboter 14 mit Peripheriegeräte usw. nicht störend in Kontakt kommt, ohne den realen Roboter 14 tatsächlich zu bewegen. Weiterhin kann der Benutzer in einem System, bei dem eine herkömmlichen Bilderkennungstechnologie verwendet wird und es nicht notwendig ist, einzulernen, welcher Abschnitt des tatsächlichen Werkstücks adsorbiert oder gehalten werden soll, das Modell in Bezug auf den Mittelpunkt der Hand definieren und das definierte Modell zur Modellliste hinzufügen.
  • Wenn die Position und Ausrichtung eines Roboters mit sieben oder mehr Achsen einschließlich einer zusätzlichen Achse unter Verwendung der Position des Modells eingelernt werden soll, kann der Benutzer die Position der zusätzlichen Achse zuweisen. In diesem Fall kann das Modell der zusätzlichen Achse und die zugewiesene Position angezeigt werden. Wenn beispielsweise die zusätzliche Achse an der sechsten Achse (oder dem Ende) des Roboters angebracht ist und wenn die zusätzliche Achse angezeigt werden soll, kann der Anzeigesteuerungsabschnitt 24 die Position der zusätzlichen Achse relativ zum Ende ändern, abhängig von der von dem Benutzer zugewiesenen Position der zusätzlichen Achse.
  • Als nächstes beurteilt der Positions- und Ausrichtungsbestimmungsabschnitt 28, wie vorstehend beschrieben, unter Verwendung des Betriebs des virtuellen Modells, das durch den Betriebssteuerungsabschnitt 26 betrieben wird, und der durch den Positions- und Ausrichtungserhaltungsabschnitt 20 erhaltenen Positionsbeziehung (wie nachfolgend erläutert) zwischen Roboter 14 und Anzeigevorrichtung 18, ob (die Hand 22 des) Roboters 14 tatsächlich jede Position des bewegten virtuellen Modells erreichen kann. Wenn beurteilt wird, dass der Roboter 14 tatsächlich jede Position des bewegten virtuellen Modells erreichen kann, dann spezifiziert der Positions- und Ausrichtungsbestimmungsabschnitt 28 die eingelernte Position (oder die Position und Ausrichtung des Roboters) als Einlernpunkt und speichert den Einlernpunkt in einem Speicher, usw.. Der Programmerzeugungsabschnitt 30 kann ein den Einlernpunkt umfassendes Roboterbewegungsprogramm erzeugen. Das erzeugte Bewegungsprogramm kann dazu verwendet werden, den Roboter einzulernen oder eine Bewegungssimulation zur Überprüfung der Bewegung des Roboters oder der Möglichkeit von Störungen usw. durchzuführen. In diesem Beispiel wird jeder Einlernpunkt bestimmt, aber es kann eine eine Mehrzahl von Einlernpunkten umfassende Bewegungsbahn (oder eine Folge von Punkten) eingelernt werden. Wenn beispielsweise eine Bewegungsbahn, die durch Ziehen des 3D-Modells im Raum erhalten wird, als eine Folge von Einlernpunkten bestimmt wird, kann die Bewegung des Roboters als die Bewegungsbahn eingelernt werden.
  • So führt beispielsweise der Positions- und Ausrichtungsbestimmungsabschnitt 28 die obige Beurteilung wie folgt aus.
  • Wie in 9 dargestellt, kann das im Werkzeugmodell anzuzeigende Werkzeugkoordinatensystem 62 für jedes Werkzeugmodell festgelegt werden, d.h. es kann eine Mehrzahl von Werkzeugkoordinatensystemen 62 festgelegt werden. Die Werkzeugkoordinatensysteme werden basierend auf der der Positionsbeziehung zwischen jedem Werkzeugkoordinatensystem und einem am Ende des Roboters definierten Koordinatensystem definiert. In Menü 50, in dem die Modellliste angezeigt wird, wird das Werkzeugmodell mit einer Nummer zur Definition dessen Werkzeugkoordinatensystems angezeigt, da das Werkzeugkoordinatensystem in Bezug auf jedes Werkzeugmodell definiert wird. Wenn das mit dem Werkzeugkoordinatensystem 62 definierte Werkzeugmodell in der tatsächlichen Welt projiziert wird, können die Position und Ausrichtung des Werkzeugmodells auf dem Referenzkoordinatensystem, das durch den Steuerungsabschnitt der Anzeigevorrichtung beliebig definiert wird, unter Verwendung einer Matrix dargestellt werden. In diesem Zusammenhang kann die Position und Ausrichtung des Werkzeugmodells auf einem Weltkoordinatensystem, das durch den Steuerungsabschnitt (nicht dargestellt) der Robotersteuerung beliebig definiert wird (d.h, die Position und Ausrichtung des Werkzeugkoordinatensystems auf dem Weltkoordinatensystem) durch ein Produkt oder eine Multiplikation einer Umrechnungsmatrix A und einer Matrix B dargestellt werden kann, wobei: die Umrechnungsmatrix A die Position und Ausrichtung des Referenzkoordinatensystems auf dem Weltkoordinatensystem darstellt und durch die Positionsbeziehung zwischen der Anzeigevorrichtung und dem Roboter erhalten wird, und die Beziehung durch die Positions- und Ausrichtungserhaltungsabschnitt 20 erhalten wird; und die Matrix B die Position und Ausrichtung des Werkzeugmodells auf dem Referenzkoordinatensystem darstellt. Durch die Lösung der inversen Kinematik auf der Grundlage der Position und Ausrichtung des Werkzeugmodells auf dem Weltkoordinatensystem kann der Positions- und Ausrichtungsbestimmungsabschnitt 28 die Position jeder Achse des Roboters berechnen. Der Positions- und Ausrichtungsbestimmungsabschnitt 28 kann beurteilen, dass, wenn die berechnete Position jeder Achse innerhalb eines Bewegungseinschränkungsbereichs jeder für jeden Roboter definierten Achse oder eines Bewegungseinschränkungsbereichs, der auf der Grundlage eines Selbststörungsausdrucks bestimmt wird, liegt, der Roboter tatsächlich die Position des virtuellen Modells erreichen kann.
  • Wenn das Referenzkoordinatensystem der Anzeigevorrichtung mit dem Weltkoordinatensystem übereinstimmt (z.B. wenn die Funktion des Steuerungsabschnitts der Robotersteuerung und die Funktion des Steuerungsabschnitts der Anzeigevorrichtung integriert sind), kann der Positions- und Ausrichtungsbestimmungsabschnitt 28 die Position jeder Achse des Roboters durch Lösen der inversen Kinematik auf der Grundlage der Position und Ausrichtung des Werkzeugmodells berechnen, und beurteilen, ob der Roboter tatsächlich jede Position des bewegten virtuellen Modells erreichen kann.
  • Obwohl in der obigen Ausführungsform die Robotersteuerung 10 die Position und Ausrichtung des Roboters unter Verwendung der Position und Ausrichtung des Modells einlernt, kann die Robotersteuerung 10 auch nur eine von der Position und Ausrichtung des Roboters einlernen. So kann beispielsweise der die Position umfassende Einlernpunkt (oder die Einlerninformation) nur dann verwendet werden, wenn es nicht notwendig ist, die Ausrichtung des Roboters zuzuweisen. In diesem Fall kann die Ausrichtung des Einlernpunktes durch Interpolation auf der Grundlage der Ausrichtung der Einlernpunkte vor und nach dem Zieleinlernpunkt bestimmt werden. Andererseits kann der die Ausrichtung umfassende Einlernpunkt (oder die Einlerninformation) nur verwendet werden, um beispielsweise eine spezifizierte Ausrichtung des Roboters einzulernen, wenn der Roboter das Werkstück halten soll und das Werkstück mit der spezifizierten Ausrichtung an einer beliebigen Stelle innerhalb eines Bereichs mit einem vorbestimmten Volumen anordnen soll.
  • In der obigen Ausführungsform wird die Lehre unter Verwendung des Modells des Werkzeugs durchgeführt. In diesem Zusammenhang kann die Robotersteuerung 10 das Einlernen unter Verwendung der Gesamtheit des Roboters, des Abschnitts des Roboters, des Werkzeugs, wie einer Schweißpistole oder einer Klebstoffpistole, die am Roboter befestigt werden kann, oder des Arbeitsziels, das von dem Werkzeug verarbeitet oder bearbeitet werden soll, durchführen. Außerdem kann das Arbeitsziel, wie vorstehend erläutert, den bei der Kalibrierung des Roboters verwendeten Gegenstand (z.B. den Gegenstand, mit dem der bewegliche Teil des Roboters während der Kalibrierung in Kontakt kommt) sowie den vom Roboter zu verarbeitenden oder zu bearbeitenden Gegenstand usw. umfassen. Weiterhin kann die Robotersteuerung der vorliegenden Offenbarung ferner dazu verwendet werden, eine Simulation basierend auf dem Bewegungsprogramm durchzuführen (z.B. Überprüfung des Betriebs des Roboters oder des Auftretens von störenden Kontakten zwischen dem Roboter und dem Gegenstand, usw.), ohne den Roboter tatsächlich zu bewegen. So werden beispielsweise in der obigen Ausführungsform die Position und Ausrichtung des Roboters unter Verwendung des Modells spezifiziert, und die spezifizierte Position und Ausrichtung wird zum Einlernen des Programms verwendet. Ferner kann die Robotersteuerung die Anzeigevorrichtung so steuern, dass das Bild der Gesamtheit des virtuellen Roboters angezeigt wird, während es mit der tatsächlichen Umgebung unter Verwendung von einer die Position und Ausrichtung umfassenden Information überdeckt wird, und die Robotersteuerung kann dazu verwendet werden, zu überprüfen, ob der Roboter mit dem tatsächlichen Objekt in störenden Kontakt kommt.
  • Außerdem kann die Information, die die spezifizierte Position und Ausrichtung des Roboters umfasst, für eine andere Anwendung als die Lehre gemäß der Ausführungsform verwendet werden.
  • Als nächstes wird ein konkretes Beispiel für eine Konfiguration des Positions- und Ausrichtungserhaltungsabschnitts 20 zum Erhalten (Messen) der Positionsbeziehung zwischen dem Roboter 14 und der Anzeige 18 erläutert. Zunächst wird als herkömmliches Beispiel ein visueller Markierer, wie ein AR-Markierer (nicht dargestellt), am Roboter 14 angebracht. Der Positions- und Ausrichtungserhaltungsabschnitt 20 kann das Bild erkennen (oder verarbeiten), das durch das Aufnehmen des Markierers unter Verwendung der auf der Anzeigevorrichtung 18 montierten Kamera 32 oder 36 ( 3 oder 4) erhalten wurde, und kann die Positionsbeziehung zwischen der Kamera und dem Roboter unter Verwendung der Position, der Ausrichtung und der Größe des Markierers auf dem Bild berechnen.
  • In dem herkömmlichen Beispiel ist es notwendig, den Markierer vorher am Roboter anzuordnen (z.B. anzubringen oder zu drucken). Wenn der Roboter in einer relativ verschmutzten Umgebung usw. installiert wird, ist es daher notwendig, den Roboter (zumindest den Markierer) regelmäßig zu reinigen. Weiterhin muss der Benutzer die Anzeigevorrichtung an einer Position betreiben, an der die Anzeigevorrichtung den Markierer erfassen kann, und somit ist der bewegliche Bereich des Benutzers begrenzt. Obwohl das Bild des Roboters anstelle des Markierers verwendet werden kann, ist es andererseits notwendig, eine Mehrzahl von Bildern des Roboters zu erhalten, indem der Roboter in verschiedenen Richtungen aufgenommen wird, um den Roboter zu identifizieren.
  • Im Gegensatz dazu kann durch die Verwendung der Anzeigevorrichtung der vorliegenden Offenbarung die von dem Computer erzeugte Information angezeigt und mit der tatsächlichen Umgebung oder dem tatsächlichen Bild, das durch Aufnehmen der tatsächlichen Umgebung erhalten wird, überdeckt werden. In diesem Fall kann der Positions- und Ausrichtungserhaltungsabschnitt 20 die Positionsbeziehung zwischen der Anzeigevorrichtung und dem Roboter identifizieren, indem das 3D-Modell des auf der Anzeigevorrichtung angezeigten Roboters oder der am Roboter befestigten Gegenstand verwendet wird und indem eine Bedingung (oder ein Parameter) verwendet wird, wenn sich das 3D-Modell des Roboters oder des am Roboter befestigten Gegenstands mit dem tatsächlichen Roboter oder dem tatsächlichen Gegenstand überdeckt.
  • Im Folgenden werden die Beispiele (1-3) der Konfiguration zur Identifizierung der Positionsbeziehung zwischen der Anzeigevorrichtung und dem Roboter erläutert. Zunächst werden die wichtigsten in der folgenden Erklärung verwendeten Begriffe beschrieben. Ein „Roboter-Steuerpunkt“ ist ein repräsentativer Punkt, der zum Steuern der Bewegung des Roboters verwendet wird, und ein Werkzeugmittelpunkt (TCP) ist ein bevorzugtes Beispiel dafür. Ein „Weltkoordinatensystem“ ist ein für den Roboter definiertes Koordinatensystem, und dessen Ursprung entspricht einer Referenzposition des Roboters, die auf einem Unterteil des Roboters usw. eingestellt ist. So wird beispielsweise das Weltkoordinatensystem durch eine Bezugsziffer 84 in 2 angezeigt und in der Umgebung festgelegt.
  • Ein „Referenzkoordinatensystem“ kann durch den Steuerungsabschnitt der Anzeigevorrichtung, wie beispielsweise die AR-kompatible Anzeige, beliebig definiert werden. Wie beispielsweise durch eine Bezugsziffer 86 in 2 angegeben, ist das Referenzkoordinatensystem in der Umgebung festgelegt, und weist den Ursprung auf, der der Position der Kamera (oder des Benutzers) entsprechen kann, wenn der Benutzer den Einlernvorgang beginnt, usw. (z.B. wenn der Benutzer das Anzeigegerät startet). Wenn die Anzeigevorrichtung einen 3D-Sensor aufweist, können im Einzelnen 3D-Daten des Raumes, der den Benutzer umfasst, erhalten werden, und der Steuerungsabschnitt der Anzeigevorrichtung kann bestimmen, wo ein 3D-Modell der Hand usw. im Raum angezeigt werden soll. In einem solchen Fall kann das oben beschriebene Referenzkoordinatensystem als Referenz für die Bestimmung der Position des 3D-Raums verwendet werden.
  • (Erstes Beispiel)
  • 13 zeigt ein Bild, das der Benutzer 12 durch die Anzeigevorrichtung 18 betrachtet, und einen Zustand, in dem sich das virtuelle (3D-)Modell 22a der Hand 22 mit der tatsächlichen Hand 22 des Roboters 14 überdeckt. Abhängig von der Bedienung des Benutzers 12 werden die Position und Ausrichtung des 3D-Modells 22a auf dem Referenzkoordinatensystem 86 zuvor durch den Steuerungsabschnitt der Anzeigevorrichtung 18 usw. bestimmt. Andererseits werden abhängig von der Bedienung des Benutzers 12 oder des ausgeführten Programms die Position und Ausrichtung des Robotersteuerpunkts auf dem Weltkoordinatensystem zuvor durch den Steuerungsabschnitt zur Steuerung des Roboters usw. bestimmt. Wenn das 3D-Modell 22a des Werkzeugs (Hand) mit dem tatsächlichen Werkzeug 22 auf der Anzeige 34 der Anzeigevorrichtung 18 durch die Bedienung des Benutzers 12 in Übereinstimmung gebracht wird, kann daher die Positions- und Ausrichtungserhaltungsabschnitt 20 die Positionsbeziehung zwischen Roboter 14 und Anzeigevorrichtung 18 durch den folgenden Verfahrensablauf messen.
  • Die Anzeigevorrichtung 18 zeigt ein Modell eines Teils des Roboters 14, wie beispielsweise ein Modell des Endes des Roboters 14 oder ein Modell des Werkzeugs, wie beispielsweise die Hand 22a in 13, an. Dann bewegt der Betriebssteuerungsabschnitt 26 das Modell 22a gemäß dem die obige Gestenbewegung durchführenden Benutzer 12 so, dass der Benutzer 12 sehen kann, dass das Modell 22a mit der tatsächlichen Hand 22 übereinstimmt. Zu diesem Zeitpunkt kann der Steuerungsabschnitt der Anzeigevorrichtung 18 die Position des Ursprungs des Roboters 14 (Weltkoordinatensystem 84) berechnen, indem er die Position jeder Achse von dem Roboter 14 und bei Bedarf Information des Werkzeugkoordinatensystems von dem Steuerungsabschnitt des Roboters 14 empfängt. Aufgrund dieses Prozesses kann der Steuerungsabschnitt der Anzeigevorrichtung 18 die Position des 3D-Modells 22a als die tatsächliche Position des Werkzeugs 22 des Roboters 14 erkennen. Außerdem kann der Betriebssteuerungsabschnitt 26 die von dem Benutzer 12 ausgeführte Geste erkennen, indem er eine Vorlagenangleichung zwischen dem von der Kamera 32 oder 36 aufgenommenen Bild und Vorlagen, die verschiedenen Gesten entsprechen, durchführt oder indem er das Bild in einen Diskriminator (z.B. einen Diskriminator auf der Grundlage eines neuronalen Netzwerks) eingibt, der zuvor eingelernt wurde, um die auf dem Bild angezeigte Geste zu unterscheiden.
  • Der Steuerungsabschnitt der Anzeigevorrichtung 18 kann Information über die Positionsbeziehung zwischen dem Weltkoordinatensystem 84 und dem Referenzkoordinatensystem 86 (z.B. eine Umrechnungsmatrix vom Weltkoordinatensystem 84 zum Referenzkoordinatensystem 86) und Information über die Positionsbeziehung zwischen dem Referenzkoordinatensystem 86 und der Anzeigevorrichtung 18 (z.B. die Position und Ausrichtung der Anzeigevorrichtung 18 auf dem Referenzkoordinatensystem 86) an den Steuerungsabschnitt des Roboters 14 senden. Der Positions- und Ausrichtungserhaltungsabschnitt 20 kann die Position der Anzeigevorrichtung 18 auf dem Weltkoordinatensystem 84 unter Verwendung der empfangenen Information berechnen.
  • Hierin bedeutet der Begriff „Überdeckung“ und „Übereinstimmung“ einen Zustand, in dem die Position, die Ausrichtung und die Größe zwischen dem tatsächlichen Bild und dem virtuellen Bild alle gleich sind, oder einen Zustand, in dem die Differenz von jeweils der Position, der Ausrichtung und der Größe zwischen dem tatsächlichen Bild und dem virtuellen Bild innerhalb eines vorbestimmten Fehlerbereichs liegen (so dass der Benutzer die beiden Bilder als ein im Wesentlichen einzelnes Bild sehen kann). Ferner kann ein solcher Zustand automatisch durch die Verwendung der Vorlagenangleichung, usw. unterschieden werden. Wenn der Benutzer das tatsächliche und das virtuelle Bild als ein im Wesentlichen einzelnes Bild sieht oder erkennt, kann der Benutzer, alternativ oder zusätzlich, diesen Effekt in den Steuerungsabschnitt des Roboters oder den Steuerungsabschnitt der Anzeigevorrichtung eingeben.
  • Im ersten Beispiel wird das Modell des Teils des Roboters, wie beispielsweise das Werkzeug oder das Ende des Roboters, angezeigt. In diesem Zusammenhang kann das Modell zusammen mit einem Modell eines Arbeitsziels (z.B. ein von der Roboterhand gegriffener Gegenstand oder ein von einer am Roboter angebrachten Pistole zu bearbeitender Gegenstand usw.), das in einem Bewegungsbereich des Roboters vorhanden ist, angezeigt werden. In diesem Fall kann der Benutzer das Modell des Teils des Roboters oder des am Roboter befestigten Werkzeugs usw. so verschieben, dass das Modell des Arbeitsziels mit dem am Roboter oder am Werkzeug usw. angebrachten tatsächlichen Arbeitsziel übereinstimmt.
  • (Zweites Beispiel)
  • Im ersten Beispiel wird in Bezug auf den Teil des Roboters das virtuelle Bild mit dem tatsächlichen Bild oder der Umgebung in Übereinstimmung gebracht. Im zweiten Beispiel hingegen zeigt die Anzeigevorrichtung 18 ein 3D-Modell des gesamten Roboters an, und der Benutzer bewegt das 3D-Modell so, dass es mit dem tatsächlichen Roboter übereinstimmt oder sich mit dem tatsächlichen Roboter überdeckt. In diesem Zustand kann der Steuerungsabschnitt der Anzeigevorrichtung 18 die Position (z.B. den Ursprung) des 3D-Modells als die Position erkennen, an der sich (der Ursprung usw.) des Roboters 14 tatsächlich befindet. Weiterhin kann der Positions- und Ausrichtungserhaltungsabschnitt 20 die Position der Anzeigevorrichtung 18 auf dem Weltkoordinatensystem 84 durch einen Verfahrensablauf berechnen, der dem Verfahrensablauf im ersten Beispiel ähnelt.
  • Auf diese Weise kann der Positions- und Ausrichtungserhaltungsabschnitt 20 die Positionsbeziehung zwischen Roboter 14 und Anzeigevorrichtung 18 erhalten, indem er die Positionsbeziehung zwischen dem Weltkoordinatensystem 84 und dem Referenzkoordinatensystem 86 verwendet und die Position des virtuellen Bildes (Modells) auf der Anzeigevorrichtung 18, wenn das tatsächliche Bild und das auf der Anzeigevorrichtung 18 angezeigte virtuelle Bild in Übereinstimmung gebracht worden sind, verwendet. Bevorzugt weist die Anzeigevorrichtung 18 einen Sensor, wie beispielsweise einen 3D-Sensor, auf, der dazu konfiguriert ist, mindestens eine von der Positionen und Ausrichtung der Anzeigevorrichtung 18 relativ zum Referenzkoordinatensystem 86 zu messen. Im ersten und zweiten Beispiel betreibt oder bewegt die Robotersteuerung das virtuelle Modell so, dass das virtuelle Modell mit dem tatsächlichen Objekt übereinstimmt. Alternativ kann der tatsächliche Roboter so betrieben oder bewegt werden, dass das tatsächliche Objekt mit dem virtuellen Modell übereinstimmt. Ferner kann durch einen Verfahrensablauf ähnlich dem obigen Verfahrensablauf der Positions- und Ausrichtungserhaltungsabschnitt 20 die Positionsbeziehung zwischen dem Roboter 14 und der Anzeigevorrichtung 18 erhalten, indem er die tatsächliche Position und Ausrichtung des Objekts verwendet, wenn das virtuelle Modell mit dem in der tatsächlichen Umgebung umfassten Objekt oder dem auf dem tatsächlichen Bild dargestellten Objekt in Übereinstimmung gebracht worden ist. Außerdem kann der Positions- und Ausrichtungserhaltungsabschnitts 20 bei Bedarf auch nur eine von der Position und Ausrichtung der Anzeigevorrichtung 18 in Bezug auf den Roboter 14 erhalten.
  • (Drittes Beispiel)
  • Im ersten und zweiten Beispiel wird in Bezug auf eine Position das virtuelle Bild des gesamten oder eines Teils des Roboters mit dem tatsächliche Bild oder der tatsächlichen Umgebung in Übereinstimmung gebracht. Alternativ kann der Betriebsvorgang an einer Mehrzahl von Positionen durchgeführt werden, um Fehler an den Positionen zu mitteln, wodurch eine Genauigkeit des Betriebsvorgangs erhöht werden kann. Als konkretes Verfahren hierfür kann ein Dreipunkte-Einlernverfahren zum Einlernen eines Koordinatensystems an dem Roboter (wie unten erläutert) oder ein Vierpunkte-Einlernverfahren verwendet werden.
  • Bei dem Dreipunkte-Einlernverfahren wird zunächst an einer beliebigen ersten Position das virtuelle Modell 22a durch die Bedienung des Benutzers mit der Hand 22 des tatsächlichen Roboters 14 in Übereinstimmung gebracht. Dann wird durch einen Verfahrensablauf ähnlich dem ersten Beispiel die Positionsbeziehung zwischen dem Roboter und der Anzeigevorrichtung im Steuerungsabschnitt der Anzeigevorrichtung gespeichert. Als Nächstes bewegt die Robotersteuerung 10 den tatsächlichen Roboter 14 (dessen Hand 22) von der ersten Position in eine zweite Position, die von der ersten Position durch einen beliebigen Abstand in X-Richtung des Weltkoordinatensystems 84 getrennt ist. Dann wird, ähnlich wie oben, das virtuelle Modell 22a durch die Bedienung des Benutzers mit der Hand 22 des tatsächlichen Roboters 14 in Übereinstimmung gebracht, und die Positionsbeziehung zwischen dem Roboter und der Anzeigevorrichtung wird im Steuerungsabschnitt der Anzeigevorrichtung gespeichert. Zuletzt bewegt die Robotersteuerung 10 (Hand 22) den tatsächlichen Roboter 14 von der zweiten Position in eine dritte Position, die von der zweiten Position durch einen beliebigen Abstand in Y-Richtung des Weltkoordinatensystems 84 getrennt ist. Dann wird, ähnlich wie oben, das virtuelle Modell 22a durch die Bedienung des Benutzers mit der Hand 22 in Übereinstimmung gebracht, und die Positionsbeziehung zwischen dem Roboter und der Anzeigevorrichtung wird im Steuerungsteil der Anzeigevorrichtung gespeichert. Durch Mittelung der Mehrzahl von relativen Positionen, die durch den obigen Verfahrensablauf usw. erhalten werden, kann der Positions- und Ausrichtungserhaltungsabschnitt 20 eine genauere Positionsbeziehung zwischen dem Weltkoordinatensystem 84 und dem Referenzkoordinatensystem 86 berechnen. Im dritten Beispiel kann das ähnliche Ergebnis erzielt werden, wenn der Steuerungsabschnitt der Anzeigevorrichtung durch den Steuerungsabschnitt des Roboters ersetzt wird und das Weltkoordinatensystem durch das Referenzkoordinatensystem ersetzt wird. Das Vierpunkte-Einlernverfahren, das zum Einstellen eines Werkzeugkoordinatensystem für den Roboter verwendet wurde, kann ebenfalls verwendet werden.
  • Im ersten, zweiten und dritten Beispiel kann die Positionsbeziehung zwischen dem tatsächlichen Roboter und der Anzeigevorrichtung (z.B. der AR-kompatiblen Anzeige) mit hoher Genauigkeit ermittelt werden, und darüber hinaus kann im Vergleich zu einem herkömmlichen Bilderkennungsverfahren ein Arbeitsaufwand für die Wartung und/oder eine Bearbeitungszeit deutlich reduziert werden. In jedem Beispiel, wie vorstehend beschrieben, weist in Verbindung mit der Positionsbeziehung zwischen dem Weltkoordinatensystem und dem Referenzkoordinatensystem jeder Roboter und die Anzeigevorrichtung den Steuerungsabschnitt auf. Jedoch kann dem Roboter oder der Anzeigevorrichtung im Wesentlichen ein Steuerabschnitt mit den Funktionen der beiden oben genannten Steuerabschnitte zur Verfügung gestellt werden. Alternativ kann der im Wesentlichen eine Steuerabschnitt auch einer weiteren separaten Vorrichtung, wie etwa einem Personalcomputer, zur Verfügung gestellt werden. Das Betreiben des Modells in jedem der oben beschriebenen Beispiele kann mit Hilfe der Geste, eines Touch Panels, eines Zeigegeräts, wie einem Joypad oder einem Joystick, das zum Bedienen eines Spielautomaten verwendet, eines Programmierhandgeräts usw. durchgeführt werden.
  • Indessen kann sich der Benutzer während der Ausführung des Betriebsvorgangs, wie beispielsweise der vorstehend beschriebenen Gestenbewegung oder des Einlernen, relativ zu dem tatsächlichen Roboter bewegen, unabhängig davon, ob absichtlich oder nicht, wodurch die Positionsbeziehung zwischen dem Roboter und der Anzeigevorrichtung geändert werden kann. Falls der Roboter auf einem beweglichen Schlitten usw. montiert ist, kann ferner der Roboter relativ zum Benutzer bewegt werden, auch wenn sich der Benutzer nicht bewegt. In einem solchen Fall kann es notwendig sein, die Positionsbeziehung zwischen der Anzeigevorrichtung und dem Roboter erneut zu messen.
  • Daher wird bevorzugt, dass mindestens eines von dem Roboter und der Anzeigevorrichtung mit einer Verfolgungseinheit ausgestattet ist, die dazu konfiguriert ist, die relative Position und Ausrichtung zwischen dem Roboter und der Anzeigevorrichtung zu verfolgen und zu berechnen. Dadurch kann selbst dann, wenn sich die Positionsbeziehung zwischen dem Benutzer (oder der Anzeigevorrichtung) und dem Roboter geändert hat, das in der tatsächlichen Umgebung angezeigte (überdeckte) Modell abhängig vom Betrag der Bewegung korrekt bewegt werden. So kann beispielsweise ein Sensor, der Licht, wie einen Laserstrahl oder ein Infrarotlicht, verwendet, ein Ultraschallsensor, ein Magnetsensor, ein Trägheitssensor oder ein Gyrosensor als Verfolgungseinheit verwendet werden (siehe z.B. Bezugsziffer 67 (3) oder 69 (4) der Anzeigevorrichtung 18), und die Verfolgungseinheit kann zumindest für den Roboter und die Anzeigevorrichtung bereitgestellt werden. Aus diesem Grund kann bei einer Änderung der Positionsbeziehung zwischen der Anzeigevorrichtung und dem Roboter die genaue Positionsbeziehung erhalten werden, ohne die Positionsbeziehung nochmals zu messen.
  • Falls der Roboter auf dem Schlitten montiert ist und die obige Verfolgungseinheit an dem Schlitten vorgesehen ist, kann nach einmaliger Messung der Positionsbeziehung zwischen der Anzeigevorrichtung und dem Roboter die Positionsbeziehung selbst dann erhalten werden, wenn der Roboter bewegt wird. Somit kann korrekt beurteilt werden, ob der tatsächliche Roboter die eingelernte Position erreichen kann. Wenn das 3D-Modell des Roboters in der Bewegungssimulation des Roboters dargestellt werden soll, kann weiterhin die Bewegung des 3D-Modells korrekt dargestellt werden. Anstatt den Schlitten zu verwenden, kann der Roboter auf einer Schiene oder einer kreisförmigen Drehscheibe montiert werden, die von einem Servomotor usw. angetrieben wird, über welchen ein Bewegungsbetrag der Schiene oder der Scheibe erhalten werden kann. In diesem Fall kann ein Mittel (z.B. ein Encoder) zum Erfassen des Bewegungsbetrags als die Verfolgungseinheit verwendet werden.
  • Obwohl das Head-Mounted-Display als Anzeigevorrichtung in der obigen Ausführungsform verwendet wird, ist es offensichtlich, dass die gleiche Bedienung und Verfahrensweise angewendet werden kann, wenn stattdessen ein Tablet-Computer verwendet wird.
  • Obwohl in der obigen Ausführungsform der Roboter mit sechs oder sieben Achsen verwendet wird, ist die Anzahl der Achsen des Roboters als solche nicht begrenzt. Daher kann die Robotersteuerung der vorliegenden Offenbarung auch einen Roboter mit einer Mehrzahl von (außer sechs oder sieben) Achsen steuern.
  • Die obige Ausführungsform nutzt die erweiterte Realität und die gemischte Realität, und der Benutzer betreibt (bewegt oder dreht) das virtuelle Modell, das durch die Gestenbewegung mit der tatsächlichen Umgebung überdeckt wird, wodurch der Benutzer den Roboter einlernen kann, während es sich anfühlt, als ob der Benutzer den tatsächlichen Roboter oder das tatsächliche Objekt bewegt. Daher kann der Benutzer den Betriebsvorgang, wie etwa das Einlernen usw., schnell und intuitiv durchführen. Da es nicht notwendig ist, vorab ein Modell des Werkstücks oder der Peripheriegeräte usw., die um den Roboter herum vorhanden sind, zu erstellen, kann eine Arbeitsbelastung im Vergleich zur virtuellen Realität reduziert werden, und ferner kann die Genauigkeit und Zuverlässigkeit des Einlernens und der Simulation verbessert werden. Darüber hinaus ist es nicht erforderlich, dass der Benutzer das tatsächliche Objekt, wie das Programmierhandgerät oder den Roboterkörper, hält und den tatsächlichen Roboter mit der Hand oder der Jog-Bewegung usw. bewegt. Daher kann die Robotersteuerung der vorliegenden Offenbarung die Belastung und Ermüdung des Benutzers, die Betriebszeit und die Energiekosten reduzieren.
  • Gemäß der vorliegenden Offenbarung wird das angezeigte virtuelle Modell des Roboters, das sich mit der tatsächlichen Umgebung überdeckt, basierend auf der Bewegung des Benutzers bewegt, ohne den tatsächlichen Roboter zu bewegen. Daher kann der Benutzer den Betriebsvorgang, wie das Einlernen, intuitiv ausführen, während es sich anfühlt, als ob der Benutzer den tatsächlichen Roboter bewegt.

Claims (10)

  1. Robotersteuerung (10), umfassend: eine Anzeigevorrichtung (18), die dazu konfiguriert ist, eine von einem Computer erzeugte Information so anzuzeigen, dass sich die Information mit einer tatsächlichen Umgebung oder einem tatsächlichen Bild, das durch das Aufnehmen der tatsächlichen Umgebung erhalten wird, überdeckt; einen Positions- und Ausrichtungserhaltungsabschnitt (20), der dazu konfiguriert ist, eine relative Position und Ausrichtung zwischen der Anzeigevorrichtung und einem in der tatsächlichen Umgebung umfassten Roboter (14) zu erhalten; einen Anzeigesteuerungsabschnitt (24), der dazu konfiguriert ist, die Anzeigevorrichtung so zu steuern, dass die Anzeigevorrichtung ein virtuelles Modell von mindestens einem Objekt des Roboters, einem beweglichen Teil (22) des Roboters, einem durch den beweglichen Teil abgestützten Gegenstand und einem Arbeitsziel (42) des beweglichen Teils anzeigt; einen Betriebssteuerungsabschnitt (26), der dazu konfiguriert ist, das auf der Anzeigevorrichtung angezeigte virtuelle Modell zu betreiben; und einen Positions- und Ausrichtungsbestimmungsabschnitt (28), der dazu konfiguriert ist, mindestens eine von der Position und Ausrichtung des Roboters unter Verwendung von mindestens einer von der Position und Ausrichtung des von dem Betriebssteuerungsabschnitt betriebenen virtuellen Modells und unter Verwendung der durch den Positions- und Ausrichtungserhaltungsabschnitt erhaltenen relativen Position und Ausrichtung zu bestimmen.
  2. Robotersteuerungsvorrichtung nach Anspruch 1, dadurch gekennzeichnet, dass die Anzeigevorrichtung eine Head-Mounted-Display-Vorrichtung oder ein mobiles Endgerät ist, das eine Kamera (32, 36), die dazu konfiguriert ist, die tatsächliche Umgebung aufzunehmen, und eine Anzeige (34, 38), die dazu konfiguriert ist, das von der Kamera in Echtzeit erhaltene tatsächliche Bild anzuzeigen, aufweist.
  3. Robotersteuerung nach Anspruch 1, dadurch gekennzeichnet, dass die Anzeigevorrichtung eine Head-Mounted-Display-Vorrichtung mit einer transmissiven Anzeige (34) ist.
  4. Robotersteuerung nach einem der Ansprüche 1 bis 3, dadurch gekennzeichnet, dass der Positions- und Ausrichtungsbestimmungsabschnitt (28) dazu konfiguriert ist, zu beurteilen, ob der Roboter tatsächlich mindestens eine von der Position und Ausrichtung des Roboters (14) erreichen kann oder nicht, die durch mindestens eine von der Position und Ausrichtung des durch den Betriebssteuerungsabschnitt betriebenen virtuellen Modells zugewiesen werden, indem mindestens eine von der Position und Ausrichtung des virtuellen Modells verwendet wird, und indem die durch den Positions- und Ausrichtungserhaltungsabschnitt (20) erhaltene relative Position und Ausrichtung verwendet wird, und mindestens eine von der Position und Ausrichtung des Roboters unter Verwendung von mindestens einer von der Position und Ausrichtung des virtuellen Modells zu bestimmen, falls der Roboter tatsächlich mindestens eine von der zugewiesenen Position und Ausrichtung des Roboters erreichen kann.
  5. Robotersteuerung nach einem der Ansprüche 1 bis 4, dadurch gekennzeichnet, dass die Robotersteuerung ferner einen Programmerzeugungsabschnitt (30) umfasst, der dazu konfiguriert ist, ein Bewegungsprogramm des Roboters unter Verwendung von mindestens einer von der durch den Positions- und Ausrichtungsbestimmungsabschnitt (28) bestimmten Position und Ausrichtung des Roboters zu erzeugen.
  6. Robotersteuerung nach einem der Ansprüche 1 bis 5, dadurch gekennzeichnet, dass mindestens eines von dem Roboter und der Anzeigevorrichtung mit einer Verfolgungseinheit (67, 69) versehen ist, die dazu konfiguriert ist, die relative Position und Ausrichtung zu verfolgen und zu berechnen.
  7. Robotersteuerung (10), umfassend: eine Anzeigevorrichtung (18), die dazu konfiguriert ist, von einem Computer erzeugte Information so anzuzeigen, dass sich die Information mit einer tatsächlichen Umgebung oder einem tatsächlichen Bild, das durch Aufnehmen der tatsächlichen Umgebung erhalten wird, überdeckt; einen Anzeigesteuerungsabschnitt (24), der dazu konfiguriert ist, die Anzeigevorrichtung so zu steuern, dass die Anzeigevorrichtung ein virtuelles Modell von mindestens einem Objekt eines in der tatsächlichen Umgebung umfassten Roboters (14), einem beweglichen Teil (22) des Roboters, einem durch den beweglichen Teil abgestützten Gegenstand und einem Arbeitsziel (42) des beweglichen Teils anzeigt; einen Betriebssteuerungsabschnitt (26), der dazu konfiguriert ist, das auf der Anzeigevorrichtung angezeigte virtuelle Modell zu betreiben; und einen Positions- und Ausrichtungserhaltungsabschnitt (20), der dazu konfiguriert ist, mindestens eine von einer relativen Position und Ausrichtung zwischen dem Roboter und der Anzeigevorrichtung zu erhalten, indem mindestens eine von der Position und Ausrichtung des in der tatsächlichen Umgebung umfassten Objekts oder mindestens eine von der Position und Ausrichtung des auf der Anzeigevorrichtung angezeigten virtuellen Modells verwendet wird, falls das in der tatsächlichen Umgebung umfasste Objekt und das auf der Anzeigevorrichtung angezeigte virtuelle Modell miteinander übereinstimmen oder das Objekt und das in dem tatsächlichen Bild auf der Anzeigevorrichtung dargestellte virtuelle Modell miteinander übereinstimmen.
  8. Robotersteuerung nach Anspruch 7, dadurch gekennzeichnet, dass der Positions- und Ausrichtungserhaltungsabschnitt (20) dazu konfiguriert ist, mindestens eine von der relativen Position und Ausrichtung zwischen dem Roboter und der Anzeigevorrichtung zu erhalten, indem eine Positionsbeziehung zwischen einem durch einen Steuerungsabschnitt des Roboters (14) definierten Koordinatensystem und einem durch einen Steuerungsabschnitt der Anzeigevorrichtung (18) definierten Koordinatensystem verwendet wird, und indem mindestens eine von der Position und Ausrichtung des in der tatsächlichen Umgebung umfassten Objekts oder mindestens eine von der Position und Ausrichtung des auf der Anzeigevorrichtung angezeigten virtuellen Modells verwendet wird, falls das in der tatsächlichen Umgebung umfasste Objekt und das auf der Anzeigevorrichtung angezeigte virtuelle Modell miteinander übereinstimmen oder das Objekt und das in dem tatsächlichen Bild auf der Anzeigevorrichtung dargestellte virtuelle Modell miteinander übereinstimmen.
  9. Anzeigevorrichtung, umfassend: einen Anzeigeabschnitt (18), der dazu konfiguriert ist, eine von einem Computer erzeugte Information so anzuzeigen, dass sich die Information mit einer tatsächlichen Umgebung oder einem tatsächlichen Bild, das durch Aufnehmen der tatsächlichen Umgebung erhalten wird, überdeckt; einen Positions- und Ausrichtungserhaltungsabschnitt (20), der dazu konfiguriert ist, eine relative Position und Ausrichtung zwischen dem Anzeigeabschnitt und einem in der tatsächlichen Umgebung umfassten Roboter (14) zu erhalten; einen Anzeigesteuerungsabschnitt (24), der dazu konfiguriert ist, den Anzeigeabschnitt so zu steuern, dass der Anzeigeabschnitt ein virtuelles Modell von mindestens einem Objekt des Roboters, einem beweglichen Teil des Roboters, einem durch den beweglichen Teil abgestützten Gegenstand und einem Arbeitsziel des beweglichen Teils anzeigt; einen Betriebssteuerungsabschnitt (26), der dazu konfiguriert ist, das auf dem Anzeigeabschnitt angezeigte virtuelle Modell zu betreiben; und einen Positions- und Ausrichtungsbestimmungsabschnitt (28), der dazu konfiguriert ist, mindestens eine von der Position und Ausrichtung des Roboters unter Verwendung von mindestens einer von der Position und Ausrichtung des von dem Betriebssteuerungsabschnitt betriebenen virtuellen Modells und unter Verwendung der durch den Positions- und Ausrichtungserhaltungsabschnitts erhaltenen relativen Position und Ausrichtung zu bestimmen.
  10. Anzeigevorrichtung, umfassend: einen Anzeigeabschnitt (18), der dazu konfiguriert ist, eine von einem Computer erzeugte Information so anzuzeigen, dass sich die Information mit einer tatsächlichen Umgebung oder einem tatsächlichen Bild, das durch Aufnehmen der tatsächlichen Umgebung erhalten wird, überdeckt; einen Anzeigesteuerungsabschnitt (24), der dazu konfiguriert ist, den Anzeigeabschnitt so zu steuern, dass der Anzeigeabschnitt ein virtuelles Modell von mindestens einem Objekt eines in der tatsächlichen Umgebung umfassten Roboters, einem beweglichen Teil (22) des Roboters, einem durch den beweglichen Teil abgestützten Gegenstand und einem Arbeitsziel (42) des beweglichen Teils anzeigt; einen Betriebssteuerungsabschnitt (26), der dazu konfiguriert ist, das auf dem Anzeigeabschnitt angezeigte virtuelle Modell zu betreiben; und einen Positions- und Ausrichtungserhaltungsabschnitt (20), der dazu konfiguriert ist, mindestens eine von einer relativen Position und Ausrichtung zwischen dem Roboter und dem Anzeigeabschnitt zu erhalten, indem mindestens eine von der Position und Ausrichtung des in der tatsächlichen Umgebung umfassten Objekts oder mindestens eine von der Position und Ausrichtung des in dem Anzeigeabschnitt angezeigten virtuellen Modells verwendet wird, falls das in der tatsächlichen Umgebung umfasste Objekt und das in dem Anzeigeabschnitt angezeigte virtuelle Modell miteinander übereinstimmen oder das Objekt und das in dem tatsächlichen Bild auf dem Anzeigeabschnitt dargestellte virtuelle Modell miteinander übereinstimmen.
DE102019006800.9A 2018-10-02 2019-09-30 Robotersteuerung und Anzeigevorrichtung unter Verwendung von erweiterter Realität und gemischter Realität Active DE102019006800B4 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2018187680A JP6787966B2 (ja) 2018-10-02 2018-10-02 拡張現実と複合現実を用いたロボット制御装置及び表示装置
JP2018-187680 2018-10-02

Publications (2)

Publication Number Publication Date
DE102019006800A1 DE102019006800A1 (de) 2020-04-02
DE102019006800B4 true DE102019006800B4 (de) 2022-07-28

Family

ID=69781118

Family Applications (2)

Application Number Title Priority Date Filing Date
DE102019009313.5A Active DE102019009313B4 (de) 2018-10-02 2019-09-30 Robotersteuerung, Verfahren und Computerprogramm unter Verwendung von erweiterter Realität und gemischter Realität
DE102019006800.9A Active DE102019006800B4 (de) 2018-10-02 2019-09-30 Robotersteuerung und Anzeigevorrichtung unter Verwendung von erweiterter Realität und gemischter Realität

Family Applications Before (1)

Application Number Title Priority Date Filing Date
DE102019009313.5A Active DE102019009313B4 (de) 2018-10-02 2019-09-30 Robotersteuerung, Verfahren und Computerprogramm unter Verwendung von erweiterter Realität und gemischter Realität

Country Status (4)

Country Link
US (1) US11724388B2 (de)
JP (1) JP6787966B2 (de)
CN (1) CN110977931B (de)
DE (2) DE102019009313B4 (de)

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20210007774A (ko) * 2019-07-12 2021-01-20 엘지전자 주식회사 로봇 시뮬레이터의 표시 방법
JP7409848B2 (ja) * 2019-12-04 2024-01-09 ファナック株式会社 表示装置及び表示プログラム
WO2021118458A1 (en) * 2019-12-09 2021-06-17 Augmentus Pte. Ltd. Method and system for programming a robot
US20210316458A1 (en) * 2020-04-08 2021-10-14 Smart Building Tech Co., Ltd. Cloud based computer-implemented visually programming method and system for robotic motions in construction
DE102020206403A1 (de) 2020-05-22 2021-11-25 Kuka Deutschland Gmbh Konfigurieren, Durchführen und/oder Analysieren einer Applikation eines mobilen und/oder kollaborativen Roboters
CN113760088A (zh) * 2020-06-04 2021-12-07 史克威尔·艾尼克斯有限公司 增强现实显示装置以及记录介质
CN111805540A (zh) * 2020-08-20 2020-10-23 北京迁移科技有限公司 工件抓取位姿的确定方法、装置、设备及存储介质
DE102020006304B3 (de) 2020-10-14 2022-01-13 Kuka Systems Gmbh Verfahren zum Einblenden von virtuellen Roboterdatenobjekten und Computerprogrammprodukt
TW202218836A (zh) * 2020-11-02 2022-05-16 日商發那科股份有限公司 機器人控制裝置及機器人系統
JP2022088884A (ja) * 2020-12-03 2022-06-15 セイコーエプソン株式会社 コンピュータープログラム、及び、ロボットの教示方法
CN112936261B (zh) * 2021-01-27 2022-07-08 南京航空航天大学 一种基于增强现实技术的工业机器人现场仿真系统与方法
CN112917457A (zh) * 2021-01-27 2021-06-08 南京航空航天大学 一种基于增强现实技术的工业机器人快速精准示教系统及方法
CN112947238B (zh) 2021-03-15 2021-11-09 哈尔滨工业大学 一种基于vr技术的工业机器人实时控制系统
JP2022142452A (ja) * 2021-03-16 2022-09-30 本田技研工業株式会社 制御装置、制御方法、およびプログラム
US20220309753A1 (en) * 2021-03-25 2022-09-29 B/E Aerospace, Inc. Virtual reality to assign operation sequencing on an assembly line
CN113814970B (zh) * 2021-08-12 2023-05-23 杭州迁移科技有限公司 工件抓取点优化计算方法、装置、设备及存储介质
CN114518731B (zh) * 2022-01-27 2023-03-31 哈尔滨工程大学 可远程应用的大场景工业现场无标记增强现实辅助制造和运维系统
DE102022206854A1 (de) 2022-07-05 2024-01-11 Robert Bosch Gesellschaft mit beschränkter Haftung Überwachung einer Maschine mit prädizierter Sicht
JP7364285B1 (ja) 2022-11-11 2023-10-18 高丸工業株式会社 ロボット操作システムの動作方法

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE10063089C1 (de) 2000-12-18 2002-07-25 Siemens Ag Anwendergesteuerte Verknüpfung von Informationen innerhalb eines Augmented-Reality-Systems
JP2004209641A (ja) 2002-12-30 2004-07-29 Abb Res Ltd 工業ロボットをプログラミングするための方法およびシステム
JP2012171024A (ja) 2011-02-17 2012-09-10 Japan Science & Technology Agency ロボットシステム
DE102015015503A1 (de) 2014-12-08 2016-06-09 Fanuc Corporation Robotersystem, das eine mit erweiterter Realität kompatible Anzeige aufweist
DE102016123945A1 (de) 2015-12-10 2017-06-14 Fanuc Corporation Mit einem Videoanzeigegerät, das ein Bild eines virtuellen Objekts überlagernd auf einem realen Bild eines Roboters anzeigt, ausgestattetes Robotersystem
US20170203438A1 (en) 2015-03-04 2017-07-20 The Johns Hopkins University Robot control, training and collaboration in an immersive virtual reality environment
JP2017138609A (ja) 2017-03-09 2017-08-10 セイコーエプソン株式会社 頭部装着型表示装置および頭部装着型表示装置の制御方法
JP2017523054A (ja) 2014-07-16 2017-08-17 エックス デベロップメント エルエルシー ロボット装置用仮想セーフティケージ
DE102016224774B3 (de) 2016-12-13 2018-01-25 Audi Ag Verfahren zur Programmierung eines Messroboters und Programmiersystem
US20180267314A1 (en) 2017-03-16 2018-09-20 Denso Wave Incorporated Information display system

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5742862B2 (ja) 2013-03-18 2015-07-01 株式会社安川電機 ロボット装置及び被加工物の製造方法
US9393699B1 (en) * 2014-12-05 2016-07-19 Google Inc. Methods and systems for wireless control of a robotic device
US10076840B2 (en) * 2015-04-03 2018-09-18 Canon Kabushiki Kaisha Information processing apparatus, information processing method, and program
US9919427B1 (en) * 2015-07-25 2018-03-20 X Development Llc Visualizing robot trajectory points in augmented reality
US9916506B1 (en) * 2015-07-25 2018-03-13 X Development Llc Invisible fiducial markers on a robot to visualize the robot in augmented reality
US20190088162A1 (en) * 2016-03-04 2019-03-21 Covidien Lp Virtual and/or augmented reality to provide physical interaction training with a surgical robot
US10956739B2 (en) * 2016-06-27 2021-03-23 Autodesk, Inc. Augmented reality robotic system visualization
JP2018015857A (ja) * 2016-07-29 2018-02-01 セイコーエプソン株式会社 制御装置、及びロボット
US10414046B1 (en) * 2016-11-07 2019-09-17 X Development Llc Modular robot design
JP6889574B2 (ja) * 2017-03-03 2021-06-18 株式会社キーエンス ロボット設定装置、ロボット設定方法、ロボット設定プログラム及びコンピュータで読み取り可能な記録媒体並びに記録した機器
US11030808B2 (en) * 2017-10-20 2021-06-08 Ptc Inc. Generating time-delayed augmented reality content
WO2019046559A1 (en) * 2017-08-30 2019-03-07 Linkedwyz UTILIZING INCREASED REALITY TO CONTROL INTELLIGENT DEVICES
WO2019043568A1 (en) * 2017-08-30 2019-03-07 Compedia Software and Hardware Development Ltd. ASSISTED ENHANCED REALITY
JP7066357B2 (ja) * 2017-08-31 2022-05-13 川崎重工業株式会社 ロボットシステム及びその運転方法
JP7259284B2 (ja) 2017-11-28 2023-04-18 株式会社デンソーウェーブ 教示装置、教示方法
WO2019120481A1 (en) * 2017-12-19 2019-06-27 Abb Schweiz Ag System and method for determining a transformation representation
DE102018109463C5 (de) * 2018-04-19 2023-10-05 Voraus Robotik Gmbh Verfahren zur Benutzung einer mehrgliedrigen aktuierten Kinematik, vorzugsweise eines Roboters, besonders vorzugsweise eines Knickarmroboters, durch einen Benutzer mittels einer mobilen Anzeigevorrichtung

Patent Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE10063089C1 (de) 2000-12-18 2002-07-25 Siemens Ag Anwendergesteuerte Verknüpfung von Informationen innerhalb eines Augmented-Reality-Systems
JP2004209641A (ja) 2002-12-30 2004-07-29 Abb Res Ltd 工業ロボットをプログラミングするための方法およびシステム
JP2012171024A (ja) 2011-02-17 2012-09-10 Japan Science & Technology Agency ロボットシステム
JP2017523054A (ja) 2014-07-16 2017-08-17 エックス デベロップメント エルエルシー ロボット装置用仮想セーフティケージ
DE102015015503A1 (de) 2014-12-08 2016-06-09 Fanuc Corporation Robotersystem, das eine mit erweiterter Realität kompatible Anzeige aufweist
JP2016107379A (ja) 2014-12-08 2016-06-20 ファナック株式会社 拡張現実対応ディスプレイを備えたロボットシステム
US20170203438A1 (en) 2015-03-04 2017-07-20 The Johns Hopkins University Robot control, training and collaboration in an immersive virtual reality environment
DE102016123945A1 (de) 2015-12-10 2017-06-14 Fanuc Corporation Mit einem Videoanzeigegerät, das ein Bild eines virtuellen Objekts überlagernd auf einem realen Bild eines Roboters anzeigt, ausgestattetes Robotersystem
JP2017104944A (ja) 2015-12-10 2017-06-15 ファナック株式会社 仮想物体の画像をロボットの映像に重畳表示する映像表示装置を備えるロボットシステム
DE102016224774B3 (de) 2016-12-13 2018-01-25 Audi Ag Verfahren zur Programmierung eines Messroboters und Programmiersystem
JP2017138609A (ja) 2017-03-09 2017-08-10 セイコーエプソン株式会社 頭部装着型表示装置および頭部装着型表示装置の制御方法
US20180267314A1 (en) 2017-03-16 2018-09-20 Denso Wave Incorporated Information display system

Also Published As

Publication number Publication date
US11724388B2 (en) 2023-08-15
JP2020055075A (ja) 2020-04-09
JP6787966B2 (ja) 2020-11-18
US20200101599A1 (en) 2020-04-02
DE102019009313B4 (de) 2024-02-15
DE102019006800A1 (de) 2020-04-02
CN110977931A (zh) 2020-04-10
CN110977931B (zh) 2023-11-28

Similar Documents

Publication Publication Date Title
DE102019006800B4 (de) Robotersteuerung und Anzeigevorrichtung unter Verwendung von erweiterter Realität und gemischter Realität
DE102019002898B4 (de) Robotersimulationsvorrichtung
EP1447770B1 (de) Verfahren und Vorrichtung zur Visualisierung rechnergestützter Informationen
DE102018109463B3 (de) Verfahren zur Benutzung einer mehrgliedrigen aktuierten Kinematik, vorzugsweise eines Roboters, besonders vorzugsweise eines Knickarmroboters, durch einen Benutzer mittels einer mobilen Anzeigevorrichtung
DE102018009023B4 (de) Einlernvorrichtung zum Ausführen von Robotereinlernvorgängen und Einlernverfahren
EP1521211B1 (de) Verfahren und Vorrichtung zum Bestimmen von Position und Orientierung einer Bildempfangseinrichtung
DE60127644T2 (de) Lehrvorrichtung für einen Roboter
DE102018213985B4 (de) Robotersystem
DE102015015503B4 (de) Robotersystem, das eine mit erweiterter Realität kompatible Anzeige aufweist
DE102007033486B4 (de) Verfahren und System zur Vermischung eines virtuellen Datenmodells mit einem von einer Kamera oder einer Darstellungsvorrichtung generierten Abbild
DE102015000587B4 (de) Roboterprogrammiervorrichtung zum Erstellen eines Roboterprogramms zum Aufnehmen eines Bilds eines Werkstücks
DE102018112403B4 (de) Robotersystem, das informationen zur unterweisung eines roboters anzeigt
DE102017128543B4 (de) Störbereich-einstellvorrichtung für einen mobilen roboter
DE102017124502B4 (de) Simulationsvorrichung und Simulationsverfahren, die eine Betriebssimulation eines Robotersystems ausführen, und Aufzeichnungsmedium, das ein Computerprogramm aufzeichnet
DE202008014481U1 (de) Tragbares Roboterkontrollgerät zum Kontrollieren einer Bewegung eines Roboters
DE102019122865B4 (de) Erfassungssystem, Arbeitssystem, Anzeigeverfahren für ein Erweiterte-Realität-Bild und Programm
DE102019119319A1 (de) Abtastsystem, Arbeitssystem, Verfahren zum Anzeigen von Augmented-Reality-Bildern, Verfahren zum Speichern von Augmented-Reality-Bildern und Programme dafür
EP2012208B1 (de) Programmierhandgerät
DE102020129967A1 (de) Simulationsvorrichtung und Robotersystem mit erweiterter Realität
EP2566667A1 (de) Handgerät und verfahren zum steuern und/oder programmieren eines manipulators
DE102018000733A1 (de) Überwachungs- und Bediensystem für einen Fertigungsarbeitsplatz und Verfahren zur Unterstützung und Überwachung eines Werkers beim Prozess zum Montieren oder Fertigen eines Produkts oder Teilprodukts
DE10215885A1 (de) Automatische Prozesskontrolle
WO2021233670A1 (de) Konfigurieren, durchführen und/oder analysieren einer applikation eines mobilen und/oder kollaborativen roboters
DE19805155B4 (de) Verfahren zum Erzeugen von Steuerdaten für Koordinatenmeßgeräte
EP2359202B1 (de) Verfahren und vorrichtung zur auswahl einer gespeicherten position eines arbeitspunktes eines manipulators

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R016 Response to examination communication
R018 Grant decision by examination section/examining division
R130 Divisional application to

Ref document number: 102019009313

Country of ref document: DE

R020 Patent grant now final