JP6787966B2 - 拡張現実と複合現実を用いたロボット制御装置及び表示装置 - Google Patents

拡張現実と複合現実を用いたロボット制御装置及び表示装置 Download PDF

Info

Publication number
JP6787966B2
JP6787966B2 JP2018187680A JP2018187680A JP6787966B2 JP 6787966 B2 JP6787966 B2 JP 6787966B2 JP 2018187680 A JP2018187680 A JP 2018187680A JP 2018187680 A JP2018187680 A JP 2018187680A JP 6787966 B2 JP6787966 B2 JP 6787966B2
Authority
JP
Japan
Prior art keywords
robot
display device
display
virtual model
displayed
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
JP2018187680A
Other languages
English (en)
Other versions
JP2020055075A (ja
Inventor
延宏 吉田
延宏 吉田
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
Priority to JP2018187680A priority Critical patent/JP6787966B2/ja
Priority to CN201910925277.8A priority patent/CN110977931B/zh
Priority to DE102019006800.9A priority patent/DE102019006800B4/de
Priority to DE102019009313.5A priority patent/DE102019009313B4/de
Priority to US16/589,186 priority patent/US11724388B2/en
Publication of JP2020055075A publication Critical patent/JP2020055075A/ja
Application granted granted Critical
Publication of JP6787966B2 publication Critical patent/JP6787966B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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
    • 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
    • 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)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (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)

Description

本発明は、拡張現実と複合現実を用いたロボット制御装置及び表示装置に関する。
従来のロボットシステムには、仮想現実(Virtual Reality:VR)に関する技術を利用して、ロボットの状態や作業者の操作のナビゲーションを行えるものがある。しかし仮想現実では、ロボットやその周辺物のモデルデータ等を事前に用意する必要があり、正確なモデルを構築するのは時間と労力がかかる。また、ロボット等の仮想モデルと現実との乖離が大きいと、正確なナビゲーション等が困難となる。
そこで近年のロボットシステムには、拡張現実(Augmented Reality:AR)に関する手段(AR対応ディスプレイ等)や技術を用いて、ロボットの状態表示や作業者の操作補助(ナビゲーション)を行うものがある(例えば特許文献1−6参照)。
特開2016−107379号公報 特開2017−138609号公報 特開2012−171024号公報 特開2017−104944号公報 特開2004−209641号公報 特表2017−523054号公報
拡張現実を利用してロボットの教示等の作業を行う場合、作業者は実在するロボットに重畳表示された画像または情報を見ながら作業を行うことができるが、教示等を行うときは従来と同様、現実のロボットを動かす必要がある。従って従来の拡張現実を利用した作業は、十分に使い勝手のよいものとは言えず、拡張現実と複合現実(Mixed Reality:MR)の長所をより効率的に利用して、使用者の作業を補助する技術が望まれている。
本開示の一態様は、コンピュータによって生成された情報を、現実の環境に重ね合わせて表示可能であるか、又は該情報を、該環境を撮像して得た現実画像に重ね合わせて表示可能である表示装置と、前記環境に含まれるロボットと前記表示装置との相対的な位置及び姿勢を取得する位置姿勢取得部と、前記ロボット、前記ロボットの可動部、当該可動部で支持される物体及び当該可動部の作業対象物の少なくとも一つの仮想モデルを、前記表示装置に表示させる表示制御部と、前記表示装置に表示された前記仮想モデルを操作する操作制御部と、前記操作制御部によって操作された前記仮想モデルの位置及び姿勢の少なくとも一方と、前記位置姿勢取得部が取得した前記相対的な位置及び姿勢とに基づいて、前記ロボットの位置及び姿勢の少なくとも一方を規定する位置姿勢規定部と、を備えるロボット制御装置である。
本開示の他の態様は、コンピュータによって生成された情報を、現実の環境に重ね合わせて表示可能であるか、又は該情報を、該環境を撮像して得た現実画像に重ね合わせて表示可能である表示装置と、前記現実の環境に含まれるロボット、前記ロボットの可動部、当該可動部で支持される物体及び当該可動部の作業対象物の少なくとも一つの物体の仮想モデルを、前記表示装置に表示させる表示制御部と、前記表示装置に表示された前記仮想モデルを操作する操作制御部と、前記現実の環境に含まれる前記物体と前記表示装置に表示された前記仮想モデルとが一致するか、または前記表示装置に表示された前記現実画像に表された前記物体と前記仮想モデルとが一致するときの、前記現実の環境に含まれる前記物体の位置及び姿勢の少なくとも一方、または、前記表示装置に表示された前記仮想モデルの位置及び姿勢の少なくとも一方に基づいて、前記ロボットと前記表示装置との相対的な位置及び姿勢の少なくとも一方を取得する位置姿勢取得部と、を備えるロボット制御装置である。
本開示のさらに他の態様は、コンピュータによって生成された情報を、現実の環境に重ね合わせて表示可能であるか、又は該情報を、該環境を撮像して得た現実画像に重ね合わせて表示可能である表示部と、前記環境に含まれるロボットと前記表示部との相対的な位置及び姿勢を取得する位置姿勢取得部と、前記ロボット、前記ロボットの可動部、当該可動部で支持される物体及び当該可動部の作業対象物の少なくとも一つの仮想モデルを、前記表示部に表示させる表示制御部と、前記表示部に表示された前記仮想モデルを操作する操作制御部と、前記操作制御部によって操作された前記仮想モデルの位置及び姿勢の少なくとも一方と、前記位置姿勢取得部が取得した前記相対的な位置及び姿勢とに基づいて、前記ロボットの位置及び姿勢の少なくとも一方を規定する位置姿勢規定部と、を備える表示装置である。
本開示のさらに他の態様は、コンピュータによって生成された情報を、現実の環境に重ね合わせて表示可能であるか、又は該情報を、該環境を撮像して得た現実画像に重ね合わせて表示可能である表示部と、前記現実の環境に含まれるロボット、前記ロボットの可動部、当該可動部で支持される物体及び当該可動部の作業対象物の少なくとも一つの物体の仮想モデルを、前記表示部に表示させる表示制御部と、前記表示部に表示された前記仮想モデルを操作する操作制御部と、前記現実の環境に含まれる前記物体と前記表示部に表示された前記仮想モデルとが一致するか、または前記表示部に表示された前記現実画像に表された前記物体と前記仮想モデルとが一致するときの、前記現実の環境に含まれる前記物体の位置及び姿勢の少なくとも一方、または、前記表示部に表示された前記仮想モデルの位置及び姿勢の少なくとも一方に基づいて、前記ロボットと前記表示部との相対的な位置及び姿勢の少なくとも一方を取得する位置姿勢取得部と、を備える表示装置である。
本開示によれば、実在するロボットではなく、現実の環境に重畳表示されたロボットの仮想モデルを使用者の動作に基づいて動かすので、使用者は現実のロボットを動かす場合とほぼ同じ感覚で、直感的に教示等の作業を行うことができる。
好適な実施形態に係るロボット制御装置の機能ブロック図である。 使用者がロボットの教示を行っている状態を示す図である。 表示装置の一例であるヘッドマウントディスプレイを示す図である。 表示装置の一例である携帯端末を示す図である。 使用者がロボットに表示装置を向けたときの、表示装置における画面表示例を示す図である。 メニューに表示されるツールの画像の一例を示す図である。 実際のワークを簡単なモデルで表示した例を示す図である。 ロボットのモデルに、各軸を回転させるためのバーを表示した例を示す図である。 ツールモデルの近傍に、ツール座標系と操作ボタンを表示した例を示す図である。 ツールモデルの近傍に、モデルを並進移動させるための直交ジョグを表示した例を示す図である。 ツールモデルの近傍に、モデルを回転移動させるための直交ジョグを表示した例を示す図である。 仮想モデルの位置に基づいてロボットの教示点を設定するときの、表示装置における画面表示例を示す図である。 ロボットと表示装置との相対位置関係を計測する例を示す図である。
図1は、好適な実施形態に係るロボット制御装置10の一構成例を示す機能ブロック図であり、図2はロボット制御装置10の適用例として、使用者(作業者)12がロボット14の教示を行う場合を示す図である。ロボット制御装置10は、予めコンピュータによって生成された情報(3Dモデル等)を、ロボット14を含む現実の環境(工場、作業現場等)に重ね合わせて表示可能であるか、又は該情報を、環境を撮像して得た画像(現実画像)に重ね合わせて表示可能である表示装置18と、環境に含まれるロボット14と表示装置18との相対的な位置及び姿勢(相対位置関係)を取得する位置姿勢取得部20と、ロボット14の可動部(アーム、該アームに取り付けたツール等)22などのモデル(仮想モデル)を表示装置18に表示させる表示制御部24と、表示装置18に表示された仮想モデルを操作する操作制御部26と、操作制御部26によって操作された仮想モデルの位置及び姿勢の少なくとも一方と、位置姿勢取得部20が取得した上記相対位置関係とに基づいて、ロボット14の位置及び姿勢の少なくとも一方(例えば教示点)を規定する位置姿勢規定部28とを備える。またロボット制御装置10は、位置姿勢規定部28が規定したロボット14の位置及び姿勢の少なくとも一方に基づいて、ロボット14の動作プログラムを生成するプログラム生成部30をさらに有してもよい。なおここでの可動部は、ロボットの各軸の動作によって移動する物体を意味し、例えば、ロボットアームまたはアーム先端に取り付けたハンド、ツール等を含む。また、仮想モデルは、ロボット14など、現実の環境に含まれるロボット、ロボットの可動部、ロボットの可動部で支持される物体及びロボットの可動部の作業対象物の少なくとも一つの物体の仮想的なモデルとすることができる。なお、作業対象物には、ロボットによる加工などの作業の対象となる物体だけでなく、ロボットのキャリブレーション作業においてロボットの可動部が接触するといった、キャリブレーション作業において使用される物体も含まれる。
なお図1の例では、位置姿勢取得部20、表示制御部24、操作制御部26、位置姿勢規定部28及びプログラム生成部30は、ロボット14に有線又は無線で接続された筐体(図示せず)内に設けたCPU、メモリ、センサ若しくは表示装置18と無線通信可能な通信機、又はこれらの組み合わせによって実現可能であるが、これらの少なくとも一部を表示装置18に設けることも可能である。すなわち、表示装置18が、位置姿勢取得部20、表示制御部24、操作制御部26、位置姿勢規定部28及びプログラム生成部30を有してもよい。また表示装置18及び該筐体はそれぞれ、表示装置18及びロボット14の動作全般を制御する制御部(CPU、メモリ等)をさらに備えることができる。
図3は、表示装置18の一具体例であるヘッドマウントディスプレイ(頭部装着型表示装置)を示す。ヘッドマウントディスプレイ18は、現実環境を撮像するカメラ32と、カメラ32が取得(撮像)した画像・映像をリアルタイムで表示するディスプレイ34とを有する。ディスプレイ34は、表示部の一例である。使用者12は、ヘッドマウントディスプレイ18を装着してカメラ32を現実のロボット14に向けることにより、ロボット14を含む環境を撮像し、その環境の映像をリアルタイムで取得(キャプチャ)することができ、ディスプレイ34を介して、拡張現実化された画像を視認することができる。或いは、ヘッドマウントディスプレイ18は、透過型ディスプレイを備え、使用者12が現実の環境を、その透過型ディスプレイを介して視認できるようにしてもよい。なおディスプレイ34に表示された仮想モデルは、後述するジェスチャー操作等の使用者12の動作によって、ディスプレイ内で操作(並進移動、回転、拡大/縮小等)することができる。
図4は、表示装置18の他の具体例である携帯端末(タブレット)を示す。携帯端末18は、現実環境を撮像するカメラ36と、カメラ36が取得(撮像)した画像・映像をリアルタイムで表示するディスプレイ38とを有する。ディスプレイ38は、表示部の他の一例である。使用者12は、携帯端末18を保持してカメラ36を現実のロボット14に向けることにより、ロボット14を含む環境を撮像し、その環境の映像をリアルタイムで取得(キャプチャ)することができ、ディスプレイ38を介して、拡張現実化された画像を視認することができる。なおディスプレイ34に表示された仮想モデルは、使用者が指やスタイラスペン41等をディスプレイ38に対して接触・摺動させることにより、ディスプレイ38内で操作(移動等)することができる。
次に、ロボット制御装置10を用いた操作・処理の流れの具体例を説明する。ここでは、図2に示すように、使用者12は表示装置18として図3に示したような頭部装着型(ヘッドマウント)ディスプレイを装着し、環境(ここでは作業現場)の床面40に設置されたロボット14が、床面40上の所定位置に配置された実在する物品(ワーク)42を把持式ツール(ここではハンド22)で把持する操作を教示するものとする。なお図2では3つのハンド22、22a及び22bが図示されているが、後述するように、実在するハンドはロボット14の先端に取り付けられているハンド22のみであり、他の2つのハンド22a及び22bは実在しない仮想画像(モデル)である。またロボット14のハンド22以外のロボット本体部分、ワーク42、及び環境内の他の周辺物(図示せず)も実在のものである。
先ず使用者12が、表示装置18をロボット14の方向に向けると、図5に示すように、表示装置18のディスプレイ34に、ロボット14において使用可能なハンド等のツールまたはロボット14の先端(ロボット先端R)などのモデルの一覧(メニュー)を表す画像(ウインドウ等)50が表示される。次に使用者12は、表示されたモデルの中から適当なモデルを、ジェスチャー操作により選択(例えばドラッグアンドドロップ)することにより、現実環境の所定位置に予め定義された基準座標系86の特定の位置に選択したモデルが表示される。ここでは、使用者12がハンドBをメニュー50から、実在するハンド22の左方にドラッグアンドドロップすることにより、ハンド22の仮想モデル22aが表示される。ここで表示される仮想モデル22aの大きさは、該仮想モデルがドロップされた位置に応じて適宜、自動的に変更することができる。
メニュー50は、選択可能なツールをテキスト形式で表示してもよいし、或いは又はこれに加え、画像として表示してもよい。またツールは単品として表示してもよいし、ツールが物品を把持した状態で表示してもよい。例えば、メニュー50においてハンドB単品を「ハンドB」として表示し、ハンドBがワーク42を把持した状態を「ハンドB1」として表示してもよい。例えば「ハンドB1」が選択された場合、ハンド22の仮想モデルは、ワーク42を把持した状態で表示される。
図6は、メニュー50に表示されるツールの画像の一例を示す図である。図6に示されるように、画像601〜画像604は、それぞれ、「ハンドA」、「ハンドB」、「ハンドB1」及び「ハンドC」の画像を表す。「ハンドA」は、例えば、ワークを吸着することで把持するツールである。また「ハンドB」は、例えば、二本の爪を持ち、その二本の爪の間にワークを挟むことでワークを把持するツールである。「ハンドB1」は、上記のように、ハンドBがワークを把持した状態を表すものである。そして「ハンドC」は、例えば、三本の爪を持ち、その三本の爪の間にワークを挟むことでワークを把持するツールである。
またモデルの一覧は3D(3次元)モデルとして表示してもよく、3Dモデルとしてはロボットの一部、ロボットに取り付けるツール(ハンド、溶接ガン、シーリングガン等)、ツールによる操作の対象物(ハンドによって把持・搬送されるワーク、被溶接物等)等が表示可能である。
さらにモデル一覧には、使用者が予め又は現場で定義した直方体などの仮想的な物体も表示可能である。例えば図7に示すように、実際のワーク52が円柱形状であり、ワーク52の上面を吸着式のハンド54で吸着して搬送する場合、使用者12が予め又は現場でワーク52を、ワーク52を内包し得る直方体の3Dのワークモデル56としてロボット制御装置10に設定・記録しておき、ワークモデル56を表示装置18のディスプレイ34に表示させることができる。この場合、ワークモデル56は直方体に限られないが、少なくともワークモデル56の上面及び下面はそれぞれ、実際のワーク52の上面及び下面と同一面となるように設定されることが好ましい。実際のワークの形状が複雑である場合や、実際のワークを用意できない(環境内に配置できない)場合は、このようにワークのモデルを利用することで、後述する教示等の作業がより簡単になる。
また図7のように、ワーク52を箱58に対して出し入れするような用途に対する教示を行う場合、実際に箱58を現実環境内に配置すると、その内部のワークは使用者に視認できないことがあるので、そのような場合にもワークのモデリングを行うことで、ワークの輪郭を点線で表示する等、箱に隠れていることがわかるような表示が可能となる。その結果、使用者は、ロボット制御装置10を用いて、ロボットを直感的によりわかり易く教示できる。通常、教示の際には、使用者は、ロボット制御装置に現実のロボットの動作プログラムを実行させて、教示点間のロボットの搬送経路が現実の物体と干渉するか否か確認する。この確認では、使用者は、ロボット制御装置に、低い速度から始めて目的の教示速度まで段階的に速度を上げるよう、プログラムを何度か実行させる。一方、本実施形態では、上記のようなワークのモデリングをした上で教示することで、ロボット制御装置10がロボットプログラムを実行した時の動作の様子は、仮想的なロボットの画像が現実の世界に重ね合わせて表示可能となる。そのため、使用者は、ロボットの搬送経路と箱など現実物体との干渉を気にせずに、最初から目的の教示速度でワークモデル56の動作映像を再生して教示点間においてロボットが干渉するか否かを確認することが容易になるため、ロボット制御装置10は、教示時間を短縮できる。
モデルの一覧(メニュー)50は、使用者12の体に固定されたユーザ座標系上に表示される。すなわちメニュー50は、使用者12の動作に追随して移動し、常に使用者12に対して一定の位置に表示される。一方、一旦現実環境に重畳表示(ドロップ)されたモデル22aは、基準座標系86に設定されるので、使用者12が動いてもその動きには追随せず、現実環境の特定の位置に表示されたままである。
図5に示したように仮想モデル22aが現実環境の画像に重畳表示されたら、使用者12は、仮想モデル22aが所望の位置及び姿勢となるように、ジェスチャー操作等の動作を行う。以下、ジェスチャー操作の具体例を説明する。
(ドラッグ操作)
(A1)使用者12がハンド22又はロボット先端に取り付けたツールの仮想モデル22aに視線を合わせ、仮想モデル22aを指でつまむジェスチャーをすることにより、表示制御部24は、モデル22aを動かせる状態にする。
(A2)使用者12は、仮想モデル22aをつまんだ状態のまま手を動かし、モデル22aを教示したい位置及び姿勢に移動させる。表示制御部24は、使用者12の手の動きに合わせてモデル22aを動かす。なお移動距離が比較的長い場合は、使用者12が現場(環境内)を移動してもよい。
(A3)モデル22aが所望の位置に到達したら、使用者12は手を開くジェスチャーを行い、位置姿勢規定部28は、そのときのモデル22aの位置及び姿勢を教示点等として設定(メモリに記憶)する。
(ロボット全体のドラッグ操作)
表示制御部24は、表示装置18(のディスプレイ34)にロボット14全体の仮想モデルを表示させる。使用者12は、該全体のモデルも移動させて教示したい場合は、例えば次のような動作を行う。
(B1)図8に例示するように、使用者12がロボット14全体の仮想(3D)モデル59をジェスチャー操作等によって現実のロボット14に重畳表示させ、モデル59に視線を合わせてエアタップすると、ロボットモデル59の近傍の空間上に各軸の位置を調整するためのバー60が表示される。なおここではロボット14は6軸の多関節ロボットなので、6つのバー60がモデル59の各軸の近傍に表示される。
(B2)使用者12がある軸(対象軸)に視線を合わせてエアタップし、バー60を指でつまむジェスチャーにより、表示制御部24は、モデル59を動かせる状態にする。
(B3)使用者12は、バー60をつまんだ状態のまま円弧を描くように手を動かし、モデル59の対象軸の位置を教示したい位置に動かす。表示制御部24は、使用者12の手の動きに合わせてモデル59を動かす。このとき、実際のロボット14を動かす必要はない。
(B4)対象軸が所望の位置に移動したら、使用者12は手を開くジェスチャーを行い、位置姿勢規定部28は、対象軸をその位置に固定(設定)する。
(B5)(B3)−(B4)の処理を必要に応じて他の軸についても行い、最後に、使用者12が各軸以外のロボットの部分に視線を合わせてエアタップすると、そのときのロボットモデル59の位置及び姿勢(各軸の位置)が教示点等として設定される。
(ボタン操作)
(C1)使用者12が、ハンド22a等のツールに視線を合わせてエアタップすると、図9に例示するように、ツール近傍の空間に、そのツールに定義されたツール座標系62と、そのツールの仮想モデルを操作する複数の操作ボタン64及び適用されるジョグのモードが表示される。例えば、この例では、適用されるジョグのモードが直交ジョグであることを表す「直交」が示される。なお、表示されるジョグのモード表示には、直交ジョグの他、例えば、各軸ジョグであることを表す「各軸」、または、特定の座標系で定義される直交ジョグであることを表すその特定の座標系の表記(例えば、ツール座標系で定義される場合には、「ツール」など)が含まれてもよい。また、適用されるジョグのモードに応じて、表示される操作ボタン64の表記が変更されてもよい。例えば、直交ジョグが適用される場合の「+X」、「−X」等の代わりに、操作対象となる軸を表す「+J1」等が表示されてもよい。さらに、表示される操作ボタン64の数は、ロボット14が有する軸の数または付加軸の数に応じて変更されてもよい。
(C2)使用者12がボタン64のいずれかに視線を合わせてエアタップすると、ボタン64の近傍に表示された割合(図示例では10%)に応じてモデル22aが所定距離移動する。モデル22aを連続的に移動させたい場合は、使用者12は、対象のボタンに視線を合わせた状態で所定の動作(例えば握り拳(いわゆるグー)を作るジェスチャー)をする。この移動でも、ボタン64の近傍に表示された割合(図示例では10%)に応じた速度でモデル22aが移動する。例えば、ロボット14の最大移動速度(例えば、250mm/s)が100%として設定され、かつ、10%と表示されているときは、モデルが指定された方向に最大速度の10%(例えば25mm/s)の速度で移動する。これは後述する直交ジョグ操作でも同様である。この場合は例えば、手を開く動作(いわゆるパーを作るジェスチャー)をしたときに、モデル22aの移動を停止させることができる。なお割合(%)を変更したい場合は、使用者12が%表示65に視線を合わせてエアタップすることにより、数値入力を受け付けるボタン(図示せず)等を表示させることができる。
(C3)ハンド22a又はツールを教示すべき位置に移動させたら、使用者12はモデル22aに視線を合わせてエアタップし、これによりモデル22aの位置及び姿勢が設定(メモリ等に記憶)され、ツール座標系62とボタン64は非表示となる。
(直交ジョグ操作)
(D1)使用者12が、ハンド22a等のツールに視線を合わせてエアタップすると、図10又は図11に例示するように、ツール近傍の空間に、そのツールの仮想モデルを操作する直交ジョグ66又は68と、モデルを移動させる速度を割合で示す情報70又は72が表示される。
(D2)使用者12が直交ジョグ66に視線を合わせてエアタップすると、直交ジョグ66のボタン74をつまんで操作できるようになり、ボタン74をつまんで所望の方向(図示例では+X、−X、+Y、−Y、+Z、−Zのいずれか)に移動させることにより、ツールをその方向に指定された速度(例えば最高速度の10%)で移動させることができる。同様に、使用者12が直交ジョグ68に視線を合わせてエアタップすると、直交ジョグ68のX軸76、Y軸78及びZ軸80のいずれかをつまんで操作できるようになり、使用者12がつまんだ軸を時計回り又は反時計回りのいずれかに回転させることにより、所望の方向(図示例では+X、−X、+Y、−Y、+Z、−Zのいずれか)に指定された速度でハンド22などの仮想モデルを回転移動させることができる。
(D3)ハンド22a又はツールを教示すべき位置に移動させたら、使用者12はモデル22aに視線を合わせてエアタップし、これによりモデル22aの位置及び姿勢が確定(一時的に記憶)され、直交ジョグ66又は68、及び情報70又は72は非表示となる。なお、図10では、ボタン74、図11では、X軸76、Y軸78及びZ軸80の何れかをつまむことでツールが操作されるが、図10または図11に示されている矢印が操作用のボタンとして表示されてもよい。この場合には、図9に示されるボタン操作と同様の操作が実行可能とされてもよい。
なお使用者12の視線方向は、周知の技術を利用して求めることができ、例えば、ヘッドマウントディスプレイ18に設けたジャイロセンサ等のセンサ67(図3参照)や、タブレット18に設けたジャイロセンサ等のセンサ69(図4参照)を用いて、表示装置18の姿勢(すなわち使用者12の頭部やカメラ36がどの方向を向いているか)を検出することで求めてもよいし、視線検出センサ等を用いて使用者の視線を直接検出してもよい。
また上述のジェスチャー操作では、使用者12はグー、パー、エアタップ、指でつまむ、手を開く等のジェスチャーを行うが、これら以外のジェスチャーによってモデルを操作することももちろん可能である。またジェスチャー操作以外にも、教示操作盤又は(ジョイスティック若しくはタッチパネル等の)ポインティングデバイスを用いた操作も利用可能である。
上述のジェスチャー操作によってツール仮想モデル22aが所望の(例えば、教示点として設定すべき)位置に移動したら、使用者12のエアタップ等の動作により、図12に示すように、モデル選択メニュー50がプログラム編集画面82に切り替えられる。プログラム編集画面82もメニュー50と同様、使用者12の体に固定されたユーザ座標系上に表示され、使用者12は編集画面82と現実環境とを同時に視認することができる。
使用者12は、前述したジェスチャー操作や、後述するジェスチャー操作等により、モデル22aを教示したい位置及び姿勢となるように操作し、そのときのロボット14の位置及び姿勢を、プログラム編集画面82を利用して規定する(より具体的には、ロボット14の教示(教示点の生成・設定)を行う)。例えば図2の例では、ハンド22が仮想画像22aで示されている位置(イチ[1])から、現実のハンドの位置(イチ[2])を経由して、仮想画像22bで示されている、ワーク42を把持可能な位置(イチ[3]、図2参照)に移動する動作を教示することができる。
プログラム編集画面82による位置教示操作は、例えば表示された動作メニューから、ロボットの動作指令文を選択することによって行うことができる。使用者12が指令文を選択すると、ツールの仮想モデル(以下、ツールモデルと呼ぶ)の位置及び姿勢と、現実のツールの位置及び姿勢とがそれぞれ一致するようなロボットの位置及び姿勢が規定され、規定されたロボットの位置及び姿勢が教示点として教示(適当なメモリに記録)される。例えば、図7に例示したような箱58の中からワーク52を吸着式のハンド54で保持して取り出すような作業を行うロボットシステムでは、以下の手順で教示を行うことができる。
(E1)使用者12が予め又は現場で、ワーク52の3Dのワークモデル56を定義する。ここでは、ワークモデル56は、ワーク52を内包するようなモデルとして定義する。
(E2)表示制御部24は、定義したワークモデル56を、現実のワーク52に重畳表示させる。
(E3)図7に示すように、表示制御部24は、吸着ハンド54のモデルを現実の世界に投影して、使用者12は、ワーク52を吸着するときのハンド54の位置及び姿勢を教示する。すると、表示制御部24によって表示装置(拡張現実対応ディスプレイ)18は、その時の吸着ハンド54のモデルと使用者12が定義したモデル56とが所望の位置関係で配置された状態のモデルを、その教示点の位置番号(ここではイチ[1]−[3])とともにモデル一覧に表示することができる。このようにすることで、ロボット制御装置10は、現実のロボット14を実際に動かすことなく、ロボット14が周辺物等と干渉しないような搬送経路の教示を、視覚的にわかり易く行うことができる。また、周知の画像認識技術を使用することにより、現実のワークのどの部位を吸着・保持すべきかを教示する必要がないシステムにおいては、ハンドの中心点に対して使用者がモデルを定義し、モデルの一覧に加えることができる。
なお、7軸以上の冗長軸を持つロボットの位置及び姿勢をモデルの位置から教示する場合は、該冗長軸の位置を使用者が指定してもよく、冗長軸のモデルは指定された位置とともに表示可能である。例えば、ロボットの第6軸(先端)に冗長軸が取り付けられている場合、表示制御部24は、ロボットの先端を冗長軸とともに表示させる際は、該先端に対する該冗長軸のモデルの位置を、使用者が指定した冗長軸の位置に応じて変化させることができる。
次に、上述の位置姿勢規定部28が、操作制御部26による仮想モデルの操作と、位置姿勢取得部20が取得したロボット14と表示装置18との相対位置関係(後述)とを用いて、移動した仮想モデルの各位置にロボット14(ハンド22)が実際に到達可能かを判定し、到達可能であれば、教示された位置(ロボットの位置及び姿勢)を教示点として規定し、メモリ等に記録する。プログラム生成部30は、当該教示点を含むロボットの動作プログラムを生成することができる。生成された動作プログラムは、ロボットの教示の他、ロボットの動作確認や干渉チェック等の動作シミュレーションに使用することができる。なおこの例では各教示点を決定するが、複数の教示点からなる軌跡(点列)として教示することも可能である。例えば、3Dモデルを空間内でドラッグして得られる軌跡を教示点列とすれば、ロボットの動作を軌跡として教示することができる。
位置姿勢規定部28は、例えば、到達可能か否かの判定を次のように行う。
図9に示されるように、ツールモデルに表示するツール座標系62は、ツールモデルごとにいくつか設定でき、その座標系は、ロボットの端点に定義されている座標系に対してどのような相対関係にあるかで定義される。ツールモデルごとにツール座標系を定義するため、モデルの一覧が表示されるメニュー50では、ツールモデルは、そのツール座標系を定義した番号とともに表示される。このようにツール座標系62とともに定義されたツールモデルを現実の世界に投影した時、表示装置の制御部が任意に定義する基準座標系上でツールモデルがどのような位置及び姿勢で存在するかは、行列で表すことができる。ここで、ロボット制御装置の制御部(図示せず)が任意に定義するワールド座標系上でのツールモデルの位置及び姿勢(ワールド座標系から見たツール座標系の位置及び姿勢)は、位置姿勢取得部20で取得した表示装置とロボットの相対位置関係から得られる、ワールド座標系から見た基準座標系の位置及び姿勢を表す変換行列Aと、基準座標系から見たツールモデルの位置及び姿勢を表す行列Bの積で表せる。このワールド座標系上でのツールモデルの位置及び姿勢に基づいて逆運動学を解くことで、位置姿勢規定部28は、ロボットの各軸位置を算出できる。位置姿勢規定部28は、この算出した各軸位置がロボットごとに定義される各軸の動作制限や自己干渉式による動作制限の範囲内であればロボットが到達可能であると判定できる。
ロボット制御装置の制御部と表示装置の制御部の機能が一つにまとめられている場合など、表示装置の基準座標系がワールド座標系と一致する場合には、位置姿勢規定部28は、ツールモデルの位置及び姿勢に基づいて逆運動学を解くことで、ロボットの各軸位置を求め、それによって到達可能か否かを判定すればよい。
上述の実施形態では、ロボット制御装置10は、モデルの位置及び姿勢を用いてロボットの位置及び姿勢を教示するが、ロボットの位置又は姿勢のみを教示してもよい。例えば、位置のみを含む教示点(教示情報)は、ロボットの姿勢を指定する必要がない場合に使われる。この場合、教示点の姿勢は、その教示点の前後の教示点の姿勢に基づく補間計算によって決定することができる。一方、姿勢のみを含む教示点(教示情報)は、例えば、ロボットが保持した物品を、所定の大きさの領域内の任意の場所に特定の姿勢で配置すべき場合に、その特定の姿勢の教示に使用される。
また上記実施形態では、ツールのモデルを用いて教示する例を説明したが、ロボット制御装置10は、ロボット全体、ロボットの一部、溶接ガン若しくはシーリングガンなどのロボットに取り付け可能なツール、又は、そのツールによる作業対象物若しくは加工対象物のモデルを用いて教示することもできる。なお、上述したように、作業対象物には、ロボットによる加工などの作業の対象となる物体だけでなく、ロボットのキャリブレーション作業においてロボットの可動部が接触するといった、キャリブレーション作業において使用される物体も含まれる。また本開示に係るロボット制御装置は、教示以外にも、ロボットを実際に動作させずにロボットの動作確認や干渉有無のチェック等(動作プログラムに基づくシミュレーション)を行う際にも使用可能である。例えば、上記実施形態ではモデルによってロボットの位置及び姿勢を特定し、プログラムの教示に使用する例を説明したが、ロボット制御装置は、特定した位置及び姿勢の情報を用いて仮想的なロボット全体の画像を現実の環境に重ね合わせて表示装置に表示させ、その時ロボットが現実の物体と干渉しているか否か確認するためにロボット制御装置は使用されてもよい。
また、特定したロボットの位置及び姿勢の情報は本実施例のように教示以外の用途に使用されてもよい。
次に、ロボット14と表示装置18との相対位置関係を取得(計測)する位置姿勢取得部20の具体的構成例について説明する。先ず、周知の例としては、ロボット14にARマーカ等の視覚的マーカ(図示せず)が取り付けられる。位置姿勢取得部20は、表示装置18に搭載したカメラ32又は36(図3−4)で該マーカを撮像することで得られた画像を認識(画像処理)することによって、画像上でのマーカの位置、向き及びサイズから、カメラとロボットとの相対位置関係を計算することが挙げられる。
しかし上述の周知例では、予めマーカをロボットに、貼付や印刷等によって設けておく必要があり、例えばロボットが比較的汚れやすい環境に設置されている場合は、ロボット(少なくともマーカ)の定期的な清掃が不可欠となる。さらに使用者は、マーカが撮像できる位置で表示装置を操作する必要があるので、使用者の移動可能範囲に制約が生じる。一方、マーカの代わりにロボット本体の画像を利用することも可能ではあるが、この場合はロボットを同定するために、該ロボットを複数の方向から撮像して、多数の画像を予め用意する必要がある。
そこで、本開示のように、コンピュータによって生成された情報を、ロボットを含む現実の環境に重ね合わせて表示可能であるか、該環境を撮像して得た現実画像に重ね合わせて表示可能である表示装置を使用する場合、位置姿勢取得部20は、該表示装置に表示されたロボット又は該ロボットに付属する物体の3Dモデルと、現実のロボット又は該ロボットに付属する物体が重なったときの条件(パラメータ)から、該表示装置と該ロボットの相対位置関係を特定することができる。
以下、表示装置とロボットとの相対位置関係を特定する構成の具体例(実施例1−3)を説明するが、先ず、以降の説明に使用する主たる用語について説明する。「ロボットの制御点」とは、ロボットの動作を制御する際に使用する代表点を指し、ツール先端点(TCP)がその好適例である。また「ワールド座標系」とは、ロボットの(ベース等に設定された)基準位置を原点とする、ロボットに定義された座標系であり、例えば図2の参照符号84で表されるような、環境内に固定された座標系である。
「基準座標系」とは、拡張現実対応ディスプレイ等の表示装置の制御部が任意に定義し得る座標系であり、例えば図2の参照符号86で示すように、ここでは教示操作等を開始するとき(表示装置を起動したとき)のカメラ(使用者)の位置を原点とする、環境内に固定された座標系である。より詳細には、例えば表示装置が3Dセンサを内蔵している場合、使用者が居る空間の3次元データを取得することができ、該空間内のどの位置にハンド等の3Dモデルを表示するかを表示装置の制御部が決めることができるが、その位置を決める際の基準として、上記基準座標系を使用することができる。
(実施例1)
図13は、表示装置18を介して使用者12に見えている画像であり、実在するロボット14のハンド22に対し、ハンド22の仮想(3D)モデル22aを重畳表示した状態を示す。ここで、使用者12の操作に応じて、基準座標系86に対してどの位置及び姿勢で3Dモデル22aを表示するかは、表示装置18の制御部等によって予め決められており、一方、使用者12の操作やプログラムの実行に応じて、ワールド座標系に対してどの位置及び姿勢でロボットの制御点を制御するかは、ロボットを制御する制御部等によって予め決められている。従って使用者12が、ツール(ハンド)の3Dモデル22aと現実のツール22とを表示装置18の画面34上で一致させることにより、位置姿勢取得部20は、以下の手順でロボット14に対する表示装置18の相対位置関係を計測できる。
表示装置18は、図13のハンド22aのような、ロボット14の先端部分のモデルやツールのモデル等の、ロボット14の一部分のモデルを表示し、使用者12が上述のジェスチャー操作等を行うことによって操作制御部26がモデル22aを移動させて、現実のハンド22とモデル22aとが、一致して見えるようにする。このとき、表示装置18の制御部は、ロボット14の制御部からロボット14の各軸位置と、必要に応じツール座標系の情報とを受信することで、ロボット14(ワールド座標系84)の原点位置を計算することができる。この処理によって表示装置18の制御部は、3Dモデル22aの位置を、現実にロボット14のツール22が存在する位置として認識できる。なお、操作制御部26は、例えば、カメラ32またはカメラ36により得られた画像と、様々なジェスチャーに対応するテンプレートとの間でテンプレートマッチングを実行することにより、あるいは、画像に表されたジェスチャーを識別するように予め学習された識別器(例えば、ニューラルネットワークによる識別器)に画像を入力することで、使用者12により実行されたジェスチャーを認識できる。
表示装置18の制御部は、ワールド座標系84と基準座標系86との相対位置関係に関する情報(例えば、ワールド座標系84から基準座標系86への変換行列)と、基準座標系86と表示装置18との位置関係の情報(例えば、基準座標系86における表示装置18の位置及び姿勢)を、ロボット14の制御部に送信することができる。位置姿勢取得部20は、受信した情報から、ワールド座標系84のどこに表示装置18が位置しているかを求めることができる。
ここで「重なる」又は「一致」とは、現実画像及び仮想画像の位置、姿勢及び大きさが全て同一であるか、両画像の位置、姿勢及び大きさのそれぞれの差が(使用者が両者を実質一つの画像として視認できる程度に)所定の誤差範囲内にあることを意味し、またこのような状態は、例えばテンプレートマッチングを利用して自動的に判別可能である。但し、使用者が、両者を実質一つの画像として認識したときに、ジェスチャー操作やスイッチ操作等によって、両画像が一致した(重なった)ことをロボット又は表示装置の制御部に入力できるようにしてもよい。
実施例1では、ロボットの先端部分のモデルやツールのモデルなど一部分を表示すると記載したが、このモデルはハンドでつかむ物体、あるいは、ロボットに取り付けたガン等による加工対象物といった、ロボットの動作範囲内に存在する作業対象物体のモデルとともに表示してもよい。この場合は、ロボット又はロボットに取り付けたツール等の物体に一致するように、使用者は、表示したモデルのロボット又はロボットに取り付けたツール等の部分を移動させればよい。
(実施例2)
実施例1では、ロボットの一部について現実の環境又は画像に仮想画像を一致させたが、実施例2では、表示装置18は、ロボット全体の3Dモデルを表示し、使用者は、そのモデルを現実のロボットと一致する(重なる)ように移動させる。この状態で、表示装置18の制御部は、3Dモデルの位置(の原点等)を、現実にロボット14(の原点等)が存在する位置として認識できる。また位置姿勢取得部20は、実施例1と同様の手順で、ワールド座標系84における表示装置18の位置を求めることができる。
このように、位置姿勢取得部20は、ワールド座標系84と基準座標系86との相対位置関係と、表示装置18に表示された現実画像と仮想モデルとが一致しているときの表示装置18における仮想画像(モデル)の位置とに基づいて、ロボット14に対する表示装置18の相対位置関係を取得することができる。なお表示装置18は、基準座標系86に対する表示装置18の位置及び姿勢の少なくとも一方を測定する3Dセンサ等のセンサを有していることが好ましい。また、実施例1、2では、ロボット制御装置は、仮想的なモデルと現実の物体が一致するように仮想的なモデルを操作したが、仮想的なモデルと現実の物体が一致するように現実のロボットを操作してもよい。なお、位置姿勢取得部20は、現実の環境に含まれる物体または現実画像に表されたその物体とその物体の仮想モデルが一致した時のその物体の現実の位置及び姿勢に基づいても、上記と同様の処理により、表示装置18とロボット14間の相対位置関係を取得することができる。また、位置姿勢取得部20は、必要に応じて、表示装置18とロボット14との相対的な位置及び相対的な姿勢のうちの何れか一方のみを取得してもよい。
(実施例3)
実施例1及び2では、一つの位置において、ロボット制御装置10は、ロボット全体又は一部について現実の環境又は画像に仮想画像を一致させたが、複数の位置を用いて誤差を平均化し、精度を上げることができる。具体的な方法としては、座標系をロボットに教示する際に使われる3点教示法(後述)や4点教示法が挙げられる。
3点教示法では先ず、使用者は、任意の第1の位置で、実在するロボット14のハンド22と仮想モデル22aとを一致させ、実施例1と同様の手順で、ロボットと表示装置との相対位置関係を表示装置の制御部に記憶する。次に、ロボット制御装置10が、現実のロボット14(のハンド22)を第1の位置から、ワールド座標系84のX軸方向に任意の距離移動させた第2の位置で、同様に使用者はハンド22と仮想モデル22aとを一致させ、ロボットと表示装置との相対位置関係を制御部に記憶する。さらに、ロボット制御装置10が、現実のロボット14(のハンド22)を第2の位置から、ワールド座標系84のY軸方向に任意の距離移動させた第3の位置で、同様に使用者はハンド22と仮想モデル22aとを一致させ、ロボットと表示装置との相対位置関係を制御部に記憶する。以上の処理によって得られた複数の相対位置を平均する等の処理により、位置姿勢取得部20はワールド座標系84と基準座標系86のより正確な相対位置関係を求めることができる。なお実施例3において、表示装置の制御部をロボットの制御部に置換し、ワールド座標系を基準座標系に置換しても同様の結果が得られる。従来からロボットのツール座標系の設定に使用されている4点教示法についても同様に流用できる。
実施例1−3によれば、拡張現実対応ディスプレイ等の表示装置と現実のロボットとの相対位置関係を高精度に取得することができ、さらに、画像認識による方法に比べ、保守の手間や処理時間を大幅に減らすことができる。なお上述した各実施例では、ワールド座標系と基準座標系との位置関係に関連し、ロボットと表示装置がそれぞれ制御部を有する例を説明したが、両制御部の機能を具備した実質一つの制御部を、ロボット又は表示装置のいずれかに設けてもよいし、或いはパーソナルコンピュータ等の別個の装置として設けてもよい。なお上述した各実施例におけるモデルの操作は、ジェスチャー、タッチパネル、ジョイパッドやジョイスティックといったゲーム機の操作にも使用可能なポインティングデバイス、又は教示操作盤等を用いて行うことができる。
さて使用者は、表示装置を用いて上述のジェスチャー操作や教示等の作業をしている間、意図的か無意識かを問わず、現実のロボットに対して移動し、ロボットと表示装置との相対位置関係が変化する場合がある。一方、ロボットが可動式の台車等に搭載されている場合は、使用者が動かずとも、ロボットが使用者に対して移動する場合もある。そのような場合、表示装置とロボットの相対位置関係を再計測する必要が生じ得る。
そこで使用者(表示装置)とロボットとの相対位置関係が変化しても、その変化量に応じて、現実環境に表示されたモデルが適切に移動できるように、ロボット及び表示装置の少なくとも一方に、ロボットと表示装置間の相対的な位置及び姿勢を追随して求める追随装置を設けることが好ましい。例えば、レーザや赤外線等の光を利用したセンサ、超音波センサ、磁気式センサ、慣性センサ、又はジャイロセンサ等を使用した追随装置(例えば表示装置18の参照符号67(図2)又は69(図3)を参照)を、表示装置及びロボットの一方又は双方に設けることで、両者の相対位置関係が変化した場合に、該相対位置関係の再計測を行わずとも、正確な相対位置関係を取得し続けることができる。
ロボットが台車に搭載されている場合、該台車に上述の追随装置を設けておけば、ロボットと表示装置との相対位置関係を一旦計測した後は、ロボットが移動してもその位置を取得でき、教示された位置に現実のロボットが到達可能か否かを的確に判定できる。また、ロボットの動作シミュレーションとしてロボットの3Dモデルを表示する場合も、その3Dモデルの動作を正確に表示することができる。なおロボットは台車ではなく、サーボモータ等により駆動するとともに、移動量が取得できるレールや回転円盤等の上に設置されてもよい。その場合は、該移動量を検出する手段(エンコーダ等)を追随装置として使用することができる。
なお上述の実施形態では、頭部装着型の表示装置を使用した例を説明したが、タブレット端末を使用した場合も同様の操作・処理が可能であることはもちろんである。
上述の実施形態では、6軸と7軸のロボットを例に説明したが、本開示に係るロボット制御装置が適用されるロボットは、これらの軸数のロボットに限定されるものではなく、これ以外の軸数のロボットでも本開示に係るロボット制御装置は使用可能である。
また、上述の実施形態では、拡張現実と複合現実を利用することにより、使用者は、ジェスチャーによって、現実の環境に重畳表示された仮想モデルの操作(移動、回転等)を行うことで、実際のロボットまたは物体を動かす感覚でロボットを教示できるので、より直感的に素早く教示等の作業を行うことができる。またワークや周辺機器等のロボット周りに実在するものについては、予めモデリングをしておく必要がないので、仮想現実に比べ手間を少なくすることができることに加え、教示やシミュレーションの精度や信頼性を向上させることができる。さらに、使用者は教示操作盤またはロボット本体といった現実の物体を持ったり、現実のロボットを手動やジョグ操作で動かす必要がないので、このロボット制御装置は、使用者の負担及び疲労を軽減できるとともに、作業時間を短縮でき、かつ、エネルギーコストも節約できる。
10 ロボット制御装置
12 使用者
14 ロボット
18 表示装置
20 位置姿勢取得部
22、22a、22b ハンド
24 表示制御部
26 操作制御部
28 位置姿勢規定部
30 プログラム生成部
32、36 カメラ
34、38 ディスプレイ
42、52 ワーク
50 メニュー画面
56 ワークモデル
58 箱
60 バー
62 ツール座標系
64 操作ボタン
66、68 直交ジョグ
82 プログラム編集画面
84 ワールド座標系
86 基準座標系

Claims (10)

  1. コンピュータによって生成された情報を、現実の環境に重ね合わせて表示可能であるか、又は該情報を、該環境を撮像して得た現実画像に重ね合わせて表示可能である表示装置と、
    前記環境に含まれるロボットと前記表示装置との相対的な位置及び姿勢を取得する位置姿勢取得部と、
    前記ロボット、前記ロボットの可動部、当該可動部で支持される物体及び当該可動部の作業対象物の少なくとも一つの仮想モデルを、前記表示装置に表示させる表示制御部と、
    前記表示装置に表示された前記仮想モデルを操作する操作制御部と、
    前記操作制御部によって操作された前記仮想モデルの位置及び姿勢の少なくとも一方と、前記位置姿勢取得部が取得した前記相対的な位置及び姿勢とに基づいて、前記ロボットの位置及び姿勢の少なくとも一方を規定する位置姿勢規定部と、
    を備えるロボット制御装置。
  2. 前記表示装置は、前記現実の環境を撮像するカメラと、前記カメラが取得した現実画像をリアルタイムで表示するディスプレイとを有する頭部装着型表示装置又は携帯端末である、請求項1に記載のロボット制御装置。
  3. 前記表示装置は、透過型ディスプレイを備えた頭部装着型表示装置である、請求項1に記載のロボット制御装置。
  4. 前記位置姿勢規定部は、前記操作制御部によって操作された前記仮想モデルの位置及び姿勢の少なくとも一方と、前記位置姿勢取得部が取得した前記相対的な位置及び姿勢とに基づいて、前記仮想モデルの位置及び姿勢の少なくとも一方で指定される前記ロボットの位置及び姿勢の少なくとも一方に前記ロボットが実際に到達可能かを判定し、到達可能であれば、前記仮想モデルの位置及び姿勢の少なくとも一方に基づいて前記ロボットの位置及び姿勢の少なくとも一方を規定する、請求項1〜3のいずれか1項に記載のロボット制御装置。
  5. 前記位置姿勢規定部が規定した前記ロボットの位置及び姿勢の少なくとも一方に基づいて、前記ロボットの動作プログラムを生成するプログラム生成部をさらに有する、請求項1〜4のいずれか1項に記載のロボット制御装置。
  6. 前記ロボットと前記表示装置の少なくとも一方に、前記相対的な位置及び姿勢を追随して求める追随装置を備えた請求項1〜5のいずれか1項に記載のロボット制御装置。
  7. コンピュータによって生成された情報を、現実の環境に重ね合わせて表示可能であるか、又は該情報を、該環境を撮像して得た現実画像に重ね合わせて表示可能である表示装置と、
    前記現実の環境に含まれるロボット、前記ロボットの可動部、当該可動部で支持される物体及び当該可動部の作業対象物の少なくとも一つの物体の仮想モデルを、前記表示装置に表示させる表示制御部と、
    前記表示装置に表示された前記仮想モデルを操作する操作制御部と、
    前記現実の環境に含まれる前記物体と前記表示装置に表示された前記仮想モデルとが一致するか、または前記表示装置に表示された前記現実画像に表された前記物体と前記仮想モデルとが一致するときの、前記現実の環境に含まれる前記物体の位置及び姿勢の少なくとも一方、または、前記表示装置に表示された前記仮想モデルの位置及び姿勢の少なくとも一方に基づいて、前記ロボットと前記表示装置との相対的な位置及び姿勢の少なくとも一方を取得する位置姿勢取得部と、
    を備えるロボット制御装置。
  8. 前記位置姿勢取得部は、前記ロボットの制御部により設定された座標系と前記表示装置の制御部により設定された座標系との相対位置関係と、前記現実の環境に含まれる前記物体と前記表示装置に表示された前記仮想モデルとが一致するか、または前記表示装置に表示された前記現実画像に表された前記物体と前記仮想モデルとが一致するときの、前記現実の環境に含まれる前記物体の位置及び姿勢の少なくとも一方、または、前記表示装置に表示された前記仮想モデルの位置及び姿勢の少なくとも一方に基づいて、前記ロボットと前記表示装置の相対的な位置及び姿勢の少なくとも一方を取得する、請求項7に記載のロボット制御装置。
  9. コンピュータによって生成された情報を、現実の環境に重ね合わせて表示可能であるか、又は該情報を、該環境を撮像して得た現実画像に重ね合わせて表示可能である表示部と、
    前記環境に含まれるロボットと前記表示部との相対的な位置及び姿勢を取得する位置姿勢取得部と、
    前記ロボット、前記ロボットの可動部、当該可動部で支持される物体及び当該可動部の作業対象物の少なくとも一つの仮想モデルを、前記表示部に表示させる表示制御部と、
    前記表示部に表示された前記仮想モデルを操作する操作制御部と、
    前記操作制御部によって操作された前記仮想モデルの位置及び姿勢の少なくとも一方と、前記位置姿勢取得部が取得した前記相対的な位置及び姿勢とに基づいて、前記ロボットの位置及び姿勢の少なくとも一方を規定する位置姿勢規定部と、
    を備える表示装置。
  10. コンピュータによって生成された情報を、現実の環境に重ね合わせて表示可能であるか、又は該情報を、該環境を撮像して得た現実画像に重ね合わせて表示可能である表示部と、
    前記現実の環境に含まれるロボット、前記ロボットの可動部、当該可動部で支持される物体及び当該可動部の作業対象物の少なくとも一つの物体の仮想モデルを、前記表示部に表示させる表示制御部と、
    前記表示部に表示された前記仮想モデルを操作する操作制御部と、
    前記現実の環境に含まれる前記物体と前記表示部に表示された前記仮想モデルとが一致するか、または前記表示部に表示された前記現実画像に表された前記物体と前記仮想モデルとが一致するときの、前記現実の環境に含まれる前記物体の位置及び姿勢の少なくとも一方、または、前記表示部に表示された前記仮想モデルの位置及び姿勢の少なくとも一方に基づいて、前記ロボットと前記表示部との相対的な位置及び姿勢の少なくとも一方を取得する位置姿勢取得部と、
    を備える表示装置。
JP2018187680A 2018-10-02 2018-10-02 拡張現実と複合現実を用いたロボット制御装置及び表示装置 Active JP6787966B2 (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
JP2018187680A JP6787966B2 (ja) 2018-10-02 2018-10-02 拡張現実と複合現実を用いたロボット制御装置及び表示装置
CN201910925277.8A CN110977931B (zh) 2018-10-02 2019-09-27 使用了增强现实和混合现实的机器人控制装置及显示装置
DE102019006800.9A DE102019006800B4 (de) 2018-10-02 2019-09-30 Robotersteuerung und Anzeigevorrichtung unter Verwendung von erweiterter Realität und gemischter Realität
DE102019009313.5A DE102019009313B4 (de) 2018-10-02 2019-09-30 Robotersteuerung, Verfahren und Computerprogramm unter Verwendung von erweiterter Realität und gemischter Realität
US16/589,186 US11724388B2 (en) 2018-10-02 2019-10-01 Robot controller and display device using augmented reality and mixed reality

Applications Claiming Priority (1)

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

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2020179992A Division JP7068416B2 (ja) 2020-10-27 2020-10-27 拡張現実と複合現実を用いたロボット制御装置、ロボットの位置姿勢規定用コンピュータプログラム及びロボットの位置姿勢規定方法、相対位置姿勢取得用コンピュータプログラム及び相対位置姿勢取得方法

Publications (2)

Publication Number Publication Date
JP2020055075A JP2020055075A (ja) 2020-04-09
JP6787966B2 true JP6787966B2 (ja) 2020-11-18

Family

ID=69781118

Family Applications (1)

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

Country Status (4)

Country Link
US (1) US11724388B2 (ja)
JP (1) JP6787966B2 (ja)
CN (1) CN110977931B (ja)
DE (2) DE102019006800B4 (ja)

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 ファナック株式会社 表示装置及び表示プログラム
EP4072795A4 (en) * 2019-12-09 2024-01-03 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 セイコーエプソン株式会社 コンピュータープログラム、及び、ロボットの教示方法
CN112917457A (zh) * 2021-01-27 2021-06-08 南京航空航天大学 一种基于增强现实技术的工业机器人快速精准示教系统及方法
CN112936261B (zh) * 2021-01-27 2022-07-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 高丸工業株式会社 ロボット操作システムの動作方法

Family Cites Families (27)

* 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
SE531104C2 (sv) 2002-12-30 2008-12-16 Abb Research Ltd Metod och system för programmering av en industrirobot
JP5246672B2 (ja) 2011-02-17 2013-07-24 独立行政法人科学技術振興機構 ロボットシステム
JP5742862B2 (ja) 2013-03-18 2015-07-01 株式会社安川電機 ロボット装置及び被加工物の製造方法
US9283678B2 (en) 2014-07-16 2016-03-15 Google Inc. Virtual safety cages for robotic devices
US9393699B1 (en) * 2014-12-05 2016-07-19 Google Inc. Methods and systems for wireless control of a robotic device
JP2016107379A (ja) * 2014-12-08 2016-06-20 ファナック株式会社 拡張現実対応ディスプレイを備えたロボットシステム
US9643314B2 (en) 2015-03-04 2017-05-09 The Johns Hopkins University Robot control, training and collaboration in an immersive virtual reality environment
US10076840B2 (en) * 2015-04-03 2018-09-18 Canon Kabushiki Kaisha Information processing apparatus, information processing method, and program
US9916506B1 (en) * 2015-07-25 2018-03-13 X Development Llc Invisible fiducial markers on a robot to visualize the robot in augmented reality
US9919427B1 (en) * 2015-07-25 2018-03-20 X Development Llc Visualizing robot trajectory points in augmented reality
JP6420229B2 (ja) 2015-12-10 2018-11-07 ファナック株式会社 仮想物体の画像をロボットの映像に重畳表示する映像表示装置を備えるロボットシステム
WO2017151999A1 (en) * 2016-03-04 2017-09-08 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
DE102016224774B3 (de) 2016-12-13 2018-01-25 Audi Ag Verfahren zur Programmierung eines Messroboters und Programmiersystem
JP6889574B2 (ja) * 2017-03-03 2021-06-18 株式会社キーエンス ロボット設定装置、ロボット設定方法、ロボット設定プログラム及びコンピュータで読み取り可能な記録媒体並びに記録した機器
JP6369583B2 (ja) 2017-03-09 2018-08-08 セイコーエプソン株式会社 頭部装着型表示装置および頭部装着型表示装置の制御方法
US10684480B2 (en) 2017-03-16 2020-06-16 Denso Wave Incorporated Information display system
US11030808B2 (en) * 2017-10-20 2021-06-08 Ptc Inc. Generating time-delayed augmented reality content
WO2019043568A1 (en) * 2017-08-30 2019-03-07 Compedia Software and Hardware Development Ltd. ASSISTED ENHANCED REALITY
WO2019046559A1 (en) * 2017-08-30 2019-03-07 Linkedwyz UTILIZING INCREASED REALITY TO CONTROL INTELLIGENT DEVICES
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

Also Published As

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

Similar Documents

Publication Publication Date Title
JP6787966B2 (ja) 拡張現実と複合現実を用いたロボット制御装置及び表示装置
CN110394780B (zh) 机器人的仿真装置
US9919421B2 (en) Method and apparatus for robot path teaching
JP7490349B2 (ja) 入力装置、入力装置の制御方法、ロボットシステム、ロボットシステムを用いた物品の製造方法、制御プログラム及び記録媒体
US20190202058A1 (en) Method of programming an industrial robot
EP1537959B1 (en) A method and a system for programming an industrial robot
JP6343353B2 (ja) ロボットの動作プログラム生成方法及びロボットの動作プログラム生成装置
US11173601B2 (en) Teaching device for performing robot teaching operations and teaching method
EP2923806A1 (en) Robot control device, robot, robotic system, teaching method, and program
US10807240B2 (en) Robot control device for setting jog coordinate system
US20160346921A1 (en) Portable apparatus for controlling robot and method thereof
WO2003099526A1 (en) A method and a system for programming an industrial robot
JP2014512530A (ja) 座標位置決め装置
JP2018183845A (ja) ロボットを操作するための操作装置、ロボットシステム、および操作方法
JP5108032B2 (ja) 多関節構造体教示装置
US10690474B2 (en) Operation method of position measuring device
WO2020035156A1 (en) Method of programming an industrial robot
JP6457208B2 (ja) ロボットへの動作指示システム及び動作指示方法
JP7068416B2 (ja) 拡張現実と複合現実を用いたロボット制御装置、ロボットの位置姿勢規定用コンピュータプログラム及びロボットの位置姿勢規定方法、相対位置姿勢取得用コンピュータプログラム及び相対位置姿勢取得方法
US20240100688A1 (en) Information processing apparatus, information processing method, robot system, manufacturing method for article using robot system, program, and recording medium
JP7493816B2 (ja) ロボット、システム、方法及びプログラム
CN117519469A (zh) 一种应用于人机交互的空间交互装置及方法
JP2023017440A (ja) 画像処理装置
WO2023073562A1 (en) Apparatus and method for programming robots by demonstration

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200323

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20200521

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20200622

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20200923

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20200929

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20201029

R150 Certificate of patent or registration of utility model

Ref document number: 6787966

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150