(57)【要約】【課題】作業効率の高いロボットを制御する制御装置と、当該制御装置によって制御されるロボットと、当該制御装置およびロボットを備えるロボットシステムを提供すること。【解決手段】制御部と受付部とを備え、前記制御部は、前記受付部からの前記信号に基づいて、撮像機能を有する第１撮像部の座標系と前記ロボットの座標系との校正を行う第１作業と、撮像機能を有する第２撮像部の座標系と前記ロボットの座標系との校正を行う第２作業と、前記ロボットが作業する作業面に応じた仮想基準面の姿勢を演算する第３作業と、前記第１撮像部と前記ロボットが有する基準点との距離を演算する第４作業と、前記エンドエフェクターと前記基準点との距離を演算する第５作業と、のうち２つ以上を一括して実行することを特徴とする制御装置。【選択図】図１
2018012184.tif 000002
【特許請求の範囲】
【請求項１】
対象物に対して作業をするエンドエフェクターが着脱可能に取り付けられた可動部を有するロボットを動作させる制御部と、
入力命令を受け付けて、受け付けた前記入力命令に基づいた信号を前記制御部に出力する受付部と、を備え、
前記制御部は、前記受付部からの前記信号に基づいて、
撮像機能を有する第１撮像部の座標系と前記ロボットの座標系との校正を行う第１作業と、
撮像機能を有する第２撮像部の座標系と前記ロボットの座標系との校正を行う第２作業と、
前記ロボットが作業する作業面に応じた仮想基準面の姿勢を演算する第３作業と、
前記第１撮像部と前記ロボットが有する基準点との距離を演算する第４作業と、
前記エンドエフェクターと前記基準点との距離を演算する第５作業と、
のうち２つ以上を一括して実行することを特徴とする制御装置。
【請求項２】
前記第１撮像部は、前記可動部に設けられている請求項１に記載の制御装置。
【請求項３】
前記第２撮像部は、前記可動部以外の場所に設けられている請求項１または２に記載の制御装置。
【請求項４】
前記制御部は、前記受付部からの前記信号に基づいて、前記第１作業、前記第２作業、前記第３作業、前記第４作業および前記第５作業を一括して実行する請求項１ないし３のいずれか１項に記載の制御装置。
【請求項５】
前記受付部は、前記第１作業、前記第２作業、前記第３作業、前記第４作業および前記第５作業のうち少なくとも１つについて、選択的に実行しないことを受け付けることが可能である請求項１ないし４のいずれか１項に記載の制御装置。
【請求項６】
前記制御部は、前記受付部からの前記信号に基づいて、前記第１作業、前記第２作業、前記第３作業、前記第４作業および前記第５作業のそれぞれの作業内容を設定する設定画面を表示する信号を出力する請求項１ないし５のいずれか１項に記載の制御装置。
【請求項７】
前記エンドエフェクターは、前記可動部が有する部材に取り付けられており、
前記可動部が有する部材は、回動軸周りに回動可能であり、
前記基準点は、前記回動軸上に位置している請求項１ないし６のいずれか１項に記載の制御装置。
【請求項８】
請求項１ないし７のいずれか１項に記載の制御装置によって制御されることを特徴とするロボット。
【請求項９】
請求項１ないし７のいずれか１項に記載の制御装置と、当該制御装置によって制御されるロボットとを備えることを特徴とするロボットシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、制御装置、ロボットおよびロボットシステムに関するものである。
【背景技術】
【０００２】
従来から、例えば電子部品等の対象物の把持、搬送および組立て等の作業で用いられるロボットシステムが知られている。このようなロボットシステムは、複数のアームを有するロボットアームおよびその先端に設けられたハンドを有するロボットと、カメラ等の撮像部と、ロボットおよび撮像部をそれぞれ制御する制御装置と、を有する。このような構成のロボットシステムは、例えば、撮像部で撮像した対象物の画像を基にして、ロボットがハンドにより対象物に対して各種作業を行う。
【０００３】
ここで、撮像部で撮像した画像を基にして、ロボットが対象物に対して的確に作業を行うためには、撮像部で撮像した対象物の画像上の位置および姿勢をロボット座標系における値に変換するための補正パラメーターを求める撮像部の校正（キャリブレーション）が必要である。
【０００４】
例えば、特許文献１には、ロボット−視覚センサシステム（ロボットシステム）を用いて、画像上の位置をロボット座標系の値に変換するパラメーターを求める処理について記載されている。特許文献１に記載のロボット−視覚センサシステムは、ロボットアームおよびその先端に設けられたタッチアップ用ハンドを有するロボットと、ロボットアームの先端に設けられた視覚センサー（撮像部）と、３つの基準点および４つの参照点を有する平面を備えるキャリブレーション治具と、を有する。
【０００５】
特許文献１に記載の処理では、まず、３つの基準点にタッチアップ用ハンドを接触させることにより、ロボット座標系におけるキャリブレーション治具の位置および姿勢を特定する。その後、ロボットアームを駆動して視覚センサーで４つの参照点を撮像して、撮像部の画像座標系でキャリブレーション治具の位置を特定することによって、画像上の位置をロボット座標系の値に変換するパラメーターを求めている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開平８−２１０８１６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかし、特許文献１に記載の処理では、前述したように、３つの基準点にタッチアップ用ハンドを接触させることにより、ロボット座標系におけるキャリブレーション治具の位置を特定している。このような従来の校正では、一般的に、作業者がキャリブレーション治具とタッチアップ用ハンドとの接触を確認するため、作業者によって接触の判断に差が生じてしまう。そのため、キャリブレーション治具の位置および姿勢を高精度に特定することが難しく、作業者によって接触の判断を正確に行おうとすると、キャリブレーション治具の位置および姿勢の特定に長時間を要するという問題がある。また、作業者が直接的に行う作業が多く、校正対象であるロボット、カメラおよび基準面の数が増えるほど、キャリブレーション治具の位置および姿勢の特定に長時間を要するという問題が深刻になる。
【課題を解決するための手段】
【０００８】
本発明は、前述の課題の少なくとも１つを解決するためになされたものであり、以下の本発明により実現することが可能である。
【０００９】
本発明の制御装置は、対象物に対して作業をするエンドエフェクターが着脱可能に取り付けられた可動部を有するロボットを動作させる制御部と、
入力命令を受け付けて、受け付けた前記入力命令に基づいた信号を前記制御部に出力する受付部と、を備え、
前記制御部は、前記受付部からの前記信号に基づいて、
撮像機能を有する第１撮像部の座標系と前記ロボットの座標系との校正を行う第１作業と、
撮像機能を有する第２撮像部の座標系と前記ロボットの座標系との校正を行う第２作業と、
前記ロボットが作業する作業面に応じた仮想基準面の姿勢を演算する第３作業と、
前記第１撮像部と前記ロボットが有する基準点との距離を演算する第４作業と、
前記エンドエフェクターと前記基準点との距離を演算する第５作業と、
のうち２つ以上を一括して実行することを特徴とする。
このような本発明の制御装置によれば、受付部への１つの入力命令で、制御部により第１〜第５作業のうちから選択される複数の作業を一括して実行できるため、作業効率を高めることができる。また、作業者による操作も容易である。
【００１０】
本発明の制御装置では、前記第１撮像部は、前記可動部に設けられていることが好ましい。
これにより、例えば第１撮像部で撮像した画像に基づき、対象物に対する作業をロボットに的確に行わせることができる。
【００１１】
本発明の制御装置では、前記第２撮像部は、前記可動部以外の場所に設けられていることが好ましい。
これにより、例えば第２撮像部で撮像した画像に基づき、対象物に対する作業をロボットに的確に行わせることができる。また、エンドエフェクターで対象物を的確に把持等しているかを容易に把握することができる。
【００１２】
本発明の制御装置では、前記制御部は、前記受付部からの前記信号に基づいて、前記第１作業、前記第２作業、前記第３作業、前記第４作業および前記第５作業を一括して実行することが好ましい。
これにより、第１〜第５作業の全てを一括して実行できるため、第１〜第５作業の全ての作業効率を高めることができる。
【００１３】
本発明の制御装置では、前記受付部は、前記第１作業、前記第２作業、前記第３作業、前記第４作業および前記第５作業のうち少なくとも１つについて、選択的に実行しないことを受け付けることが可能であることが好ましい。
これにより、第１〜第５作業のうち所望の作業の実行を省くことができ、実行したい作業のみを効率良く行うことができる。
【００１４】
本発明の制御装置では、前記制御部は、前記受付部からの前記信号に基づいて、前記第１作業、前記第２作業、前記第３作業、前記第４作業および前記第５作業のそれぞれの作業内容を設定する設定画面を表示する信号を出力することが好ましい。
これにより、画面を有する表示機器に、各作業の作業内容を設定する設定画面（ウィンドウ）を表示できる。そのため、作業者は、表示された設定画面を操作することで、簡単に作業内容を設定することができる。
【００１５】
本発明の制御装置では、前記エンドエフェクターは、前記可動部が有する部材に取り付けられており、
前記可動部が有する部材は、回動軸周りに回動可能であり、
前記基準点は、前記回動軸上に位置していることが好ましい。
これにより、例えば、第５作業を行うことで、エンドエフェクターと可動部（ロボットアーム）が有する部材（第６アーム）に位置する基準点（軸座標Ｏ６）との距離が求まるため、対象物に対する作業をロボットにより的確に行わせることができる。
【００１６】
本発明のロボットは、本発明の制御装置によって制御されることを特徴とする。
このような本発明のロボットによれば、各種作業を的確に行うことができる。
【００１７】
本発明のロボットシステムは、本発明の制御装置と、当該制御装置によって制御されるロボットとを備えることを特徴とする。
このような本発明のロボットシステムによれば、ロボットが各種作業を的確に行うことができる。
【図面の簡単な説明】
【００１８】
【図１】本発明の好適な実施形態に係るロボットシステムを示す概略斜視図である。
【図２】図１に示すロボットの概略図である。
【図３】図１に示すロボットシステムのブロック図である。
【図４】図３に示す表示機器が有する画面に表示されるウィンドウを示す図である。
【図５】図１に示すロボットシステムを用いた撮像部の校正方法を示すフローチャートである。
【図６】撮像部の校正の際に用いるウィンドウを示す図である。
【図７】撮像部の校正の際に用いるウィンドウ（設定画面）を示す図である。
【図８】撮像部の校正で使用する校正用部材の平面図である。
【図９】図５に示す供給台でのモバイルカメラの校正を説明するためのロボットの概略図である。
【図１０】図５に示すエンドエフェクターの校正を説明するためのロボットの概略図である。
【図１１】図５に示すエンドエフェクターの校正を説明するための図である。
【図１２】図５に示すエンドエフェクターの校正を説明するための図である。
【図１３】図５に示すエンドエフェクターの校正を説明するための図である。
【図１４】図５に示すエンドエフェクターの校正を説明するための座標図である。
【図１５】図５に示す第２固定カメラの校正を説明するためのフローチャートである。
【図１６】図１５に示す基準面を特定する処理を説明するためのフローチャートである。
【図１７】基準面を特定する処理における第１基準マーカーの大きさが閾値内であるかの判断について説明するための図である。
【図１８】図５に示す検査台の検査面に応じた基準面の特定を説明するためのロボットの概略図である。
【図１９】図５に示す検査台の検査面に応じた基準面の特定を説明するためのフローチャートである。
【図２０】図５に示す検査台でのモバイルカメラの校正を説明するためのフローチャートである。
【図２１】図２０に示すオフセット成分を求める処理を説明するためのフローチャートである。
【図２２】図２１に示すオフセット成分Δｕ、Δｖ、Δｗを求める処理を説明するための図である。
【図２３】図２１に示すオフセット成分Δｘ、Δｙを求める処理を説明するための図である。
【図２４】図２１に示すオフセット成分Δｘ、Δｙを求める処理を説明するための図である。
【図２５】図２１に示すオフセット成分Δｘ、Δｙを求める処理を説明するための図である。
【図２６】図２１に示すオフセット成分Δｘ、Δｙを求める処理を説明するための図である。
【図２７】図２１に示すオフセット成分Δｘ、Δｙを求める処理を説明するための図である。
【図２８】図２１に示すオフセット成分Δｘ、Δｙを求める処理を説明するための座標図である。
【図２９】図２１に示すオフセット成分Δｚを求める処理を説明するための図である。
【発明を実施するための形態】
【００１９】
以下、本発明の制御装置、ロボットおよびロボットシステムを添付図面に示す好適な実施形態に基づいて詳細に説明する。
【００２０】
≪ロボットシステム≫
図１は、本発明の好適な実施形態に係るロボットシステムを示す概略斜視図である。図２は、図１に示すロボットの概略図である。図３は、図１に示すロボットシステムのブロック図である。図４は、図３に示す表示機器が有する画面に表示されるウィンドウを示す図である。
【００２１】
なお、以下では、説明の都合上、図２中の上側を「上」または「上方」、下側を「下」または「下方」と言う。また、図２中の上下方向を「鉛直方向」とし、その鉛直方向に交差する面を「水平面」とし、水平面に平行な方向を「水平方向」とする。ここで、本願明細書で言う「水平」とは、完全な水平に限定されず、水平に対して５°以下の範囲で傾斜している場合も含む。また、本願明細書で言う「鉛直」とは、完全な鉛直に限定されず、鉛直に対して５°以下の範囲で傾斜している場合も含む。また、図２中に示すロボットの基台側を「基端」、その反対側（ハンド側）を「先端」と言う。
【００２２】
図１に示すロボットシステム１００は、例えば、電子部品および電子機器等の対象物６０の把持、搬送および組立て等の作業で用いられる装置である。
【００２３】
図１に示すように、ロボットシステム１００は、ロボットアーム１０を有するロボット１と、撮像機能を有する第２固定カメラ２（第２撮像部）と、撮像機能を有する第３固定カメラ９（第３撮像部）と、撮像機能を有するモバイルカメラ３（第１撮像部）と、制御装置５（校正装置）とを有する。第２固定カメラ２および第３固定カメラ９は、それぞれ、作業領域９０内に固定されている。モバイルカメラ３は、ロボット１に取り付けられている。制御装置５は、ロボット１、第２固定カメラ２、第３固定カメラ９およびモバイルカメラ３をそれぞれ個別に制御する。
【００２４】
また、本実施形態では、作業領域９０内に、作業者によって対象物６０がロボット１に対して供給される供給台６１（Pickup place）と、対象物６０が検査等される検査台６２（Inspection stage）とが設けられている。供給台６１および検査台６２は、それぞれ、ロボット１のロボットアーム１０の駆動範囲内に設けられている。
【００２５】
以下、ロボットシステム１００が有する各部を順次説明する。
＜ロボット＞
図１および図２に示すロボット１は、対象物６０の把持、搬送および組立て等の作業を行うことができる。
【００２６】
ロボット１は、６軸の垂直多関節ロボットであり、基台１０１と、基台１０１に接続されたロボットアーム１０と、ロボットアーム１０の先端部に設けられたエンドエフェクターであるハンド１０２（ツール）と、を有する。また、図３に示すように、ロボット１は、ロボットアーム１０を駆動させる動力を発生させる複数の駆動部１３０および複数のモータードライバー１２０を備えている。
【００２７】
基台１０１は、ロボット１を作業領域９０内の所定の箇所に取り付ける部分である。
ロボットアーム１０は、第１アーム１１（アーム）と、第２アーム１２（アーム）と、第３アーム１３（アーム）と、第４アーム１４（アーム）と、第５アーム１５（アーム）と、第６アーム１６（アーム）とを有する。第１アーム１１は、基台１０１に接続されており、第１アーム１１と第２アーム１２と第３アーム１３と第４アーム１４と第５アーム１５と第６アーム１６とは、基端側から先端側に向ってこの順に連結されている。
【００２８】
図２に示すように、第１アーム１１は、基台１０１に連結された回動軸部材１１１を有し、回動軸部材１１１の回動軸を回動中心として基台１０１に対して回動可能となっている。また、第２アーム１２は、第１アーム１１に連結された回動軸部材１２１を有し、回動軸部材１２１の回動軸を回動中心として第１アーム１１に対して回動可能となっている。また、第３アーム１３は、第２アーム１２に連結された回動軸部材１３１を有し、回動軸部材１３１の回動軸を回動中心として第２アーム１２に対して回動可能となっている。また、第４アーム１４は、第３アーム１３に連結された回動軸部材１４１を有し、回動軸部材１４１の回動軸を回動中心として第３アーム１３に対して回動可能となっている。また、第５アーム１５は、第４アーム１４に連結された回動軸部材１５１を有し、回動軸部材１５１の回動軸を回動中心として第４アーム１４に対して回動可能となっている。また、第６アーム１６は、第５アーム１５に連結された回動軸部材１６１を有し、回動軸部材１６１の回動軸Ａ６を回動中心として第５アーム１５に対して回動可能となっている。ここで、回動軸Ａ６と第６アーム１６の先端面とが交わる点（第６アーム１６の先端面の中心）を軸座標Ｏ６（所定の部位）という。
【００２９】
ハンド１０２は、設計上、ハンド１０２の中心軸が第６アーム１６の回動軸Ａ６と一致するように第６アーム１６の先端面に取り付けられている。ここで、ハンド１０２の先端面の中心をＴＣＰ（ツールセンターポイント）という。本実施形態では、ハンド１０２が有する２つの指の間の領域の中心をいう。
【００３０】
また、各アーム１１〜１６には、それぞれ、サーボモーター等のモーターおよび減速機を有する複数の駆動部１３０が設けられている。すなわち、図３に示すように、ロボット１は、各アーム１１〜１６に対応した数（本実施形態では６つ）の駆動部１３０を有している。そして、各アーム１１〜１６は、それぞれ、対応する駆動部１３０に電気的に接続された複数（本実施形態では６つ）のモータードライバー１２０を介して制御装置５により制御されている。
【００３１】
また、各駆動部１３０には、例えば、エンコーダー、ロータリーエンコーダー等の角度センサー（図示せず）が設けられている。これにより、各駆動部１３０が有するモーターまたは減速機の回転軸の回転角度を検出することができる。
【００３２】
また、図１および図２に示すように、本実施形態では、ロボット１を制御する際に用いられるロボット座標系（ロボット１の座標系）として、水平方向に対してそれぞれ平行なｘｒ軸とｙｒ軸と、水平方向に対して直交し、かつ、鉛直上向きを正方向とするｚｒ軸とによって定まる３次元の直交座標系を設定している。また、ｘｒ軸に対する並進成分を「成分ｘｒ」とし、ｙｒ軸に対する並進成分を「成分ｙｒ」とし、ｚｒ軸に対する並進成分を「成分ｚｒ」とし、ｚｒ軸周りの回転成分を「成分ｕｒ」とし、ｙｒ軸周りの回転成分を「成分ｖｒ」とし、ｘｒ軸周りの回転成分を「成分ｗｒ」とする。成分ｘｒ、成分ｙｒおよび成分ｚｒの長さ（大きさ）の単位は「ｍｍ」であり、成分ｕｒ、成分ｖｒおよび成分ｗｒの角度（大きさ）の単位は「°」である。
【００３３】
このような本発明のロボットの一例であるロボット１は、後述する本発明の制御装置の一例である制御装置５によって制御される。そのため、より的確な作業を行うロボット１を提供することができる。
【００３４】
＜第２固定カメラ＞
図１および図２に示す第２固定カメラ２は、対象物６０等を撮像する機能を有する。
【００３５】
図２に示すように、第２固定カメラ２は、複数の画素を有するＣＣＤ（Charge Coupled Device）イメージセンサで構成された撮像素子２１と、レンズ２２（光学系）と、を有している。この第２固定カメラ２は、対象物６０等からの光をレンズ２２によって撮像素子２１の受光面２１１（センサー面）で結像させ、光を電気信号に変換して、その電気信号を制御装置５へと出力する。ここで、受光面２１１とは、撮像素子２１の表面であって、光が結像する面である。また、本実施形態では、受光面２１１から光軸ＯＡ２方向に焦点距離だけ進んだ位置を「第２固定カメラ２の撮像基準点Ｏ２」とする。また、第２固定カメラ２は、自動的にピントを調整するオートフォーカス機能や、撮像の倍率を調整するズーム機能を備えている。
【００３６】
このような第２固定カメラ２は、鉛直方向上方を撮像できるように作業領域９０内の所定の箇所に固定されている。また、本実施形態では、第２固定カメラ２は、その光軸ＯＡ２（レンズ２２の光軸）が鉛直方向に対してほぼ平行になるように取り付けられている。
【００３７】
このように、本実施形態では、第２撮像部としての第２固定カメラ２は、可動部としてのロボットアーム１０を有するロボット１以外の場所である作業領域９０に設けられている。これにより、例えば第２固定カメラ２で撮像した画像に基づき、対象物６０に対する作業をロボット１に的確に行わせることができる。また、第２固定カメラ２がロボットアーム１０以外に設けられていることで、例えば、ロボットアーム１０に取り付けられたハンド１０２が対象物６０を的確に把持しているかを容易に確認することができる。
【００３８】
また、本実施形態では、第２固定カメラ２の画像座標系（第２固定カメラ２から出力される画像の座標系）として、画像の面内方向に対してそれぞれ平行なｘａ軸とｙａ軸とによって定まる２次元の直交座標系を設定している。また、ｘａ軸に対する並進成分を「成分ｘａ」とし、ｙａ軸に対する並進成分を「成分ｙａ」とし、ｘａ−ｙａ平面の法線周りの回転成分を「成分ｕａ」とする。成分ｘａおよび成分ｙａの長さ（大きさ）の単位は「ピクセル」であり、成分ｕａの角度（大きさ）の単位は「°」である。
【００３９】
なお、第２固定カメラ２の画像座標系は、第２固定カメラ２のカメラ視野に写る３次元直交座標を、レンズ２２の光学特性（焦点距離、歪みなど）と撮像素子２１の画素数および大きさとを加味して非線形変換した２次元の直交座標系である。
【００４０】
＜第３固定カメラ＞
図１および図２に示す第３固定カメラ９は、前述した第２固定カメラ２と同様の構成であり、対象物６０等を撮像する機能を有する。
【００４１】
図２に示すように、第３固定カメラ９は、第２固定カメラ２と同様に、撮像素子９１と、レンズ９２（光学系）と、を有している。第３固定カメラ９も、撮像素子９１の受光面９１１（センサー面）で結像させ、光を電気信号に変換して、その電気信号を制御装置５へと出力する。受光面９１１とは、撮像素子９１の表面であって、光が結像する面である。また、本実施形態では、受光面９１１から光軸ＯＡ９方向に焦点距離だけ進んだ位置を「第３固定カメラ９の撮像基準点Ｏ９」とする。また、第３固定カメラ９は、自動的にピントを調整するオートフォーカス機能や、撮像の倍率を調整するズーム機能を備えている。
【００４２】
このような第３固定カメラ９は、検査台６２の上面である検査面６２１（作業面）の鉛直方向上方を撮像できるように検査台６２に設けられている。なお、検査台６２の検査面６２１は、水平方向に平行な状態にすることができるほか、水平方向に対して傾斜した状態にすることができる。また、本実施形態では、第３固定カメラ９は、その光軸ＯＡ９（レンズ９２の光軸）が鉛直方向に対してほぼ平行になるように取り付けられている。
【００４３】
また、本実施形態では、第３固定カメラ９の画像座標系（第３固定カメラ９から出力される画像の座標系）として、ｘｃ軸とｙｃ軸とによって定まる２次元の直交座標系を設定している。ｘｃ軸に対する並進成分を「成分ｘｃ」とし、ｙｃ軸に対する並進成分を「成分ｙｃ」とし、ｘｃ−ｙｃ平面の法線周りの回転成分を「成分ｕｃ」とする。成分ｘｃおよび成分ｙｃの長さ（大きさ）の単位は「ピクセル」であり、成分ｕｃの角度（大きさ）の単位は「°」である。
【００４４】
＜モバイルカメラ＞
図１および図２に示すモバイルカメラ３は、対象物６０等を撮像する機能を有する。
【００４５】
図２に示すように、モバイルカメラ３は、複数の画素を有するＣＣＤ（Charge Coupled Device）イメージセンサで構成された撮像素子３１と、レンズ３２（光学系）と、を有する。このモバイルカメラ３は、対象物６０等からの光をレンズ３２によって撮像素子３１の受光面３１１（センサー面）で結像させ、光を電気信号に変換して、その電気信号を制御装置５へと出力する。ここで、受光面３１１とは、撮像素子３１の表面であって、光が結像する面である。また、本実施形態では、受光面３１１から光軸ＯＡ３方向に焦点距離だけ進んだ位置を「モバイルカメラ３の撮像基準点Ｏ３」とする。また、モバイルカメラ３は、自動的にピントを調整するオートフォーカス機能や、撮像の倍率を調整するズーム機能を備えている。
【００４６】
このようなモバイルカメラ３は、第６アーム１６よりもロボットアーム１０の先端側を撮像できるように第６アーム１６に取り付けられている。また、本実施形態では、設計上、モバイルカメラ３は、その光軸ＯＡ３（レンズ３２の光軸）が第６アーム１６の回動軸Ａ６に対してほぼ平行になるように、第６アーム１６に取り付けられている。また、モバイルカメラ３は、第６アーム１６に取り付けられているため、ロボットアーム１０の駆動により、第６アーム１６と共にその姿勢を変えることができる。
【００４７】
このように、第１撮像部としてのモバイルカメラ３は、可動部としてのロボットアーム１０が有する第６アーム１６に設けられている。これにより、例えばモバイルカメラ３で撮像した画像に基づき、対象物６０に対する作業をロボット１に的確に行わせることができる。
【００４８】
また、本実施形態では、モバイルカメラ３の画像座標系（モバイルカメラ３で出力される画像の座標系）として、画像の面内方向に対してそれぞれ平行なｘｂ軸とｙｂ軸とによって定まる２次元の直交座標系を設定している。また、ｘｂ軸に対する並進成分を「成分ｘｂ」とし、ｙｂ軸に対する並進成分を「成分ｙｂ」とし、ｘｂ−ｙｂ平面の法線周りの回転成分を「成分ｕｂ」とする。成分ｘｂおよび成分ｙｂの長さ（大きさ）の単位は「ピクセル」であり、成分ｕｂの角度（大きさ）の単位は「°」である。
【００４９】
なお、モバイルカメラ３の画像座標系は、モバイルカメラ３のカメラ視野に写る３次元直交座標を、レンズ３２の光学特性（焦点距離、歪みなど）と撮像素子３１の画素数および大きさとを加味して非線形変換した２次元の直交座標系である。
【００５０】
＜制御装置＞
図１に示す制御装置５は、ロボット１、第２固定カメラ２、第３固定カメラ９およびモバイルカメラ３の各部を制御する。この制御装置５は、例えば、ＣＰＵ（Central Processing Unit）やＲＯＭ（Read Only Memory）およびＲＡＭ（Random Access Memory）が内蔵されたパーソナルコンピューター（ＰＣ）等で構成することができる。
【００５１】
図３に示すように、制御装置５は、制御部５１と、受付部５２（情報取得部）と、記憶部５４と、を備える。
【００５２】
制御部５１は、各駆動部１３０の駆動を制御し、各アーム１１〜１６をそれぞれ独立して駆動させたり停止させたりすることができる。例えば、制御部５１は、ハンド１０２を目標位置に移動させるために、各アーム１１〜１６に設けられた各駆動部１３０が有するモーターの目標値を導出する。また、制御部５１は、各駆動部１３０が有する角度センサーから出力された回転角度（検出結果）を基にロボット１をフィードバック制御する。また、制御部５１は、第２固定カメラ２、第３固定カメラ９およびモバイルカメラ３の撮像等を制御したりする。
【００５３】
また、制御部５１は、処理部としての機能を有する。すなわち、制御部５１は、受付部５２で取得した検出結果を基にして各種演算や各種判断等の処理を行う。例えば、制御部５１は、第２固定カメラ２で撮像した画像を基にして第２固定カメラ２の画像座標系における撮像対象の座標（成分ｘａ、ｙａ、ｕａ：位置および姿勢）を演算したり、第３固定カメラ９で撮像した画像を基にして第３固定カメラ９の画像座標系における撮像対象の座標（成分ｘｃ、ｙｃ、ｕｃ：位置および姿勢）を演算したり、モバイルカメラ３で撮像した画像を基にしてモバイルカメラ３の画像座標系における撮像対象の座標（成分ｘｂ、ｙｂ、ｕｂ：位置および姿勢）を演算したりする。また、例えば、制御部５１は、第２固定カメラ２の画像座標系における対象物６０の座標をロボット座標系における座標に変換するための補正パラメーターを求めたり、第３固定カメラ９の画像座標系における対象物６０の座標をロボット座標系における座標に変換するための補正パラメーターを求めたり、モバイルカメラ３の画像座標系における対象物６０の座標をロボット座標系における座標に変換するための補正パラメーターを求めたりする。
【００５４】
受付部５２は、ロボット１、第２固定カメラ２、第３固定カメラ９およびモバイルカメラ３からそれぞれ出力される検出結果を取得する。検出結果としては、例えば、ロボット１の各駆動部１３０が有するモーターまたは減速機の回転軸の回転角度、第２固定カメラ２、第３固定カメラ９およびモバイルカメラ３でそれぞれ撮像した画像、および、ロボット座標系における軸座標Ｏ６の座標（成分ｘｒ、ｙｒ、ｚｒ、ｕｒ、ｖｒ、ｗｒ：位置および姿勢）等が挙げられる。
【００５５】
記憶部５４は、制御装置５が各種処理を行うためのプログラムやデータ等を記憶する。また、記憶部５４は、各種検出結果等を記憶する。
【００５６】
また、図１および図３に示すように、制御装置５には、表示機器４１および操作機器４２が接続されている。
【００５７】
表示機器４１は、画面４１０を有する液晶表示パネル等の表示パネルで構成されたモニターを有する。画面４１０には、例えばロボット１に作業を行わせる際に用いられるウィンドウＷＤ１等の各種ウィンドウが表示される。作業者は、この画面４１０を介して、第２固定カメラ２、第３固定カメラ９およびモバイルカメラ３で撮像した画像等を確認することができる。
【００５８】
操作機器４２は、本実施形態では、マウスやキーボードで構成された入力デバイスであり、作業者の指示に基づく信号を制御装置５に対して出力する。したがって、作業者は、操作機器４２を操作することで、制御装置５に対して各種処理等の指示を行うことができる。なお、操作機器４２としては、タッチパネル等であってもよい。
以上、ロボットシステム１００の基本的な構成について簡単に説明した。
【００５９】
このような本発明のロボットシステムの一例であるロボットシステム１００は、本発明の制御装置の一例である制御装置５と、当該制御装置５によって制御されるロボット１とを備える。そのため、制御装置５の制御により、ロボット１が各種作業を的確に行うことができる。
【００６０】
また、前述したロボットシステム１００では、例えば、予め組み込まれたプログラムに基づいて制御装置５の制御によりロボット１が対象物６０に対して以下のような作業を行うことができる。
【００６１】
まず、ロボットアーム１０を駆動させてハンド１０２で供給台６１の上面である供給面６１１上に載置された対象物６０を把持する。その後、対象物６０をハンド１０２で把持した状態で、ロボットアーム１０を駆動させてハンド１０２を第２固定カメラ２上に移動させる。次いで、第２固定カメラ２で対象物６０を撮像して、その第２固定カメラ２で撮像した画像を基に、制御装置５は、ハンド１０２によって対象物６０を的確に把持しているか否かを判断する。的確に把持していたら、ロボットアーム１０の駆動によりハンド１０２を検査台６２上に移動させる。そして、モバイルカメラ３で撮像した画像を基にして、ハンド１０２で把持している対象物６０を検査台６２上に載置する。この載置において、第３固定カメラ９で対象物６０を撮像して、その第３固定カメラ９で撮像した画像を基に、制御装置５は、対象物６０を的確に検査台６２上に載置できているか否かを判断する。
【００６２】
このような対象物６０に対する作業では、制御装置５は、図４に示すような画面４１０に表示されたウィンドウＷＤ１を介した作業者の指示に基づいてロボット１の動作を制御する。ウィンドウＷＤ１は、ＧＵＩ（グラフィカル作業者インターフェース）で構成されている。
【００６３】
図４に示すように、ウィンドウＷＤ１は、モバイルカメラ３（第１撮像部）で撮像した画像を表示する項目４５１と、第２固定カメラ２（第２撮像部）で撮像した画像を表示する項目４５２と、第３固定カメラ９（第３撮像部）で撮像した画像を表示する項目４５３とを有する。このため、作業者は、ウィンドウＷＤ１を介して第２固定カメラ２、第３固定カメラ９およびモバイルカメラ３で撮像した各画像を視認することができる。また、ウィンドウＷＤ１は、ロボット１が所望の動作（作業の開始等）をするよう制御部５１に指示するために用いる各種コマンドボタンとしての「Start」ボタン、「Stop」ボタン、「Pause」ボタン、「Continue」ボタンを含む項目４５４を有する。また、ウィンドウＷＤ１は、校正（キャリブレーション）用のウィンドウを表示するための「Open Calib Wizard Window」ボタンを含む項目４５５と、光量等の調整用のウィンドウを表示するための「Open Check-Lighting Window」ボタンを含む項目４５６とを有する。
【００６４】
このようなウィンドウＷＤ１を介して、作業者は、制御部５１に対して各種指示を行う。例えば、作業者がマウス等の操作機器４２で「Start」ボタンをクリック（指示）すると、受付部５２が、その指示に基づく入力命令を受け付ける。そして、受付部５２に受け付けた入力命令に基づいて、制御部５１が、対象物６０に対する前記作業をロボット１に開始させる。
【００６５】
前記のように、本実施形態では、ＧＵＩで構成された各種ボタンを有するウィンドウＷＤ１を有するため、作業者は、所望のボタンをクリックするという比較的簡単な操作のみで、制御装置５に対してロボット１の対象物６０に対する作業の指示をすることができ、簡便である。
なお、図示はしないが、ウィンドウＷＤ１は、例えば、ロボット１の作業プログラムを選択可能なコンボボックス等を備えていてもよい。これにより、ドロップダウンリストから所望の作業プログラムを選択し、選択されたプログラムを実行することができる。
【００６６】
このようなロボット１の対象物６０に対する作業において、第２固定カメラ２で撮像した画像を基にロボット１が対象物６０に対して的確に作業を行うためには、第２固定カメラ２の画像上の座標（画像座標系における位置および姿勢）をロボット座標系における座標に変換するための補正パラメーターを求める処理、すなわち、第２固定カメラ２の校正（キャリブレーション）が必要である。第３固定カメラ９およびモバイルカメラ３についても同様であり、第３固定カメラ９の校正（キャリブレーション）およびモバイルカメラ３の校正（キャリブレーション）が必要である。
【００６７】
以下、ロボットシステム１００を用いた第２固定カメラ２の校正方法、第３固定カメラ９の校正方法およびモバイルカメラ３の校正方法（以下、これらをまとめて「撮像部の校正方法（キャリブレーション方法）」という）について説明する。
【００６８】
≪撮像部の校正方法（キャリブレーション方法）≫
図５は、図１に示すロボットシステムを用いた撮像部の校正方法を示すフローチャートである。図６は、撮像部の校正の際に用いるウィンドウを示す図である。図７は、撮像部の校正の際に用いるウィンドウ（設定画面）を示す図である。図８は、撮像部の校正で使用する校正用部材の平面図である。
【００６９】
図５に示すように、本実施形態の撮像部の校正では、供給台６１でのモバイルカメラ３の校正（ステップＳ１）、エンドエフェクターとしてのハンド１０２の校正（ステップＳ２）、第２固定カメラ２の校正（ステップＳ３）、検査台６２の検査面６２１に応じた基準面の特定（ステップＳ４）、検査台６２でのモバイルカメラ３の校正（ステップＳ５）および第３固定カメラ９の校正（ステップＳ６）を、この順に行う。なお、これら処理（校正）は、作業者の指示に基づいて、その一部を省略することが可能である。
【００７０】
また、図５に示す撮像部の校正は、画面４１０に表示したウィンドウＷＤ２、ＷＤ３を介した作業者の指示に基づいて開始される（図６、図７参照）。また、本実施形態では、図８に示す校正用部材７０（キャリブレーションボード）を用いて撮像部の校正を行う。それゆえ、まず、撮像部の校正に関する指示を行うために用いられるウィンドウＷＤ２、ＷＤ３と、撮像部の校正に用いられる校正用部材７０とについて説明する。
【００７１】
（ウィンドウ）
図６に示すウィンドウＷＤ２は、ＧＵＩ（グラフィカル作業者インターフェース）で構成されている。
【００７２】
図６に示すように、ウィンドウＷＤ２は、図５に示す撮像部の校正方法における各処理に対応した項目４６１〜４６６を有する。項目４６１は、供給台６１でのモバイルカメラ３の校正（ステップＳ１）に対応している。項目４６２は、エンドエフェクターとしてのハンド１０２の校正（ステップＳ２）に対応している。項目４６３は、第２固定カメラ２の校正（ステップＳ３）に対応している。項目４６４は、検査台６２の検査面６２１に応じた基準面の特定（ステップＳ４）に対応している。項目４６５は、検査台６２でのモバイルカメラ３の校正（ステップＳ５）に対応している。項目４６６は、第３固定カメラ９の校正（ステップＳ６）に対応している。このように、各処理ごとに異なる項目４６１〜４６６で表示しているため、作業者は各処理を把握し易い。
【００７３】
項目４６１は、供給台６１でのモバイルカメラ３の校正（ステップＳ１）を単独で実行するよう制御部５１に指示（命令）するために用いられる命令ボタンとしての「Execute Cam #1 Calib(1)」ボタンを有する。各項目４６２〜４６６についても同様である。すなわち、項目４６２は、実行ボタンとしての「Execute TLSet」ボタンを有し、項目４６３は、命令ボタンとしての「Execute Cam #2 Calib」ボタンを有し、項目４６４は、命令ボタンとしての「Execute Stage Calib」ボタンを有し、項目４６５は、命令ボタンとしての「Execute Cam #1 Calib(2)」ボタンを有し、項目４６６は、命令ボタンとしての「Execute Cam #3 Calib」ボタンを有している。
【００７４】
このような命令ボタンを作業者がマウス等の操作機器４２でクリック（指示）すると、受付部５２が、その指示に応じた入力命令を受け付ける。そして、制御部５１は、クリックされた命令ボタンを有する項目４６１〜４６６に対応する校正の各種設定を行うウィンドウＷＤ３（設定画面）を表示する（図７参照）。
【００７５】
図７に示すように、ウィンドウＷＤ３は、撮像部（第２固定カメラ２、第３固定カメラ９またはモバイルカメラ３）に関する設定を行う項目４７１（Settings）と、処理（校正）に関わる設定を行う項目４７２（Calibration）と、撮像部が撮像した画像を表示する（撮像情報が出力される）項目４７３と、を有する。
【００７６】
項目４７１が有する設定内容（作業内容）としては、例えば、撮像部が有する照明のＯＮ／ＯＦＦや照明の光量の設定等が挙げられる。なお、項目４７１が有する設定内容（作業内容）は、図示されている内容に限定されず、任意である。また、設定方法としては、ドロップダウンリストから所望の内容を選択する方法や、所望の内容に応じた数値や文字をテキストボックスに入力する方法が挙げられる。また、設定不可の設定内容は、グレーアウトにして選択できないようにしたり、非表示にしてもよい。
【００７７】
項目４７２は、「Jog ＆ Teach (Robot Manager)」ボタンＢ３１と、「Open Vision Guide」ボタンＢ３２と、「Execute Calibration」ボタンＢ３３とを有する。「Jog ＆ Teach (Robot Manager)」ボタンＢ３１は、ウィンドウＷＤ３とは別の、ロボット１を操作するウィンドウを表示するために用いられる。「Open Vision Guide」ボタンＢ３２は、ウィンドウＷＤ３とは別の、撮像部に所定のマーカーを画像認識するためのテンプレートの設定等を行うウィンドウを表示するために用いられる。「Execute Calibration」ボタンＢ３３は、ウィンドウＷＤ３に表示された校正の開始を制御部５１に実行するよう指示する実行ボタンである。したがって、作業者がマウス等の操作機器４２で「Execute Calibration」ボタンＢ３３をクリック（指示）すると、受付部５２が、その指示に応じた入力命令を受け付ける。そして、受付部５２が受け付けた入力命令に基づいて、制御部５１がウィンドウＷＤ３に対応する処理を開始する。
【００７８】
また、図６に示すように、ウィンドウＷＤ２の項目４６１は、チェックボックスＣ４６１を有し、項目４６２は、チェックボックスＣ４６２を有し、項目４６３は、チェックボックスＣ４６３を有し、項目４６４は、チェックボックスＣ４６４を有し、項目４６５は、チェックボックスＣ４６５を有し、項目４６６は、チェックボックスＣ４６６を有している。
【００７９】
また、ウィンドウＷＤ２は、「Continuous execution」ボタンＢ２１および「Step by step execution」ボタンＢ２２を有する。これら「Continuous execution」ボタンＢ２１および「Step by step execution」ボタンＢ２２は、それぞれ、チェックボックスＣ４６１〜４６６にチェックが付された項目４６１〜４６６に対応する処理を一括して実行するよう制御部５１に指示するために用いる実行ボタンである。なお、チェックが付されていない項目４６１〜４６６に対応する処理の実行はされず、その処理は飛ばされる。
【００８０】
より具体的には、「Continuous execution」ボタンＢ２１は、チェックが付された項目４６１〜４６６に対応する処理を連続して行うために用いられる。したがって、作業者がマウス等の操作機器４２で「Continuous execution」ボタンＢ２１をクリック（指示）すると、受付部５２が、その指示に応じた入力命令を受け付ける。そして、受付部５２が受け付けた入力命令に基づいて、制御部５１がチェックが付された項目４６１〜４６６に対応する処理を図５に示すフローに従って実行する。この際、前述したウィンドウＷＤ３の表示を伴わない。したがって、作業者がマウス等の操作機器４２で「Continuous execution」ボタンＢ２１をクリック（指示）しさえすれば、それ以降、撮像部の校正は、ロボットシステム１００（制御装置５）により自動的に行われる。
【００８１】
一方、「Step by step execution」ボタンＢ２２は、チェックが付された項目４６１〜４６６に対応する処理を段階的に行うために用いられる。したがって、作業者がマウス等の操作機器４２で「Step by step execution」ボタンＢ２２をクリック（指示）すると、受付部５２が、その指示に応じた入力命令を受け付ける。そして、受付部５２が受け付けた入力命令に基づいて、制御部５１がチェックが付された項目４６１〜４６６に対応する処理を図５に示すフローに従って実行する。この際、制御部５１は、各処理ごとに、前述したウィンドウＷＤ３の表示を行う。例えば、項目４６１に対応する処理を実行する前に、項目４６１に対応する処理に応じたウィンドウＷＤ３を表示する。そして、ウィンドウＷＤ３が有する「Execute Calibration」ボタンＢ３３を介した入力命令に基づいて、制御部５１が、項目４６１に対応する処理を開始する。その後、項目４６１に対応する処理が終了したら、制御部５１は、項目４６２に対応する処理を実行する前に、項目４６２に対応する処理に応じたウィンドウＷＤ３を表示する。その後は前記と同様である。したがって、各処理の設定を行いたい場合や、確認、変更等を行いたい場合には、「Continuous execution」ボタンＢ２１よりも、「Step by step execution」ボタンＢ２２を用いることが有効である。
【００８２】
前述したように、本発明の制御装置の一例である制御装置５は、対象物６０に対して作業をするエンドエフェクターとしてのハンド１０２が着脱可能に取り付けられた可動部としてのロボットアーム１０を有するロボット１を動作させる制御部５１と、作業者の指示に基づく入力命令を受け付けて、受け付けた入力命令に基づいた信号を制御部５１に出力する受付部５２と、を備えている。そして、制御部５１は、受付部５２からの信号に基づいて、供給台６１でのモバイルカメラ３の校正（ステップＳ１）、エンドエフェクターとしてのハンド１０２の校正（ステップＳ２）、第２固定カメラ２の校正（ステップＳ３）、検査台６２の検査面６２１に応じた基準面の特定（ステップＳ４）、検査台６２でのモバイルカメラ３の校正（ステップＳ５）および第３固定カメラ９の校正（ステップＳ６）のうち２つ以上を一括して実行することが可能である。すなわち、制御部５１は、表示機器４１が有する画面４１０に実行ボタン（ＧＵＩボタン）としての「Continuous execution」ボタンＢ２１および「Step by step execution」ボタンＢ２２と、チェックボックスＣ４６１〜４６６とを有するウィンドウＷＤ２を表示させることができる。そして、制御部５１は、これら実行ボタンに対する作業者の指示（クリック）に応じた入力命令に基づいて複数の処理（校正）を一括して実行することができる。このように、制御装置５は、受付部５２に対する１つの入力命令で、選択された複数の校正（作業）を一括して実行できるため、校正の設定が容易であり、また、校正を短時間で実行することができ、効率がよい。また、作業者による操作も容易である。
【００８３】
なお、後に詳細な校正方法については説明するが、供給台６１でのモバイルカメラ３の校正（ステップＳ１）または検査台６２でのモバイルカメラ３の校正（ステップＳ５）において、撮像機能を有する第１撮像部としてのモバイルカメラ３の座標系とロボット１の座標系との校正を行う第１作業が行われる。また、第２固定カメラ２の校正（ステップＳ３）において、撮像機能を有する第２撮像部としての第２固定カメラ２の座標系とロボット１の座標系との校正を行う第２作業が行われる。また、検査台６２の検査面６２１に応じた基準面の特定（ステップＳ４）において、ロボット１が作業する作業面に応じた仮想基準面の姿勢を演算する第３作業が行われる。また、供給台６１でのモバイルカメラ３の校正（ステップＳ１）または検査台６２でのモバイルカメラ３の校正（ステップＳ５）において、第１撮像部としてのモバイルカメラ３とロボット１が有する基準点としての軸座標Ｏ６との距離を演算する第４作業が行われる。また、エンドエフェクターとしてのハンド１０２の校正（ステップＳ２）において、エンドエフェクターとしてのハンド１０２と基準点としての軸座標Ｏ６との距離を演算する第５作業が行われる。
【００８４】
また、制御部５１は、受付部５２からの信号に基づいて、ステップＳ１〜Ｓ６の各処理を全て一括して実行することができる。すなわち、制御部５１は、前述した第１作業、第２作業、第３作業、第４作業および第５作業を一括して実行することができる。これにより、第１〜第５作業の全ての作業効率を高めることができる。
【００８５】
また、前述したように、制御部５１は、表示機器４１が有する画面４１０にチェックボックスＣ４６１〜４６６を有するウィンドウＷＤ２を表示させることができる。そして、受付部５２は、ステップＳ１〜Ｓ６の処理のうち少なくとも１つについて、選択的に実行しないことを受け付けることが可能なように構成されている。すなわち、受付部５２は、第１作業、第２作業、第３作業、第４作業および第５作業のうち少なくとも１つについて、選択的に実行しないことを受け付けることが可能なように構成されている。これにより、第１〜第５作業のうちに所望の作業の実行を省くことができ、実行したい作業のみを効率良く行うことができる。
【００８６】
また、制御部５１は、受付部５２からの信号に基づいて、ステップＳ１〜Ｓ６の各処理における各設定内容（作業内容）を設定する設定画面を表示するような信号を出力する。これにより、表示機器４１の画面４１０にウィンドウＷＤ３（設定画面）を表示させることができる。言い換えれば、制御部５１は、第１作業、第２作業、第３作業、第４作業および第５作業のそれぞれの作業内容を設定する設定画面であるウィンドウＷＤ３を表示するような信号を出力することができる。このため、作業者は、表示されたウィンドウＷＤ３を操作することで、簡単に作業内容を設定することができる。
【００８７】
（校正用部材）
前述したように、本実施形態では、図８に示す校正用部材７０（キャリブレーションボード）を用いて撮像部の校正を行う。なお、必要に応じて、校正用部材７０の代わりに別の部材等を用いて撮像部の校正を行っても構わない。
【００８８】
校正用部材７０は、四角形の平板状の部材であり、校正用部材７０の表面７０１には、複数のマーカー７５が付されている。複数のマーカー７５は、互いに同じ円形状（形状）であり、互いにほぼ同じ大きさである。また、複数のマーカー７５は、隣り合うマーカー７５同士のピッチ（間隔）が全てほぼ一定になるように配置されている。また、マーカー７５同士のピッチは、予め測定されており、既知である。
【００８９】
これら複数のマーカー７５のうちの図８中の上側に位置するマーカー７５と、図８中の中央部（表面７０１の中央部）に位置するマーカー７５と、図８中の右側に位置するマーカー７５には、それぞれ、マーカー７５を囲む円がさらに付されている。これら３つのマーカー７５とそれを囲む円とで構成された同心円状をなすマーカーのうち、図８中の上側に位置するマーカーを「第１マーカー７１（第１基準点）」とし、図８中の中央部に位置するマーカーを「第２マーカー７２（第２基準点）」とし、図８中の右側に位置するマーカーを「第３マーカー７３（第３基準点）」とする。また、第１マーカー７１、第２マーカー７２および第３マーカー７３は、互いに異なる位置にあり、かつ、第１マーカー７１、第２マーカー７２および第３マーカー７３が同一直線上にない。
【００９０】
なお、複数のマーカー７５、第１マーカー７１、第２マーカー７２および第３マーカー７３の形状は、それぞれ、図示の形状に限定されず、いかなる形状であってもよい。また、マーカー７５、第１マーカー７１、第２マーカー７２および第３マーカー７３は、それぞれ、視認できる形態であればよく、いかなる色であってもよいし、凹凸を有する形態であってもよい。また、複数のマーカー７５、第１マーカー７１、第２マーカー７２および第３マーカーは、異なる形態あってもよい。例えば、複数のマーカー７５、第１マーカー７１、第２マーカー７２および第３マーカー７３は、それぞれ異なる色や形であってもよい。ただし、第１マーカー７１、第２マーカー７２および第３マーカー７３は、基準マーカーとして用いるため、他のマーカー７５との識別力を有する形態であることが好ましい。
【００９１】
（撮像部の校正）
図９は、図５に示す供給台でのモバイルカメラの校正を説明するためのロボットの概略図である。図１０は、図５に示すエンドエフェクターの校正を説明するためのロボットの概略図である。図１１〜図１３は、それぞれ、図５に示すエンドエフェクターの校正を説明するための図である。図１４は、図５に示すエンドエフェクターの校正を説明するための座標図である。図１５は、図５に示す第２固定カメラの校正を説明するためのフローチャートである。図１６は、図１５に示す基準面を特定する処理を説明するためのフローチャートである。図１７は、基準面を特定する処理における第１基準マーカーの大きさが閾値内であるかの判断について説明するための図である。図１８は、図５に示す検査台の検査面に応じた基準面の特定を説明するためのロボットの概略図である。図１９は、図５に示す検査台の検査面に応じた基準面の特定を説明するためのフローチャートである。図２０は、図５に示す検査台でのモバイルカメラの校正を説明するためのフローチャートである。図２１は、図２０に示すオフセット成分を求める処理を説明するためのフローチャートである。図２２は、図２１に示すオフセット成分Δｕ、Δｖ、Δｗを求める処理を説明するための図である。図２３〜図２７は、それぞれ、図２１に示すオフセット成分Δｘ、Δｙを求める処理を説明するための図である。図２８は、図２１に示すオフセット成分Δｘ、Δｙを求める処理を説明するための座標図である。図２９は、図２１に示すオフセット成分Δｚを求める処理を説明するための図である。
【００９２】
前述したように、本実施形態の撮像部の校正では、供給台６１でのモバイルカメラ３の校正（ステップＳ１）、エンドエフェクターとしてのハンド１０２の校正（ステップＳ２）、第２固定カメラ２の校正（ステップＳ３）、検査台６２の検査面６２１に応じた基準面の特定（ステップＳ４）、検査台６２でのモバイルカメラ３の校正（ステップＳ５）および第３固定カメラ９の校正（ステップＳ６）を、この順に行う（図５参照）。なお、以下では、ウィンドウＷＤ２の「Continuous execution」ボタンＢ２１に応じた入力命令に基づいて、制御部５１が、すべての各処理を図５に示すフローに従って実行するものとして説明する。
【００９３】
また、本実施形態では、撮像部の校正を実行するにあたり、予め、ロボットキャリブレーション、すなわちロボット１の座標系（ベース座標系）に対するハンド１０２の座標系との対応関係を求める処理が済んでいるものとする。
【００９４】
＜供給台６１でのモバイルカメラ３の校正（ステップＳ１）＞
まず、制御装置５は、供給台６１でのモバイルカメラ３の校正（ステップＳ１）を開始する。なお、この校正（ステップＳ１）を開始する前に、予め、図９に示すように、校正用部材７０を供給台６１上に載置しておく。
【００９５】
この校正（ステップＳ１）は、検査台６２に代えて供給台６１においてモバイルカメラ３の校正を行うこと以外は、後述する検査台６２でのモバイルカメラ３の校正（ステップＳ５）と、ほぼ同様である。そのため、詳細な説明（処理内容および効果）を省略するが、この校正（ステップＳ１）においても、後述するオフセット成分を求める処理、検査面を特定する処理、ロボット１にマーカーの位置および姿勢を教示する処理、および、モバイルカメラ３の画像座標系とロボット座標系との関係を求める処理を行う（図２０参照）。また、この校正（ステップＳ１）が終了すると、供給台６１においてモバイルカメラ３で撮像した対象物６０等の位置および姿勢（具体的には、成分ｘｂ、ｙｂ、ｕｂ）をロボット座標系における値（具体的には、成分ｘｒ、ｙｒ、ｕｒ）に変換することができる。
【００９６】
＜エンドエフェクターとしてのハンド１０２の校正（ステップＳ２）＞
次に、図５に示すように、制御装置５は、ハンド１０２の校正（ステップＳ２）、すなわち、エンドエフェクターとしてのハンド１０２と基準点としての軸座標Ｏ６との距離を演算する第５作業を開始する。なお、この校正（ステップＳ２）を開始する前に、予め、図１０に示すように、ハンド１０２で校正用部材７０を把持させておく。なお、第２マーカー７２とＴＣＰは同一直線上に位置しているものとする。
【００９７】
ここで、前述したように、ハンド１０２は、設計上、ＴＣＰが第６アーム１６の回動軸Ａ６上に位置するように、第６アーム１６に対して取り付けられている。しかし、実際には、ハンド１０２の第６アーム１６への組み付け誤差等により、ＴＣＰが第６アーム１６の回動軸Ａ６上から若干ずれて位置している場合がある。そこで、ＴＣＰの回動軸Ａ６のズレであるオフセット成分（第６アーム１６に対するハンド１０２の位置および姿勢）を導出して設定するためのツールセット処理を行う。
【００９８】
まず、制御部５１は、第２固定カメラ２の画像２０の中心Ｏ２０（重心）に第２マーカー７２が位置するようにロボットアーム１０を駆動させ、画像２０の中心Ｏ２０に第２マーカー７２が位置するように第６アーム１６の軸座標Ｏ６を移動させる（図１１参照）。その後、制御部５１は、第２固定カメラ２に撮像を指示して、画像データ（１）を取得する。次いで、制御部５１は、取得した画像データ（１）から第２マーカー７２の位置（より具体的には第２マーカー７２の中心の位置）を第２固定カメラ２の座標系で検出する。次いで、制御部５１は、予め決められた距離だけ第６アーム１６をｘｒ軸方向とｙｒ軸方向にそれぞれ並進させた後、第２固定カメラ２に撮像を指示して、画像データ（２）を取得する。次いで、制御部５１は、取得した画像データ（２）から第２マーカー７２の位置を第２固定カメラ２の座標系で検出する。次いで、制御部５１は、画像データ（１）が撮像された時点での第６アーム１６の軸座標Ｏ６のロボット座標系の座標と、画像データ（１）から検出した第２マーカー７２の第２固定カメラ２の座標系の座標と、画像データ（２）が撮像された時点での軸座標Ｏ６のロボット座標系の座標と、画像データ（２）から検出した第２マーカー７２の第２固定カメラ２の座標系の座標とに基づいて、第２固定カメラ２の座標系（画像座標系）における対象の変位をロボット座標系における対象の変位に変換する座標変換行列を導出する。次に、制御部５１は、画像データ（２）から検出した第２マーカー７２から画像２０の中心Ｏ２０までの変位を導出し、導出した変位を、座標変換行列を用いてロボット座標系のｘｒ軸方向とｙｒ軸方向の変位に変換することによって、第２固定カメラ２によって撮像される画像２０の中心Ｏ２０に第２マーカー７２を位置合わせするための軸座標Ｏ６の目標値を導出する。
【００９９】
次に、制御部５１は、導出された目標値を出力して、ロボットアーム１０を動かす。その結果、軸座標Ｏ６がｘｒ軸方向とｙｒ軸方向にそれぞれ並進し、第２固定カメラ２と軸座標Ｏ６と第２マーカー７２の位置関係が状態Ａとなって、図１１に示すように第２固定カメラ２によって撮像される画像２０の中心Ｏ２０に第２マーカー７２が位置する。ここで、第２固定カメラ２によって撮像される画像２０の中心Ｏ２０は、画像座標系とロボット座標系を対応付ける基準点となる。そして画像２０の中心Ｏ２０に第２マーカー７２が位置する状態では、第２マーカー７２が基準点に対応する作業空間内の点となる。なお、図１１では、画像２０に軸座標Ｏ６が描かれているが、これは説明の便宜上描いているにすぎず、実際には画像２０には軸座標Ｏ６は写らない。なお、後述する図１２および図１３についても同様である。
【０１００】
次に、制御部５１は、ロボット座標系における第２マーカー７２のｘｒ座標およびｙｒ座標を、座標変換行列を用いて導出する。ここで第２マーカー７２は画像２０の中心Ｏ２０に位置しているため、画像２０の中心Ｏ２０の座標を、座標変換行列を用いてロボット座標系に変換すると、ロボット座標系における第２マーカー７２のｘｒ座標およびｙｒ座標が導出される。
【０１０１】
次いで、制御部５１は、第６アーム１６の回転軸をｚｒ軸と平行に維持した状態で、第６アーム１６を予め決められた角度（例えば３０度）だけ回転させる。軸座標Ｏ６を中心にハンド１０２を回転させた場合には、第２マーカー７２が画像２０の中心Ｏ２０から画像２０外に移動する可能性がある。したがって第６アーム１６を回転させる角度は、回転後に第２マーカー７２が画像２０内に位置する範囲で予め決めておく。このようにして第６アーム１６を回転させると、軸座標Ｏ６を通りｚｒ軸に平行な回転軸の周りをハンド１０２が回転することで第２マーカー７２が回転した状態Ｃとなる（図１２参照）。
【０１０２】
次いで、制御部５１は、第２固定カメラ２に撮像を指示して、軸座標Ｏ６を中心にハンド１０２を回転させて、図１２に示すように、軸座標Ｏ６を中心に第２マーカー７２が回転した状態Ｃにおける画像データ（３）を取得する。画像データ（３）においては、図１２に示すように第２マーカー７２が画像２０の中心Ｏ２０から離れている。
【０１０３】
次に、制御部５１は第２マーカー７２が第２固定カメラ２によって撮像される画像２０の中心Ｏ２０に再び移動するようにロボットアーム１０を駆動させる（図１３参照）。これにより、図１１に示すような状態Ａから第２マーカー７２を中心として軸座標Ｏ６が予め決められた角度だけ回転したことになり、軸座標Ｏ６と第２マーカー７２の位置関係が図１１に示すような状態Ａから図１２に示すような状態Ｃを経て図１３に示すような状態Ｂに遷移する。状態Ｂでは図１３に示すように第２固定カメラ２によって撮像される画像２０の中心Ｏ２０に第２マーカー７２が位置する。すなわち、状態Ａから状態Ｂへの遷移の過程において、第２固定カメラ２の座標系（画像座標系）では、図１１から図１３に示すように画像２０の中心Ｏ２０を中心として軸座標Ｏ６が回転することと同等である。したがって、図１４に示すように、状態Ａから状態Ｃを経て状態Ｂとなる移動は、軸座標Ｏ６を通る線分を回動中心軸として軸座標Ｏ６を回動角度θで移動させたことと等しい。言い換えれば、軸座標Ｏ６は、第２マーカー７２を中心とする円弧の軌跡を描く。この円弧の半径ｒは軸座標Ｏ６から第２マーカー７２までの距離と等しく、円弧の中心角である回動角度θは状態Ａから状態Ｂに軸座標Ｏ６を回転させた角度に等しい。それゆえ、制御部５１は、状態Ａと状態Ｂとについて、軸座標Ｏ６のｘａ、ｙａ座標を、第２マーカー７２のｘａ、ｙａ座標と、円弧の回動角度θ（中心角）と、円弧の半径ｒとで表して連立方程式を解き、ロボット座標系において第２マーカー７２のｘｒ座標およびｙｒ座標を導出する。状態Ａ、状態Ｂの軸座標Ｏ６のｘａ座標及びｙａ座標は既知であり、ロボット座標系と第６アーム１６に固定された座標系（ＴＣＰに固定された座標系）の対応関係も既知である。そこで制御部５１は、状態Ａ、状態Ｂのいずれか一方の軸座標Ｏ６のｘａ座標及びｙａ座標と、第２マーカー７２のｘａ座標およびｙａ座標とに基づいて、第６アーム１６の回動軸Ａ６に垂直な２軸の方向について軸座標Ｏ６に対するハンド１０２のオフセット成分を導出して設定することができる。
【０１０４】
以上説明したように、ハンド１０２の校正（ステップＳ２）では、第２固定カメラ２によって第２マーカー７２を撮像可能な位置に例えばジョグ送り操作で軸座標Ｏ６を動かしさえすれば、軸座標Ｏ６に対するＴＣＰのオフセットを自動的に導出して設定することができる。したがって、ロボット１のオフセットの設定が容易に短時間で実行可能になる。そして、第２固定カメラ２の座標系とロボット１の座標系が校正されていない状態であっても、ロボットアーム１０の軸座標Ｏ６に対するハンド１０２のオフセットを自動的に設定することができる。
【０１０５】
ここで、前述したように、エンドエフェクターとしてのハンド１０２は、可動部としてのロボットアーム１０に対して回動可能に取り付けられており、基準点としての軸座標Ｏ６は、ロボットアーム１０が有する部材としての第６アーム１６の回動軸Ａ６上に位置している。
このため、前記のようなオフセット成分を求める処理（第５作業）を行うことで、ハンド１０２と軸座標Ｏ６との間の距離が求まるため、ロボット１は対象物６０に対してより高精度に作業を行うことができる。
【０１０６】
＜第２固定カメラの校正（ステップＳ３）＞
次に、図５に示すように、制御装置５は、第２固定カメラ２の校正（ステップＳ３）を開始する。
【０１０７】
図１５に示すように、第２固定カメラ２の校正（ステップＳ３）では、基準面を特定する処理（ステップＳ３１）を行った後、第２固定カメラ２の画像座標系とロボット座標系との関係を求める処理（ステップＳ３２）を行う。
【０１０８】
［基準面を特定する処理（ステップＳ３１）］
以下、基準面を特定する処理（ステップＳ３１）を、図１６に示すフローチャートを参照しつつ説明する。
【０１０９】
図１６に示すように、まず、制御装置５は、ロボットアーム１０を駆動させて、図１０に示すように、ハンド１０２で把持した校正用部材７０を第２固定カメラ２に対向させる（ステップＳ３１１）。
【０１１０】
次いで、図１６に示すように、制御装置５は、ロボットアーム１０を駆動させて、校正用部材７０に付された第２マーカー７２が第２固定カメラ２の画像の中心部に位置するように校正用部材７０を移動させる（ステップＳ３１２）。
【０１１１】
次いで、制御装置５は、第２固定カメラ２に第２マーカー７２を撮像させる（ステップＳ３１３）。このとき、制御装置５は、第２固定カメラ２の焦点が第２マーカー７２に合う（合焦する）ように、ロボットアーム１０を駆動させることにより、校正用部材７０を移動させる処理（合焦処理）を行う。この処理は、第２固定カメラ２のオートフォーカス機能を用いて行ってもよい。なお、この合焦処理は省略しても構わない。
【０１１２】
次いで、制御装置５は、第２固定カメラ２で撮像した第２マーカー７２の画像を「第１画像」として記憶部５４に記憶し、かつ、第１画像を撮像した際のロボット座標系における軸座標Ｏ６の座標を記憶部５４に記憶する（ステップＳ３１４）。ここで、第２固定カメラ２における基準面を特定する処理（ステップＳ３１）では、第１画像を撮像した際の第２マーカー７２を「第１基準マーカー」とする。
【０１１３】
次に、制御装置５は、ロボットアーム１０を駆動させて、第２固定カメラ２の画像上においてステップＳ３１２で移動させた位置とは異なる位置に第２マーカー７２が位置するように、校正用部材７０をロボット座標系におけるｘｒ軸、ｙｒ軸およびｚｒ軸に沿って並進移動させる（ステップＳ３１５）。
【０１１４】
次いで、制御装置５は、第２固定カメラ２に第２マーカー７２を撮像させる（ステップＳ３１６）。
【０１１５】
次いで、ステップＳ３１６において第２固定カメラ２で撮像した画像における第２マーカー７２の形状および大きさと、ステップＳ３１４で記憶部５４に記憶した第１画像における第２マーカー７２の形状および大きさとを比較する（ステップＳ３１７）。そして、第２マーカー７２の形状および大きさと、第１画像における第２マーカー７２の形状および大きさとの差が、所定の閾値内であるか否かを判断する（ステップＳ３１８）。
【０１１６】
所定の閾値内であると判断した場合（ステップＳ３１８の「Ｙｅｓ」）には、ステップＳ３１１０に移行する。一方、所定の閾値内でないと判断した場合（ステップＳ３１８の「Ｎｏ」）には、所定の閾値内になるようにロボットアーム１０の駆動により校正用部材７０を移動させる（ステップＳ３１９）。例えば、図１７中の２点鎖線で示す第２マーカー７２の大きさ（外形）が、図１７中の実線で示す第１画像における第２マーカー７２の大きさ（外形）と異なり、その大きさの差が所定の閾値内でない場合には、所定の閾値内になるようにロボットアーム１０の駆動により校正用部材７０を移動させる。
【０１１７】
次に、制御装置５は、所定の閾値内であると判断したら、第２固定カメラ２で撮像した第２マーカー７２の画像を「第２画像（第ｎ画像）」として記憶部５４に記憶し、かつ、第２画像（第ｎ画像）を撮像した際のロボット座標系における軸座標Ｏ６の座標を記憶部５４に記憶する（ステップＳ３１１０）。ここで、第２固定カメラ２における基準面を特定する処理（ステップＳ３１）では、第２画像を撮像した際の第２マーカー７２を「第２基準マーカー」とする。なお、第２画像を撮像する際には、ハンド１０２に把持されている校正用部材７０に付された第２マーカー７２は、第１画像を撮像する際における位置と異なる位置にある。
【０１１８】
次に、撮像した画像の数ｎが予め設定した所定数（ただし、ｎは整数であって、３≦ｎの関係を満足する数）であるか否かを判断する（ステップＳ３１１１）。所定数であると判断した場合には、ステップＳ３１１２に移行し、所定数未満であると判断した場合には、所定数であると判断されるまで、前述したステップＳ３１５からステップＳ３１１０を繰り返す。
【０１１９】
ここで、本実施形態では、画像の数が３になるまで画像を取得すること、すなわち、第２固定カメラ２で３つの画像（第１画像、第２画像および第３画像）を撮像することを予め設定している。そのため、本実施形態では、第２固定カメラ２で第２画像を撮像した後に、さらにもう１回、ステップＳ３１５からステップＳ３１１０を行い、ロボットアーム１０の駆動により校正用部材７０を移動させて第２固定カメラ２で撮像した第２マーカー７２の画像を「第３画像」として記憶部５４に記憶し、かつ、第３画像を撮像した際のロボット座標系における軸座標Ｏ６の座標を記憶部５４に記憶する。ここで、第２固定カメラ２における基準面を特定する処理（ステップＳ３１）では、第３画像を撮像した際の第２マーカー７２を「第３基準マーカー」とする。なお、第３画像を撮像する際には、ハンド１０２に把持されている校正用部材７０に付された第２マーカー７２は、第１画像を撮像する際における位置および第２画像を撮像する際における位置と異なる位置にあり、それらは同一直線上にない。また、第２固定カメラ２における基準面を特定する処理（ステップＳ３１）では、第２マーカー７２が「第１基準マーカー、第２基準マーカーおよび第３基準マーカー」を兼ねていると捉えることができる。
【０１２０】
次に、画像の数ｎが所定数であると判断したら、制御部５１は、記憶部５４に記憶したｎ個（本実施形態では３つ）のロボット座標系における軸座標Ｏ６の座標を基に、図１０に示すような撮像素子２１（３つの異なる箇所に配置された状態の第２マーカー７２を通る平面）に平行な基準面８１の原点およびｘ軸、ｙ軸、ｚ軸の各方向を求める（ステップＳ３１１２）。そして、制御装置５は、ロボット座標系における基準面８１の位置および姿勢、すなわち、基準面８１の成分ｘｒ、ｙｒ、ｚｒ、ｕｒ、ｖｒ、ｗｒを定義する（ステップＳ３１１３）。
以上にて、図１５に示す基準面を特定する処理（ステップＳ３１）が終了する。
【０１２１】
以上のように、制御装置５によれば、第２固定カメラ２（撮像部）で撮像した画像（第１画像、第２画像および第３画像）を基にして基準面８１の姿勢を求めることができる。このため、従来のように、作業者によるタッチアップ用ハンドとキャリブレーション治具（校正用部材）との接触を判断する作業を省くことができる。このため、人為的な誤差や、作業者によるバラツキを低減することができ、よって、基準面８１の姿勢を高精度に求めることができる。また、従来のようにタッチアップ用ハンドをキャリブレーション治具に接触させることにより基準面を求めると、キャリブレーション治具の材質等によって求めた基準面の姿勢が異なり、基準面の姿勢を高精度に検出することが難しい。これに対し、本実施形態では、第２固定カメラ２で撮像した画像を基にして基準面８１の姿勢を求めているので、校正用部材７０に対して接触せずに（非接触で）、基準面８１の姿勢を求めることができる。このため、例えば校正用部材７０の材質等によらず基準面８１の姿勢を高精度に求めることができる。
【０１２２】
また、制御装置５によれば、第２固定カメラ２で撮像した画像を基にして基準面８１の姿勢を求めることができるため、従来よりも基準面８１の姿勢を容易かつ迅速に求めることができる。
【０１２３】
また、前述したように、本実施形態では、３つの画像（第１画像、第２画像および第３画像）をそれぞれ撮像した際のロボット座標系における軸座標Ｏ６（所定の部位）の座標を基にして基準面８１を求めている。したがって、基準面８１は軸座標Ｏ６を含む面であるといえる。そのため、基準面８１でロボット１が作業（例えば、ハンド１０２により対象物６０を的確に把持しているか否かを判断する作業）を行うことで、ロボット１は前記作業を的確に行うことができる。
【０１２４】
特に、前述したように、本実施形態では、３つの画像を撮像する際に、合焦処理をしておくことで、ロボット１が基準面８１で対象物６０の検出、検査、組み立て等の各作業を行えば、ロボット１は各種作業をより高い精度で行うことができる。
【０１２５】
また、前述したエンドエフェクターとしてのハンド１０２の校正（ステップＳ２）において、軸座標Ｏ６とツールセンターポイントＴＣＰとの間の距離が既知となっている。そのため、当該距離と、軸座標Ｏ６を含む面である基準面８１とを基にして、ツールセンターポイントＴＣＰを含む面を求めることができる。
【０１２６】
なお、本実施形態では、軸座標Ｏ６の座標を基にして基準面８１を特定する処理（ステップＳ３１）を行ったが、ツールセンターポイントＴＣＰの座標を基に基準面８１を特定してもよいし、その他のロボットの任意の部位を基に基準面８１を特定してもよい。
【０１２７】
また、前述したように、本実施形態では、第１画像における第２マーカー７２の大きさと、第２画像における第２マーカー７２の大きさと、第３画像における第２マーカー７２の大きさとに基づいて、基準面８１の位置および姿勢を求めている。そのため、本実施形態では、各画像における第２マーカー７２の大きさに基づいて基準面８１の位置および姿勢を求めれば、基準面８１の姿勢を的確に求めることができる。
【０１２８】
また、各画像における第２マーカー７２の大きさに基づいて基準面８１の位置および姿勢を求めることは、第１画像を取得した際の第２マーカー７２と第２固定カメラ２の受光面２１１（より具体的には、撮像基準点Ｏ２）との間の距離（第１距離）と、第２画像を取得した際の第２マーカー７２と受光面２１１（撮像基準点Ｏ２）との間の距離（第２距離）と、第３画像を取得した際の第２マーカー７２と受光面２１１（撮像基準点Ｏ２）との間の距離（第３距離）とに基づいて、基準面８１の姿勢を求めていることと同等である。したがって、本実施形態の校正方法によれば、第１距離、第２距離および第３距離の距離に基づいて、基準面８１の姿勢を求めることができる。
【０１２９】
［第２固定カメラの画像座標系とロボット座標系との関係を求める処理（ステップＳ３２）］
次に、図１５に示すように、第２固定カメラ２の画像座標系とロボット座標系との関係を求める処理（ステップＳ３２）、すなわち、第２撮像部としての第２固定カメラ２の座標系とロボット１の座標系との校正を行う第２作業を行う。
【０１３０】
制御装置５は、まず、ロボットアーム１０を駆動させて、前述したステップＳ３１で求めた基準面８１内の格子状に配列された任意の９つの基準点（仮想の目標点）にそれぞれ軸座標Ｏ６が位置するように、校正用部材７０を移動させる。すなわち、第２マーカー７２を格子状に配列された９つの箇所に移動させる。このとき、制御装置５は、校正用部材７０を移動させるごとに、第２固定カメラ２に第２マーカー７２を撮像させる。
【０１３１】
ここで、９つの基準点は、全て第２固定カメラ２の画像の範囲内（撮像領域内）にあり、隣り合う基準点同士の間隔が全て等しくなっているものとする。
【０１３２】
次に、制御装置５は、９つの画像に基づいた第２固定カメラ２の画像座標系における第２マーカー７２の座標（成分ｘａ、ｙａ、ｕａ）と、前述したステップＳ３１で求めたロボット座標系における基準面８１の座標（成分ｘｒ、ｙｒ、ｕｒ）とに基づいて、第２固定カメラ２の画像座標をロボット座標系における基準面８１の座標に変換する補正パラメーター（座標変換行列）を求める。
【０１３３】
このようにして求めた補正パラメーターを用いれば、第２固定カメラ２で撮像した対象物６０等の位置および姿勢（具体的には、成分ｘａ、ｙａ、ｕａ）をロボット座標系における値（具体的には、成分ｘｒ、ｙｒ、ｕｒ）に変換することができる。なお、この補正パラメーターは、レンズ２２の歪み等の第２固定カメラ２の内部パラメーターも加味した値である。
【０１３４】
なお、本実施形態では、前述したように、９つの基準点を用いて補正パラメーターを求めたが、補正パラメーターを求めるために用いる基準点の数が多いほど校正の精度は高くなる。
以上にて、図５に示す固定カメラの校正（ステップＳ３）が終了する。
【０１３５】
＜検査台６２の検査面６２１に応じた基準面の特定（ステップＳ４）＞
次に、制御装置５は、図５に示す検査台６２の検査面６２１に応じた基準面（仮想基準面）の特定（ステップＳ４）、すなわち、ロボット１が作業する作業面に応じた仮想基準面の姿勢を演算する第３作業を開始する。
【０１３６】
なお、図１８に示すように、予め、ハンド１０２で把持していた校正用部材７０を検査台６２の検査面６２１上に載置しておく。その後、検査台６２の検査面６２１に応じた基準面の特定（ステップＳ４）を開始する。
【０１３７】
以下、検査台６２の検査面６２１に応じた基準面の特定（ステップＳ４）を、図１９に示すフローチャートを参照しつつ、その詳細を説明する。
【０１３８】
まず、制御装置５は、ロボットアーム１０を駆動させて、図１８に示すように、モバイルカメラ３を校正用部材７０に対向させる（ステップＳ４１１）。
【０１３９】
次いで、制御装置５は、ロボットアーム１０を駆動させて、校正用部材７０に付された第１マーカー７１がモバイルカメラ３の画像の中心部に位置するようにモバイルカメラ３を移動させる（ステップＳ４１２）。
【０１４０】
次いで、制御装置５は、モバイルカメラ３に第１マーカー７１を撮像させる（ステップＳ４１３）。このとき、制御装置５は、モバイルカメラ３の焦点が第１マーカー７１に合う（合焦する）ようにロボットアーム１０を駆動させることにより、モバイルカメラ３を移動させる処理（合焦処理）を行う。この処理は、モバイルカメラ３のオートフォーカス機能を用いて行ってもよい。なお、この合焦処理は省略しても構わない。
【０１４１】
次いで、制御装置５は、モバイルカメラ３で撮像した第１マーカー７１の画像を「第１画像」として記憶部５４に記憶し、かつ、第１画像を撮像した際のロボット座標系における軸座標Ｏ６の座標を記憶部５４に記憶する（ステップＳ４１４）。ここで、検査台６２の検査面６２１に応じた基準面の特定（ステップＳ４）では、第１マーカー７１を「第１基準マーカー」とする。
【０１４２】
次に、制御装置５は、ロボットアーム１０を駆動させて、第２マーカー７２がモバイルカメラ３の画像の中心部に位置するようにモバイルカメラ３を並進移動させる（ステップＳ４１５）。
【０１４３】
次いで、制御装置５は、モバイルカメラ３に第２マーカー７２（第ｎマーカー）を撮像させる（ステップＳ４１６）。
【０１４４】
次いで、ステップＳ４１６においてモバイルカメラ３で撮像した画像における第２マーカー７２の形状および大きさと、ステップＳ４１４で記憶部５４に記憶した第１画像における第１マーカー７１の形状および大きさとを比較する（ステップＳ４１７）。そして、第２マーカー７２の形状および大きさと、第１マーカー７１の形状および大きさとの差が、所定の閾値内であるか否かを判断する（ステップＳ４１８）。
【０１４５】
所定の閾値内であると判断した場合（ステップＳ４１８の「Ｙｅｓ」）には、ステップＳ４１１０に移行する。一方、所定の閾値内でないと判断した場合（ステップＳ４１８の「Ｎｏ」）には、所定の閾値内になるようにロボットアーム１０の駆動によりモバイルカメラ３を移動させる（ステップＳ４１９）。
【０１４６】
次に、制御装置５は、所定の閾値内であると判断したら、モバイルカメラ３で撮像した第２マーカー７２（第ｎマーカー）の画像を「第２画像（第ｎ画像）」として記憶部５４に記憶し、かつ、第２画像（第ｎ画像）を撮像した際のロボット座標系における軸座標Ｏ６の座標を記憶部５４に記憶する（ステップＳ４１１０）。ここで、検査台６２の検査面６２１に応じた基準面の特定（ステップＳ４）では、第２マーカー７２を「第２基準マーカー」とする。
【０１４７】
次に、撮像した画像の数ｎが予め設定した所定数（ただし、ｎは整数であって、３≦ｎの関係を満足する数）であるか否かを判断する（ステップＳ４１１１）。所定数であると判断した場合には、ステップＳ４１１２に移行し、所定数未満であると判断した場合には、所定数であると判断されるまで、前述したステップＳ４１５からステップＳ４１１０を繰り返す。
【０１４８】
ここで、本実施形態では、モバイルカメラ３で３つの画像（第１画像、第２画像および第３画像）を撮像することを予め設定している。そのため、本実施形態では、モバイルカメラ３で第２画像を撮像した後に、さらにもう１回、ステップＳ４１５からステップＳ４１１０を行い、モバイルカメラ３で撮像した第３マーカー７３の画像を「第３画像」として記憶部５４に記憶し、かつ、第３画像を撮像した際のロボット座標系における軸座標Ｏ６の座標を記憶部５４に記憶する。ここで、検査台６２の検査面６２１に応じた基準面の特定（ステップＳ４）では、第３マーカー７３を「第３基準マーカー」とする。
【０１４９】
次に、画像の数ｎが所定数であると判断したら、制御部５１は、記憶部５４に記憶したｎ個（本実施形態では３つ）のロボット座標系における軸座標Ｏ６の座標を基に、図１８に示すような表面７０１（第１マーカー７１、第２マーカー７２および第３マーカー７３を通る平面）に平行な基準面８２（仮想基準面）の原点およびｘ軸、ｙ軸、ｚ軸の各方向を求める（ステップＳ４１１２）。そして、制御装置５は、ロボット座標系における基準面８２の位置および姿勢、すなわち、基準面８２の成分ｘｒ、ｙｒ、ｚｒ、ｕｒ、ｖｒ、ｗｒを定義する（ステップＳ４１１３）。
【０１５０】
以上のように、制御装置５によれば、前述した第２固定カメラ２の校正における基準面を特定する処理（ステップＳ３１）と同様の効果を発揮することができる。すなわち、モバイルカメラ３（撮像部）で撮像した画像（第１画像、第２画像および第３画像）を用いているため、校正用部材７０に対して接触せずに、基準面８２の姿勢を求めることができ、よって、例えば校正用部材７０の材質等によらず基準面８２の姿勢を高精度に求めることができる。また、従来よりも基準面８２の姿勢を容易かつ迅速に求めることができる。
【０１５１】
また、前述したように、本実施形態では、第１画像における第１マーカー７１の大きさと、第２画像における第２マーカー７２の大きさと、第３画像における第３マーカー７３の大きさとに基づいて、基準面８２の位置および姿勢を求めている。そのため、本実施形態では、各画像における第２マーカー７２の大きさに基づいて基準面８２の位置および姿勢を求めれば、基準面８２の姿勢を的確に求めることができる。
【０１５２】
また、各画像における第２マーカー７２の大きさに基づいて基準面８２の位置および姿勢を求めることは、第１画像を取得した際の第１マーカー７１とモバイルカメラ３の受光面３１１（より具体的には、撮像基準点Ｏ３）との間の距離（第１距離）と、第２画像を取得した際の第２マーカー７２と受光面３１１（撮像基準点Ｏ３）との間の距離（第２距離）と、第３画像を取得した際の第３マーカー７３と受光面３１１（撮像基準点Ｏ３）との間の距離（第３距離）とに基づいて、基準面８２の姿勢を求めていることと同等である。したがって、本実施形態の校正方法によれば、第１距離、第２距離および第３距離の距離に基づいて、基準面８２の姿勢を求めることができる。
【０１５３】
さらに、前述したように、大きさが互いに等しい第１マーカー７１、第２マーカー７２および第３マーカー７３が付された校正用部材７０を用いて、画像上における第１マーカー７１、第２マーカー７２および第３マーカー７３の大きさが互いに等しくなるように第２固定カメラ２で第１画像、第２画像および第３画像を撮像している。このように撮像すれば、モバイルカメラ３の焦点距離や画角が既知でなくとも、表面７０１に平行な（モバイルカメラ３の光軸ＯＡ３に対して直交している）基準面８２を求めることができる。
【０１５４】
また、第１マーカー７１、第２マーカー７２および第３マーカー７３の大きさが互いに等しくなるようにモバイルカメラ３で第１画像、第２画像および第３画像を撮像することは、互いに距離が等しい第１距離、第２距離および第３距離に基づいて、基準面８２の姿勢を求めていることと同等である。したがって、距離が等しい第１距離、第２距離および第３距離に基づいて、モバイルカメラ３の焦点距離や画角が既知でなくとも、表面７０１に平行な基準面８２を容易かつ迅速に求めることができる。
【０１５５】
なお、本実施形態では、第１マーカー７１、第２マーカー７２および第３マーカー７３のそれぞれの大きさが互いに等しいが、これらの大きさの関係が既知であれば、これらの大きさはそれぞれ異なっていてもよい。その場合には、第１マーカー７１、第２マーカー７２および第３マーカー７３のそれぞれの大きさの関係に基づいて、第１距離、第２距離および第３距離の距離を求めることで、表面７０１に平行な基準面８２を容易かつ迅速に求めることができる。
【０１５６】
＜検査台６２でのモバイルカメラ３の校正（ステップＳ５）＞
次に、制御装置５は、図５に示す検査台６２でのモバイルカメラ３の校正（ステップＳ５）を開始する。
【０１５７】
図２０に示すように、検査台６２でのモバイルカメラ３の校正（ステップＳ５）では、オフセット成分を求める処理（ステップＳ５１）、検査面を特定する処理（ステップＳ５２）、ロボット１にマーカーの位置および姿勢を教示する処理（ステップＳ５３）、および、モバイルカメラ３の画像座標系とロボット座標系との関係を求める処理（ステップＳ５４）を、この順に行う。
【０１５８】
［オフセット成分を求める処理（ステップＳ５１）］
次に、オフセット成分を求める処理（ステップＳ５１）、すなわち、第１撮像部としてのモバイルカメラ３とロボット１が有する基準点としての軸座標Ｏ６との距離を演算する第４作業を、図２１に示すフローチャートを参照しつつ説明する。
【０１５９】
ここで、前述したように、モバイルカメラ３は、設計上、光軸ＯＡ３が第６アーム１６の回動軸Ａ６に対してほぼ平行になるように、第６アーム１６に対してオフセットして取り付けられている。しかし、実際には、その設計上のオフセット成分（第６アーム１６に対するモバイルカメラ３の位置および姿勢）からズレが生じる。このズレは、例えば、モバイルカメラ３の組み付け誤差や、モバイルカメラ３の筐体に対する撮像素子３１の組み付け誤差等により生じる。そこで、このオフセット成分を求める処理（ステップＳ５１）にて、実際のオフセット成分（第６アーム１６に対するモバイルカメラ３の位置および姿勢）を求める。
【０１６０】
以下のオフセット成分を求める処理（ステップＳ５１）では、回動軸部材１６１の軸座標Ｏ６に対するモバイルカメラ３の撮像基準点Ｏ３の位置および光軸ＯＡ３の方向（姿勢）のオフセット成分（Δｘ、Δｙ、Δｚ、Δｕ、Δｖ、Δｗ）を求める。
【０１６１】
なお、本実施系形態では、軸座標Ｏ６に対する撮像基準点Ｏ３の位置および光軸ＯＡ３の方向のオフセット成分を求めるが、オフセット成分を求めるにあたり基準とする箇所は、軸座標Ｏ６および撮像基準点Ｏ３に限定されず任意である。
【０１６２】
図２１に示すように、オフセットを求める処理（ステップＳ５１）が開始すると、まず、制御装置５は、ロボットアーム１０を駆動させて、モバイルカメラ３に校正用部材７０を検出させる（ステップＳ５１１）。
【０１６３】
次に、制御装置５は、モバイルカメラ３の受光面３１１が校正用部材７０の表面７０１に正対するようにロボットアーム１０を駆動させる（ステップＳ５１２）。
【０１６４】
次いで、制御装置５は、モバイルカメラ３の受光面３１１に対する校正用部材７０の表面７０１の平行度を検証する（ステップＳ５１３）。そして、制御装置５は、平行度が所定の閾値内であるか否かを判断する（ステップＳ５１４）。
【０１６５】
図２２に示すように、平行度は、画像における表面７０１に付された隣り合うマーカー７５同士のピッチＰの差を用いて検証する。例えば、図２２中の実線で示すように、隣り合うマーカー７５同士のピッチＰ１、Ｐ２、Ｐ３、Ｐ４の差がほぼ同じであり、その差が所定の閾値内である場合には、ステップＳ５１５に移行する。一方、図２２中の２点鎖線で示すように、隣り合うマーカー７５同士のピッチＰ１’、Ｐ２’、Ｐ３’、Ｐ４’の差が異なり、その差が所定の閾値を超える場合には、所定の閾値内になるまで、ステップＳ５１１からステップＳ５１４を繰り返す。ここで、所定の閾値内であることは、前述した基準面８２と光軸ＯＡ３とが閾値以内で垂直になっていることを意味する。
【０１６６】
次に、制御装置５は、所定の閾値内であると判断したら、所定の閾値内であると判断した際のロボット座標系における軸座標Ｏ６の成分ｕｒ、ｖｒ、ｗｒと、前述した検査台６２の検査面６２１に応じた基準面の特定（ステップＳ４）で求めた際のロボット座標系における基準面８２の成分ｕｒ、ｖｒ、ｗｒとの差からオフセット成分Δｕ、Δｖ、Δｗを求める（ステップＳ５１５）。このオフセット成分Δｕ、Δｖ、Δｗは、軸座標Ｏ６に対する光軸ＯＡ３のオフセット成分Δｕ、Δｖ、Δｗに相当する。
【０１６７】
次に、図２１に示すように、制御装置５は、軸座標Ｏ６に対する撮像基準点Ｏ３のオフセット成分Δｘ、Δｙを求める（ステップＳ５１６）。以下、オフセット成分Δｘ、Δｙを求める方法を図２３〜図２７を参照しつつ説明する。なお、図２３〜図２７は、例えば、ロボット１を鉛直方向上方から見たときのモバイルカメラ３および第６アーム１６を模式的に示している。
【０１６８】
具体的には、まず、図２３に示すように、制御装置５は、例えばモバイルカメラ３の画像３０の中心Ｏ３０（重心）に第２マーカー７２が位置するようにロボットアーム１０を駆動させる。この図２３に示すモバイルカメラ３および第６アーム１６の状態を「第１状態」とする。ここで、画像３０の中心Ｏ３０と撮像基準点Ｏ３は一致している。
【０１６９】
次いで、図２４に示すように、制御装置５は、ロボットアーム１０を駆動させて第６アーム１６を回動軸Ａ６周りに所定の角度で回動させる。この際の所定の角度は、画像３０外に第２マーカー７２が出ない範囲内（モバイルカメラ３の撮像領域内に収まる範囲内）の所定の角度（例えば１〜１０°程度）とする。この図２４に示すモバイルカメラ３および第６アーム１６の状態を「第２状態」とする。
【０１７０】
次いで、図２５に示すように、制御装置５は、ロボットアーム１０を駆動させて、第２マーカー７２が中心Ｏ３０に一致するようにモバイルカメラ３および第６アーム１６をロボット座標系におけるｘｒ軸およびｙｒ軸を含む平面（基準面８２のｘ−ｙ平面）に平行な平面内に並進移動させる。この図２５に示すモバイルカメラ３および第６アーム１６の状態を「第３状態」とする。
【０１７１】
このような第１状態から第２状態を経て第３状態となるモバイルカメラ３および第６アーム１６の移動は、図２３に示す第１状態と図２５に示す第３状態とを見ると、中心Ｏ３０（撮像基準点Ｏ３）を通る線分を回動中心軸にして軸座標Ｏ６（第６アーム１６）が回動していることと同等であることが分かる。したがって、図２８に示すように、第１状態から第２状態を経て第３状態となる移動は、中心Ｏ３０（撮像基準点Ｏ３）を通る線分を回動中心軸として軸座標Ｏ６を回動角度θ１０で移動させたことと等しい。それゆえ、回動角度θ１０と、第１状態でのロボット座標系における軸座標Ｏ６の座標と、第３状態でのロボット座標系における軸座標Ｏ６の座標とに基づいて、ロボット座標系における撮像基準点Ｏ３の座標を求める。そして、求めたロボット座標系における撮像基準点Ｏ３の座標と、第１状態および第３状態のいずれか一方のロボット座標系における軸座標Ｏ６の座標とから、軸座標Ｏ６に対する撮像基準点Ｏ３の仮オフセット成分Δｘ’、Δｙ’を求める。
【０１７２】
次いで、図２６に示すように、制御装置５は、第２マーカー７２が画像３０外に出ないように仮オフセット成分Δｘ’、Δｙ’を基にしてロボットアーム１０を駆動させ、撮像基準点Ｏ３（中心Ｏ３０）を通る線分を回動中心軸として軸座標Ｏ６を所定の角度で回動させる。この図２２に示すモバイルカメラ３および第６アーム１６の状態を「第４状態」とする。
【０１７３】
次に、図２７に示すように、制御装置５は、ロボットアーム１０の駆動によりモバイルカメラ３および第６アーム１６をロボット座標系におけるｘｒ軸およびｙｒ軸を含む平面（基準面８２のｘ−ｙ平面）に平行な平面内に並進移動させ、画像３０の中心Ｏ３０に第２マーカー７２を位置させる。この図２７に示すモバイルカメラ３および第６アーム１６の状態を「第５状態」とする。
【０１７４】
このような第１状態から第２状態、第３状態および第４状態を経て第５状態となるモバイルカメラ３および第６アーム１６の移動は、図２３に示す第１状態と図２７に示す第５状態とを見ると、中心Ｏ３０（撮像基準点Ｏ３）を通る線分を回動中心軸にして軸座標Ｏ６を回動させていることと同等であることが分かる。したがって、図２８に示すように、第１状態から第２状態、第３状態および第４状態を経て第５状態となる移動は、中心Ｏ３０（撮像基準点Ｏ３）を通る線分を回動中心軸として軸座標Ｏ６を回動角度θ１で移動させたことと等しい。それゆえ、回動角度θ１と、第１状態でのロボット座標系における軸座標Ｏ６の座標と、第５状態でのロボット座標系における軸座標Ｏ６の座標とに基づいて、ロボット座標系における撮像基準点Ｏ３の座標を求める。そして、求めたロボット座標系における撮像基準点Ｏ３の座標と、第１状態および第５状態のいずれか一方のロボット座標系における軸座標Ｏ６の座標とから、軸座標Ｏ６に対する撮像基準点Ｏ３のオフセット成分Δｘ、Δｙを求める。
【０１７５】
このような処理によれば、軸座標Ｏ６に対する撮像基準点Ｏ３のオフセット成分Δｘ、Δｙを容易かつ高精度に求めることができる。
【０１７６】
また、前述したように、本実施形態では、第１状態から第２状態を経て第３状態に移行する処理を行うことにより、仮オフセット成分Δｘ’、Δｙ’を算出している。すなわち、第２マーカー７２がモバイルカメラ３の画像３０内（撮像領域内）に収まる範囲内の微小な角度で、第６アーム１６を回動軸Ａ６周りに回動させる処理を行うことで、仮オフセット成分Δｘ’、Δｙ’を算出している。このような仮オフセット成分Δｘ’、Δｙ’の情報を用いて第３状態から第４状態への移動を行うことで、第４状態において第２マーカー７２を確実に画像３０内に写すことができる。
【０１７７】
次に、図２１に示すように、制御装置５は、軸座標Ｏ６に対する撮像基準点Ｏ３のオフセット成分Δｚを求める（ステップＳ５１７）。以下、オフセット成分Δｚを求める方法を、図２９を参照しつつ説明する。なお、図２９は、オフセット成分Δｚを求める際のモバイルカメラ３および第６アーム１６の過程を図示しており、説明の便宜上、図２９中の実線で示すモバイルカメラ３が、「設計上のモバイルカメラ３」の位置を示しており、図２９中の点線で示すモバイルカメラ３’が、「実際のモバイルカメラ３」の位置を示している。
【０１７８】
図２９に示すように、まず、制御装置５は、例えば第２マーカー７２がモバイルカメラ３’の画像の中心に写るようにロボットアーム１０を駆動させて、図２９に示す状態Ａとする。次いで、制御装置５は、モバイルカメラ３’で第２マーカー７２を撮像して、図２９に示すモバイルカメラ３の受光面３１１と第２マーカー７２との間の距離Ｈを求める。
【０１７９】
ここで、本実施形態では、モバイルカメラ３の焦点距離は予め求められていて、既知である。このため、距離Ｈは、例えば、モバイルカメラ３の焦点距離と、モバイルカメラ３の画像におけるマーカー７５同士のピッチの長さ「ピクセル」と、実際のマーカー７５同士のピッチ「ｍｍ」とから算出することができる。
【０１８０】
なお、モバイルカメラ３の焦点距離は、例えば、校正用部材７０のマーカー７５を写しながら、モバイルカメラ３を光軸ＯＡ３方向（ｚｒ方向）へ微小量だけ動かした場合における動作前後での、画像上のマーカー７５同士のピッチの長さ「ピクセル」と、実際のマーカー７５同士のピッチ「ｍｍ」とから求めることも可能である。
【０１８１】
次いで、図２９中の状態Ｂに示すように、制御装置５は、ロボットアーム１０を駆動させて、モバイルカメラ３’を設計上のオフセット成分Δｚを基に角度θ２だけ傾ける。
【０１８２】
次いで、図２９中の状態Ｃに示すように、制御装置５は、ロボットアーム１０を駆動させて、状態Ｂのモバイルカメラ３’の姿勢を保ったまま、第２マーカー７２がモバイルカメラ３’の画像の中心に写るようにモバイルカメラ３’をロボット座標系におけるｘｒ軸およびｙｒ軸を含む平面（基準面８２のｘ−ｙ平面）に平行な面内に並進移動させる。そして、制御装置５は、このときのロボット座標系における軸座標Ｏ６の移動距離Ｘ’（具体的には、設計上のオフセット成分Δｚに基づく、基準面８２のｘ−ｙ平面に平行な面内での撮像基準点Ｏ３の移動距離）を求める。
【０１８３】
次いで、制御装置５は、下記の式（１）より、モバイルカメラ３’の実際のオフセット成分Δｚを求めるための補正量ΔＨを求める。
【０１８４】
【数１】
2018012184.tif 000003
【０１８５】
次いで、制御装置５は、補正量ΔＨと設計上のオフセット成分Δｚとを基に、実際のオフセット成分Δｚを求める。
【０１８６】
このようにして、オフセット成分Δｚを求めることができる。このような処理によれば、オフセット成分Δｚを容易に算出することができる。
【０１８７】
次に、図２１に示すように、制御装置５は、設計上のオフセット成分から、求めた実際のオフセット成分Δｘ、Δｙ、Δｚ、Δｕ、Δｖ、Δｗにデータを更新する（ステップＳ５１８）。
以上にて、図２０に示すオフセットを求める処理（ステップＳ５１）が終了する。
【０１８８】
［検査面を特定する処理（ステップＳ５２）］
次に、図２０に示すように、検査面を特定する処理（ステップＳ５２）を行う。検査面を特定する処理（ステップＳ５２）は、ロボット座標系における検査面６２１の位置および姿勢、すなわち、検査面６２１の成分ｘｒ、ｙｒ、ｚｒ、ｕｒ、ｖｒ、ｗｒを求める処理である。
【０１８９】
ここで、検査面６２１は、基準面８２に対して平行であり、基準面８２の法線方向（ｚｒ方向）にオフセットした位置にある。このため、この検査面を特定する処理（ステップＳ５２）では、検査面６２１の基準面８２に対する法線方向（ｚｒ方向）のオフセット量を決定することにより、検査面６２１の成分ｘｒ、ｙｒ、ｚｒ、ｕｒ、ｖｒ、ｗｒを求めることができる。
【０１９０】
検査面６２１の基準面８２に対する法線方向（ｚｒ方向）のオフセット量は、予め求めておいたモバイルカメラ３の焦点距離と、校正用部材７０の隣り合うマーカー７５のピッチの値（実寸）に対するモバイルカメラ３の画素数と、前述した実際のオフセット成分とに基づいて求めることができる。
【０１９１】
このようにしてロボット座標系における検査面６２１の位置および姿勢を求めることで、ロボット１は検査面６２１上に載置された対象物６０に対して高精度に作業を行うことができる。
【０１９２】
［ロボットにマーカーの位置および姿勢を教示する処理（ステップＳ５３）］
次に、図２０に示すように、ロボット１にマーカーの位置および姿勢を教示する処理（ステップＳ５３）を行う。
【０１９３】
ここでは、例えば、基準面８２（または検査面６２１）のｘ−ｙ平面における第２マーカー７２のロボット座標をロボット１に教示する。
【０１９４】
具体的には、まず、制御装置５は、前述したオフセット成分を求める処理（ステップＳ５１）にて算出した軸座標Ｏ６に対する撮像基準点Ｏ３の位置および光軸ＯＡ３の方向のオフセット成分を基にして、基準面８２のｚ軸にモバイルカメラ３の光軸ＯＡ２を揃える。その後、制御装置５は、ロボットアーム１０の駆動により、基準面８２のｘ−ｙ平面に平行な面内にモバイルカメラ３を並進移動させ、第２マーカー７２をモバイルカメラ３の画像中心に合わせる。そして、制御装置５は、第２マーカー７２をモバイルカメラ３の画像中心に合わた際のモバイルカメラ３の撮像基準点Ｏ３の位置を第２マーカー７２のロボット座標として教示する。
【０１９５】
なお、例えば、軸座標Ｏ６におけるオフセットが既知である教示専用ツール（タッチアップ用ハンド）を第２マーカー７２に接触させることにより、ロボット１に第２マーカー７２の位置および姿勢を教示してもよい。ただし、モバイルカメラ３で第２マーカー７２の画像を撮像することにより、ロボット１に第２マーカー７２の位置および姿勢を教示する方が、例えば校正用部材７０の材質等によらずに第２マーカー７２を高精度に教示することができるため、好ましい。
【０１９６】
［モバイルカメラの画像座標系とロボット座標系との関係を求める処理（ステップＳ５４）］
次に、図２０に示すように、モバイルカメラの画像座標系とロボット座標系との関係を求める処理（ステップＳ５４）、すなわち第１撮像部としてのモバイルカメラ３の座標系とロボット１の座標系との校正を行う第１作業を行う。
【０１９７】
モバイルカメラの画像座標系とロボット座標系との関係を求める処理（ステップＳ５４）は、前述した固定カメラの画像座標系とロボット座標系との関係を求める処理（ステップＳ３２）と、検査面６２１上に配置された校正用部材７０を用いて基準面を特定すること、および、ロボットアーム１０を駆動させて、検査面６２１上に配置された校正用部材７０の第２マーカー７２（ロボット座標が既知であるマーカー）を、モバイルカメラ３を９箇所に移動させながら９回撮像すること以外は、同様である。
【０１９８】
したがって、モバイルカメラ３の画像座標系とロボット座標系との関係を求める処理（ステップＳ５４）が終了すると、９つの画像に基づいたモバイルカメラ３の画像座標系における第２マーカー７２の座標（成分ｘｂ、ｙｂ、ｕｂ）と、前述した検査台６２の検査面６２１に応じた基準面の特定（ステップＳ４）で求めたロボット座標系における基準面８２の座標（成分ｘｒ、ｙｒ、ｕｒ）とに基づいて、第２固定カメラ２の画像座標をロボット座標系における基準面８２の座標に変換する補正パラメーター（座標変換行列）を求めることができる。
【０１９９】
このようにして求めた補正パラメーターを用いれば、モバイルカメラ３で撮像した対象物６０等の位置および姿勢（具体的には、成分ｘｂ、ｙｂ、ｕｂ）をロボット座標系における値（具体的には、成分ｘｒ、ｙｒ、ｕｒ）に変換することができる。
【０２００】
なお、前述したように、モバイルカメラの画像座標系とロボット座標系との関係を求める処理（ステップＳ５４）は、前述した第２固定カメラ２の画像座標系とロボット座標系との関係を求める処理（ステップＳ３２）とほぼ同様であるため、その詳細な説明（処理内容および効果）を省略する。
【０２０１】
＜第３固定カメラ９の校正（ステップＳ６）＞
次に、図５に示すように、制御装置５は、第３固定カメラ９の校正（ステップＳ６）を開始する。
【０２０２】
この第３固定カメラ９の校正（ステップＳ６）は、第２固定カメラ２に代えて第３固定カメラ９により校正を行うこと以外は、前述した第２固定カメラ２の校正（ステップＳ３）と、同様である。したがって、第３固定カメラ９の校正においても、基準面を特定する処理を行った後、第３固定カメラ９の画像座標系とロボット座標系との関係を求める処理を行う（図１５参照）。
【０２０３】
したがって、第３固定カメラ９の校正（ステップＳ６）終了すると、第３固定カメラ９の画像座標をロボット座標系における基準面８１の座標に変換する補正パラメーター（座標変換行列）を求めることができる。これにより、第３固定カメラ９で撮像した対象物６０等の位置および姿勢（具体的には、成分ｘｃ、ｙｃ、ｕｃ）をロボット座標系における値（具体的には、成分ｘｒ、ｙｒ、ｕｒ）に変換することができる。
【０２０４】
なお、前述したように、第３固定カメラ９の校正（ステップＳ６）は、第２固定カメラ２に代えて第３固定カメラ９により校正を行うこと以外は、前述した第２固定カメラ２の校正（ステップＳ３）と、同様であるため、その詳細な説明（処理内容および効果）を省略する。
【０２０５】
以上により、図５に示す撮像部の校正が終了する。
【０２０６】
このような撮像部の校正方法によれば、第２固定カメラ２、第３固定カメラ９およびモバイルカメラ３でそれぞれ撮像した画像を基にして基準面８１、８２の姿勢を求めることができるため、従来のように作業者による判断を省くことができる。そのため、人為的な誤差や、作業者によるバラツキを低減することができ、よって、高精度な校正ができる。
【０２０７】
以上、本発明の制御装置、ロボットおよびロボットシステムを、図示の実施形態に基づいて説明したが、本発明はこれに限定されるものではなく、各部の構成は、同様の機能を有する任意の構成のものに置換することができる。また、他の任意の構成物が付加されていてもよい。また、本発明は、前記各実施形態のうちの、任意の２以上の構成（特徴）を組み合わせたものであってもよい。
【０２０８】
また、前記実施形態では、６軸の垂直多関節ロボットを用いた場合を例に説明したが、本発明におけるロボットは、垂直多関節ロボット以外のロボット、例えば水平多関節ロボット等であってもよい。なお、水平多関節ロボットとは、例えば、基台と、基台に接続され、水平方向に延びている第１アームと、第１アームに接続され、水平方向に延びる部分を有する第２アームとを有する構成である。また、本発明におけるロボットが水平多関節ロボットである場合、前述したような校正を行うことで、例えば、ロボットが作業面に対して平行に設置されているか否かや、固定カメラの光軸がロボット座標系におけるｘｒ軸およびｙｒ軸を含む面に対して鉛直になるように固定カメラが設置されているか否か等を把握することができる。
【０２０９】
また、前記実施形態では、ロボットが有するロボットアームの回動軸の数は、６つであるが、本発明では、これに限定されず、ロボットアームの回動軸の数は、例えば、２つ、３つ、４つ、５つまたは７つ以上でもよい。また、前記実施形態では、ロボットが有するアームの数は、６つであるが、本発明では、これに限定されず、ロボットが有するアームの数は、例えば、２つ、３つ、４つ、５つ、または、７つ以上でもよい。
【０２１０】
また、前記実施形態では、ロボットが有するロボットアームの数は、１つであるが、本発明では、これに限定されず、ロボットが有するロボットアームの数は、例えば、２つ以上でもよい。すなわち、ロボットは、例えば、双腕ロボット等の複数腕ロボットであってもよい。
【０２１１】
また、前記実施形態では、撮像部としての２つの固定カメラおよびモバイルカメラは、それぞれ、撮像素子およびレンズを有する構成であったが、本発明における撮像部は、第１マーカー、第２マーカーおよび第３マーカーを撮像することができる構成であればいかなる構成であってもよい。
【０２１２】
また、前記実施形態では、校正用部材を用いて固定カメラの校正を行ったが、固定カメラの校正では、校正用部材を用いなくてもよい。校正用部材を用いない場合には、例えば、ロボットアームの先端部（軸座標）に１つのマーカーを付して、その１つのマーカーを基準マーカーとして用いればよい。この場合には、１つのマーカーを「第１基準マーカー、第２基準マーカーおよび第３基準マーカー」と捉える。
【０２１３】
なお、本実施形態では、第２撮像部を第２固定カメラとし、第３撮像部を第３固定カメラとして説明したが、第２撮像部を第３固定カメラとして捉え、第３撮像部を第２固定カメラとして捉えてもよい。また、第１撮像部、第２撮像部および第３撮像部に加え、さらにこれらとは異なる撮像部を有していてもよい。
【符号の説明】
【０２１４】
１…ロボット、２…第２固定カメラ、３…モバイルカメラ、３'…モバイルカメラ、５…制御装置、９…第３固定カメラ、１０…ロボットアーム、１１…第１アーム、１２…第２アーム、１３…第３アーム、１４…第４アーム、１５…第５アーム、１６…第６アーム、２０…画像、２１…撮像素子、２２…レンズ、３０…画像、３１…撮像素子、３２…レンズ、４１…表示機器、４２…操作機器、５１…制御部、５２…受付部、５４…記憶部、６０…対象物、６１…供給台、６２…検査台、７０…校正用部材、７１…第１マーカー、７２…第２マーカー、７３…第３マーカー、７５…マーカー、８１…基準面、８２…基準面、９０…作業領域、９１…撮像素子、９２…レンズ、１００…ロボットシステム、１０１…基台、１０２…ハンド、１１１…回動軸部材、１２０…モータードライバー、１２１…回動軸部材、１３０…駆動部、１３１…回動軸部材、１４１…回動軸部材、１５１…回動軸部材、１６１…回動軸部材、２１１…受光面、３１１…受光面、４１０…画面、４５２…項目、４５３…項目、４５４…項目、４５５…項目、４５６…項目、４６１…項目、４６２…項目、４６３…項目、４６４…項目、４６５…項目、４６６…項目、４７１…項目、４７２…項目、４７３…項目、６１１…供給面、６２１…検査面、７０１…表面、９１１…受光面、Ａ…状態、Ａ６…回動軸、Ｂ…状態、Ｂ２１…ボタン、Ｂ２２…ボタン、Ｃ…状態、Ｃ４６１…チェックボックス、Ｃ４６２…チェックボックス、Ｃ４６３…チェックボックス、Ｃ４６４…チェックボックス、Ｃ４６５…チェックボックス、Ｃ４６６…チェックボックス、Ｈ…距離、Ｏ２…撮像基準点、Ｏ２０…中心、Ｏ３…撮像基準点、Ｏ３０…中心、Ｏ６…軸座標、Ｏ９…撮像基準点、ＯＡ２…光軸、ＯＡ３…光軸、ＯＡ９…光軸、Ｐ…ピッチ、Ｐ１…ピッチ、Ｐ１'…ピッチ、Ｐ２…ピッチ、Ｐ２’…ピッチ、Ｐ３…ピッチ、Ｐ３’…ピッチ、Ｐ４…ピッチ、Ｐ４’…ピッチ、Ｓ１…ステップ、Ｓ２…ステップ、Ｓ３…ステップ、Ｓ３１…ステップ、Ｓ３１１…ステップ、Ｓ３１１０…ステップ、Ｓ３１１１…ステップ、Ｓ３１１２…ステップ、Ｓ３１１３…ステップ、Ｓ３１２…ステップ、Ｓ３１３…ステップ、Ｓ３１４…ステップ、Ｓ３１５…ステップ、Ｓ３１６…ステップ、Ｓ３１７…ステップ、Ｓ３１８…ステップ、Ｓ３１９…ステップ、Ｓ３２…ステップ、Ｓ４…ステップ、Ｓ４１１…ステップ、Ｓ４１１０…ステップ、Ｓ４１１１…ステップ、Ｓ４１１２…ステップ、Ｓ４１１３…ステップ、Ｓ４１２…ステップ、Ｓ４１３…ステップ、Ｓ４１４…ステップ、Ｓ４１５…ステップ、Ｓ４１６…ステップ、Ｓ４１７…ステップ、Ｓ４１８…ステップ、Ｓ４１９…ステップ、Ｓ５…ステップ、Ｓ５１…ステップ、Ｓ５１１…ステップ、Ｓ５１２…ステップ、Ｓ５１３…ステップ、Ｓ５１４…ステップ、Ｓ５１５…ステップ、Ｓ５１６…ステップ、Ｓ５１７…ステップ、Ｓ５１８…ステップ、Ｓ５２…ステップ、Ｓ５３…ステップ、Ｓ５４…ステップ、Ｓ６…ステップ、ＴＣＰ…ツールセンターポイント、ＷＤ１…ウィンドウ、ＷＤ２…ウィンドウ、ＷＤ３…ウィンドウ、Ｘ'…移動距離、ｒ…半径、ΔＨ…補正量、θ…回動角度、θ１…回動角度、θ１０…回動角度、��２…角度
【図１】
2018012184.tif 000004
【図２】
2018012184.tif 000005
【図３】
2018012184.tif 000006
【図４】
2018012184.tif 000007
【図５】
2018012184.tif 000008
【図６】
2018012184.tif 000009
【図７】
2018012184.tif 000010
【図８】
2018012184.tif 000011
【図９】
2018012184.tif 000012
【図１０】
2018012184.tif 000013
【図１１】
2018012184.tif 000014
【図１２】
2018012184.tif 000015
【図１３】
2018012184.tif 000016
【図１４】
2018012184.tif 000017
【図１５】
2018012184.tif 000018
【図１６】
2018012184.tif 000019
【図１７】
2018012184.tif 000020
【図１８】
2018012184.tif 000021
【図１９】
2018012184.tif 000022
【図２０】
2018012184.tif 000023
【図２１】
2018012184.tif 000024
【図２２】
2018012184.tif 000025
【図２３】
2018012184.tif 000026
【図２４】
2018012184.tif 000027
【図２５】
2018012184.tif 000028
【図２６】
2018012184.tif 000029
【図２７】
2018012184.tif 000030
【図２８】
2018012184.tif 000031
【図２９】
2018012184.tif 000032