(57)【要約】【課題】ダイレクトティーチングによる教示をロボットの少なくとも一部のモデルに基づいてユーザーに行わせることができる教示装置を提供すること。【解決手段】教示装置は、力を検出する力検出部を有するロボットに動作の教示を行う教示装置であって、力検出部により検出される力に基づいて、ダイレクトティーチングによる当該教示を行う場合、ロボットの少なくとも一部のモデルを表示する表示部を備える。【選択図】図３
2017019068.tif 000002
【特許請求の範囲】
【請求項１】
力を検出する力検出部を備えるロボットに動作の教示を行う教示装置であって、
前記力検出部により検出される力に基づいて、ダイレクトティーチングによる前記教示を行う場合、前記ロボットの少なくとも一部のモデルを表示する表示部を備える、
教示装置。
【請求項２】
前記表示部は、前記ロボットの少なくとも一部の三次元モデルを前記モデルとして表示する、
請求項１に記載の教示装置。
【請求項３】
前記表示部は、教示装置に設定された座標系に基づいて前記モデルを表示する、
請求項１又は２に記載の教示装置。
【請求項４】
前記表示部は、前記モデルとともに前記ロボットの周辺情報を表示する、
請求項１から３のうちいずれか一項に記載の教示装置。
【請求項５】
前記表示部は、前記ロボットの全部の前記モデルを表示する、
請求項１から４のうちいずれか一項に記載の教示装置。
【請求項６】
前記表示部は、前記モデルとともに補助情報を表示する、
請求項１から５のうちいずれか一項に記載の教示装置。
【請求項７】
前記表示部は、前記補助情報として、ロボット座標系を示す情報と、ベース座標系を示す情報と、ローカル座標系を示す情報とのうち少なくとも１つ以上を表示する、
請求項６に記載の教示装置。
【請求項８】
前記表示部への前記モデルの表示の更新を所定の時間が経過する毎に行う第１表示モードと、又はユーザーから受け付けた操作に応じて前記更新を行う第２表示モードとのうちいずれか一方を選択可能である、
請求項１から７のうちいずれか一項に記載の教示装置。
【請求項９】
前記表示部における前記モデルの表示視点の並進又は回転が可能である、
請求項１から８のうちいずれか一項に記載の教示装置。
【請求項１０】
前記ロボットは、アームを備え、
前記表示部は、前記アームを前記一部として含む前記モデルとともに、前記モデルに含まれる前記アームの先端に所定の座標系を表示する、
請求項１から９のうちいずれか一項に記載の教示装置。
【請求項１１】
前記表示部は、前記所定の座標系として、ベース座標系又はローカル座標系を表示する、
請求項１０に記載の教示装置。
【請求項１２】
請求項１から１１のうちいずれか一項に記載の教示装置により教示されるロボット。
【請求項１３】
力を検出する力検出部を備えるロボットと、
ロボット制御装置と、
請求項１から１１のうちいずれか一項に記載の教示装置と、
を備えるロボットシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、教示装置、ロボット、及びロボットシステムに関する。
【背景技術】
【０００２】
ロボットに動作を教示する作業を容易にする技術の研究や開発が行われている。
【０００３】
これに関し、力を検出する力検出部を備えるロボットに対し、力検出部により検出される力に基づくダイレクトティーチングによって動作を教示する方法が知られている（特許文献１参照）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００９−０７２８３３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、従来の方法では、ロボットに動作の教示を行う際、ロボット自体を見ながら動作の教示を行わなければならなかった。このような場合、当該教示を行うユーザーは、立ち位置によってロボット自体が見づらくなってしまう場合があり、当該教示を効率的に行うことが困難な場合があった。
【課題を解決するための手段】
【０００６】
上記課題の少なくとも一つを解決するために本発明の一態様は、力を検出する力検出部を備えるロボットに動作の教示を行う教示装置であって、前記力検出部により検出される力に基づいて、ダイレクトティーチングによる前記教示を行う場合、前記ロボットの少なくとも一部のモデルを表示する表示部を備える、教示装置である。
この構成により、教示装置は、力検出部により検出される力に基づいて、ダイレクトティーチングによる当該教示を行う場合、ロボットの少なくとも一部のモデルを表示する。これにより、教示装置は、ダイレクトティーチングによる教示をロボットの少なくとも一部のモデルに基づいてユーザーに行わせることができる。
【０００７】
また、本発明の他の態様は、教示装置において、前記表示部は、前記ロボットの少なくとも一部の三次元モデルを前記モデルとして表示する、構成が用いられてもよい。
この構成により、教示装置は、力検出部により検出される力に基づくダイレクトティーチングによってロボットに動作の教示を行う場合、ロボットの少なくとも一部の三次元モデルを表示する。これにより、教示装置は、ダイレクトティーチングによる教示をロボットの少なくとも一部の三次元モデルに基づいてユーザーに行わせることができる。
【０００８】
また、本発明の他の態様は、教示装置において、前記表示部は、教示装置に設定された座標系に基づいて前記モデルを表示する、構成が用いられてもよい。
この構成により、教示装置は、教示装置に設定された座標系に基づいてロボットの少なくとも一部のモデルを表示する。これにより、教示装置は、ロボットの少なくとも一部のモデルをユーザーが所望する座標系に基づいて表示させることができる。
【０００９】
また、本発明の他の態様は、教示装置において、前記表示部は、前記モデルとともに前記ロボットの周辺情報を表示する、構成が用いられてもよい。
この構成により、教示装置は、ロボットの少なくとも一部のモデルとともにロボットの周辺情報を表示する。これにより、教示装置は、ダイレクトティーチングによる教示をロボットの少なくとも一部のモデルとともに表示されたロボットの周辺情報に基づいてユーザーに行わせることができる。
【００１０】
また、本発明の他の態様は、教示装置において、前記表示部は、前記ロボットの全部の前記モデルを表示する、構成が用いられてもよい。
この構成により、教示装置は、ロボットの全部のモデルを表示する。これにより、教示装置は、ダイレクトティーチングによる教示をロボットの全部のモデルに基づいてユーザーに行わせることができる。
【００１１】
また、本発明の他の態様は、教示装置において、前記表示部は、前記モデルとともに補助情報を表示する、構成が用いられてもよい。
この構成により、教示装置は、ロボットの少なくとも一部のモデルとともに補助情報を表示する。これにより、教示装置は、ダイレクトティーチングによる教示をロボットの少なくとも一部のモデルとともに表示された補助情報に基づいてユーザーに行わせることができる。
【００１２】
また、本発明の他の態様は、教示装置において、前記表示部は、前記補助情報として、ロボット座標系を示す情報と、ベース座標系を示す情報と、ローカル座標系を示す情報とのうち少なくとも１つ以上を表示する、構成が用いられてもよい。
この構成により、教示装置は、補助情報として、ロボット座標系を示す情報と、ベース座標系を示す情報と、ローカル座標系を示す情報とのうち少なくとも１つ以上を表示する。これにより、教示装置は、ロボット座標系を示す情報とベース座標系を示す情報とローカル座標系を示す情報とのうち少なくとも１つ以上と、ロボットの少なくとも一部のモデルとに基づいてダイレクトティーチングによる教示をユーザーに行わせることができる。
【００１３】
また、本発明の他の態様は、教示装置において、前記表示部への前記モデルの表示の更新を所定の時間が経過する毎に行う第１表示モードと、又はユーザーから受け付けた操作に応じて前記更新を行う第２表示モードとのうちいずれか一方を選択可能である、構成が用いられてもよい。
この構成により、教示装置は、第１表示モードと、第２表示モードとのうちいずれか一方を選択可能である。これにより、教示装置は、第１表示モードと、第２表示モードとのうちユーザーが所望する表示モードによってロボットの少なくとも一部のモデルを表示することができる。
【００１４】
また、本発明の他の態様は、教示装置において、前記表示部における前記モデルの表示視点の並進又は回転が可能である、構成が用いられてもよい。
この構成により、教示装置は、表示部におけるロボットの少なくとも一部のモデルの表示視点の並進又は回転が可能である。これにより、教示装置は、ユーザーが所望する表示視点によってロボットの少なくとも一部のモデルを表示することができる。
【００１５】
また、本発明の他の態様は、教示装置において、前記ロボットは、アームを備え、前記表示部は、前記アームを前記一部として含む前記モデルとともに、前記モデルに含まれる前記アームの先端に所定の座標系を表示する、構成が用いられてもよい。
この構成により、教示装置は、アームをロボットの一部として含むモデルとともに、当該モデルに含まれるアームの先端に所定の座標系を表示する。これにより、教示装置は、アームをロボットの一部として含むモデルと、当該モデルに含まれるアームの先端に表示された所定の座標系とに基づいて、ダイレクトティーチングによる教示をユーザーに行わせることができる。
【００１６】
また、本発明の他の態様は、教示装置において、前記表示部は、前記所定の座標系として、ベース座標系又はローカル座標系を表示する、構成が用いられてもよい。
この構成により、教示装置は、ロボットの少なくとも一部としてアームを含むモデルに含まれるアームの先端に表示する所定の座標系として、ベース座標系又はローカル座標系を表示する。これにより、教示装置は、ロボットの少なくとも一部としてアームを含むモデルに含まれるアームの先端に表示されたベース座標系又はローカル座標系に基づいて、ダイレクトティーチングによる教示をユーザーに行わせることができる。
【００１７】
また、本発明の他の態様は、上記のいずれかに記載の教示装置により教示されるロボットである。
この構成により、ロボットは、力検出部により検出される力に基づくダイレクトティーチングによってロボットに動作の教示を行う場合、ロボットの少なくとも一部のモデルを表示する教示装置により教示される。これにより、ロボットは、ダイレクトティーチングによる教示をロボットの少なくとも一部のモデルに基づいてユーザーに行わせることができる。
【００１８】
また、本発明の他の態様は、力を検出する力検出部を備えるロボットと、ロボット制御装置と、上記のいずれかに記載の教示装置と、を備えるロボットシステムである。
この構成により、ロボットシステムは、力検出部により検出される力に基づくダイレクトティーチングによってロボットに動作の教示を行う場合、教示装置にロボットの少なくとも一部のモデルを表示する。これにより、ロボットシステムは、ダイレクトティーチングによる教示をロボットの少なくとも一部のモデルに基づいてユーザーに行わせることができる。
【００１９】
以上により、教示装置は、力検出部により検出される力に基づくダイレクトティーチングによってロボットに動作の教示を行う場合、ロボットの少なくとも一部のモデルを表示する。これにより、教示装置は、ダイレクトティーチングによる教示をロボットの少なくとも一部のモデルに基づいてユーザーに行わせることができる。
また、ロボットは、力検出部により検出される力に基づくダイレクトティーチングによってロボットに動作の教示を行う場合、ロボットの少なくとも一部のモデルを表示する教示装置により教示される。これにより、ロボットは、ダイレクトティーチングによる教示をロボットの少なくとも一部のモデルに基づいてユーザーに行わせることができる。
また、ロボットシステムは、力検出部により検出される力に基づくダイレクトティーチングによってロボットに動作の教示を行う場合、教示装置にロボットの少なくとも一部のモデルを表示する。これにより、ロボットシステムは、ダイレクトティーチングによる教示をロボットの少なくとも一部のモデルに基づいてユーザーに行わせることができる。
【図面の簡単な説明】
【００２０】
【図１】本実施形態に係るロボットシステム１の一例を示す構成図である。
【図２】教示装置１０のハードウェア構成の一例を示す図である。
【図３】教示装置１０の機能構成の一例を示す図である。
【図４】教示画面Ｔ１の一例を示す図である。
【図５】ＴＣＰにツール座標系が表示された三次元モデルが表示されたモデル表示画面Ｔ３を含む教示画面Ｔ１の一例を示す図である。
【図６】ＴＣＰを移動させたい方向を示す情報である矢印が表示された三次元モデルが表示されたモデル表示画面Ｔ３を含む教示画面Ｔ１の一例を示す図である。
【発明を実施するための形態】
【００２１】
＜実施形態＞
以下、本発明の実施形態について、図面を参照して説明する。図１は、本実施形態に係るロボットシステム１の一例を示す構成図である。ロボットシステム１は、ロボット５と、教示装置１０と、ロボット制御装置（ロボットコントローラー）３０を備える。
まず、ロボットシステム１が備える各構成について説明する。
【００２２】
ロボット５は、１本のアーム（腕）を備える単腕ロボットである。なお、ロボット５は、単腕ロボットに代えて、２本のアームを備える双腕ロボットであってもよく、パラレルリンクロボットであってもよく、直交軸ロボットであってもよく、単軸ロボットであってもよく、スカラロボットであってもよい。
【００２３】
アームは、エンドエフェクターＥと、マニピュレーターＭと、力検出部６と、図示しない複数のアクチュエーターによって構成される。アームは、７軸垂直多関節型のアームである。具体的には、アームは、支持台と、エンドエフェクターＥと、マニピュレーターＭとがアクチュエーターによる連携した動作によって７軸の自由度の動作を行う。なお、アームは、７軸垂直多関節型のアームに限らない。例えば、アームは、６軸以下の垂直多関節型のアームであってもよく、８軸以上の垂直多関節型のアームであってもよい。
【００２４】
力検出部６は、ロボット５のエンドエフェクターＥとマニピュレーターＭとの間に備えられている。力検出部６は、例えば、力センサーである。力検出部６は、ケーブルによってロボット制御装置３０と通信可能に接続されている。ケーブルを介した有線通信は、例えば、イーサネット（登録商標）やＵＳＢ等の規格によって行われる。なお、力検出部６とロボット制御装置３０とは、Ｗｉ−Ｆｉ（登録商標）等の通信規格により行われる無線通信によって接続されてもよい。力検出部６は、エンドエフェクターＥに作用した力やモーメントを検出する。力検出部６は、検出した力やモーメントを示す力情報を、通信によりロボット制御装置３０へ出力する。
【００２５】
各アクチュエーターは、ケーブルによってロボット制御装置３０と通信可能に接続されている。これにより、アクチュエーターは、ロボット制御装置３０から取得される制御信号に基づいて、エンドエフェクターＥとマニピュレーターＭを動作させることができる。なお、ケーブルを介した有線通信は、例えば、イーサネット（登録商標）やＵＳＢ（Universal  Serial  Bus）等の規格によって行われる。また、アクチュエーターのうちの一部又は全部は、Ｗｉ−Ｆｉ（登録商標）等の通信規格により行われる無線通信によってロボット制御装置３０と接続される構成であってもよい。
【００２６】
上記で説明したロボット５が備える各アクチュエーターは、ロボット制御装置３０から制御信号を取得する。そして、これらの各機能部は、取得した制御信号に基づいた動作を行う。すなわち、ロボット５は、ロボット５の外部に設置されたロボット制御装置３０により制御される。なお、ロボット５は、これに代えて、ロボット５に内蔵されたロボット制御装置３０により制御される構成であってもよい。
【００２７】
また、各アクチュエーターは、ロボット制御装置３０を介した教示装置１０からの要求に応じて、各アクチュエーターに接続される（又は備える）エンコーダーからアクチュエーターの回転角を示す回転角情報を、通信によりロボット制御装置３０へ出力する。以下、説明の便宜上、アクチュエーターの回転角を、単に回転角と称して説明する。
【００２８】
教示装置１０は、ロボット５に動作の教示を行う教示装置である。より具体的には、教示装置１０は、ロボット５を動作させるロボット制御装置３０に、ロボット５の動作に関する動作関連情報を教示する（記憶させる）。動作関連情報は、例えば、ロボット５の動作を示す動作情報と、ロボット５の所定部位を移動させる際に当該所定部位を経由させる点（所定部位と一致する点）の位置を示す情報と、当該点における当該所定部位の位置及び姿勢を示す情報と、当該点を経由する順序を示す順序情報とを含む。なお、動作関連情報は、これらの一部又は全部に代えて、他の情報を含む構成であってもよく、これらに加えて、他の情報を含む構成であってもよい。
【００２９】
ロボット５の動作を示す動作情報は、例えば、ロボット５に所定の動作を行わせる命令語である。なお、動作情報は、当該命令語に代えて、他の情報であってもよい。また、以下では、一例として、ロボット５の所定部位が、ロボット５のＴＣＰ（Tool  Center  Point）である場合について説明する。なお、当該所定部位は、ＴＣＰに代えて、ロボット５の他の部位であってもよい。
【００３０】
また、以下では、説明の便宜上、ロボット５のＴＣＰを移動させる際にＴＣＰを経由させる点（教示点）をポイントと称して説明する。なお、ポイントには、ＴＣＰを移動させる際のＴＣＰの初期位置及び目標位置を示す点も含まれる。この一例において、ＴＣＰの初期位置は、ロボット制御装置３０からの指示によってロボット５が動作を開始する直前におけるＴＣＰの位置のことである。また、ＴＣＰの目標位置は、ロボット制御装置３０の指示によるロボット５の動作によってＴＣＰの位置が移動した移動先の位置のことである。また、ＴＣＰの位置を示す情報は、ロボット座標系におけるＴＣＰの座標である。また、ＴＣＰの姿勢を示す情報は、ＴＣＰに設定された座標系であるツール座標系の姿勢と、ロボット座標系の姿勢とのずれを表すオイラー角である。
【００３１】
また、教示装置１０は、ダイレクトティーチングによる教示を行う機能と、オンラインティーチングによる教示を行う機能との２つの機能を有する。これにより、ユーザーが教示装置１０を用いてロボット５に動作の教示を行う場合、ユーザーは、ダイレクトティーチングによる教示とオンラインティーチングによる教示とのうちいずれか一方又は両方によってロボット５に動作の教示を行うことができる。
【００３２】
この一例において、ダイレクトティーチングによる教示は少なくとも、ロボット５のアームをユーザーが把持して移動させることにより、各ポイントの位置を示す情報と、各ポイントの位置それぞれにおいてロボット５に実現させたいＴＣＰの姿勢を示す情報とをロボット制御装置３０に教示することである。また、ダイレクトティーチングによる教示において、ロボット５は、力検出部６から取得される力情報に基づく制御（例えば、インピーダンス制御等）によって、アームの姿勢が自重により変化しないようにロボット制御装置３０に制御される。
【００３３】
一方、オンラインティーチングによる教示は少なくとも、ユーザーがジョグ操作を用いてロボット５のアームを移動させることにより、各ポイントの位置を示す情報と、各ポイントの位置それぞれにおいてロボット５に実現させたいＴＣＰの姿勢を示す情報とをロボット制御装置３０に教示することである。
【００３４】
また、教示装置１０は、画面の表示と入力とが可能なタッチパネルＴＰを備える。すなわち、教示装置１０は、タッチパネルＴＰによってユーザーからのタッチ操作を受け付ける。ここで、タッチ操作とは、タッチパネルＴＰを含む接触位置検出装置を用いた入力補助装置に対する押圧（タッチ）を伴った操作のことであり、タップ、ロングタップ等の複数の種別が存在する。タップは、指やスタイラスペン等の指示体によってタッチパネルＴＰを押圧し、所定の第１時間内にタッチパネルＴＰから当該指示体を離す操作である。ロングタップは、指示体によってタッチパネルＴＰを押圧し、所定の第１時間より長い所定の第２時間内に当該タッチパネルＴＰから当該指示体を離す操作であり、長押し等とも称される操作である。
【００３５】
タッチパネルＴＰに表示される画面には、タッチ操作可能な画像であるアイコンや、タッチ操作可能な文字列が含まれる場合がある。
【００３６】
アイコンは、教示装置１０が実行する所定の処理を図形や絵等によって表した画像であり、例えば、タッチパネルＴＰに表示されるタッチ操作可能なボタンや、ソフトウェアキーボードの各キー等のことである。タッチパネルＴＰに表示されるタッチ操作可能なアイコンに対してタップやロングタップを行った場合、教示装置１０は、当該アイコンの選択と当該アイコンが表す所定の処理の実行とのうちいずれか一方又は両方を行う。例えば、アイコンＩに対してアイコンＩが表す所定の処理を実行させるタッチ操作が行われた場合、教示装置１０は、当該タッチ操作が行われたアイコンＩが表す所定の処理を実行する。
【００３７】
また、タッチ操作可能な文字列は、例えば、プルダウンメニュー中の文字列等の選択可能な文字列や、ハイパーリンクによって他のハイパーテキストと結び付けられた文字列等の所定の処理に対応づけられた文字列のことである。タッチパネルＴＰに表示されるタッチ操作可能な文字列に対してタップやロングタップを行った場合、教示装置１０は、当該文字列の選択と当該文字列に対応づけられた所定の処理の実行とのうちいずれか一方又は両方を行う。
【００３８】
教示装置１０は、ダイレクトティーチングと、オンラインティーチングとのうちいずれか一方又は両方による教示をユーザーが行う場合、ロボット５の少なくとも一部のモデルをタッチパネルＴＰに表示する。
【００３９】
例えば、ダイレクトティーチングによる教示をユーザーが行う際、ユーザーは、障害物によってロボット５の一部又は全部を視認することができない場合があった。教示装置１０は、このような場合であっても、タッチパネルＴＰに表示したロボット５の少なくとも一部のモデルによって、ユーザーにロボット５の位置及び姿勢を確認させることができる。すなわち、教示装置１０は、ロボットの少なくとも一部のモデルに基づいてダイレクトティーチングによる教示をユーザーに行わせることができる。その結果、教示装置１０は、ユーザーがダイレクトティーチングによる教示を行う場合、ユーザーがロボット５に動作を教示する効率を向上させることができる。
【００４０】
また、例えば、オンラインティーチングによる教示をユーザーが行う際、ユーザーは、ロボット５の位置及び姿勢を確認するためにロボット５の方を視認しなければならず、更にジョグ操作を行うためにタッチパネルＴＰの方を視認しなければならない。すなわち、ユーザーは、ロボット５とタッチパネルＴＰを交互に視認しなければならない。教示装置１０は、タッチパネルＴＰに表示したロボット５の少なくとも一部のモデルによって、ユーザーにロボット５の位置及び姿勢を確認させながら、タッチパネルＴＰによってジョグ操作を行うことができる。すなわち、教示装置１０は、ユーザーにロボット５とタッチパネルＴＰを交互に視認させることなく、オンラインティーチングによる教示をユーザーに行わせることができる。その結果、教示装置１０は、オンラインティーチングによる教示をユーザーが行う場合、ユーザーがロボット５に動作を教示する効率を向上させることができる。
【００４１】
教示装置１０は、ロボット５の少なくとも一部のモデルをタッチパネルＴＰに表示する際、ロボット制御装置３０を介してロボット５の各アクチュエーターから回転角を示す情報を取得する。教示装置１０は、取得した各回転角を示す情報に基づいて順運動学からロボット５のＴＣＰの位置及び姿勢を算出する。そして、教示装置１０は、算出したロボット５のＴＣＰの位置及び姿勢と、取得した回転角を示す情報とに基づいて、ロボット５の少なくとも一部のモデルを生成する。
【００４２】
ロボット制御装置３０は、教示装置１０に教示された動作関連情報に基づいて、ロボット５を動作させる。ロボット制御装置３０は、ロボット５を動作させる際、ロボット５が備える各機能部のそれぞれに制御信号を送信する。これにより、ロボット制御装置３０は、ロボット５を動作させる。
【００４３】
次に、図２を参照し、教示装置１０のハードウェア構成について説明する。図２は、教示装置１０のハードウェア構成の一例を示す図である。教示装置１０は、例えば、ＣＰＵ（Central  Processing  Unit）１１と、記憶部１２と、入力受付部１３と、通信部１４と、表示部１５と、ジョグキー１６と、他の操作キー１７を備える。また、教示装置１０は、通信部１４を介してロボット制御装置３０と通信を行う。これらの構成要素は、バスＢｕｓを介して相互に通信可能に接続されている。
【００４４】
ＣＰＵ１１は、記憶部１２に格納された各種プログラムを実行する。
記憶部１２は、例えば、ＨＤＤ（Hard  Disk  Drive）やＳＳＤ（Solid  State  Drive）、ＥＥＰＲＯＭ（Electrically  Erasable  Programmable  Read−Only  Memory）、ＲＯＭ（Read−Only  Memory）、ＲＡＭ（Random  Access  Memory）などを含む。記憶部１２は、教示装置１０が処理する各種情報やプログラム等を格納する。なお、記憶部１２は、教示装置１０に内蔵されるものに代えて、ＵＳＢ等のデジタル入出力ポート等によって接続された外付け型の記憶装置でもよい。
【００４５】
入力受付部１３は、例えば、キーボードやマウス、タッチパッド等の入力装置である。この一例において、入力受付部１３は、上述したタッチパネルＴＰとして表示部１５と一体に構成されている。
通信部１４は、例えば、ＵＳＢ等のデジタル入出力ポートやイーサネット（登録商標）ポート等を含んで構成される。
表示部１５は、例えば、液晶ディスプレイパネル、あるいは、有機ＥＬ（ElectroLuminescence）ディスプレイパネルである。
【００４６】
ジョグキー１６は、ハードウェアキーであり、ユーザーから操作を受け付けること（すなわち、ジョグ操作）によりロボット５を動作させる。なお、ジョグキー１６は、これに代えて、ソフトウェアキーであってもよい。
他の操作キー１７は、教示装置１０が備えるハードウェアキーのうちのジョグキー１６を除くハードウェアキーである。例えば、他の操作キー１７には、電源スイッチやイネーブルスイッチ等が含まれる。なお、他の操作キー１７の一部又は全部は、タッチパネルＴＰに表示されるソフトウェアキーであってもよい。この場合、仮にジョグキー１６がソフトウェアキーであったとしても、他の操作キー１７には、ジョグキー１６は含まれない。
【００４７】
次に、図３を参照し、教示装置１０の機能構成について説明する。図３は、教示装置１０の機能構成の一例を示す図である。教示装置１０は、記憶部１２と、入力受付部１３と、通信部１４と、表示部１５と、ジョグキー１６と、他の操作キー１７と、制御部１８を備える。
【００４８】
制御部１８は、教示装置１０の全体を制御する。制御部１８は、表示制御部２０と、回転角情報取得部２２と、位置姿勢算出部２４と、教示制御部２６とを備える。制御部１８が備えるこれらの機能部は、例えば、ＣＰＵ１１が、記憶部１２に記憶された各種プログラムを実行することで実現される。なお、制御部１８が備えるこれらの機能部のうち一部または全部は、ＬＳＩ（Large  Scale  Integration）やＡＳＩＣ（Application  Specific  Integrated  Circuit）等のハードウェア機能部であってもよい。
【００４９】
表示制御部２０は、タッチパネルＴＰを介してユーザーから受け付けたタッチ操作に基づいて、タッチパネルＴＰに表示する各種の画面を生成する。当該各種の画面には少なくとも、ダイレクトティーチングによる教示を行うための教示画面Ｔ１と、オンラインティーチングによる教示を行うための教示画面Ｔ２とを生成する。表示制御部２０は、生成した画面をタッチパネルＴＰに表示させる。
【００５０】
また、表示制御部２０は、回転角情報取得部２２が取得した回転角情報と、位置姿勢算出部２４が算出したロボット５のＴＣＰの位置及び姿勢を示す情報とに基づいて、ロボット５の少なくとも一部のモデルを生成する。表示制御部２０は、生成した当該モデルを教示画面Ｔ１と教示画面Ｔ２とのうちいずれか一方又は両方に表示する。以下では、一例として表示制御部２０が当該モデルを教示画面Ｔ１に表示する場合について説明する。
【００５１】
回転角情報取得部２２は、ロボット制御装置３０を介してロボット５が備える各アクチュエーターから回転角を示す回転角情報を取得する。
位置姿勢算出部２４は、回転角情報取得部２２が取得した回転角情報に基づいて、ロボット５のＴＣＰの位置及び姿勢と、ロボット５のアームの姿勢とを算出する。
教示制御部２６は、タッチパネルＴＰに表示された教示画面Ｔ１又は教示画面Ｔ２を介して入力された動作関連情報をロボット制御装置３０に教示する（記憶させる）。
【００５２】
次に、図４を参照し、教示装置１０がタッチパネルＴＰに表示する教示画面Ｔ１について説明する。図４は、教示画面Ｔ１の一例を示す図である。図４に示した例では、教示画面Ｔ１には少なくとも、メニューボタン群Ｍ０と、モデル表示画面Ｔ３と、ボタンＢ１〜ボタンＢ１２とが含まれる。なお、教示画面Ｔ１には、これらに加えて、例えば、教示装置１０が教示するロボット５を示すロボット情報や、ロボット５の各種の状態を示すステータス情報、教示画面Ｔ１から表示可能な他の画面を示す情報を表示するプルダウンメニュー等の他のアイコンや文字列が含まれてもよい。
【００５３】
メニューボタン群Ｍ０は、例えば、メニューボタンＭ１〜メニューボタンＭ６を含む。
メニューボタンＭ１は、教示装置１０の動作を制御するための制御画面を表示するボタンである。表示制御部２０は、タッチパネルＴＰを介してメニューボタンＭ１がタップされた場合、制御画面を表示する。
メニューボタンＭ２は、教示画面Ｔ２をタッチパネルＴＰに表示するボタンである。表示制御部２０は、タッチパネルＴＰを介してメニューボタンＭ２がタップされた場合、教示画面Ｔ２をタッチパネルＴＰに表示する。
【００５４】
メニューボタンＭ３は、教示画面Ｔ１を表示するボタンである。表示制御部２０は、タッチパネルＴＰを介してメニューボタンＭ３がタップされた場合、教示画面Ｔ１をタッチパネルＴＰに表示する。すなわち、図４に示した教示装置１０の状態は、タッチパネルＴＰに表示されたメニューボタンＭ３がタップされた後の状態である。
メニューボタンＭ４は、編集画面を表示するボタンである。表示制御部２０は、タッチパネルＴＰを介してメニューボタンＭ４がタップされた場合、編集画面をタッチパネルＴＰに表示する。
【００５５】
メニューボタンＭ５は、試験画面をタッチパネルＴＰに表示するボタンである。表示制御部２０は、タッチパネルＴＰを介してメニューボタンＭ５がタップされた場合、試験画面をタッチパネルＴＰに表示する。
メニューボタンＭ６は、ロボット５を動作させるために必要なパラメーターを設定するためのパラメーター設定画面をタッチパネルＴＰに表示するボタンである。表示制御部２０は、タッチパネルＴＰを介してメニューボタンＭ６がタップされた場合、パラメーター設定画面をタッチパネルＴＰに表示する。
【００５６】
モデル表示画面Ｔ３は、ロボット５の少なくとも一部のモデルを表示する画面である。すなわち、表示制御部２０は、ロボット５の少なくとも一部のモデルを含む仮想空間をモデル表示画面Ｔ３に表示する。また、表示制御部２０は、ユーザーから受け付けられた操作に基づいて、当該モデルの表示視点を変更することができる。当該モデルの表示視点は、当該仮想空間内において仮想的に設置された仮想カメラにより撮像可能な範囲のことである。すなわち、表示制御部２０は、仮想カメラにより撮像可能な範囲をモデル表示画面Ｔ３に表示する。当該モデルの表示視点の変更は、仮想カメラにより撮像可能な範囲を並進させること、又は回転させることである。ユーザーは、モデル表示画面Ｔ３における表示視点、すなわち仮想カメラにより撮像可能な範囲を変更することにより、様々な角度から見た場合の当該モデルをモデル表示画面Ｔ３に表示させることができる。
【００５７】
また、表示制御部２０は、ユーザーから受け付けた操作に基づいて教示装置１０に設定された座標系（例えば、ロボット座標系）に基づいてロボット５の少なくとも一部のモデルを表示する。これにより、教示装置１０は、ロボット５の少なくとも一部のモデルをユーザーが所望する座標系に基づいて表示させることができる。この一例において、教示装置１０に座標系を設定する画面は、教示画面Ｔ１とは異なる画面であり、図４には図示されていない。なお、教示装置１０に座標系を設定する画面は、教示画面Ｔ１に含まれる構成であってもよい。
【００５８】
また、この一例において、表示制御部２０は、ロボット５の少なくとも一部の三次元モデルをモデル表示画面Ｔ３（すなわち、タッチパネルＴＰ）に表示する。これにより、教示装置１０は、ロボットの少なくとも一部の三次元モデルに基づいてダイレクトティーチングによる教示をユーザーに行わせることができる。なお、教示装置１０は、ロボット５の三次元モデルに代えて、二次元モデルをモデル表示画面Ｔ３に表示する構成であってもよい。以下では、この一例として、表示制御部２０が、ロボット５の全部の三次元モデルをモデル表示画面Ｔ３に表示する場合について説明する。以下では、説明の便宜上、ロボット５の全部の三次元モデルを、単に三次元モデルと称して説明する。
【００５９】
なお、表示制御部２０がロボット５の全部のモデル（この一例において、三次元モデル）を表示する構成に代えて、ロボット５の少なくとも一部のモデルを表示する場合、ユーザーは、教示画面Ｔ１において、ロボット５の少なくとも一部を示す情報を入力する。すなわち、この場合、教示画面Ｔ１には、ロボット５の少なくとも一部を示す情報を入力する入力部が含まれる。ロボット５の少なくとも一部を示す情報は、例えば、アームが備える複数のアクチュエーター（関節）のそれぞれを識別する情報である。表示制御部２０は、ロボット５の少なくとも一部のモデルとして、当該入力部を介してユーザーにより入力されたアクチュエーターを識別する情報が示すアクチュエーターから、ロボット５のＴＣＰまでを含む部分のモデルをモデル表示画面Ｔ３に表示する。なお、ロボット５の少なくとも一部を示す情報は、これに代えて、他の情報であってもよい。この場合、表示制御部２０は、当該情報に応じた方法によってロボット５の少なくとも一部のモデルをモデル表示画面Ｔ３に表示する。
【００６０】
図４に示した例では、モデル表示画面Ｔ３には、初期状態の表示視点における三次元モデルＲＭが表示されている。初期状態の表示視点は、予め表示制御部２０に記憶されている表示視点である。表示制御部２０は、ユーザーから表示視点を変更する操作を受け付けるまで初期状態の表示視点における三次元モデルＲＭをモデル表示画面Ｔ３に表示する。また、モデル表示画面Ｔ３では、三次元モデルＲＭのＴＣＰが、一例として赤い点Ｐ１によって表示されている。三次元モデルＲＭのＴＣＰは、三次元モデルによって表されるロボット５のＴＣＰのことである。なお、モデル表示画面Ｔ３では、点Ｐ１に代えて、当該ＴＣＰを他の情報によって表す構成であってもよい。
【００６１】
また、モデル表示画面Ｔ３には、三次元モデルＲＭとともに、ロボット５の周辺の状況を表す周辺情報と、ユーザーが行う教示作業を補助するための補助情報とが表示されている。ロボット５の周辺情報は、例えば、ロボット５の周囲に配置されている物体を示す情報や、ポイントを示す情報等を含む。なお、当該周辺情報は、これらの情報に代えて、他の情報を含む構成であってもよく、これらの情報に加えて、他の情報を含む構成であってもよい。物体を示す情報は少なくとも、物体の位置及び姿勢を示す情報と、物体の大きさを示す情報とを含む。ポイントを示す情報は、例えば、モデル表示画面Ｔ３に表示された仮想的空間内におけるポイントが示す位置に表示される点や円、球等の図形や記号である。なお、ポイントを示す情報は、これらに代えて、他の情報であってもよい。
【００６２】
図４に示した例では、モデル表示画面Ｔ３には、周辺情報として、ロボット５の周囲に含まれる物体ＷＭが表示されている。モデル表示画面Ｔ３に表示された仮想的な空間内において配置（表示）された物体ＷＭは、例えば、物体ＷＭの重心の位置によって物体ＷＭの位置を示し、ユーザーにより物体ＷＭに設定された座標系であるローカル座標系の各座標軸の方向によって物体ＷＭの姿勢を示す。また、モデル表示画面Ｔ３に表示された仮想的な空間内において配置（表示）された物体ＷＭの輪郭は、モデル表示画面Ｔ３において表示された物体ＷＭの大きさを示す。
【００６３】
ロボット５の周囲は、例えば、ロボット５のエンドエフェクターＥが届く範囲内のことである。なお、表示制御部２０は、例えば、ロボット５のエンドエフェクターＥが届く範囲を予め記憶している構成であってもよく、当該範囲を算出する構成であってもよい。ロボット５のエンドエフェクターＥが届く範囲を表示制御部２０が算出する構成の場合、表示制御部２０は、記憶部１２に予め記憶されたアームの構造を示す情報を読み込み、読み込んだ当該情報に基づいて当該範囲を算出する。アームの構造を示す情報には、例えば、マニピュレーターＭの各関節間を結ぶリンクの長さを示す情報や、関節毎に備えられたアクチュエーターの回転可能な角度範囲を示す情報、エンドエフェクターＥの構造を示す情報等が含まれる。
【００６４】
なお、ロボット５の周囲は、ロボット５を中心とした所定の半径の円形範囲内等の他の範囲内であってもよい。ロボット５の周囲に含まれる物体ＷＭは、例えば、ロボット５が作業を行う作業対象や、障害物等のことである。なお、物体ＷＭは、これらに代えて、他の物体であってもよい。
【００６５】
ユーザーが行う教示作業を補助するための補助情報は、モデル表示画面Ｔ３に表示された仮想的な空間内に表示される補助線を示す情報や矢印を示す情報、座標系を示す情報、ポイントを示す情報等、三次元モデルのＴＣＰを移動させる場合においてユーザーが目印として利用することが可能な情報である。例えば、ユーザーは、三次元モデルのＴＣＰを現在のポイントから次の経由点となるポイントへ移動させる際、移動させる方向を示す矢印を見ながらロボット５を移動させることにより、移動させる方向を間違い難くなる。
【００６６】
教示装置１０は、補助情報に含まれる座標系を示す情報として、例えば、ロボット座標系やベース座標系、ツール座標系、ローカル座標系等を示す情報を表示することができる。ロボット座標系は、例えば、ロボット５の支持台の底面の中心に予め原点が設定された三次元直交座標系である。ロボット座標系の位置は、ロボット座標系の原点によって表される。また、ロボット座標系の姿勢は、ロボット座標系の各座標軸の方向によって表される。
【００６７】
ベース座標系は、デフォルトではロボット座標系と一致している座標系である。ベース座標系は、例えば、ロボット５が斜面等に設置されており、ロボット５の周囲に配置された物体が水平面に設置されているような状況において、水平面に設置された物体の位置及び姿勢の指定を簡略化するためにロボット座標系とは別にユーザーにより任意の位置に設定される三次元直交座標系である。ベース座標系の位置は、ベース座標系の原点によって表される。また、ベース座標系の姿勢は、ベース座標系の各座標軸の方向によって表される。
【００６８】
ツール座標系は、ロボット５のＴＣＰに原点が設定され、ＴＣＰとともに位置及び姿勢を変化させる三次元直交座標系である。ツール座標系の位置は、ツール座標系の原点によって表される。また、ツール座標系の姿勢は、ツール座標系の各座標軸の方向によって表される。ローカル座標系は、ユーザーにより任意の位置に設定される三次元直交座標系である。ローカル座標系の位置は、ローカル座標系の原点によって表される。また、ローカル座標系の姿勢は、ローカル座標系の各座標軸の方向によって表される。
【００６９】
図４に示した例では、モデル表示画面Ｔ３には、補助情報として、ロボット座標系を示す情報Ｓ１と、ユーザーにより物体ＷＭに設定されたローカル座標系を示す情報Ｓ２とが表示されている。ロボット座標系を示す情報Ｓ１は、例えば、モデル表示画面Ｔ３において三次元モデルＲＭの支持台の底面の中心に原点が設定された三次元直交座標系の各座標軸を表す矢印である。三次元モデルＲＭの支持台は、三次元モデルＲＭが表わすロボット５の支持台のことである。そのため、図４に示した例では、教示画面Ｔ１において、ロボット座標系を示す情報Ｓ１である３本の矢印が１点で交差している原点は、三次元モデルＲＭの支持台の底面の中心に一致している。教示画面Ｔ１に表示された三次元モデルＲＭのＴＣＰである点Ｐ１及びロボット座標系を示す情報Ｓ１により、教示装置１０は、現在のロボット５のＴＣＰの位置及び姿勢を、ユーザーに対して視覚的に伝えることができる。
【００７０】
ローカル座標系を示す情報Ｓ２は、図４に示した例において、物体ＷＭの上面の中心から伸びる３本の矢印である。これらの矢印は、ユーザーにより物体ＷＭに設定されたローカル座標系の各座標軸を表す。また、当該ローカル座標系の原点は、この一例において、物体ＷＭの上面の中心に設定されている。なお、表示制御部２０は、教示画面Ｔ２において１つのローカル座標系を示す情報（この一例において、情報Ｓ２）のみを表示可能なわけではなく、１以上のローカル座標系を示す情報を表示することが可能である。
【００７１】
ボタンＢ１は、モデル表示画面Ｔ３に表示された画像を、初期画像に変更（リセット）するボタンである。表示制御部２０は、タッチパネルＴＰを介してボタンＢ１がタップされた場合、モデル表示画面Ｔ３に表示された画像を、初期画像に変更する。初期画像は、モデル表示画面Ｔ３に最初に表示された画像である。
【００７２】
ボタンＢ２は、モデル表示画面Ｔ３における三次元モデルＲＭを表示制御部２０が表示する表示モードを、表示制御部２０が当該三次元モデルＲＭの表示の更新を所定の時間が経過する毎に行う第１表示モード（三次元モデルＲＭの自動更新モード、又は三次元モデルＲＭのリアルタイム更新モード）に切り替えるボタンである。この一例において、三次元モデルＲＭの表示の更新は、表示制御部２０がモデル表示画面Ｔ３に表示している三次元モデルＲＭを、回転角情報取得部２２が取得した最新の回転角情報に基づいて生成された三次元モデルＲＭに表示し直す（変更する）ことである。表示制御部２０は、タッチパネルＴＰを介してボタンＢ２がタップされた場合、表示制御部２０の表示モードを第１表示モードに切り替える。
【００７３】
ボタンＢ３は、ユーザーから受け付けた操作に応じて、表示制御部２０がモデル表示画面Ｔ３に表示している三次元モデルＲＭの表示の更新を行う第２表示モード（三次元モデルＲＭの手動更新モード）に切り替えるボタンである。表示制御部２０は、タッチパネルＴＰを介してボタンＢ３がタップされた場合、表示制御部２０の表示モードを第２表示モードに切り替える。
【００７４】
ボタンＢ２及びボタンＢ３により、ユーザーは、教示装置１０における表示制御部２０の表示モードのうちの第１表示モードと第２表示モードのうちいずれか一方を選択することが可能である。これにより、教示装置１０は、第１表示モードと、第２表示モードとのうちユーザーが所望する表示モードによって三次元モデルを表示することができる。
【００７５】
ボタンＢ４は、モデル表示画面Ｔ３に表示している三次元モデルＲＭの表示視点を切り替えるための図示しない表示視点切替画面を表示するボタンである。表示制御部２０は、タッチパネルＴＰを介してボタンＢ４がタップされた場合、表示視点切替画面を表示する。表示視点切替画面では、ユーザーは、タッチパネルＴＰへのタッチ操作によって表示視点を切り替えることができる。表示制御部２０は、表示切替画面においてユーザーから受け付けられたタッチ操作に基づいて、モデル表示画面Ｔ３に表示している三次元モデルＲＭの表示視点を並進又は回転させることにより、モデル表示画面Ｔ３に表示している三次元モデルＲＭの表示視点を切り替える。
【００７６】
ボタンＢ５は、モデル表示画面Ｔ３に表示された仮想空間においてユーザーが所望する位置に、補助情報の１つであるローカル座標系を示す情報を表示させるための図示しないローカル座標系追加画面を表示するボタンである。表示制御部２０は、タッチパネルＴＰを介してボタンＢ５がタップされた場合、ローカル座標系追加画面を表示する。ローカル座標系追加画面では、ユーザーは、タッチパネルＴＰへのタッチ操作によってローカル座標系を示す情報を表示させる仮想空間内の位置を指定することができる。また、ユーザーは、タッチパネルＴＰへのタッチ操作によって仮想空間内にローカル座標を示す情報を表示させる際のローカル座標系の姿勢を指定することができる。表示制御部２０は、ローカル座標系追加画面においてユーザーにより指定されたローカル座標系の仮想空間内における位置及び姿勢に基づいて、モデル表示画面Ｔ３にローカル座標系を示す情報を表示させる。
【００７７】
このようなモデル表示画面Ｔ３に表示されるローカル座標系を示す情報の一例として、三次元モデルのＴＣＰの位置に、姿勢がロボット座標系（又はベース座標系）の姿勢と同じであるローカル座標系を示す情報がある。ユーザーは、当該ローカル座標系を示す情報をモデル表示画面Ｔ３に表示させることにより、三次元モデルに含まれるアームの先端に表示された当該ローカル座標系を示す情報に基づいて、ダイレクトティーチングによる教示を行うことができる。当該ローカル座標系の位置は、三次元モデルのＴＣＰの位置とともに移動する。しかし、当該ローカル座標系の姿勢は、三次元モデルのＴＣＰの姿勢が変化しても変化しない。これにより、教示装置１０は、ユーザーにロボット座標系を示す情報と当該ローカル座標系を示す情報とのを交互に確認させることなく、三次元モデルのＴＣＰを見ながら当該ＴＣＰをどの方向に移動させるべきなのかを考えさせることができる。
【００７８】
また、ユーザーがベース座標系を設定できる位置は、モデル表示画面Ｔ３に表示された仮想空間内の任意の位置である。このため、ローカル座標系追加画面は、例えば、ユーザーがベース座標系を三次元モデルのＴＣＰの位置に表示させる機能を有する構成であってもよい。この場合、三次元モデルのＴＣＰの位置に表示させたベース座標系は、三次元モデルのＴＣＰの位置とともに移動する。なお、当該ベース座標系の姿勢は、三次元モデルのＴＣＰの姿勢とともに変化してもよく、三次元モデルのＴＣＰの姿勢とともに変化しなくてもよい。
【００７９】
ボタンＢ６は、モデル表示画面Ｔ３に表示された仮想空間における三次元モデルのＴＣＰを表す点Ｐ１にツール座標系を表示させるための図示しないツール座標系追加画面を表示するボタンである。表示制御部２０は、タッチパネルＴＰを介してボタンＢ６がタップされた場合、ツール座標系追加画面を表示する。ツール座標系追加画面では、ユーザーは、ツール座標系を表示するか否かを選択することができる。表示制御部２０は、ツール座標系追加画面においてユーザーがツール座標系を表示することを選択した場合、三次元モデルのＴＣＰの位置に、当該ＴＣＰの位置及び姿勢を表すツール座標系を表示させる。
【００８０】
図５は、ＴＣＰにツール座標系が表示された三次元モデルが表示されたモデル表示画面Ｔ３を含む教示画面Ｔ１の一例を示す図である。図５に示したように、モデル表示画面Ｔ３に表示された三次元モデルのＴＣＰには、ツール座標系を示す情報Ｓ３が表示されている。ツール座標系を示す情報Ｓ３は、図５に示したように、点Ｐ１から伸びる３本の矢印である。これらの矢印は、ツール座標系の各座標軸を表す。これにより、教示装置１０は、ツール座標系を示す情報Ｓ３と、ロボット座標系を示す情報Ｓ１とに基づいたダイレクトティーチングによる教示をユーザーに行わせることができる。例えば、ユーザーは、ツール座標系を示す情報Ｓ３と、ロボット座標系を示す情報Ｓ１とを比較することにより、ロボット５のＴＣＰの位置を一致させたい次のポイントに移動させるためには、いずれの方向に移動させれば効率的であるかを考えながらダイレクトティーチングによる教示を行うことができる。
【００８１】
また、ツール座標系追加画面では、ユーザーは、三次元モデルのＴＣＰに、当該ＴＣＰを移動させたい方向を示す情報（例えば、矢印）を表示させることができる。例えば、ユーザーは、当該ＴＣＰを現在のポイントから移動させる場合において次の経由点となるポイントを、ツール座標系追加画面を介して入力する。表示制御部２０は、現在の当該ＴＣＰの位置から、ユーザーが入力した当該ポイントまでの方向を示す情報である矢印を、矢印の始点の位置を当該ＴＣＰの位置に一致させてモデル表示画面Ｔ３に表示させる。
【００８２】
図６は、ＴＣＰを移動させたい方向を示す情報である矢印が表示された三次元モデルが表示されたモデル表示画面Ｔ３を含む教示画面Ｔ１の一例を示す図である。図６に示したように、モデル表示画面Ｔ３に表示された三次元モデルのＴＣＰには、ＴＣＰを移動させたい方向を示す情報である矢印Ａ１が表示されている。これにより、教示装置１０は、矢印Ａ１に基づいたダイレクトティーチングによる教示をユーザーに行わせることができる。例えば、ユーザーは、ダイレクトティーチングによる教示において、矢印Ａ１の方向によってロボット５のＴＣＰを移動させる方向を確認しながらロボット５のＴＣＰを移動させることができる。
【００８３】
ボタンＢ７は、モデル表示画面Ｔ３に表示された仮想空間に周辺情報を表示するための図示しない周辺情報追加画面を表示するボタンである。表示制御部２０は、タッチパネルＴＰを介してボタンＢ７がタップされた場合、周辺情報追加画面を表示する。周辺情報追加画面では、ユーザーは、例えば、モデル表示画面Ｔ３に表示させたい物体の位置及び姿勢を示す情報と、当該物体の輪郭を示す情報とを入力することができる。表示制御部２０は、周辺情報追加画面においてユーザーが入力したこれらの情報に基づいて、周辺情報（図４に示した例では、物体ＷＭ）をモデル表示画面Ｔ３に表示させる。
【００８４】
ボタンＢ８は、ロボット５が備えるアームとは異なる他の増設アームがロボット５に付加的な設けられている場合に、モデル表示画面Ｔ３に表示された仮想空間において当該増設アームのＴＣＰの位置に、当該ＴＣＰの位置及び姿勢を表すローカル座標系を示す情報を表示させるための図示しない増設アーム座標系追加画面を表示するボタンである。表示制御部２０は、タッチパネルＴＰを介してボタンＢ８がタップされた場合、増設アーム座標系追加画面を表示する。増設アーム座標系追加画面では、例えば、ユーザーは、タッチパネルＴＰへのタッチ操作によってローカル座標系を示す情報を表示させる増設アームを指定することができる。表示制御部２０は、増設アーム座標系追加画面においてユーザーにより指定された増設アームのＴＣＰの位置及び姿勢に基づいて、モデル表示画面Ｔ３に、当該ＴＣＰの位置及び姿勢を表すローカル座標系を示す情報を表示させる。
【００８５】
ボタンＢ９は、外部制御点（ＥＣＰ）の位置に、外部制御点の位置及び姿勢を表すローカル座標系を表示させるための図示しない外部制御点座標系追加画面を表示するボタンである。外部制御点は、ロボット５が作業を行う際に使用する物体の所定の位置に定義された点である。ロボット５が作業を行う際に使用する物体とは、例えば、治具や砥石、工具等のツールである。表示制御部２０は、タッチパネルＴＰを介してボタンＢ９がタップされた場合、外部制御点座標系追加画面を表示する。外部制御点座標系追加画面では、例えば、ユーザーは、タッチパネルＴＰへのタッチ操作によって外部制御点の位置及び姿勢を指定することができる。表示制御部２０は、外部制御点座標系追加画面においてユーザーにより指定された外部制御点の位置及び姿勢を表すローカル座標系を示す情報を、モデル表示画面Ｔ３における外部制御点の位置に表示させる。
【００８６】
ボタンＢ１０は、モデル表示画面Ｔ３に表示された仮想空間に補助情報であるポイントを示す情報を表示するための図示しないポイント追加画面を表示するボタンである。表示制御部２０は、タッチパネルＴＰを介してボタンＢ１０がタップされた場合、ポイント追加画面を表示する。ポイント追加画面では、ユーザーは、例えば、モデル表示画面Ｔ３に表示させたいポイントの位置を示す情報を入力することができる。表示制御部２０は、ポイント追加画面においてユーザーが入力したポイントの位置を示す情報に基づいて、ポイントを示す情報、例えば、ポイントを示す赤丸をモデル表示画面Ｔ３に表示させる。
【００８７】
また、表示制御部２０は、タッチパネルＴＰを介してボタンＢ１０がタップされた場合、図６に示したポイント選択画面Ｔ４を表示する構成であってもよい。図６に示したように、ポイント選択画面Ｔ４では、教示装置１０の記憶部１２に予め記憶されたポイントや、ロボット制御装置３０に予め記憶されたポイントのリストが表示される。図６では、ポイントに対応付けられた名称が「０」のポイントと、ポイントに対応付けられた名称が「１」のポイントと、ポイントに対応付けられた名称が「２」のポイントと、ポイントに対応付けられた名称が「３」のポイントとが表示されている。これらのポイントのそれぞれには、ラジオボタンが対応付けられている。図６に示したように、ラジオボタンによって名称が「０」のポイントをユーザーが選択した場合、表示制御部２０は、当該ポイントを示す情報である赤丸Ｐ２をモデル表示画面Ｔ３に表示する。なお、ポイント選択画面Ｔ４には、ポイント選択画面Ｔ４を閉じる（モデル表示画面Ｔ３から消す）ボタンが表示されている。表示制御部２０は、タッチパネルＴＰを介して当該閉じるボタンがタップされた場合、図６に示したポイント選択画面Ｔ４をモデル表示画面Ｔ３から削除する。
【００８８】
ボタンＢ１１は、現在のロボット５のＴＣＰの位置及び姿勢を示す情報と、当該ＴＣＰの位置が一致しているポイントとを対応付けたポイント情報をロボット制御装置３０に教示するボタンである。表示制御部２０は、タッチパネルＴＰを介してボタンＢ１１がタップされた場合、ポイント情報を書き込むファイル名を指定するファイル名指定画面を表示する。ファイル名指定画面には、例えば、指定されたファイル名のファイルにポイント情報を書き込み、書き込んだファイルをロボット制御装置３０に教示することを確定する確定ボタンが含まれる。教示制御部２６は、タッチパネルＴＰを介して当該確定ボタンがタップされた場合、当該ファイルに当該ポイント情報を書き込み、書き込んだファイルをロボット制御装置３０に出力して記憶させる。
【００８９】
ボタンＢ１２は、モデル表示画面Ｔ３に表示された仮想空間の画像をズームアウトするボタンである。このズームアウトは、モデル表示画面Ｔ３に表示された仮想空間内に設置された仮想カメラが撮像可能な範囲を、当該仮想カメラのズームアウト機能によって拡げることに相当する。表示制御部２０は、タッチパネルＴＰを介してボタンＢ１２がタップされた場合、モデル表示画面Ｔ３に表示された仮想空間の画像をズームアウトする。
【００９０】
ボタンＢ１３は、モデル表示画面Ｔ３に表示された仮想空間の画像をズームインするボタンである。このズームインは、モデル表示画面Ｔ３に表示された仮想空間内に設置された仮想カメラが撮像可能な範囲を、当該仮想カメラのズームイン機能によって狭めることに相当する。表示制御部２０は、タッチパネルＴＰを介してボタンＢ１２がタップされた場合、モデル表示画面Ｔ３に表示された仮想空間の画像をズームインする。
【００９１】
以上のように、表示制御部２０は、教示画面Ｔ１に含まれるモデル表示画面Ｔ３に三次元モデルを表示する。これにより、教示装置１０は、ダイレクトティーチングによる教示をロボットの少なくとも一部のモデルに基づいてユーザーに行わせることができる。
なお、表示制御部２０は、教示画面Ｔ１に代えて、教示画面Ｔ２にモデル表示画面Ｔ３を表示する構成であってもよく、教示画面Ｔ１に加えて、教示画面Ｔ２にモデル表示画面Ｔ３を表示する構成であってもよい。この場合、教示装置１０は、オンラインティーチングによる教示をロボットの少なくとも一部のモデルに基づいてユーザーに行わせることができる。
【００９２】
以上説明したように、実施形態における教示装置１０は、力検出部６により検出される力を示す力情報に基づいて、ダイレクトティーチングによってロボット５に動作の教示を行う場合、ロボット５の少なくとも一部のモデルを表示する。これにより、教示装置１０は、ダイレクトティーチングによる教示をロボット５の少なくとも一部のモデルに基づいてユーザーに行わせることができる。
【００９３】
また、教示装置１０は、力検出部６により検出される力に基づくダイレクトティーチングによってロボット５に動作の教示を行う場合、ロボット５の少なくとも一部の三次元モデルを表示する。これにより、教示装置１０は、ダイレクトティーチングによる教示をロボット５の少なくとも一部の三次元モデルに基づいてユーザーに行わせることができる。
【００９４】
また、教示装置１０は、教示装置１０に設定された座標系に基づいてロボット５の少なくとも一部のモデルを表示する。これにより、教示装置１０は、ロボット５の少なくとも一部のモデルをユーザーが所望する座標系に基づいて表示させることができる。
【００９５】
また、教示装置１０は、ロボット５の少なくとも一部のモデルとともにロボット５の周辺情報を表示する。これにより、教示装置１０は、ダイレクトティーチングによる教示をロボット５の少なくとも一部のモデルとともに表示されたロボット５の周辺情報に基づいてユーザーに行わせることができる。
【００９６】
また、教示装置１０は、ロボット５の全部のモデルを表示する。これにより、教示装置１０は、ダイレクトティーチングによる教示をロボット５の全部のモデルに基づいてユーザーに行わせることができる。
【００９７】
また、教示装置１０は、ロボット５の少なくとも一部のモデルとともに補助情報を表示する。これにより、教示装置１０は、ダイレクトティーチングによる教示をロボット５の少なくとも一部のモデルとともに表示された補助情報に基づいてユーザーに行わせることができる。
【００９８】
また、教示装置１０は、補助情報として、ロボット座標系を示す情報と、ベース座標系を示す情報と、ローカル座標系を示す情報とのうち少なくとも１つ以上を表示する。これにより、教示装置１０は、ロボット座標系を示す情報とベース座標系を示す情報とローカル座標系を示す情報とのうち少なくとも１つ以上と、ロボット５の少なくとも一部のモデルとに基づいてダイレクトティーチングによる教示をユーザーに行わせることができる。
【００９９】
また、教示装置１０は、第１表示モードと、第２表示モードとのうちいずれか一方を選択可能である。これにより、教示装置１０は、第１表示モードと、第２表示モードとのうちユーザーが所望する表示モードによってロボットの少なくとも一部のモデルを表示することができる。
【０１００】
また、教示装置１０は、タッチパネルＴＰにおけるロボット５の少なくとも一部のモデルの表示視点の並進又は回転が可能である。これにより、教示装置１０は、ユーザーが所望する表示視点によってロボット５の少なくとも一部のモデルを表示することができる。
【０１０１】
また、教示装置１０は、アームをロボット５の一部として含むモデルとともに、当該モデルに含まれるアームの先端に所定の座標系（この一例において、ツール座標系）を表示する。これにより、教示装置１０は、アームをロボット５の一部として含むモデルと、当該モデルに含まれるアームの先端に表示された所定の座標系とに基づいて、ダイレクトティーチングによる教示をユーザーに行わせることができる。
【０１０２】
また、教示装置１０は、ロボット５の少なくとも一部としてアームを含むモデルに含まれるアームの先端に表示する所定の座標系として、ベース座標系又はローカル座標系を表示する。これにより、教示装置１０は、ロボットの少なくとも一部としてアームを含むモデルに含まれるアームの先端に表示されたベース座標系又はローカル座標系に基づいて、ダイレクトティーチングによる教示をユーザーに行わせることができる。
【０１０３】
以上、この発明の実施形態を、図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない限り、変更、置換、削除等されてもよい。
【０１０４】
また、以上に説明した装置（例えば、教示装置１０）における任意の構成部の機能を実現するためのプログラムを、コンピューター読み取り可能な記録媒体に記録し、そのプログラムをコンピューターシステムに読み込ませて実行するようにしてもよい。なお、ここでいう「コンピューターシステム」とは、ＯＳ（Operating  System）や周辺機器等のハードウェアを含むものとする。また、「コンピューター読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ＲＯＭ（Read  Only  Memory）、ＣＤ（Compact  Disk）−ＲＯＭ等の可搬媒体、コンピューターシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピューター読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムが送信された場合のサーバーやクライアントとなるコンピューターシステム内部の揮発性メモリー（ＲＡＭ：Random  Access  Memory）のように、一定時間プログラムを保持しているものも含むものとする。
【０１０５】
また、上記のプログラムは、このプログラムを記憶装置等に格納したコンピューターシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピューターシステムに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク（通信網）や電話回線等の通信回線（通信線）のように情報を伝送する機能を有する媒体のことをいう。
また、上記のプログラムは、前述した機能の一部を実現するためのものであってもよい。さらに、上記のプログラムは、前述した機能をコンピューターシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル（差分プログラム）であってもよい。
【符号の説明】
【０１０６】
１  ロボットシステム、５  ロボット、６  力検出部、１０  教示装置、１１  ＣＰＵ、１２  記憶部、１３  入力受付部、１４  通信部、１５  表示部、１６  ジョグキー、１７  他の操作キー、１８  制御部、２０  表示制御部、２２  回転角情報取得部、２４  位置姿勢算出部、２６  教示制御部
【図１】
2017019068.tif 000003
【図２】
2017019068.tif 000004
【図３】
2017019068.tif 000005
【図４】
2017019068.tif 000006
【図５】
2017019068.tif 000007
【図６】
2017019068.tif 000008