(57)【要約】【課題】第１撮像部を移動させて周辺機器等に干渉しない箇所で第１対応付けをすることができる制御装置、かかる制御装置により制御されているロボット、および、かかる制御装置とロボットとを備えるロボットシステムを提供すること。【解決手段】マーカーを含むツールが設けられた可動部を有するロボットを制御する制御装置であって、前記マーカーを撮像する移動可能な第１撮像部により前記マーカーが撮像された第１撮像画像を取得する取得部と、前記第１撮像部が移動した後、前記取得部が取得した前記第１撮像画像に基づいて前記第１撮像部の座標系と前記ロボットの座標系との第１対応付けを行う制御部と、を備えることを特徴とする制御装置。【選択図】図１
2018094648.tif 000002
【特許請求の範囲】
【請求項１】
マーカーを含むツールが設けられた可動部を有するロボットを制御する制御装置であって、
前記マーカーを撮像する移動可能な第１撮像部により前記マーカーが撮像された第１撮像画像を取得する取得部と、
前記第１撮像部が移動した後、前記取得部が取得した前記第１撮像画像に基づいて前記第１撮像部の座標系と前記ロボットの座標系との第１対応付けを行う制御部と、を備えることを特徴とする制御装置。
【請求項２】
前記制御部は、複数の位置において前記第１対応付けを行う請求項１に記載の制御装置。
【請求項３】
前記制御部は、第１位置において前記第１対応付けを行い、
前記第１位置とは異なる第２位置において前記第１位置における前記第１対応付けを用いて前記ロボットの駆動を制御する請求項１に記載の制御装置。
【請求項４】
前記第１撮像部の移動における繰り返し精度をＲ１とし、前記ロボットの作業における繰り返し精度をＲ２としたとき、０．８≦Ｒ１／Ｒ２≦１．２である請求項３に記載の制御装置。
【請求項５】
前記制御部は、前記マーカーを撮像する第２撮像部の座標系と前記ロボットの座標系との第２対応付けを行った後、前記取得部は、前記第２撮像部により前記マーカーが撮像された第２撮像画像を取得し、前記制御部は、前記取得部が取得した前記第２撮像画像に基づいて前記ロボットの座標系における前記マーカーの位置を算出する請求項１ないし４のいずれか１項に記載の制御装置。
【請求項６】
前記制御部は、前記ロボットの座標系における前記マーカーの位置を算出した後、前記ロボットの座標系における前記マーカーの位置に基づいて前記ロボットの所定の部位と前記マーカーとのオフセットを算出し、前記オフセットと前記第１撮像画像とに基づいて前記第１対応付けを行う請求項１ないし５のいずれか１項に記載の制御装置。
【請求項７】
前記マーカーは、光透過性を有する透過部である請求項１ないし６のいずれか１項に記載の制御装置。
【請求項８】
前記第１撮像部は、前記可動部とは異なる箇所に設けられている請求項７に記載の制御装置。
【請求項９】
請求項１ないし８のいずれか１項に記載の制御装置によって制御され、マーカーを含むツールが設けられた可動部を有することを特徴とするロボット。
【請求項１０】
請求項１ないし８のいずれか１項に記載の制御装置と、当該制御装置によって制御され、マーカーを含むツールが設けられた可動部を有するロボットと、撮像する機能を有する第１撮像部とを備えることを特徴とするロボットシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、制御装置、ロボットおよびロボットシステムに関するものである。
【背景技術】
【０００２】
従来から、対象物に対して作業を行うエンドエフェクターを備えたロボットアームと、ロボットアームの先端部に取り付けられたカメラとを有するロボットと、当該ロボットの駆動を制御する制御装置と、を備えたロボットシステムが知られている。
【０００３】
このようなロボットシステムの一例として、例えば特許文献１には、アームを備えたロボットと、ロボットのアーム先端部に取り付けられたツールと、ロボットの周辺に設置されたカメラと、を備えた計測装置について開示されている。この計測装置では、カメラを用いて、ロボットのツール取付面に対するツールの位置を計測する。また、一般的に、計測したツールの位置は、カメラの座標系とロボットとの座標系とのキャリブレーションに用いられる。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００５−３００２３０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ここで、特許文献１に記載の計測装置では、カメラがロボットの周辺の箇所に固定して設けられている。そのため、この計測装置によりツールの位置を計測する際やキャリブレーションを実行する際に、ロボットとその周辺機器との配置関係によってはロボットが周辺機器に干渉するおそれがあった。その結果、ツールの位置の計測やキャリブレーションの実行を的確に行うことができないという問題があった。
【課題を解決するための手段】
【０００６】
本発明は、上述した課題の少なくとも一部を解決するためになされたものであり、以下により実現することが可能である。
【０００７】
本発明の制御装置は、マーカーを含むツールが設けられた可動部を有するロボットを制御する制御装置であって、
前記マーカーを撮像する移動可能な第１撮像部により前記マーカーが撮像された第１撮像画像を取得する取得部と、
前記第１撮像部が移動した後、前記取得部が取得した前記第１撮像画像に基づいて前記第１撮像部の座標系と前記ロボットの座標系との第１対応付けを行う制御部と、を備えることを特徴とする。
このような本発明の制御装置によれば、第１撮像部を移動させて周辺機器等に干渉しない箇所で第１対応付け（キャリブレーション）を行うことができる。このため、比較的狭い領域でも第１対応付けを行うことができる。また、第１撮像部を移動させた後に停止させた状態で第１対応付けを行うことができるため、第１撮像部の移動方向を考慮する必要がない。そのため、第１撮像部の座標系とロボットの座標系との第１対応付けが容易である。
【０００８】
本発明の制御装置では、前記制御部は、複数の位置において前記第１対応付けを行うことが好ましい。
これにより、第１撮像部を移動させる毎に第１対応付けすることで、各箇所でのロボットの作業の精度を特に高めることができる。
【０００９】
本発明の制御装置では、前記制御部は、第１位置において前記第１対応付けを行い、
前記第１位置とは異なる第２位置において前記第１位置における前記第１対応付けを用いて前記ロボットの駆動を制御することが好ましい。
これにより、第１位置での第１対応付けのデータを基にして、第１位置とは異なる第２位置での第１対応付けを求めることができるため、第２位置での第１対応付けを行う手間を省くことができ、第２位置でも第１位置と同様にロボットの作業の精度を高めることができる。
【００１０】
本発明の制御装置では、前記第１撮像部の移動における繰り返し精度をＲ１とし、前記ロボットの作業における繰り返し精度をＲ２としたとき、０．８≦Ｒ１／Ｒ２≦１．２であることが好ましい。
このような関係を満足することで、例えば１つの任意の位置（第１位置）での第１対応付けのデータを基にした複数の位置での第１対応付けの精度を特に高めることができる。そのため、複数の位置でのロボットの作業の精度を任意の位置（第１位置）と同様に高めることができる。
【００１１】
本発明の制御装置では、前記制御部は、前記マーカーを撮像する第２撮像部の座標系と前記ロボットの座標系との第２対応付けを行った後、前記取得部は、前記第２撮像部により前記マーカーが撮像された第２撮像画像を取得し、前記制御部は、前記取得部が取得した前記第２撮像画像に基づいて前記ロボットの座標系における前記マーカーの位置を算出することが好ましい。
これにより、ロボットの所定の部位（例えばツールセンターポイント）に対するマーカーの位置、すなわちマーカーのオフセットを容易かつ適切に求めることができる。そのため、このマーカーのオフセットを用いることで、第１対応付けを適切に行うことができる。
【００１２】
本発明の制御装置では、前記制御部は、前記ロボットの座標系における前記マーカーの位置を算出した後、前記ロボットの座標系における前記マーカーの位置に基づいて前記ロボットの所定の部位と前記マーカーとのオフセットを算出し、前記オフセットと前記第１撮像画像とに基づいて前記第１対応付けを行うことが好ましい。
これにより、第１撮像部により所定の部位を撮像することができなくても、マーカーの位置およびオフセットを基にして第１対応付けを適切に行うことができる。
【００１３】
本発明の制御装置では、前記マーカーは、光透過性を有する透過部であることが好ましい。
これにより、例えばマーカーの輪郭を明確に認識することができ、第１撮像画像の取り込み精度を向上させることができ、マーカーの測定精度を高めることができる。そのため、第１対応付けをより高精度に行うことができる。
【００１４】
本発明の制御装置では、前記第１撮像部は、前記可動部とは異なる箇所に設けられていることが好ましい。
これにより、例えばロボットの周辺に設けられた第１撮像部における第１対応付けを行うことができる。
【００１５】
本発明のロボットは、本発明の制御装置によって制御され、マーカーを含むツールが設けられた可動部を有することを特徴とする。
このようなロボットによれば、制御装置の制御の下、第１対応付けにかかる動作を的確に行うことができる。
【００１６】
本発明のロボットシステムは、本発明の制御装置と、当該制御装置によって制御され、マーカーを含むツールが設けられた可動部を有するロボットと、撮像する機能を有する第１撮像部とを備えることを特徴とする。
このようなロボットシステムによれば、第１撮像部を移動させて周辺機器等に干渉しない箇所で第１対応付けを行うことができ、また、制御装置の制御の下、ロボットは第１対応付けにかかる動作を的確に行うことができる。
【図面の簡単な説明】
【００１７】
【図１】本発明の第１実施形態に係るロボットシステムの斜視図である。
【図２】図１に示すロボットシステムのシステム構成図である。
【図３】図１に示すロボットシステムが有するロボットを示す側面図である。
【図４】図１に示すロボットシステムの作業空間を示す側面図である。
【図５】図１に示すロボットシステムが有する移動機構を示す斜視図である。
【図６】図１に示すロボットシステムによるキャリブレーションの流れを示すフロー図である。
【図７】図６に示すステップＳ１１を説明するためのフロー図である。
【図８】図６に示すステップＳ１１におけるロボットの状態の一例を示す図である。
【図９】図６に示すステップＳ１１において用いる複数の基準点を示す図である。
【図１０】図６に示すステップＳ１２を説明するためのロボットの概略図である。
【図１１】図３に示すロボットが有するロボットアームに取り付けられた治具の平面図である。
【図１２】図６に示すステップＳ１２におけるロボットの状態の一例を示す図である。
【図１３】図６に示すステップＳ１２における第２撮像画像の一例を示す図である。
【図１４】図６に示すステップＳ１２を説明するための参考図である。
【図１５】図６に示すステップＳ１３を説明するためのフロー図である。
【図１６】図６に示すステップＳ１３におけるロボットの状態の一例を示す図である。
【図１７】図６に示すステップＳ１３における第１撮像画像の一例を示す図である。
【図１８】本発明の第２実施形態に係るロボットシステムにおけるキャリブレーションでのステップＳ１３を説明するためのフロー図である。
【発明を実施するための形態】
【００１８】
以下、本発明の制御装置、ロボットおよびロボットシステムを添付図面に示す好適な実施形態に基づいて詳細に説明する。
【００１９】
［第１実施形態］
≪ロボットシステム≫
【００２０】
図１は、本発明の第１実施形態に係るロボットシステムの斜視図である。図２は、図１に示すロボットシステムのシステム構成図である。図３は、図１に示すロボットシステムが有するロボットを示す側面図である。図４は、図１に示すロボットシステムの作業空間を示す側面図である。図５は、図１に示すロボットシステムが有する移動機構を示す斜視図である。なお、以下では、説明の便宜上、図１中の上側を「上」、下側を「下」と言う。また、説明の便宜上、図１中に、互いに直交する３つの軸であるＸ軸、Ｙ軸およびＺ軸を矢印で図示しており、その矢印の先端側を「＋（プラス）」、基端側を「−（マイナス）」としている。また、図３中の基台１１０側を「基端」、その反対側（エンドエフェクターとしての吸着部１５０側）を「先端」と言う。また、図１の上下方向を「鉛直方向」とし、左右方向を「水平方向」とする。本明細書において、「水平」とは、完全に水平な場合のみならず、水平に対して±５°以内で傾斜している場合も含む。同様に、本明細書において、「鉛直」とは、完全に鉛直な場合のみならず、鉛直に対して±５°以内で傾斜している場合も含む。また、本明細書において、「平行」とは、２つの線（軸を含む）または面が、互いに完全な平行である場合のみならず、±５°以内で傾斜している場合も含む。また、本明細書において、「直交」とは、２つの線（軸を含む）または面が、互いに完全な直交である場合のみならず、±５°以内で傾斜している場合も含む。
【００２１】
図１に示すロボットシステム１００は、例えば、電子部品および電子機器等の対象物８００の保持、搬送および組立て等の作業で用いられる装置である。
【００２２】
図１に示すように、ロボットシステム１００は、セル８０と、ロボット１と、第２撮像部４と、第１撮像部３と、移動機構７と、コンベアー８１と、複数の作業部８２と、制御装置５と、を有する。
【００２３】
〈セル〉
図１に示すように、セル８０は、筐体としての機能を有する。セル８０は、基部８０１と、基部８０１の上面８０４上の角部に設けられた複数の柱８０２（側面部）と、複数の柱８０２上に設けられた天井部８０３と、を有する。また、上面８０４と複数の柱８０２と天井部８０３とで囲まれた領域は、ロボット１が作業する作業空間Ｓを構成している。この作業空間Ｓには、ロボット１、第２撮像部４、第１撮像部３、移動機構７、コンベアー８１および複数の作業部８２が設置されている。なお、セル８０は、図示はしないが、移動可能であり、移設を容易に行えるよう構成されている。また、セル８０の構成は、筐体として機能するものであればよく、図示のものに限定されない。
【００２４】
〈ロボット〉
図１に示すように、ロボット１は、天井部８０３に取り付けられている。図３に示すように、ロボット１は、いわゆる水平多関節ロボット（スカラロボット）であり、基台１１０と、基台１１０に接続されたロボットアーム１０（可動部）とを有する。ロボットアーム１０は、第１アーム１０１（アーム）と、第２アーム１０２（アーム）と、作業ヘッド１０４と、吸着部１５０とを有している。また、図２および図３に示すように、ロボット１は、ロボットアーム１０を駆動させる動力を発生させる複数の駆動部１３０と、位置センサー１３１とを有する。
【００２５】
図３に示す基台１１０は、ロボット１を天井部８０３に取り付ける部分である。基台１１０の下端部には、基台１１０に対して鉛直方向に沿う第１軸Ｊ１（回動軸）まわりに回動可能な第１アーム１０１が連結されている。また、第１アーム１０１の先端部には、第１アーム１０１に対して鉛直方向に沿う第２軸Ｊ２（回動軸）まわりに回動可能な第２アーム１０２が連結されている。また、第２アーム１０２には、作業ヘッド１０４が配置されている。作業ヘッド１０４は、第２アーム１０２の先端部に同軸的に配置されたスプラインナットおよびボールネジナット（ともに図示せず）に挿通されたスプラインシャフト１０３（アーム）を有している。スプラインシャフト１０３は、第２アーム１０２に対して、その第３軸Ｊ３まわりに回動可能であり、かつ、上下方向に移動（昇降）可能となっている。
【００２６】
図３に示すように、スプラインシャフト１０３の先端部（下端部）には、エンドエフェクターとして、図１に示す対象物８００等を吸着して保持することが可能な吸着パッドを備える吸着部１５０が着脱可能に取り付けられている。なお、本実施形態では、エンドエフェクターとして吸着部１５０を用いているが、エンドエフェクターとしては、各種対象物等に対して作業（対象部材の保持等）を行う機能を有すれば如何なる構成であってもよい。
【００２７】
また、吸着部１５０は、設計上、吸着部１５０の中心軸がスプラインシャフト１０３の第３軸Ｊ３と一致するように取り付けられている。そのため、吸着部１５０は、スプラインシャフト１０３の回動に伴って回動する。ここで、図３に示すように、吸着部１５０の先端中心をツールセンターポイントＴＣＰという。
【００２８】
また、ロボットアーム１０の先端部には、後述するキャリブレーションで用いるマーカー６１を有する治具６が着脱可能に取り付けられている。なお、治具６については、後述するキャリブレーションにおいて説明する。
【００２９】
また、図３に示すように、基台１１０内には、第１アーム１０１を駆動（回動）させる駆動部１３０が設置されている。また、同様に、第１アーム１０１内には、第２アーム１０２を駆動させる駆動部１３０が設けられており、作業ヘッド１０４内には、スプラインシャフト１０３を駆動させる駆動部１３０が設置されている。すなわち、ロボット１は、３つの駆動部１３０を有している。駆動部１３０は、駆動力を発生させるモーター（図示せず）とモーターの駆動力を減速する減速機（図示せず）とを有する。駆動部１３０が有するモーターとしては、例えば、ＡＣサーボモーター、ＤＣサーボモーター等のサーボモーターを用いることができる。減速機としては、例えば、遊星ギア型の減速機、波動歯車装置等を用いることができる。また、各駆動部１３０には、モーターまたは減速機の回転軸の回転角度を検出する位置センサー１３１（角度センサー）が設けられている（図２および図３参照）。
【００３０】
また、各駆動部１３０は、図３に示す基台１１０に内蔵されたモータードライバー１２０に電気的に接続されている。このモータードライバー１２０を介して各駆動部１３０は制御装置５により制御されている。
【００３１】
このような構成のロボット１では、図３に示すように、ロボット１の基台１１０を基準としたベース座標系として、水平方向に対してそれぞれ平行なｘｒ軸とｙｒ軸と、水平方向に対して直交し、かつ、鉛直上向きを正方向とするｚｒ軸とによって定まる３次元の直交座標系を設定している。本実施形態では、ベース座標系は、基台１１０の下端面の中心点を原点としている。ｘｒ軸に対する並進成分を「成分ｘｒ」とし、ｙｒ軸に対する並進成分を「成分ｙｒ」とし、ｚｒ軸に対する並進成分を「成分ｚｒ」とし、ｚｒ軸周りの回転成分を「成分ｕｒ」とし、ｙｒ軸周りの回転成分を「成分ｖｒ」とし、ｘｒ軸周りの回転成分を「成分ｗｒ」とする。成分ｘｒ、成分ｙｒおよび成分ｚｒの長さ（大きさ）の単位は「ｍｍ」であり、成分ｕｒ、成分ｖｒおよび成分ｗｒの角度（大きさ）の単位は「°」である。
【００３２】
また、ロボット１では、吸着部１５０の先端部を基準とした先端座標系が設定されている。先端座標系は、互いに直交するｘａ軸、ｙａ軸およびｚａ軸とによって定まる３次元の直交座標系である。本実施形態では、先端座標系は、ツールセンターポイントＴＣＰを原点としている。また、ベース座標系と先端座標系との校正（キャリブレーション）は済んでおり、ベース座標系を基準とした先端座標系の座標を算出することができる状態である。また、ｘａ軸に対する並進成分を「成分ｘａ」とし、ｙａ軸に対する並進成分を「成分ｙａ」とし、ｚａ軸に対する並進成分を「成分ｚａ」とし、ｚａ軸周りの回転成分を「成分ｕａ」とし、ｙａ軸周りの回転成分を「成分ｖａ」とし、ｘａ軸周りの回転成分を「成分ｗａ」とする。成分ｘａ、成分ｙａおよび成分ｚａの長さ（大きさ）の単位は「ｍｍ」であり、成分ｕａ、成分ｖａおよび成分ｗａの角度（大きさ）の単位は「°」である。
【００３３】
以上、ロボット１の構成について簡単に説明した。このようなロボット１は、上述したように基台１１０が天井部８０３に取り付けられており、基台１１０よりもロボットアーム１０が鉛直下方に位置している（図１参照）。これにより、ロボット１に対して鉛直下方の領域におけるロボット１の作業性を特に高めることができる。
【００３４】
なお、ロボット１は、図示はしないが、例えば、吸着部１５０に加わる力（モーメントを含む）を検出する力覚センサー（例えば、６軸力覚センサー）等で構成された力検出部を備えていてもよい。
【００３５】
〈第２撮像部〉
図４に示すように、第２撮像部４は、セル８０が有する基部８０１の上面８０４に固定されている。この第２撮像部４は、撮像機能を有し、鉛直方向上方を撮像できるように設置されている。
【００３６】
第２撮像部４は、例えば、複数の画素を有するＣＣＤ（Charge Coupled Device）イメージセンサで構成された撮像素子４１と、レンズ４２（光学系）と、同軸落射照明４３とを有する。この第２撮像部４は、撮像対象で反射した光をレンズ４２によって撮像素子４１の受光面（センサー面）で結像させて、光を電気信号に変換し、その電気信号を制御装置５へと出力する。ここで、受光面とは、撮像素子４１の表面であって、光が結像する面である。なお、本実施形態では、照明として同軸落射照明４３に限定されず、例えば、透過照明等であってもよい。また、第２撮像部４は、設計上、その光軸Ａ４（レンズ４２の光軸）が鉛直方向に沿うように設けられている。
【００３７】
このような第２撮像部４は、第２撮像部４の画像座標系（第２撮像部４から出力される第２撮像画像４０の座標系）として、第２撮像画像４０の面内方向に対してそれぞれ平行なｘｃ軸とｙｃ軸とによって定まる２次元の直交座標系を設定している（図１３参照）。また、ｘｃ軸に対する並進成分を「成分ｘｃ」とし、ｙｃ軸に対する並進成分を「成分ｙｃ」とし、ｘｃ−ｙｃ平面の法線周りの回転成分を「成分ｕｃ」とする。成分ｘｃおよび成分ｙｃの長さ（大きさ）の単位は「ピクセル」であり、成分ｕｃの角度（大きさ）の単位は「°」である。なお、第２撮像部４の画像座標系は、第２撮像部４のカメラ視野に写る３次元直交座標を、レンズ４２の光学特性（焦点距離、歪みなど）と撮像素子４１の画素数および大きさとを加味して非線形変換した２次元の直交座標系である。
【００３８】
〈第１撮像部〉
図４に示すように、第１撮像部３は、移動機構７に取り付けられている。この第１撮像部３は、撮像機能を有し、鉛直方向下方を撮像できるように設置されている。
【００３９】
第１撮像部３は、例えば、複数の画素を有するＣＣＤイメージセンサで構成された撮像素子３１と、レンズ３２（光学系）と、同軸落射照明３３とを有する。この第１撮像部３は、撮像対象で反射した光をレンズ３２によって撮像素子３１の受光面（センサー面）で結像させて、光を電気信号に変換し、その電気信号を制御装置５へと出力する。ここで、受光面とは、撮像素子３１の表面であって、光が結像する面である。なお、本実施形態では、照明として同軸落射照明３３に限定されず、例えば、透過照明等であってもよい。また、第１撮像部３は、設計上、その光軸Ａ３（レンズ３２の光軸）が鉛直方向に沿うように設けられている。
【００４０】
このような第１撮像部３は、第１撮像部３の画像座標系（第１撮像部３から出力される第１撮像画像３０の座標系）として、第１撮像画像３０の面内方向に対してそれぞれ平行なｘｂ軸とｙｂ軸とによって定まる２次元の直交座標系を設定している（図１７参照）。また、ｘｂ軸に対する並進成分を「成分ｘｂ」とし、ｙｂ軸に対する並進成分を「成分ｙｂ」とし、ｘｂ−ｙｂ平面の法線周りの回転成分を「成分ｕｂ」とする。成分ｘｂおよび成分ｙｂの長さ（大きさ）の単位は「ピクセル」であり、成分ｕｂの角度（大きさ）の単位は「°」である。なお、第１撮像部３の画像座標系は、第１撮像部３のカメラ視野に写る３次元直交座標を、レンズ３２の光学特性（焦点距離、歪みなど）と撮像素子３１の画素数および大きさとを加味して非線形変換した２次元の直交座標系である。
【００４１】
〈移動機構〉
図１および図４に示すように、移動機構７は、セル８０の柱８０２に取り付けられている。図５に示すように、移動機構７は、第１撮像部３を移動させる機能を有し、Ｘ軸、Ｙ軸およびＺ軸の直交３軸（図５中の矢印ａ１１、ａ１２、ａ１３の３方向）に第１撮像部３を往復移動させることが可能である。すなわち、移動機構７は、水平面内および鉛直方向に沿って第１撮像部３を移動させることができる。なお、移動機構７は、第１撮像部３を移動させることが可能であればよく、移動機構７による第１撮像部３の移動方向は直交３軸に限定されず任意である。例えば、１方向にのみ移動可能な構成であってもよい。
【００４２】
移動機構７は、図示はしないが、第１撮像部３を移動させるための動力を発生させる動力源と、駆動源の動力を第１撮像部３に伝達する動力伝達機構と、動力伝達機構に接続され、第１撮像部３を支持する支持部材と、動力伝達機構に伝達された動力に基づき支持部材を所定の移動方向に沿った移動を案内するレールと、を有する。駆動源としては、例えば、サーボモーター、リニアモーター等のモーターや、油圧シリンダー、空気圧シリンダー等を備えるものが挙げられる。また、動力伝達機構としては、例えば、ベルト、歯車、ラックおよびピニオンの組み合わせ、ボールねじおよびボールナットの組み合わせ等を備えるものが挙げられる。
【００４３】
〈コンベアー〉
図１に示すように、コンベアー８１は、セル８０が有する基部８０１の上面８０４に設置されていて、移動機構７の下方に位置している。本実施形態では、コンベアー８１には、対象物８００が載置されており、コンベアー８１は、この対象物８００をＹ軸方向に沿って搬送する機能を有する。なお、コンベアー８１の搬送方向はこれに限定されず任意である。また、コンベアー８１は、移動機構７の下方に設けられていることで、コンベアー８１によって搬送された対象物８００は、第１撮像部３により撮像することができる。
【００４４】
なお、コンベアー８１の具体的な構成としては、対象物８００を搬送可能であればいかなる構成であってもよく、例えば、ベルトコンベアー、ローラーコンベアー、チェーンコンベアー等が挙げられる。
【００４５】
〈作業部〉
図１に示すように、複数の作業部８２は、セル８０が有する基部８０１の上面８０４に設置されている。１つの作業部８２は、セル８０の＋Ｘ軸側に設けられており、他の作業部８２は、セル８０の−Ｙ軸側に設けられている。これらの作業部８２は、例えば作業台等で構成されており、作業部８２においてロボット１は対象物８００に対する梱包や対象物８００の組立て等の各種作業を行う。なお、作業部８２は、例えば対象物８００が供給される供給部としての機能や、対象物８００を検査する検査部として機能してもよい。
【００４６】
〈制御装置〉
図１に示す制御装置５は、ロボット１、第１撮像部３および第２撮像部４の各部の駆動（作動）を制御する。制御装置５は、セル８０の基部８０１内に設けられている。制御装置５は、例えば、ＣＰＵ（Central Processing Unit）やＲＯＭ（Read Only Memory）およびＲＡＭ（Random Access Memory）が内蔵されたパーソナルコンピューター（ＰＣ）等で構成することができる。なお、制御装置５は、ロボット１、第１撮像部３および第２撮像部４のそれぞれに対して有線通信および無線通信のいずれにより接続されていてもよい。また、図２に示すように、制御装置５には、ディスプレイ等のモニター（図示せず）を備える表示装置８３と、例えばマウスやキーボード等を備える入力装置８４とに接続されている。
【００４７】
以下、制御装置５が備える各機能（機能部）について説明する。
図２に示すように、制御装置５は、表示制御部５１と、入力制御部５２と、制御部５３（ロボット制御部）と、入出力部５４（取得部）と、記憶部５５と、を備える。
【００４８】
表示制御部５１は、例えばグラフィックコントローラーで構成されており、表示装置８３に接続されている。この表示制御部５１は、表示装置８３のモニターに各種画面（例えば、操作用の画面等）を表示させる機能を有する。また、入力制御部５２は、入力装置８４に接続されており、入力装置８４からの入力を受け付ける機能を有する。
【００４９】
制御部５３は、ロボット１の駆動、第１撮像部３の作動および第２撮像部４の作動等を制御する機能、各種演算および判断等の処理をする機能等を有する。この制御部５３は、例えばＣＰＵ等で構成され、制御部５３の各機能は、ＣＰＵにより記憶部５５に記憶された各種プログラムを実行することにより実現することができる。
【００５０】
具体的には、制御部５３は、各駆動部１３０の駆動を制御し、ロボットアーム１０を駆動させたり停止させたりする。例えば、制御部５３は、各駆動部１３０に設けられた位置センサー１３１から出力された情報を基にして、吸着部１５０を目標位置に移動させるために各駆動部１３０が有するモーター（図示せず）の目標値を導出する。また、制御部５３は、入出力部５４で取得した位置センサー１３１、第１撮像部３および第２撮像部４等からの情報を基にして各種演算や各種判断等の処理を行う。例えば、制御部５３は、第１撮像画像３０（図１７参照）を基にして第１画像座標系における撮像対象の座標（成分ｘｂ、ｙｂ、ｕｂ：位置および姿勢）を演算したりする。同様に、制御部５３は、第２撮像画像４０（図１３参照）を基にして第２画像座標系における撮像対象の座標（成分ｘｃ、ｙｃ、ｕｃ：位置および姿勢）を演算したりする。また、例えば、制御部５３は、第１撮像部３の第１画像座標系での座標（第１画像座標）をロボット１の先端座標系での座標（ロボット座標）またはロボット１のベース座標系での座標（ベース座標）に変換するための補正パラメーターを求めたりする。また、同様に、制御部５３は、第２撮像部４の第２画像座標系での座標（第２画像座標）をロボット１の先端座標系での座標（ロボット座標）またはロボット１のベース座標系での座標（ベース座標）に変換するための補正パラメーターを求めたりする。なお、本実施形態では、ロボット１の先端座標を「ロボット座標」と捉えているが、ベース座標を「ロボット座標」と捉えてもよい。
【００５１】
なお、本実施形態では、制御部５３は、移動機構７の駆動を制御する機能を有しておらず、移動機構７の駆動は、図示しないＰＣ等で構成された移動機構制御装置に制御されているが、移動機構制御装置の代わりに制御部５３が、移動機構７の駆動を制御する機能を有していてもよい。また、本実施形態では、制御部５３は、第１撮像部３および第２撮像部４の作動を制御可能であるが、これらの制御は図示しないＰＣ等で構成された撮像部制御装置により制御されていてもよい。制御装置５は、少なくとも第１撮像部３および第２撮像部４からの情報を取得することができればよい。
【００５２】
入出力部５４（取得部）は、例えばインターフェイス回路等で構成され、ロボット１、第１撮像部３および第２撮像部４と情報のやり取りを行う機能を有する。例えば、入出力部５４は、ロボット１の各駆動部１３０が有するモーターまたは減速機の回転軸の回転角度、第１撮像画像３０および第２撮像画像４０等の情報を取得する機能を有する。また、入出力部５４は、移動機構７の移動量（第１撮像部３の移動量）等の情報を取得する機能を有する。また、例えば、入出力部５４は、制御部５３から導出されたモーターの目標値をロボット１に対して出力する。
【００５３】
記憶部５５は、例えばＲＡＭおよびＲＯＭ等で構成されており、制御装置５が各種処理等を行うためのプログラムや、各種データ等を記憶する。例えば、記憶部５５には、キャリブレーションを実行するプログラムやロボットアーム１０のツールセンターポイントＴＣＰを目標箇所に位置させるためのロボットアーム１０の各部の移動量等を記憶している。なお、記憶部５５は、制御装置５に内蔵されるもの（ＲＡＭおよびＲＯＭ等）に限らず、いわゆる外部記憶装置（図示せず）を有する構成であってもよい。
【００５４】
また、表示装置８３は、上述したように、ディスプレイ等のモニター（図示せず）を備えており、例えば第１撮像画像３０および第２撮像画像４０等を表示する機能を有する。したがって、作業者は、表示装置８３を介して第１撮像画像３０および第２撮像画像４０やロボット１の作業等を確認することができる。また、入力装置８４は、上述したように、例えばマウスやキーボード等で構成されている。したがって、作業者は、入力装置８４を操作することで、制御装置５に対して各種処理等の指示を行うことができる。なお、表示装置８３および入力装置８４の代わりに、表示装置８３および入力装置８４を兼ね備えた表示入力装置（図示せず）を用いてもよい。表示入力装置としては、例えばタッチパネル等を用いることができる。
【００５５】
以上、ロボットシステム１００の基本的な構成について簡単に説明した。このようなロボットシステムでは、第１撮像画像３０や第２撮像画像４０を基にロボット１に作業を行わせる。そのためには、第１画像座標（ｘｂ，ｙｂ，ｕｂ）をロボット座標（ｘａ，ｙａ，ｕａ）に変換する変換行列式（補正パラメーター）を求めること、および、第２画像座標（ｘｃ，ｙｃ，ｕｃ）をロボット座標（ｘａ，ｙａ，ｕａ）に変換する変換行列式（補正パラメーター）を求めることが必要である。すなわち、第１撮像部３とロボット１とのキャリブレーション（第１対応付け）と、第２撮像部４とロボット１とのキャリブレーション（第２対応付け）が必要である。このキャリブレーションは、制御装置５が、作業者による指示に応じて、キャリブレーションを実行するプログラムに基づき自動で行う。
【００５６】
以下、キャリブレーション（キャリブレーションのための各種設定および実行）について説明する。
【００５７】
≪キャリブレーション≫
図６は、図１に示すロボットシステムによるキャリブレーションの流れを示すフロー図である。
【００５８】
キャリブレーションを行う前に、作業者は、例えば所謂ジョグ送りにより（入力装置８４を用いた表示装置８３を介した手動の指示により）ロボットアーム１０を駆動させて、第２撮像部４によりツールセンターポイントＴＣＰを撮像できる位置に移動させる（図８参照）。その後、作業者が制御装置５に対して開始の指示を行うことによって、制御装置５によるキャリブレーションが開始する。以後、制御装置５の制御の下、自動でキャリブレーションを行うことができる。そのため、作業者の簡単な操作や作業のみでキャリブレーションを行うことができる。
【００５９】
また、制御装置５は、キャリブレーションを行う前に、第１撮像部３および第２撮像部４の画素数の情報等を記憶すること、ロボット１の速度、加速度（より具体的には、例えば吸着部１５０の移動速度、移動加速度）を設定すること、および、ローカル平面（作業面）の設定等を行っておく。
【００６０】
〈第２対応付け（図６：ステップＳ１１）〉
図７は、図６に示すステップＳ１１を説明するためのフロー図である。図８は、図６に示すステップＳ１１におけるロボットの状態の一例を示す図である。図９は、図６に示すステップＳ１１において用いる複数の基準点を示す図である。
【００６１】
まず、制御部５３は、第２画像座標系とロボット座標系との対応付け（第２対応付け）を行う。これにより、上述したように、ロボット座標系とベース座標系との対応付けが済んでいる状態なので、第２画像座標系とベース座標系との対応付けを行うことができる。
【００６２】
図７に示すように、第２対応付けでは、例えば、低精度傾き補正、焦点調整、高精度傾き補正およびキャリブレーションの実行を行う。
【００６３】
また、第２対応付けを行うにあたり、例えば第２撮像部４で撮像可能な円形のマーカー６５等をツールセンターポイントＴＣＰに設けておく（図８参照）。なお、マーカー６５の形状は、円形に限定されず、円形以外の図形または文字等であってもよい。また、ステップＳ１１は、ツールセンターポイントＴＣＰまたはそれに設けられたマーカー６５を第２撮像部４により撮像可能であれば、治具６をロボットアーム１０の先端に装着した状態で行ってもよい。また、治具６以外の他のキャリブレーションボードを用いてもよい。
【００６４】
（低精度傾き補正（図７：ステップＳ１１１））
まず、制御部５３は、ロボットアーム１０を駆動させて、図９に示すような仮想的な基準平面４０１内の例えば格子状に配列された任意の複数の基準点４０５（仮想の目標点）のそれぞれにツールセンターポイントＴＣＰに位置するマーカー６５を移動させる。このとき、制御部５３は、マーカー６５を１つの基準点４０５に対して位置させる毎に、第２撮像部４にマーカー６５を撮像させ、入出力部５４は、マーカー６５が撮像された第２撮像画像４０を取得する。また、このとき、記憶部５５は、各基準点４０５における第２画像座標とロボット座標とを記憶する。そして、制御部５３は、複数の第２撮像画像４０に基づいた各基準点４０５におけるツールセンターポイントＴＣＰの第２画像座標（成分ｘｃ、ｙｃ）と、ロボット座標（成分ｘａ、ｙａ）とに基づいて、第２画像座標をロボット座標に変換する補正パラメーター（座標変換行列）を求める。また、求めた補正パラメーターに基づき、第２画像座標をベース座標に変換する補正パラメーター（座標変換行列）を求める。
【００６５】
また、基準点４０５の数は少なくとも３つ以上であればよく、その数は任意であるが、基準点４０５の数が多い程キャリブレーションの精度が向上する。本実施形態では、図９に示すように、基準点４０５の数は９つである。また、基準平面４０１は、第２撮像部４の光軸Ａ４に直交する仮想的な面である。また、この基準平面４０１は、先端座標系に基づいて設定され、原点がマーカー６５である平面座標系を有する。また、複数の基準点４０５は、第２撮像画像４０内（撮像領域内）にあり、図９中の中央に位置する基準点４０５は、第２撮像画像４０の中心Ｏ４０と一致している。また、上述したように、各基準点４０５に対してマーカー６５を位置させるが、これは、例えば、所謂ジョグ送りにより行ってもよいし、予め設定された目標値（ロボット座標またはベース座標）と出力することにより行ってもよい。
【００６６】
また、本実施形態では、キャリブレーションの精度をさらに向上させるために、ステップＳ１１２、Ｓ１１３、Ｓ１１４を行っている（図７参照）。したがって、必要に応じて以下のステップＳ１１２、Ｓ１１３、Ｓ１１４は省略してもよい。
【００６７】
（焦点調整（図７：ステップＳ１１２））
次に、制御部５３は、ツールセンターポイントＴＣＰをｚａ方向に移動させるようにロボットアーム１０を駆動して（スプラインシャフト１０３を上下に移動させて）、第２撮像画像４０に写るマーカー６５の輪郭が最も鮮明になる箇所を探索する（図８参照）。そして、記憶部５５は、探索結果に基づいてマーカー６５の輪郭が最も鮮明になる箇所を基準平面４０１が第２撮像部４に合焦している状態（合焦状態）として記憶する。すなわち、記憶部５５は、光軸Ａ４に直交し、かつ、合焦状態である新たな基準平面４０１を設定（更新）する。
【００６８】
（高精度傾き補正（図７：ステップＳ１１３））
ここで、ステップＳ１１２で求めた基準平面４０１は、光軸Ａ４に対して垂直であるが、ツールセンターポイントＴＣＰに設けたマーカー６５の位置や第２撮像部４の設置位置等の誤差により、光軸Ａ４に対して垂直な状態から傾斜していることがある。そこで、制御部５３は、ステップＳ１１３で、より完全に垂直な状態である新たな基準平面４０１を設定（更新）する。
【００６９】
具体的には、まず、制御部５３は、現在の基準平面４０１の傾き指標Ｈ１（成分ｖａ、ｗａ）を求める。次いで、制御部５３は、図９中の中心に位置する基準点４０５とその左側に位置する基準点４０５との間の距離ｄ１と、中心に位置する基準点４０５とその右側に位置する基準点４０５との間の距離ｄ２との差が所定の閾値範囲Ｒ１内になるように、ｘｂ方向に沿った軸周りに回転させる。同様に、中心に位置する基準点４０５とその上側に位置する基準点４０５との間の距離ｄ３と、中心に位置する基準点４０５とその下側に位置する基準点４０５との間の距離ｄ４との差が所定の閾値範囲Ｒ２内になるように、ｙｂ方向に沿った軸周りに回転させる。ここで、所定の閾値範囲Ｒ１、Ｒ２は、それぞれ、０（零）であることが好ましく、よって、閾値範囲Ｒ１、Ｒ２内としては、それぞれ、例えば±１０内であることが好ましい。
【００７０】
次いで、制御部５３は、所定の閾値範囲Ｒ１内であるときの基準平面４０１の傾き指標Ｈ２（成分ｖａ、ｗａ）を求める。また、制御部５３は、所定の閾値範囲Ｒ２内であるときの基準平面４０１の傾き指標Ｈ３（成分ｖａ、ｗａ）を求める。次いで、制御部５３は、傾き指標Ｈ１、Ｈ２、Ｈ３に基づいて、ステップＳ１１２で求めた基準平面４０１に対する傾き補正量（Δｖａ、Δｗａ）を求める。そして、ステップＳ１１２で求めた基準平面４０１と傾き補正量（Δｖａ、Δｗａ）に基づいて新たな基準平面４０１を設定（更新）する。また、制御部５３は、新たな４０１に基づいて、新たに基準点４０５における目標値（ロボット座標またはベース座標）を設定する。
【００７１】
このような高精度傾き補正（ステップＳ１１３）を行うことで、キャリブレーションの精度をより高めることができる。
【００７２】
（キャリブレーションの実行（図７：ステップＳ１１４））
次に、制御部５３は、ステップＳ１１３で求めた目標値をロボット１に対して出力し、ロボットアーム１０を駆動させて、新たな基準点４０５にそれぞれマーカー６５を移動させる。このとき、制御部５３は、マーカー６５を１つの基準点４０５に対して位置させる毎に、第２撮像部４にマーカー６５を撮像させ、記憶部５５は、各基準点４０５における第２画像座標とロボット座標とを記憶する。そして、制御部５３は、複数の第２撮像画像４０に基づいた各基準点４０５におけるツールセンターポイントＴＣＰの第２画像座標（成分ｘｃ、ｙｃ）と、ロボット座標（成分ｘａ、ｙａ）とに基づいて、第２画像座標をロボット座標に変換する補正パラメーターを求める（更新する）。また、求めた補正パラメーターに基づき、第２画像座標をベース座標に変換する補正パラメーターを求める（更新する）。
【００７３】
以上のようにして、第２撮像部４とロボット１とのキャリブレーション（第２対応付け）が完了する。これにより、第２撮像画像４０に写る撮像対象のロボット座標における位置を求めることができる。また、上述したように、本実施形態では、焦点調整（ステップＳ１１２）や基準平面４０１の傾き補正量を求める高精度傾き補正（ステップＳ１１３）を行っていることで、第２撮像画像４０に写る撮像対象のロボット座標における位置精度を特に高くすることができる。
【００７４】
〈オフセットの算出（図６：ステップＳ１２）〉
図１０は、図６に示すステップＳ１２を説明するためのロボットの概略図である。図１１は、図３に示すロボットが有するロボットアームに取り付けられた治具の平面図である。図１２は、図６に示すステップＳ１２におけるロボットの状態の一例を示す図である。図１３は、図６に示すステップＳ１２における第２撮像画像の一例を示す図である。図１４は、図６に示すステップＳ１２を説明するための参考図である。
【００７５】
次に、制御部５３は、ロボットアーム１０の先端に治具６を取り付け、キャリブレーション済みの第２撮像部４を用いて治具６のマーカー６１のロボット座標を算出（計測）することにより、ツールセンターポイントＴＣＰに対するマーカー６１の位置のずれ、すなわちオフセットを求める。
【００７６】
ここで、上述した第２対応付け（ステップＳ１１）と同様に、後述するステップＳ１３における第１画像座標系とロボット座標系との対応付け（第１対応付け）では、本来、ツールセンターポイントＴＣＰを第１撮像部３で撮像することが必要である。しかし、図１０に示すように、第１撮像部３では、ツールセンターポイントＴＣＰを撮像することができない。これは、ツールセンターポイントＴＣＰがロボット１の鉛直下方に位置し、第１撮像部３が鉛直下方を撮像する構成であり、第１撮像部３の視野内にツールセンターポイントＴＣＰを位置させることができないことによる。そこで、図１１にマーカー６１が設けられた治具６を用いて、第１撮像部３によりツールセンターポイントＴＣＰの代わりにマーカー６１を撮像する（図１２参照）。これにより、後述するステップＳ１３において、このマーカー６１のロボット座標を基にして第１対応付けを行う。そのため、ステップＳ１３の前にステップＳ１２において、マーカー６１のロボット座標を算出する。
【００７７】
以下、ステップＳ１２を説明する前に治具６の詳細を説明する。図１１に示す治具６は、ロボットアーム１０の先端部（本実施形態では吸着部１５０の先端部）に取り付けることが可能である（図３参照）。この治具６は、例えばＳＵＳ３０４等の金属材料を用いて形成された長尺な薄い板で構成されている。また、この治具６は、ロボットアーム１０の先端部に取り付けられた状態で、第３軸Ｊ３に平行な軸に沿った方向から見て、スプラインシャフト１０３よりも外側に突出する長さを有する（図３参照）。
【００７８】
図１１に示すように、治具６は、板状の本体部６０と、ロボットアーム１０の先端部に取り付けるために用いられる取付部６２と、マーカー６１と、梁６３と、切り欠き６４とを有する。
【００７９】
本実施形態では、取付部６２は、本体部６０の図１１中の右端部（一方の端部）に設けられている。この取付部６２は、本体部６０の両主面（２つの板面）を貫通する孔で構成されており、この孔内に、例えば吸着部１５０の先端を挿通することでロボットアーム１０の先端部に治具６を取り付けることができる。なお、「取付部」は、ロボットアーム１０の先端部に取り付けるために用いることが可能な構成であれば如何なる構成であってもよい。
【００８０】
マーカー６１は、本体部６０の図１１中の左端部（取付部６２とは反対側の端部）に設けられている。マーカー６１は、光透過性（撮像における光を透過する性質）を有する透過部を構成しており、本実施形態では本体部６０の両面（板面）を貫通する孔で構成されている。なお、マーカー６１は、孔でなく、光透過性を有する部材で構成されていてもよい。また、マーカー６１が透過部を構成していない場合には、マーカー６１は、例えば、本体部６０の両面のそれぞれに付されたマーカー（２つのマーカー）を備える構成であってもよい。その場合、２つのマーカーは、治具６の厚さ方向に沿った方向から見て、重なっていればよい。
【００８１】
梁６３は、本体部６０の長手方向に沿って設けられ、本体部６０の図１１中の下側の縁に沿って設けられている（図５参照）。治具６は、この梁６３を備えることで、本体部６０の剛性を高めることができ、よって、本体部６０の反りを低減することができる。また、梁６３を備えることで、治具６の剛性を確保しつつ本体部６０の厚さを比較的薄くすることができる。そのため、ロボットアーム１０の駆動に伴って治具６が移動しても治具６が周辺機器と干渉するおそれを低減することができる。また、切り欠き６４は、本体部６０のマーカー６１が位置する側の端部に設けられている。これにより、治具６のマーカー６１側の端部が周辺機器と干渉するおそれを低減することができる。
【００８２】
このような構成の治具６のマーカー６１を除く部分には、黒色の艶消し塗膜等の光吸収膜が設けられていることが好ましい。これにより、光の反射率を抑え、同軸落射によりマーカー６１の輪郭をより認識し易くなる。このような光吸収膜は、例えばレイデント処理を用いて形成することができる。なお、光吸収膜は、治具６のマーカー６１を除く全ての部分に設けられていなくてもよく、少なくともマーカー６１の外周部に設けられていることで上述した効果を得ることができる。
【００８３】
このような治具６を用いて、ステップＳ１２を実行する。以下、ステップＳ１２を説明する。
【００８４】
まず、制御部５３は、マーカー６１がキャリブレーション済みの第２撮像部４の視野内に位置するようにロボットアーム１０を駆動させる（図１２参照）。より具体的には、制御部５３は、第２撮像画像４０の中心Ｏ４０にマーカー６１が写るように（位置するように）ロボットアーム１０を駆動させる（図１３参照）。なお、上述のロボットアーム１０の駆動は、例えば、所謂ジョグ送りにより行ってもよいし、または、例えば、治具６の取付部６２とマーカー６１との間の設計上の距離（長さ）とロボットアーム１０に対する治具６の取付方向とから求めた目標値（ロボット座標）に基づいて移動させてもよい。
【００８５】
また、制御部５３は、中心Ｏ４０にマーカー６１を位置させたら、第２撮像部４にマーカー６５を撮像させて、入出力部５４は、マーカー６１が撮像された第２撮像画像４０を取得する（図１３参照）。次いで、制御部５３は、第２撮像画像４０に基づいて、中心Ｏ４０にマーカー６１が位置しているときの第２画像座標を求める。また、制御部５３は、ステップＳ１１（ステップＳ１１３）で求めた第２対応付けのための補正パラメーターを用いてマーカー６１のベース座標を求める。そして、制御部５３は、このマーカー６１のベース座標と、中心Ｏ４０にマーカー６１が位置しているときのツールセンターポイントＴＣＰのベース座標とから、マーカー６１のベース座標とツールセンターポイントＴＣＰのベース座標との間の距離を求める。また、記憶部５５は、この距離をツールセンターポイントＴＣＰに対するマーカー６１のオフセットとして記憶する。
【００８６】
このようにして、キャリブレーション済みの第２撮像部４を用いることで、１回の撮像にてマーカー６１のオフセットを求めることができる。そのため、ロボットアーム１０を過剰に駆動させること無くオフセットを求めることができる。例えば、図１４に示すようにツールセンターポイントＴＣＰを互いに異なる２箇所に移動させ、ツールセンターポイントＴＣＰとマーカー６１との間の距離と、マーカー６１を中心としたツールセンターポイントＴＣＰの回転角度と、ツールセンターポイントＴＣＰの２つの箇所でのベース座標と、マーカー６１の第２画像座標とを用いた連立方程式を解くことでオフセットを求める方法を省略することができる。すなわち、このオフセットの方法の代わりに、ステップＳ１２のオフセットの算出を用いることができる。そのため、オフセットを求める際に、ロボットアーム１０を過剰に駆動させることが無いため、治具６が周辺機器等に干渉することを低減することができる。
【００８７】
また、上述したように、第２撮像部４では、同軸落射照明４３を用いている（図４参照）。また、上述したように、治具６は、その表面に光吸収膜を有する。また、マーカー６１は、光透過性を有する透過部である。そのため、第２撮像部４でマーカー６１およびその周辺を撮像することで、マーカー６１の輪郭を明確に撮像することができる（図１３参照）。その結果、第２撮像画像４０の取り込み精度を向上させることができ、マーカー６１の測定精度を高めることができる。その結果、オフセットの算出精度をより高めることができる。なお、第２撮像部４は、同軸落射照明４３に代えて透過照明を備える構成であっても同様の効果を発揮することができる。
【００８８】
〈第１対応付け（図６：ステップＳ１３）〉
図１５は、図６に示すステップＳ１３を説明するためのフロー図である。図１６は、図６に示すステップＳ１３におけるロボットの状態の一例を示す図である。図１７は、図６に示すステップＳ１３における第１撮像画像の一例を示す図である。
【００８９】
次に、制御部５３は、第１画像座標系とロボット座標系との対応付け（第１対応付け）を行う。これにより、上述したように、ロボット座標系とベース座標系との対応付けが済んでいる状態なので、第１画像座標系とベース座標系との対応付けを行うことができる。また、本実施形態では、上述したように第１撮像部３が移動可能であるため、制御部５３は、複数の箇所で第１対応付けを行う。
以下、図１５に示すフロー図を参照しつつ説明する。
【００９０】
（第１撮像部の第１位置への移動（図１５：ステップＳ１３１））
まず、第１対応付けを行うにあたり、ロボット１が対応付けの際に周辺機器と干渉しないよう第１撮像部３を図１６に示す位置（第１位置）に移動させておく。
【００９１】
ここで、本実施形態では、例えば、図４に示す状態から、第１撮像部３の視野内にマーカー６１を位置させるためにロボットアームを駆動して図４中の矢印ａ１方向にマーカー６１を移動させると、ロボット１が周辺機器に干渉するおそれがある。上述したように、セル８０の作業空間Ｓの下方には、図示はしないが周辺機器である作業部８２やコンベアー８１等に接続された配線等や各種機器等が配置されている。そのため、図４に示す状態から矢印ａ１方向にマーカー６１を移動させると、治具６やロボット１が周辺機器に干渉し易い。したがって、本実施形態では、ロボット１の第１対応付けの際に治具６やロボット１が周辺機器と干渉しないように第１撮像部３を移動させておく。例えば、図１６に示すように、第１撮像部３を移動機構７によりＺ軸方向に移動させ、作業空間Ｓの上側の領域に第１撮像部３を位置させておく。この移動機構７によりＺ軸方向に移動させた後の第１撮像部３の位置を「第１位置」とする。
【００９２】
なお、第１撮像部３の移動方向は、周辺機器と干渉し難い方向への移動であればよく、Ｚ軸方向に限定されない。これにより、第１撮像部３の視野内にマーカー６１を位置させても、周辺機器等に治具６やロボット１が干渉する（衝突する）ことを回避することができる。
【００９３】
（ロボットの第１撮像部の視野内への移動（図１５：ステップＳ１３２））
次に、制御部５３は、移動機構７の移動が完了したら、治具６のマーカー６１を第１位置における第１撮像部３の視野内に位置するようにロボットアーム１０を駆動させる。より具体的には、制御部５３は、第１撮像画像３０の中心Ｏ３０にマーカー６１が写るように（位置するように）ロボットアーム１０を駆動させる（図１７参照）。
【００９４】
（第１位置でのキャリブレーションの実行（図１５：ステップＳ１３３））
次いで、制御部５３は、第１位置での第１対応付けを行う。これにより、第１位置において、第１撮像画像３０に写る撮像対象のロボット座標における位置を求めることができる。
【００９５】
なお、第１対応付けでは、上述した第２対応付け（ステップＳ１１）と同様に、例えば、低精度傾き補正、焦点調整、高精度傾き補正およびキャリブレーションの実行を行う（図７参照）。この第１対応付けは、ツールセンターポイントＴＣＰの代わりにマーカー６１を用いること以外は同様な処理ためその説明を省略する。なお、上述したように、本実施形態では、焦点調整（ステップＳ１１２）や基準平面４０１の傾き補正量を求める高精度傾き補正（ステップＳ１１３）を行っていることで、第１撮像画像３０に写る撮像対象のロボット座標における位置精度を特に高くすることができる。
【００９６】
ここで、上述したように、ステップＳ１３１において、ロボット１が周辺機器と干渉し難い方向に第１撮像部３を移動させているため、治具６への干渉を回避できる。
【００９７】
また、上述のように、第１位置における第１対応付けでは、第２対応付けと異なり、第１撮像部３によりツールセンターポイントＴＣＰを撮像することができないため、治具６を用いている。そして、ツールセンターポイントＴＣＰの代わりにマーカー６１を撮像している。これにより、マーカー６１を用いて第１画像座標系と先端座標系との第１対応付けを行うことができる。また、ステップＳ１２においてマーカー６１のオフセットを求めているため、マーカー６１のオフセットを差し引くことで、ツールセンターポイントＴＣＰの位置が特定できる。そのため、マーカー６１を用いてキャリブレーションを行うことでも、第１対応付けを行うことができる。
【００９８】
また、上述したステップＳ１２では、治具６の下面（一方の面）側からマーカー６１を撮像したが、ステップＳ１３では、治具６の上面（他方の面）側からマーカー６１を撮像する。これは、第２撮像部４が鉛直上方を撮像可能であることに対し、第１撮像部３が鉛直下方を撮像可能であるからである。このように、第２撮像部４と第１撮像部３との撮像方向が互いに反対方向である場合でも、マーカー６１またはマーカー６１の孔を形成する壁部（縁部）を治具６の両主面から把握することができるので、上述したステップＳ１２で求めたオフセットを用いて第１位置における第２対応付けを適切に行うことができる。特に、マーカー６１が孔で構成されていることで、両主面でのマーカーの位置ずれを低減することができる。また、形成も容易であるため、好ましい。
【００９９】
また、上述したように、第１撮像部３においても、第２撮像部４と同様に、同軸落射照明３３を用いている（図４参照）。また、上述したように、治具６は、その表面に光吸収膜を有する。また、マーカー６１は、光透過性を有する透過部である。そのため、第１撮像部３でマーカー６１およびその周辺を撮像することで、マーカー６１の輪郭を明確に撮像することができる（図１７参照）。その結果、第１撮像画像３０の取り込み精度を向上させることができ、マーカー６１の測定精度を高めることができる。その結果、第１対応付けをより高めることができる。なお、第１撮像部３が、同軸落射照明３３に代えて透過照明を備える構成であっても同様の効果を発揮することができる。
【０１００】
（第２位置での第１対応付けを求める（図１５：ステップＳ１３４））
次に、制御部５３は、第１位置のキャリブレーション結果を基に、例えば図４に示す第１撮像部３の位置（第２位置）における第１対応付けを行う（求める）。この第２位置での対応付けは、第１位置でのキャリブレーション結果と、第１位置と第２位置との間の距離（移動機構７での移動量）とを基に行う。すなわち、第２位置における第１撮像部とロボットとのキャリブレーションを行う。このようにすれば、実際に、キャリブレーションを実行せずとも、第２位置での第１対応付けを行うことができる。
【０１０１】
さらに、同様にして、制御部５３は、第１位置および第２位置とは異なる任意の箇所での第１対応付けを行う。このようにすれば、実際に、キャリブレーションを実行せずとも、複数の箇所での第１対応付けを行うことができる。
以上のようにして、第１対応付け（ステップＳ１３）が完了する。
【０１０２】
以上説明したように、本発明の制御装置の一例である制御装置５は、マーカー６１を含む「ツール」としての治具６が設けられた「可動部」としてのロボットアーム１０を有するロボット１を制御する。そして、制御装置５は、マーカー６１を撮像する移動可能な第１撮像部３によりマーカー６１が撮像された第１撮像画像３０（画像データ）を取得する「取得部」としての入出力部５４と、第１撮像部３が移動した後、入出力部５４が取得した第１撮像画像３０に基づいて第１撮像部３の座標系（第１画像座標系）とロボット１の座標系（先端座標系）との第１対応付け（ステップＳ１３）を行う制御部５３と、を備える。このような制御装置５によれば、第１撮像部３を移動させて周辺機器等に干渉しない箇所で第１対応付け（キャリブレーション）を行うことができる。そのため、比較的狭い領域でも第１対応付けを行うことができるので、ロボット１の作業空間Ｓを小さくすることができる。また、第１撮像部３を移動させた後に停止させた状態で第１対応付けを行うことができるため、第１撮像部３の移動方向を考慮する必要がない。そのため、第１画像座標系と先端座標系との第１対応付けが容易である。また、マーカー６１を有する治具６を設けることで、ツールセンターポイントＴＣＰの代わりにマーカー６１を用いて第１画像座標系と先端座標系との第１対応付けを行うことができる。また、治具６が第３軸Ｊ３に沿った方向から見てスプラインシャフト１０３よりも外側に突出した部分を有する。そのため、第１撮像部３によりロボット１の所定の部位（本実施形態ではツールセンターポイントＴＣＰ）を撮像することができない場合でも、マーカー６１を撮像した第１撮像画像３０を取得することで第１対応付けを行うことができる。
【０１０３】
なお、「ロボットの座標系」とは、本実施形態では先端座標系として捉えているが、ロボット１のベース座標系と捉えてもよいし、先端座標系以外のロボット１の所定部の座標系と捉えてもよい。また、「ツール」としては、治具６に限定されず、「マーカー」を第１撮像部３により撮像可能な構成であれば、他の構成であってもよい。
【０１０４】
また、上述したように、第１撮像部３は、「可動部」としてのロボットアーム１０とは異なる箇所に設けられている。これにより、ロボット１の周辺に設けられた第１撮像部３における第１対応付けを行うことができる。そのため、第１対応付けが済んだ第１撮像部３を用いて撮像された第１撮像画像３０を基にした作業、例えば、コンベアー８１上での作業を適切に行うことができる。なお、ロボットアーム１０とは異なる箇所としては、例えば、基台１１０等であってもよい。
【０１０５】
また、上述したように、制御部５３は、マーカー６１を撮像する第２撮像部４の座標系（第２画像座標系）とロボット１の座標系（先端座標系）との第２対応付け（ステップＳ１１）を行った後、「取得部」としての入出力部５４は、第２撮像部４によりマーカー６１が撮像された第２撮像画像４０（画像データ）を取得し、制御部５３は、入出力部５４が取得した第２撮像画像４０に基づいてロボット１の座標系（先端座標系）におけるマーカー６１の位置を算出する（ステップＳ１２）。これにより、ロボット１の所定の部位（本実施形態ではツールセンターポイントＴＣＰ）に対するマーカー６１の位置、すなわちマーカー６１のオフセットを容易かつ適切に求めることができる。そのため、このマーカー６１のオフセットを用いることで、第１対応付けを適切に行うことができる。
【０１０６】
また、上述したように、制御部５３は、ロボット１の座標系（先端座標系）におけるマーカー６１の位置を算出した後、先端座標系におけるマーカー６１の位置に基づいてロボット１の所定の部位（本実施形態ではツールセンターポイントＴＣＰ）とマーカー６１とのオフセットを算出し（ステップＳ１２）、オフセットと第１撮像画像３０とに基づいて第１対応付け（ステップＳ１３）を行う。これにより、図１０に示すように、第１撮像部３により所定の部位を撮像することができなくても、ステップＳ１２で求めたマーカー６１の位置およびオフセットを基にして、ステップＳ１３において第１対応付けを適切に行うことができる。なお、「所定の部位」は、ツールセンターポイントＴＣＰに限定されず、ロボット１の任意の箇所でよく、例えば、スプラインシャフト１０３（先端のアーム）の先端であってもよい。
【０１０７】
また、上述したように、ステップＳ１３において、制御部５３は、第１位置において第１対応付けを行い、第１位置とは異なる第２位置において第１位置における第１対応付けを用いてロボット１の駆動を制御する。ステップＳ１３では、第１位置での第１対応付けのデータを基にして、第１位置とは異なる第２位置での第１対応付けを求めることができるため、第２位置での第１対応付けを行う手間を省くことができ、第２位置でも第１位置と同様にロボット１の作業の精度を高めることができる。さらには、上述したように、第１位置での第１対応付けのデータを基にして、第１位置および第２位置とは異なる他の位置での第１対応付けを行うことができる。そのため、１つの第１撮像部３であたかも複数の第１撮像部３を備えているかのように振る舞うことができる。その結果、複数箇所において、第１撮像画像３０に基づいた作業をロボット１に適切に行わせることができる。また、このように第１位置でのキャリブレーション結果を基に複数箇所での第１対応付けを行うことで、周辺機器と干渉し易い箇所における第１撮像部３の第１対応付けを完了できるため、実際にキャリブレーションを実行して周辺機器と干渉するおそれを回避することができる。
【０１０８】
また、制御装置５では、第１撮像部３の移動における繰り返し精度をＲ１とし、ロボット１の作業における繰り返し精度をＲ２としたとき、０．８≦Ｒ１／Ｒ２≦１．２であることが好ましい。
【０１０９】
このような関係を満足することで、１つの任意の位置（第１位置）での第１対応付けのデータを基にした複数の位置での第１対応付けの精度を特に高めることができる。そのため、複数の位置でのロボット１の作業の精度を任意の位置（第１位置）と同様に高めることができる。
【０１１０】
ここで、第１撮像部の移動における繰り返し精度とは、移動機構７の移動精度であり、同一箇所に第１撮像部を繰り返して位置させたときにどのくらい位置ずれが生じるかを示している。また、ロボットの作業における繰り返し精度とは、同一箇所で同一作業内容を行ったときの繰り返し精度である。例えば、本実施形態では、コンベアー８１上の対象物８００に対して他の対象物（図示せず）を載置（貼り付け）したときの、対象物８００に対する他の対象物の位置ずれがどのくらい生じるかを示している。
【０１１１】
第１撮像部３の移動における繰り返し精度としては、例えば、５〜５０μｍが好ましく、１０〜２０μｍであることがより好ましい。ロボットの作業における繰り返し精度としては、例えば、５〜５０μｍが好ましく、１０〜２０μｍであることがより好ましい。このような繰り返し精度であると、第１撮像部３の移動とロボット１の作業とその他の要因（例えば、キャリブレーション精度、第１撮像部３や第２撮像部４の画像認識精度）を含めたロボットシステム１００による総合精度を比較的高精度にすることができる。具体的には、総合精度を１０〜４０μｍにすることができる。
【０１１２】
以上、ロボット１の構成について簡単に説明した。このような本発明のロボットの一例であるロボット１は、制御装置５によって制御され、マーカー６１を含む「ツール」としての治具６が設けられた「可動部」としてのロボットアーム１０を有する。このようなロボット１によれば、制御装置５の制御の下、第１対応付けにかかる動作を的確に行うことができる。
【０１１３】
以上説明した本発明のロボットシステムの一例であるロボットシステム１００は、制御装置５と、制御装置５によって制御され、マーカー６１を含む「ツール」としての治具６が設けられた「可動部」としてのロボットアーム１０を有するロボット１と、撮像する機能を有する第１撮像部３とを備える。このようなロボットシステム１００によれば、第１撮像部３を移動させて周辺機器等に干渉しない箇所で第１対応付けを行うことができ、また、制御装置５の制御の下、ロボット１は第１対応付けにかかる動作を的確に行うことができる。
【０１１４】
＜第２実施形態＞
次に、本発明の第２実施形態について説明する。
【０１１５】
図１８は、本発明の第２実施形態に係るロボットシステムにおけるキャリブレーションでのステップＳ１３を説明するためのフロー図である。
【０１１６】
本実施形態に係るロボットシステムは、第１対応付けのステップＳ１３が異なること以外は、上述した第１実施形態と同様である。なお、以下の説明では、第２実施形態に関し、上述した第１実施形態との相違点を中心に説明し、同様の事項に関してはその説明を省略する。
【０１１７】
（第１撮像部の第２位置への移動（図１８：ステップＳ１３５））
第１位置でのキャリブレーションの実行が完了したら（ステップＳ１３３）、第１撮像部３を第２位置に移動させる。なお、本実施形態では、周辺機器等の配置により、第２位置においても、ロボット１は周辺機器に干渉しないものとする。
【０１１８】
（ロボットの第１撮像部の視野内への移動（図１８：ステップＳ１３６））
次に、制御部５３は、移動機構７の移動が完了したら、治具６のマーカー６１を第２位置における第１撮像部３の視野内に位置するようにロボットアーム１０を駆動させる。
【０１１９】
（第２位置でのキャリブレーションの実行（図１８：ステップＳ１３７））
次いで、制御部５３は、第２位置での第１対応付けを行う。これにより、第２位置においても、第１撮像画像３０に写る撮像対象のロボット座標における位置を求めることができる。
【０１２０】
このように本実施形態では、第１位置と第２位置とにおける第１対応付けを行う。すなわち、制御部５３は、複数の位置において第１対応付けを行う。このように、第１撮像部３を移動させる毎に実際に第１対応付けを実行することで、各箇所での第１対応付けの精度を特に高めることができる。そのため、ロボット１の作業の精度を特に高めることができる。また、このような方法によっても、１つの第１撮像部３であたかも複数の第１撮像部３を備えているかのように振る舞うことができる。その結果、複数箇所で、第１撮像画像３０に基づいた作業をロボット１に適切に行わせることができる。
【０１２１】
以上、本発明の制御装置、ロボットおよびロボットシステムを図示の実施形態に基づいて説明したが、本発明は、これに限定されるものではなく、各部の構成は、同様の機能を有する任意の構成のものに置換することができる。また、本発明に、他の任意の構成物が付加されていてもよい。また、各実施形態を適宜組み合わせてもよい。
【０１２２】
また、本発明にかかるロボットは、任意の部材（例えば基台）に対して回動可能な可動部（例えばロボットアーム）を有する構成であり、マーカーが付されたツールを取り付け可能であればよく、図示のロボットの形態に限定されない。例えば、本発明のロボットは、垂直多関節ロボットであってもよい。
【０１２３】
また、ロボットアームの数は、特に限定されず、２つ以上であってもよい。また、ロボットアームの回動軸の数は、特に限定されず、任意である。
【０１２４】
また、ロボットの設置箇所は、セルの天井部に限定されない。例えば、第１撮像部の撮像方向によっては、ロボットは底部の上面や柱に取り付けられていてもよい。
【０１２５】
また、本発明のロボットシステムは、セルを備えていなくてもよい。その場合、ロボットの設置箇所は、任意の箇所（床、壁、天井、移動可能な台車上等）に設けてよい。
【０１２６】
また、本発明のロボットシステムは、コンベアーを備えていなくてもよい。また、本発明のロボットシステムは、作業部を備えていなくてもよい。
【符号の説明】
【０１２７】
１…ロボット、３…第１撮像部、４…第２撮像部、５…制御装置、６…治具、７…移動機構、１０…ロボットアーム、３０…第１撮像画像、３１…撮像素子、３２…レンズ、３３…同軸落射照明、４０…第２撮像画像、４１…撮像素子、４２…レンズ、４３…同軸落射照明、５１…表示制御部、５２…入力制御部、５３…制御部、５４…入出力部、５５…記憶部、６０…本体部、６１…マーカー、６２…取付部、６３…梁、６４…切り欠き、６５…マーカー、８０…セル、８１…コンベアー、８２…作業部、８３…表示装置、８４…入力装置、１００…ロボットシステム、１０１…第１アーム、１０２…第２アーム、１０３…スプラインシャフト、１０４…作業ヘッド、１１０…基台、１２０…モータードライバー、１３０…駆動部、１３１…位置センサー、１５０…吸着部、４０１…基準平面、４０５…基準点、８００…対象物、８０１…基部、８０２…柱、８０３…天井部、８０４…上面、Ａ３…光軸、Ａ４…光軸、Ｈ１…傾き指標、Ｈ２…傾き指標、Ｈ３…傾き指標、Ｊ１…第１軸、Ｊ２…第２軸、Ｊ３…第３軸、Ｏ３０…中心、Ｏ４０…中心、Ｒ１…閾値範囲、Ｒ２…閾値範囲、Ｓ…作業空間、Ｓ１１…ステップ、Ｓ１１１…ステップ、Ｓ１１２…ステップ、Ｓ１１３…ステップ、Ｓ１１４…ステップ、Ｓ１２…ステップ、Ｓ１３…ステップ、Ｓ１３１…ステップ、Ｓ１３２…ステップ、Ｓ１３３…ステップ、Ｓ１３４…ステップ、Ｓ１３５…ステップ、Ｓ１３６…ステップ、Ｓ１３７…ステップ、ＴＣＰ…ツールセンターポイント、ａ１…矢印、ｄ１…距離、ｄ２…距離、ｄ３…距離、ｄ４…距離、ａ１１…矢印、ａ１２…矢印、ａ１３…矢印
【図１】
2018094648.tif 000003
【図２】
2018094648.tif 000004
【図３】
2018094648.tif 000005
【図４】
2018094648.tif 000006
【図５】
2018094648.tif 000007
【図６】
2018094648.tif 000008
【図７】
2018094648.tif 000009
【図８】
2018094648.tif 000010
【図９】
2018094648.tif 000011
【図１０】
2018094648.tif 000012
【図１１】
2018094648.tif 000013
【図１２】
2018094648.tif 000014
【図１３】
2018094648.tif 000015
【図１４】
2018094648.tif 000016
【図１５】
2018094648.tif 000017
【図１６】
2018094648.tif 000018
【図１７】
2018094648.tif 000019
【図１８】
2018094648.tif 000020