(57)【特許請求の範囲】
【請求項１】
ワークの位置及び姿勢を目標位置及び姿勢と一致させる動作を行う把持部を備えたロボットの教示装置であって、
前記把持部の所定部位の位置及び姿勢を設定するための画面を表示する表示部と、
前記画面を操作する操作部と、
前記所定部位の位置及び姿勢を演算する演算部と、
前記把持部によって把持された前記ワークの位置及び姿勢と前記所定部位の位置及び姿勢との相対的な位置及び姿勢であるオフセットを示す情報を記憶する記憶部と、
を含み、
前記画面は、
前記ロボットを動作させ、撮像装置の撮像範囲内に前記ワークを移動させるための第１画面と、
前記目標位置及び姿勢に、前記ワークの位置及び姿勢を一致させるための第２画面と、
を含み、
前記演算部は、
前記第１画面を介して前記操作部により受け付けられた操作に基づいて、前記所定部位が撮像位置及び姿勢にあるとき、前記撮像装置が第１ワークを撮像した第１撮像画像を用いて前記オフセットを算出し、
前記第２画面を介して前記操作部により受け付けられた操作に基づいて、前記第１ワークの位置及び姿勢と前記目標位置及び姿勢を一致させる前記所定部位の第１の位置及び姿勢を取得し、
前記第１の位置及び姿勢に基づいて基準オフセットを演算して前記記憶部に前記基準オフセットを示す情報を記憶させ、
前記所定部位が前記撮像位置及び姿勢にあるとき、前記撮像装置が第２ワークを撮像した第２撮像画像と前記オフセットと前記基準オフセットとに基づいて算出オフセットを算出し、
前記算出オフセットに基づいて、前記第２ワークの位置及び姿勢と前記目標位置及び姿勢が一致した場合における前記所定部位の第２の位置及び姿勢を演算する、
教示装置。
【請求項２】
請求項１に記載の教示装置であって、
前記第１画面と前記第２画面のうちいずれか一方又は両方は、前記撮像装置により撮像された撮像画像が表示される領域を有する、
教示装置。
【請求項３】
請求項１又は２に記載の教示装置であって、
前記第１画面と前記第２画面のうちいずれか一方又は両方は、作業手順が表示される領域を有する、
教示装置。
【請求項４】
ワークの位置及び姿勢を目標位置及び姿勢と一致させる動作を行う把持部を備えたロボットと、
前記ロボットの教示装置と、
を含み、
前記教示装置は、
前記把持部の所定部位の位置及び姿勢を設定するための画面を表示する表示部と、
前記画面を操作する操作部と、
前記所定部位の位置及び姿勢を演算する演算部と、
前記把持部によって把持された前記ワークの位置及び姿勢と前記所定部位の位置及び姿勢との相対的な位置及び姿勢であるオフセットを示す情報を記憶する記憶部と、
を含み、
前記画面は、
前記ロボットを動作させ、撮像装置の撮像範囲内に前記ワークを移動させるための第１画面と、
前記目標位置及び姿勢に、前記ワークの位置及び姿勢を一致させるための第２画面と、
を含み、
前記演算部は、
前記第１画面を介して前記操作部により受け付けられた操作に基づいて、前記所定部位が撮像位置及び姿勢にあるとき、前記撮像装置が第１ワークを撮像した第１撮像画像を用いて前記オフセットを算出し、
前記第２画面を介して前記操作部により受け付けられた操作に基づいて、前記第１ワークの位置及び姿勢と前記目標位置及び姿勢を一致させる前記所定部位の第１の位置及び姿勢を取得し、
前記第１の位置及び姿勢に基づいて基準オフセットを演算して前記記憶部に前記基準オフセットを示す情報を記憶させ、
前記所定部位が前記撮像位置及び姿勢にあるとき、前記撮像装置が第２ワークを撮像した第２撮像画像と前記オフセットと前記基準オフセットとに基づいて算出オフセットを算出し、
前記算出オフセットに基づいて、前記第２ワークの位置及び姿勢と前記目標位置及び姿勢が一致した場合における前記所定部位の第２の位置及び姿勢を演算する、
ロボットシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、教示装置、及びロボットシステムに関する。
【背景技術】
【０００２】
従来から、ロボットにより把持された作業対象を所定の位置及び姿勢に整列させるロボットシステムが研究・開発されている。
【０００３】
これに関連し、被把持部材の外観に拠らずに、被把持部材を損なうことなく確実に把持することができる適切な把持力で被把持部材を把持することができるロボットの制御方法が知られている（特許文献１参照）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１３−１３２７２６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
このような従来の方法では、前述の作業対象を所定の位置及び姿勢に正しく整列させるために、当該所定の位置及び姿勢をロボットに正確に教示する必要がある。また、その他の方法においても、作業対象の所定の位置及び姿勢をロボットに正確に教示することは重要である。しかし、従来の方法では、当該所定の位置及び姿勢を正確に教示することは困難であった。
【０００６】
そこで本発明は、上記従来技術の問題に鑑みてなされたものであり、簡易に高精度の教示を行うことができる教示装置、及びロボットシステムを提供する。
【課題を解決するための手段】
【０００７】
本発明の一態様は、ワークを所定の位置及び姿勢に移動させるロボットの教示装置であって、前記所定の位置及び姿勢を設定するための画面を表示する表示部と、前記画面を操作する操作部と、前記所定の位置及び姿勢を演算する演算部と、を含み、前記画面は、前記ロボットを動作させ、撮像装置の撮像範囲内に前記ワークを移動させるための第１画面と、目標位置及び姿勢に、前記ワークを移動させるための第２画面と、を含み、前記演算部は、前記撮像装置が前記ワークを撮像した撮像画像と前記目標位置及び姿勢とを用いて、前記所定の位置及び姿勢を演算する、教示装置である。
この構成により、教示装置は、ロボットを動作させ、撮像装置の撮像範囲内にワークを移動させるための第１画面と、目標位置及び姿勢に、ワークを移動させるための第２画面と、が操作部により操作されることにより、撮像装置がワークを撮像した撮像画像と目標位置及び姿勢とを用いて、所定の位置及び姿勢を演算する。これにより、教示装置は、簡易に高精度の教示を行うことができる。
【０００８】
また、本発明の他の態様は、教示装置において、前記第１画面と前記第２画面のうちいずれか一方又は両方は、前記撮像装置により撮像された撮像画像が表示される領域を有する、構成が用いられてもよい。
この構成により、教示装置は、第１画面と第２画面のうちいずれか一方又は両方に、撮像装置により撮像された撮像画像を表示する。これにより、教示装置は、ユーザーに撮像画像を確認しながらロボットをジョグ操作によって移動させる環境を提供することができる。
【０００９】
また、本発明の他の態様は、教示装置において、前記第１画面と前記第２画面のうちいずれか一方又は両方は、作業手順が表示される領域を有する、構成が用いられてもよい。
この構成により、教示装置は、第１画面と第２画面のうちいずれか一方又は両方に、作業手順を表示する。これにより、教示装置は、ユーザーのマニュアルを読む手間を抑制させることで、ユーザーに効率的な作業を行わせることができる。
【００１０】
また、本発明の他の態様は、教示装置において、前記演算部は、前記第１画面を介して前記操作部により受け付けられた操作に基づいて前記撮像画像を用いて前記目標位置及び姿勢と前記所定の位置及び姿勢との間の相対的な位置及び姿勢を算出し、前記第２画面を介して前記操作部により受け付けられた操作に基づいて前記目標位置及び姿勢を取得し、算出された前記相対的な位置及び姿勢と、取得された前記目標位置及び姿勢とを用いて前記所定の位置及び姿勢を演算する、構成が用いられてもよい。
この構成により、教示装置は、第１画面を介して操作部により受け付けられた操作に基づいて撮像画像を用いて目標位置及び姿勢と所定の位置及び姿勢との間の相対的な位置及び姿勢を算出し、第２画面を介して操作部により受け付けられた操作に基づいて目標位置及び姿勢を取得し、算出された相対的な位置及び姿勢と、取得された目標位置及び姿勢とを用いて所定の位置及び姿勢を演算する。これにより、教示装置は、作業毎に目標位置及び姿勢と所定の位置及び姿勢との間の相対的な位置及び姿勢を算出することで、精度の高い作業を実現することができる。
【００１１】
また、本発明の他の態様は、ワークを所定の位置及び姿勢に移動させるロボットと、前記ロボットに前記所定の位置及び姿勢を教示する教示装置と、を含み、前記教示装置は、前記所定の位置及び姿勢を設定するための画面を表示する表示部と、前記画面を操作する操作部と、前記所定の位置及び姿勢を演算する演算部と、を含み、前記画面は、前記ロボットを動作させ、撮像装置の撮像範囲内に前記ワークを移動させるための第１画面と、目標位置及び姿勢に、前記ワークを移動させるための第２画面と、を含み、前記演算部は、前記撮像装置が前記ワークを撮像した撮像画像と前記目標位置及び姿勢とを用いて、前記所定の位置及び姿勢を演算する、ロボットシステムである。
この構成により、ロボットシステムは、ロボットを動作させ、撮像装置の撮像範囲内にワークを移動させるための第１画面と、目標位置及び姿勢に、ワークを移動させるための第２画面と、が操作部により操作されることにより、撮像装置がワークを撮像した撮像画像と目標位置及び姿勢とを用いて、所定の位置及び姿勢を演算する。これにより、ロボットシステムは、簡易に高精度の教示を行うことができる。
また、本発明の他の態様は、ワークの位置及び姿勢を目標位置及び姿勢と一致させる動作を行う把持部を備えたロボットの教示装置であって、前記把持部の所定部位の位置及び姿勢を設定するための画面を表示する表示部と、前記画面を操作する操作部と、前記所定部位の位置及び姿勢を演算する演算部と、前記把持部によって把持された前記ワークの位置及び姿勢と前記所定部位の位置及び姿勢との相対的な位置及び姿勢であるオフセットを示す情報を記憶する記憶部と、を含み、前記画面は、前記ロボットを動作させ、撮像装置の撮像範囲内に前記ワークを移動させるための第１画面と、前記目標位置及び姿勢に、前記ワークの位置及び姿勢を一致させるための第２画面と、を含み、前記演算部は、前記第１画面を介して前記操作部により受け付けられた操作に基づいて、前記所定部位が撮像位置及び姿勢にあるとき、前記撮像装置が第１ワークを撮像した第１撮像画像を用いて前記オフセットを算出し、前記第２画面を介して前記操作部により受け付けられた操作に基づいて、前記第１ワークの位置及び姿勢と前記目標位置及び姿勢を一致させる前記所定部位の第１の位置及び姿勢を取得し、前記第１の位置及び姿勢に基づいて基準オフセットを演算して前記記憶部に前記基準オフセットを示す情報を記憶させ、前記所定部位が前記撮像位置及び姿勢にあるとき、前記撮像装置が第２ワークを撮像した第２撮像画像と前記オフセットと前記基準オフセットとに基づいて算出オフセットを算出し、前記算出オフセットに基づいて、前記第２ワークの位置及び姿勢と前記目標位置及び姿勢が一致した場合における前記所定部位の第２の位置及び姿勢を演算する、教示装置である。
また、本発明の他の態様は、ワークの位置及び姿勢を目標位置及び姿勢と一致させる動作を行う把持部を備えたロボットと、前記ロボットの教示装置と、を含み、前記教示装置は、前記把持部の所定部位の位置及び姿勢を設定するための画面を表示する表示部と、前記画面を操作する操作部と、前記所定部位の位置及び姿勢を演算する演算部と、前記把持部によって把持された前記ワークの位置及び姿勢と前記所定部位の位置及び姿勢との相対的な位置及び姿勢であるオフセットを示す情報を記憶する記憶部と、を含み、前記画面は、前記ロボットを動作させ、撮像装置の撮像範囲内に前記ワークを移動させるための第１画面と、前記目標位置及び姿勢に、前記ワークの位置及び姿勢を一致させるための第２画面と、を含み、前記演算部は、前記第１画面を介して前記操作部により受け付けられた操作に基づいて、前記所定部位が撮像位置及び姿勢にあるとき、前記撮像装置が第１ワークを撮像した第１撮像画像を用いて前記オフセットを算出し、前記第２画面を介して前記操作部により受け付けられた操作に基づいて、前記第１ワークの位置及び姿勢と前記目標位置及び姿勢を一致させる前記所定部位の第１の位置及び姿勢を取得し、前記第１の位置及び姿勢に基づいて基準オフセットを演算して前記記憶部に前記基準オフセットを示す情報を記憶させ、前記所定部位が前記撮像位置及び姿勢にあるとき、前記撮像装置が第２ワークを撮像した第２撮像画像と前記オフセットと前記基準オフセットとに基づいて算出オフセットを算出し、前記算出オフセットに基づいて、前記第２ワークの位置及び姿勢と前記目標位置及び姿勢が一致した場合における前記所定部位の第２の位置及び姿勢を演算する、ロボットシステムである。
【００１２】
以上により、教示装置、及びロボットシステムは、ロボットを動作させ、撮像装置の撮像範囲内にワークを移動させるための第１画面と、目標位置及び姿勢に、ワークを移動させるための第２画面と、が操作部により操作されることにより、撮像装置がワークを撮像した撮像画像と目標位置及び姿勢とを用いて、所定の位置及び姿勢を演算する。これにより、教示装置、及びロボットシステムは、簡易に高精度の教示を行うことができる。
【図面の簡単な説明】
【００１３】
【図１】本実施形態に係るロボットシステム１においてロボット２０が所定の作業を行う様子の一例と、ロボットシステム１の構成の一例とを示す図である。
【図２】ロボットシステム１が備える各装置による所定の作業に係る処理の流れの一例を示すフローチャートである。
【図３】教示装置５のハードウェア構成の一例を示す図である。
【図４】教示装置５の機能構成の一例を示す図である。
【図５】教示装置５が基準オフセットと目標点位置姿勢とを制御装置３０に教示する処理の流れの一例を示すフローチャートである。
【図６】設定画面の一例を示す図である。
【図７】第１教示画面の一例を示す図である。
【図８】第１教示画面ＵＩ１及びジョグ画面ＵＩ１−１の一例を示す図である。
【図９】所定の撮像位置における作業対象Ｏと撮像部１０の位置関係の一例を示す図である。
【図１０】第２教示画面の一例を示す図である。
【図１１】第２教示画面ＵＩ２及びジョグ画面ＵＩ２−１の一例を示す図である。
【図１２】設定完了画面の一例を示す図である。
【発明を実施するための形態】
【００１４】
＜概要＞
まず、以下に示す実施形態に係るロボットシステム１の概要を説明し、その後により詳細な実施形態を説明する。図１は、本実施形態に係るロボットシステム１においてロボットシステム１の構成の一例を示すとともに、ロボット２０が所定の作業を行う様子の一例を示す図である。ロボットシステム１は、教示装置５と、撮像部１０と、把持部ＨＮＤ（エンドエフェクター）及びマニピュレーターＭＮＰを備える単腕のロボット２０と、制御装置３０を具備する。本実施形態で、単腕のロボットとは、把持部ＨＮＤとマニピュレーターＭＮＰにより構成される１本の腕を有するロボットを示す。
【００１５】
ロボットシステム１は、教示装置５に表示されたＧＵＩ（Graphical  User  Interface）をユーザーが操作することにより、ロボット２０に所定の作業を行わせるために必要なパラメーター情報を、ロボット２０に所定の作業を行わせる前にロボット２０を制御する制御装置３０に対して教示する。本実施形態で、所定の作業とは、ロボット２０が把持部ＨＮＤにより作業対象Ｏを把持し、把持された作業対象Ｏを目標領域ＴＡに配置することである。
【００１６】
図１に示したロボットシステム１は、この所定の作業において把持された作業対象Ｏを目標領域ＴＡに配置する際、ロボット２０に作業対象Ｏを所定の撮影位置まで移動させ、移動させた作業対象Ｏを撮像部１０により撮像させる。そして、ロボットシステム１は、撮像部１０により撮像された撮像画像に基づいて、把持部ＨＮＤにより把持された作業対象Ｏを目標領域ＴＡに配置するようにロボット２０を制御する。
【００１７】
この撮像画像に基づいて把持部ＨＮＤにより把持された作業対象Ｏを目標領域ＴＡに配置するようにロボット２０を制御する時、ロボットシステム１は、所定の作業を行う前に教示装置５により教示されたパラメーター情報を用いる。より具体的には、作業対象Ｏを目標領域ＴＡに配置するとは、作業対象Ｏに予め設定された代表点ＯＰの位置及び姿勢（以下、作業対象位置姿勢と称する）が目標領域ＴＡの目標点ＴＰの位置姿勢（以下、目標点位置姿勢と称する）に一致するように把持部ＨＮＤを移動させることである。目標点位置姿勢は、目標位置及び姿勢の一例である。
【００１８】
ここで、作業対象Ｏとは、ロボット２０により把持可能な物体であり、例えば、ネジやボルト、歯車、治具等の工業用の部品等であるが、これらに限られず、ロボット２０により把持可能であれば他の物体であってもよい。作業対象Ｏの代表点ＯＰとは、制御装置３０に予め設定された点であって作業対象Ｏの特徴的な点であり、この一例において、図１に示した作業対象Ｏの角の１つである。なお、この角は、ロボットシステム１が行う計算が容易になるため、目標領域ＴＡに配置する時に底面となる面における角であることが好ましい。作業対象Ｏは、ワークの一例である。
【００１９】
目標領域ＴＡとは、ロボット２０により作業対象Ｏを配置させる領域であり、図１においては、テーブルＴＢ上に設けられている。テーブルＴＢとは、例えば、ロボット２０が作業対象Ｏを配置する台等である。目標点ＴＰとは、ロボット２０により作業対象Ｏが配置される目標領域ＴＡにおける点であって作業対象Ｏが正しい位置姿勢で目標領域ＴＡに配置された時に代表点ＯＰが一致する点である。
【００２０】
ここで、図１に示したロボットシステム１は、ロボット２０に把持部ＨＮＤを移動させる際、把持部ＨＮＤの制御点ＴＣＰの位置及び姿勢（以下、制御点位置姿勢と称する）を把持部ＨＮＤの位置及び姿勢として移動させる。把持部ＨＮＤの制御点ＴＣＰとは、制御装置３０がロボット２０の把持部ＨＮＤ及びマニピュレーターＭＮＰを動かす時の把持部ＨＮＤの位置姿勢を表す点であり、この一例において、把持部ＨＮＤが設けられるマニピュレーターＭＮＰの端部に備えられたフランジの中心点（ツール・センター・ポイント）を示す。
【００２１】
この制御点位置姿勢は、一般的に（特殊な場合を除いて）作業対象位置姿勢とは一致しない。そのため、図１に示したロボットシステム１は、把持部ＨＮＤの制御点位置姿勢と作業対象位置姿勢との間の相対位置及び相対姿勢（以下、オフセットと称する）と、目標点位置姿勢とに基づいて、作業対象位置姿勢と目標点位置姿勢とが一致した時の制御点位置姿勢（以下、制御点目標位置姿勢と称する）を算出することで、作業対象Ｏを目標領域ＴＡに所望の状態（すなわち、作業対象位置姿勢と目標点位置姿勢とが一致する状態）で配置することができる。ロボットシステム１は、算出された制御点目標位置姿勢に制御点位置姿勢が一致するように把持部ＨＮＤ（すなわち、制御点ＴＣＰ）を移動させることで、作業対象Ｏを目標領域ＴＡに所望の状態で配置することができる。制御点目標位置姿勢は、所定の位置及び姿勢の一例である。
【００２２】
教示装置５は、この制御点目標位置姿勢を算出するために必要なオフセットと、目標点位置姿勢とを制御装置３０に教示する。また、教示装置５は、専用のアプリケーションによって実現されるＧＵＩによって、オフセットと目標点位置姿勢をユーザーが簡易に制御装置３０に教示することができるインターフェースを、ユーザーに提供する。これにより、ロボットシステム１は、教示装置５により、簡易に高精度の教示を行うことができる。以下では、教示装置５により制御装置３０に教示されたオフセットを、基準オフセットと称して説明する。
【００２３】
以下では、教示装置５によるこの教示について詳しく説明する。なお、ロボットシステム１は、教示装置５により制御装置３０にオフセットと目標点位置姿勢の教示が行われた後、複数の作業対象Ｏに対して所定の作業を繰り返し行う。この繰り返し所定の作業を行う時、ロボットシステム１は、所定の作業を１回行う毎（すなわち、新しい作業対象Ｏを把持部ＨＮＤにより把持する毎）に、撮像部１０により作業対象Ｏを撮像し、撮像された撮像画像に基づいてオフセットを算出する。以下では、この所定の作業を行っている最中に算出されるオフセットを、算出オフセットと称して説明する。
【００２４】
算出オフセットは、新しい作業対象Ｏを把持する際に生じる誤差の影響のため、一般的に基準オフセットとは一致しない。ロボットシステム１は、基準オフセットと、目標点位置姿勢と、算出オフセットとに基づいて、この算出オフセットが実現している状態での制御点目標位置姿勢を算出する。これにより、ロボットシステム１は、ロボット２０に高い精度で所定の作業を行わせることができる。これは、ロボットシステム１において、教示装置５が制御装置３０に基準オフセットと目標点位置姿勢を教示することができた結果として得られる効果である。なお、所定の作業は、ロボット２０が把持している作業対象Ｏを目標領域ＴＡに配置することに代えて、作業対象Ｏの移動に係る他の作業であってもよい。
【００２５】
ここで、図２を参照して、ロボットシステム１が備える各装置による所定の作業に係る処理について説明する。図２は、ロボットシステム１が備える各装置による所定の作業に係る処理の流れの一例を示すフローチャートである。まず、制御装置３０は、作業対象Ｏを把持する（ステップＳ５０）。次に、制御装置３０は、作業対象Ｏを所定の撮像位置へ移動させる（ステップＳ５１）。
【００２６】
次に、制御装置３０は、教示装置５を介して撮像部１０に撮像画像を撮像させる（ステップＳ５２）。次に、教示装置５は、撮像部１０に撮像された撮像画像に基づいて作業対象Ｏを検出する（ステップＳ５３）。次に、教示装置５は、撮像部１０により撮像された撮像画像に基づいて、ステップＳ５３で検出された作業対象Ｏに係る算出オフセットを算出する（ステップＳ５４）。そして、教示装置５は、算出された算出オフセットを制御装置３０に出力する。
【００２７】
次に、制御装置３０は、教示装置５から取得された算出オフセットと、教示装置５から教示された基準オフセット及び目標点位置姿勢とに基づいて、制御点目標位置姿勢を算出する（ステップＳ５５）なお、教示装置５が制御点目標位置姿勢を算出し、教示装置５により算出された制御点目標位置姿勢を制御装置３０が取得する構成であってもよい。次に、制御装置３０は、ステップＳ５５で算出された制御点目標位置姿勢に制御点位置姿勢が一致するようにロボット２０を動かすことで、作業対象Ｏを目標領域ＴＡに配置する（ステップＳ５６）。
【００２８】
＜実施形態＞
以下、本発明の実施形態について、図面を参照して説明する。前述した通り、図１に示した本実施形態に係るロボットシステム１は、教示装置５と、撮像部１０と、ロボット２０と、制御装置３０を具備する。
【００２９】
教示装置５は、例えば、ノートＰＣ（Personal  Computer）であるとするが、これに代えて、デスクトップＰＣやタブレットＰＣ、携帯電話端末、多機能携帯電話端末（スマートフォン）、ＰＤＡ（Personal  Digital  Assistant）等であってもよい。教示装置５は、撮像部１０とケーブルによって通信可能に接続されている。ケーブルを介した有線通信は、例えば、イーサネット（登録商標）やＵＳＢ（Universal  Serial  Bus）等の規格によって行われる。なお、教示装置５と撮像部１０とは、Ｗｉ−Ｆｉ（登録商標）等の通信規格により行われる無線通信によって接続される構成であってもよい。
【００３０】
教示装置５は、撮像部１０から撮像画像を取得する。また、教示装置５は、専用のアプリケーションがインストールされており、そのアプリケーションが実現するＧＵＩを表示する。教示装置５は、ＧＵＩを介してユーザーからの操作を受け付け、受け付けられた操作と、撮像部１０から取得された撮像画像とに基づいて、作業対象Ｏの作業対象位置姿勢と目標点ＴＰの制御点位置姿勢との間の基準オフセットを算出する。
【００３１】
また、教示装置５は、ユーザーがジョグ操作によって把持部ＨＮＤを移動させることで作業対象位置姿勢と目標点位置姿勢とを一致させた後、ＧＵＩを介してユーザーからの操作を受け付け、制御装置３０から制御点目標位置姿勢を示す情報を取得する。そして、教示装置５は、取得された制御点目標位置姿勢と、算出された基準オフセットとに基づいて、目標領域ＴＡの目標点位置姿勢を算出する。これにより、教示装置５は、撮像部により目標領域ＴＡを含む範囲を撮像し、撮像された撮像画像に基づいて目標点位置姿勢を検出する処理を必要とせず、目標点位置姿勢を制御装置３０に教示することができる。なお、ジョグ操作を行うためのジョグは、教示装置５に備えられていてもよく、制御装置３０に備えられていてもよい。ジョグが教示装置５に備えられている場合、教示装置５は、制御装置３０を介してロボット２０をジョグ操作によって動かす。
【００３２】
教示装置５は、基準オフセットを示す情報と目標点位置姿勢を制御装置３０に出力（教示）する。なお、教示装置５は、基準オフセットを示す情報のみを制御装置３０に出力する構成であってもよい。この場合、制御装置３０には、予め目標点位置姿勢が記憶されているものとする。以下では、教示装置５は、基準オフセットを示す情報と目標点位置姿勢を制御装置３０に出力するとして説明する。
【００３３】
また、教示装置５は、ロボットシステム１がロボット２０に所定の作業を行わせている時、制御装置３０からの要求に応じて撮像部１０に作業対象Ｏを含む範囲を撮像させる。そして、教示装置５は、撮像された撮像画像に基づいて算出オフセットを算出する。教示装置５は、制御装置３０からの要求に応じて、所定の作業毎に算出オフセットを算出し、基準オフセットと、目標点位置姿勢と、算出オフセットに基づいて、所定の作業毎に制御点目標位置姿勢を算出する。この場合、教示装置５は、算出された制御点目標位置姿勢を示す情報を制御装置３０に出力する。また、他の構成例として、教示装置５は、制御装置３０からの要求に応じて、所定の作業毎に算出オフセットを示す情報を制御装置３０に出力する。この場合、教示装置５は、制御点目標位置姿勢を算出せず、制御装置３０が制御点目標位置姿勢を算出する。
【００３４】
撮像部１０は、例えば、集光された光を電気信号に変換する撮像素子であるＣＣＤ（Charge  Coupled  Device）やＣＭＯＳ（Complementary  Metal  Oxide  Semiconductor）等を備えたカメラである。また、撮像部１０は、単眼のカメラであるが、例えば、ステレオカメラのように２台以上のカメラによって構成されてもよい。
【００３５】
撮像部１０は、ケーブルによって教示装置５と通信可能に接続されている。ケーブルを介した有線通信は、例えば、イーサネット（登録商標）やＵＳＢ等の規格によって行われる。なお、撮像部１０と教示装置５とは、Ｗｉ−Ｆｉ（登録商標）等の通信規格により行われる無線通信によって接続される構成であってもよい。また、撮像部１０と教示装置５とは、別体ではなく、一体の構成であってもよい。
【００３６】
撮像部１０は、作業対象Ｏを把持している把持部ＨＮＤが所定の撮像位置に移動された時に、前述した制御点ＴＣＰと、把持部ＨＮＤにより把持された作業対象Ｏの代表点ＯＰとを含む範囲（以下、撮像範囲と称する）を撮像可能な位置に設置される。また、図１において、撮像部１０は、鉛直下方から鉛直上方に向けて前述の撮像範囲を撮像可能な位置に設置されている。
【００３７】
なお、撮像部１０は、鉛直下方から鉛直上方に向けて前述の撮像範囲を撮像可能な位置に設置されている構成に代えて、水平方向に撮像範囲を撮像可能な位置に設置される構成であってもよく、鉛直上方から鉛直下方に向けて撮像範囲を撮像可能な位置に設置される構成であってもよく、他の方向から撮像範囲を撮像可能に設置される構成であってもよい。また、撮像部１０は、動画像を撮像画像として撮像する構成であるとするが、これに代えて、静止画像や半静止画像を撮像画像として撮像する構成であってもよい。撮像部１０は、撮像装置の一例である。
【００３８】
ロボット２０は、例えば、把持部ＨＮＤと、マニピュレーターＭＮＰと、図示しない複数のアクチュエーターを備えた単腕のロボットである。なお、ロボット２０は、単腕のロボットに代えて、スカラーロボット（水平多関節ロボット）や双腕のロボット等であってもよい。スカラーロボットとは、マニピュレーターが水平方向にのみ動き、マニピュレーターの先端のスライド軸のみが上下に動くロボットである。また、双腕のロボットとは、把持部ＨＮＤとマニピュレーターＭＮＰによりそれぞれ構成される２本の腕を有するロボットを示す。
【００３９】
ロボット２０の腕は、６軸垂直多関節型となっており、支持台とマニピュレーターＭＮＰと把持部ＨＮＤとがアクチュエーターによる連携した動作によって６軸の自由度の動作を行うことができる。なお、ロボット２０の腕は、５自由度（５軸）以下で動作するものであってもよいし、７自由度（７軸）以上で動作するものであってもよい。以下では、把持部ＨＮＤ及びマニピュレーターＭＮＰを備えた腕によって行われるロボット２０の動作について説明する。なお、ロボット２０の把持部ＨＮＤには、物体を把持可能な爪部が備えられている。
【００４０】
ロボット２０は、例えばケーブルによって制御装置３０と通信可能に接続されている。ケーブルを介した有線通信は、例えば、イーサネット（登録商標）やＵＳＢ等の規格によって行われる。なお、ロボット２０と制御装置３０とは、Ｗｉ−Ｆｉ（登録商標）等の通信規格により行われる無線通信によって接続されてもよい。また、ロボットシステム１では、ロボット２０は、図１に示したようにロボット２０の外部に設置された制御装置３０と接続されている構成とするが、この構成に代えて、制御装置３０がロボット２０に内蔵されている構成であってもよい。
ロボット２０は、制御装置３０が生成した制御信号を取得し、取得した制御信号に基づいてロボット２０の把持部ＨＮＤとマニピュレーターＭＮＰを移動させる。
【００４１】
制御装置３０は、教示装置５からの要求に応じて、教示装置５により教示が行われている状態であってユーザーによるジョグ操作によって作業対象位置姿勢と目標点位置姿勢とが一致している状態が実現している時の制御点位置姿勢（すなわち、制御点目標位置姿勢）を示す情報を教示装置５に出力する。その後、制御装置３０は、教示装置５から基準オフセットを示す情報と、目標点位置姿勢を示す情報とを取得する。
【００４２】
また、制御装置３０は、ロボットシステム１によりロボット２０に所定の作業を行わせている時、撮像された撮像画像であって教示装置５が取得した撮像画像に基づいて、教示装置５に算出オフセットを算出させる。制御装置３０は、教示装置５から算出された算出オフセットを取得する。制御装置３０は、基準オフセットと、目標点位置姿勢と、算出オフセットとに基づいて、所定の作業が行われている時の制御点目標位置姿勢を算出する。
【００４３】
次に、図３を参照して、教示装置５のハードウェア構成について説明する。図３は、教示装置５のハードウェア構成の一例を示す図である。教示装置５は、例えば、ＣＰＵ（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）等のハードウェア機能部であってもよい。
【００４７】
画像取得部５６は、撮像部１０から撮像画像を取得する。画像取得部５６は、取得された撮像画像を制御部６０に出力する。
制御部６０は、表示制御部６１と、演算部６２と、通信制御部６７と、撮像制御部６８を備える。制御部６０は、教示装置５の全体を制御する。
【００４８】
表示制御部６１は、取得された撮像画像に基づいて、基準オフセットと目標点位置姿勢とを制御装置３０に教示するためのＧＵＩを生成し、生成されたＧＵＩを表示する。より具体的には、表示制御部６１は、入力受付部５３により受け付けられたユーザーからの操作に基づいて、基準オフセットを算出するための画面（ＧＵＩ）を第１教示画面として生成する。表示制御部６１は、生成された第１教示画面を表示するように表示部５５を制御する。また、表示制御部６１は、目標点位置姿勢を算出するための画面を第２教示画面として生成する。表示制御部６１は、入力受付部５３により受け付けられたユーザーからの操作に基づいて、第２教示画面を表示するように表示部５５を制御する。
【００４９】
演算部６２は、第１算出部６３と、第２算出部６４と、第３算出部６５を備える。
第１算出部６３は、画像取得部５６から取得された撮像画像に基づいて、作業対象Ｏの制御点位置姿勢と作業対象位置姿勢の間の基準オフセット又は算出オフセットを算出（演算）する。また、第１算出部６３は、基準オフセットを算出すると、算出された基準オフセットを記憶部５２に記憶させる。
【００５０】
第２算出部６４は、通信制御部６７により通信部５４を介して制御点目標位置姿勢を示す情報を制御装置３０から取得する。第２算出部６４は、記憶部５２から基準オフセットを読み込む。第２算出部６４は、制御装置３０から取得された制御点目標位置姿勢と、記憶部５２から読み込まれた（すなわち、第１算出部６３により算出された）基準オフセットとに基づいて、目標点位置姿勢を算出（演算）する。
【００５１】
第３算出部６５は、記憶部５２から基準オフセットを読み込む。第３算出部６５は、記憶部５２から読み込まれた（すなわち、第１算出部６３により算出された）基準オフセットと、第１算出部６３により算出された算出オフセットと、第２算出部により算出された目標点位置姿勢とに基づいて、ロボットシステム１がロボット２０に所定の作業を行わせている時の制御点目標位置姿勢を算出（演算）する。
【００５２】
通信制御部６７は、表示制御部６１により表示部５５に表示された第１教示画面に対して入力受付部５３から受け付けられたユーザーからの操作に基づいて、第１算出部６３により算出された基準オフセットを制御装置３０に出力するように通信部５４を制御する。また、通信制御部６７は、表示制御部６１により表示部５５に表示された第２教示画面に対して入力受付部５３から受け付けられたユーザーからの操作に基づいて、第２算出部６４により算出された目標点位置姿勢を制御装置３０に出力するように通信部５４を制御する。また、通信制御部６７は、制御装置３０からの要求に応じて、第１算出部６３により算出された算出オフセット又は第３算出部６５により算出された制御点目標位置姿勢を制御装置３０に出力する。
撮像制御部６８は、撮像部１０に撮像可能な範囲を撮像するように制御する。
【００５３】
以下、図５を参照して、教示装置５が基準オフセットと目標点位置姿勢とを制御装置３０に教示する処理について説明する。図５は、教示装置５が基準オフセットと目標点位置姿勢とを制御装置３０に教示する処理の流れの一例を示すフローチャートである。まず、表示制御部６１は、入力受付部５３により受け付けられたユーザーからの操作に基づいて、設定画面を表示する（ステップＳ８０）。次に、教示装置５の制御部６０は、入力受付部５３により設定画面を介したユーザーからの操作を受け付ける（ステップＳ９０）。ここで、図６を参照して、設定画面について説明する。図６は、設定画面の一例を示す図である。
【００５４】
表示制御部６１は、画像取得部５６から撮像部１０により撮像された撮像画像を取得し、取得された撮像画像を領域Ｖ１に表示させる。また、表示制御部６１は、図６に示した設定画面中のプロパティー欄Ｑ１を表示させる。プロパティー欄Ｑ１とは、教示装置５によって制御装置３０に教示することが可能な項目の一覧を表示する欄であり、その項目毎の名称と、その項目毎の設定値とが対応付けられて表示される欄である。
【００５５】
ここで、入力受付部５３を介してユーザーがプロパティー：ＣａｌＲｏｂｏｔＰｌａｃｅＰｏｓ（前記の項目の一例）に対応付けられた設定値の欄Ｂ０のＣｌｉｃｋ  ｔｏ  ｃａｌｉｂｒａｔｅＢ０を押す（クリックする）と、表示制御部６１は、ステップＳ１００で説明する第１教示画面を表示する。
【００５６】
また、表示制御部６１は、図６に示した設定画面中のリザルト欄Ｑ２を表示させる。リザルト欄Ｑ２とは、撮像部１０により撮像された撮像画像に基づいて、すでに検出された情報であって制御装置３０に教示する各種の情報を表示する欄であり、その項目毎の名称と、その項目毎の検出結果とが対応付けられて表示される欄である。
【００５７】
以下では、ステップＳ９０でユーザーが入力受付部５３を介して図６に示したボタンＢ０を押したとして説明する。次に、表示制御部６１は、ステップＳ９０で入力受付部５３により受け付けられたユーザーからの操作（すなわち、ボタンＢ０を押す操作）に基づいて、第１教示画面を生成する。そして、表示制御部６１は、生成された第１教示画面を表示するように表示部５５を制御する（ステップＳ１００）。
【００５８】
次に、教示装置５の制御部６０は、入力受付部５３により第１教示画面を介したユーザーからの操作を受け付ける（ステップＳ１１０）。ここで、図７を参照して、第１教示画面について説明する。図７は、第１教示画面の一例を示す図である。第１教示画面ＵＩ１には、第１教示画面ＵＩ１を介して制御装置３０に教示を行う際の手順を示すための説明画像Ｅ１が表示される。この説明画像Ｅ１の説明に従うことで、ユーザーは、マニュアルを読むことなく容易に制御装置３０へ教示を行うための操作を行うことができる。
【００５９】
また、第１教示画面ＵＩ１には、説明画像Ｅ１に加えて、さらに撮像部１０により撮像された撮像画像が領域Ｐ１に表示される。表示制御部６１は、画像取得部５６から撮像部１０により撮像された撮像画像を取得し、取得された撮像画像を領域Ｐ１に表示させる。ユーザーは、第１教示画面ＵＩ１が表示部５５に表示されると、第１教示画面ＵＩ１内に表示されるボタンＢ１を押す。これにより、ユーザーは、説明画像Ｅ１に示された内容の手順に沿って制御装置３０へ教示を行うための操作を行うことができる。
【００６０】
ユーザーがボタンＢ１を押すと、表示制御部６１は、図８に示すように、第１教示画面ＵＩ１のサブ画面としてジョグ画面ＵＩ１−１を表示させる。図８は、第１教示画面ＵＩ１及びジョグ画面ＵＩ１−１の一例を示す図である。ジョグ画面ＵＩ１−１には、領域ＪＧに、ロボット２０の把持部ＨＮＤの制御点をユーザーの所望の位置へ動かすための複数のボタンが表示される。例えば、＋Ｘボタンは、把持部ＨＮＤの制御点をＸ軸の正方向へ移動させるボタンであり、−Ｘボタンは、把持部ＨＮＤの制御点をＸ軸の負方向へ移動させるボタンである。
【００６１】
また、＋Ｙボタンは、把持部ＨＮＤの制御点をＹ軸の正方向へ移動させるボタンであり、−Ｙボタンは、把持部ＨＮＤの制御点をＹ軸の負方向へ移動させるボタンである。また、＋Ｚボタンは、把持部ＨＮＤの制御点をＺ軸の正方向へ移動させるボタンであり、−Ｚボタンは、把持部ＨＮＤの制御点をＺ軸の負方向へ移動させるボタンである。
【００６２】
また、＋Ｕボタンは、把持部ＨＮＤの制御点をＸ軸周りに正方向へ回転させるボタンであり、−Ｕボタンは、把持部ＨＮＤの制御点をＸ軸周りに負方向へ回転させるボタンである。また、＋Ｖボタンは、把持部ＨＮＤの制御点をＹ軸周りに正方向へ回転させるボタンであり、−Ｖボタンは、把持部ＨＮＤの制御点をＹ軸周りに負方向へ回転させるボタンである。また、＋Ｗボタンは、把持部ＨＮＤの制御点をＺ軸周りに正方向へ回転させるボタンであり、−Ｗボタンは、把持部ＨＮＤの制御点をＺ軸周りに負方向へ回転させるボタンである。
【００６３】
また、表示制御部６１は、例えば、制御点のロボット座標系における現在の座標等をジョグ画面ＵＩ１−１に表示させる。ユーザーは、図８に示したジョグ画面ＵＩ１−１が表示部５５に表示されると、第１教示画面ＵＩ１内に表示される説明画像Ｅ１により示される手順に従って、ロボット２０に作業対象Ｏを把持部ＨＮＤにより把持させる。そして、ユーザーは、作業対象Ｏを把持しているロボット２０の把持部ＨＮＤを所定の撮像位置まで移動させる。ユーザーは、この作業対象Ｏの把持部ＨＮＤによる把持と、作業対象Ｏの所定の撮像位置までの移動とを、ジョグ画面ＵＩ１−１を介したジョグ操作によってロボット２０に行わせる。
【００６４】
なお、ユーザーは、領域Ｐ１に表示される撮像画像を見ながら作業対象Ｏが所定の撮像位置まで移動したか否かを確認することができる。ここで、所定の撮像位置とは、把持部ＨＮＤの制御点ＴＣＰと、把持部ＨＮＤにより把持された作業対象Ｏの代表点ＯＰとが撮像部１０により撮像可能な位置である。
【００６５】
ここで、図９を参照して、所定の撮像位置について説明する。図９は、所定の撮像位置における作業対象Ｏと撮像部１０の位置関係の一例を示す図である。図９における把持部ＨＮＤにより把持された作業対象Ｏの状態は、ユーザーによるジョグ操作により撮像位置に移動させられた状態である。作業対象Ｏが撮像位置に移動させられた後、撮像部１０は、図９に示した方向Ｃに向かって撮像可能な範囲を撮像する。方向Ｃは、把持部ＨＮＤにより把持されている作業対象Ｏの面Ｍに直交する方向である。面Ｍとは、作業対象Ｏが把持部ＨＮＤにより把持された時に、把持部ＨＮＤが設けられたフランジＦと対面しない側の面を示す。従って、撮像部１０は、面Ｍが撮像素子の平面に対して平行な状態で撮像範囲を撮像する。
【００６６】
面Ｍが撮像素子の平面に対して平行な状態とする理由は、作業対象Ｏが目標領域ＴＡに正しい位置姿勢で配置された場合のオフセットであって制御点ＴＣＰと代表点ＯＰが目標領域ＴＡの目標領域面上に射影された時の目標領域面上（すなわち、テーブルＴＢの平面上）における制御点位置姿勢と代表点位置姿勢の間のオフセットを検出するためである。このようにオフセットを、目標領域面上におけるオフセットとして扱うことで、教示装置５や制御装置３０の計算コストを抑制することができる。なお、このようなオフセットの扱いは、一例に過ぎず、他のオフセットの扱い方を用いてもよい。
【００６７】
図８に示した領域Ｐ１には、すでに作業対象Ｏが所定の撮像位置に移動された後の撮像画像が表示されている。ユーザーが作業対象Ｏを所定の撮像位置まで移動させた後、ユーザーは、図８に示したジョグ画面ＵＩ１−１内のティーチボタンＢ２を押す。ユーザーによりティーチボタンＢ２が押された時、第１算出部６３は、ティーチボタンＢ２が押された時に第１教示画面ＵＩ１に表示されていた撮像画像をキャプチャーし、そのキャプチャー画像に基づいてパターンマッチング等の画像処理の手法に基づいて制御点位置姿勢と作業対象位置姿勢を検出する。
【００６８】
例えば、第１算出部６３は、キャプチャー画像に含まれる把持部ＨＮＤ及びマニピュレーターＭＮＰの形状に基づいてパターンマッチングを行い、制御点ＴＣＰの位置と、制御点ＴＣＰの姿勢とをそれぞれ検出する。また、第１算出部６３は、キャプチャー画像に含まれる作業対象Ｏの形状に基づいてパターンマッチングを行い、代表点ＯＰの位置と、代表点ＯＰの姿勢とをそれぞれ検出する。なお、第１教示画面ＵＩ１及びジョグ画面ＵＩ１−１（すなわち、図８に示した画面）は、第１画面の一例である。
【００６９】
ステップＳ１１０でユーザーによりティーチボタンＢ２が押され、制御点位置姿勢と作業対象位置姿勢が検出された後、第１算出部６３は、検出された作業対象位置姿勢と目標点位置姿勢に基づいて基準オフセットを算出する（ステップＳ１２０）。ここで、基準オフセットが算出された後、表示制御部６１は、第１教示画面ＵＩ１及びジョグ画面ＵＩ１−１を消すように表示部５５を制御するとするが、これに代えて、入力受付部５３によりユーザーから第１教示画面ＵＩ１及びジョグ画面ＵＩ１−１を消す操作が受け付けられるまで、第１教示画面を消さない構成であってもよい。
【００７０】
次に、通信制御部６７は、ステップＳ１２０で算出された基準オフセットを示す情報を制御装置３０に出力（教示）するように通信部５４を制御する（ステップＳ１３０）。次に、表示制御部６１は、入力受付部５３により受け付けられたユーザーからの操作に基づいて、第２教示画面を生成する。そして、表示制御部６１は、生成された第２教示画面を表示するように表示部５５を制御する（ステップＳ１４０）。
【００７１】
なお、表示制御部６１は、入力受付部５３により受け付けられたユーザーからの操作に基づいて第２教示画面を生成する構成に代えて、ステップＳ１３０で基準オフセットを示す情報が制御装置３０に出力されたことに伴って第２教示画面を生成する構成や、第１教示画面が消されたことをトリガーとして第２教示画面を生成する構成等であってもよい。
【００７２】
次に、教示装置５の制御部６０は、入力受付部５３により第２教示画面を介したユーザーからの操作を受け付ける（ステップＳ１５０）。次に、第２算出部６４は、受け付けられた操作に基づいて目標点位置姿勢を算出する（ステップＳ１６０）。ここで、図１０を参照して、第２教示画面と、第２教示画面に係るステップＳ１４０からステップＳ１６０までの処理について説明する。図１０は、第２教示画面の一例を示す図である。
【００７３】
第２教示画面ＵＩ２には、第２教示画面ＵＩ２を介して制御装置３０に教示を行う際の手順を示すための説明画像Ｅ２が表示される。この説明画像Ｅ２の説明に従うことで、ユーザーは、マニュアルを読むことなく容易に制御装置３０へ教示を行うための操作を行うことができる。
【００７４】
また、第２教示画面ＵＩ２には、説明画像Ｅ２に加えて、さらに撮像部１０により撮像された撮像画像が領域Ｐ２に表示される。表示制御部６１は、画像取得部５６から撮像部１０により撮像された撮像画像を取得し、取得された撮像画像を領域Ｐ２に表示させる。ユーザーは、第２教示画面ＵＩ２が表示部５５に表示されると、第２教示画面ＵＩ２内に表示されるボタンＢ３を押す。これにより、ユーザーは、説明画像Ｅ２に示された内容の手順に沿って制御装置３０へ教示を行うための操作を行うことができる。
【００７５】
ユーザーがボタンＢ２を押すと、表示制御部６１は、図１１に示すように、第２教示画面ＵＩ２のサブ画面としてジョグ画面ＵＩ２−１を表示させる。図１１は、第２教示画面ＵＩ２及びジョグ画面ＵＩ２−１の一例を示す図である。ジョグ画面ＵＩ２−１は、ジョグ画面ＵＩ１−１と同様なため、説明を省略する。
【００７６】
図１１に示したジョグ画面ＵＩ２−１が表示部５５に表示されると、第２教示画面ＵＩ２内に表示される説明画像Ｅ２により示される手順に従って、ジョグ画面ＵＩ２−１を介したジョグ操作によって把持部ＨＮＤにより把持されている作業対象Ｏを目標領域ＴＡまで移動させる。そして、ユーザーは、作業対象位置姿勢と目標点位置姿勢を一致させる。
【００７７】
ユーザーがジョグ画面ＵＩ２−１を介したジョグ操作により作業対象位置姿勢と目標点位置姿勢を一致させた後、ユーザーは、図１１に示したジョグ画面ＵＩ２−１内のティーチボタンＢ４を押す。ユーザーによりティーチボタンＢ４が押された時、第２算出部６４は、ティーチボタンＢ４が押された時の制御点位置姿勢を示す情報を、制御点目標位置姿勢を示す情報として制御装置３０から取得する。そして、第２算出部６４は、取得された制御点目標位置姿勢と、第１算出部６３により算出された基準オフセットとに基づいて、目標点位置姿勢を算出する。
【００７８】
このように、教示装置５は、ジョグ画面ＵＩ２−１を介したジョグ操作によってユーザーにより作業対象Ｏを実際に配置する目標位置と目標姿勢に移動させ、その位置及び姿勢における制御点ＴＣＰと、前述の基準オフセットとに基づいて目標点位置姿勢を算出するため、例えば、撮像画像に基づいて目標点位置姿勢を検出する場合と比較して、より高い精度で目標点位置姿勢を制御装置３０に教示することができる。その結果として、制御装置３０は、所定の作業を行う際、高い精度で制御点目標位置姿勢を算出することができるため、ロボット２０に高精度の作業を行わせることができる。
【００７９】
また、第２教示画面ＵＩ２には、説明画像Ｅ２に加えて、第１教示画面ＵＩ１においてキャプチャーされた画像が領域Ｐ２に表示される。なお、表示制御部６１は、画像取得部５６から撮像部１０により撮像された撮像画像を取得し、取得された撮像画像を領域Ｐ２に表示させる構成であってもよい。第２教示画面ＵＩ２及びジョグ画面ＵＩ２−１（すなわち、図１１に示した画面）は、第２画面の一例である。
【００８０】
次に、通信制御部６７は、ステップＳ１６０で算出された目標点位置姿勢を示す情報を制御装置３０に出力（教示）するように通信部５４を制御する（ステップＳ１７０）。なお、通信制御部６７は、ステップＳ１３０で基準オフセットを示す情報を制御装置３０に出力する構成に代えて、ステップＳ１７０で目標点位置姿勢を示す情報と共に基準オフセットを示す情報を制御装置３０に出力する構成であってもよい。
【００８１】
次に、表示制御部６１は、設定完了画面を生成する。そして、表示制御部６１は、生成された設定完了画面を表示するように表示部５５を制御する（ステップＳ１８０）。ここで、図１２を参照して、設定完了画面について説明する。図１２は、設定完了画面の一例を示す図である。表示制御部６１は、設定完了画面内に、設定が完了したことを知らせる画像や説明を欄Ｅ３表示する。なお、表示制御部６１は、図１２に示したように、設定完了画面内に、撮像部１０により撮像された撮像画像Ｐ３を表示する構成であってもよいが、撮像画像を表示しない構成であってもよい。また、表示制御部６１は、設定完了画面内に、完了ボタンＢ５を表示する。ユーザーが完了ボタンＢ５を押すと、表示制御部６１は、設定完了画面を消す。
【００８２】
なお、本実施形態に係るロボットシステム１は、演算部６２により基準オフセット、算出オフセット、目標位置姿勢、制御点目標位置姿勢のすべてを算出する構成であるとしたが、これに代えて、基準オフセット、算出オフセット、目標位置姿勢、制御点目標位置姿勢のうち一部又は全部を別体の装置によって算出する構成であってもよい。この場合、教示装置５は、制御装置３０を介して装置に基準オフセット、算出オフセット、目標位置姿勢、制御点目標位置姿勢のうち一部又は全部を算出するように要求する。
【００８３】
以上説明したように、本実施形態に係るロボットシステム１は、ロボットを動作させ、撮像部１０の撮像可能な範囲内に作業対象Ｏを移動させるための第１教示画面ＵＩ１と、目標点位置姿勢に作業対象Ｏを移動させるための第２教示画面ＵＩ２と、が入力受付部５３により操作されることにより、撮像部１０が作業対象Ｏを撮像した撮像画像と目標点位置姿勢とを用いて、作業点目標位置姿勢を算出する。これにより、ロボットシステム１は、簡易に高精度の教示を行うことができる。
【００８４】
また、ロボットシステム１は、第１教示画面ＵＩ１が、撮像部１０により撮像された撮像画像が表示される領域Ｐ１を有し、第２教示画面ＵＩ２が、撮像部１０により撮像された撮像画像であって第１教示画面ＵＩ１に表示されたキャプチャー画像が表示される領域Ｐ２を有する。これにより、ロボットシステム１は、ユーザーに撮像画像を確認しながらロボット２０をジョグ操作によって移動させる環境を提供することができる。
【００８５】
また、ロボットシステム１は、第１教示画面ＵＩ１が、作業手順が表示される領域を有し、第２教示画面ＵＩ２が、作業手順が表示される領域を有する。これにより、ロボットシステム１は、ユーザーのマニュアルを読む手間を抑制させることで、ユーザーに効率的な作業を行わせることができる。
【００８６】
また、ロボットシステム１は、第１教示画面ＵＩ１を介して入力受付部５３により受け付けられた操作に基づいて撮像画像を用いて目標点位置姿勢と制御点目標位置姿勢との間の基準オフセットを算出し、第２教示画面ＵＩ２を介して入力受付部５３により受け付けられた操作に基づいて制御装置３０から目標点位置姿勢を取得し、算出された基準オフセットと、取得された目標点位置姿勢とを用いて制御点目標位置姿勢を算出する。これにより、ロボットシステム１は、作業毎に目標点位置姿勢と制御点目標位置姿勢との間の算出オフセットを算出することで、精度の高い作業を実現することができる。
【００８７】
以上、この発明の実施形態を、図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない限り、変更、置換、削除等されてもよい。
【００８８】
また、以上に説明した装置（例えば、ロボットシステム１の教示装置５）における任意の構成部の機能を実現するためのプログラムを、コンピューター読み取り可能な記録媒体に記録し、そのプログラムをコンピューターシステムに読み込ませて実行するようにしてもよい。なお、ここでいう「コンピューターシステム」とは、ＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）や周辺機器等のハードウェアを含むものとする。また、「コンピューター読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、ＣＤ（Ｃｏｍｐａｃｔ  Ｄｉｓｋ）−ＲＯＭ等の可搬媒体、コンピューターシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピューター読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムが送信された場合のサーバーやクライアントとなるコンピューターシステム内部の揮発性メモリー（ＲＡＭ：Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）のように、一定時間プログラムを保持しているものも含むものとする。
【００８９】
また、上記のプログラムは、このプログラムを記憶装置等に格納したコンピューターシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピューターシステムに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク（通信網）や電話回線等の通信回線（通信線）のように情報を伝送する機能を有する媒体のことをいう。
また、上記のプログラムは、前述した機能の一部を実現するためのものであってもよい。さらに、上記のプログラムは、前述した機能をコンピューターシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル（差分プログラム）であってもよい。
【符号の説明】
【００９０】
１  ロボットシステム、５  教示装置、１０  撮像部、２０  ロボット、３０  制御装置、５１  ＣＰＵ、５２  記憶部、５３  入力受付部、５４  通信部、５５  表示部、５６  画像取得部、６０  制御部、６１  表示制御部、６２  演算部、６３  第１算出部、６４  第２算出部、６５  第３算出部、６７  通信制御部、６８  撮像制御部
【図１】
0006488571.tif 000002
【図２】
0006488571.tif 000003
【図３】
0006488571.tif 000004
【図４】
0006488571.tif 000005
【図５】
0006488571.tif 000006
【図６】
0006488571.tif 000007
【図７】
0006488571.tif 000008
【図８】
0006488571.tif 000009
【図９】
0006488571.tif 000010
【図１０】
0006488571.tif 000011
【図１１】
0006488571.tif 000012
【図１２】
0006488571.tif 000013