(57)【要約】  オフラインティーチングにおいて、エンドエフェクタの作動位置や軌跡等を可視化し、オフラインティーチング作業の生産性を高めること。ロボット教示装置（１）は、少なくともエンドエフェクタ（３ａ）を有するロボット（３）と、作業対象物（４）の３次元モデルが配置される３次元モデリング空間内における、エンドエフェクタ（３ａ）の通過目標位置となる教示点を示す教示点マーカ（５）をＧＵＩ上に表示する教示点マーカ表示部と、連続する前記教示点間を連結する軌跡である連結軌跡（６）を前記ＧＵＩ上に表示する連結軌跡表示部と、エンドエフェクタ（３ａ）の作動状態の変化位置を示す変化位置マーカ（７）を前記ＧＵＩ上に表示する変化位置マーカ表示部と、を有する。
2017072979.tif 000002
【特許請求の範囲】
【請求項１】
少なくともエンドエフェクタを有するロボットと、作業対象物の３次元モデルが配置される３次元モデリング空間内における、前記エンドエフェクタの通過目標位置となる教示点を示す教示点マーカをＧＵＩ上に表示する教示点マーカ表示部と、
連続する前記教示点間を連結する軌跡である連結軌跡を前記ＧＵＩ上に表示する連結軌跡表示部と、
前記エンドエフェクタの作動状態の変化位置を示す変化位置マーカを前記ＧＵＩ上に表示する変化位置マーカ表示部と、
を有するロボット教示装置。
【請求項２】
前記エンドエフェクタの移動の軌跡である実軌跡を前記ＧＵＩ上に表示する実軌跡表示部を有する請求項１に記載のロボット教示装置。
【請求項３】
前記教示点マーカ表示部は、前記ＧＵＩを用いて前記教示点の位置が変更される際に、前記教示点マーカの表示位置を動的に変化させ、
前記実軌跡表示部は、前記教示点の位置が変更される際に、前記実軌跡を動的に変化させる請求項２に記載のロボット教示装置。
【請求項４】
前記連結軌跡表示部は、前記連結軌跡を、通過目標位置となる教示点に対応する移動命令の種別に応じた曲線で表示する請求項１〜３のいずれかに記載のロボット教示装置。
【請求項５】
指定された命令の実行位置を示す実行位置マーカを前記ＧＵＩ上に表示する実行位置マーカ表示部を有する請求項１〜４のいずれかに記載のロボット教示装置。
【請求項６】
少なくとも、前記教示点マーカと、前記変化位置マーカは、区別できる態様で表示される請求項１〜５のいずれかに記載のロボット教示装置。
【請求項７】
前記変化位置は、一の前記教示点からの相対距離及び相対時間の少なくともいずれかにより指定される請求項１〜６のいずれかに記載のロボット教示装置。
【請求項８】
前記連結軌跡表示部は、前記変化位置に応じて、前記連結軌跡の表示の態様を変化させる請求項１〜７のいずれかに記載のロボット教示装置。
【請求項９】
コンピュータを、請求項１〜８のいずれかに記載のロボット教示装置として機能させるコンピュータプログラム。
【請求項１０】
少なくともエンドエフェクタを有するロボットと、作業対象物の３次元モデルが配置される３次元モデリング空間内における、前記エンドエフェクタの通過目標位置となる教示点を示す教示点マーカをＧＵＩ上に表示する教示点マーカ表示部と、
連続する前記教示点間を連結する軌跡である連結軌跡を、通過目標位置となる教示点に対応する移動命令の種別に応じた曲線で前記ＧＵＩ上に表示する連結軌跡表示部と、
を有するロボット教示装置。
【請求項１１】
少なくともエンドエフェクタを有するロボットと、作業対象物の３次元モデルが配置される３次元モデリング空間内における、前記エンドエフェクタの通過目標位置となる教示点を示す教示点マーカをＧＵＩ上に表示し、
連続する前記教示点間を連結する軌跡である連結軌跡を前記ＧＵＩ上に表示し、
前記エンドエフェクタの作動状態の変化位置を示す変化位置マーカを前記ＧＵＩ上に表示し、
少なくとも前記教示点マーカ及び前記変化位置マーカのいずれかに対し、前記ＧＵＩ上で操作を行うことにより、前記ロボットに対する教示を行う、
ロボット教示方法。
【請求項１２】
少なくともエンドエフェクタを有するロボットと、作業対象物の３次元モデルが配置される３次元モデリング空間内における、前記エンドエフェクタの通過目標位置となる教示点を示す教示点マーカをＧＵＩ上に表示し、
連続する前記教示点間を連結する軌跡である連結軌跡を、通過目標位置となる教示点に対応する移動命令の種別に応じた曲線で前記ＧＵＩ上に表示し、
少なくとも前記教示点マーカに対し、前記ＧＵＩ上で操作を行うことにより、前記ロボットに対する教示を行う、
ロボット教示方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ロボット教示装置、コンピュータプログラム及びロボット教示方法に関する。
【背景技術】
【０００２】
ティーチングプレイバック方式のロボットのティーチングを、コンピュータグラフィックスを利用して、実機を用いることなく仮想空間内で行ういわゆるオフラインティーチングの手法が近年広く用いられつつある。【０００３】
特許文献１には、ロボットの所定の制御点を原点とする３次元座標軸を操作可能な操作ハンドルを含む仮想画像を生成し、かかる操作ハンドルに対してオペレータの操作を受け付けるロボットシミュレータが記載されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１４−１６１９２１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
一般に、汎用の産業用ロボットのアームの先端には、ロボットハンドや溶接トーチ、スプレーガン等のエンドエフェクタが取り付けられ、エンドエフェクタにより作業対象に何らかの作用を及ぼすことにより、所望の作業がなされる。そのため、エンドエフェクタの作動位置や、その正確な軌跡を予測できることは、望ましい結果を得るために重要である。【０００６】
本発明の解決しようとする課題は、オフラインティーチングにおいて、エンドエフェクタの作動位置や軌跡等を可視化し、オフラインティーチング作業の生産性を高めることである。
【課題を解決するための手段】
【０００７】
本発明の一側面に係るロボット教示装置は、少なくともエンドエフェクタを有するロボットと、作業対象物の３次元モデルが配置される３次元モデリング空間内における、前記エンドエフェクタの通過目標位置となる教示点を示す教示点マーカをＧＵＩ上に表示する教示点マーカ表示部と、連続する前記教示点間を連結する軌跡である連結軌跡を前記ＧＵＩ上に表示する連結軌跡表示部と、前記エンドエフェクタの作動状態の変化位置を示す変化位置マーカを前記ＧＵＩ上に表示する変化位置マーカ表示部と、を有する。【０００８】
また、本発明の一側面に係るロボット教示装置は、前記エンドエフェクタの移動の軌跡である実軌跡を前記ＧＵＩ上に表示する実軌跡表示部を有してよい。【０００９】
また、本発明の一側面に係るロボット教示装置では、前記教示点マーカ表示部は、前記ＧＵＩを用いて前記教示点の位置が変更される際に、前記教示点マーカの表示位置を動的に変化させ、前記実軌跡表示部は、前記教示点の位置が変更される際に、前記実軌跡を動的に変化させてよい。【００１０】
また、本発明の一側面に係るロボット教示装置では、前記連結軌跡表示部は、前記連結軌跡を、通過目標位置となる教示点に対応する移動命令の種別に応じた曲線で表示してよい。【００１１】
また、本発明の一側面に係るロボット教示装置は、指定された命令の実行位置を示す実行位置マーカを前記ＧＵＩ上に表示する実行位置マーカ表示部を有してよい。【００１２】
また、本発明の一側面に係るロボット教示装置では、少なくとも、前記教示点マーカと、前記変化位置マーカは、区別できる態様で表示されてよい。【００１３】
また、本発明の一側面に係るロボット教示装置では、前記変化位置は、一の前記教示点からの相対距離及び相対時間の少なくともいずれかにより指定されてよい。【００１４】
また、本発明の一側面に係るロボット教示装置では、前記連結軌跡表示部は、前記変化位置に応じて、前記連結軌跡の表示の態様を変化させてよい。【００１５】
本発明の一側面に係るコンピュータプログラムは、コンピュータを、上述のいずれかのロボット教示装置として機能させる。【００１６】
本発明の一側面に係るロボット教示装置は、少なくともエンドエフェクタを有するロボットと、作業対象物の３次元モデルが配置される３次元モデリング空間内における、前記エンドエフェクタの通過目標位置となる教示点を示す教示点マーカをＧＵＩ上に表示する教示点マーカ表示部と、連続する前記教示点間を連結する軌跡である連結軌跡を、通過目標位置となる教示点に対応する移動命令の種別に応じた曲線で前記ＧＵＩ上に表示する連結軌跡表示部と、を有する。【００１７】
本発明の一側面に係るロボット教示方法は、少なくともエンドエフェクタを有するロボットと、作業対象物の３次元モデルが配置される３次元モデリング空間内における、前記エンドエフェクタの通過目標位置となる教示点を示す教示点マーカをＧＵＩ上に表示し、連続する前記教示点間を連結する軌跡である連結軌跡を前記ＧＵＩ上に表示し、前記エンドエフェクタの作動状態の変化位置を示す変化位置マーカを前記ＧＵＩ上に表示し、少なくとも前記教示点マーカ及び前記変化位置マーカのいずれかに対し、前記ＧＵＩ上で操作を行うことにより、前記ロボットに対する教示を行う。【００１８】
本発明の一側面に係るロボット教示方法は、少なくともエンドエフェクタを有するロボットと、作業対象物の３次元モデルが配置される３次元モデリング空間内における、前記エンドエフェクタの通過目標位置となる教示点を示す教示点マーカをＧＵＩ上に表示し、連続する前記教示点間を連結する軌跡である連結軌跡を、通過目標位置となる教示点に対応する移動命令の種別に応じた曲線で前記ＧＵＩ上に表示し、少なくとも前記教示点マーカに対し、前記ＧＵＩ上で操作を行うことにより、前記ロボットに対する教示を行う。
【図面の簡単な説明】
【００１９】
【図１】本発明の実施形態に係るロボット教示装置の物理的な構成例を示すブロック図である。
【図２】本発明の実施形態に係るロボット教示装置の機能的な構成例を示す機能ブロック図である。
【図３】ＧＵＩ制御部によりモニタ上に表示されるＧＵＩ画面の例を示す図である。
【図４Ａ】図３で示した番号６の教示点マーカ付近を、そのスプレー方向から見た拡大図である。
【図４Ｂ】図４Ａにおけるオペレータによる操作の例を示す図である。
【図５】本発明の実施形態に係るロボット教示装置の動作の例を示すフローチャートである。
【発明を実施するための形態】
【００２０】
図１は本発明の実施形態に係るロボット教示装置１の物理的な構成例を示すブロックである。ロボット教示装置１としては一般的なコンピュータを用いてよく、本実施形態においても、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）１ａ、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）１ｂ、外部記憶装置１ｃ、ＧＣ（Ｇｒａｐｈｉｃｓ  Ｃｏｎｔｒｏｌｌｅｒ）１ｄ、入力デバイス１ｅ及びＩ／Ｏ（Ｉｎｐｕｒ／Ｏｕｔｐｕｔ）１ｆがデータバス１ｇにより相互に電気信号のやり取りができるよう接続されている一般的なコンピュータを用いている。ここで、外部記憶装置１ｃはＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）やＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）等の静的に情報を記録できる装置である。またＧＣ１ｄからの信号はＣＲＴ（Ｃａｔｈｏｄｅ  Ｒａｙ  Ｔｕｂｅ）やいわゆるフラットパネルディスプレイ等の、使用者が視覚的に画像を認識するモニタ１ｈに出力され、画像として表示される。入力デバイス１ｅはキーボードやマウス、タッチパネル等の、ユーザが情報を入力するための機器であり、Ｉ／Ｏ１ｆはロボット教示装置１が外部の機器と情報をやり取りするためのインタフェースである。コンピュータをロボット教示装置１として機能させるためのアプリケーションプログラムは外部記憶装置１ｃにインストールされ、必要に応じてＲＡＭ１ｂに読みだされてＣＰＵ１ａにより実行される。また、かかるプログラムは、適宜の光ディスク、光磁気ディスク、フラッシュメモリ等の適宜のコンピュータ可読情報記録媒体に記録されて提供されても、インターネット等の情報通信回線を介して提供されてもよく、さらに、Ｉ／Ｏ１ｆを介して外部のネットワークに接続されたサーバによりロボット教示装置１としての機能が提供される、いわゆるクラウドコンピューティングにより提供されてもよい。
【００２１】
図２は本発明の実施形態に係るロボット教示装置１の機能的な構成例を示す機能ブロック図である。本図に示す各機能ブロックは、上述のロボット教示装置１の物理的構成を用いて、例えば、ＣＰＵ１ａにより所定のプログラムを実行したり、ＲＡＭ１ｂや外部記憶装置１ｃに所定の情報を記憶する領域を割り当てたりすることにより仮想的に実現されており、ロボット教示装置１が有する機能に着目して個別に示したものである。従って、本図に示す機能ブロックは必ずしもロボット教示装置１の物理的構成や、ロボット教示装置１が実行するプログラム自体が機能ブロック毎に区分されることを意味しない。また、本図にはロボット教示装置１が有する全ての機能が示されているわけではなく、本発明と技術的関連の低い部分は省略されている。
【００２２】
ＧＵＩ（Ｇｒａｐｈｉｃａｌ  Ｕｓｅｒ  Ｉｎｔｅｒｆａｃｅ）制御部２は、表示制御部１１により生成された画像をモニタ１ｈに表示し、また、入力デバイス１ｅによりなされたオペレータの操作を、モニタ１ｈ上に表示された画像に対してなされたものとして操作受付部１２に引き渡すことにより、オペレータにとり視覚的な操作を実現する。
【００２３】
表示制御部１１は、モデル表示部１１ａ、教示点マーカ表示部１１ｂ、変化位置マーカ表示部１１ｄ、実行位置マーカ表示部１１ｅ及び実軌跡表示部１１ｆを含み、記憶部１３より取得したモデルデータに基いて、少なくともエンドエフェクタを有するロボット３と、作業対象物の３次元グラフィクスを生成するとともに、記憶部１３より取得したティーチングプログラムに基いて、ロボット３に対する教示点と、エンドエフェクタに対するものを含む各種の実行命令のデータに基く各種マーカ及び軌跡の３次元グラフィクスを生成し、ＧＵＩ制御部１０に出力し、表示させる。教示点、各種マーカ及び軌跡の種別や表示の態様については後述する。
【００２４】
記憶部１３は、エンドエフェクタを有するロボット３及び作業対象物の３次元モデルを記憶するモデルデータ記憶部１３ａと、ロボット３が実行するティーチングプログラムを記憶するティーチングプログラム記憶部１３ｂを含む。ロボット３及び作業対象物の３次元モデルは、図示しない公知の構成により、ロボット教示装置１自身を用いて作成してもよいし、別途３次元ＣＡＤにより作成したモデルデータや、メーカなどのベンダーより提供されたモデルデータを読み込み記憶することとしてもよい。ティーチングプログラム記憶部１３ｂは、初期状態ではティーチングプログラムを記憶していないが、ロボット教示装置１自身により新たに作成したり、既存のティーチングプログラムをロボットコントローラ２等から読み込み記憶するようにしてよい。
【００２５】
ロボット教示装置１により作成または編集され、ティーチングプログラム記憶部１３ｂに記憶されたティーチングプログラムは、Ｉ／Ｏ１ｆを介して接続されたロボットコントローラ２に転送され、ロボット３の制御に用いられる。なお、ロボット教示装置１によるティーチングプログラムの作成や編集の際には、ロボット教示装置１とロボットコントローラ２との接続は必ずしも必要でなく、ロボット教示装置１単独でのティーチングプログラムの作成や編集（いわゆるオフラインティーチング）が可能である。また、ロボット教示装置１とロボットコントローラ２との接続は、必ずしも直接結線による接続である必要はなく、例えば、通信ネットワークを介して遠隔地よりデータを送受信する形態であってもよい。
【００２６】
図３は、ＧＵＩ制御部１０によりモニタ１ｈ上に表示されるＧＵＩ画面の例を示す図である。画面中には、モデル表示部１１ａにより、３次元モデリング空間中に配置された、エンドエフェクタ３ａが先端に装着されたロボット３と、作業対象物４の３次元画像が生成され、示されている。なお、画面に表示する際の３次元モデリング空間に対する視点の位置や方向、倍率等は、オペレータが入力デバイス１ｅを用いて指示することにより、ＧＵＩ制御部１０が適宜変更する。なお、本実施形態では、エンドエフェクタ３ａの一例として、スプレーガンを想定している。作業対象物４は、ここでは単なる直方体として示しているが、任意のモデルでよく、一例として、自動車のボディである。
【００２７】
さらに、画面中には、ロボット３が動作する際の、エンドエフェクタ３ａの基準点が通過すべき位置である教示点の３次元モデリング空間中の位置が、教示点マーカ表示部１１ｂにより、教示点マーカ５（代表として、図中の最初のもののみ参照番号を付して示した）として示されている。ここでは、教示点マーカ５は、円錐として表示される。教示点マーカの形状や色、大きさは、オペレータが適宜変更できるようにしてよい。
【００２８】
ここで、教示点は、ティーチングプログラム記憶部１３ｂに記憶されたティーチングプログラム中の、ロボット３に対する移動命令の目標座標に他ならない。例えば、ロボット３の制御基準点、ここでは、エンドエフェクタ３ａの基準点を現在位置から座標（ｘ，ｙ，ｚ）に直線的に動作させる命令として、ティーチングプログラム中に「ＭＯＶＬ  ｘ  ｙ  ｚ」という命令が含まれている場合、この点（ｘ，ｙ，ｚ）は教示点として教示点マーカ表示部１１ｂにより抽出され、対応する位置に教示点マーカ５が示される。図示の例では、教示点マーカ５は８つ示されているから、この例におけるティーチングプロクラムには、８つの移動命令が含まれていることになる。各教示点マーカ５の脇には、エンドエフェクタ３ａが通過する順に通し番号が表示されている。
【００２９】
また、画面中には、連続する教示点間を連結する軌跡である連結軌跡６が、連結軌跡表示部１１ｃにより表示されている。連結軌跡６は、ロボット３が理想的な動作をした時、すなわち、極めて低速の状態で作動したと仮定した場合にエンドエフェクタ３ａが通過する軌跡である。後述するが、実際の動作では、ロボット３を高速で動作させるほど、エンドエフェクタ３ａが実際に通過する軌跡（これを実軌跡９と称する）と連結軌跡６との間にはずれが生じる。したがって、連結軌跡６は、エンドエフェクタ３ａの理想的な軌跡といえ、オペレータは、この連結軌跡６を辿ることで、ティーチングプログラムがロボット３にどのような動作をさせることを意図しているのかを視覚的に認識することができる。
【００３０】
なお、本例での連結軌跡６は、図示するように細線で示されている部分と太線で示されている部分があるが、これについては後述する。また、連結軌跡６は、必ずしも連続する教示点間を直線で結ぶものに限定されない。教示点に対応するティーチングプログラム中の移動命令が、最速移動（すなわち、ロボット３の各モータを、それぞれ目標値に対して直線的に駆動する移動方式）を指示する命令であれば、連結軌跡６は、ロボット３の姿勢に応じた、やや複雑な曲線となる軌跡となり、移動命令が円弧その他の曲線移動を指示する命令であれば、連結軌跡６は、指示された通りの曲線として表示される。すなわち、連結軌跡表示部１１ｃは、連結軌跡６を、通過目標となる教示点に対応する移動命令の種別に応じた曲線で表示することになる。
【００３１】
さらに、画面中には、エンドエフェクタ３ａの作動状態の変化位置を示す変化位置マーカ７が、変化位置マーカ表示部１１ｄにより表示されている（代表として、図中の最初のもののみ参照番号を付して示した）。ここでは、変化位置マーカ７は、球体として表示されているが、形状等をオペレータが変更してもよい点については、先の教示点マーカ５と同様である。
【００３２】
ここでのエンドエフェクタ３ａの作動状態とは、特に作業対象物４に対する作用が変化するような作動状態を指しており、この例では、スプレーのＯＮ／ＯＦＦの切替である。このエンドエフェクタ３ａの作動状態の変化は、該当するティーチングプログラム中の命令より変化位置マーカ表示部１１ｄにより抽出され、３次元モデリング空間中の位置が特定される。例えば、エンドエフェクタ３ａの作動状態を変化させる命令として、スプレーをＯＮとする命令である、「ＳＰＹＯＮ」という命令がティーチングプログラム中に含まれている場合、変化位置マーカ表示部１１ｄは、当該命令が実行される教示点の位置に、変化位置マーカ７を表示する。このとき、変化位置マーカ７の位置が教示点マーカ５や後述する実行位置マーカ８と同一位置となる場合、教示点マーカ５や実行位置マーカ８と重なり合うように表示してもよいし、重なり合わないように、それらマーカと隣接する位置に表示してもよい。
【００３３】
また、該当するティーチングプログラム中の命令が、作動状態を変化させるタイミングとして、隣接する教示点からの相対距離又は相対時間を指定している場合、変化位置マーカ表示部１１ｄは、かかる相対距離又は相対時間を加味して、変化位置マーカ７の位置を決定する。例えば、エンドエフェクタ３ａの作動状態を変化させる命令として、スプレーをＯＮとする命令が、「ＳＰＹＯＮ  ＡＮＴ＝１．００ｓｅｃ」のように、次の教示点からの相対時間を指定するものである場合（この場合は、エンドエフェクタ３ａが次の教示点を通過後１．００秒経過後にスプレー開始することを示している）、変化位置マーカ表示部１１ｄは、次の教示点から、ロボット３の移動速度を加味して、連結軌跡６上のスプレーＯＮとなる位置を決定する。図３では、参照番号を付して示した変化位置マーカ７は、番号２が付された教示点マーカ５に対して指定時間又は指定距離経過後となる連結軌跡６上の位置に示されている。また、参照番号が付されていない変化位置マーカ７は、番号７が付された教示点マーカ５に対して指定時間又は指定距離経過前となる連結軌跡６上の位置に示されている。
【００３４】
このように、実際にエンドエフェクタ３ａの作動状態が変化する位置を連結軌跡６上に変化位置マーカ７により示すことにより、作業対象物４に対し、エンドエフェクタ３ａによる作用がなされる位置をオペレータが視覚的に確認することができる。また、作動状態を変化させるタイミングとして、一の教示点からの相対距離や相対時間が指定された場合にも、該当する位置が３次元モデリング空間内で視覚的に把握できる。
【００３５】
さらに、連結軌跡表示部１１ｃは、エンドエフェクタ３ａの作動状態の変化に応じて、連結軌跡６の表示の態様を変化させてよい。例えば、図３に示すように、スプレーＯＮとなる区間を太線で表示し、スプレーＯＦＦとなる区間を細線で表示する等である。連結軌跡６の表示の態様の変化は、線の太さだけでなく、色や線種の変化によってもよい。また、エンドエフェクタの状態が３種以上に変化する場合には、それぞれの状態ごとに異なる連結軌跡６の表示の態様を選択してよい。さらに、本例では、連結軌跡６の表示の態様が変化する位置は、変化位置マーカ７の位置となっているが、教示点間の区間ごとに表示の態様を変化させてもよい。例えば、スプレーＯＮとなる部分が含まれる区間（例えば、図中の教示点マーカ２番と３番の間の区間や、６番と７番の間の区間）はスプレーＯＮの区間として太線で表示する等である。
【００３６】
このように、エンドエフェクタ３ａの作動状態に応じて異なる態様で連結軌跡６を示すことで、オペレータは、エンドエフェクタ３ａによる作用が作業対象物４に対しなされる範囲を視覚的に確認することができる。
【００３７】
さらに、画面中には、指定された命令の実行位置を示す実行位置マーカ８が、実行位置マーカ表示部１１ｅにより表示されている。ここでは、実行位置マーカ８は、立方体として表示されているが、形状等をオペレータが変更してもよい点については、先の教示点マーカ５、変化位置マーカ７と同様である。
【００３８】
ここでの指定された命令とは、ティーチングプログラムに含まれ、先の移動命令や、エンドエフェクタ３ａの作動状態を変化される命令とは異なる命令であって、特にＧＵＩ上で表示しておくことが都合がよいものである。ここでは、「ＰＡＩＮＴＳＥＴ」命令が該当しており、同命令は、スプレーガンの初期パラメータ、例えばバルブの開度や使用する塗料等を指定するものである。このように、エンドエフェクタ３ａの動作パラメータをティーチングプログラム上で指定しておく必要がある場合に、かかる命令が実行される位置を実行位置マーカ８として表示することにより、オペレータは、エンドエフェクタ３ａの動作パラメータが設定されていることをＧＵＩ上で視覚的に確認することができるほか、後述するように、ＧＵＩ上でエンドエフェクタ３ａの動作パラメータの設定やその変更が可能となる。
【００３９】
なお、実行位置マーカ８として表示されるティーチングプログラム中の命令は、エンドエフェクタ３ａの動作パラメータを設定するものに限定されず、任意のものであってよい。特に、オペレータが、実行位置マーカ８として表示すべき命令を指定できるようにしてもよい。さらに、異なる命令に対応する実行位置マーカ８は、それぞれ、異なる態様（例えば異なる色や形状、大きさなど）で表示するようにしてもよい。
【００４０】
以上のように、教示点マーカ５、変化位置マーカ７及び実行位置マーカ８は、互いに区別できる態様でＧＵＩ上に表示される。これにより、オペレータは、エンドエフェクタ３ａの軌道を規定する教示点の位置や、エンドエフェクタ３ａの動作の位置、所望の命令が実行される位置をそれぞれ区別して視覚的に把握することができる。
【００４１】
なお、各マーカの追加や編集の操作は、既存の３次元グラフィクスに対するＧＵＩの操作と同様のものを用いてよい。例えば、マーカの位置の変更は、ＧＵＩ上でオペレータが該当するマーカをドラッグすることによりなされてよい。また、オペレータがＧＵＩ上の適宜のマーカを指定することによりダイアログを表示し、各種操作ができるようにしてよい。例えば、マーカを指定することにより、当該マーカの修正位置の座標入力を受け付けたり、当該マーカに対応するティーチングプログラム上の命令を編集したり、当該マーカの前又は後に新たなマーカを追加したり、当該マーカを削除できてよい。このとき、追加したマーカに対応する命令がティーチングプログラムに追加され、また、削除したマーカに対応する命令がティーチングプログラムから削除されるか、コメントアウトされる。或いは、連結軌跡６上の任意の位置を指定することにより新たなマーカを連続するマーカ間に挿入したり、ＧＵＩ上の適宜の位置を指定し、新たなマーカを追加したりしてよい。この場合にも同様に、新たなマーカに対応する命令がティーチングプログラムに追加される。
【００４２】
ＧＵＩ上の特筆すべき操作として、変化位置マーカ７を連結軌跡６に沿ってドラッグすることにより、エンドエフェクタ３ａの作動状態が変化する位置を、教示点に対する相対位置又は相対時間として指定できる。この時、ティーチングプログラムの対応する命令（例えば、上述の「ＳＰＹＯＮ」命令）における相対位置又は相対時間の指定が変更される。相対位置を用いるか相対時間を用いるかは、現時点での命令が用いている方をそのまま用いればよく、その指定が無い場合（例えば、相対位置の指定がされていない場合等）には、いずれか片方、例えば相対距離、を用いるものとしておくとよい。また、この時、変化位置マーカ７のドラッグ可能範囲を、連結軌跡６上に制限する。
【００４３】
このように、ＧＵＩ上のマーカを追加していくことによりティーチングプログラムが作成され、ＧＵＩ上のマーカに対する操作により、ティーチングプログラムの編集がなされる。ＧＵＩ制御部１０により受け付けられたオペレータの操作は、操作受付部１２により解釈され、ティーチングプログラムの命令に変換されて、ティーチングプログラム記憶部１３ｂにティーチングプログラムとして記憶される。
【００４４】
また、モデル表示部１１ａは、画面中の任意のマーカがオペレータにより指定された際に、かかるマーカにより指定された時点におけるロボット３の姿勢及び、作業対象物４の３次元画像を生成し、表示してよい。こうすることにより、オペレータは、作業中のロボットの姿勢を確認でき、また、ロボット３や作業対象物４が作業中に移動する場合（例えば、それぞれ台車などのキャリアに乗せられ、移動しながら作業を行う等）に、それぞれの作業時点におけるロボット３と作業対象物４との位置関係を視覚的に把握することができる。ロボット３や作業対象物４が作業中に移動する場合には、あらかじめ、その移動の方向や速度を指定しておく。
【００４５】
さらに、画面中には、エンドエフェクタ３ａの移動の実軌跡９が、実軌跡表示部１１ｆにより表示されてよい。一般に多関節ロボットの制御において、ロボット３の動作が高速になるほど、ロボット３の先端に取り付けられたエンドエフェクタ３ａが描く実軌跡９は、各教示点を理想的に結んだ軌跡（これは、連結軌跡６に等しい）からのずれが生じる。このずれの量は、ロボット３の動作速度や、各モータの制御パラメータ、ロボット先端質量などに依存するが、この実軌跡９は、ロボット３や、エンドエフェクタ３ａの諸元が分かっている場合には、シミュレーションにより、或いは軌道計算により求めることができる。
【００４６】
実軌跡表示部１１ｆは、かかる実軌跡９をシミュレーション或いは軌道計算により求め、ＧＵＩ上に表示するものであり、図３中では破線で示したように、連結軌跡６とは異なる態様で示される。これにより、オペレータは、エンドエフェクタ３ａの理想的な軌跡である連結軌跡６だけでなく、実際にエンドエフェクタ３ａが通過する実軌跡９をＧＵＩ上で確認できることになる。
【００４７】
たとえば、本例で示すようにエンドエフェクタ３ａがスプレーガンである場合に、図示するように実軌跡９が連結軌跡６のコーナー部分の内側を回るような軌跡を描く場合、かかる部分の周辺では塗りむらが生じたり、塗り残しが生じるなど、作業対象物４に対する作用が不十分となる場合があり得た。発明者の知見によれば、従来、オペレータは、実機による塗装結果を確認したり、経験的知見や、別途実行するシミュレーションの結果に基いて、教示点の位置を意図的に変更することにより、実軌跡９が所望の軌跡を描くように調整していたが、この調整作業は、実機を動作させたり、経験知を要求する等、非常に熟練や時間、コストを要求するものであり、オフラインティーチングをする際の大きな負担となっていた。
【００４８】
そこで、本実施形態のように、実軌跡９が、教示点マーカ５や連結軌跡６、作業対象物４と同時に３次元モデリング空間内に表示されることで、実軌跡９と教示点及び作業対象物４との関係を確認しながら教示点の位置を視覚的に変更することができ、オフラインティーチングの際のオペレータの負担やコストが大幅に軽減され、その生産性を著しく向上させるととともに、オペレータの熟練を要求しないものとすることができる。
【００４９】
さらに、教示点マーカ表示部１１ｂは、ＧＵＩを用いて教示点の位置を変更する際に、教示点マーカ５の位置を動的に変化させる。すなわち、オペレータが任意の教示点マーカ５をドラッグした際に、当該教示点マーカ５は、オペレータの操作に応じてリアルタイムにその表示位置が変化する。そして、この教示点マーカ５の動的な位置変化に応じて、連結軌跡表示部１１ｃ及び実軌跡表示部１１ｆは、その表示する連結軌跡６及び実軌跡９をそれぞれ動的に変化させてよい。すなわち、オペレータが任意の教示点マーカ５をドラッグしてその表示位置を変化させると、その変化に応じて連結軌跡６及び実軌跡９も共にリアルタイムに追従し変化するのである。
【００５０】
このようにすることにより、特に、実軌跡９がリアルタイムに変化することにより、オペレータは、教示点マーカ５の位置をリアルタイムに変化させながら、実軌跡９を所望の軌跡に合わせこむという作業ができることになる。
【００５１】
例えば、図４Ａは、図３で示した番号６の教示点マーカ５付近を、そのスプレー方向から見た拡大図である。図示のように、番号６の教示点付近では、実軌跡９は、連結軌跡６のコーナーの大きく内側を通過する軌跡となっており、作業対象物４の角付近に塗り残しが生じることが懸念される。
【００５２】
そこで、図４Ｂに示すように、オペレータが、番号６の教示点マーカ５を、元あった教示点マーカの位置（参照番号５’を付して破線で示した）から図中右上方向にドラッグすると、かかる操作に応じて連結軌跡６及び実軌跡９は図中示したように変化する。オペレータは、実軌跡９が、所望の軌跡を描くように教示点マーカ５の位置を調節し、ドラッグを解除してその位置を決定することにより、簡単に所望の軌跡に近い実軌跡９が得られることになる。このように、本実施形態では、実機の作動や、熟練による経験知を必要とすることなく、極めて容易に実軌跡９の作業対象物４に対する合わせこみが可能となるのである。
【００５３】
続いて、図５に示したフローチャートを用いて、本実施形態に係るロボット教示装置１の動作を、特に本願発明と関連する部分に関して示す。
【００５４】
まず、ステップＳＴ１において、モデル表示部１１ａは、モデルデータ記憶部１３ａからエンドエフェクタ３ａを有するロボット３のモデルデータ及び、作業対象物４の３次元モデルを読み込み、続くステップＳＴ２において、３次元モデリング空間内にロボット３及び作業対象物４を配置し、ＧＵＩ上に表示する。
【００５５】
さらに、ステップＳＴ３において、ティーチングプログラム記憶部１３ｂからティーチングプログラムを読み込み、かかるティーチングプログラムに基いて、ステップＳＴ４で教示点マーカ表示部１１ｂがＧＵＩ上の３次元モデリング空間内に教示点マーカ５を表示し、ステップＳＴ５で連結軌跡表示部１１ｃがＧＵＩ上の３次元モデリング空間内に連結軌跡６を表示し、ステップＳＴ６で変化位置マーカ表示部１１ｄがＧＵＩ上の３次元モデリング空間内に変化位置マーカ７を表示し、ステップＳＴ７で実行位置マーカ表示部１１ｅがＧＵＩ上の３次元モデリング空間内に実行位置マーカ８を表示し、ステップＳＴ８で実軌跡表示部１１ｆがＧＵＩ上の３次元モデリング空間内に実軌跡９を表示する。
【００５６】
その後、ステップＳＴ９でＧＵＩに対するオペレータ入力を待つ。オペレータ入力があった場合、ステップＳＴ１０で、オペレータからの指示が、処理の終了を指示するものであるかどうかを判定し、肯定（処理の終了を意味する）の場合、ロボット教示装置１の動作を終了し、そうでなければ、ステップＳＴ１１へと進む。
【００５７】
ステップＳＴ１１で、オペレータからの指示が、マーカの追加、変更及び削除に関するものであるか否かを判定し、肯定（マーカの追加、変更及び削除を意味する）の場合、ステップＳＴ１２に進み、オペレータからの入力内容に応じて、操作受付部１２によりティーチングプログラムの変更がなされ、ティーチングプログラム記憶部１３ｂに変更が記憶される。その後ステップＳＴ４に戻り、ティーチングプログラムに加えられた変更は、直ちに教示点マーカ５、連結軌跡６、変化位置マーカ７、実行位置マーカ８及び実軌道９の変化としてＧＵＩ上に表示され、反映される。これにより、オペレータがマーカに対してする操作が、ＧＵＩ上にリアルタイムに反映されることになる。なお、教示点マーカ表示部１１ｂ、連結軌跡表示部１１ｃ、変化位置マーカ表示部１１ｄ、実行位置マーカ表示部１１ｅ及び実軌跡表示部１１ｆは、その表示に変更を要する場合のみにＧＵＩ上の表示を変更すればよく、オペレータによる操作が表示に変更をもたらさないものである場合には、あらためて表示をやり直すことをせずに、ロボット教示装置１の負荷を低減するようにしてもよい。
【００５８】
ステップＳＴ１１で、否定（マーカの追加、変更及び削除を意味しない）の場合、ステップＳＴ１３へと進み、オペレータの指示に応じたその他の処理を行う。処理の終了後は、ＧＵＩ上の表示に変更を加える必要はないので、ステップＳＴ８へと戻り、さらなるオペレータの入力を待つ。
【００５９】
以上、本発明に係る実施形態について説明したが、この実施形態に示した具体的な構成は一例として示したものであり、本発明の技術的範囲をこれに限定することは意図されていない。当業者は、これら開示された実施形態を適宜変形してもよく、本明細書にて開示される発明の技術的範囲は、そのようになされた変形をも含むものと理解すべきである。
【図１】
2017072979.tif 000003
【図２】
2017072979.tif 000004
【図３】
2017072979.tif 000005
【図４Ａ】
2017072979.tif 000006
【図４Ｂ】
2017072979.tif 000007
【図５】
2017072979.tif 000008
【国際調査報告】
2017072979.tif 000009
2017072979.tif 000010
2017072979.tif 000011
2017072979.tif 000012