(57)【要約】【課題】アームをオペレーターが操作することによって基準点の位置を教示しながらツールのオフセットを設定するよりも、人為的な誤差や作業者によるばらつきを低減することができるロボットを提供すること。【解決手段】アームを備え、アームは、アームに装着されたツールの所定部位を撮像部によって所定部位を撮像可能な第１状態から移動させた第２状態で、所定部位を通り撮像部の光軸に平行な回転軸を中心にツールを回転させ、所定部位を回転による姿勢の変化を保ったまま第１状態における位置と同じ位置である第３状態に移動させ、第１状態及び第３状態において撮像部により撮像された画像に基づいて設定された所定部位のアームに対するオフセットを用いて制御される、ロボット。【選択図】図８
2018001332.tif 000002
【特許請求の範囲】
【請求項１】
アームを備え、
前記アームは、
前記アームに装着されたツールの所定部位を撮像部によって前記所定部位を撮像可能な第１状態から移動させた第２状態で、前記所定部位を通り前記撮像部の光軸に平行な回転軸を中心に前記ツールを回転させ、前記所定部位を前記回転による姿勢の変化を保ったまま前記第１状態における位置と同じ位置である第３状態に移動させ、
前記第１状態及び前記第３状態において前記撮像部により撮像された画像に基づいて設定された前記所定部位の前記アームに対するオフセットを用いて制御される、
ロボット。
【請求項２】
前記アームは、
前記第１状態で障害物がある場合に、前記ツールを第１状態から、当該障害物がない第２状態へ移動させる、
請求項１に記載のロボット。
【請求項３】
請求項１又は２に記載のロボットを制御する、
制御装置。
【請求項４】
請求項１又は２に記載のロボットと、
請求項３に記載の制御装置と、
を備えるロボットシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ロボット、制御装置、及びロボットシステムに関する。
【背景技術】
【０００２】
従来、アームに装着されるツールを用いてワークを処理する前に、アームに対するツールのオフセットを設定する処理が行われている。特許文献１には、アームに装着されたツールを実空間の基準点に位置合わせする操作を、アームの姿勢を変えて複数回実行した結果に基づいて、アームに対するツールのオフセットを導出する方法が開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平８−８５０８３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
特許文献１に記載された技術によると、ツールで基準点を触るようにアームをオペレーターが操作することによって基準点の位置を教示する必要がある。しかし、アームが基準点に触わるか触らないかの境界の状態を目視で特定しながら、アームを正確に操作することは容易ではない。すなわち特許文献１に記載された技術では、基準点の位置を正確に教示することが困難な場合がある。そして、基準点の位置を正確に教示しながらツールのオフセットを設定するとすれば、設定に要する所要時間が長引く場合があり、設定対象のロボットが増えるほど、当該所要時間が長くなる。
【課題を解決するための手段】
【０００５】
上記課題の少なくとも一つを解決するために本発明の一態様は、アームを備え、前記アームは、前記アームに装着されたツールの所定部位を撮像部によって前記所定部位を撮像可能な第１状態から移動させた第２状態で、前記所定部位を通り前記撮像部の光軸に平行な回転軸を中心に前記ツールを回転させ、前記所定部位を前記回転による姿勢の変化を保ったまま前記第１状態における位置と同じ位置である第３状態に移動させ、前記第１状態及び前記第３状態において前記撮像部により撮像された画像に基づいて設定された前記所定部位の前記アームに対するオフセットを用いて制御される、ロボットである。
この構成により、ロボットは、第１状態及び第３状態において撮像部により撮像された画像に基づいて、所定部位のアームに対するオフセットが設定される。これにより、ロボットは、アームをオペレーターが操作することによって基準点の位置を教示しながらツールのオフセットを設定するよりも、人為的な誤差や作業者によるばらつきを低減することができる。
【０００６】
また、本発明の他の態様は、ロボットにおいて、前記アームは、前記第１状態で障害物がある場合に、前記ツールを第１状態から、当該障害物がない第２状態へ移動させる、構成が用いられてもよい。
この構成により、ロボットは、障害物がない位置で、所定部位を通り撮像部の光軸に平行な回転軸を中心にツールを回転させる。これにより、ロボットは、障害物への衝突を回避して、所定部位を通り撮像部の光軸に平行な回転軸を中心にツールを回転させることができるため、ツールの所定部位の周辺に障害物がある場合でもオフセットを精度よく算出することができる。
【０００７】
また、本発明の他の態様は、上記に記載のロボットを制御する制御装置である、構成が用いられてもよい。
この構成により、制御装置は、第１状態及び第３状態において撮像部により撮像された画像に基づいて、所定部位のアームに対するオフセットを、ロボットに設定する。これにより、制御装置は、アームをオペレーターが操作することによって基準点の位置を教示しながらツールのオフセットを、ロボットに設定するよりも、オフセットを精度よく設定することができる。
【０００８】
また、本発明の他の態様は、上記に記載のロボットと、上記に記載の制御装置とを備える、ロボットシステムである、構成が用いられてもよい。
この構成により、ロボットシステムでは、制御装置は、第１状態及び第３状態において撮像部により撮像された画像に基づいて、所定部位のアームに対するオフセットを、ロボットに設定する。これにより、ロボットシステムでは、制御装置は、アームをオペレーターが操作することによって基準点の位置を教示しながらツールのオフセットを、ロボットに設定するよりも、オフセットを精度よく設定することができる。
【０００９】
以上により、ロボットは、第１状態及び第３状態において撮像部により撮像された画像に基づいて、所定部位のアームに対するオフセットが設定される。これにより、ロボットは、アームをオペレーターが操作することによって基準点の位置を教示しながらツールのオフセットを設定するよりも、人為的な誤差や作業者によるばらつきを低減することができる。
また、制御装置は、第１状態及び第３状態において撮像部により撮像された画像に基づいて、所定部位のアームに対するオフセットを、ロボットに設定する。これにより、制御装置は、アームをオペレーターが操作することによって基準点の位置を教示しながらツールのオフセットを設定するよりも、オフセットを精度よく設定することができる。
また、ロボットシステムでは、制御装置は、第１状態及び第３状態において撮像部により撮像された画像に基づいて、所定部位のアームに対するオフセットを、ロボットに設定する。これにより、ロボットシステムでは、制御装置は、ロボットに、アームをオペレーターが操作することによって基準点の位置を教示しながらツールのオフセットを、ロボットに設定するよりも、オフセットを精度よく容易に設定することができる。
【図面の簡単な説明】
【００１０】
【図１】実施形態に係るロボットシステムを示す概略斜視図である。
【図２】図１に示すロボットの概略図である。
【図３】図１に示すロボットシステムのブロック図である。
【図４】図１に示すロボットシステムを用いた撮像部の校正方法を示すフローチャートである。
【図５】図４に示す撮像部の校正で使用する校正用部材の平面図である。
【図６】図４に示すモバイルカメラの校正を説明するためのフローチャートである。
【図７】図６に示すモバイルカメラの校正を説明するためのロボットの概略図である。
【図８】図６に示すオフセット成分を求める処理を説明するためのフローチャートである。
【図９】図８に示すオフセット成分Δｕ、Δｖ、Δｗを求める処理を説明するための図である。
【図１０】図８に示すオフセット成分Δｘ、Δｙを求める処理を説明するためのフローチャートである。
【図１１】図８に示すオフセット成分Δｘ、Δｙを求める処理を説明するための図である。
【図１２】図８に示すオフセット成分Δｘ、Δｙを求める処理を説明するための図である。
【図１３】図８に示すオフセット成分Δｘ、Δｙを求める処理を説明するための図である。
【図１４】図８に示すオフセット成分Δｘ、Δｙを求める処理を説明するための図である。
【図１５】図８に示すオフセット成分Δｘ、Δｙを求める処理を説明するための図である。
【図１６】図８に示すオフセット成分Δｘ、Δｙを求める処理を説明するための座標図である。
【図１７】図８に示すオフセット成分Δｚを求める処理を説明するため図である。
【発明を実施するための形態】
【００１１】
以下、本発明のロボット、制御装置及びロボットシステムを添付図面に示す好適な実施形態に基づいて詳細に説明する。
【００１２】
［実施形態］
≪ロボットシステム≫
図１は、本発明の実施形態に係るロボットシステムを示す概略斜視図である。図２は、図１に示すロボットの概略図である。図３は、図１に示すロボットシステムのブロック図である。
【００１３】
なお、以下では、説明の都合上、図２中の上側（ｚｒ方向）を「上」または「上方」、下側（−ｚｒ方向）を「下」または「下方」と言う。また、図２中の上下方向を「鉛直方向」とし、その鉛直方向に交差する面を「水平面」とし、水平面に平行な方向を「水平方向」とする。ここで、本願明細書で言う「水平」とは、完全な水平に限定されず、水平に対して５°以下の範囲で傾斜している場合も含む。また、本願明細書で言う「鉛直」とは、完全な鉛直に限定されず、鉛直に対して５°以下の範囲で傾斜している場合も含む。また、図２中に示すロボットの基台側を「基端」、その反対側（ハンド側）を「先端」と言う。
【００１４】
図１に示すロボットシステム１００は、例えば、電子部品及び電子機器等の対象物の把持、搬送及び組立て等の作業で用いられる装置である。
図１に示すように、ロボットシステム１００は、ロボットアーム１０を有するロボット１と、作業領域９０内に固定された撮像機能を有する固定カメラ２（撮像部）と、ロボット１に取り付けられた撮像機能を有するモバイルカメラ３（撮像部）と、ロボット１、固定カメラ２及びモバイルカメラ３をそれぞれ制御する制御装置５（校正装置）とを、有する。
また、本実施形態では、作業領域９０内に、対象物の組立てを行う作業台６１（組立て台）と、対象物が例えば作業者によって供給される供給台６２とが設けられている。作業台６１及び供給台６２は、それぞれ、ロボット１のロボットアーム１０の駆動範囲内に設けられている。
【００１５】
以下、ロボットシステム１００が有する各部を順次説明する。
＜ロボット＞
図１及び図２に示すロボット１は、対象物の把持、搬送及び組立て等の作業を行うことができる。
ロボット１は、６軸の垂直多関節ロボットであり、基台１０１と、基台１０１に接続されたロボットアーム１０と、ロボットアーム１０の先端部に設けられたハンド１０２（ツール）と、を有する。また、図３に示すように、ロボット１は、ロボットアーム１０を駆動させる動力を発生させる複数の駆動部１３０及び複数のモータードライバー１２０を備えている。
【００１６】
基台１０１は、ロボット１を作業領域９０内の所定の箇所に取り付ける部分である。
ロボットアーム１０は、第１アーム１１（アーム）と、第２アーム１２（アーム）と、第３アーム１３（アーム）と、第４アーム１４（アーム）と、第５アーム１５（アーム）と、第６アーム１６（アーム）とを有する。第１アーム１１は、基台１０１に接続されており、第１アーム１１と第２アーム１２と第３アーム１３と第４アーム１４と第５アーム１５と第６アーム１６とは、基端側から先端側に向ってこの順に連結されている。
【００１７】
図２に示すように、第１アーム１１は、基台１０１に連結された回動軸部材１１１を有し、回動軸部材１１１の中心軸を回動中心として基台１０１に対して回動可能となっている。また、第２アーム１２は、第１アーム１１に連結された回動軸部材１２１を有し、回動軸部材１２１の中心軸を回動中心として第１アーム１１に対して回動可能となっている。また、第３アーム１３は、第２アーム１２に連結された回動軸部材１３１を有し、回動軸部材１３１の中心軸を回動中心として第２アーム１２に対して回動可能となっている。また、第４アーム１４は、第３アーム１３に連結された回動軸部材１４１を有し、回動軸部材１４１の中心軸を回動中心として第３アーム１３に対して回動可能となっている。また、第５アーム１５は、第４アーム１４に連結された回動軸部材１５１を有し、回動軸部材１５１の中心軸を回動中心として第４アーム１４に対して回動可能となっている。また、第６アーム１６は、第５アーム１５に連結された回動軸部材１６１を有し、回動軸部材１６１の中心軸Ａ６を回動中心として第５アーム１５に対して回動可能となっている。ここで、中心軸Ａ６と第６アーム１６の先端面との交わる点（第６アーム１６の先端面の中心）を軸座標Ｏ６（所定の部位）という。
【００１８】
ハンド１０２は、第６アーム１６の先端面に取り付けられており、ハンド１０２の中心軸が第６アーム１６の中心軸Ａ６と一致している。ここで、ハンド１０２の先端面の中心をＴＣＰ（ツールセンターポイント）という。本実施形態では、ハンド１０２が有する２つの指の間の領域の中心をいう。
また、第１アーム１１〜第６アーム１６には、それぞれ、サーボモーター等のモーター及び減速機を有する複数の駆動部１３０が設けられている。すなわち、図３に示すように、ロボット１は、第１アーム１１〜第６アーム１６に対応した数（本実施形態では６つ）の駆動部１３０を有している。そして、第１アーム１１〜第６アーム１６は、それぞれ、対応する駆動部１３０に電気的に接続された複数（本実施形態では６つ）のモータードライバー１２０を介して制御装置５により制御されている。
【００１９】
また、各駆動部１３０には、例えば、エンコーダー、ロータリーエンコーダー等の角度センサー（図示せず）が設けられている。これにより、各駆動部１３０が有するモーターまたは減速機の回転軸の回転角度を検出することができる。
また、図１及び図２に示すように、本実施形態では、ロボット１を制御する際に用いられるロボット座標系（ロボット１の座標系）として、水平方向に対してそれぞれ平行なｘｒ軸とｙｒ軸と、水平方向に対して直交し、かつ、鉛直上向きを正方向とするｚｒ軸とによって定まる３次元の直交座標系を設定している。また、ｘｒ軸に対する並進成分を「成分ｘｒ」とし、ｙｒ軸に対する並進成分を「成分ｙｒ」とし、ｚｒ軸に対する並進成分を「成分ｚｒ」とし、ｚｒ軸周りの回転成分を「成分ｕｒ」とし、ｙｒ軸周りの回転成分を「成分ｖｒ」とし、ｘｒ軸周りの回転成分を「成分ｗｒ」とする。成分ｘｒ、成分ｙｒ及び成分ｚｒの長さ（大きさ）の単位は「ｍｍ」であり、成分ｕｒ、成分ｖｒ及び成分ｗｒの角度（大きさ）の単位は「°」である。
【００２０】
＜固定カメラ＞
図１及び図２に示す固定カメラ２は、対象物等を撮像する機能を有する。
図２に示すように、固定カメラ２は、複数の画素を有するＣＣＤ（Charge Coupled Device）イメージセンサで構成された撮像素子２１と、レンズ２２（光学系）と、を有している。この固定カメラ２は、対象物等からの光をレンズ２２によって撮像素子２１の受光面２１１（センサー面）で結像させ、光を電気信号に変換して、その電気信号を制御装置５へと出力する。ここで、受光面２１１とは、撮像素子２１の表面であって、光が結像する面である。また、本実施形態では、受光面２１１から光軸ＯＡ２方向に焦点距離だけ進んだ位置を「固定カメラ２の撮像基準点Ｏ２」とする。
【００２１】
このような固定カメラ２は、鉛直方向上方を撮像できるように作業領域９０内の所定の箇所に固定されている。また、本実施形態では、固定カメラ２は、その光軸ＯＡ２（レンズ２２の光軸）が鉛直方向に対してほぼ平行になるように取り付けられている。
また、本実施形態では、固定カメラ２の画像座標系（固定カメラ２から出力される画像の座標系）として、画像の面内方向に対してそれぞれ平行なｘａ軸とｙａ軸とよって定まる２次元の直交座標系を設定している。また、ｘａ軸に対する並進成分を「成分ｘａ」とし、ｙａ軸に対する並進成分を「成分ｙａ」とし、ｘａ−ｙａ平面の法線周りの回転成分を「成分ｕａ」とする。成分ｘａ及び成分ｙａの長さ（大きさ）の単位は「ピクセル」であり、成分ｕａの角度（大きさ）の単位は「°」である。
【００２２】
なお、固定カメラ２の画像座標系は、固定カメラ２のカメラ視野に写る３次元直交座標を、レンズ２２の光学特性（焦点距離、歪みなど）と撮像素子２１の画素数及び大きさとを加味して非線形変換した２次元の直交座標系である。
【００２３】
＜モバイルカメラ＞
図１及び図２に示すモバイルカメラ３は、対象物等を撮像する機能を有する。
図２に示すように、モバイルカメラ３は、複数の画素を有するＣＣＤ（Charge Coupled Device）イメージセンサで構成された撮像素子３１と、レンズ３２（光学系）と、を有する。このモバイルカメラ３は、対象物等からの光をレンズ３２によって撮像素子３１の受光面３１１（センサー面）で結像させ、光を電気信号に変換して、その電気信号を制御装置５へと出力する。ここで、受光面３１１とは、撮像素子３１の表面であって、光が結像する面である。また、本実施形態では、受光面３１１から光軸ＯＡ３方向に焦点距離だけ進んだ位置を「モバイルカメラ３の撮像基準点Ｏ３」とする。
【００２４】
このようなモバイルカメラ３は、第６アーム１６よりもロボットアーム１０の先端側を撮像できるように第６アーム１６に取り付けられている。また、本実施形態では、設計上、モバイルカメラ３は、その光軸ＯＡ３（レンズ３２の光軸）が第６アーム１６の中心軸Ａ６に対してほぼ平行になるように、第６アーム１６に取り付けられている。また、モバイルカメラ３は、第６アーム１６に取り付けられているため、ロボットアーム１０の駆動により、第６アーム１６と共にその姿勢を変えることができる。
【００２５】
また、本実施形態では、モバイルカメラ３の画像座標系（モバイルカメラ３で出力される画像の座標系）として、画像の面内方向に対してそれぞれ平行なｘｂ軸とｙｂ軸とによって定まる２次元の直交座標系を設定している。また、ｘｂ軸に対する並進成分を「成分ｘｂ」とし、ｙｂ軸に対する並進成分を「成分ｙｂ」とし、ｘｂ−ｙｂ平面の法線周りの回転成分を「成分ｕｂ」とする。成分ｘｂ及び成分ｙｂの長さ（大きさ）の単位は「ピクセル」であり、成分ｕｂの角度（大きさ）の単位は「°」である。
【００２６】
なお、モバイルカメラ３の画像座標系は、モバイルカメラ３のカメラ視野に写る３次元直交座標を、レンズ３２の光学特性（焦点距離、歪みなど）と撮像素子３１の画素数及び大きさとを加味して非線形変換した２次元の直交座標系である。
【００２７】
＜制御装置＞
図１に示す制御装置５は、ロボット１、固定カメラ２及びモバイルカメラ３の各部を制御する。この制御装置５は、例えば、ＣＰＵ（Central Processing Unit）やＲＯＭ（read only memory）及びＲＡＭ（Random Access Memory）が内蔵されたパーソナルコンピューター（ＰＣ）等で構成することができる。
図３に示すように、制御装置５は、駆動制御部５１と、情報取得部５２と、処理部５３と、記憶部５４と、を備える。
【００２８】
駆動制御部５１は、ロボット１が有する第１アーム１１〜第６アーム１６の駆動を担う各駆動部１３０の駆動を制御し、第１アーム１１〜第６アーム１６をそれぞれ独立して駆動させたり停止させたりすることができる。例えば、駆動制御部５１は、ハンド１０２を目標位置に移動させるために、第１アーム１１〜第６アーム１６に設けられた各駆動部１３０が有するモーターの目標値を導出する。また、駆動制御部５１は、各駆動部１３０が有する角度センサーから出力された回転角度（検出結果）を基にロボット１をフィードバック制御する。また、駆動制御部５１は、固定カメラ２及びモバイルカメラ３の撮像等を制御したりする。
【００２９】
情報取得部５２は、ロボット１、固定カメラ２及びモバイルカメラ３からそれぞれ出力される検出結果を取得する。検出結果としては、例えば、ロボット１の各駆動部１３０が有するモーターまたは減速機の回転軸の回転角度、固定カメラ２及びモバイルカメラ３でそれぞれ撮像した画像、及び、ロボット座標系における軸座標Ｏ６の座標（成分ｘｒ、ｙｒ、ｚｒ、ｕｒ、ｖｒ、ｗｒ：位置及び姿勢）等が挙げられる。
【００３０】
処理部５３は、情報取得部５２で取得した検出結果を基にして各種演算や各種判断等の処理を行う。例えば、処理部５３は、固定カメラ２で撮像した画像を基にして固定カメラ２の画像座標系における撮像対象の座標（成分ｘａ、ｙａ、ｕａ：位置及び姿勢）を演算したり、モバイルカメラ３で撮像した画像を基にしてモバイルカメラ３の画像座標系における撮像対象の座標（成分ｘｂ、ｙｂ、ｕｂ：位置及び姿勢）を演算したりする。また、例えば、処理部５３は、固定カメラ２の画像座標系における対象物の座標をロボット座標系における座標に変換するための補正パラメーターを求めたり、モバイルカメラ３の画像座標系における対象物の座標をロボット座標系における座標に変換するための補正パラメーターを求めたりする。
【００３１】
記憶部５４は、制御装置５が各種処理を行うためのプログラムやデータ等を記憶する。また、記憶部５４は、各種検出結果等を記憶する。
また、図１及び図３に示すように、制御装置５には、表示機器４１及び操作機器４２が接続されている。
【００３２】
表示機器４１は、液晶表示パネル等の表示パネルで構成されたモニター４１１を有する。作業者は、このモニター４１１を介して、固定カメラ２及びモバイルカメラ３で撮像した画像やロボット１による作業等を確認したりすることができる。
操作機器４２は、キーボードで構成された入力デバイスであり、作業者による操作に応じた操作信号を制御装置５に対して出力する。したがって、作業者は、操作機器４２を操作することで、制御装置５に対して各種処理等の指示を行うことができる。
以上、ロボットシステム１００の基本的な構成について簡単に説明した。
【００３３】
このような構成のロボットシステム１００では、例えば、以下のような作業を行うことができる。
まず、制御装置５の制御により、ロボットアーム１０を駆動させてハンド１０２で対象物を把持する。その後、ロボットアーム１０を駆動させてハンド１０２を固定カメラ２上に移動させる。次いで、固定カメラ２で対象物を撮像して、その固定カメラ２で撮像した画像を基に、制御装置５は、ハンド１０２によって対象物を的確に把持しているか否かを判断する。的確に把持していたら、ロボットアーム１０の駆動によりハンド１０２を作業台６１上に移動させる。そして、モバイルカメラ３で撮像した画像を基にして、ハンド１０２で把持している対象物を作業台６１上に予め配置されていた対象物に対して組み込む。
【００３４】
このような上記作業では、固定カメラ２及びモバイルカメラ３でそれぞれ撮像した対象物の画像を基にして、ロボット１が対象物に対して作業を行う。
このような作業において、固定カメラ２で撮像した画像を基にロボット１が対象物に対して的確に作業を行うためには、固定カメラ２の画像上の座標（画像座標系における位置及び姿勢）をロボット座標系における座標に変換するための補正パラメーターを求める処理、すなわち、固定カメラ２の校正（キャリブレーション）が必要である。また、同様に、モバイルカメラ３で撮像した画像を基にロボット１が対象物等に対して的確に作業を行うためには、モバイルカメラ３の画像上の座標（画像座標系における位置及び姿勢）をロボット座標系における座標に変換するための補正パラメーターを求める処理、すなわち、モバイルカメラ３の校正（キャリブレーション）が必要である。
【００３５】
以下、ロボットシステム１００を用いた固定カメラ２の校正方法及びモバイルカメラ３の校正方法（以下、これらをまとめて「撮像部の校正方法（キャリブレーション方法）」という）について説明する。
【００３６】
≪撮像部の校正方法（キャリブレーション方法）≫
図４は、図１に示すロボットシステムを用いた撮像部の校正方法を示すフローチャートである。図５は、図４に示す撮像部の校正で使用する校正用部材の平面図である。図６は、図４に示すモバイルカメラの校正を説明するためのフローチャートである。図７は、図６に示すモバイルカメラの校正を説明するためのロボットの概略図である。図８は、図６に示すオフセット成分を求める処理を説明するためのフローチャートである。図９は、図６に示すオフセット成分Δｕ、Δｖ、Δｗを求める処理を説明するための図である。図１０は、それぞれ、図８に示すオフセット成分Δｘ、Δｙを求める処理を説明するためのフローチャートである。図１１、図１２、図１３、図１４及び図１５は、それぞれ、図８に示すオフセット成分Δｘ、Δｙを求める処理を説明するための図である。図１６は、図８に示すオフセット成分Δｘ、Δｙを求める処理を説明するための座標図である。図１７は、図８に示すオフセット成分Δｚを求める処理を説明するため図である。
【００３７】
図４に示すように、本実施形態の撮像部の校正方法では、固定カメラ２の校正（ステップＳ１）を行った後、モバイルカメラ３の校正（ステップＳ２）を行う。
撮像部の校正は、作業者が操作機器４２を用いて制御装置５に撮像部の校正開始の指示をすることにより開始される。そして、作業者が制御装置５に撮像部の校正開始の指示さえすれば、それ以降、撮像部の校正は、ロボットシステム１００により自動的に行われる。なお、この撮像部の校正は、例えば、ロボット１の作業内容等が変わるごとに行われる。
【００３８】
ここで、本実施形態では、図５に示す校正用部材７０（キャリブレーションボード）を用いて撮像部の校正を行う。
校正用部材７０は、四角形の平板状の部材であり、校正用部材７０の表面７０１には、複数のマーカー７５が付されている。複数のマーカー７５は、互いに同じ円形状（形状）であり、互いにほぼ同じ大きさである。また、複数のマーカー７５は、隣り合うマーカー７５同士のピッチ（間隔）が全てほぼ一定になるように配置されている。また、マーカー７５同士のピッチは、予め測定されており、既知である。
【００３９】
これら複数のマーカー７５のうちの図５中の上側に位置するマーカー７５と、図５中の中央部（表面７０１の中央部）に位置するマーカー７５と、図５中の右側に位置するマーカー７５には、それぞれ、マーカー７５を囲む円がさらに付されている。これら３つのマーカー７５とそれを囲む円とで構成された同心円状をなすマーカーのうち、図５中の上側に位置するマーカーを「第１マーカー７１（第１基準点）」とし、図５中の中央部に位置するマーカーを「第２マーカー７２（第２基準点）」とし、図５中の右側に位置するマーカーを「第３マーカー７３（第３基準点）」とする。このような第１マーカー７１、第２マーカー７２及び第３マーカー７３は、後述する撮像部の校正の基準面を特定する処理において、基準マーカーとして用いられる。それゆえ、第１マーカー７１、第２マーカー７２及び第３マーカー７３は、互いに異なる位置にあり、かつ、第１マーカー７１、第２マーカー７２及び第３マーカー７３が同一直線上にない。
【００４０】
なお、複数のマーカー７５、第１マーカー７１、第２マーカー７２及び第３マーカー７３の形状は、それぞれ、図示の形状に限定されず、いかなる形状であってもよい。また、マーカー７５、第１マーカー７１、第２マーカー７２及び第３マーカー７３は、それぞれ、視認できる形態であればよく、いかなる色であってもよいし、凹凸を有する形態であってもよい。また、複数のマーカー７５、第１マーカー７１、第２マーカー７２及び第３マーカー７３は、異なる形態あってもよい。例えば、複数のマーカー７５、第１マーカー７１、第２マーカー７２及び第３マーカー７３は、それぞれ異なる色や形であってもよい。ただし、第１マーカー７１、第２マーカー７２及び第３マーカー７３は、基準マーカーとして用いるため、他のマーカー７５との識別力を有する形態であることが好ましい。
【００４１】
このような構成の校正用部材７０は、作業者による撮像部の校正開始の指示をする前に、予め、ロボット１にハンド１０２で把持させておく。また、本実施形態では、第２マーカー７２が第６アーム１６の中心軸Ａ６上に位置するように、ハンド１０２によって校正用部材７０を把持させる。また、本実施形態では、ロボット座標系における軸座標Ｏ６の座標に対する第２マーカー７２の座標が特定されており、ロボット座標系における第２マーカー７２の座標を求めることができるようになっている。
【００４２】
なお、本実施形態では、第２マーカー７２が第６アーム１６の中心軸Ａ６上に位置しているが、ロボット座標系における第２マーカー７２の座標を求めることができるよう設定されていれば、第２マーカー７２が第６アーム１６の中心軸Ａ６上に位置していなくてもよい。
【００４３】
＜固定カメラの校正（ステップＳ１）＞
図４に示すように、作業者による撮像部の校正の開始の指示がなされると、制御装置５は、まず、固定カメラ２の校正（ステップＳ１）を開始する。
固定カメラ２の校正（ステップＳ１）では、基準面を特定する処理を行った後、固定カメラ２の画像座標系とロボット座標系との関係を求める処理を行う。
【００４４】
［基準面を特定する処理］
以下、基準面を特定する処理を説明する。
基準面を特定する処理が開始すると、まず、制御装置５は、ロボットアーム１０を駆動させて、校正用部材７０を固定カメラ２に対向させる。
次いで、制御装置５は、ロボットアーム１０を駆動させて、校正用部材７０に付された第２マーカー７２が固定カメラ２の画像の中心部に位置するように校正用部材７０を移動させる。
【００４５】
次いで、制御装置５は、固定カメラ２に第２マーカー７２を撮像させる。このとき、制御装置５は、固定カメラ２の焦点が第２マーカー７２に合う（合焦する）ように、ロボットアーム１０を駆動させることにより、校正用部材７０を移動させる処理（合焦処理）を行う。なお、この合焦処理は省略しても構わない。
次いで、制御装置５は、固定カメラ２で撮像した第２マーカー７２の画像を「第１画像」として記憶部５４に記憶し、かつ、第１画像を撮像した際のロボット座標系における軸座標Ｏ６の座標を記憶部５４に記憶する。ここで、固定カメラ２における基準面を特定する処理では、第１画像を撮像した際の第２マーカー７２を「第１基準マーカー」とする。
次に、制御装置５は、ロボットアーム１０を駆動させて、固定カメラ２の画像上において移動させた位置とは異なる位置に第２マーカー７２が位置するように、校正用部材７０をロボット座標系におけるｘｒ軸、ｙｒ軸及びｚｒ軸に沿って並進移動させる。
【００４６】
次いで、制御装置５は、固定カメラ２に第２マーカー７２を撮像させる。
次いで、固定カメラ２で撮像した画像における第２マーカー７２の形状及び大きさと、記憶部５４に記憶した第１画像における第２マーカー７２の形状及び大きさとを比較する。そして、第２マーカー７２の形状及び大きさと、第１画像における第２マーカー７２の形状及び大きさとの差が、所定の閾値内であるか否かを判断する。
所定の閾値内でないと判断した場合には、所定の閾値内になるようにロボットアーム１０の駆動により校正用部材７０を移動させる。
次に、制御装置５は、所定の閾値内であると判断したら、固定カメラ２で撮像した第２マーカー７２の画像を「第２画像（第ｎ画像）」として記憶部５４に記憶し、かつ、第２画像（第ｎ画像）を撮像した際のロボット座標系における軸座標Ｏ６の座標を記憶部５４に記憶する。ここで、固定カメラ２における基準面を特定する処理では、第２画像を撮像した際の第２マーカー７２を「第２基準マーカー」とする。なお、第２画像を撮像する際には、ハンド１０２に把持されている校正用部材７０に付された第２マーカー７２は、第１画像を撮像する際における位置と異なる位置にある。
【００４７】
次に、撮像した画像の数ｎが予め設定した所定数（ただし、ｎは整数であって、３≦ｎの関係を満足する数）であるか否かを判断する。
ここで、本実施形態では、画像の数が３になるまで画像を取得すること、すなわち、固定カメラ２で３つの画像（第１画像、第２画像及び第３画像）を撮像することを予め設定している。ここで、固定カメラ２における基準面を特定する処理では、第３画像を撮像した際の第２マーカー７２を「第３基準マーカー」とする。なお、第３画像を撮像する際には、ハンド１０２に把持されている校正用部材７０に付された第２マーカー７２は、第１画像を撮像する際における位置及び第２画像を撮像する際における位置と異なる位置にあり、それらは同一直線上にない。また、固定カメラ２における基準面を特定する処理では、第２マーカー７２が「第１基準マーカー、第２基準マーカー及び第３基準マーカー」を兼ねていると捉えることができる。
【００４８】
次に、画像の数ｎが所定数であると判断したら、処理部５３は、記憶部５４に記憶したｎ個（本実施形態では３つ）のロボット座標系における軸座標Ｏ６の座標を基に、撮像素子２１（３つの異なる箇所に配置された状態の第２マーカー７２を通る平面）に平行な基準面８１の原点及びｘ軸、ｙ軸、ｚ軸の各方向を求める。そして、制御装置５は、ロボット座標系における基準面８１の位置及び姿勢、すなわち、基準面８１の成分ｘｒ、ｙｒ、ｚｒ、ｕｒ、ｖｒ、ｗｒを定義する。
【００４９】
［固定カメラの画像座標系とロボット座標系との関係を求める処理］
次に、固定カメラの画像座標系とロボット座標系との関係を求める処理を行う。
制御装置５は、まず、ロボットアーム１０を駆動させて、基準面８１内の格子状に配列された任意の９つの基準点（仮想の目標点）にそれぞれ軸座標Ｏ６が位置するように、校正用部材７０を移動させる。すなわち、第２マーカー７２を格子状に配列された９つの箇所に移動させる。このとき、制御装置５は、校正用部材７０を移動させるごとに、固定カメラ２に第２マーカー７２を撮像させる。
ここで、９つの基準点は、全て固定カメラ２の画像の範囲内（撮像領域内）にあり、隣り合う基準点同士の間隔が全て等しくなっているものとする。
【００５０】
次に、制御装置５は、９つの画像に基づいた固定カメラ２の画像座標系における第２マーカー７２の座標（成分ｘａ、ｙａ、ｕａ）と、ロボット座標系における基準面８１の座標（成分ｘｒ、ｙｒ、ｕｒ）とに基づいて、固定カメラ２の画像座標をロボット座標系における基準面８１の座標に変換する補正パラメーター（座標変換行列）を求める。
このようにして求めた補正パラメーターを用いれば、固定カメラ２で撮像した対象物等の位置及び姿勢（具体的には、成分ｘａ、ｙａ、ｕａ）をロボット座標系における値（具体的には、成分ｘｒ、ｙｒ、ｕｒ）に変換することができる。なお、この補正パラメーターは、レンズ２２の歪み等の固定カメラ２の内部パラメーターも加味した値である。
【００５１】
＜モバイルカメラの校正（ステップＳ２）＞
次に、制御装置５は、図４に示すモバイルカメラ３の校正（ステップＳ２）を開始する。
図６に示すように、モバイルカメラ３の校正（ステップＳ２）では、基準面を特定する処理（ステップＳ２１）、オフセット成分を求める処理（ステップＳ２２）、作業面を特定する処理（ステップＳ２３）、ロボット１にマーカーの位置及び姿勢を教示する処理（ステップＳ２４）、及び、モバイルカメラ３の画像座標系とロボット座標系との関係を求める処理（ステップＳ２５）を、この順に行う。
【００５２】
［基準面を特定する処理（ステップＳ２１）］
まず、図７に示すように、基準面を特定する処理（ステップＳ２１）を行う前に、予め、ハンド１０２で把持していた校正用部材７０を作業台６１の作業面６１１上に載置しておく。その後、基準面を特定する処理（ステップＳ２１）を行う。
まず、制御装置５は、ロボットアーム１０を駆動させて、モバイルカメラ３を校正用部材７０に対向させる。次いで、制御装置５は、ロボットアーム１０を駆動させて、校正用部材７０に付された第１マーカー７１がモバイルカメラ３の画像の中心部に位置するようにモバイルカメラ３を移動させる。
【００５３】
次いで、制御装置５は、モバイルカメラ３に第１マーカー７１を撮像させる。このとき、制御装置５は、モバイルカメラ３の焦点が第１マーカー７１に合う（合焦する）ようにロボットアーム１０を駆動させることにより、モバイルカメラ３を移動させる処理（合焦処理）を行う。なお、この合焦処理は省略しても構わない。
次いで、制御装置５は、モバイルカメラ３で撮像した第１マーカー７１の画像を「第１画像」として記憶部５４に記憶し、かつ、第１画像を撮像した際のロボット座標系における軸座標Ｏ６の座標を記憶部５４に記憶する。ここで、モバイルカメラ３における基準面を特定する処理では、第１マーカー７１を「第１基準マーカー」とする。
次に、制御装置５は、ロボットアーム１０を駆動させて、第２マーカー７２がモバイルカメラ３の画像の中心部に位置するようにモバイルカメラ３を並進移動させる。
次いで、制御装置５は、モバイルカメラ３に第２マーカー７２（第ｎマーカー）を撮像させる。
【００５４】
次いで、モバイルカメラ３で撮像した画像における第２マーカー７２の形状及び大きさと、記憶部５４に記憶した第１画像における第１マーカー７１の形状及び大きさとを比較する。そして、第２マーカー７２の形状及び大きさと、第１マーカー７１の形状及び大きさとの差が、所定の閾値内であるか否かを判断する。
所定の閾値内でないと判断した場合には、所定の閾値内になるようにロボットアーム１０の駆動によりモバイルカメラ３を移動させる。
次に、制御装置５は、所定の閾値内であると判断したら、モバイルカメラ３で撮像した第２マーカー７２（第ｎマーカー）の画像を「第２画像（第ｎ画像）」として記憶部５４に記憶し、かつ、第２画像（第ｎ画像）を撮像した際のロボット座標系における軸座標Ｏ６の座標を記憶部５４に記憶する。ここで、モバイルカメラ３における基準面を特定する処理（ステップＳ２１）では、第２マーカー７２を「第２基準マーカー」とする。
【００５５】
次に、撮像した画像の数ｎが予め設定した所定数（ただし、ｎは整数であって、３≦ｎの関係を満足する数）であるか否かを判断する。
ここで、本実施形態では、モバイルカメラ３で３つの画像（第１画像、第２画像及び第３画像）を撮像することを予め設定している。そのため、本実施形態では、モバイルカメラ３で第２画像を撮像した後に、さらにもう１回、モバイルカメラ３で撮像した第３マーカー７３の画像を「第３画像」として記憶部５４に記憶し、かつ、第３画像を撮像した際のロボット座標系における軸座標Ｏ６の座標を記憶部５４に記憶する。ここで、モバイルカメラ３における基準面を特定する処理では、第３マーカー７３を「第３基準マーカー」とする。
【００５６】
次に、画像の数ｎが所定数であると判断したら、処理部５３は、記憶部５４に記憶したｎ個（本実施形態では３つ）のロボット座標系における軸座標Ｏ６の座標を基に、図７に示すような表面７０１（第１マーカー７１、第２マーカー７２及び第３マーカー７３を通る平面）に平行な基準面８２の原点及びｘ軸、ｙ軸、ｚ軸の各方向を求める。そして、制御装置５は、ロボット座標系における基準面８２の位置及び姿勢、すなわち、基準面８２の成分ｘｒ、ｙｒ、ｚｒ、ｕｒ、ｖｒ、ｗｒを定義する。
【００５７】
［オフセット成分を求める処理（ステップＳ２２）］
次に、オフセット成分を求める処理（ステップＳ２２）を、図８に示すフローチャートを参照しつつ説明する。
【００５８】
ここで、前述したように、モバイルカメラ３は、設計上、光軸ＯＡ３が第６アーム１６の中心軸Ａ６に対してほぼ平行になるように、第６アーム１６に対してオフセットして取り付けられている。しかし、実際には、その設計上のオフセット成分（第６アーム１６に対するモバイルカメラ３の位置及び姿勢）からズレが生じる。このズレは、例えば、モバイルカメラ３の組み付け誤差や、モバイルカメラ３の筐体に対する撮像素子３１の組み付け誤差等により生じる。
【００５９】
そこで、このオフセット成分を求める処理（ステップＳ２２）にて、実際のオフセット成分（第６アーム１６に対するモバイルカメラ３の位置及び姿勢）を求める。
以下のオフセット成分を求める処理（ステップＳ２２）では、回動軸部材１６１の軸座標Ｏ６に対するモバイルカメラ３の撮像基準点Ｏ３の位置及び光軸ＯＡ３の方向（姿勢）のオフセット成分（Δｘ、Δｘ、Δｙ、Δｕ、Δｖ、Δｗ）を求める。
【００６０】
なお、本実施形態では、軸座標Ｏ６に対する撮像基準点Ｏ３の位置及び光軸ＯＡ３の方向のオフセット成分を求めるが、オフセット成分を求めるにあたり基準とする箇所は、軸座標Ｏ６及び撮像基準点Ｏ３に限定されず任意である。例えば、オフセット成分を求めるにあたり基準とする箇所を、ロボットアーム１０に装着されたハンド１０２のＴＣＰ等のツールの所定部位であってもよい。
【００６１】
図８に示すように、オフセットを求める処理（ステップＳ２２）が開始すると、まず、制御装置５は、ロボットアーム１０を駆動させて、モバイルカメラ３に校正用部材７０を検出させる（ステップＳ２２１）。
次に、制御装置５は、モバイルカメラ３の受光面３１１が校正用部材７０の表面７０１に正対するようにロボットアーム１０を駆動させる（ステップＳ２２２）。
【００６２】
次いで、制御装置５は、モバイルカメラ３の受光面３１１に対する校正用部材７０の表面７０１の平行度を検証する（ステップＳ２２３）。そして、制御装置５は、平行度が所定の閾値内であるか否かを判断する（ステップＳ２２４）。
図９に示すように、平行度は、画像における表面７０１に付された隣り合うマーカー７５同士のピッチＰの差を用いて検証する。例えば、図９中の実線で示すように、隣り合うマーカー７５同士のピッチＰ１、Ｐ２、Ｐ３、Ｐ４の差がほぼ同じであり、その差が所定の閾値内である場合には、ステップＳ２２５に移行する。一方、図９中の２点鎖線で示すように、隣り合うマーカー７５同士のピッチＰ１’、Ｐ２’、Ｐ３’、Ｐ４’の差が異なり、その差が所定の閾値を超える場合には、所定の閾値内になるまで、ステップＳ２２１からステップＳ２２４を繰り返す。ここで、所定の閾値内であることは、前述した基準面８２と光軸ＯＡ３とが閾値以内で垂直になっていることを意味する。
【００６３】
次に、制御装置５は、所定の閾値内であると判断したら、所定の閾値内であると判断した際のロボット座標系における軸座標Ｏ６の成分ｕｒ、ｖｒ、ｗｒと、前述した基準面を特定する処理（ステップＳ２１）で求めた際のロボット座標系における基準面８２の成分ｕｒ、ｖｒ、ｗｒとの差からオフセット成分Δｕ、Δｖ、Δｗを求める（ステップＳ２２５）。このオフセット成分Δｕ、Δｖ、Δｗは、軸座標Ｏ６に対する光軸ＯＡ３のオフセット成分Δｕ、Δｖ、Δｗに相当する。
【００６４】
次に、図８に示すように、制御装置５は、軸座標Ｏ６に対する撮像基準点Ｏ３のオフセット成分Δｘ、Δｙを求める（ステップＳ２２６）。以下、オフセット成分Δｘ、Δｙを求める方法を図１０〜図１６を参照しつつ説明する。なお、図１０は、オフセット成分Δｘ、Δｙを求める処理をフローチャートであり、図１１〜図１６は、例えば、ロボット１を鉛直方向上方から見たときのモバイルカメラ３及び第６アーム１６を模式的に示している。
【００６５】
具体的には、まず、制御装置５は、マーカーを画像の中央に移動させる（ステップＳ２２６１）。図１１に示すように、制御装置５は、例えばモバイルカメラ３の画像３０の中心Ｏ３０（重心）に第２マーカー７２が位置するようにロボットアーム１０を駆動させる。この図１１に示すモバイルカメラ３及び第６アーム１６の姿勢を「第１姿勢」とし、この状態を「第１状態」とする。ここで、画像３０の中心Ｏ３０と撮像基準点Ｏ３は一致している。また、図１１に示す第６アーム１６に装着されたハンド１０２の位置を「第１位置」とする。
【００６６】
次いで、制御装置５は、ロボット１の姿勢を変化させる（ステップＳ２２６２）。制御装置５は、ＴＣＰを回転軸として５°程度回転させる。具体的には、図１２に示すように、制御装置５は、第１姿勢で、ロボットアーム１０を駆動させて第６アーム１６を中心軸Ａ６周りに所定の角度で回動させる。この際の所定の角度は、画像３０外に第２マーカー７２が出ない範囲内（モバイルカメラ３の撮像領域内に収まる範囲内）の所定の角度（例えば１〜１０°程度）とする。
【００６７】
次いで、制御装置５は、マーカーを画像の中央に移動させる（ステップＳ２２６３）。具体的には、図１３に示すように、制御装置５は、ロボットアーム１０を駆動させて、第２マーカー７２が中心Ｏ３０に一致するようにモバイルカメラ３及び第６アーム１６をロボット座標系におけるｘｒ軸及びｙｒ軸を含む平面（基準面８２のｘ−ｙ平面）に平行な平面内に並進移動させる。この図１３に示すモバイルカメラ３及び第６アーム１６の姿勢を「第２姿勢」とし、この状態を「第２状態」とする。
【００６８】
次いで、制御装置５は、ツールオフセットを計算し、ツール１に設定する（ステップＳ２２６４）。このような第１状態から第４状態となるモバイルカメラ３及び第６アーム１６の移動は、図１１に示す第１状態と図１３に示す第２状態とを見ると、中心Ｏ３０（撮像基準点Ｏ３）を通る線分を回動中心軸にして軸座標Ｏ６（第６アーム１６）が回動していることと同等であることが分かる。したがって、図１１−図１３に示すように、第１状態から第２状態となる移動は、中心Ｏ３０（撮像基準点Ｏ３）を通る線分を回動中心軸として軸座標Ｏ６を回動角度θ１０で移動させたことと等しい。それゆえ、回動角度θ１０と、第１状態でのロボット座標系における軸座標Ｏ６の座標と、第２状態でのロボット座標系における軸座標Ｏ６の座標とに基づいて、ロボット座標系における撮像基準点Ｏ３の座標を求める。そして、求めたロボット座標系における撮像基準点Ｏ３の座標と、第１状態及び第３状態のいずれか一方のロボット座標系における軸座標Ｏ６の座標とから、軸座標Ｏ６に対する撮像基準点Ｏ３の仮オフセット成分Δｘ’、Δｙ’（仮ツールセット）を求める。
【００６９】
次いで、制御装置５は、ロボットアーム１０の第６アーム１６に装着されたハンド１０２を移動させる（ステップＳ２２６５）。ロボット１の近傍に、他のロボット、装置等の干渉物（障害物）Ｘ１が配置されていた場合について考える。この場合、あるロボット１が、当該ロボット１が有するロボットアーム１０の第６アーム１６に装着されたハンド１０２を中心軸Ａ６周りに所定の角度で回動させた場合に、ハンド１０２が干渉物Ｘ１に接触してしまうことが想定される。
そこで、本実施形態では、第２状態で、ハンド１０２を中心軸Ａ６周りに所定の角度で回動させるとハンド１０２が干渉物Ｘ１に接触してしまう場合、制御装置５は、ロボットアーム１０の第６アーム１６に装着されたハンド１０２を第１位置から、ハンド１０２を中心軸Ａ６周りに所定の角度で回動させてもハンド１０２が干渉物Ｘ１に接触しない第２位置へ移動させる。具体的には、制御装置５は、この一例において、当該場合には、現在のモバイルカメラ３の姿勢を保持したまま、当該ハンド１０２を第１位置から上方向へ所定の距離だけ移動させることによって、ハンド１０２を中心軸Ａ６周りに所定の角度で回動させてもハンド１０２が障害物Ｘ１に接触しない第２位置へ並進移動させる（逃がす）。なお、制御装置５は、ハンド１０２を第１位置から上方向へ所定の距離だけ移動させることに代えて、他の方向に所定の距離だけ並進移動させる構成であってもよく、予め決められた他の位置に移動させる構成であってもよい。予め決められた他の位置に移動させる場合、第１位置と第２位置とのそれぞれにおいて、モバイルカメラ３の姿勢は、同じ姿勢でなければならない。しかし、第１位置から第２位置までの移動中におけるモバイルカメラ３の姿勢は、変化してもよい。
【００７０】
次いで、制御装置５は、ロボットの姿勢を変化させる（ステップＳ２２６６）。具体的には、制御装置５は、第１の姿勢に対して、ツール先端を回転中心として１８０°回転させる。ツール先端を回転中心として１８０°回転させた状態のモバイルカメラ３及び第６アーム１６を図１４に示す。図１４に示した例では、制御装置５がハンド１０２を第１位置から第２位置へ移動させた後においても、モバイルカメラ３の画像３０に第２マーカー７２が入っている。なお、この状態では、モバイルカメラ３の画像３０に第２マーカー７２が入っていなくてもよい。
【００７１】
次いで、制御装置５は、第６アーム１６に装着されたハンド１０２の位置を第１位置に移動させる（ステップＳ２２６７）。この場合において、ロボットの姿勢は、第１の姿勢と１８０°異なる。
次いで、制御装置５は、マーカーを画像の中央に移動させる（ステップＳ２２６８）。具体的には、制御装置５は、第２マーカー７２が画像３０外に出ないように仮オフセット成分Δｘ’、Δｙ’を基にしてロボットアーム１０を駆動させ、撮像基準点Ｏ３（中心Ｏ３０）を通る線分を回動中心軸として軸座標Ｏ６を所定の角度で回動させる。図１５に示すように、制御装置５は、ロボットアーム１０の駆動によりモバイルカメラ３及び第６アーム１６をロボット座標系におけるｘｒ軸及びｙｒ軸を含む平面（基準面８２のｘ−ｙ平面）に平行な平面内に並進移動させ、画像３０の中心Ｏ３０に第２マーカー７２を位置させる。この図１５に示すモバイルカメラ３及び第６アーム１６の姿勢を「第３姿勢」とし、この状態を「第３状態」とする。
【００７２】
次いで、制御装置５は、ツールオフセットを計算し、ツール１に設定する（ステップＳ２２６９）。このような図１１の第１状態から、図１５の第３状態となるモバイルカメラ３及び第６アーム１６の移動は、図１１に示す第１状態と図１５に示す第３状態とを見ると、中心Ｏ３０（撮像基準点Ｏ３）を通る線分を回動中心軸にして軸座標Ｏ６を回動させていることと同等であることが分かる。したがって、図１６に示すように、図１１の第１状態から図１５の第３状態となる移動は、中心Ｏ３０（撮像基準点Ｏ３）を通る線分を回動中心軸として軸座標Ｏ６を回動角度θ１で移動させたことと等しい。それゆえ、回動角度θ１と、第１状態でのロボット座標系における軸座標Ｏ６の座標と、第３状態でのロボット座標系における軸座標Ｏ６の座標とに基づいて、ロボット座標系における撮像基準点Ｏ３の座標を求める。そして、求めたロボット座標系における撮像基準点Ｏ３の座標と、第１状態及び第３状態のいずれか一方のロボット座標系における軸座標Ｏ６の座標とから、軸座標Ｏ６に対する撮像基準点Ｏ３のオフセット成分Δｘ、Δｙ（ツールセット）を求める。
次いで、制御装置５は、ロボットアーム１０の第６アーム１６に装着されたハンド１０２を干渉物がない場所に移動させる（ステップＳ２２７０）。
次いで、制御装置５は、ロボットの姿勢を元に戻す（ステップＳ２２７１）。具体的には、制御装置５は、ツール先端を回転中心として−１８０°回転させる。
次いで、制御装置５は、第６アーム１６に装着されたハンド１０２の位置を第１位置に移動させる（ステップＳ２２７２）。
【００７３】
このような処理によれば、軸座標Ｏ６に対する撮像基準点Ｏ３のオフセット成分Δｘ、Δｙを容易かつ高精度に求めることができる。
また、前述したように、本実施形態では、第１状態から第２状態に移行する処理を行うことにより、仮オフセット成分Δｘ’、Δｙ’を算出している。すなわち、第２マーカー７２がモバイルカメラ３の画像３０内（撮像領域内）に収まる範囲内の微小な角度で、第６アーム１６を中心軸Ａ６周りに回動させる処理を行うことで、仮オフセット成分Δｘ’、Δｙ’を算出している。このような仮オフセット成分Δｘ’、Δｙ’の情報を用いて、ステップＳ２２６８の処理を行うことで、第２マーカー７２を確実に画像３０内に写すことができる。
【００７４】
次に、図８に示すように、制御装置５は、軸座標Ｏ６に対する撮像基準点Ｏ３のオフセット成分Δｚを求める（ステップＳ２２７）。以下、オフセット成分Δｚを求める方法を、図１７を参照しつつ説明する。なお、図１７は、オフセット成分Δｚを求める際のモバイルカメラ３及び第６アーム１６の過程を図示しており、説明の便宜上、図１７中の実線で示すモバイルカメラ３が、「設計上のモバイルカメラ３」の位置を示しており、図１７中の点線で示すモバイルカメラ３’が、「実際のモバイルカメラ３」の位置を示している。
【００７５】
図１７に示すように、まず、制御装置５は、例えば第２マーカー７２がモバイルカメラ３’の画像の中心に写るようにロボットアーム１０を駆動させて、図１６に示す状態Ａとする。次いで、制御装置５は、モバイルカメラ３’で第２マーカー７２を撮像して、図１７に示すモバイルカメラ３の受光面３１１と第２マーカー７２との間の距離Ｈを求める。
ここで、本実施形態では、モバイルカメラ３の焦点距離は予め求められていて、既知である。このため、距離Ｈは、例えば、モバイルカメラ３の焦点距離と、モバイルカメラ３の画像におけるマーカー７５同士のピッチの長さ「ピクセル」と、実際のマーカー７５同
士のピッチ「ｍｍ」とから算出することができる。
【００７６】
なお、モバイルカメラ３の焦点距離は、例えば、校正用部材７０のマーカー７５を写しながら、モバイルカメラ３を光軸ＯＡ３方向（ｚｒ方向）へ微小量だけ動かした場合における動作前後での、画像上のマーカー７５同士のピッチの長さ「ピクセル」と、実際のマーカー７５同士のピッチ「ｍｍ」とから求めることも可能である。
次いで、図１６中の状態Ｂに示すように、制御装置５は、ロボットアーム１０を駆動させて、モバイルカメラ３’を設計上のオフセット成分Δｚを基に角度θ２だけ傾ける。
【００７７】
次いで、図１６中の状態Ｃに示すように、制御装置５は、ロボットアーム１０を駆動させて、状態Ｂのモバイルカメラ３’の姿勢を保ったまま、第２マーカー７２がモバイルカメラ３’の画像の中心に写るようにモバイルカメラ３’をロボット座標系におけるｘｒ軸及びｙｒ軸を含む平面（基準面８２のｘ−ｙ平面）に平行な面内に並進移動させる。そして、制御装置５は、このときのロボット座標系における軸座標Ｏ６の移動距離Ｘ’（具体的には、設計上のオフセット成分Δｚに基づく、基準面８２のｘ−ｙ平面に平行な面内での撮像基準点Ｏ３の移動距離）を求める。
【００７８】
次いで、制御装置５は、下記の式（１）より、モバイルカメラ３’の実際のオフセット成分Δｚを求めるための補正量ΔＨを求める。
ΔＨ＝（Ｘ´／ｔａｎθ２）−Ｈ      （１）
次いで、制御装置５は、補正量ΔＨと設計上のオフセット成分Δｚとを基に、実際のオフセット成分Δｚを求める。
このようにして、オフセット成分Δｚを求めることができる。このような処理によれば、オフセット成分Δｚを容易に算出することができる。
【００７９】
次に、図８に示すように、制御装置５は、設計上のオフセット成分から、求めた実際のオフセット成分Δｘ、Δｙ、Δｚ、Δｕ、Δｖ、Δｗにデータを更新する（ステップＳ２２８）。
以上にて、図６に示すオフセットを求める処理（ステップＳ２２）が終了する。
【００８０】
［作業面を特定する処理（ステップＳ２３）］
次に、図６に示すように、作業面を特定する処理（ステップＳ２３）を行う。作業面を特定する処理（ステップＳ２３）は、ロボット座標系における作業面６１１の位置及び姿勢、すなわち、作業面６１１の成分ｘｒ、ｙｒ、ｚｒ、ｕｒ、ｖｒ、ｗｒを求める処理である。
【００８１】
ここで、作業面６１１は、基準面８２に対して平行であり、基準面８２の法線方向（ｚｒ方向）にオフセットした位置にある。このため、この作業面を特定する処理（ステップＳ２３）では、作業面６１１の基準面８２に対する法線方向（ｚｒ方向）のオフセット量を決定することにより、作業面６１１の成分ｘｒ、ｙｒ、ｚｒ、ｕｒ、ｖｒ、ｗｒを求めることができる。
【００８２】
作業面６１１の基準面８２に対する法線方向（ｚｒ方向）のオフセット量は、予め求めておいたモバイルカメラ３の焦点距離と、校正用部材７０の隣り合うマーカー７５のピッチの値（実寸）に対するモバイルカメラ３の画素数と、前述した実際のオフセット成分とに基づいて求めることができる。
【００８３】
このようにしてロボット座標系における作業面６１１の位置及び姿勢を求めることで、ロボット１は作業面６１１上に載置された対象物に対して高精度に作業を行うことができる。
【００８４】
［ロボットにマーカーの位置及び姿勢を教示する処理（ステップＳ２４）］
次に、図６に示すように、ロボット１にマーカーの位置及び姿勢を教示する処理（ステップＳ２４）を行う。
ここでは、例えば、基準面８２（または作業面６１１）のｘ−ｙ平面における第２マーカー７２のロボット座標をロボット１に教示する。
【００８５】
具体的には、まず、制御装置５は、前述したオフセット成分を求める処理（ステップＳ２２）にて算出した軸座標Ｏ６に対する撮像基準点Ｏ３の位置及び光軸ＯＡ３の方向のオフセット成分を基にして、基準面８２のｚ軸にモバイルカメラ３の光軸ＯＡ２を得る。その後、制御装置５は、ロボットアーム１０の駆動により、基準面８２のｘ−ｙ平面に平行な面内にモバイルカメラ３を並進移動させ、第２マーカー７２をモバイルカメラ３の画像中心に合わせる。そして、制御装置５は、第２マーカー７２をモバイルカメラ３の画像中心に合せた際のモバイルカメラ３の撮像基準点Ｏ３の位置を第２マーカー７２のロボット座標として教示する。
【００８６】
なお、例えば、軸座標Ｏ６におけるオフセットが既知である教示専用ツール（タッチアップ用ハンド）を第２マーカー７２に接触させることにより、ロボット１にマーカー７５の位置及び姿勢を教示してもよい。ただし、モバイルカメラ３で第２マーカー７２の画像を撮像することにより、ロボット１に第２マーカー７２の位置及び姿勢を教示する方が、例えば校正用部材７０の材質等によらずに第２マーカー７２を高精度に教示することができるため、好ましい。
【００８７】
［モバイルカメラの画像座標系とロボット座標系との関係を求める処理（ステップＳ２５）］
次に、図６に示すように、モバイルカメラの画像座標系とロボット座標系との関係を求める処理（ステップＳ２５）を行う。
モバイルカメラ３の画像座標系とロボット座標系との関係を求める処理（ステップＳ２５）が終了すると、９つの画像に基づいたモバイルカメラ３の画像座標系における第２マーカー７２の座標（成分ｘｂ、ｙｂ、ｕｂ）と、前述したステップＳ２１で求めたロボット座標系における基準面８２の座標（成分ｘｒ、ｙｒ、ｕｒ）とに基づいて、固定カメラ２の画像座標をロボット座標系における基準面８２の座標に変換する補正パラメーター（座標変換行列）を求めることができる。
【００８８】
このようにして求めた補正パラメーターを用いれば、モバイルカメラ３で撮像した対象物等の位置及び姿勢（具体的には、成分ｘｂ、ｙｂ、ｕｂ）をロボット座標系における値（具体的には、成分ｘｒ、ｙｒ、ｕｒ）に変換することができる。
以上により、図４に示す撮像部の校正が終了する。
このような撮像部の校正方法によれば、固定カメラ２及びモバイルカメラ３でそれぞれ撮像した画像を基にして基準面８１、８２の姿勢を求めることができるため、従来のように作業者による判断を省くことができる。そのため、人為的な誤差や、作業者によるバラツキを低減することができ、よって、高精度な校正ができる。
【００８９】
以上、本発明のロボット、制御装置及びロボットシステムを、図示の実施形態に基づいて説明したが、本発明はこれに限定されるものではなく、各部の構成は、同様の機能を有する任意の構成のものに置換することができる。また、他の任意の構成物が付加されていてもよい。また、本発明は、前記各実施形態のうちの、任意の２以上の構成（特徴）を組み合わせたものであってもよい。
【００９０】
また、前記実施形態では、６軸の垂直多関節ロボットを用いた場合を例に説明したが、本発明におけるロボットは、垂直多関節ロボット以外のロボット、例えば水平多関節ロボット等であってもよい。なお、水平多関節ロボットとは、例えば、基台と、基台に接続され、水平方向に延びている第１アームと、第１アームに接続され、水平方向に延びる部分を有する第２アームとを有する構成である。また、本発明におけるロボットが水平多関節ロボットである場合、前述したような校正を行うことで、例えば、ロボットが作業面に対して平行に設置されているか否かや、固定カメラの光軸がロボット座標系におけるｘｒ軸及びｙｒ軸を含む面に対して鉛直になるように固定カメラが設置されているか否か等を把握することができる。
【００９１】
また、前記実施形態では、ロボットが有するロボットアームの回動軸の数は、６つであるが、本発明では、これに限定されず、ロボットアームの回動軸の数は、例えば、２つ、３つ、４つ、５つまたは７つ以上でもよい。また、前記実施形態では、ロボットが有するアームの数は、６つであるが、本発明では、これに限定されず、ロボットが有するアームの数は、例えば、２つ、３つ、４つ、５つ、または、７つ以上でもよい。
【００９２】
また、前記実施形態では、ロボットが有するロボットアームの数は、１つであるが、本発明では、これに限定されず、ロボットが有するロボットアームの数は、例えば、２つ以上でもよい。すなわち、ロボットは、例えば、双腕ロボット等の複数腕ロボットであってもよい。
また、前記実施形態では、撮像部としての固定カメラ及びモバイルカメラは、それぞれ、撮像素子及びレンズを有する構成であったが、本発明における撮像部は、第１マーカー、第２マーカー及び第３マーカーを撮像することができる構成であればいかなる構成であってもよい。
【００９３】
また、前記実施形態では、校正用部材を用いて固定カメラの校正を行ったが、固定カメラの校正では、校正用部材を用いなくてもよい。校正用部材を用いない場合には、例えば、ロボットアームの先端部（軸座標）に１つのマーカーを付して、その１つのマーカーを基準マーカーとして用いればよい。この場合には、１つのマーカーを「第１基準マーカー、第２基準マーカー及び第３基準マーカー」と捉える。
また、前記実施形態では、ロボットアーム１０に装着されるツールとして、ハンドを適用したが、ロボットアーム１０に装着されるツールとしてディスペンサが適用されてもよい。
【００９４】
以上説明したように、本実施形態におけるロボット（この一例において、ロボット１）は、第１状態（この一例において、第１状態）及び第３状態（この一例において、第３状態）において撮像部（この一例において、モバイルカメラ３）により撮像された画像に基づいて、所定部位（この一例において、ハンド１０２のＴＣＰ）のアーム（この一例において、ロボットアーム１０）に対するオフセットを設定できる。これにより、ロボットは、アームをオペレーターが操作することによって基準点の位置を教示しながらツールのオフセットを設定するよりも、人為的な誤差や作業者によるばらつきを低減することができる。
【００９５】
また、ロボットは、障害物がない位置で、所定部位を通り撮像部の光軸に平行な回転軸を中心にツールを回転させることができる。これにより、ロボットは、障害物への衝突を回避して、所定部位を通り撮像部の光軸に平行な回転軸を中心にツールを回転させることができるため、ツールの所定部位の周辺に障害物がある場合でもオフセットを精度よく算出することができる。
【００９６】
また、制御装置は、第１状態及び第３状態において撮像部により撮像された画像に基づいて、所定部位のアームに対するオフセットを、ロボットに設定することができる。これにより、制御装置は、アームをオペレーターが操作することによって基準点の位置を教示しながらツールのオフセットを、ロボットに設定するよりも、オフセットを精度よく設定できる。
【００９７】
また、ロボットシステムでは、制御装置は、第１状態及び第３状態において撮像部により撮像された画像に基づいて、所定部位のアームに対するオフセットを、ロボットに設定することができる。これにより、ロボットシステムでは、制御装置は、アームをオペレーターが操作することによって基準点の位置を教示しながらツールのオフセットを、ロボットに設定するよりも、オフセットを精度よく設定することができる。
【００９８】
以上、この発明の実施形態を、図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない限り、変更、置換、削除等されてもよい。
また、以上に説明した装置（例えば、制御装置）における任意の構成部の機能を実現するためのプログラムを、コンピューター読み取り可能な記録媒体に記録し、そのプログラムをコンピューターシステムに読み込ませて実行するようにしてもよい。なお、ここでいう「コンピューターシステム」とは、ＯＳ（Operating  System）や周辺機器等のハードウェアを含むものとする。また、「コンピューター読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ＲＯＭ、ＣＤ（Compact  Disk）−ＲＯＭ等の可搬媒体、コンピューターシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピューター読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムが送信された場合のサーバーやクライアントとなるコンピューターシステム内部の揮発性メモリー（ＲＡＭ）のように、一定時間プログラムを保持しているものも含むものとする。
【００９９】
また、上記のプログラムは、このプログラムを記憶装置等に格納したコンピューターシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピューターシステムに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク（通信網）や電話回線等の通信回線（通信線）のように情報を伝送する機能を有する媒体のことをいう。
また、上記のプログラムは、前述した機能の一部を実現するためのものであってもよい。さらに、上記のプログラムは、前述した機能をコンピューターシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル（差分プログラム）であってもよい。
【符号の説明】
【０１００】
１…ロボット、２…固定カメラ、３…モバイルカメラ、３'…モバイルカメラ、５…制御装置、１０…ロボットアーム、１１…第１アーム、１２…第２アーム、１３…第３アーム、１４…第４アーム、１５…第５アーム、１６…第６アーム、２１…撮像素子、２２…レンズ、３０…画像、３１…撮像素子、３２…レンズ、４１…表示機器、４２…操作機器、５１…駆動制御部、５２…情報取得部、５３…処理部、５４…記憶部、６１…作業台、６２…供給台、７０…校正用部材、７１…第１マーカー、７２…第２マーカー、７３…第３マーカー、７５…マーカー、８１…基準面、８２…基準面、９０…作業領域、１００…ロボットシステム、１０１…基台、１０２…ハンド、１１１…回動軸部材、１２０…モータードライバー、１２１…回動軸部材、１３０…駆動部、１３１…回動軸部材、１４１…回動軸部材、１５１…回動軸部材、１６１…回動軸部材、２１１…受光面、３１１…受光面、４１１…モニター、６１１…作業面、７０１…表面、Ａ…状態、Ａ６…中心軸、Ｂ…状態、Ｃ…状態、Ｈ…距離、Ｏ２…撮像基準点、Ｏ３…撮像基準点、Ｏ３０…中心、Ｏ６…軸座標、ＯＡ２…光軸、ＯＡ３…光軸、Ｐ…ピッチ、Ｐ１、Ｐ２、Ｐ３、Ｐ４…ピッチ、Ｐ１'、Ｐ２'、Ｐ３'、Ｐ４'…ピッチ、ＴＣＰ…ツールセンターポイント、Ｘ'…移動距離、ΔＨ…補正量、θ１…回動角度、θ１０…回動角度、θ２…角度
【図１】
2018001332.tif 000003
【図２】
2018001332.tif 000004
【図３】
2018001332.tif 000005
【図４】
2018001332.tif 000006
【図５】
2018001332.tif 000007
【図６】
2018001332.tif 000008
【図７】
2018001332.tif 000009
【図８】
2018001332.tif 000010
【図９】
2018001332.tif 000011
【図１０】
2018001332.tif 000012
【図１１】
2018001332.tif 000013
【図１２】
2018001332.tif 000014
【図１３】
2018001332.tif 000015
【図１４】
2018001332.tif 000016
【図１５】
2018001332.tif 000017
【図１６】
2018001332.tif 000018
【図１７】
2018001332.tif 000019