(57)【要約】【課題】カメラ座標とロボット座標との相関を容易且つ迅速に導出できるロボットシステム及びキャリブレーション方法を提供する。【解決手段】ロボットシステムは、ロボットアーム１０と、カメラ４０と、マーカを有するキャリブレーション治具と、キャリブレーション装置Ｕ１とを備える。キャリブレーション装置Ｕ１は、カメラ４０の光軸に直交する平面内の複数の撮影位置にマーカを移動させるようにロボットアーム１０を制御するアーム制御部２２と、マーカが撮影位置にあるときのマーカのカメラ座標を取得するカメラ座標取得部２３と、マーカが撮影位置にあるときのロボットアーム１０の姿勢情報を取得する姿勢情報取得部２４と、カメラ座標取得部２３及び姿勢情報取得部２４がそれぞれ取得したカメラ座標及び姿勢情報に基づいて、カメラ座標とロボット座標との相関を導出する相関導出部２５とを有する。【選択図】図３
2014180720.tif 000002
【特許請求の範囲】
【請求項１】
ロボットアームと、
ワークの撮影用に設置されるカメラと、
画像認識可能なマーカを有し、前記ロボットアームの先端部に取り付けられるキャリブレーション治具と、
前記カメラにより撮影される画像内の座標であるカメラ座標と、前記ロボットアームを基準とする座標であるロボット座標との相関を導出するキャリブレーション装置と、を備え、
前記キャリブレーション装置は、
前記マーカを前記カメラに向けた状態で、前記カメラの光軸に直交する平面内の複数の撮影位置に前記マーカを移動させるように前記ロボットアームを制御するアーム制御部と、
前記マーカが前記撮影位置にあるときの前記マーカの前記カメラ座標を取得するカメラ座標取得部と、
前記マーカが前記撮影位置にあるときの前記ロボットアームの姿勢情報を取得する姿勢情報取得部と、
前記カメラ座標取得部及び前記姿勢情報取得部がそれぞれ取得した前記カメラ座標及び前記姿勢情報に基づいて、前記カメラ座標と前記ロボット座標との相関を導出する相関導出部と、を有するロボットシステム。
【請求項２】
前記アーム制御部は、直線状に並ばない少なくとも３箇所を前記撮影位置とする、請求項１記載のロボットシステム。
【請求項３】
前記アーム制御部は、前記マーカが前記撮影位置にあるときの前記キャリブレーション治具の向きを、前記カメラの光軸に平行な軸まわりの回転方向において、前記撮影位置ごとに変えるように前記ロボットアームを制御する、請求項１又は２記載のロボットシステム。
【請求項４】
ロボットアームと、
ワークの撮影用に前記ロボットアームに取り付けられるカメラと、
画像認識可能なマーカを有するキャリブレーション治具と、
前記カメラにより撮影される画像内の座標であるカメラ座標と、前記ロボットアームを基準とする座標であるロボット座標との相関を導出するキャリブレーション装置と、を備え、
前記キャリブレーション装置は、
前記カメラを前記マーカに向けた状態で、前記カメラの光軸に直交する平面内の複数の撮影位置に前記カメラを移動させるように前記ロボットアームを制御するアーム制御部と、
前記カメラが前記撮影位置にあるときの前記マーカの前記カメラ座標を取得するカメラ座標取得部と、
前記カメラが前記撮影位置にあるときの前記ロボットアームの姿勢情報を取得する姿勢情報取得部と、
前記カメラ座標取得部及び前記姿勢情報取得部がそれぞれ取得した前記カメラ座標及び前記姿勢情報に基づいて、前記カメラ座標と前記ロボット座標との相関を導出する相関導出部と、を有するロボットシステム。
【請求項５】
前記アーム制御部は、直線状に並ばない少なくとも３箇所を前記撮影位置とする、請求項４記載のロボットシステム。
【請求項６】
前記アーム制御部は、前記カメラが前記撮影位置にあるときの前記カメラの向きを、前記カメラの光軸まわりの回転方向において、前記撮影位置ごとに変えるように前記ロボットアームを制御する、請求項４又は５記載のロボットシステム。
【請求項７】
ロボットアームと、ワークの画像認識用に設置されたカメラと、を備えるロボットシステムにおいて、前記カメラにより撮影される画像内の座標であるカメラ座標と、前記ロボットアームを基準とする座標であるロボット座標との相関を導出する方法であって、
画像認識可能なマーカを有するキャリブレーション治具を、前記ロボットアームの先端部に取り付け、
前記マーカを前記カメラに向けた状態で、前記カメラの光軸に直交する平面内の複数の撮影位置に前記マーカを移動させるように前記ロボットアームを動作させ、
前記マーカが前記撮影位置にあるときの前記マーカの前記カメラ座標を取得し、
前記マーカが前記撮影位置にあるときの前記ロボットアームの姿勢情報を取得し、
取得した前記カメラ座標及び前記姿勢情報に基づいて、前記カメラ座標と前記ロボット座標との相関を導出する、キャリブレーション方法。
【請求項８】
ロボットアームと、ワークの画像認識用に前記ロボットアームに取り付けられるカメラと、を備えるロボットシステムにおいて、前記カメラにより撮影される画像内の座標であるカメラ座標と、前記ロボットアームを基準とする座標であるロボット座標との相関を導出する方法であって、
画像認識可能なマーカを有するキャリブレーション治具を設置し、
前記カメラを前記マーカに向けた状態で、前記カメラの光軸に直交する平面内の複数の撮影位置に前記カメラを移動させるように前記ロボットアームを動作させ、
前記カメラが前記撮影位置にあるときの前記マーカの前記カメラ座標を取得し、
前記カメラが前記撮影位置にあるときの前記ロボットアームの姿勢情報を取得し、
取得した前記カメラ座標及び前記姿勢情報に基づいて、前記カメラ座標と前記ロボット座標との相関を導出する、キャリブレーション方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ロボットシステム及びキャリブレーション方法に関する。
【背景技術】
【０００２】
カメラによりワークを撮影し、撮影した画像に基づいてワークの位置及び姿勢情報等を取得し、取得した位置及び姿勢情報等に基づいてロボットアームに作業を行わせるロボットシステムが実用化されている。例えば、特許文献１には、ロボットアームと、ワークの撮影用にロボットアームに取り付けられたカメラとを備えるロボットシステムが開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１０−２４３３１７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
上述したロボットシステムにおいて、カメラにより撮影される画像に基づいてワークの位置及び情報等を取得するには、カメラにより撮影される画像内の座標であるカメラ座標と、ロボットアームを基準とする座標であるロボット座標との相関を予め導出しておく必要がある。このために、複数の点についてカメラ座標及びロボット座標を取得し、これらを用いて上記相関を導出することが行われている。この方法は、各点のカメラ座標を取得する作業と、各点のロボット座標を取得する作業との両方を行うため、煩雑で長い作業時間を要する。特に、ロボット座標の取得には、例えば上記各点を指示するようにロボットアームをマニュアル操作する等、煩雑な作業が必要である。
【０００５】
そこで本発明は、カメラ座標とロボット座標との相関を容易且つ迅速に導出できるロボットシステム及びキャリブレーション方法を提供することを目的とする。
【課題を解決するための手段】
【０００６】
本発明に係るロボットシステムは、ロボットアームと、ワークの撮影用に設置されるカメラと、画像認識可能なマーカを有し、ロボットアームの先端部に取り付けられるキャリブレーション治具と、カメラにより撮影される画像内の座標であるカメラ座標と、ロボットアームを基準とする座標であるロボット座標との相関を導出するキャリブレーション装置とを備え、キャリブレーション装置は、マーカをカメラに向けた状態で、カメラの光軸に直交する平面内の複数の撮影位置にマーカを移動させるようにロボットアームを制御するアーム制御部と、マーカが撮影位置にあるときのマーカのカメラ座標を取得するカメラ座標取得部と、マーカが撮影位置にあるときのロボットアームの姿勢情報を取得する姿勢情報取得部と、カメラ座標取得部及び姿勢情報取得部がそれぞれ取得したカメラ座標及び姿勢情報に基づいて、カメラ座標とロボット座標との相関を導出する相関導出部とを有する。
【０００７】
ロボットシステムは、ロボットアームと、ワークの撮影用にロボットアームに取り付けられるカメラと、画像認識可能なマーカを有するキャリブレーション治具と、カメラにより撮影される画像内の座標であるカメラ座標と、ロボットアームを基準とする座標であるロボット座標との相関を導出するキャリブレーション装置と、を備え、キャリブレーション装置は、カメラをマーカに向けた状態で、カメラの光軸に直交する平面内の複数の撮影位置にカメラを移動させるようにロボットアームを制御するアーム制御部と、カメラが撮影位置にあるときのマーカのカメラ座標を取得するカメラ座標取得部と、カメラが撮影位置にあるときのロボットアームの姿勢情報を取得する姿勢情報取得部と、カメラ座標取得部及び姿勢情報取得部がそれぞれ取得したカメラ座標及び姿勢情報に基づいて、カメラ座標とロボット座標との相関を導出する相関導出部と、を有してもよい。
【発明の効果】
【０００８】
本発明によれば、カメラ座標とロボット座標との相関を容易且つ迅速に導出できる。
【図面の簡単な説明】
【０００９】
【図１】第１実施形態に係るロボットシステムの概略構成を示す模式図である。
【図２】図１中のキャリブレーション治具の平面図である。
【図３】図１中のキャリブレーション装置の機能的構成を示すブロック図である。
【図４】マーカが３箇所の撮影位置に配置された状態を示す平面図である。
【図５】第１実施形態に係るロボットシステムのキャリブレーション手順を示すフローチャートである。
【図６】第１実施形態に係るロボットシステムのキャリブレーションを再度行う手順を示すフローチャートである。
【図７】比較対象のロボットシステムの概略構成を示す模式図である。
【図８】図７中の第１キャリブレーション治具の平面図である。
【図９】比較対象のロボットシステムのキャリブレーション手順を示すフローチャートである。
【図１０】比較対象のロボットシステムのキャリブレーションを再度行う手順を示すフローチャートである。
【図１１】第２実施形態に係るロボットシステムの概略構成を示す模式図である。
【図１２】図１１中のキャリブレーション装置の機能的構成を示すブロック図である。
【図１３】カメラが３箇所の撮影位置に配置された状態を示す平面図である。
【図１４】第２実施形態に係るロボットシステムのキャリブレーション手順を示すフローチャートである。
【発明を実施するための形態】
【００１０】
以下、本発明の好適な実施形態について、図面を参照しつつ詳細に説明する。説明において、同一要素又は同一機能を有する要素には同一の符号を付し、重複する説明を省略する。
【００１１】
＜第１実施形態＞
図１に示すように、第１実施形態に係るロボットシステム１は、ロボットアーム１０と、ロボットコントローラ２０と、作業台３０と、カメラ４０と、カメラコントローラ５０と、プログラマブルロジックコントローラ（ＰＬＣ）６０と、キャリブレーション治具７０とを備える。
【００１２】
ロボットアーム１０は、基部１１と、２本の腕部１２，１３と、１本の手首部１４と、基部１１に対して腕部１２，１３及び手首部１４を直列に連結する３箇所の関節１５，１６，１７とを有する。基部１１は、床面に設置される基台１１ａと、基台１１ａの上に設けられた旋回台１１ｂとを有する。基台１１ａは、鉛直な軸（Ｓ軸）Ａ１まわりに旋回台１１ｂを旋回させるアクチュエータを内蔵している。
【００１３】
関節（Ｌ軸関節）１５は、腕部（下腕部）１２と旋回台１１ｂの上部とを連結する。Ｌ軸関節１５は、水平な軸（Ｌ軸）Ａ２まわりに下腕部１２を揺動させるアクチュエータを内蔵している。関節（Ｕ軸関節）１６は、腕部（前腕部）１３と下腕部１２とを連結する。Ｕ軸関節１６は、Ｌ軸Ａ２に平行な軸（Ｕ軸）Ａ３まわりに前腕部１３を搖動させるアクチュエータを内蔵している。関節（Ｂ軸関節）１７は、手首部１４と前腕部１３とを連結する。Ｂ軸関節１７は、前腕部１３の中心軸Ａ４に直交する軸（Ｂ軸）Ａ５まわりに手首部１４を搖動させるアクチュエータを内蔵している。
【００１４】
前腕部１３は、直列に連なる前腕リンク１３ａ，１３ｂを有する。Ｕ軸関節１６側の第１前腕リンク１３ａは、Ｂ軸関節１７側の第２前腕リンク１３ｂを前腕部１３の中心軸（Ｒ軸）Ａ４まわりに旋回させるアクチュエータを内蔵している。手首部１４は、Ｂ軸関節１７に連結された手首リンク１４ａと、手首リンク１４ａの先端側に連結された装着フランジ１４ｂとを有する。手首リンク１４ａは、装着フランジ１４ｂを手首部１４の中心軸（Ｔ軸）Ａ６まわりに旋回させるアクチュエータを内蔵している。装着フランジ１４ｂには、ロボットアーム１０に所望の作業を行わせるための各種ツールが取り付けられる。なお、ロボットアーム１０の構成及び各アクチュエータの配置は一例であって、上記構成・配置に限定されるものではない。
【００１５】
ロボットコントローラ２０は、ワークに対する様々な作業をロボットアーム１０に行わせるように、ロボットアーム１０の上記各アクチュエータを制御する。ロボットコントローラ２０には、プログラミングペンダント（ＰＰ）２１がケーブルを介して接続されている。ＰＰ２１は、ロボットアーム１０の動作のティーチングを行う入力装置である。
【００１６】
作業台３０は、ロボットアーム１０が作業対象とするワークを支持する。カメラ４０は、例えばＣＣＤ等の撮像素子を内蔵している。カメラ４０は、作業台３０の上方に設置され、下方の作業台を撮影して電気信号として出力する。カメラコントローラ５０は、カメラ４０から画像を取得し、画像内の対象物を認識する処理を行う。この処理により、画像内における対象物の位置及び姿勢情報等が得られる。ＰＬＣ６０は、ロボットコントローラ２０及びカメラ４０に接続され、ロボットコントローラ２０及びカメラ４０間での情報の受け渡しを行う。
【００１７】
キャリブレーション治具７０は、装着フランジ１４ｂへの取付部７０ａと、取付部７０ａから装着フランジ１４ｂの周囲に張り出す平板部７０ｂとを有する。平板部７０ｂのうち、装着フランジ１４ｂ側の面には、画像認識可能なマーカ７０ｃが設けられている（図２参照）。
【００１８】
ところで、ロボットコントローラ２０は、カメラコントローラ５０から取得した情報に基づいて、作業対象のワークの位置及び姿勢等を特定する。カメラコントローラ５０から取得する情報は、カメラ４０により撮影された画像内の位置及び姿勢情報等である。このため、ロボットアーム１０を基準としたワークの位置及び姿勢等を特定するには、カメラ４０により撮影された画像内の座標であるカメラ座標と、ロボットアーム１０を基準とする座標であるロボット座標との相関を予め導出しておく必要がある（以下、カメラ座標とロボット座標との相関の導出を「キャリブレーション」という。）。ロボット座標は、ロボットアーム１０のいずれの部分を基準とするものであってもよいが、ここではロボット座標の基準をロボットアーム１０の根元部とする。
【００１９】
キャリブレーションは、キャリブレーション治具７０が装着フランジ１４ｂに取り付けられた状態で、ロボットコントローラ２０により実行される。すなわち、ロボットコントローラ２０は、キャリブレーション装置Ｕ１として機能する。図３に示すように、キャリブレーション装置Ｕ１としてのロボットコントローラ２０は、機能ブロックとして、アーム制御部２２と、カメラ座標取得部２３と、姿勢情報取得部２４と、相関導出部２５とを有する。
【００２０】
アーム制御部２２は、ロボットアーム１０の先端部にキャリブレーション治具７０が取り付けられた状態で、次のようにロボットアーム１０を制御する。すなわち、マーカ７０ｃをカメラ４０に向けた状態で、カメラ４０の光軸ＣＬに直交する平面ＦＳ内の複数の撮影位置にマーカ７０ｃを移動させるように、ロボットアーム１０を動作させる。
【００２１】
図４に示すように、アーム制御部２２は、例えば直線状に並ばない３点３１，３２，３３を撮影位置とする。また、例えば、マーカ７０ｃが撮影位置３１，３２，３３にあるときのキャリブレーション治具７０の向きを、光軸ＣＬに平行な軸まわりの回転方向において、撮影位置３１，３２，３３ごとに変えるようにロボットアーム１０を制御する、これらにより、カメラ座標とロボット座標との相関をより高精度に導出できる。なお撮影位置の数は３箇所に限定されない。撮影位置の数を増やすにつれてカメラ座標とロボット座標との相関の算出精度が高まるが、キャリブレーションに要する時間は長くなる。
【００２２】
カメラ座標取得部２３は、マーカ７０ｃが撮影位置３１，３２，３３にあるときに、カメラコントローラ５０に画像処理を要求する。カメラコントローラ５０は、マーカ７０ｃが撮影位置３１，３２，３３にあるときの画像をカメラ４０から取得し、その画像内のマーカ７０ｃを認識する画像処理を行う。これにより、マーカ７０ｃのカメラ座標が得られる。カメラ座標取得部２３は、カメラコントローラ５０において得られたカメラ座標を取得する。
【００２３】
姿勢情報取得部２４は、マーカ７０ｃが撮影位置３１，３２，３３にあるときのロボットアーム１０の姿勢情報を取得する。具体的には、ロボットアーム１０の上記各アクチュエータの角度情報を取得する。
【００２４】
相関導出部２５は、カメラ座標取得部２３及び姿勢情報取得部２４がそれぞれ取得したカメラ座標及び姿勢情報に基づいて、カメラ座標とロボット座標との相関を導出する。その演算内容を以下に説明する。なお、カメラ４０により撮影された画像内におけるマーカ７０ｃの移動距離と、実際のマーカ７０ｃの移動距離との相関は既知となっているものとする。カメラ座標とロボット座標との相関は次の式で表される。
Ｐ＝Ｐｃ＋Ｒｃ・ｃＰ    ・・・（１）
Ｐ：ロボット座標。
Ｐｃ：カメラ座標原点のロボット座標。
Ｒｃ：カメラ座標からロボット座標への回転変換行列。
ｃＰ：カメラ座標。
カメラ座標とロボット座標との相関を導出することは、式（１）におけるＰｃ及びＲｃを算出することに相当する。任意の撮影位置ｉにマーカ７０ｃがあるときに、マーカ７０ｃのロボット座標については次の式が成立する。
Ｐｍｉ＝Ｐｆｉ＋Ｒｆｉ・ｆＰｍ    ・・・（２）
Ｐｍｉ：マーカ７０ｃが撮影位置ｉにあるときのマーカ７０ｃのロボット座標。
ｆＰｍ：マーカ７０ｃのフランジ座標（装着フランジ１４ｂを基準とする座標）。
Ｐｆｉ：マーカ７０ｃが撮影位置ｉにあるときのフランジ座標原点のロボット座標。
Ｒｆｉ：マーカ７０ｃが撮影位置ｉにあるときのフランジ座標からロボット座標への回転変換行列。
式（１），（２）に基づいて、Ｐｃ，Ｒｃ，ｆＰｍを未知数とする以下の方程式が成立する。
Ｐｃ＋Ｒｃ・ｃＰｍｉ＝Ｐｆｉ＋Ｒｆｉ・ｆＰｍ    ・・・（３）
ｃＰｍｉ：マーカ７０ｃが撮影位置ｉにあるときのマーカ７０ｃのカメラ座標。
３つの撮影位置３１，３２，３３においてマーカ７０ｃを撮影し、式（３）にあてはめることにより以下３式の連立方程式が構成される。
Ｐｃ＋Ｒｃ・ｃＰ３１＝Ｐｆ３１＋Ｒｆ３１・ｆＰｍ・・・（４）
Ｐｃ＋Ｒｃ・ｃＰ３２＝Ｐｆ３２＋Ｒｆ３２・ｆＰｍ・・・（５）
Ｐｃ＋Ｒｃ・ｃＰ３３＝Ｐｆ３３＋Ｒｆ３３・ｆＰｍ・・・（６）
この連立方程式を解くことにより、Ｐｃ，Ｒｃ，ｆＰｍが算出される。
【００２５】
続いて、キャリブレーション装置Ｕ１としてのロボットコントローラ２０を用いて行うロボットシステム１のキャリブレーション方法について説明する。図５に示すように、まずロボットアーム１０の装着フランジ１４ｂにキャリブレーション治具７０を取り付ける（Ｓ０１）。
【００２６】
次に、マーカ７０ｃの登録を行う（Ｓ０２）。すなわち、マーカ７０ｃに関する画像認識用のパラメータを登録する。画像認識用のパラメータは、例えばマーカ７０ｃの形状・大きさ等である。これらのパラメータは、カメラコントローラ５０において記憶される。
【００２７】
次に、ＰＰ２１を用い、マーカ移送ジョブのティーチングを行う（Ｓ０３）。すなわち、３箇所の撮影位置３１，３２，３３にマーカ７０ｃを移動させる動作（マーカ移送ジョブ）を、アーム制御部２２がロボットアーム１０に行わせるときの制御目標値を設定する。この制御目標値は、ロボットコントローラ２０において記憶される。
【００２８】
次に、ロボットコントローラ２０にキャリブレーションの実行を指示する（Ｓ０４）。すると、ロボットコントローラ２０によりキャリブレーションが実行され、カメラ座標とロボット座標との相関が導出される。
【００２９】
この相関を用い、ワークのカメラ座標をロボット座標に変換することで、ロボットアームの根元部を基準としたワークの位置及び姿勢等を特定し、ワークに対する様々な作業をロボットアームに行わせることが可能となる。カメラ４０の位置がずれてしまった場合等には、再度キャリブレーションを行う必要がある。このときには、マーカ７０ｃの登録及びマーカ移送ジョブのティーチングが既に行われている。このため、図６に示すように、キャリブレーション治具を取り付け、ロボットコントローラ２０にキャリブレーションを指示する２工程（Ｓ０１，Ｓ０２）のみで、キャリブレーションを行うことができる。
【００３０】
ここで、比較対象として、従来のロボットシステム１００について説明する。図７に示すように、従来のロボットシステム１００は、キャリブレーション治具７０に代えて、キャリブレーション治具８１，８２を備える。第１キャリブレーション治具８１は、作業台３０上に設置されるシート状の部材である。第１キャリブレーション治具８１の上面には、画像認識用の３つのマーカ８１ａ，８１ｂ，８１ｃが設けられている（図８参照）。第２キャリブレーション治具８２は、装着フランジ１４ｂに取り付けられる針状の部材である。
【００３１】
ロボットシステム１００では、カメラコントローラ５０がキャリブレーション装置Ｕ１０として機能する。キャリブレーション装置Ｕ１０としてのカメラコントローラ５０は、複数の点についてカメラ座標及びロボット座標を取得し、これらを用いてカメラ座標とロボット座標との相関を導出する。
【００３２】
ロボットシステム１００のキャリブレーションでは、図９に示すように、まず第１キャリブレーション治具８１を作業台３０上に設置し（Ｓ１１）、マーカ８１ａ，８１ｂ，８１ｃの登録を行う（Ｓ１２）。すなわち、マーカ８１ａ，８１ｂ，８１ｃに関する画像認識用のパラメータを登録する。これらのパラメータは、カメラコントローラ５０において記憶される。
【００３３】
次に、キャリブレーション装置Ｕ１０としてのカメラコントローラ５０にマーカ８１ａ，８１ｂ，８１ｃのカメラ座標の取得を指示する（Ｓ１３）。カメラコントローラ５０は、キャリブレーション治具７０の画像をカメラ４０から取得し、その画像内のマーカ８１ａ，８１ｂ，８１ｃを認識する画像処理を行うことでマーカ８１ａ，８１ｂ，８１ｃのカメラ座標を得る。
【００３４】
次に、ロボットアーム１０の装着フランジ１４ｂに第２キャリブレーション治具８２を取り付け（Ｓ１４）、第２キャリブレーション治具８２に関するパラメータを登録する（Ｓ１５）。このパラメータは、第２キャリブレーション治具８２の先端部８２ａのロボット座標を算出するのに必要なパラメータであり、例えば先端部８２ａのフランジ座標である。
【００３５】
次に、マーカ８１ａ，８１ｂ，８１ｃのロボット座標を確認する（Ｓ１６）。具体的には、第２キャリブレーション治具８２の先端部８２ａによりマーカ８１ａ，８１ｂ，８１ｃを指示させ、そのときの先端部８２ａのロボット座標を確認する。確認したロボット座標をカメラコントローラ５０に入力する（Ｓ１７）。そして、キャリブレーション装置Ｕ１０としてのカメラコントローラ５０に、キャリブレーションの実行を指示する（Ｓ１８）。すると、カメラコントローラ５０によりキャリブレーションが実行され、カメラ座標とロボット座標との相関が導出される。
【００３６】
このように、従来のロボットシステム１００では、マーカ８１ａ，８１ｂ，８１ｃのカメラ座標を取得する作業と、マーカ８１ａ，８１ｂ，８１ｃのロボット座標を取得する作業との両方を行うため、煩雑で長い作業時間を要する。特に、ロボット座標の取得には、第２キャリブレーション治具のパラメータ登録（Ｓ１５）、マーカ８１ａ，８１ｂ，８１ｃのロボット座標確認（Ｓ１６）及びマーカ８１ａ，８１ｂ，８１ｃのロボット座標の入力（Ｓ１７）等、煩雑な作業が必要である。また、再度キャリブレーションを行うときにも、図１０に示すように、マーカ８１ａ，８１ｂ，８１ｃの登録（Ｓ１２）を除く全工程を再度行う必要がある。
【００３７】
これに対し、ロボットシステム１におけるキャリブレーションでは、マーカ７０ｃが撮影位置３１，３２，３３にあるときのマーカ７０ｃのカメラ座標と、マーカ７０ｃが撮影位置３１，３２，３３にあるときのロボットアーム１０の姿勢情報とに基づいて、カメラ座標とロボット座標との相関が導出される。これにより、マーカ７０ｃのロボット座標が未知の状態で、カメラ座標とロボット座標との相関が算出されるので、マーカ７０ｃのロボット座標を取得する工程が不要である。このため、カメラ座標とロボット座標との相関を容易且つ迅速に導出できる。
【００３８】
しかも、再度キャリブレーションを行うときには、マーカ７０ｃの登録（Ｓ０２）及びマーカ移送ジョブのティーチング（Ｓ０３）の２工程が不要となり、カメラ座標とロボット座標との相関を更に容易且つ迅速に導出できる。
【００３９】
また、キャリブレーション装置Ｕ１としての機能はロボットコントローラ２０に組み込まれている。このため、カメラコントローラ５０にはキャリブレーション装置としての機能が不要であり、汎用的な画像処理装置をカメラコントローラ５０として採用可能である。更に、ＰＬＣ６０を介さずに、カメラコントローラ５０とロボットコントローラ２０とを直結するロボットシステムにも本実施形態の構成を適用可能である。
【００４０】
＜第２実施形態＞
第２実施形態に係るロボットシステム１Ａは、カメラ４０が各種ツールと共に装着フランジ１４ｂに取り付けられる点で、ロボットシステム１と異なる。図１１に示すように、ロボットシステム１Ａは、装着フランジ１４ｂに取り付けられるキャリブレーション治具７０に代えて、作業台３０上に設置されるキャリブレーション治具７１を備える。キャリブレーション治具７１上にはマーカ７０ｃが設けられている（図２参照）。
【００４１】
ロボットシステム１Ａのキャリブレーションは、キャリブレーション治具７１が作業台３０上に設置された状態で、ロボットコントローラ２０により実行される。すなわち、ロボットコントローラ２０は、キャリブレーション装置Ｕ２として機能する。図１２に示すように、キャリブレーション装置Ｕ２としてのロボットコントローラ２０は、機能ブロックとして、アーム制御部２２Ａと、カメラ座標取得部２３Ａと、姿勢情報取得部２４Ａと、相関導出部２５Ａとを有する。
【００４２】
アーム制御部２２Ａは、カメラ４０の光軸ＣＬに直交する平面ＦＳ内の複数の撮影位置にカメラ４０を移動させるように、ロボットアーム１０を動作させる。図１３に示すように、アーム制御部２２Ａは、例えば直線状に並ばない３箇所を撮影位置３１，３２，３３とする。また、例えば、マーカ７０ｃが撮影位置３１，３２，３３にあるときのカメラ４０の向きを、光軸ＣＬまわりの回転方向において、撮影位置３１，３２，３３ごとに変えるようにロボットアーム１０を制御する、これらにより、カメラ座標とロボット座標との相関をより高精度に導出できる。
【００４３】
カメラ座標取得部２３Ａは、カメラ４０が撮影位置３１，３２，３３にあるときに、カメラコントローラ５０に画像処理を要求する。カメラコントローラ５０は、カメラ４０が撮影位置３１，３２，３３にあるときの画像をカメラ４０から取得し、その画像内のマーカ７０ｃを認識する画像処理を行うことでマーカ７０ｃのカメラ座標を得る。カメラ座標取得部２３Ａは、カメラコントローラ５０において得られたカメラ座標を取得する。
【００４４】
姿勢情報取得部２４Ａは、カメラ４０が撮影位置３１，３２，３３にあるときのロボットアーム１０の姿勢情報を取得する。具体的には、ロボットアーム１０の上記各アクチュエータの角度情報を取得する。
【００４５】
相関導出部２５Ａは、カメラ座標取得部２３Ａ及び姿勢情報取得部２４Ａがそれぞれ取得したカメラ座標及び姿勢情報に基づいて、カメラ座標とロボット座標との相関を導出する。その演算内容を以下に説明する。なお、カメラ４０により撮影された画像内におけるマーカ７０ｃの移動距離と、カメラ４０の実際の移動距離との相関は既知となっているものとする。カメラ４０が撮影位置ｉにあるときに、マーカ７０ｃのカメラ座標とロボット座標との相関は次の式で表される。
Ｐ＝Ｐｆ＋Ｒｆ（ｆＰｃ＋ｆＲｃ・ｃＰ）    ・・・（７）
Ｐ：ロボット座標。
ｆＰｃ：カメラ座標原点のフランジ座標（装着フランジ１４ｂを基準とする座標）。
ｆＲｃ：カメラ座標からフランジ座標への回転変換行列。
Ｐｆ：フランジ座標原点のロボット座標。
Ｒｆ：フランジ座標からロボット座標への回転変換行列。
ｃＰ：カメラ座標。
カメラ座標とロボット座標との相関を導出することは、式（１）におけるｆＰｃ及びｆＲｃを算出することに相当する。撮影位置ｉにカメラがあるときには、式（１）に基づいて以下の方程式が成立する。
Ｐｆｉ＋Ｒｆｉ（ｆＰｃ＋ｆＲｃ・ｃＰｍｉ）−Ｐｍ＝０・・・（８）
Ｐｆｉ：カメラ４０が撮影位置ｉにあるときのフランジ座標原点のロボット座標。
Ｒｆｉ：カメラ４０が撮影位置ｉにあるときのフランジ座標からロボット座標への回転変換行列。
ｃＰｍｉ：カメラ４０が撮影位置ｉにあるときのマーカ７０ｃのカメラ座標。
Ｐｍ：マーカ７０ｃのロボット座標。
式（８）において、未知数は、ｆＰｃ，ｆＲｃ，Ｐｍである。
３つの撮影位置３１，３２，３３においてマーカ７０ｃを撮影し、式（８）にあてはめることにより、以下３式の連立方程式が構成される。
Ｐｆ３１＋Ｒｆ３１（ｆＰｃ＋ｆＲｃ・ｃＰｍ３１）−Ｐｍ＝０・・・（９）
Ｐｆ３２＋Ｒｆ３２（ｆＰｃ＋ｆＲｃ・ｃＰｍ３２）−Ｐｍ＝０・・・（１０）
Ｐｆ３３＋Ｒｆ３３（ｆＰｃ＋ｆＲｃ・ｃＰｍ３３）−Ｐｍ＝０・・・（１１）
この連立方程式を解くことにより、ｆＰｃ，ｆＲｃ，Ｐｍが算出される。
【００４６】
ロボットシステム１Ａのキャリブレーションでは、図１４に示すように、まず作業台３０上にキャリブレーション治具７０を設置する（Ｓ２１）。次に、上述のステップＳ１１と同様に、マーカ７０ｃの登録を行う（Ｓ２２）。
【００４７】
次に、ＰＰ２１を用い、カメラ移送ジョブのティーチングを行う（Ｓ２３）。すなわち、３箇所の撮影位置３１，３２，３３にカメラ４０を移動させる動作（カメラ移送ジョブ）を、アーム制御部２２Ａがロボットアーム１０に行わせるときの制御目標値を設定する。この制御目標値は、ロボットコントローラ２０において記憶される。
【００４８】
次に、ロボットコントローラ２０にキャリブレーションの実行を指示する（Ｓ２４）。すると、ロボットコントローラ２０によりキャリブレーションが実行され、カメラ座標とロボット座標との相関が導出される。
【００４９】
カメラ４０の位置がずれてしまった場合等に再度行うキャリブレーションは、ロボットシステム１の場合と同様に、マーカ７０ｃの登録とカメラ移送ジョブのティーチングとを除く２工程（Ｓ２１，Ｓ２４）のみで行うことができる。
【００５０】
ロボットシステム１Ａにおけるキャリブレーションでは、カメラ４０が撮影位置３１，３２，３３にあるときのマーカ７０ｃのカメラ座標と、カメラ４０が撮影位置３１，３２，３３にあるときのロボットアーム１０の姿勢情報とに基づいて、カメラ座標とロボット座標との相関が導出される。これにより、マーカ７０ｃのロボット座標が未知の状態で、カメラ座標とロボット座標との相関が算出されるので、マーカ７０ｃのロボット座標を取得する工程が不要である。このため、ロボットシステム１の場合と同様に、カメラ座標とロボット座標との相関を容易且つ迅速に算出できる。
【００５１】
また、キャリブレーション装置Ｕ２としての機能はロボットコントローラ２０に組み込まれている。このため、カメラコントローラ５０にはキャリブレーション装置としての機能が不要であり、汎用的な画像処理装置をカメラコントローラ５０として採用可能である。更に、ＰＬＣ６０を介さずに、カメラコントローラ５０とロボットコントローラ２０とを直結するロボットシステムにも本実施形態の構成を適用可能である。
【００５２】
以上、本発明の好適な実施形態について説明してきたが、本発明は必ずしも上述した実施形態に限定されるものではなく、その要旨を逸脱しない範囲で様々な変更が可能である。例えば、キャリブレーション装置Ｕ１，Ｕ２としての機能は必ずしもロボットコントローラ２０に組み込まれていなくてよく、カメラコントローラ５０又はＰＬＣ６０に組み込まれていてもよい。また、ロボットコントローラ２０、カメラコントローラ５０及びＰＬＣ６０の全て又はいずれ２つが協働してキャリブレーション装置Ｕ１，Ｕ２を構成していてもよい。
【符号の説明】
【００５３】
１，１Ａ…ロボットシステム、１０…ロボットアーム、２２，２２Ａ…アーム制御部、２３，２３Ａ…カメラ座標取得部、２４，２４Ａ…姿勢情報取得部、２５，２５Ａ…相関導出部、３１，３２，３３…撮影位置、４０…カメラ、７０，７１…キャリブレーション治具、７０ｃ…マーカ、ＣＬ…光軸、ＦＳ…光軸に直交する平面、Ｕ１，Ｕ２…キャリブレーション装置。
【図１】
2014180720.tif 000003
【図２】
2014180720.tif 000004
【図３】
2014180720.tif 000005
【図４】
2014180720.tif 000006
【図５】
2014180720.tif 000007
【図６】
2014180720.tif 000008
【図７】
2014180720.tif 000009
【図８】
2014180720.tif 000010
【図９】
2014180720.tif 000011
【図１０】
2014180720.tif 000012
【図１１】
2014180720.tif 000013
【図１２】
2014180720.tif 000014
【図１３】
2014180720.tif 000015
【図１４】
2014180720.tif 000016