(57)【要約】  【課題】より容易にロボットの多種多様な動作の教示を行う。  【解決手段】ロボット制御装置は、ロボットの画像を表示する表示部と、前記表示部により表示された前記ロボットの画像に対する操作を受け付ける受付部と、前記ロボットの動作を教示する教示部と、を備え、前記表示部は、前記操作に応じて、前記ロボットの把持部の移動、前記把持部の回転、又は前記把持部の開閉、を表す画像を表示し、前記教示部は、前記操作に応じて、前記ロボットの把持部の移動、前記把持部の回転、又は前記把持部の開閉、を前記ロボットに教示する。【選択図】図１
2018144228.tif 000002
【特許請求の範囲】
【請求項１】
ロボットの画像を表示する表示部と、
前記表示部により表示された前記ロボットの画像に対する操作を受け付ける受付部と、
前記ロボットの動作を教示する教示部と、を備え、
前記表示部は、前記操作に応じて、前記ロボットの把持部の移動、前記把持部の回転、又は前記把持部の開閉、を表す画像を表示し、
前記教示部は、前記操作に応じて、前記ロボットの把持部の移動、前記把持部の回転、又は前記把持部の開閉、を前記ロボットに教示する、ロボット制御装置。
【請求項２】
請求項１に記載のロボット制御装置であって、
前記受付部は、画面上の接触位置の動きを前記操作として受け付ける、ロボット制御装置。
【請求項３】
請求項２に記載のロボット制御装置であって、
前記受付部が、前記把持部の画像上から対象物の画像上まで前記接触位置を移動する操作を受け付けた場合、
前記表示部は、前記把持部を前記対象物まで移動して把持する動作を表す画像を表示し、
前記教示部は、前記把持部を前記対象物まで移動して把持する動作を前記ロボットに教示する、ロボット制御装置。
【請求項４】
請求項２に記載のロボット制御装置であって、
前記受付部は、前記把持部の画像を選択した状態で対象物の画像を選択する操作を受け付けた場合、
前記表示部は、前記把持部を前記対象物まで移動して把持する動作を表す画像を表示し、
前記教示部は、前記把持部を前記対象物まで移動して把持する動作を前記ロボットに教示する、ロボット制御装置。
【請求項５】
請求項３又は４に記載のロボット制御装置であって、
前記受付部は、前記対象物の画像上の前記接触位置を、把持位置として受け付け、
前記表示部は、前記把持部を前記把持位置まで移動して把持する動作を表す画像を表示し、
前記教示部は、前記把持部を前記把持位置まで移動して把持する動作を前記ロボットに教示する、ロボット制御装置。
【請求項６】
請求項３〜５いずれか一項に記載のロボット制御装置であって、
前記対象物を撮像した撮像画像を取得する画像取得部を備え、
前記表示部は、前記撮像画像に基づいて前記対象物の画像を生成し、表示する、ロボット制御装置。
【請求項７】
請求項２〜６いずれか一項に記載のロボット制御装置であって、
前記受付部が、前記接触位置を、円弧を描くように移動させる操作を受け付けた場合、
前記表示部は、前記把持部を回転する動作を表す画像を表示し、
前記教示部は、前記把持部を回転させる動作を前記ロボットに教示する、ロボット制御装置。
【請求項８】
請求項２〜６いずれか一項に記載のロボット制御装置であって、
前記接触位置には、第一接触位置と第二接触位置が含まれ、
前記受付部が、前記第一接触位置と前記第二接触位置とを近づける又は遠ざける操作を受け付けた場合、
前記表示部は、前記把持部を閉じる又は開く動作を表す画像を表示し、
前記教示部は、前記把持部を閉じる又は開く動作を前記ロボットに教示する、ロボット制御装置。
【請求項９】
請求項２〜６いずれか一項に記載のロボット制御装置であって、
前記受付部が、前記画面上の所定の領域で、前記接触位置を移動させる操作を受け付けた場合、
前記表示部は、視点を変更して前記把持部の画像を表示する、ロボット制御装置。
【請求項１０】
請求項１〜９いずれか一項に記載のロボット制御装置であって、
前記受付部は、前記画面上の接触位置の動きに替えて、ポインティングデバイスにより操作される前記画面上の指示画像が示す指示位置の動きを前記操作として受け付ける、ロボット制御装置。
【請求項１１】
ロボットであって、
前記ロボットの画像を表示する表示部と、
前記表示部により表示された前記ロボットの画像に対する操作を受け付ける受付部と、
前記ロボットの動作を教示する教示部と、を備え、
前記表示部は、前記操作に応じて、前記ロボットの把持部の移動、前記把持部の回転、又は前記把持部の開閉、を表す画像を表示し、
前記教示部は、前記操作に応じて、前記ロボットの把持部の移動、前記把持部の回転、又は前記把持部の開閉、を前記ロボットに教示する、ロボット。
【請求項１２】
ロボットと、前記ロボットを制御するロボット制御装置とを備えるロボットシステムであって、
前記ロボットの画像を表示する表示部と、
前記表示部により表示された前記ロボットの画像に対する操作を受け付ける受付部と、
前記ロボットの動作を教示する教示部と、を備え、
前記表示部は、前記操作に応じて、前記ロボットの把持部の移動、前記把持部の回転、又は前記把持部の開閉、を表す画像を表示し、
前記教示部は、前記操作に応じて、前記ロボットの把持部の移動、前記把持部の回転、又は前記把持部の開閉、を前記ロボットに教示する、ロボットシステム。
【請求項１３】
ロボットの動作の教示方法であって、
前記ロボットの画像を表示する表示ステップと、
前記表示ステップで表示された前記ロボットの画像に対する操作を受け付ける受付ステップと、
前記ロボットの動作を教示する教示部ステップ、を含み、
前記表示ステップは、前記操作に応じて、前記ロボットの把持部の移動、前記把持部の回転、又は前記把持部の開閉、を表す画像を表示し、
前記教示ステップは、前記操作に応じて、前記ロボットの把持部の移動、前記把持部の回転、又は前記把持部の開閉、を前記ロボットに教示する、教示方法。
【請求項１４】
ロボット制御装置のプログラムであって、
ロボットの画像を表示する表示部と、
前記表示部により表示された前記ロボットの画像に対する操作を受け付ける受付部と、
前記ロボットの動作を教示する教示部として、前記ロボット制御装置を機能させ、
前記表示部は、前記操作に応じて、前記ロボットの把持部の移動、前記把持部の回転、又は前記把持部の開閉、を表す画像を表示し、
前記教示部は、前記操作に応じて、前記ロボットの把持部の移動、前記把持部の回転、又は前記把持部の開閉、を前記ロボットに教示する、プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ロボット制御装置、ロボット、ロボットシステム、教示方法、及びプログラムに関する。
【背景技術】
【０００２】
特許文献１には、タッチスクリーンにロボットのＣＧ映像を表示し、当該タッチスクリーン上でロボットのＣＧ映像を仮想的に動作させ、当該仮想的な動作に追従するようにロボットを動作させるロボットシステムが記載されている。また、特許文献１では、例えば、ドラッグ操作によりＣＧ映像のアームの関節角度を変更することが記載されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１２−１７１０２４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、特許文献１では、実際にロボットの作業に必要な動作を、十分に教示することができない。例えば、ハンドで対象物を把持する動作を教示する場合、アームの角度の変更、ハンドの開閉、ハンドの対象物への位置合わせ等、様々な教示をする必要があり、操作が複雑である。また、実際にハンドで対象物を把持できるように、タッチスクリーン上で、アームの角度の変更、ハンドの開閉、ハンドの対象物への位置合わせ等を詳細に教示するのは、困難である。
【０００５】
そこで、本発明は、より容易にロボットの多種多様な動作の教示を行うことを目的とする。
【課題を解決するための手段】
【０００６】
上記の課題を解決する本発明の第一態様は、ロボット制御装置であって、ロボットの画像を表示する表示部と、前記表示部により表示された前記ロボットの画像に対する操作を受け付ける受付部と、前記ロボットの動作を教示する教示部と、を備え、前記表示部は、前記操作に応じて、前記ロボットの把持部の移動、前記把持部の回転、又は前記把持部の開閉、を表す画像を表示し、前記教示部は、前記操作に応じて、前記ロボットの把持部の移動、前記把持部の回転、又は前記把持部の開閉、を前記ロボットに教示する。これにより、画像の様々な操作に応じた動作を表すロボットの画像が表示され、この動作に対応する教示が行われるため、より容易にロボットの多種多様な動作の教示を行うことができる。
【０００７】
前記ロボット制御装置において、前記受付部は、画面上の接触位置の動きを前記操作として受け付ける、ようにしてもよい。これにより、画像が表示される画面上でタッチ操作等により操作を行えるため、より直感的にロボットの動作を教示することができる。
【０００８】
前記ロボット制御装置において、前記受付部が、前記把持部の画像上から対象物の画像上まで前記接触位置を移動する操作を受け付けた場合、前記表示部は、前記把持部を前記対象物まで移動して把持する動作を表す画像を表示し、前記教示部は、前記把持部を前記対象物まで移動して把持する動作を前記ロボットに教示する、ようにしてもよい。これにより、把持動作を教示する際に、ロボットの詳細な動作を入力しなくても、ドラッグ等の移動操作で、より容易にロボットの把持動作を教示することができる。
【０００９】
前記ロボット制御装置において、前記受付部は、前記把持部の画像を選択した状態で対象物の画像を選択する操作を受け付けた場合、前記表示部は、前記把持部を前記対象物まで移動して把持する動作を表す画像を表示し、前記教示部は、前記把持部を前記対象物まで移動して把持する動作を前記ロボットに教示する、ようにしてもよい。これにより、把持動作を教示する際に、ロボットの詳細な動作を入力しなくても、タップ操作等の選択操作で、より容易にロボットの把持動作を教示することができる。
【００１０】
前記ロボット制御装置において、前記受付部は、前記対象物の画像上の前記接触位置を、把持位置として受け付け、前記表示部は、前記把持部を前記把持位置まで移動して把持する動作を表す画像を表示し、前記教示部は、前記把持部を前記把持位置まで移動して把持する動作を前記ロボットに教示する、ようにしてもよい。これにより、ドラッグ等の移動操作やタップ操作等の選択操作を行いつつ、把持位置を容易に教示することができる。
【００１１】
前記ロボット制御装置において、前記対象物を撮像した撮像画像を取得する画像取得部を備え、前記表示部は、前記撮像画像に基づいて前記対象物の画像を生成し、表示する、ようにしてもよい。これにより、実際の対象物に対する動作を簡単に教示できる。
【００１２】
前記ロボット制御装置において、前記受付部が、前記接触位置を、円弧を描くように移動させる操作を受け付けた場合、前記表示部は、前記把持部を回転する動作を表す画像を表示し、前記教示部は、前記把持部を回転させる動作を前記ロボットに教示する、ようにしてもよい。これにより、把持部の回転動作を容易に教示することができる。
【００１３】
前記ロボット制御装置において、前記接触位置には、第一接触位置と第二接触位置が含まれ、前記受付部が、前記第一接触位置と前記第二接触位置とを近づける又は遠ざける操作を受け付けた場合、前記表示部は、前記把持部を閉じる又は開く動作を表す画像を表示し、前記教示部は、前記把持部を閉じる又は開く動作を前記ロボットに教示する、ようにしてもよい。これにより、把持部の開閉動作を容易に教示することができる。
【００１４】
前記ロボット制御装置において、前記受付部が、前記画面上の所定の領域で、前記接触位置を移動させる操作を受け付けた場合、前記表示部は、視点を変更して前記把持部の画像を表示する、ようにしてもよい。これにより、視点の変更を容易に行うことができる。
【００１５】
前記ロボット制御装置において、前記受付部は、前記画面上の接触位置の動きに替えて、ポインティングデバイスにより操作される前記画面上の指示画像が示す指示位置の動きを前記操作として受け付ける、ようにしてもよい。これにより、マウス等を用いても容易に教示を行うことができる。
【００１６】
上記の課題を解決する本発明の第二態様は、ロボットであって、前記ロボットの画像を表示する表示部と、前記表示部により表示された前記ロボットの画像に対する操作を受け付ける受付部と、前記ロボットの動作を教示する教示部と、を備え、前記表示部は、前記操作に応じて、前記ロボットの把持部の移動、前記把持部の回転、又は前記把持部の開閉、を表す画像を表示し、前記教示部は、前記操作に応じて、前記ロボットの把持部の移動、前記把持部の回転、又は前記把持部の開閉、を前記ロボットに教示する。これにより、画像の様々な操作に応じた動作を表すロボットの画像が表示され、この動作に対応する教示が行われるため、より容易にロボットの多種多様な動作の教示を行うことができる。
【００１７】
上記の課題を解決する本発明の第三態様は、ロボットと、前記ロボットを制御するロボット制御装置とを備えるロボットシステムであって、前記ロボットの画像を表示する表示部と、前記表示部により表示された前記ロボットの画像に対する操作を受け付ける受付部と、前記ロボットの動作を教示する教示部と、を備え、前記表示部は、前記操作に応じて、前記ロボットの把持部の移動、前記把持部の回転、又は前記把持部の開閉、を表す画像を表示し、前記教示部は、前記操作に応じて、前記ロボットの把持部の移動、前記把持部の回転、又は前記把持部の開閉、を前記ロボットに教示する。これにより、画像の様々な操作に応じた動作を表すロボットの画像が表示され、この動作に対応する教示が行われるため、より容易にロボットの多種多様な動作の教示を行うことができる。
【００１８】
上記の課題を解決する本発明の第四態様は、ロボットの動作の教示方法であって、前記ロボットの画像を表示する表示ステップと、前記表示ステップで表示された前記ロボットの画像に対する操作を受け付ける受付ステップと、前記ロボットの動作を教示する教示部ステップ、を含み、前記表示ステップは、前記操作に応じて、前記ロボットの把持部の移動、前記把持部の回転、又は前記把持部の開閉、を表す画像を表示し、前記教示ステップは、前記操作に応じて、前記ロボットの把持部の移動、前記把持部の回転、又は前記把持部の開閉、を前記ロボットに教示する。これにより、画像の様々な操作に応じた動作を表すロボットの画像が表示され、この動作に対応する教示が行われるため、より容易にロボットの多種多様な動作の教示を行うことができる。
【００１９】
上記の課題を解決する本発明の第五態様は、ロボット制御装置のプログラムであって、ロボットの画像を表示する表示部と、前記表示部により表示された前記ロボットの画像に対する操作を受け付ける受付部と、前記ロボットの動作を教示する教示部として、前記ロボット制御装置を機能させ、前記表示部は、前記操作に応じて、前記ロボットの把持部の移動、前記把持部の回転、又は前記把持部の開閉、を表す画像を表示し、前記教示部は、前記操作に応じて、前記ロボットの把持部の移動、前記把持部の回転、又は前記把持部の開閉、を前記ロボットに教示する。これにより、画像の様々な操作に応じた動作を表すロボットの画像が表示され、この動作に対応する教示が行われるため、より容易にロボットの多種多様な動作の教示を行うことができる。
【図面の簡単な説明】
【００２０】
【図１】本発明の一実施形態に係るロボットシステムの概略構成の一例を示す図である。
【図２】ロボットシステムの機能構成の一例を示す図である。
【図３】ロボット制御装置の機能を実現するハードウェア構成の一例を示す図である。
【図４】教示処理の一例を示すフロー図（その１）である。
【図５】教示処理の一例を示すフロー図（その２）である。
【図６】タッチパネル上の操作及び表示の一例を示す図（その１）である。
【図７】タッチパネル上の操作及び表示の一例を示す図（その２）である。
【図８】タッチパネル上の操作及び表示の一例を示す図（その３）である。
【発明を実施するための形態】
【００２１】
本発明の一実施形態について、図面を参照して説明する。
【００２２】
図１は、本発明の一実施形態に係るロボットシステムの概略構成の一例を示す図である。
【００２３】
ロボットシステム１は、ロボット２と、ロボット制御装置３とを有する。ロボット２とロボット制御装置３は、通信可能に接続される。また、ロボット制御装置３には、操作端末４が通信可能に接続される。
【００２４】
ロボット２は、ロボット制御装置３からの指示に従って作業を行う。ロボット２は、例えば、作業台Ｔの近くに配置され、作業台Ｔ上の所定の作業領域内で作業を行う。ロボット２の作業内容は特に限定されないが、例えば、対象物（以下、「ワーク」ともいう）Ｗを把持したり、把持したワークＷを移動したり、複数のワークＷを組み合わせたりする作業がある。
【００２５】
ロボット２は、胴部２０と、アーム２１と、ハンド２２と、脚部２４と、頭部２５とを有する。頭部２５には、２台の撮像装置２６が設けられている。なお、ハンド２２は、本発明の把持部に相当する。
【００２６】
アーム２１は、胴部２０に設けられる。アーム２１は、一以上のジョイント（「回転軸」ともいう）２１ａ及び一以上のアーム部材（「リンク」ともいう）２１ｂを含む。
【００２７】
ジョイント２１ａには、それらを動作させるためのアクチュエーター（図示せず）が設けられる。アクチュエーターは、例えば、サーボモーターやエンコーダーなどを備える。エンコーダーが出力するエンコーダー値は、ロボット２のフィードバック制御などに使用される。
【００２８】
また、アーム２１の先端には、力覚センサー２１ｃ（図示せず）が設けられる。力覚センサー２１ｃは、ロボット２が出している力に対する反力として受けている力や、モーメントを検出するセンサーである。力覚センサー２１ｃとしては、例えば、並進３軸方向の力成分と、回転３軸回りのモーメント成分の６成分を同時に検出することができる６軸力覚センサーを用いることができる。なお、力覚センサーは、６軸に限らず、例えば３軸でもよい。
【００２９】
各回転軸を連動させることにより、アーム部材２１ｂの姿勢を変化させ、アーム２１の先端部などに設定された注目位置（「エンドポイント」ともいう）を、所定の可動範囲内で自在に移動させたり自由な方向へ向けたりすることができる。なお、エンドポイントの位置は、アームの先端部に限定されず、例えば、ハンド２２の先端部などに設定されてもよい。
【００３０】
なお、アーム２１は、マニピュレーターの一種ということができる。マニピュレーターは、エンドポイントの位置を移動させる機構であり、アームに限られず様々な形態をとることができる。また、マニピュレーターは、図示するように２本に限られず、１本あるいは３本以上設けるようにしてもよい。
【００３１】
ハンド２２は、アーム２１の先端に設けられる。ハンド２２は、例えば、複数の指を備え、少なくとも２本の指でワークを把持したり解放したりすることができる。以下では、ハンド２２は、４本の指を備えているものとする。ハンド２２は、アーム２１の先端部に対して着脱可能であってもよい。なお、各指には、それらを動作させるためのアクチュエーター（図示せず）が設けられる。アクチュエーターは、例えば、サーボモーターやエンコーダーなどを備える。
【００３２】
なお、ハンド２２は、エンドエフェクターの一種ということができる。エンドエフェクターは、ワークを把持したり、持ち上げたり、吊り上げたり、吸着したり、ワークを加工したりするための部材である。エンドエフェクターは、ハンド、フック、吸盤など、様々な形態をとることができる。また、エンドエフェクターは、一本のアームに対して複数設けるようにしてもよい。
【００３３】
撮像装置２６は、作業台Ｔ上の作業領域、アーム２１、ハンド２２等を撮像することができるように頭部２５に配置されている。撮像装置２６は、撮像画像データをロボット２内の制御部（図示せず）や、ロボット制御装置３に出力する。撮像装置２６は、例えば、ＣＣＤ（Charge Coupled Device）、ＣＭＯＳ（Complementary Metal Oxide Semiconductor）等を有するカメラである。本実施形態では、２台の撮像装置２６によりステレオ画像を撮像し、画像処理により３次元の立体視、物体認識等が可能である。
【００３４】
もちろん、ロボット２の構成は図示した例に限られない。例えば、図１ではジョイント数が７個（７軸）の例が示されているが、ジョイントの数（「軸数」ともいう）やリンクの数を増減させてもよい。また、ジョイント、リンク、ハンド等の各種部材の形状、大きさ、配置、構造等も適宜変更してよい。
【００３５】
ロボット制御装置３は、ロボット２の動作に関する操作入力をユーザーから受け付ける。例えば、ロボット制御装置３は、ロボット２のモデル画像等を、操作端末４又は表示装置９６（図３参照）に出力し、表示させる。また、例えば、ロボット制御装置３は、操作端末４又は入力装置９５（図３参照）を介して、ロボット２のモデル画像等に対する操作をユーザーから受け付ける。また、例えば、ロボット制御装置３は、受け付けたモデル画像に対する操作に基づいて、ロボット２の動作を示す教示情報を生成する。
【００３６】
また、ロボット制御装置３は、教示情報に基づいて、軌道計画に基づく位置制御、ビジュアルサーボ制御等によりロボット２を動作させる制御命令を生成し、生成した制御命令をロボット２に出力する。ロボット２は、ロボット制御装置３から出力された制御命令に従ってアクチュエーターを駆動させることで動作する。また、ロボット制御装置３は、撮像装置２６を制御して、撮像を行わせ、撮像画像を取得する。
【００３７】
操作端末４は、ロボット制御装置３により制御され、ユーザーからの操作の入力、ユーザーに対する情報の出力等を行うユーザーインターフェイスとして機能する。本実施形態では、操作端末４は、タッチスクリーン、通信インターフェイス等を備える。タッチスクリーンは、例えば、静電容量型のタッチパネル、ディスプレイ等を備える。操作端末４は、例えば、タッチスクリーン上のユーザーの操作を表す操作信号を生成し、通信インターフェイスを介してロボット制御装置３に送信する。また、操作端末４は、例えば、ロボット制御装置３から、通信インターフェイスを介して画面情報を受信し、画面情報に応じた画面をタッチスクリーンに表示する。
【００３８】
上記のロボットシステム１の構成は、本実施形態の特徴を説明するにあたって主要構成を説明したのであって、上記の構成例に限られない。また、一般的なロボットシステムが備える構成を排除するものではない。
【００３９】
例えば、撮像装置２６は、ロボット２のアーム２１の先端部分、胴部２０などに設けられてもよい。また、例えば、撮像装置２６は、天井、壁などに設置することもできる。また、例えば、撮像装置２６に加えて、他の撮像装置を設けるようにしてもよい。また、例えば、撮像装置２６は、ロボット制御装置３に接続されていてもよい。また、例えば、ロボット制御装置３は、制御部としてロボット２に内蔵されていてもよい。また、例えば、ロボット制御装置３の教示に関する機能は、ロボット制御装置３とは別の教示装置として設けられ、当該教示装置からロボット制御装置３又はロボット２の制御部に対して教示又は制御命令を送るようにしてもよい。
【００４０】
図２は、ロボットシステムの機能構成の一例を示す図である。
【００４１】
ロボット２は、動作制御部２００等を備える。ロボット制御装置３は、記憶部３００、受付部３１０、表示部３２０、教示部３３０、画像取得部３４０、制御部３５０等を備える。
【００４２】
動作制御部２００は、例えば、ロボット制御装置３から出力される移動指令値を含む制御命令と、各ジョイント２１ａのアクチュエーターのエンコーダー値等とに基づいて、エンドポイントの現在位置が移動指令値が示す目標位置となるように、各ジョイント２１ａのアクチュエーターを駆動させる。なお、エンドポイントの現在位置は、例えば各ジョイント２１ａのアクチュエーターにおけるエンコーダー値等から求めることができる。
【００４３】
また、動作制御部２００は、例えば、ロボット制御装置３から出力されるハンド２２の各指に対する制御命令に従って、指定された移動量だけ指を閉じたり開いたりする。また、動作制御部２００は、例えば、ロボット制御装置３から出力される所定のジョイントの回転させる制御命令に従って、指定された回転量だけ当該所定のジョイントを回転させる。
【００４４】
また、動作制御部２００は、例えば、ロボット制御装置３からの指示に従って、撮像装置２６を制御して撮像を行い、撮像画像を取得し、ロボット制御装置３に出力する。
【００４５】
記憶部３００は、モデル画像記憶部として、ワークＷやロボット２等のモデル画像を記憶する。モデル画像は、例えば、３次元ＣＧ（コンピューターグラフィックス）である。ワークＷのモデル画像は、ロボット２の異なる複数の作業内容に対応できるように、ワークＷごとに用意することができる。また、ロボット２のモデル画像は、パーツ（ジョイント２１ａ、アーム部材２１ｂ、ハンド２２、ハンド２２の指、頭部２５、胴部２０、脚部２４等）ごとに用意することもできる。なお、３次元ＣＧは、実物のロボット２のパーツやワークＷをデフォルメしたもので構わない。
【００４６】
受付部３１０は、操作端末４又は入力装置９５（図３参照）を介してユーザーの操作を受け付ける。受付部３１０は、例えば、操作端末４又は表示装置９６（図３参照）の画面上の操作を表す操作信号を、操作端末４又は入力装置９５から受け付ける。受付部３１０については、後に詳述する。なお、以下では、入力手段として操作端末４のタッチスクリーンを用いる場合を中心に説明する。
【００４７】
表示部３２０は、操作端末４又は表示装置９６（図３参照）を介してユーザーに対して情報を表示する。表示部３２０は、例えば、操作端末４又は表示装置９６にロボット２のモデル画像等を出力して表示させる。また、表示部３２０は、例えば、受付部３１０により受け付けた操作信号に応じた画面情報を生成し、操作端末４又は表示装置９６に表示させる。表示部３２０については、後に詳述する。なお、以下では、表示手段として操作端末４を用いる場合を中心に説明する。
【００４８】
教示部３３０は、受付部３１０により受け付けた操作信号に基づいて、ロボット２の動作を示す教示情報を生成する。教示情報には、例えば、ハンド２２を移動させる指示（目標位置等を含む）、ハンド２２を開閉させる指示（指の移動量、移動方向（開閉のいずれか）等を含む）、ハンド２２を回転させる指示（ジョイントの回転量、回転方向等を含む）等が含まれる。教示部３３０については、後に詳述する。
【００４９】
画像取得部３４０は、ロボット２に対して撮像の指示を送り、撮像装置２６により撮像された撮像画像を取得する。また、画像取得部３４０は、撮像画像からワークＷ等の位置及び向きを認識する。例えば、画像取得部３４０は、パターンマッチング等により、記憶部３００に格納されているワークＷのモデル画像とマッチする形状を、撮像画像から抽出する。物体認識には、一般的な技術を採用することができるため、詳細な説明は省略する。
【００５０】
制御部３５０は、教示部３３０により生成された教示情報に基づいて、軌道計画に基づく位置制御、ビジュアルサーボ制御等によりロボット２を動作させる制御命令を生成し、生成した制御命令をロボット２に出力する。
【００５１】
例えば、制御部３５０は、ハンド２２を移動させる指示が教示情報に含まれる場合、ロボット２から取得したエンドポイントの現在位置と教示情報に含まれる目標位置とに基づいて、軌道計画を行う。そして、制御部３５０は、計画した軌道に基づいて、ロボット２のエンドポイントを次に移動させる移動指令値を生成し、ロボット２に出力する。
【００５２】
なお、関節を持つロボット２では、各関節の角度を決定すると、フォワードキネマティクス処理によりエンドポイントの位置は一意に決定される。つまり、Ｎ関節ロボットではＮ個の関節角度により１つの位置を表現できることになるから、当該Ｎ個の関節角度の組を１つの目標関節角度とすれば、エンドポイントの軌道を目標関節角度の集合と考えることができる。よって、移動指令値は、位置に関する値（目標位置）であってもよいし、関節の角度に関する値（目標角度）であってもよい。
【００５３】
また、制御部３５０は、教示部３３０により生成された教示情報に基づいて、ハンド２２を開閉したり、ハンド２２を回転させたりする。
【００５４】
例えば、制御部３５０は、ハンド２２を開閉させる指示が教示情報に含まれる場合、教示情報に含まれる指の移動量及び移動方向に基づいて、各指の移動指令値を生成し、ロボット２に出力する。また、例えば、制御部３５０は、ハンド２２を回転させる指示が教示情報に含まれる場合、教示情報に含まれるジョイントの回転量及び回転方向に基づいて、ハンド２２に最も近い所定のジョイントの回転指令値を生成し、ロボット２に出力する。
【００５５】
図３は、ロボット制御装置の機能を実現するハードウェア構成の一例を示す図である。
【００５６】
ロボット制御装置３は、例えば、図３に示すような、ＣＰＵ（Central Processing Unit）等の演算装置９１と、ＲＡＭ（Random Access Memory）等の主記憶装置９２と、ＨＤＤ（Hard Disk Drive）等の補助記憶装置９３と、有線又は無線により通信ネットワークと接続するための通信インターフェイス（Ｉ／Ｆ）９４と、マウス、キーボード、タッチセンサーやタッチパネルなどの入力装置９５と、液晶ディスプレイなどの表示装置９６と、ＤＶＤ（Digital Versatile Disk）などの持ち運び可能な記憶媒体に対する情報の読み書きを行う読み書き装置９７と、を備えるコンピューター９０で実現することができる。
【００５７】
受付部３１０、表示部３２０、教示部３３０、画像取得部３４０、制御部３５０等は、例えば、補助記憶装置９３等から主記憶装置９２にロードされた所定のプログラムを演算装置９１が実行することで実現される。記憶部３００は、例えば、演算装置９１が主記憶装置９２又は補助記憶装置９３を利用することで実現されてもよい。ロボット２との通信は、例えば、演算装置９１が通信Ｉ／Ｆ９４を利用することで実現される。なお、上記の所定のプログラムは、例えば、読み書き装置９７により読み取られた記憶媒体からインストールされてもよいし、通信Ｉ／Ｆ９４を介してネットワークからインストールされてもよい。
【００５８】
なお、操作端末４も、図３に示すようなコンピューター９０で実現することができる。また、動作制御部２００は、例えば、演算装置、記憶装置、処理回路、駆動回路などを備えるコントローラー基板等により実現することができる。
【００５９】
上述したロボットシステム１の機能構成は、ロボットシステム１の構成を理解容易にするために、主な処理内容に応じて分類したものである。構成要素の分類の仕方や名称によって、本願発明が制限されることはない。ロボットシステム１の構成は、処理内容に応じて、さらに多くの構成要素に分類することもできる。また、１つの構成要素がさらに多くの処理を実行するように分類することもできる。また、各構成要素の処理は、１つのハードウェアで実行されてもよいし、複数のハードウェアで実行されてもよい。
【００６０】
また、ロボットシステム１の機能及び処理の分担は、説明した例に限られない。例えば、ロボット制御装置３の少なくとも一部の機能は、ロボット２に含まれ、ロボット２により実現されてもよい。また、例えば、ロボット２の少なくとも一部の機能は、ロボット制御装置３に含まれ、ロボット制御装置３により実現されてもよい。
【００６１】
図４は、教示処理の一例を示すフロー図（その１）である。図５は、教示処理の一例を示すフロー図（その２）である。図４のフローは、例えば、受付部３１０が、操作端末４を介して教示の開始指示をユーザーから受け付けた場合に開始される。
【００６２】
適宜、図６（タッチパネル上の操作及び表示の一例を示す図（その１））、図７（タッチパネル上の操作及び表示の一例を示す図（その２））、及び図８（タッチパネル上の操作及び表示の一例を示す図（その３））を参照して説明する。
【００６３】
まず、制御部３５０は、ロボットの現在の姿勢を取得する（ステップＳ１）。具体的には、制御部３５０は、ロボット２から、各パーツ（ジョイント２１ａ、アーム部材２１ｂ、ハンド２２、ハンド２２の指、頭部２５、胴部２０、脚部２４等）の現在の姿勢を示す情報を取得する。現在の姿勢を示す情報は、例えば、各パーツの位置及び向き（ｘ、ｙ、ｚ、ｕ、ｖ、ｗ等の値で表せる）とすることができる。なお、ロボット２は、自身のパーツ毎に当該パーツの位置及び向きを保持しているものとする。
【００６４】
それから、表示部３２０は、ロボット２のモデル画像を表示する（ステップＳ２）。具体的には、表示部３２０は、ステップＳ１で取得された各パーツの位置及び向きを示す情報に基づいて、記憶部３００に格納されている各パーツのモデル画像を配置することで、ロボット２の３次元モデル画像を生成する。また、表示部３２０は、生成したロボット２の３次元モデル画像を、設定されているユーザーの視点の位置及び向き（ｘ、ｙ、ｚ、ｕ、ｖ、ｗ等の値で表せる）から所定の視野角で見たときの３次元モデル画像を生成する。そして、表示部３２０は、生成したロボット２の３次元モデル画像を、２次元モデル画像に変換し、操作端末４に表示する。
【００６５】
それから、画像取得部３４０は、画像を取得する（ステップＳ３）。具体的には、画像取得部３４０は、ロボット２に対して撮像の指示を送り、撮像装置２６により撮像された撮像画像を取得する。また、画像取得部３４０は、記憶部３００に格納されているワークＷのモデル画像を用いて、パターンマッチング等により、取得した撮像画像からワークＷを認識する。このとき、画像取得部３４０は、認識したワークＷの位置及び向き（ｘ、ｙ、ｚ、ｕ、ｖ、ｗ等の値で表せる）を特定する。
【００６６】
それから、表示部３２０は、ワークＷのモデル画像を表示する（ステップＳ４）。具体的には、表示部３２０は、ステップＳ３で認識されたワークＷの位置及び向きに基づいて、記憶部３００に格納されている当該ワークＷの３次元モデル画像を配置し、当該ワークＷの３次元モデル画像を、設定されているユーザーの視点の位置及び向きから所定の視野角で見たときの３次元モデル画像を生成する。そして、表示部３２０は、生成したワークＷの３次元モデル画像を、２次元モデル画像に変換し、ステップＳ２で表示したロボット２の２次元モデル画像とともに、操作端末４に表示する。なお、ステップＳ３でワークＷが認識されていない場合には、ステップＳ４の処理はスキップしてよい。
【００６７】
このようにして、例えば図６（Ａ）、図７（Ａ）、図８（Ａ）に示すように、ロボット２のモデル画像ＲＧ（アーム２１のモデル画像、ハンド２２のモデル画像ＨＧ等を含む）と、ワークＷのモデル画像ＷＧとが、初期画像として表示される。なお、図６〜図８では、説明を分かり易くするため、ワークＷ、ハンド２２、及びアーム２１の一部のモデル画像が表示されているが、表示部３２０は、ロボット２の全体のモデル画像を表示するようにしてもよい。
【００６８】
それから、受付部３１０は、ユーザーの操作を受け付ける（ステップＳ１１）。具体的には、受付部３１０は、操作端末４を介して、ステップＳ４でロボット２のモデル画像等が表示された画面上でのユーザーの操作を表す操作信号を受け付ける。受付部３１０は、操作信号として、例えば、タップ、ドラッグ、回転、ピンチイン、ピンチアウト等の操作種類や、タップ位置、タッチ位置、ドラッグ操作の始点位置及び終点位置、回転操作の回転方向及び回転量、ピンチイン及びピンチアウト操作の移動量等の操作パラメーターを受け付ける。受付部３１０は、表示部３２０により現在表示されている画面の内容と操作信号とに基づいて、ユーザーの操作内容を特定する。
【００６９】
なお、ドラッグ操作は、例えば、指等による画面上の接触を始点位置から終点位置まで連続的に移動させる操作である。回転操作は、例えば、指等による画面上の接触位置を、円弧を描くように移動させる操作である。一方の指等を円弧の中心として画面に接触させ（第一の接触位置）、他方の指等で円弧を描くように接触位置（第二の接触位置）を移動させてもよい。円弧を描く方向が回転方向に対応し、円弧の回転角が回転量に対応する。また、ピンチイン操作は、例えば、２本の指等を画面上に接触させ（第一の接触位置及び第二の接触位置）、これらの指の接触位置を近付ける操作である。また、ピンチアウト操作は、例えば、２本の指等を画面上に接触させ（第一の接触位置及び第二の接触位置）、これらの指の接触位置を遠ざける操作である。第一の接触位置及び第二の接触位置の距離の変化が移動量に対応する。
【００７０】
ステップＳ１１でユーザーの操作を受け付けると、受付部３１０は、受け付けた操作が、教示の終了指示（例えば、画面上の「終了」ボタンのタップ）であるか否かを判定する（ステップＳ１２）。教示の終了指示である場合（ステップＳ１２でＹ）、受付部３１０は、図４及び図５に示すフローを終了する。
【００７１】
教示の終了指示でない場合（ステップＳ１２でＮ）、受付部３１０は、ステップＳ１１の操作が、選択操作（例えば、画面上のタップ）であるか否かを判定する（ステップＳ２１）。
【００７２】
選択操作である場合（ステップＳ２１でＹ）、受付部３１０は、ステップＳ１１の操作が、画面上のハンド２２のモデル画像ＨＧを選択するものであるか否かを判定する（ステップＳ２２）。
【００７３】
ハンド２２のモデル画像ＨＧの選択である場合（ステップＳ２２でＹ）、表示部３２０は、画面上のハンド２２のモデル画像ＨＧを強調表示し（ステップＳ２３）、処理をステップＳ１１に戻す。強調表示は、例えばハンド２２のモデル画像ＨＧの色を他のパーツやワークＷのモデル画像の色と異ならせればよい。
【００７４】
このようにして、例えば図６（Ｂ１）、図８（Ｂ１）、図８（Ｃ１）に示すように、ロボット２のハンド２２のモデル画像ＨＧが選択され、強調表示される。なお、図６〜図８では、タップ位置、タッチ位置等を接触位置Ｐとして示している。
【００７５】
ハンド２２のモデル画像ＨＧの選択でない場合（ステップＳ２２でＮ）、受付部３１０は、ステップＳ１１の操作が、画面上のワークＷのモデル画像ＷＧを選択するものであるか否かを判定する（ステップＳ２４）。ワークＷのモデル画像ＷＧの選択でない場合（ステップＳ２４でＮ）、受付部３１０は、処理をステップＳ１１に戻す。
【００７６】
ワークＷのモデル画像ＷＧの選択である場合（ステップＳ２４でＹ）、表示部３２０は、画面上のワークＷのモデル画像ＷＧを強調表示する（ステップＳ２５）。強調表示は、例えばワークＷのモデル画像ＷＧの色を他のパーツやワークＷのモデル画像の色と異ならせればよい。
【００７７】
このようにして、例えば図６（Ｂ２）に示すように、ワークＷのモデル画像ＷＧが選択され、強調表示される。
【００７８】
それから、受付部３１０は、画面上のハンド２２のモデル画像ＨＧが選択済みであるか否かを判定する（ステップＳ２６）。ハンド２２のモデル画像ＨＧが選択済みでない場合（ステップＳ２６でＮ）、受付部３１０は、処理をステップＳ１１に戻す。
【００７９】
ハンド２２のモデル画像ＨＧが選択済みである場合（ステップＳ２６でＹ）、表示部３２０は、ハンド２２の把持動作を画面上に表示する（ステップＳ２７）。具体的には、表示部３２０は、ワークＷのモデル画像ＷＧが選択されたときのタップ位置を、ハンド２２の指によるワークＷの把持位置として、受付部３１０から取得する。また、表示部３２０は、画面上に表示されているハンド２２のモデル画像ＨＧの現在位置を取得する。また、表示部３２０は、現在位置から把持位置の近く（把持位置から所定距離離れた所定位置）まで移動し、ワークＷを把持する動作を表すハンド２２のモデル画像ＨＧを生成し、順次画面上に表示する。
【００８０】
また、教示部３３０は、ステップＳ２７で表示された動作に対応する教示情報を生成し（ステップＳ２８）、処理をステップＳ１１に戻す。具体的には、教示部３３０は、表示部３２０から、ハンド２２の指によるワークＷの把持位置から所定距離離れた所定位置を目標位置として取得し、ハンド２２を移動させる教示（目標位置を含む）を生成する。このとき、教示部３３０は、画面上の２次元の目標位置を、ロボット２における３次元の目標位置に変換して、教示に含める。また、教示部３３０は、ハンド２２を開閉させる教示（指の移動量、移動方向を含む）を生成する。このとき、教示部３３０は、ステップＳ３で認識されているワークＷの形状、位置、向き等に基づいて、指の移動量、移動方向を決定し、教示に含める。教示部３３０は、生成した教示を教示情報として記憶部３００に格納する。なお、生成する教示の内容は、上記の例に限定されない。例えば、ハンド２２を把持位置から所定距離離れた所定位置まで移動させる教示、ハンド２２を開く教示、ハンド２２を所定位置から把持位置まで移動する教示、ハンド２２を閉じる教示、などを生成してもよい。
【００８１】
このようにして、例えば図６（Ｂ１）及び図６（Ｂ２）に示すように、ハンド２２のモデル画像ＨＧとワークＷのモデル画像ＷＧを選択する操作を行うと、図６（Ｂ３）に示すように、ハンド２２を現在位置から把持位置に移動し、ワークＷを把持する動作を表したモデル画像ＨＧが順次表示される。また、表示内容に対応した教示情報が生成される。
【００８２】
一方、選択操作でない場合（ステップＳ２１でＮ）、受付部３１０は、ステップＳ１１の操作が、ドラッグ操作であるか否かを判定する（図５のステップＳ３１）。
【００８３】
ドラッグ操作である場合（ステップＳ３１でＹ）、受付部３１０は、ステップＳ１１のドラッグ操作の始点が、画面上のハンド２２のモデル画像ＨＧ上にあるか否かを判定する（ステップＳ３２）。
【００８４】
ドラッグ操作の始点がハンド２２のモデル画像ＨＧ上にある場合（ステップＳ３２でＹ）、受付部３１０は、ステップＳ１１のドラッグ操作の終点が、画面上のワークＷのモデル画像ＷＧ上にあるか否かを判定する（ステップＳ３３）。
【００８５】
ドラッグ操作の終点がワークＷのモデル画像ＷＧ上にある場合（ステップＳ３３でＹ）、表示部３２０は、ハンド２２の把持動作を画面上に表示する（ステップＳ３４）。具体的には、表示部３２０は、ドラッグ操作されたときの終点位置を、ハンド２２の指によるワークＷの把持位置として、受付部３１０から取得する。また、表示部３２０は、画面上に表示されているハンド２２のモデル画像ＨＧの現在位置を取得する。また、表示部３２０は、現在位置から把持位置の近く（把持位置から所定距離離れた所定位置）まで移動し、ワークＷを把持する動作を表すハンド２２のモデル画像ＨＧを生成し、順次画面上に表示する。なお、表示部３２０は、ドラッグ操作の始点位置のモデル画像ＨＧと終点位置のモデル画像ＷＧとを強調表示するようにしてもよい。
【００８６】
また、教示部３３０は、ステップＳ３４で表示された動作に対応する教示情報を生成し（ステップＳ３５）、処理をステップＳ１１（図４）に戻す。具体的には、教示部３３０は、表示部３２０から、ハンド２２の指によるワークＷの把持位置から所定距離離れた所定位置を目標位置として取得し、ハンド２２を移動させる教示（目標位置を含む）を生成する。このとき、教示部３３０は、画面上の２次元の目標位置を、ロボット２における３次元の目標位置に変換し、教示に含める。また、教示部３３０は、ハンド２２を開閉させる教示（指の移動量、移動方向を含む）を生成する。このとき、教示部３３０は、ステップＳ３で認識されているワークＷの形状、位置、向き等に基づいて、指の移動量、移動方向を決定し、教示に含める。教示部３３０は、生成した教示を教示情報として記憶部３００に格納する。なお、生成する教示の内容は、上記の例に限定されない。例えば、ハンド２２を把持位置から所定距離離れた所定位置まで移動させる指示、ハンドを開く指示、ハンドを所定位置から把持位置まで移動する指示、ハンドを閉じる指示、などを生成してもよい。
【００８７】
このようにして、例えば図７（Ｂ１）に示すように、ハンド２２のモデル画像ＨＧをワークＷのモデル画像ＷＧまでドラッグする操作を行うと、図７（Ｂ２）に示すように、ハンド２２を現在位置から把持位置に移動し、ワークＷを把持する動作を表したモデル画像ＨＧが順次表示される。また、表示内容に対応した教示情報が生成される。
【００８８】
一方、ドラッグ操作の終点がワークＷのモデル画像ＷＧ上にない場合（ステップＳ３３でＮ）、表示部３２０は、ハンド２２の移動動作を画面上に表示する（ステップＳ３６）。具体的には、表示部３２０は、ドラッグ操作されたときの終点位置を、ハンド２２の移動の目標位置として、受付部３１０から取得する。また、表示部３２０は、画面上に表示されているハンド２２のモデル画像ＨＧの現在位置を取得する。また、表示部３２０は、現在位置から目標位置まで移動する動作を表すハンド２２のモデル画像ＨＧを生成し、順次画面上に表示する。なお、表示部３２０は、ドラッグ操作の始点位置のモデル画像ＨＧを強調表示するようにしてもよい。
【００８９】
また、教示部３３０は、ステップＳ３６で表示された動作に対応する教示情報を生成し（ステップＳ３７）、処理をステップＳ１１（図４）に戻す。具体的には、教示部３３０は、表示部３２０から、ハンド２２のモデル画像ＨＧの移動の目標位置を取得し、ハンド２２を移動させる教示（目標位置を含む）を生成する。このとき、教示部３３０は、画面上の２次元の目標位置を、ロボット２における３次元の目標位置に変換し、教示に含める。教示部３３０は、生成した教示を教示情報として記憶部３００に格納する。
【００９０】
このようにして、例えば図７（Ｃ１）に示すように、ハンド２２のモデル画像ＨＧをワークＷのモデル画像ＷＧ以外の領域までドラッグする操作を行うと、図７（Ｃ２）に示すように、ハンド２２を現在位置から目標位置に移動する動作を表したモデル画像ＨＧが順次表示される。また、表示内容に対応した教示情報が生成される。
【００９１】
一方、ドラッグ操作の始点がハンド２２のモデル画像ＨＧ上にない場合（ステップＳ３２でＮ）、受付部３１０は、ドラッグ操作の始点が、ワークＷのモデル画像ＷＧ以外の領域（その他領域）上にあるか否かを判定する（ステップＳ３８）。ドラッグ操作の始点がその他領域上にない場合（ステップＳ３８でＮ）、受付部３１０は、処理をステップＳ１１（図４）に戻す。
【００９２】
ドラッグ操作の始点がその他領域上にある場合（ステップＳ３８でＹ）、表示部３２０は、視点変更を行い（ステップＳ３９）、処理をステップＳ１１（図４）に戻す。具体的には、表示部３２０は、ドラッグ操作されたときの始点位置及び終点位置を、受付部３１０から取得する。また、表示部３２０は、始点位置から終点位置までの方向と距離を求める。また、表示部３２０は、予め定められた、ドラッグ操作の方向及び距離と、ユーザーの視点の位置及び向きの変化方向及び変化量とを対応付けたテーブルあるいは数式に基づいて、ユーザーの視点の位置及び向きを変更する。また、表示部３２０は、現在のロボット２及びワークＷの３次元モデル画像を、変更後のユーザーの視点の位置及び向きから、所定の視野角で見たときの３次元モデル画像を生成する。そして、表示部３２０は、生成したロボット２及びワークＷの３次元モデル画像を、２次元モデル画像に変換し、操作端末４に表示する。
【００９３】
このようにして、例えば図７（Ｄ１）に示すように、ハンド２２のモデル画像ＨＧやワークＷのモデル画像ＷＧ以外の領域でドラッグ操作を行うと、図７（Ｄ２）に示すように、視点が変更されて、モデル画像ＨＧ及びモデル画像ＷＧが表示される。
【００９４】
一方、ドラッグ操作でない場合（ステップＳ３１でＮ）、受付部３１０は、ステップＳ１１の操作が、回転操作であるか否かを判定する（ステップＳ４１）。
【００９５】
回転操作である場合（ステップＳ４１でＹ）、受付部３１０は、画面上のハンド２２のモデル画像ＨＧが選択済みであるか否かを判定する（ステップＳ４２）。ハンド２２のモデル画像ＨＧが選択済みでない場合（ステップＳ４２でＮ）、受付部３１０は、処理をステップＳ１１（図４）に戻す。
【００９６】
ハンド２２のモデル画像ＨＧが選択済みである場合（ステップＳ４２でＹ）、表示部３２０は、ハンド２２の回転動作を画面上に表示する（ステップＳ４３）。具体的には、表示部３２０は、回転操作されたときの回転方向及び回転量を、受付部３１０から取得する。また、表示部３２０は、予め定められた、回転操作の回転方向及び回転量と、ハンド２２に最も近い所定のジョイントの回転方向及び回転量とを対応付けたテーブルあるいは数式に基づいて、当該ジョイントの回転方向及び回転量を決定する。また、表示部３２０は、決定した回転方向及び回転量に基づいてハンド２２を回転させる動作を表すハンド２２のモデル画像ＨＧを生成し、順次画面上に表示する。
【００９７】
また、教示部３３０は、ステップＳ４３で表示された動作に対応する教示情報を生成し（ステップＳ４４）、処理をステップＳ１１（図４）に戻す。具体的には、教示部３３０は、表示部３２０から、所定のジョイントの回転方向及び回転量を取得し、ハンド２２を回転させる教示（ジョイントの回転量及び回転方向を含む）を生成する。このとき、教示部３３０は、画面上のジョイントの回転量及び回転方向を、ロボット２におけるジョイントの回転量及び回転方向に変換し、教示に含める。教示部３３０は、生成した教示を教示情報として記憶部３００に格納する。
【００９８】
このようにして、例えば図８（Ｂ２）に示すように、ハンド２２を回転させる操作を行うと、図８（Ｂ３）に示すように、ハンド２２を回転させる動作を表したモデル画像ＨＧが順次表示される。また、表示内容に対応した教示情報が生成される。
【００９９】
一方、回転操作でない場合（ステップＳ４１でＮ）、受付部３１０は、ステップＳ１１の操作が、ピンチイン操作又はピンチアウト操作であるか否かを判定する（ステップＳ５１）。ピンチイン操作又はピンチアウト操作でない場合（ステップＳ５１でＮ）、受付部３１０は、処理をステップＳ１１（図４）に戻す。
【０１００】
ピンチイン操作又はピンチアウト操作である場合（ステップＳ５１でＹ）、受付部３１０は、画面上のハンド２２のモデル画像ＨＧが選択済みであるか否かを判定する（ステップＳ５２）。ハンド２２のモデル画像ＨＧが選択済みでない場合（ステップＳ５２でＮ）、受付部３１０は、処理をステップＳ１１（図４）に戻す。
【０１０１】
ハンド２２のモデル画像ＨＧが選択済みである場合（ステップＳ５２でＹ）、表示部３２０は、ハンド２２を閉じる又は開く動作を画面上に表示する（ステップＳ５３）。具体的には、表示部３２０は、ピンチイン操作又はピンチアウト操作がされたときのピンチインの移動量又はピンチアウトの移動量を、受付部３１０から取得する。また、表示部３２０は、予め定められた、ピンチインの移動量又はピンチアウトの移動量と、ハンド２２の指を閉じる移動量又は指を開く移動量とを対応付けたテーブルあるいは数式に基づいて、指の移動方向（閉じる又は開く）及び移動量を決定する。また、表示部３２０は、決定した移動方向及び移動量に基づいてハンド２２を閉じる又は開く動作を表すハンド２２のモデル画像ＨＧ画像を生成し、順次画面上に表示する。
【０１０２】
また、教示部３３０は、ステップＳ５３で表示された動作に対応する教示情報を生成し（ステップＳ５４）、処理をステップＳ１１（図４）に戻す。具体的には、教示部３３０は、表示部３２０から、指の移動方向及び移動量を取得し、ハンド２２の指を移動させる教示（移動方向及び移動量を含む）を生成する。このとき、教示部３３０は、画面上の指の移動方向及び移動量を、ロボット２における指の移動方向及び移動量に変換し、教示に含める。教示部３３０は、生成した教示を教示情報として記憶部３００に格納する。
【０１０３】
このようにして、例えば図８（Ｃ２）に示すように、ハンド２２のピンチアウト操作を行うと、図８（Ｃ３）に示すように、ハンド２２の指を開く動作を表したモデル画像ＨＧが順次表示される。また、表示内容に対応した教示情報が生成される。
【０１０４】
なお、図４及び図５のフローチャートが終了した場合（ステップＳ１２でＹ）、制御部３５０は、記憶部３００に格納されている教示情報に基づいて、ロボット２を動作させる制御命令を生成し、ロボット２に出力する。もちろん、制御部３５０は、受付部３１０を介してユーザーから指示を受け付けた場合に、制御命令を生成し、ロボット２に出力するようにしてもよい。
【０１０５】
以上、本発明の一実施形態について説明した。本実施形態によれば、タッチスクリーン等の入力手段を介して、より容易にロボットの多種多様な動作の教示を行うことができる。
【０１０６】
例えば、本実施形態では、画像の様々な操作に応じた動作を表すロボットの画像が表示されるとともに、この動作に対応する教示が行われるため、より容易にロボットの多種多様な動作の教示を行うことができる。また、例えば、本実施形態では、画像が表示される画面上でタッチ操作等により操作を行えるため、より直感的にロボットの動作を教示することができる。
【０１０７】
また、例えば、本実施形態では、把持動作を教示する際に、ロボットの詳細な動作を入力しなくても、ドラッグ等の移動操作で、より容易にロボットの把持動作を教示することができる。また、例えば、本実施形態では、把持動作を教示する際に、ロボットの詳細な動作を入力しなくても、タップ操作等の選択操作で、より容易にロボットの把持動作を教示することができる。
【０１０８】
また、例えば、本実施形態では、把持動作を教示する際に、対象物の画像上の接触位置を把持位置とするため、ドラッグ等の移動操作やタップ操作等の選択操作を行いつつ、把持位置を容易に教示することができる。また、例えば、本実施形態では、撮像画像に基づいて対象物の画像を生成するため、実際の対象物に対する動作を簡単に教示できる。
【０１０９】
もちろん、上記の本発明の実施形態は、本発明の要旨と範囲を例示することを意図し、限定するものではない。例えば、上記の実施形態に以下のような変形を加えてもよい。
【０１１０】
例えば、上記の実施形態では、ハンド２２の動作を教示できるようにしているが、アーム部材２１ｂの動作を教示できてもよい。また、例えば、胴部２０の動作、頭部２５の動作、撮像装置２６の動作等を教示できるようにしてもよい。また、ハンド２２以外のエンドエフェクターについても同様に適用できる。
【０１１１】
また、例えば、上記の実施形態では、ユーザーの操作を受け付ける前に、撮像画像からのワークＷの認識とモデル画像ＷＧの表示を行っているが（図４のステップＳ３、Ｓ４）、この処理は、ユーザーの操作により任意のタイミングで実行されるようにしてもよい。具体的には、受付部３１０が画像取得指示（例えば、画面上の「画像取得」ボタンのタップ）を受け付けた場合に、ステップＳ３及びステップＳ４と同様の処理が行われるようにすればよい。このようにすれば、例えば作業領域にワークＷを追加したり、作業領域からワークＷを排除したり、ワークＷ姿勢を変更したりといった作業内容の変更に柔軟に対応できる。
【０１１２】
また、例えば、受付部３１０がカメラ画像を表示する指示（例えば、画面上の「カメラ画像」ボタンのタップ）を受け付けた場合に、表示部３２０は、画像取得部３４０により現在の撮像画像を取得し、当該取得した撮像画像を画面上に表示するようにしてもよい。このようにすれば、ユーザーは、作業領域の状況等を確認することができる。
【０１１３】
また、例えば、教示情報の生成（図４のステップＳ２８、図５のステップＳ３５、Ｓ３７、Ｓ４４、Ｓ５４等）が開始される前に、表示部３２０は、教示情報の生成を行うか否かを確認するメッセージ等を画面上に表示してもよい。この場合、受付部３１０が教示情報の生成を行う指示を受け付けた場合に、教示部３３０は、教示情報の生成を行う。なお、受付部３１０が教示情報の生成を行わない指示を受け付けた場合には、受付部３１０は、最後に行われたロボット２の動作に関するユーザーの操作をキャンセルし、表示部３２０は、モデル画像を当該操作が行われる前の状態に戻して、画面上に表示すればよい。
【０１１４】
また、例えば、上記の実施形態では、入力手段として操作端末４のタッチスクリーンを用いる場合を中心に説明したが、操作端末４に接続されるマウス等の各種ポインティングデバイスを入力手段として用いてもよい。この場合、受付部３１０は、画面上の接触位置Ｐの替わりに、ポインティングデバイスにより操作される画面上のポインター等の指示画像が示す指示位置を受け付ける。なお、入力手段として、ロボット制御装置３の入力装置９５を用い、表示手段として、ロボット制御装置３の表示装置９６を用いるようにしてもよい。
【０１１５】
以上、本発明について実施形態を用いて説明したが、本発明の技術的範囲は上記実施形態に記載の範囲には限定されない。上記実施形態に多様な変更または改良を加えることが可能であることが当業者には明らかである。また、そのような変更または改良を加えた形態も本発明の技術的範囲に含まれ得ることが、特許請求の範囲の記載から明らかである。本発明の提供の態様にも、様々な態様が取り得る。本発明は、例えば、ロボット制御装置の機能が含まれるロボットとして提供してもよい。また、例えば、ロボット制御装置の教示に関する機能を、教示装置に含め、教示装置と、ロボット制御装置と、ロボットとを別個に有するロボットシステムとして提供してもよい。また、例えば、教示装置と、ロボット制御装置の機能が含まれるロボットとを含むロボットシステムとして提供してもよい。また、本発明は、ロボット制御方法、プログラム、当該プログラムを記憶した記憶媒体などとしても提供することもできる。
【符号の説明】
【０１１６】
１：ロボットシステム、２：ロボット、３：ロボット制御装置、４：操作端末、２０：胴部、２１：アーム、２１ａ：ジョイント、２１ｂ：アーム部材、２１ｃ：力覚センサー、２２：ハンド、２４：脚部、２５：頭部、２６：撮像装置、９０：コンピューター、９１：演算装置、９２：主記憶装置、９３：補助記憶装置、９４：通信Ｉ／Ｆ、９５：入力装置、９６：表示装置、９７：読み書き装置、２００：動作制御部、３００：記憶部、３１０：受付部、３２０：表示部、３３０：教示部、３４０：画像取得部、３５０：制御部、ＨＧ：ハンドのモデル画像、Ｐ：接触位置、ＲＧ：ロボットのモデル画像、Ｔ：作業台、Ｗ：ワーク、ＷＧ：ワークのモデル画像
【図１】
2018144228.tif 000003
【図２】
2018144228.tif 000004
【図３】
2018144228.tif 000005
【図４】
2018144228.tif 000006
【図５】
2018144228.tif 000007
【図６】
2018144228.tif 000008
【図７】
2018144228.tif 000009
【図８】
2018144228.tif 000010