(57)【要約】【課題】ロボットのオフセットの設定を容易に短時間で実行可能にする。【解決手段】ロボットは、ツールを装着可能であり、撮像部によって前記ツールを撮像可能な位置に前記ツールを移動させることが可能なアームを備え、前記アームは、画像の基準点に前記アームに装着されたツールの参照点が位置する第一画像を前記撮像部によって撮像可能な第一状態と、前記基準点に前記参照点が位置した状態で前記参照点の位置を通る回転軸を中心に前記ツールを回転させた画像である第二画像を前記撮像部によって撮像可能な第二状態とに基づいて設定された前記参照点の前記アームに対するオフセットを用いて制御され、前記第一状態から前記第二状態への遷移の過程においては、前記撮像部によって撮像され前記基準点が前記参照点に位置しない第三画像に基づいて制御される。【選択図】図４
2016187846.tif 000002
【特許請求の範囲】
【請求項１】
ツールを装着可能であり、撮像部によって前記ツールを撮像可能な位置に前記ツールを移動させることが可能なアームを備え、
前記アームは、
画像の基準点に前記アームに装着されたツールの参照点が位置する第一画像を前記撮像部によって撮像可能な第一状態と、前記第一状態で前記参照点の位置を通る回転軸を中心に前記ツールを回転させた画像である第二画像を前記撮像部によって撮像可能な第二状態と、に基づいて設定された前記参照点の前記アームに対するオフセットを用いて制御され、
前記第一状態から前記第二状態への遷移の過程において、前記撮像部によって撮像され前記基準点に前記参照点が位置しない第三画像に基づいて制御される、
ロボット。
【請求項２】
前記アームは、複数の回転軸を有し、前記複数の回転軸のいずれか１つが回転することにより前記第一状態から前記第三画像が前記撮像部によって撮像可能な第三状態に遷移する、
請求項１に記載のロボット。
【請求項３】
前記アームは、前記複数の回転軸のうち前記ツールに最も近い回転軸が回転することにより前記第一状態から前記第三状態に遷移する、
請求項２に記載のロボット。
【請求項４】
前記アームは、前記撮像部により撮像された複数の画像に基づいて、前記第三状態から前記第二状態へ遷移するようにフィードバック制御される、
請求項１から３のいずれか一項に記載のロボット。
【請求項５】
前記回転軸は前記撮像部の撮像方向と平行である、
請求項１から４のいずれか一項に記載のロボット。
【請求項６】
前記回転軸は前記撮像部の撮像方向と非平行である、
請求項１から４のいずれか一項に記載のロボット。
【請求項７】
撮像部が装着され、作業空間内を移動可能なアームを備え、
前記アームは、
前記撮像部によって撮像された画像の基準点に前記作業空間内の参照点が位置する第一画像を前記撮像部によって撮像可能な第一状態と、前記第一状態で前記参照点の位置を通る回転軸を中心に前記撮像部を回転させた画像である第二画像を前記撮像部によって撮像可能な第二状態と、に基づいて設定された前記撮像部の前記アームに対するオフセットを用いて制御され、
前記第一状態から前記第二状態への遷移の過程において、前記撮像部によって撮像され前記基準点に前記参照点が位置しない第三画像に基づいて制御される、
ロボット。
【請求項８】
スカラ型である、
請求項１から６のいずれか一項に記載のロボット。
【請求項９】
撮像部と、
前記撮像部によって撮像可能な作業空間を移動可能なアームと、
前記撮像部によって撮像された画像の基準点に前記アームに装着されたツールの参照点が位置する第一画像を前記撮像部によって撮像可能な第一状態と、前記基準点に前記参照点が位置した状態で前記参照点の位置を通る回転軸を中心に前記ツールを回転させた画像である第二画像を前記撮像部によって撮像可能な第二状態と、に基づいて前記参照点の前記アームに対するオフセットを設定するオフセット設定部と、
前記ツールが装着された前記アームを、前記第一状態から前記第二状態への遷移の過程において、前記撮像部によって撮像され前記基準点に前記参照点が位置しない第三画像に基づいて制御し、前記オフセットが設定されると、前記オフセットを用いて制御するアーム制御部と、を備える、
ロボットシステム。
【請求項１０】
作業空間内を移動可能なアームと、
前記アームに装着された撮像部と、
前記撮像部によって撮像された画像の基準点に前記作業空間内の参照点が位置する第一画像を前記撮像部によって撮像可能な第一状態と、前記基準点に前記参照点が位置した状態で前記参照点の位置を通る回転軸を中心に前記撮像部を回転させた画像である第二画像を前記撮像部によって撮像可能な第二状態と、に基づいて前記撮像部の前記アームに対するオフセットを設定するオフセット設定部と、
前記撮像部が装着された前記アームを、前記第一状態から前記第二状態への遷移の過程において、前記撮像部によって撮像され前記基準点に前記参照点が位置しない第三画像に基づいて制御し、前記オフセットが設定されると、前記オフセットを用いて制御するアーム制御部と、を備える、
ロボットシステム。
【請求項１１】
撮像部によって撮像可能な作業空間を移動可能なアームを備えるロボットを制御するロボット制御装置であって、
前記撮像部によって撮像された画像の基準点に前記アームに装着されたツールの参照点が位置する第一画像を前記撮像部によって撮像可能な第一状態と、前記基準点に前記参照点が位置した状態で前記参照点の位置を通る回転軸を中心に前記ツールを回転させた画像である第二画像を前記撮像部によって撮像可能な第二状態と、に基づいて、前記参照点の前記アームに対するオフセットを設定するオフセット設定部と、
前記ツールが装着された前記アームを、前記第一状態から前記第二状態への遷移の過程において、前記撮像部によって撮像され前記基準点に前記参照点が位置しない第三画像に基づいて制御し、前記オフセットが設定されると、前記オフセットを用いて制御するアーム制御部と、を備える、
ロボット制御装置。
【請求項１２】
撮像部が装着され作業空間内を移動可能なアームを備えるロボットを制御するロボット制御装置であって、
前記撮像部によって撮像された画像の基準点に前記作業空間内の参照点が位置する第一画像を前記撮像部によって撮像可能な第一状態と、前記基準点に前記参照点が位置した状態で前記参照点の位置を通る回転軸を中心に前記ツールを回転させた画像である第二画像を前記撮像部によって撮像可能な第二状態と、に基づいて前記撮像部の前記アームに対するオフセットを設定するオフセット設定部と、
前記撮像部が装着された前記アームを、前記第一状態から前記第二状態への遷移の過程において、前記撮像部によって撮像され前記基準点に前記参照点が位置しない第三画像に基づいて制御し、前記オフセットが設定されると、前記オフセットを用いて制御するアーム制御部と、を備える、
ロボット制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ロボット、ロボット制御装置およびロボットシステムに関する。
【背景技術】
【０００２】
従来、アームに装着されるツールを用いてワークを処理する前に、アームに対するツールのオフセットを設定する処理が行われている。特許文献１には、アームに装着されたツールを実空間の基準点に位置合わせする操作を、アームの姿勢を変えて複数回実行した結果に基づいて、アームに対するツールのオフセットを導出する方法が開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平８−８５０８３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
特許文献１に記載された技術によると、ツールで基準点を触るようにアームをオペレーターが操作することによって基準点の位置を教示する必要がある。しかし、アームが基準点に触わるか触らないかの境界の状態を目視で特定しながら、アームを正確に操作することは容易ではない。すなわち特許文献１に記載された技術では、基準点の位置を正確に教示することは容易ではないという問題がある。そして、基準点の位置を正確に教示しながらツールのオフセットを設定するとすれば、設定に要する所要時間が長引くという問題があり、設定対象のロボットが増えるほど、この問題は深刻になる。
【課題を解決するための手段】
【０００５】
上記課題の少なくとも一つを解決するための第一のロボットは、ツールを装着可能であり、撮像部によって前記ツールを撮像可能な位置に前記ツールを移動させることが可能なアームを備え、前記アームは、画像の基準点に前記アームに装着されたツールの参照点が位置する第一画像を前記撮像部によって撮像可能な第一状態と、前記第一状態で前記参照点の位置を通る回転軸を中心に前記ツールを回転させた画像である第二画像を前記撮像部によって撮像可能な第二状態とに基づいて設定された前記参照点の前記アームに対するオフセットを用いて制御され、前記第一状態から前記第二状態への遷移の過程において、前記撮像部によって撮像され前記基準点に前記参照点が位置しない第三画像に基づいて制御される。
【０００６】
また上記目的を達成するための第二のロボットは、撮像部が装着され、作業空間内を移動可能なアームを備え、前記アームは、前記撮像部によって撮像された画像の基準点に前記作業空間内の参照点が位置する第一画像を前記撮像部によって撮像可能な第一状態と、前記第一状態で前記参照点の位置を通る回転軸を中心に前記撮像部を回転させた画像である第二画像を前記撮像部によって撮像可能な第二状態と、に基づいて設定された前記撮像部の前記アームに対するオフセットを用いて制御され、前記第一状態から前記第二状態への遷移の過程において、前記撮像部によって撮像され前記基準点に前記参照点が位置しない第三画像に基づいて制御される。
【０００７】
これらの発明によると、撮像部によって撮像された画像に基づいて、アームに対するツールまたは撮像部のオフセットが自動的に設定されるため、オフセットの設定が容易である。ここで参照点は、ツールまたは実空間に対して固定された点であって、画像認識可能な点であればよい。また画像内の基準点は、画像座標系において予め決められた点であれば良い。
【０００８】
なお請求項に記載された各手段の機能は、構成自体で機能が特定されるハードウェア資源、プログラムにより機能が特定されるハードウェア資源、又はそれらの組み合わせにより実現される。また、これら各手段の機能は、各々が物理的に互いに独立したハードウェア資源で実現されるものに限定されない。
【図面の簡単な説明】
【０００９】
【図１】図１Ａは本発明の実施形態にかかる模式的な斜視図。図１Ｂは本発明の実施形態にかかるブロック図。
【図２】本発明の実施形態にかかる平面図。
【図３】図３Ａは本発明の実施形態にかかる模式的な斜視図、図３Ｂは本発明の実施形態にかかる平面図、図３Ｃは本発明の実施形態にかかる説明図である。
【図４】本発明の実施形態にかかるフローチャートである。
【図５】図５Ａ、図５Ｂおよび図５Ｃは本発明の実施形態にかかる画像を示す平面図、図５Ｄは本発明の実施形態にかかる座標図である。
【図６】図６Ａは本発明の実施形態にかかる説明図、図６Ｂは本発明の実施形態にかかる座標図である。
【図７】本発明の実施形態にかかる模式的な斜視図。
【発明を実施するための形態】
【００１０】
以下、本発明の実施の形態を添付図面を参照しながら説明する。尚、各図において対応する構成要素には同一の符号が付され、重複する説明は省略される。
１．概要
本発明の第一実施例としてのロボットシステムは、図１に示すように、ロボット１と、撮像部２と、ロボット制御装置としてのＰＣ（Personal Computer）３とを備えている。
【００１１】
ロボット１は、６つの回転軸部材１２１、１２２、１２３、１２４、１２５、１２６をアームに備える６軸ロボットである。ワークを操作するための各種のツールが装着される回転軸部材１２６の先端の中心をツールセンターポイント（ＴＣＰ）という。ＴＣＰの位置と姿勢は各種のツールの位置と姿勢の基準となる。ロボット１を制御する際に用いられるロボット１の座標系は、それぞれが水平なｘ軸とｙ軸と、鉛直下向きを正方向とするｚ軸とによって定まる３次元の直交座標系である。以下、このようなロボット１の座標系をロボット座標系とも言う。またｚ軸周りの回転をｕ、ｙ軸周りの回転をｖ、ｘ軸周りの回転をｗで表す。ロボット座標系の長さの単位はミリメートル、角度の単位は度である。
【００１２】
撮像部２は、ｚ軸に対して垂直な基準平面内におけるワークの大きさ、形状および位置を認識するためのカメラである。レンズ２０１の光軸のレンズ２０１から離れる方向Ａを撮像方向というものとする。撮像部２の座標系は、撮像部２から出力される画像の座標系であって、画像の水平右向きを正方向とするＢ軸と、画像の垂直下向きを正方向とするＣ軸とによって定まる。以下、撮像部２から出力される画像の座標系を画像座標系とも言う。撮像部２の座標系の長さの単位はピクセル、角度の単位は度である。撮像部２によって撮像される画像の重心が光学系の中心に対応するようにエリアイメージセンサー２０２とレンズ２０１の位置関係が定められている。すなわちレンズ２０１の光軸上の点は画像の重心に撮像される。撮像部２の座標系は、レンズ２０１の光軸に垂直な実空間内の平面の座標系が、レンズ２０１の光学特性（焦点距離、歪みなど）とエリアイメージセンサー２０２の画素数と大きさとに応じて非線形変換された２次元の直交座標系である。したがって、撮像部２が出力する画像に基づいて基準平面内のワークの大きさ、形状または位置を認識して、認識結果に基づいてロボット１を制御するためには、画像座標系をロボット座標系と関係づける処理、すなわち校正が必要になる。
【００１３】
ＰＣ３はロボット１と撮像部２に接続されている。ＰＣ３には、ロボット座標系と画像座標系とを校正するための校正プログラムとツールのオフセットを設定するためのツールセットプログラムがインストールされている。
【００１４】
以下に説明する本発明の実施例によると、校正が行われていない状態でのロボットビジョン（撮像部２によって撮像される画像）を用いて、アーム１１に装着されたツールのオフセットを自動的に導出して設定するため、ロボット１に未知のツールを装着して使用する前の設定操作を短時間で容易に行うことができる。
【００１５】
２．構成
図１Ａに簡略化して示すように、ロボット１は、第一アーム１１１、第二アーム１１２、第三アーム１１３、第四アーム１１４、第五アーム１１５とからなるアーム１１と、基台１１０とを備えている。基台１１０は、第一アーム１１１の回転軸部材１２１を支持している。第一アーム１１１は回転軸部材１２１の中心軸を中心にして回転軸部材１２１とともに基台１１０に対して回転する。第一アーム１１１は、第二アーム１１２の回転軸部材１２２を支持している。第二アーム１１２は、回転軸部材１２２の中心軸を中心にして回転軸部材１２２とともに第一アーム１１１に対して回転する。第二アーム１１２は、第三アーム１１３の回転軸部材１２３を支持している。第三アーム１１３は、回転軸部材１２３の中心軸を中心にして回転軸部材１２３とともに第二アーム１１２に対して回転する。第三アーム１１３は、第四アーム１１４の回転軸部材１２４を支持している。第四アーム１１４は、回転軸部材１２４の中心軸を中心にして回転軸部材１２４とともに第三アーム１１３に対して回転する。第四アーム１１４は、第五アーム１１５の回転軸部材１２５を支持している。第五アーム１１５は、回転軸部材１２５の中心軸を中心にして回転軸部材１２５とともに第四アーム１１４に対して回転する。第五アーム１１５は、ツールが装着される回転軸部材１２６を支持している。
【００１６】
アーム１１の先端にあたる回転軸部材１２６には図２にツールの取付面が示されているツールチャック１２６１が設けられている。ツールチャック１２６１にはワークを操作するための各種のツールが取り付けられる。図２に示すように、ツールチャック１２６１の取付面は、４分割されており、その中央部にツールの棒状の取付部が挿入される。ツールチャック１２６１の取付面の中心がＴＣＰに相当する。ツールがツールチャック１２６１に正しく装着された状態において、ツールの取付部の中心軸は、回転軸部材１２６の回転軸と一致する。
【００１７】
本実施例では、図３Ａに示すツールＴがツールチャック１２６１に装着され、ツールＴのＴＣＰに対するオフセットが導出される。ツールＴの先端を、ＴＣＰに対するオフセットを求める参照点とする。オフセットは、ＴＣＰに対して固定された座標系において設定される。すなわち、原点がＴＣＰに対応し、回転軸部材１２６の回転軸と平行な１軸と、その１軸に対して直交する２軸とを有し、回転軸部材１２６とともに回転する座標系において、ツールの参照点の座標がツールのオフセットとして設定される。
【００１８】
ツールの棒状の取付部を予め決められた深さだけツールチャック１２６１に挿入することは容易である。そこで本実施例では、回転軸部材１２６の回転軸と平行な１軸のオフセット成分については、予め決められた値を設定し、その他の２軸のオフセット成分を後述するツールセット処理で導出して設定するものとする。
【００１９】
参照点を画像認識するため、本実施例では、図３Ｂに示すように同心円の形態を有し、ツールＴの先端に貼付されるシールをマーカーＭとして用いる。マーカーＭは、その中心ＭＣが参照点と一致するようにツールＴの先端に貼付される。なお、マーカーの形態は画像認識によって参照点の位置を特定可能な形態であればよいし、また、ツールＴの参照点自体が画像認識によって検出可能な形態を有している場合、参照点を示すマーカーを用いる必要はない。
【００２０】
図１Ｂに示すように、ロボット１は、回転軸部材１２１を駆動するモーター１３１と、回転軸部材１２２を駆動するモーター１３２と、回転軸部材１２３を駆動するモーター１３３と、回転軸部材１２４を駆動するモーター１３４と、回転軸部材１２５を駆動するモーター１３５と、回転軸部材１２６を駆動するモーター１３６と、モーター１３１〜１３６を制御する制御部１４とを備えている。モーター１３１〜１３６は、アーム１１１〜１１５の構成要素である。モーター１３１〜１３６は、目標値と現在値との差分がゼロになるようにフィードバック制御されるサーボモーターである。制御部１４は、ＴＣＰの位置と姿勢を示す目標値をＰＣ３から取得し、ＴＣＰの位置と姿勢を示す目標値に基づいてモーター１３１〜１３６の目標値を導出する。
【００２１】
撮像部２は、レンズ２０１、エリアイメージセンサー２０２、図示しないＡＤ変換器等を備えるデジタル撮像部である。撮像部２は、図１Ａに示すように、ワークが載置される作業台９上の所定位置に、鉛直上向きに撮像できるように設けられる。なお、本実施例のロボットビジョンは、ｚ軸と垂直に予め決められた基準平面を対象とする二次元のロボットビジョンである。このため、レンズ２０１には、被写界深度が浅く（焦点距離が短く）Ｆ値が小さな単焦点レンズを用いることが好ましい。
【００２２】
ＰＣ３は、図示しないプロセッサ、ＤＲＡＭからなる図示しない主記憶、図示しない入出力機構、不揮発性メモリからなる図示しない外部記憶、ディスプレイ、指示受付部３０として機能するキーボード等を備えるコンピューターである。ＰＣ３は、外部記憶に記憶されたツールセットプログラムをプロセッサで実行することにより、指示受付部３０、画像取得部３１、目標値導出部３２、出力部３３、オフセット設定部３５として機能する。目標値導出部３２および出力部３３の機能は、アーム制御部の機能に相当する。
【００２３】
画像取得部３１は、撮像部２に対して撮像を指示し、指示に応じて撮像された画像を撮像部２から取得する。
【００２４】
目標値導出部３２は、マーカーＭを画像認識するためのテンプレートを保持している。このテンプレートは撮像部２から取得する画像を解析して参照点の座標を撮像部２の座標系で検出するために用いられる。目標値導出部３２は、アーム１１を予め決められた状態に変化させるための目標値を、撮像部２が撮像した画像に基づいて導出する。具体的には、目標値導出部３２は、画像の重心に参照点が位置する第一状態にするための目標値と、第一状態からＴＣＰが参照点を中心に回転した第二状態にするための目標値とを導出する。
【００２５】
出力部３３は、目標値導出部３２によって導出された目標値をロボット１の制御部１４に出力することにより、撮像部２とツールＴの位置関係を第一状態および第二状態に変化させる。
【００２６】
３．ツールセット処理
以下、ＴＣＰに対するマーカー中心ＭＣの位置、すなわちオフセットを導出して設定するためのツールセット処理について図４を参照しながら説明する。
【００２７】
ツールセットは、オペレーターがツールセット開始指示をＰＣ３に入力することによって起動し、それ以後、オペレーターに一切の操作を要求することなく、あるいは、簡単な操作で完了する。ツールセット開始指示を入力する前にオペレーターに求められるのは、ツールＴをツールチャック１２６１に正しく装着し、撮像部２によってマーカーＭを撮像可能な位置にジョグ送り操作でＴＣＰを動かすことと、回転軸部材１２６の回転軸と平行な１軸の方向についてＴＣＰに対するツールＴのオフセット成分を設定することである。
【００２８】
オペレーターの入力に応じて指示受付部３０がツールセット開始指示を取得すると（ステップＳ７１）、ＰＣ３は、撮像部２によって撮像される画像の重心にマーカー中心ＭＣが位置するようにＴＣＰを移動させる（ステップＳ７２）。具体的には次の通りである。ツールセット開始指示が入力されると、画像取得部３１は、撮像部２に撮像を指示して撮像部２から画像データ（１）を取得する。続いて目標値導出部３２は、取得した画像データ（１）からマーカー中心ＭＣの位置を撮像部２の座標系で検出する。マーカー中心ＭＣの検出には、予め用意されているマーカーＭのテンプレートが用いられる。続いて目標値導出部３２は、予め決められた距離だけＴＣＰをｘ軸方向とｙ軸方向にそれぞれ並進させた状態で撮像部２に撮像を指示し、撮像部２から画像データ（２）を取得する。続いて目標値導出部３２は、取得した画像データ（２）からマーカー中心ＭＣの位置を撮像部２の座標系で検出する。続いて目標値導出部３２は、画像データ（１）が撮像された時点でのＴＣＰのロボット座標系の座標と、画像データ（１）から検出したマーカー中心ＭＣの撮像部２の座標系の座標と、画像データ（２）が撮像された時点でのＴＣＰのロボット座標系の座標と、画像データ（２）から検出したマーカー中心ＭＣの撮像部２の座標系の座標とに基づいて、画像座標系における対象の変位をロボット座標系における対象の変位に変換する座標変換行列を導出する。続いて目標値導出部３２は、画像データ（２）から検出したマーカー中心ＭＣから画像の重心までの変位を導出し、導出した変位を、座標変換行列を用いてロボット座標系のｘ軸方向とｙ軸方向の変位に変換することによって、撮像部２によって撮像される画像の重心にマーカー中心ＭＣを位置合わせするためのＴＣＰの目標値を導出する。続いて出力部３３は、導出された目標値を制御部１４に出力することによってアーム１１を動かす。その結果、ＴＣＰがｘ軸方向とｙ軸方向にそれぞれ並進し、撮像部２とＴＣＰとマーカー中心ＭＣの位置関係が第一状態となって、図５Ａに示すように撮像部２によって撮像される画像（第一画像）の重心にマーカー中心ＭＣが位置する。撮像部２によって撮像される画像の重心は、画像座標系とロボット座標系を対応付ける基準点となる。そして画像の重心にマーカー中心ＭＣが位置する状態では、マーカー中心ＭＣが基準点に対応する作業空間内の点となる。
【００２９】
撮像部２によって撮像される画像の重心にマーカー中心ＭＣが位置する第一状態になると、ＰＣ３は、画像座標系において画像の重心を中心としてＴＣＰが回転するようにアーム１１の姿勢を変化させる（ステップＳ７３）。すなわち、基準点である画像の重心に参照点を示すマーカー中心ＭＣが位置した状態でマーカー中心ＭＣが示す位置を通る回転軸を中心にツールＴを回転させる。具体的には次の通りである。
【００３０】
目標値導出部３２は、ロボット座標系におけるマーカー中心ＭＣのｘ座標およびｙ座標を、ステップＳ７２で導出した座標変換行列を用いて導出する。ここでマーカー中心ＭＣは画像の重心に位置しているため、画像の重心の座標を、座標変換行列を用いてロボット座標系に変換すると、ロボット座標系におけるマーカー中心ＭＣのｘ座標およびｙ座標が導出される。続いて目標値導出部３２は、回転軸部材１２４の回転軸をｚ軸と平行に維持した状態で、回転軸部材１２６を予め決められた角度（例えば３０度）だけ回転させるための目標値を導出する。ＴＣＰを中心にツールＴを回転させた場合には、マーカー中心ＭＣが画像の重心から画像外に移動する可能性がある。したがって回転軸部材１２６を回転させる角度は、回転後にマーカー中心ＭＣが画像内に位置する範囲で予め決めておく。続いて出力部３３は、導出された目標値を制御部１４に出力することによって回転軸部材１２６（ツールＴに最も近い回転軸）を回転させる。このようにして回転軸部材１２６を回転させると、ＴＣＰを通りｚ軸に平行な回転軸の周りをツールＴが回転した第三状態となる。
【００３１】
次に画像取得部３１は撮像部２に撮像を指示する。その結果、ＴＣＰを中心にツールＴが回転した第三状態で目標値導出部３２が画像（第三画像）を取得する。この第三画像においては、図５Ｂに示すようにマーカー中心ＭＣが画像の重心から離れている。次に、目標値導出部３２は、マーカー中心ＭＣが撮像部２によって撮像される画像の重心に再び移動させるための目標値を、第三画像に基づいて導出する。
【００３２】
続いて出力部３３は、第三画像に基づいて導出された目標値を制御部１４に出力することによってアーム１１を動かす。このとき、回転軸部材１２１、１２２、１２３、１２４，１２５、１２６のいずれか２つ以上が回転することによってＴＣＰがｚ軸と垂直な方向に移動する。その結果、第一状態からマーカー中心ＭＣを中心としてＴＣＰが予め決められた角度だけ回転したことになり、撮像部２とＴＣＰとマーカー中心ＭＣの位置関係が第一状態から第三状態を経て第二状態に遷移する。第二状態では図５Ｄに示すように撮像部２によって撮像される画像の重心にマーカー中心ＭＣが位置する。すなわち第一状態から第二状態への遷移の過程において、画像座標系では、図５Ａから図５Ｃに示すように画像の重心を中心としてＴＣＰが回転することになる。なお、第三状態から第二状態への遷移の過程において、複数の画像を撮像し、撮像した複数の画像に基づいて、画像の重心にマーカー中心ＭＣが位置するようにフィードバック制御してもよい。これにより、撮像部２の座標系とロボット１の座標系の校正が正確に行われていない状態であっても、画像の重心をマーカー中心ＭＣに精度よく位置合わせした第二状態にすることが可能になる。たとえばＰＣ３は撮像部２によって撮像される画像の重心にマーカー中心ＭＣが移動するように目標値を導出してＴＣＰを動かす。続いてＰＣ３は、撮像部２から画像を取得して画像の重心とマーカー中心ＭＣの距離を導出し、画像の重心とマーカー中心ＭＣの距離が予め決められた閾値未満であるか否かを判定する。画像の重心とマーカー中心ＭＣの距離が予め決められた閾値未満でなければ、ＰＣ３は、画像の重心とマーカー中心ＭＣの距離が予め決められた閾値未満になるまで、画像の重心にマーカー中心ＭＣが移動するように繰り返し目標値を導出してＴＣＰを動かすことにより、正確に第二状態に遷移させる。
【００３３】
画像の重心は、レンズ２０２の光軸に対応するため、レンズ２０２の歪みが、画像の重心から外れたところと比べると少ない。したがって本実施例のようにロボット座標系と画像座標系とが正確に校正されていない状態であっても、ＴＣＰの画像座標系における回転中心である基準点と画像の重心の関係には歪みが少ない。しかし、本実施例では、基準点を中心にＴＣＰを回転させることができればよいため、基準点と画像上の特定点の関係に歪みがあったとしても、特定点を動かさない限り、問題にならない。したがって、ＴＣＰを回転させる基準点に対応する点は画像の重心でなくても良い。
【００３４】
画像座標系において画像の重心を中心としてＴＣＰを回転させると、ＰＣ３は、ステップＳ７２の実行後のＴＣＰの位置と、ステップＳ７３のＴＣＰの位置とに基づいてＴＣＰに対するマーカー中心ＭＣのオフセットを導出して設定する（Ｓ７４）。ここで図５Ｄを参照しながらロボット座標系において第一状態と第二状態とを説明する。まず図５Ａに示す第一画像が撮像部２によって撮像可能な状態が第一状態であり、ＴＣＰが画像の重心を中心として回転するようにアーム１１の姿勢を変化することによって図５Ｃに示す第二画像が撮像部２によって撮像可能になった状態が第二状態である。なお、図５Ａに示すような第一画像が撮像部２によって撮像可能な状態が第一状態にするためのＴＣＰの位置と、図５Ｃに示すような第二画像が撮像部２によって撮像可能になる第二状態にするためのＴＣＰの位置とをロボット座標系で特定することは、オフセットを導出するために必要であるが、第一画像および第二画像は必ずしも撮像しなくとも良い。第一状態から第二状態に遷移する過程において、ＴＣＰはｚ方向に移動せずにマーカー中心Ｍを中心として回転する。この過程においてＴＣＰはマーカー中心ＭＣを中心とする円弧の軌跡を描く。この円弧の半径はＴＣＰからマーカー中心ＭＣまでの距離と等しく、円弧の中心角は第一状態から第二状態にＴＣＰを回転させた角度に等しい。そこでオフセット設定部３５は、第一状態と第二状態とについて、ＴＣＰのｘ、ｙ座標を、マーカー中心ＭＣのｘ、ｙ座標と、円弧の中心角θと、円弧の半径ｒとで表して連立方程式を解き、ロボット座標系においてマーカー中心ＭＣのｘ座標およびｙ座標を導出する。第一状態、第二状態のＴＣＰのｘ座標及びｙ座標は既知であり、ロボット座標系と回転軸部材１２６に固定された座標系（ＴＣＰに固定された座標系）の対応関係も既知である。そこでオフセット設定部３５は、第一状態、第二状態のいずれか一方のＴＣＰのｘ座標及びｙ座標と、マーカー中心ＭＣのｘ座標およびｙ座標とに基づいて、回転軸部材１２６の回転軸に垂直な２軸の方向についてＴＣＰに対するツールＴのオフセット成分を導出して設定する。
【００３５】
ところで、本実施例では撮像部２の撮像方向Ａとロボット座標系のｚ軸が平行であることを前提としているが、図６Ａに示すように撮像部２の撮像方向Ａとロボット座標系のｚ軸が非平行であっても、問題なくツールＴのオフセットを導出することができる。すなわち、第一状態から第二状態に遷移する過程でのＴＣＰの回転軸は撮像部２の撮像方向Ａと平行でも非平行でも良い。なぜならば、第一状態から第二状態にかけてＴＣＰは、撮像方向Ａと平行な軸ではなくｚ軸と平行な軸の周りを回転し、ステップＳ７４でオフセットを導出する際にＴＣＰの画像座標を用いる必要がなく、ロボット座標系の方程式を解くことによってオフセットを導出できるからである。すなわち、図６Ａに示すように撮像部２の撮像方向Ａとロボット座標系のｚ軸が非平行であっても、ロボット座標系におけるＴＣＰとマーカー中心ＭＣの関係は、図６Ｂに示すように、撮像部２の撮像方向Ａとロボット座標系のｚ軸が平行である場合と変わらないからである。したがって第一状態から第二状態に遷移する過程において、ＴＣＰが回転する回転軸は、ｚ軸と平行でなくとも良いし、撮像方向Ａと平行でなくとも良い。例えば第一状態からツールＴを回転させるときに回転軸部材１２６以外のｚ軸と平行でない回転軸部材の１つを回転させ、回転した回転軸部材と回転軸が平行な他の２つの回転軸を回転させることによってマーカー中心ＭＣが画像の重心に移動するようにツールＴを並進させても良い。
【００３６】
以上説明したツールセット処理では、撮像部２によってマーカーＭを撮像可能な位置にジョグ送り操作でＴＣＰを動かしさえすれば、回転軸部材１２６の回転軸と平行な１軸を除く残りの２軸の成分についてＴＣＰに対するツールＴのオフセットを自動的に導出して設定することができる。したがって、ロボット１のオフセットの設定が容易に短時間で実行可能になる。そして、画像内の基準点に対応する実空間の参照点であるマーカー中心ＭＣを中心としてツールＴを回転させるにあたっては、基準点が実空間のどの点に対応するかが未知であっても、撮像部２によって撮像される画像に基づいてアーム１１を制御する限り、実空間の１点である参照点を中心にツールＴを回転させることが可能である。すなわち、撮像部２の座標系とロボット１の座標系が校正されていない状態であっても、アーム１１のＴＣＰに対するツールＴのオフセットを自動的に設定することができる。
【００３７】
４．撮像部のオフセット設定
以上説明したツールオフセット処理は、撮像部２をアーム１１に装着した状態でロボット１を使用するために、アーム１１に対する撮像部２のオフセットを導出して設定する作業に応用することができる。以下、図７に示すように第五アーム１１５に取り付けられた撮像部２のオフセットを導出して設定する方法について説明する。ここで撮像部２は、その撮像方向Ａが回転軸部材１２６の回転軸と平行になるように第五アーム１１５にステー等によって固定されるものとする。そして、ｚ軸と垂直に予め決められた基準平面をロボットビジョンの対象とする。すなわち、撮像部２から出力される画像を用いたロボット１の制御は、撮像部２の撮像方向Ａがｚ軸と垂直な状態で実行される。このような前提において、撮像部２のオフセットは、第五アーム１１５の回転軸と平行な１軸と、その１軸に直交する２軸とを有し、第五アーム１１５の回転軸とともに回転する座標系の座標として設定される。より詳細には、レンズ２０２の光軸の位置を、第五アーム１１５の回転軸に直交する２軸の座標で表した値を撮像部２のオフセットとして導出するものとする。
【００３８】
このような撮像部２のオフセットを導出して設定するにあたっては、基準平面に固定された参照点を中心に撮像部２をｘｙ平面上で回転させる必要がある。そこで、作業台９の上面を基準平面と仮定して、マーカーＭを作業台９の上面に貼付し、マーカーＭの中心ＭＣを参照点として用いることとする。すると、第五アーム１１５に固定された撮像部２によって撮像される作業台９に貼付されたマーカーＭの中心ＭＣを、作業台９に固定された撮像部２によって撮像されるツールＴに貼付されたマーカーＭの中心ＭＣとみなせば、上述したツールオフセット処理と全く同じ手順でアーム１１に対する撮像部２のオフセットを導出して設定することができる。そして、画像内の基準点に対応する実空間の参照点を中心として撮像部２を回転させるにあたっては、基準点が実空間のどの点に対応するかが未知であっても、撮像部２によって撮像される画像に基づいてアーム１１を制御する限り、実空間の１点である参照点を中心に撮像部２を回転させることが可能である。すなわち、撮像部２の座標系とロボット１の座標系が校正されていない状態であっても、アーム１１に対する撮像部２のオフセットを自動的に設定することができる。
【００３９】
図４を参照しながら撮像部２のオフセットを導出して設定する手順を説明する。オペレーターは、ツールセット開始指示をＰＣ３に入力する前に、撮像部２を第五アーム１１５に正しく装着し、マーカーＭを作業台に貼付して、撮像部２によってマーカーＭを撮像可能な位置にジョグ送り操作でＴＣＰを動かしておく。
【００４０】
オペレーターの入力に応じて指示受付部３０がツールセット開始指示を取得すると（ステップＳ７１）、ＰＣ３は、撮像部２によって撮像される画像の重心にマーカー中心ＭＣが位置するようにＴＣＰを移動させて第一状態にする（ステップＳ７２）。ここでＴＣＰの位置は、回転軸部材１２６の回転と無関係であり、ＴＣＰの位置も、撮像部２の位置も、回転軸部材１２１〜１２５の回転角度によって決まる。すなわち、撮像部２と第五アーム１１５とＴＣＰの位置関係は相互に固定されている。したがって、ツールＴのオフセットを導出する際に実行するステップＳ７２の処理と、撮像部２のオフセットを導出する際に実行するステップＳ７２の処理とは同一である。
【００４１】
撮像部２によって撮像される画像の重心にマーカー中心ＭＣが位置する第一状態になると、ＰＣ３は、画像座標系において画像の重心を中心としてＴＣＰが回転して第二状態になるようにアーム１１の姿勢を変化させる（ステップＳ７３）。ここでも撮像部２と第五アーム１１５とＴＣＰの位置関係は相互に固定されている。したがって、ツールＴのオフセットを導出する際に実行するステップＳ７３の処理と、撮像部２のオフセットを導出する際に実行するステップＳ７３の処理とは同一である。すなわち第一状態から第二状態に遷移する過程において、画像取得部３１は、マーカー中心ＭＣが画像の重心から離れた第三画像を撮像部２から取得し、目標値導出部３２は第三画像に基づいて第二状態にするための目標値を導出する。
【００４２】
画像座標系において画像の重心を中心としてＴＣＰを回転させて第二状態になると、ＰＣ３は、ステップＳ７２の実行後のＴＣＰの位置と、ステップＳ７３のＴＣＰの位置とに基づいて第五アーム１１５に対する撮像部２のオフセットを導出して設定する（Ｓ７４）。ここでも撮像部２と第五アーム１１５とＴＣＰの位置関係は相互に固定されている。したがって、ツールＴのオフセットを導出する際に実行するステップＳ７４の処理と、撮像部２のオフセットを導出する際に実行するステップＳ７４の処理とは同一である。
【００４３】
なお、撮像部２の撮像方向Ａとロボット座標系のｚ軸が平行であることを前提として、撮像部２のオフセットを導出しているが、撮像部２の撮像方向Ａとロボット座標系のｚ軸が非平行であっても、問題なく撮像部２のオフセットを導出できることも、既に述べたとおりである。
【００４４】
５．他の実施形態
尚、本発明の技術的範囲は、上述した実施例に限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々変更を加え得ることは勿論である。例えば本発明は、６軸以外の垂直多関節ロボットにも適用できるし、アームの回転軸が全て平行なスカラ型ロボットにも適用できる。
【符号の説明】
【００４５】
１３１〜１３６…モーター、１１１〜１１５…アーム、１…ロボット、２…撮像部、３…ＰＣ、９…作業台、１４…制御部、３１…画像取得部、３２…目標値導出部、３３…出力部、３４…校正部、３５…オフセット設定部、１１０…基台、１１１…第一アーム、１１２…第二アーム、１１３…第三アーム、１１４…第四アーム、１１５…第五アーム、１２１〜１２６…回転軸部材、１３１〜１３６…モーター、２０１…レンズ、２０２…エリアイメージセンサー、１２６１…ツールチャック、Ｍ…マーカー
【図１】
2016187846.tif 000003
【図２】
2016187846.tif 000004
【図３】
2016187846.tif 000005
【図４】
2016187846.tif 000006
【図５】
2016187846.tif 000007
【図６】
2016187846.tif 000008
【図７】
2016187846.tif 000009