(57)【特許請求の範囲】
【請求項１】
校正開始指示を受け付ける指示受付部と、
基準点を示すマーカーが設けられたツールを装着可能であり、前記校正開始指示が受け付けられると、前記マーカーと、単一の焦点距離をもつ撮像部との位置関係を変化させるアームと、
を備え、
前記マーカーは、前記ツールの前記アームに対向する面に設けられ、
前記アームは、前記校正開始指示が受け付けられると、前記位置関係を予め決められた状態に変化させ、
前記撮像部と前記マーカーの位置関係が、前記撮像部が前記マーカーに合焦する状態にあるときに、前記撮像部によって前記マーカーが撮像された画像に基づいて、前記撮像部の座標系とロボットの座標系との校正が行われる、
ロボット。
【請求項２】
前記アームは、前記撮像部によって前記マーカーが撮像された画像に基づいて導出された目標値を取得し、前記目標値に基づいて前記位置関係を前記予め決められた状態に変化させる、
請求項１に記載のロボット。
【請求項３】
前記校正開始指示は、前記位置関係を前記予め決められた状態に変化させるための目標値を含まない、
請求項１または２に記載のロボット。
【請求項４】
前記アームは、前記校正開始指示が受け付けられると、前記撮像部によって前記マーカーが撮像された画像から切り出された部分画像に基づいて導出された目標値を取得し、前記目標値に基づいて前記位置関係を前記撮像部が前記マーカーに合焦する状態に変化させる、
請求項３に記載のロボット。
【請求項５】
前記アームは、３つ以上の前記基準点を含む平面と垂直な第一方向に前記撮像部と前記マーカーの位置関係を変化させた後に前記第一方向と逆向きの第二方向に前記撮像部と前記マーカーの位置関係を変化させることによって前記撮像部を前記マーカーに合焦させる、
請求項３または４に記載のロボット。
【請求項６】
前記予め決められた状態は、３つ以上の前記基準点を含む平面と、前記撮像部の光軸とが垂直な状態を含む、
請求項１から５のいずれか一項に記載のロボット。
【請求項７】
前記予め決められた状態は、前記撮像部の光軸が前記平面を通る位置が互いに異なる３つ以上の状態を含む、
請求項６に記載のロボット。
【請求項８】
前記撮像部は、重力方向において前記アームより上側から、前記アームを撮像可能に設けられる、
請求項１から７のいずれか一項に記載のロボット。
【請求項９】
前記撮像部は、重力方向において前記アームより下側から前記アームを撮像可能に設けられる、
請求項１から７のいずれか一項に記載のロボット。
【請求項１０】
校正開始指示を受け付ける指示受付部と、
前記校正開始指示が受け付けられると、基準点を示すマーカーと、単一の焦点距離をもつ撮像部との位置関係を変化させるアームと、
を備えるロボットと、
前記撮像部と前記マーカーの位置関係が変化した後、前記撮像部が前記マーカーに合焦する状態にあるときに、前記マーカーが前記撮像部によって撮像された画像に基づいて前記撮像部の座標系と前記ロボットの座標系との校正を行う校正装置と、を備え、
前記マーカーの位置が前記アームに対して固定されている場合、前記撮像部は前記アームが動く座標系において固定された点に設けられ、
前記マーカーの位置が、前記アームが動く座標系に対して固定されている場合、前記撮像部は前記アームに対して固定された点に設けられる、
ロボットシステム。
【請求項１１】
３つ以上の基準点を示すマーカーが設けられたツールを装着可能であり、前記マーカーと、単一の焦点距離をもつ撮像部との位置関係を、
前記３つ以上の基準点を含む平面と前記撮像部の光軸とが垂直な第一状態、
前記撮像部が前記３つ以上の基準点の少なくともいずれかを示す前記マーカーに合焦する第二状態、
前記撮像部の光軸が前記平面上の第一点を通る第三状態、
前記撮像部の光軸が前記平面上の第二点を通る第四状態、
前記撮像部の光軸が前記平面上の第三点を通る第五状態、
の順に自動で変化させるアームを備え、
前記マーカーは、前記ツールの前記アームに対向する面に設けられ、
前記第三状態、前記第四状態および前記第五状態において前記撮像部によって前記マーカーが撮像された画像に基づいて前記撮像部の座標系とロボットの座標系との校正が行われる、
ロボット。
【請求項１２】
前記アームは、前記撮像部によって前記マーカーが撮像された画像に基づいて導出される目標値を取得し、前記目標値に基づいて前記位置関係を自動で変化させる、
請求項１１に記載のロボット。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ロボットおよびロボットシステムに関する。
【背景技術】
【０００２】
従来、ロボットビジョンを用いてロボットを制御するにあたっては、ロボット座標系と撮像部の座標系とを校正する処理が必要になる。校正時には、ロボット設置空間内の基準点の位置をロボット座標系と撮像部の座標系のそれぞれで特定し、一方の座標系で表された基準点の位置を、他方の座標系で表された基準点の位置に変換するための行列式が求められる。特許文献１に記載された技術によると、３つの基準点を触るようにアームを動かすことによってロボット座標系で基準点を教示し、その後、アームによって所定位置に移動させた撮像部によって基準点を示すマーカーを撮像し、基準点を撮像部の座標系で検出することによって、校正が行われる。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平８−２１０８１６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
特許文献１に記載された技術によると、３つの基準点を触るようにアームをオペレーターが操作することによって基準点の位置を教示する必要がある。しかし、アームが基準点に触わるか触らないかの境界の状態を目視で特定しながら、アームを正確に操作することは容易ではない。すなわち特許文献１に記載された技術では、基準点の位置を正確に教示することは容易ではないという問題がある。そして、複数の基準点の位置を正確に教示しながら校正を行うとすれば、校正に要する所要時間が長引くという問題があり、校正対象のロボットが増えるほど、この問題は深刻になる。
【０００５】
本発明は、これらの問題を解決するために創作されたものであって、撮像部の座標系とロボットの座標系の校正を容易にすることを目的とする。
【課題を解決するための手段】
【０００６】
上記目的を達成するためのロボットは、校正開始指示を受け付ける指示受付部と、
基準点を示すマーカーが設けられたツールを装着可能であり、前記校正開始指示が受け付けられると、前記マーカーと撮像部との位置関係を変化させるアームと、を備え、前記マーカーは、前記ツールの前記アームに対向する面に設けられ、前記撮像部と前記マーカーの位置関係が変化した後に前記撮像部によって前記マーカーが撮像された画像に基づいて、前記撮像部の座標系とロボットの座標系との校正が行われる。
【０００７】
また上記目的を達成するためのロボットは、３つ以上の基準点を示すマーカーが設けられたツールを装着可能であり、前記マーカーと撮像部との位置関係を、前記３つ以上の基準点を含む平面と前記撮像部の光軸とが垂直な第一状態、前記撮像部が前記３つ以上の基準点の少なくともいずれかを示す前記マーカーに合焦する第二状態、前記撮像部の光軸が前記平面上の第一点を通る第三状態、前記撮像部の光軸が前記平面上の第二点を通る第四状態、前記撮像部の光軸が前記平面上の第三点を通る第五状態、の少なくともいずれかに自動で変化させるアームを備え、前記マーカーは、前記ツールの前記アームに対向する面に設けられ、前記第三状態、前記第四状態および前記第五状態において前記撮像部によって前記マーカーが撮像された画像に基づいて前記撮像部の座標系とロボットの座標系との校正が行われる。
【０００８】
これらの発明によると、撮像部とマーカーの位置関係を、撮像部の座標系とロボットの座標系とを校正するために必要な画像を撮像できる状態に、校正開始指示によって変化させることができる。したがって撮像部の座標系とロボットの座標系の校正が容易である。
【０００９】
ここで、校正開始指示は、撮像部の座標系とロボットの座標系とを校正するために必要な画像を撮像できる状態に撮像部とマーカーの位置関係を変化させる動作をアームに開始させるタイミングを特定する指示であれば良く、アームの位置または姿勢の変化量を特定する目標値を含まなくてもよい。またマーカーは、ロボット座標系の基準点を指し示すものであればよい。例えば、平板に記された点や円などの二次元図形をマーカーとして用いることができるし、三次元形状を有する物（例えばアームの先端部）をマーカーとして用いることもできる。そしてマーカーは、アームに設けられても良いし、ロボットが設置される空間に固定された物（例えば作業台）に設けられても良い。マーカーがアームに設けられる場合（アームがマーカーになる場合を含む）、撮像部はロボット座標系に固定される。ロボット座標系にマーカーが固定される場合、撮像部はアームに設けられる。
【００１０】
なお請求項に記載された各手段の機能は、構成自体で機能が特定されるハードウェア資源、プログラムにより機能が特定されるハードウェア資源、又はそれらの組み合わせにより実現される。また、これら各手段の機能は、各々が物理的に互いに独立したハードウェア資源で実現されるものに限定されない。
【図面の簡単な説明】
【００１１】
【図１】図１Ａは本発明の実施形態にかかる模式的な斜視図。図１Ｂは本発明の実施形態にかかるブロック図。
【図２】本発明の実施形態にかかる平面図。
【図３】本発明の実施形態にかかる模式的な斜視図。
【図４】本発明の実施形態にかかるフローチャート。
【図５】本発明の実施形態にかかるフローチャート。
【図６】本発明の実施形態にかかるフローチャート。
【図７】本発明の実施形態にかかる模式図。
【図８】本発明の実施形態にかかる画像を示す図。
【図９】本発明の実施形態にかかるフローチャート。
【図１０】本発明の実施形態にかかる模式的な斜視図。
【図１１】本発明の実施形態にかかるフローチャート。
【図１２】本発明の実施形態にかかる模式的な斜視図。
【図１３】本発明の実施形態にかかる模式的な平面図。
【図１４】本発明の実施形態にかかる模式図。
【図１５】本発明の実施形態にかかる模式図。
【図１６】本発明の実施形態にかかる模式的な斜視図。
【図１７】図１７Ａは本発明の実施形態にかかる平面図、図１７Ｂは本発明の実施形態にかかる側面図である。
【図１８】本発明の実施形態にかかるフローチャートである。
【図１９】図１９Ａおよび図１９Ｂは本発明の実施形態にかかる画像を示す平面図、図１９Ｃは本発明の実施形態にかかる座標図である。
【図２０】図２０Ａは本発明の実施形態にかかる説明図、図２０Ｂは本発明の実施形態にかかる座標図である。
【発明を実施するための形態】
【００１２】
以下、本発明の実施の形態を添付図面を参照しながら説明する。尚、各図において対応する構成要素には同一の符号が付され、重複する説明は省略される。
１．第一実施例
１−１．概要
本発明の第一実施例としてのロボットシステムは、図１に示すように、ロボット１と、撮像部２と、校正装置としてのＰＣ（Personal Computer）３とを備えている。
【００１３】
ロボット１は、６つの回転軸部材１２１、１２２、１２３、１２４、１２５、１２６をアームに備える６軸ロボットである。ワークを操作するための各種のツールが装着される回転軸部材１２６の先端の中心をツールセンターポイント（ＴＣＰ）という。ＴＣＰの位置と姿勢は各種のツールの位置と姿勢の基準となる。ロボット１を制御する際に用いられるロボット１の座標系は、それぞれが水平なｘ軸とｙ軸と、鉛直下向きを正方向とするｚ軸とによって定まる３次元の直交座標系である。またｚ軸周りの回転をｕ、ｙ軸周りの回転をｖ、ｘ軸周りの回転をｗで表す。ロボット座標系の長さの単位はミリメートル、角度の単位は度である。
【００１４】
撮像部２は、レンズ２０１の光軸に対して垂直な基準平面内におけるワークの大きさ、形状および位置を認識するための撮像部である。撮像部２の座標系は、撮像部２から出力される画像の座標系であって、画像の水平右向きを正方向とするＢ軸と、画像の垂直下向きを正方向とするＣ軸とによって定まる。撮像部２の座標系の長さの単位はピクセル、角度の単位は度である。撮像部２の座標系は、撮像部２の光軸に垂直な実空間内の平面の座標系が、レンズ２０１の光学特性（焦点距離、歪みなど）とエリアイメージセンサー２０２の画素数と大きさとに応じて非線形変換された２次元の直交座標系である。したがって、撮像部２が出力する画像に基づいてワークの大きさ、形状または位置を認識して、認識結果に基づいてロボット１を制御するためには、撮像部２の座標系をロボット１の座標系とを関係づける処理、すなわち校正が必要になる。
【００１５】
ＰＣ３はロボット１と撮像部２に接続されている。ＰＣ３には、ロボット１の座標系と撮像部２の座標系とを校正するための校正プログラムがインストールされている。オペレーターは、校正を実行するために校正プログラムを起動し、校正開始指示をＰＣ３に入力する。校正開始指示は、校正プログラムが校正処理を開始するための単なるトリガーであって、ロボット１を操作するための目標値を含んでいない。撮像部２の座標系を校正するためには、従来であれば、３つ以上の基準点を含む平面に対して撮像部２の光軸を正確に垂直な状態にセットしたり、ＴＣＰでタッチアップすることにより３つ以上の基準点を正確に教示したりといった緻密な準備が必要であった。そして、これらの準備が不正確である場合には校正が失敗することになり、オペレーターは校正の失敗を知ることによって、準備が不正確であったことを知る。したがって、従来は校正に多大な時間を要していた。
【００１６】
以下に説明する本発明の実施例によると、校正が行われていない状態でのロボットビジョン（撮像部２によって撮像される画像）を用いて校正の準備を自動で行う。自動で行われる校正の準備には、３つ以上の基準点を含む基準平面に対して撮像部２の光軸が垂直であって、撮像部２が基準平面に合焦している状態にする操作を含む。このため、基準点と撮像部との正確な位置関係が定まっていない状態で校正開始指示を入力するだけで、ロボット１の座標系と撮像部２の座標系とを、極めて容易に校正することができる。
【００１７】
１−２．構成
図１Ａに簡略化して示すように、ロボット１は、アーム１１１、１１２、１１３、１１４、１１５とからなるアーム１１と基台１１０とを備えている。基台１１０は、第一アーム１１１の回転軸部材１２１を支持している。基台１１０は図１に示すｘｙｚ座標系において動かない構成であれば良く、例えばアーム１１を直接支持する台座と台座が上部に固定されて床面に設置されるフレームとを有する構成としても良いし、作業台９と一体の構造物として構成しても良いし、作業台９やベルトコンベヤのフレームや他のロボットが設置されるセルと一体の構造物としても良い。第一アーム１１１は回転軸部材１２１の中心軸を中心にして回転軸部材１２１とともに基台１１０に対して回転する。第一アーム１１１は、第二アーム１１２の回転軸部材１２２を支持している。第二アーム１１２は、回転軸部材１２２の中心軸を中心にして回転軸部材１２２とともに第一アーム１１１に対して回転する。第二アーム１１２は、第三アーム１１３の回転軸部材１２３を支持している。第三アーム１１３は、回転軸部材１２３の中心軸を中心にして回転軸部材１２３とともに第二アーム１１２に対して回転する。第三アーム１１３は、第四アーム１１４の回転軸部材１２４を支持している。第四アーム１１４は、回転軸部材１２４の中心軸を中心にして回転軸部材１２４とともに第三アーム１１３に対して回転する。第四アーム１１４は、第五アーム１１５の回転軸部材１２５を支持している。第五アーム１１５は、回転軸部材１２５の中心軸を中心にして回転軸部材１２５とともに第四アーム１１４に対して回転する。第五アーム１１５は、回転軸部材１２６を支持している。マニピュレーターの先端にあたる回転軸部材１２６には図２にツールの取付面が示されているツールチャック１２６１が設けられている。ツールチャック１２６１にはワークを操作するための各種のツールが取り付けられる。図２に示すように、ツールチャック１２６１の取付面は、４分割されており、その中央部にツールの軸が挿入される。ツールチャック１２６１の取付面の中心がＴＣＰに相当する。
【００１８】
図１Ｂに示すように、ロボット１は、回転軸部材１２１を駆動するモーター１３１と、回転軸部材１２２を駆動するモーター１３２と、回転軸部材１２３を駆動するモーター１３３と、回転軸部材１２４を駆動するモーター１３４と、回転軸部材１２５を駆動するモーター１３５と、回転軸部材１２６を駆動するモーター１３６と、モーター１３１〜１３６を制御する制御部１４とを備えている。モーター１３１〜１３６は、アーム１１１〜１１５の構成要素である。モーター１３１〜１３６は、目標値と現在値との差分がゼロになるようにフィードバック制御されるサーボモーターである。制御部１４は、ＴＣＰの位置と姿勢を示す目標値をＰＣ３から取得し、ＴＣＰの位置と姿勢を示す目標値に基づいてモーター１３１〜１３６の目標値を導出する。
【００１９】
撮像部２は、レンズ２０１、エリアイメージセンサー２０２、図示しないＡＤ変換器等を備えるデジタル撮像部である。本実施例において撮像部２は、ロボット１を制御する際に用いられる図１に示すｘｙｚ座標系において固定された点に設けられる。すなわち本実施例においては、撮像部２はアーム１１が動く座標系において固定された点に設けられる。具体的には撮像部２は、図１Ａに示すように、ワークが載置されるテーブル９上の所定位置に、鉛直上向きに撮像できるように設けられる。なお、アーム１１が動く座標系において固定された点に撮像部２が設けられる限りにおいて、本実施例で説明する自動校正を実施することができる。例えば撮像部２は、ロボット１が設置される部屋の壁や天井や床に固定しても良いし、ロボット１の基台１１０に固定しても良いし、ロボット１が固定されるセルのフレームに固定しても良い。また、本実施例で校正されるロボットビジョンは、予め決められた基準平面を対象とする二次元のロボットビジョンである。このため、レンズ２０１には、被写界深度が浅く（焦点距離が短く）Ｆ値が小さな単焦点レンズを用いることが好ましい。
【００２０】
ＰＣ３は、図示しないプロセッサ、ＤＲＡＭからなる図示しない主記憶、図示しない入出力機構、不揮発性メモリからなる図示しない外部記憶、ディスプレイ、指示受付部３０として機能するキーボード等を備えるコンピューターである。ＰＣ３は、外部記憶に記憶された校正プログラムをプロセッサで実行することにより、指示受付部３０、画像取得部３１、目標値導出部３２、出力部３３、校正部３４として機能する。
【００２１】
画像取得部３１は、撮像部２に対して撮像を指示し、指示に応じて基準点を示すマーカーが撮像された画像を撮像部２から取得する。本実施例で用いる基準点は、図３に示すように任意の位置と姿勢の回転軸部材１２６に垂直な平面上の９つの格子点Ｐ１、Ｐ２、Ｐ３、Ｐ４、Ｐ５、Ｐ６、Ｐ７、Ｐ８、Ｐ９である。本実施例では任意の位置と姿勢の回転軸部材１２６に対して定まる基準点Ｐ１〜Ｐ９を含む平面を基準平面という。基準点Ｐ１〜Ｐ９同士の相対的な位置関係はロボット座標系で固定されているが、基準点Ｐ１〜Ｐ９は、自動校正実行中に回転軸部材１２６が動くことにより撮像部２の固定された視野内で動く。すなわち、校正の過程では、回転軸部材１２６の位置と姿勢（ｘ、ｙ、ｚ、ｕ、ｖ、ｗ）に応じて基準平面を定めるＸ軸とＹ軸が定められ、基準点の座標はＸ軸座標とＹ軸座標とで定められる。Ｘ軸とＹ軸は回転軸部材１２６の中心軸に対して垂直でかつ互いに垂直であり、基準平面を定めるときのＴＣＰを基準平面の原点とする。そして、最終的に校正された時点での基準平面がロボットビジョンの対象となる。なお、基準平面は回転軸部材１２６に固定された座標系であるため、基準平面の座標系とロボット座標系の関係は線形である。本実施例では、基準点Ｐ１〜Ｐ９を示すマーカーとして、図２に示すツールチャック１２６１の取付面が用いられる。
【００２２】
目標値導出部３２は、ツールチャック１２６１の取付面のテンプレートを保持している。ツールチャック１２６１の取付面のテンプレートは撮像部２から取得する画像を解析して基準点の座標を撮像部２の座標系で検出するために用いられる。目標値導出部３２は、撮像部２と基準点Ｐ１〜Ｐ９の位置関係を予め決められた状態に変化させるための目標値を、撮像部２が撮像した画像に基づいて導出する。具体的には、目標値導出部３２は、撮像部２が撮像した画像に基づいて、予め決められた状態に対応する基準点Ｐ１〜Ｐ９の位置と姿勢をＴＣＰの目標値として導出する。ここでいう予め決められた状態とは、以下の状態である。
・垂直状態：基準平面と撮像部２の光軸が垂直な状態
・合焦状態：基準平面に撮像部２が合焦する状態
【００２３】
垂直状態には、基準平面に合焦していない状態で撮像された画像に基づいて導出される目標値によって定まる低精度垂直状態と、後述する「傾き指標」の閾値によって定まる高精度垂直状態が含まれる。合焦状態は、合焦の指標である画像のシャープネスによって定まる。なお、本実施例では、画像の予め決められた領域（部分画像）のシャープネスが最大になる状態を合焦状態とするが、合焦の指標に閾値を設けることにより合焦状態に何らかの幅を持たせても良い。
【００２４】
出力部３３は、目標値導出部３２によって導出された目標値をロボット１の制御部１４に出力することにより、撮像部２と基準点Ｐ１〜Ｐ９の位置関係を垂直状態、合焦状態に変化させる。
【００２５】
１−３．自動校正
１−３−１．全体の流れ
次に上述したロボットシステムを用いた自動校正の全体の流れについて図４を参照しながら説明する。
【００２６】
ロボットシステムによる自動校正は、オペレーターが校正開始指示をＰＣ３に入力することによって起動し、それ以後、オペレーターに一切の操作を要求することなく完了する。校正開始指示を入力する前にオペレーターに求められるのは、ロボットシステムの環境情報をＰＣ３に入力する操作と、所謂ジョグ送りによってマニピュレーター先端の回転軸部材１２６を撮像部２の光軸が凡そ通る状態にＴＣＰを移動させることだけである。すなわち、校正開始指示を入力する前にオペレーターに緻密な操作は何ら必要とされない。環境情報には、エリアイメージセンサー２０２の画素数とサイズとレンズ２０１の焦点距離とが含まれる。また、本実施例ではツールチャック１２６１の取付面自体を基準点を示すマーカーとして用いるが、基準点を示すマーカーが表された板などをツールチャック１２６１に装着する場合には、ＴＣＰに対するマーカーの相対位置や姿勢を入力する必要がある。
【００２７】
校正開始指示がＰＣ３に入力されると（ステップＳ１）、ＰＣ３は低精度傾き補正を実行する（ステップＳ２）。低精度傾き補正では、校正開始指示が入力された時点でのＴＣＰの位置と姿勢に対応する基準平面が設定される。続いて、設定された基準平面上の９つの基準点にＴＣＰが位置する状態で撮像部２による撮像が行われ、９つの基準点を示すＴＣＰの位置が撮像部２の座標系で検出される。そして、検出結果に基づいて基準平面と撮像部２の光軸を垂直な状態（垂直状態）にするための目標値が導出される。導出された目標値がロボット１に入力されて、目標値に基づいてアーム１１１〜１１５が動くと基準平面と撮像部２の光軸が凡そ垂直な低精度垂直状態になる。
【００２８】
次にＰＣ３は、焦点調整を実行する（ステップＳ３）。焦点調整では、低精度垂直状態の基準平面に対して垂直な方向にＴＣＰを移動させながら撮像部２による撮像が行われ、画像に写るツールチャック１２６１のシャープネスが最大になる合焦状態が探索される。続いて探索結果に基づいて合焦状態にするための目標値が導出される。導出された目標値がロボット１に入力されて、アーム１１１〜１１５が目標値に基づいて動くと合焦状態になる。
【００２９】
次にＰＣ３は、高精度傾き補正を実行する（ステップＳ４）。高精度傾き補正では、低精度垂直状態でかつ合焦状態の基準平面を微小な角度ずつ傾けながら、撮像部２による撮像が行われる。同一基準平面内の複数の基準点を示すマーカーとしてのツールチャック１２６１が撮像された複数の画像に基づいて基準平面の傾き指標が導出される。基準平面の傾き指標は、撮像部２の光軸と基準平面がなす角度と９０度の差と正の相関を持つ値である。導出された傾き指標に基づいて、垂直状態にするための目標値が導出される。導出された目標値がロボット１に入力されて、目標値に基づいてアーム１１１〜１１５が動くと高精度垂直状態になる。
【００３０】
次にＰＣ３は、９点校正を実行する（ステップＳ５）。９点校正では、高精度垂直状態の基準平面に属する９つの基準点の基準平面の座標系の座標と撮像部２の座標系の座標とに基づいて、ロボット座標系と撮像部２の座標系を校正する最終的な変換式が導出される。
【００３１】
以上、概要を述べたように、校正装置としてのＰＣ３は、低精度傾き補正、焦点調整、高精度傾き補正を順次することにより、基準平面が撮像部２の光軸に対して垂直で、基準平面に対して撮像部２が合焦した状態になるように自動でロボット１を制御してロボットビジョンの対象となる基準平面を設定した後に、設定された基準平面について９点校正を実行する。
【００３２】
１−３−２．低精度傾き補正
次に図５を参照しながら低精度傾き補正の詳細を説明する。
まず、目標値導出部３２は、基準平面を設定し、設定した基準平面に属する９つの基準点にマーカーとしてのＴＣＰを移動させるための目標値を導出する。続いて、出力部３３がロボット１の制御部１４に目標値を出力し、各基準点にＴＣＰが位置する状態で撮像された９つの画像を画像取得部３１が撮像部２から取得する（ステップＳ２１）。ＴＣＰの移動先である基準点は、校正開始指示が入力された時点でのツールチャック１２６１の位置と姿勢（ＴＣＰの位置と姿勢）に基づいて導出される。具体的には例えば、中央の基準点Ｐ５を校正開始指示が入力された時点でのＴＣＰの位置に設定し、校正開始指示が入力された時点での回転軸部材１２６と垂直な平面を基準平面としてその他の基準点を導出する。出力部３３は、このようにして導出された９つの基準点のロボット座標系での座標を制御部１４に目標値として出力する。
【００３３】
ここで撮像部２によって撮像される９つの画像について図７、図８を用いて説明する。図７は、撮像部２に対する基準平面Ｆ（ｎ）の位置と姿勢を模式的に示している。Ｆ（０）はステップＳ２１で撮像される基準平面である。９つの基準点Ｐ１〜Ｐ９にマーカーとしてのＴＣＰを移動させる毎に撮像すると、撮像部２から取得する各画像におけるツールチャック１２６１の位置は、基準点Ｐ１〜Ｐ９の位置に応じて異なることになる。９つの画像のそれぞれに表れるツールチャック１２６１を１つの画像にまとめて表すと、例えば図８（Ａ）に示すようにツールチャック１２６１は非格子点に表れる。なお、図８において合焦の程度は反映されていない。ロボット座標系で同一平面内に設定された各基準点をマーカーが示すようにロボットを動かして、それぞれの基準点におけるマーカーをロボット座標系において固定された撮像部で撮像したｎ個の画像から得られる基準点の情報は、ｎ個の基準点を示すマーカーが付されている板をロボットで特定の位置と姿勢に保持し、その状態で板に付されたマーカーを撮像した１つの画像から得られる基準点の情報と凡そ同じである。前者の情報には、厳密なロボット座標系と撮像部の座標系の対応関係が反映され、後者の情報には、ロボット座標系とマーカーが付された板の座標系を合成した座標系と撮像部の座標系の対応関係が反映される。ロボット座標系とマーカーが付された板の座標系が線形な関係にあるとは限らないため、厳密にロボット座標系と撮像部の座標系を校正するには、前者の情報を用いることが好ましい。
【００３４】
続いて目標値導出部３２は、各基準点にＴＣＰが位置する状態で撮像された９つの画像を解析し、各画像におけるツールチャック１２６１の取付面の中心位置を検出する（ステップＳ２２）。すなわち、目標値導出部３２は、撮像部２の座標系で９つの基準点の位置を検出する。
【００３５】
続いて目標値導出部３２は、基準平面の座標系での基準点の座標と、撮像部２の座標系での基準点の座標とに基づいて、撮像部２の座標系とロボット座標系の対応関係を導出する（ステップＳ２３）。具体的には、撮像部２の座標系をロボット座標系に変換するための変換行列を導出する。このような変換行列を求めることは、ステップＳ２１で設定した基準平面について撮像部２の座標系とロボット座標系とを校正することに他ならない。ただし、ここで導出される変換行列は、撮像部２が基準点Ｐ１〜Ｐ９に合焦していない状態で撮像された画像に基づいて導出されるものであるから、撮像部２の光軸に対する基準平面の姿勢や基準点Ｐ１〜Ｐ９の位置に正確に対応したものではない。
【００３６】
続いて目標値導出部３２は、ステップＳ２３で導出した変換行列に基づいて、撮像部２の光軸に対して基準平面が垂直になり、かつ、撮像部２の光軸が中央の基準点Ｐ５を通る位置と姿勢に基準平面を動かすための目標値を導出する。導出された目標値は、出力部３３によってロボット１の制御部１４に出力される（ステップＳ２４）。入力された目標値に応じてアーム１１１〜１１５が動くことにより、基準平面は、撮像部２の光軸に対して凡そ垂直になり、かつ、撮像部２の光軸が中央の基準点Ｐ５を凡そ通る位置と姿勢になる。すなわち、低精度傾き補正を実行して終了すると、撮像部２と基準点Ｐ１〜Ｐ９の位置関係は低精度垂直状態になる。
【００３７】
１−３−３．焦点調整
次に図６を参照しながら焦点調整の詳細を説明する。
はじめに目標値導出部３２は現在のＴＣＰの位置と姿勢を保存する（ステップＳ３１）。すなわち、図７に示すように低精度傾き補正が終了した時点における基準平面Ｆ（１）に対応するＴＣＰの位置と姿勢が保存される。
【００３８】
次に、目標値導出部３２は、低精度傾き補正時に導出した基準平面の座標系での基準点の座標と、撮像部２の座標系での基準点の座標とに基づいて、焦点調整時に取得する画像内にツールチャック１２６１が写る領域と、撮像部２からツールチャック１２６１までの距離とを導出する（ステップＳ３２）。
【００３９】
続いて画像取得部３１は撮像部２から画像を取得する（ステップＳ３３）。このとき、画像取得部３１は、ステップＳ３２で導出された領域にツールチャック１２６１が写っている画像を取得することになる。
【００４０】
続いて目標値導出部３２は、撮像部２から取得した画像に基づいて撮像部２の合焦指標を導出する（ステップＳ３４）。合焦指標としては、ツールチャック１２６１が写る領域の微分積算値（シャープネス）を一定面積で標準化した値を用いることができる。合焦指標を導出する対象領域は、図８Ｂの点線で囲んだ領域のようにツールチャック１２６１が画像に写る領域に設定される。すなわち、撮像部２によってマーカーとしてのツールチャック１２６１が撮像された画像から切り出された部分画像に基づいて合焦指標が導出される。
【００４１】
続いて目標値導出部３２は、焦点調整において撮像部２が撮像した回数が規定回数に達したか否かを判定する（ステップＳ３５）。
【００４２】
焦点調整において撮像部２が撮像した回数が規定回数に達していない場合、目標値導出部３２は基準平面に対して垂直で撮像部２に接近する方向に所定距離だけＴＣＰを移動させ（ステップＳ３６）、ステップＳ３３から処理が繰り返される。すなわち、撮像回数が規定回数に達するまで、基準平面はロボット１のＴＣＰとともに図７に示すようにＦ（２）、Ｆ（３）、Ｆ（４）、・・・と移動し、各基準平面について撮像部２による撮像が行われ、撮像された画像毎に合焦指標が導出される。ツールチャック１２６１が撮像部２に接近するほど、ツールチャック１２６１が写る領域は大きくなり、やがてツールチャック１２６１は図８Ｃに示すように画像に収まらなくなる。そこで合焦指標を導出する対象領域は、ツールチャック１２６１が撮像部２に接近するほど大きく設定され、ツールチャック１２６１が写る領域が画像の端辺に接した後に画像全体になる。このようにして設定される領域について合焦指標が導出されると、合焦指標がシャープネスであれば、通常は、徐々に大きくなった後に徐々に小さくなる。
【００４３】
焦点調整において撮像部２が撮像した回数が規定回数に達すると、目標値導出部３２は、合焦状態にするための目標値を合焦指標に基づいて導出し、出力部３３は導出された目標値をロボット１に出力する（ステップＳ３６）。具体的には例えば、ステップＳ３４で導出される複数の合焦指標のうち最大の合焦指標が得られた位置にＴＣＰを移動させるための目標値が導出される。導出された目標値がロボット１に出力されると、基準平面は撮像部２に対して合焦状態になる。通常は、図７において基準平面がＦ（７）からＦ（５）に動くように、基準平面に対して垂直で撮像部２から離れる方向にＴＣＰが移動するようにアーム１１１〜１１５が動くことによって合焦状態になる。
【００４４】
以上述べたように、焦点調整では、基準平面と垂直で撮像部２に接近する第一方向に基準点を接近させた後に、マーカーとしてのツールチャック１２６１が撮像された画像から切り出された部分画像に基づいて合焦状態にするための目標値が導出される。導出された目標値に基づいて、アーム１１１〜１１５が基準点と撮像部２との位置関係を合焦状態に変化させる。ここで焦点調整は低精度垂直状態で行われるため、基準平面と撮像部２の光軸が垂直である。したがって、基準平面と垂直方向に基準点を移動させることは、撮像部２の光軸と平行な方向に撮像部２と基準点の位置関係を変化させることと凡そ同じである。
【００４５】
１−３−４．高精度傾き補正
次に高精度傾き補正について図９を参照しながら詳細に説明する。
はじめに目標値導出部３２は、現在の傾き指標Ｈ１を導出する（ステップＳ４０１）。傾き指標は、同一の基準平面に属する中央の基準点Ｐ５とその近傍の４つの基準点Ｐ２、Ｐ４、Ｐ６、Ｐ８の基準平面の座標系の座標と撮像部２の座標系の座標とを用いて導出される。基準平面が撮像部２の光軸に垂直であって、中央の基準点Ｐ５を撮像部２の光軸が通る状態で撮像部によって撮像される画像において（図８Ｄ参照）、ツールチャック１２６１が示す各基準点の間隔ｄ１、ｄ２、ｄ３、ｄ４は等しくなる。そしてこのとき、基準点Ｐｎの座標をｐ（ｎ）で表すとすれば、次式が成立する。
【００４６】
ｕ１＝ｕ２
ｖ１＝ｖ２
ただし、
ｕ１＝ｐ（５）−ｐ（４）
ｕ２＝ｐ（６）−ｐ（５）
ｖ１＝ｐ（５）−ｐ（２）
ｖ２＝ｐ（８）−ｐ（５）
【００４７】
そして、垂直状態から基準点Ｐ２と基準点Ｐ８を結ぶ直線を軸に基準平面が回転すると、回転角度に応じてｖ１とｖ２の差が大きくなる。また垂直状態から基準点Ｐ４と基準点Ｐ６を結ぶ直線を軸に基準平面が回転すると、回転角度に応じてｕ１とｕ２の差が大きくなる。したがって、傾き指標として次式のＨｘ、Ｈｙを用いることができる。
Ｈｘ＝｜ｕ１−ｕ２｜
Ｈｙ＝｜ｖ１−ｖ２｜
【００４８】
次に目標値導出部３２は、導出した傾き指標Ｈｘ、Ｈｙを予め決めた閾値と比較し、傾き指標Ｈｘ、Ｈｙが予め決められた閾値以下であるか否かを判定する（ステップＳ４０２）。傾き指標Ｈｘ、Ｈｙが予め決められた閾値以下である場合、高精度傾き補正は成功して終了する。
【００４９】
傾き指標Ｈｘ、Ｈｙが予め決められた閾値以下でない場合、目標値導出部３２は、後述するステップＳ４１１の傾き補正の実施回数が予め決められた閾値未満であるか否かを判定する（ステップＳ４０３）。傾き補正の実施回数が予め決められた閾値未満でない場合、高精度傾き補正は失敗して終了する。高精度傾き補正が失敗して終了する場合、自動校正を終了しても良いし、低精度傾き補正から自動校正をやり直しても良い。
【００５０】
傾き補正の実施回数が予め決められた閾値未満である場合、目標値導出部３２は現在のＴＣＰの姿勢を姿勢（１）として保存する（ステップＳ４０４）。
【００５１】
次に目標値導出部３２は基準平面をＹ軸まわりにδ度回転させるための目標値を導出し、出力部３３は導出された目標値をロボットに出力する（ステップＳ４０５）。δは、高精度垂直状態に許容される誤差に応じて予め決められる微小な角度である。続いて目標値導出部３２は、目標値に応じてＴＣＰとともに回転した基準平面について新たな基準点を設定し、新たな各基準点にＴＣＰが位置する状態で撮像された画像を解析することにより、傾き指標Ｈ２を導出する（ステップＳ４０６）。具体的には、目標値導出部３２は回転後の新たな基準平面に属する基準点Ｐ２、Ｐ４、Ｐ５、Ｐ６、Ｐ８にＴＣＰを移動させるための目標値を導出し、出力部３３は導出された目標値をロボット１に出力し、画像取得部３１は各基準点にＴＣＰが位置する状態で撮像された画像を撮像部２から取得する。目標値導出部３２は、このように取得された画像をステップＳ４０１と同様に解析することにより、傾き指標Ｈ２を導出する。その結果、姿勢（１）に対応する基準平面からＹ軸まわりにδ度回転した基準平面について傾き指標Ｈ２が導出される。続いて出力部３３は、姿勢（１）にＴＣＰを復帰させるための目標値をロボット１に出力する（ステップＳ４０７）。
【００５２】
次に目標値導出部３２は、基準平面をＸ軸まわりにδ度回転させるための目標値を導出し、出力部３３は導出された目標値をロボットに出力する（ステップＳ４０８）。続いて目標値導出部３２は、目標値に応じてＴＣＰとともに回転した基準平面について新たな基準点を設定し、新たな各基準点にＴＣＰが位置する状態で撮像された画像を解析することにより、傾き指標Ｈ３を導出する（ステップＳ４０９）。その結果、姿勢（１）に対応する基準平面からＸ軸まわりにδ度回転した基準平面について傾き指標Ｈ３が導出される。
【００５３】
次に目標値導出部３２は、傾き指標Ｈ１、Ｈ２、Ｈ３に基づいて傾き補正量ΔＶ、ΔＷを導出する（ステップＳ４１０）。傾き補正量ΔＶ、ΔＷは、次式によって導出される。
【００５４】
【数１】
0006507792.tif 000002
【００５５】
次に目標値導出部３２は導出された傾き補正量ΔＶ、ΔＷに基づいて目標値を導出し、導出された目標値を出力部３３がロボットに出力する（ステップＳ４１１）。その結果、アーム１１１〜１１５が動くことによりＸ軸まわりにΔＶ、Ｙ軸周りにΔＷだけ基準平面が回転する。
【００５６】
高精度傾き補正では、以上述べたステップＳ４０１からＳ４１１までの処理を、ステップＳ４０２で肯定判定がなされて高精度垂直状態になって終了するか、ステップＳ４０３で否定判定がなされるまで繰り返される。
【００５７】
１−３−５．９点校正
次に９点校正について説明する。高精度傾き補正が成功した状態では、基準平面は撮像部２の光軸に対して正確に垂直になっている。このことは、高精度傾き補正が完了するまでに得られる基準点の座標に基づいて、ロボット座標系と撮像部２の座標系が基準平面においては回転成分と拡大縮小成分について校正できることを意味する。９点校正では、基準平面上の任意の点について、レンズ２０１の歪みも加味して、正確にロボット座標系と撮像部２の座標系とを校正する。すなわち、９点校正では、ロボット座標系と撮像部２の座標系との線形の関係性を非線形に補正するためのパラメーターが、ロボット座標系の９つの基準点の座標と撮像部２の座標系の９つの基準点の座標とを用いて導出される。具体的には、出力部３３は、９つの基準点にＴＣＰを移動させるための目標値をロボット１に出力してアーム１１１〜１１５を動かし、画像取得部３１は各基準点に位置するツールチャック１２６１を撮像した９つの画像を取得する。校正部３４は、各画像を解析してツールチャック１２６１が示す基準点を検出する。続いて校正部３４は、出力部３３がロボット１に出力した目標値の座標と、画像を解析して取得した基準点の座標とに基づいて、最終的な校正のための補正パラメーターを導出する。なお、このような非線形補正に用いるパラメーターを導出するために用いる基準点の数が多いほど校正の精度は高くなる。
【００５８】
１−４．変形例
なお、撮像部２の位置と姿勢がロボット座標系において固定されていれば、上述した方法で撮像部２の座標系とロボット座標系とを校正することができることはいうまでもない。すなわち、アーム１１が動く座標系において固定された点に撮像部２が設けられる限りにおいて、第一実施例で説明した自動校正を実施することができる。例えば、撮像部２を室内の壁に、光軸が水平になるように固定して、垂直な基準平面を設定しても良い。また例えば、撮像部２を室内の天井に、鉛直下向きに固定して、水平な基準平面を設定しても良い。また例えば、ロボット１が設置される部屋の床に撮像部２を固定しても良いし、ロボット１の基台１１０に撮像部２を固定しても良いし、ロボット１が固定されるセルのフレームに撮像部２を固定しても良いし、ロボット１に併設されるベルトコンベヤなどの装置に撮像部２を固定しても良い。ベルトコンベヤなどの外部装置に撮像部２を固定すれば、ロボット１と外部装置とを協働させて作動させるためにロボット１と外部装置との位置合わせをすることが容易になる。
そしてアーム１１が動く座標系において固定された点に撮像部２が設けられる場合には、第一実施例で説明したようにロボット１を制御するためのｘｙｚ座標系の特定点にアーム１１によってマーカーを位置づけて自動校正が実施される。なおこの場合、マーカーをアーム１１のどの部分に固定してもよい。例えば上記実施例ではＴＣＰをマーカーとして用いたが、第一アーム１１１、第二アーム１１２、第三アーム１１３、第四アーム１１４、第五アーム１１５のいずれにマーカーを固定しても良い。
【００５９】
２．第二実施例
第二実施例では、撮像部２２をロボット１の可動部であるアーム１１に装着したロボットシステムについて説明する。本実施例では、図１０に示すように撮像部２２の光軸が回転軸部材１２６と平行になるように撮像部２２がアーム１１１にステー等で固定されているものとする。第一実施例ではロボット座標系に固定された撮像部２のロボットビジョンを校正するために基準点をロボット座標系で動かしながら校正対象となる基準平面を設定した。これに対して第二実施例では校正対象となる基準平面がロボット座標系に対してはじめから固定されているため、校正対象となる基準平面に対して光軸が垂直な状態になるように撮像部２２をロボット１で動かした状態で校正が実行される。
【００６０】
以下、撮像部２２をロボット１の可動部に装着したロボットシステムの自動校正について図１１を参照しながら説明する。
本実施例の自動校正は、撮像部２２の光軸が回転軸部材１２６と凡そ平行になっていることを前提として実施される。校正開始指示を入力する前の準備段階でアーム１１５に対する撮像部２２の撮像位置と撮像姿勢を環境情報として設定する必要がある。撮像位置は撮像部２２の光軸とエリアイメージセンサー２０２が交わる位置とする。撮像姿勢は光軸の姿勢とする。ただし、環境情報として設定される撮像部２２のアーム１１５に対する撮像位置と撮像姿勢が、自動校正を開始する時点で、撮像部２２のアーム１１５への取り付け状態と厳密に対応している必要はない。
【００６１】
また本実施例の自動校正は、図１２に示すようにロボット座標系に対して固定された９つの基準点Ｐ２１〜Ｐ２９について実施される。基準点Ｐ２１〜Ｐ２９は任意に設定可能な１つの基準平面に含まれる格子点である。そこで準備段階において、図１３に示すマーカー４１〜４９が付されたマーカーボード４が図１０に示すようにテーブル９に固定される。マーカーボード４は、円形の輪郭を有する９つのマーカー４１〜４９が平坦な面の所定の格子点に付された板である。マーカーボード４上の各マーカー４１〜４９の中心位置はマーカーボード４に固定された２次元の座標系（マーカー座標系）で目標値導出部３２が保持する。各マーカー４１〜４９の中心が基準点Ｐ２１〜Ｐ２９として定義される。なお、マーカーはマーカーが撮像された画像からマーカーを検出することにより基準点を特定可能な形態であればよい。すなわち、特定の点の位置をマーカーの図形に対して幾何学的に定義できる形態であればよい。マーカーから離れた点が基準点として定義されてもよいし、１つのマーカーから複数の基準点が定義されても良いし、互いに離れた複数のマーカーで１つの基準点が定義されても良い。
【００６２】
指示受付部３０が校正開始指示を受け付けると（ステップＳ１）、低精度傾き補正が実行される（ステップＳ２）。マーカーボード４に付されたマーカー４１〜４９が９つの基準点を示すため、本実施例の低精度傾き補正では基準点毎にロボット１を動かす必要はない。マーカーボード４の全体を撮像部２２で撮像可能な状態で校正開始指示を受け付けると、画像取得部３１は９つのマーカー４１〜４９が写った１つの画像を撮像部２２から取得する。目標値導出部３２は、取得した１つの画像を解析してマーカー４１〜４９が示す９つの基準点を撮像部２２の座標系で検出する。続いて目標値導出部３２は、基準点の撮像部２２の座標系の座標と、環境情報として入力されている撮像部２２の撮像位置と撮像姿勢と、マーカー４１〜４９のマーカー座標系の座標とに基づいて、撮像部２２の座標系とロボット座標系の対応関係を導出する。具体的にはマーカー４１〜４９が位置する基準平面について撮像部２２の座標系をロボット座標系に変換するための変換行列を導出する。ただし、ここで導出される変換行列は、撮像部２２がマーカー４１〜４９に合焦していない状態で撮像された画像に基づいて導出されるものであるから、基準点Ｐ２１〜Ｐ２９に対する撮像部２２の撮像姿勢や撮像位置に正確に対応したものではない。続いて目標値導出部３２は、導出した変換行列に基づいて、マーカーボード４に対して撮像部２２の光軸が垂直になり、かつ、撮像部２２の光軸が中央のマーカー４５の中心を通る位置と姿勢にアーム１１５を動かすための目標値を導出し、導出した目標値を出力部３３を介してロボット１の制御部１４に出力する。入力された目標値に応じてアーム１１１〜１１５が動くことにより、撮像部２２の光軸はマーカーボード４に対して凡そ垂直になり、かつ、撮像部２２の光軸が中央のマーカー４５の凡そ中心を通るようになる。すなわち、低精度傾き補正を実行して終了すると、撮像部２２と基準平面の位置関係は低精度垂直状態になる。
【００６３】
次に焦点調整が実行される（ステップＳ３）。本実施例の焦点調整は、ツールチャック１２６１が写る領域のシャープネスが最大になるようにＴＣＰを動かす代わりに、マーカーボード４の中央のマーカー４５が写る領域のシャープネスが最大になるようにアーム１１５を動かす点を除けば、第一実施例の焦点調整と同一である。焦点調整が終了すると、撮像部２２と基準点Ｐ２５の位置関係は合焦状態になる。
【００６４】
次に撮像部姿勢補正が実行される（ステップＳ６）。撮像部姿勢補正は、環境情報として設定されている撮像部２２の撮像姿勢と実際の撮像部２２の撮像姿勢とのずれを、環境情報を補正することにより、補正する処理である。詳細については後述する。
【００６５】
次に高精度傾き補正が実行される（ステップＳ５）。高精度傾き補正は、第一実施例の高精度傾き補正と次の点を除いて同一である。第一実施例で用いた５つの基準点のうちの中央の基準点Ｐ５を現在の撮像部２２の撮像位置とする。また第一実施例で用いた５つの基準点の残りの４つの基準点Ｐ２、Ｐ４、Ｐ６、Ｐ８を、撮像部２２の撮像位置として、撮像部２２の光軸と垂直で現在の撮像位置を含む平面上に、現在の撮像部２２の撮像位置を中心とする９０度間隔に設定する。これらの５つの撮像位置の設定には、ステップＳ６で補正された環境情報である撮像部２２の撮像位置と撮像姿勢と、現在のアーム１１５の位置と姿勢とが用いられる。画像取得部３１は、このように設定した５つの撮像位置にあって光軸が５つの撮像位置を含む平面に垂直な撮像部２２でマーカーボード４を撮像し、５つの画像を取得する。目標値導出部３２は、５つの画像を解析してマーカーボード４の中央のマーカー４５の中心を撮像部２２の座標系で検出する。このようにして検出するマーカー４５の５つの中心座標を第一実施例の高精度補正において検出した５つの基準点の座標の代わりに用いて第一実施例と同様の高精度傾き補正を実行する。このような高精度傾き補正を実行することにより、撮像部２２の光軸がマーカーボード４と垂直で、かつ、撮像部２２の光軸がマーカー４５の中心を通る状態に対応する目標値が導出される。導出された目標値がロボット１に入力されると、入力された目標値に基づいてアーム１１１〜１１５が動き、撮像部２２の光軸がマーカー４５の中心を通りマーカーボード４に対して垂直になる。すなわち、高精度傾き補正が成功して終了すると、基準点Ｐ２１〜２９と撮像部２２の位置関係は高精度垂直状態になる。
【００６６】
ここでステップＳ４の撮像部姿勢補正について詳細に説明する。例えば前述した撮像位置Ｐ２、Ｐ５、Ｐ８において撮像部２２の光軸が図１４の点線に相当する撮像位置と撮像姿勢が環境情報として設定されているとする。そして実際には、撮像位置Ｐ２、Ｐ５、Ｐ８において光軸が基準平面Ｆに対して垂直でない実線Ａ２、Ａ５、Ａ８に相当するように撮像部２２がアーム１１５に取り付けられているとする。この場合、撮像位置Ｐ２、Ｐ５、Ｐ８に撮像部２２を位置づけてマーカーボード４を撮像することによって高精度傾き補正が実行されるとする。この場合、高精度傾き補正で導出された目標値に基づいてアーム１１１〜１１５が動作しても、撮像部２２の光軸はマーカーボード４に対して垂直にならない。高精度傾き補正は、「現実の撮像部２２の光軸」に対して垂直な平面上にある５つの撮像位置から撮像部２２で中央のマーカー４５が５回撮像されることを前提としているのに対し、「誤差のある環境情報に対応する光軸」に対して垂直な平面上にある５つの撮像位置から撮像部２２で撮像された５つの画像に基づいて傾き指標が導出されるからである。したがって、「現実の撮像部２２の光軸」と「環境情報に対応する光軸」とを一致させる補正を高精度補正前に実行する必要がある。高精度補正前に必要なこの補正が撮像部姿勢補正である。
【００６７】
撮像部姿勢補正では、前述した５つの撮像位置Ｐ２、Ｐ４、Ｐ５、Ｐ６、Ｐ８から、光軸がこれらの撮像位置を含む平面に垂直になる撮像姿勢（補正されるべき環境情報に基づく撮像姿勢）で撮像部２２による撮像を行い、５つの画像のそれぞれからマーカーボード４の中央のマーカー４５の中心を検出する。続いて、このようにして検出するマーカー４５の５つの中心座標を第一実施例の高精度補正において検出した５つの基準点の座標の代わりに用いて第一実施例と同様の傾き補正量ΔＶ、ΔＷを導出する。導出した補正量ΔＶ、ΔＷを用いて環境情報としての撮像部２２の撮像姿勢を補正すると、「現実の撮像部２２の光軸」と「環境情報に対応する光軸」とを一致させることができる。
【００６８】
高精度傾き補正が成功して終了した後に、９点校正が実施される（ステップＳ６）。本実施例の９点校正では、第一実施例の９つの基準点Ｐ１〜Ｐ９にＴＣＰを動かしながら撮像部２２で撮像した画像から各基準点の位置を撮像部２２の座標系で検出する代わりに、高精度垂直状態にある現在の撮像位置と撮像姿勢の撮像部２２から取得する画像から９つのマーカー４１〜４９の中心を基準点２１〜２９として検出する。そして、撮像部２２の座標系で検出された基準点２１〜２９の座標を、ロボット座標系の基準点２１〜２９の座標に変換するための最終的な変換式が導出される。
２−１．変形例
なお、撮像部２がアーム１１に固定されていれば、上述した方法で撮像部２の座標系とロボット座標系とを校正することができることはいうまでもない。すなわち、第一アーム１１１、第二アーム１１２、第三アーム１１３、第四アーム１１４、第五アーム１１５のいずれかに固定された点に撮像部２が設けられる限りにおいて、第一実施例で説明した自動校正を実施することができる。
そしてアーム１１に対して固定された点に撮像部２が設けられる場合には、第二実施例で説明したようにロボット１を制御するためのｘｙｚ座標系（アームが動く座標系）の特定点にマーカーを固定して自動校正が実施される。この場合、マーカーは、ロボット１を制御するためのｘｙｚ座標系のどの点に固定しても良い。ロボット１が設置される部屋の床にマーカーを固定しても良いし、ロボット１の基台１１０にマーカーを固定しても良いし、ロボット１が固定されるセルのフレームにマーカーを固定しても良いし、ロボット１に併設されるベルトコンベヤなどの装置にマーカーを固定しても良い。ベルトコンベヤなどの外部装置にマーカーを固定すれば、ロボット１と外部装置とを協働させて作動させるためにロボット１と外部装置との位置合わせをすることが容易になる。
【００６９】
３．第三実施例
ロボット１の状態は、種々のツールが装着されるツールチャック１２６１の位置と姿勢（すなわちＴＣＰの位置と姿勢）を示す目標値がロボット１に入力されることによって制御される。したがって、ツールチャック１２６１やその他の部位に装着されるツールの位置と姿勢を制御するためには、ＴＣＰに対するツールの位置と姿勢を予め環境情報として設定しておき、ツールの位置と姿勢を、ＴＣＰの対応する位置と姿勢に変換して目標値をロボット１に入力する必要がある。本実施例では、各種のツールのＴＣＰに対する位置と姿勢をロボットビジョンを用いて検出して自動設定する方法について述べる。各種ツールのＴＣＰに対する位置と姿勢をロボットビジョンを用いて検出するにあたっては、それ以前に、ロボット座標系と撮像部の座標系の校正が基準平面についてできていることが前提となる。そこで本実施例では、第一実施例で説明したようにテーブル９に固定された撮像部２の光軸に対して垂直な基準平面Ｆが設定され、設定された基準平面Ｆ上の９つの基準点について校正が完了しているとする。この状態で、ＴＣＰに対して位置と姿勢が固定されたツールのＴＣＰに対する位置と姿勢をロボットビジョンを用いて検出する方法について図１５を参照しながら説明する。本実施例において「ツールのＴＣＰに対する位置と姿勢」は、基準平面上にあるツールの位置と姿勢を、ＴＣＰの位置と姿勢（ｘ，ｙ，ｚ，ｕ，ｖ，ｗ）から特定するためのオフセット（ΔＸ、ΔＹ、ΔＵ）によって表される。ここで（ｘ，ｙ，ｚ，ｕ，ｖ，ｗ）はロボット座標系、（ΔＸ、ΔＹ、ΔＵ）は基準平面の座標系であるが、既に述べたとおりロボット座標系と基準平面の座標系の関係は線形である。したがって、ツールの位置と姿勢をロボット座標系と基準平面の座標系のいずれの座標系で定めるかにおいて幾何学的に何ら違いはない。なお、ΔＵは基準平面に垂直なＺ軸周りの回転成分である。
【００７０】
はじめに、ＴＣＰをその中心軸が基準平面に対して垂直な姿勢を保って平行移動させることにより、ツールマーカーによって示されるツールの参照点を基準平面上に移動させる。このときツールチャック１２６１の中心軸を平行移動させれば良く、ツールチャック１２６１をその中心軸周りに回転させてもよい（ΔＵをオフセットに含めているためである。）。ツールマーカーは参照点を指し示すものであればよく、ツール自体をツールマーカーとしても良いが、本実施例ではツールにツールマーカーとしてラベルを貼付するものとする。ラベルはその形状と大きさが既知のものであればよい。参照点はツールに対して固定された点であればよい。またツールの参照点を基準平面に移動させるとき、ジョグ送りによってＴＣＰを移動させても良いが、ロボットビジョンを用いて自動的にＴＣＰを移動させても良い。具体的には、ツールマーカーの形状と大きさが既知であるため、移動前に撮像されたツールマーカーの画像に基づいて、移動前のツールマーカーの基準平面に対する位置を特定する。そして基準平面に対して特定したツールマーカーの位置から基準平面にツールマーカーを移動させるためのＴＣＰの目標値を導出し、導出した目標値をロボット１に出力する。さらにこの撮像と移動の処理を繰り返すことにより、ツールマーカーで示されるツールの参照点を座標平面上に正確に位置づけることが可能である。
【００７１】
次に、基準平面上にツールの参照点が位置する状態でツールマーカーを撮像部２で撮像し、ツールマーカーによって指し示される参照点の位置を撮像部２の座標系で検出する。そして、撮像時のＴＣＰから基準平面に下ろした垂線の足の座標と、検出した参照点の座標とに基づいて、ＴＣＰのロボット座標系での位置と姿勢（ｘ０，ｙ０，ｚ０，ｕ０，ｖ０，ｗ０）から基準平面上のツールの位置と姿勢を特定するためのオフセット（ΔＸ、ΔＹ、ΔＵ）を導出する。
【００７２】
たとえば第二実施例の撮像部２２をツールとしてオフセット（ΔＸ、ΔＹ、ΔＵ）を導出することにより、環境情報として必要な撮像部２２の位置と姿勢が特定される。したがって撮像部２２の位置と姿勢をユーザーに設定させる代わりに、撮像部２２の位置と姿勢を自動で検出し、検出した撮像部２２の位置と姿勢を環境情報として自動で設定することが可能である。そして、そのように環境情報が自動設定された撮像部２２を用いて、撮像部２２の座標系とロボット座標系とを校正することが可能である。すなわち、ロボット座標系に固定された撮像部２とロボット１の可動部に固定された撮像部２２のそれぞれの座標系とロボット座標系との校正を、校正開始指示の入力だけで、自動で完了させることも可能である。さらに、撮像部２や撮像部２２とは別の撮像部を追加する場合、当該別の撮像部を撮像部２２で撮像することで、当該別の撮像部の座標系とロボット座標系との校正をすることも可能になる。つまり、例えば、マーカーボード４を利用して、ロボットが動作することで、自動で複数の撮像部の座標系とロボット座標系とを校正することができる。
【００７３】
なお、複数のツールＴ１、Ｔ２について環境情報が必要な場合、それぞれの位置と姿勢を特定するためのオフセットをツール毎に導出すればよい。すなわち、図１５Ａに示すようにツールＴ１を基準平面Ｆに移動させてツールＴ１についてのオフセットを導出し、図１５Ｂに示すようにツールＴ２を基準平面Ｆに移動させてツールＴ２についてのオフセットを導出すればよい。またここまで、最終的に１つの校正された基準平面を設定する例について説明したが、２つ以上の校正された基準平面を設定しても良い。例えば、ツールＴ１に対応する基準平面とツールＴ２に対応する基準平面とを設定し、それぞれの基準平面がロボット座標系と校正されても良い。
【００７４】
４．第四実施例
第四実施例では、第一実施例において鉛直上向きに設置されていた撮像部２が図１６に示すようにアーム１１より上に、アーム１１を撮像可能な姿勢で設けられるロボットシステムについて、ロボット座標系と撮像部２の座標系を校正する方法について説明する。今、図１６に示すように撮像部２がアーム１１の可動範囲よりも上において鉛直下向きに設置されていて、撮像部２によってワークを撮像しながらアーム１１の下方にあるワークに対してロボット１による処理がなされるとする。この場合、ツールチャック１２６１のツールの取付面を下に向けた状態でワークを処理することになるが、その状態では、第一実施例でマーカーとして用いたツールチャック１２６１のツールの取付面を撮像部２によって撮像することはできない。そこで本実施例では、撮像部２の座標系とロボット座標系とを校正するために必要な画像を取得するために、ツールチャック１２６１のツールの取付面を下に向けた状態でも撮像部２によって撮像可能なマーカー５０を設けたマーカーツール５０をツールチャック１２６１に装着する。そしてツール５０のＴＣＰに対するオフセットを導出した後に、第一実施例と同様に撮像部２の座標系とロボット座標系の校正が行われる。
【００７５】
図１７に示すように、マーカーツール５０は、平坦な板体である平板部５２と平板部５２に対して垂直に設けられた柱体である取付部５３とを備える。取付部５３は図１７Ｂに破線で示すようにツールチャック１２６１に挿入されてツールチャック１２６１に固定される部分である。ツールチャック１２６１に取付部５３が正しく装着された状態では、取付部５３の中心線と平板部５２との交点がＴＣＰに一致する。ツールチャック１２６１に装着する際に平板部５２のツールチャック１２６１と対向する面（すなわち取付部５３が設けられている平板部５２の面）には参照点を示すマーカー５１が形成されている。マーカー５１は、同心円の形態を有し、ツール５０のツールチャック１２６１と対向する面に貼付されるシールである。マーカー５１は、その中心ＭＣが参照点となる。マーカー５１は、撮像部２によって撮像された画像データから参照点を検出可能な形態であれば、どのような形態であっても良い。また、ツールの参照点自体が画像認識によって検出可能な形態を有している場合、参照点を示すマーカーを用いる必要はない。
【００７６】
マーカー中心ＭＣによって示される参照点の、ＴＣＰに対して固定された座標系における座標がオフセットとして設定される。すなわち、原点がＴＣＰに対応し、回転軸部材１２６の回転軸と平行な１軸と、その１軸に対して直交する２軸とを有し、回転軸部材１２６とともに回転する座標系において、ツールの参照点の座標がツールのオフセットとして設定される。ツール５０の棒状の取付部５３を予め決められた深さだけツールチャック１２６１に挿入することは容易である。そこで本実施例では、回転軸部材１２６の回転軸と平行な１軸のオフセット成分については、予め決められた値を設定し、その他の２軸のオフセット成分を後述するツールセット処理で導出して設定するものとする。
【００７７】
このようなマーカーツール５０を用いることにより、ロボット座標系において固定されている撮像部２でＴＣＰとともに運動するマーカー５１を撮像することが可能になるため、ＴＣＰに対するマーカー５１のオフセットさえ特定できれば、第一実施例と同様にロボット座標系と撮像部２の座標系とを自動校正することができる。
【００７８】
以下、ＴＣＰに対するマーカー中心ＭＣの位置を特定するためのツールセットについて図１８を参照しながら説明する。
ツールセットは、オペレーターがツールセット開始指示をＰＣ３に入力することによって起動し、それ以後、オペレーターに一切の操作を要求することなく、あるいは、簡単な操作で完了する。ツールセット開始指示を入力する前にオペレーターに求められるのは、ツール５０の取付部５３をツールチャック１２６１に正しく装着し、撮像部２によってマーカー５１を撮像可能な位置にジョグ送り操作でＴＣＰを動かすことと、回転軸部材１２６の回転軸と平行な１軸の方向についてＴＣＰに対するツール５０のオフセット成分を設定することである。
【００７９】
オペレーターの入力に応じて指示受付部３０がツールセット開始指示を取得すると（ステップＳ７１）、ＰＣ３は、撮像部２によって撮像される画像の重心にマーカー中心ＭＣが位置するようにＴＣＰを移動させる（ステップＳ７２）。具体的には次の通りである。ツールセット開始指示が入力されると、画像取得部３１は、撮像部２に撮像を指示して撮像部２から画像データ（１）を取得する。続いて目標値導出部３２は、取得した画像データ（１）からマーカー中心ＭＣの位置を撮像部２の座標系で検出する。マーカー中心ＭＣの検出には、予め用意されているマーカー５０のテンプレートが用いられる。続いて目標値導出部３２は、予め決められた距離だけＴＣＰをｘ軸方向とｙ軸方向にそれぞれ並進させた状態で撮像部２に撮像を指示し、撮像部２から画像データ（２）を取得する。続いて目標値導出部３２は、取得した画像データ（２）からマーカー中心ＭＣの位置を撮像部２の座標系で検出する。続いて目標値導出部３２は、画像データ（１）が撮像された時点でのＴＣＰのロボット座標系の座標と、画像データ（１）から検出したマーカー中心ＭＣの撮像部２の座標系の座標と、画像データ（２）が撮像された時点でのＴＣＰのロボット座標系の座標と、画像データ（２）から検出したマーカー中心ＭＣの撮像部２の座標系の座標とに基づいて、画像座標系における対象の変位をロボット座標系における対象の変位に変換する座標変換行列を導出する。続いて目標値導出部３２は、画像データ（２）から検出したマーカー中心ＭＣから画像の重心までの変位を導出し、導出した変位を、座標変換行列を用いてロボット座標系のｘ軸方向とｙ軸方向の変位に変換することによって、撮像部２によって撮像される画像の重心にマーカー中心ＭＣを位置合わせするためのＴＣＰの目標値を導出する。続いて出力部３３は、導出された目標値を制御部１４に出力することによってアーム１１を動かす。その結果、ＴＣＰがｘ軸方向とｙ軸方向にそれぞれ並進し、撮像部２とＴＣＰとマーカー中心ＭＣの位置関係が第一状態となって、図５Ａに示すように撮像部２によって撮像される画像の重心にマーカー中心ＭＣが位置する。撮像部２によって撮像される画像の重心は、画像座標系とロボット座標系を対応付ける基準点となる。そして画像の重心にマーカー中心ＭＣが位置する状態では、マーカー中心ＭＣが基準点に対応する作業空間内の点となる。
【００８０】
撮像部２によって撮像される画像の重心にマーカー中心ＭＣが位置する状態になると、ＰＣ３は、画像座標系において画像の重心を中心としてＴＣＰが回転するようにアーム１１の姿勢を変化させる（ステップＳ７３）。具体的には次の通りである。目標値導出部３２は、ロボット座標系におけるマーカー中心ＭＣのｘ座標およびｙ座標を、ステップＳ７２で導出した座標変換行列を用いて導出する。ここでマーカー中心ＭＣは画像の重心に位置しているため、画像の重心の座標を、座標変換行列を用いてロボット座標系に変換すると、ロボット座標系におけるマーカー中心ＭＣのｘ座標およびｙ座標が導出される。続いて目標値導出部３２は、マーカー中心ＭＣを中心としてＴＣＰをｘｙ平面上で予め決められた角度だけ回転させるための目標値を導出する。続いて出力部３３は、導出された目標値を制御部１４に出力することによってアーム１１を動かす。具体的には例えば、ツールセット処理の実行中、常に回転軸部材１２４の回転軸をｚ軸と平行に維持する場合、回転軸部材１２４を予め決められた角度（例えば３０度）だけ回転させた後に、回転軸部材１２１、１２２、１２３、１２５、１２６を回転させることによってＴＣＰをｚ軸と垂直な方向に並進させればよい。その結果、図１９Ｃに示すように、マーカー中心ＭＣを中心としてＴＣＰが予め決められた角度だけ回転し、撮像部２とＴＣＰとマーカー中心ＭＣの位置関係が第一状態から第二状態に遷移する。この遷移の過程において、画像座標系では、図１９Ａから図１９Ｂに示すように画像の重心を中心としてＴＣＰが回転することになる。回転角度は、回転後に位置と姿勢が変化したツールチャック１２６１に装着されているツール５０を撮像部２によって撮像可能な範囲で予め定めておけばよい。
【００８１】
画像の重心は、レンズ２０２の光軸に対応するため、レンズ２０２の歪みが、画像の重心から外れたところと比べると少ない。したがって本実施例のようにロボット座標系と画像座標系とが正確に校正されていない状態であっても、ＴＣＰの画像座標系における回転中心である基準点と画像の重心の関係には歪みが少ない。しかし、本実施例では、基準点を中心にＴＣＰを回転させることができればよいため、基準点と画像上の特定点の関係に歪みがあったとしても、特定点を動かさない限り、問題にならない。したがって、ＴＣＰを回転させる基準点に対応する点は画像の重心でなくても良い。
【００８２】
画像座標系において画像の重心を中心としてＴＣＰを回転させると、ＰＣ３は、ステップＳ７２の実行後のＴＣＰの位置と、ステップＳ７３のＴＣＰの位置とに基づいてＴＣＰに対するマーカー中心ＭＣのオフセットを導出して設定する（Ｓ７４）。ここで図１９Ｃを参照しながらロボット座標系において第一状態と第二状態とを説明する。第一状態から第二状態に遷移する過程において、ＴＣＰはｚ方向に移動せずにマーカー中心Ｍを中心として回転する。この過程においてＴＣＰはマーカー中心ＭＣを中心とする円弧の軌跡を描く。この円弧の半径はＴＣＰからマーカー中心ＭＣまでの距離と等しく、円弧の中心角は第一状態から第二状態にＴＣＰを回転させた角度に等しい。そこで校正部３４は、第一状態と第二状態とについて、ＴＣＰのｘ、ｙ座標を、マーカー中心ＭＣのｘ、ｙ座標と、円弧の中心角θと、円弧の半径ｒとで表して連立方程式を解き、ロボット座標系においてマーカー中心ＭＣのｘ座標およびｙ座標を導出する。第一状態、第二状態のＴＣＰのｘ座標及びｙ座標は既知であり、ロボット座標系と回転軸部材１２６に固定された座標系（ＴＣＰに固定された座標系）の対応関係も既知である。そこで校正部３４は、第一状態、第二状態のいずれか一方のＴＣＰのｘ座標及びｙ座標と、マーカー中心ＭＣのｘ座標およびｙ座標とに基づいて、回転軸部材１２６の回転軸に垂直な２軸の方向についてＴＣＰに対するツール５０のオフセット成分を導出して設定する。
【００８３】
ところで、本実施例では撮像部２の撮像方向Ａとロボット座標系のｚ軸が平行であることを前提としているが、図２０Ａに示すように撮像部２の撮像方向Ａとロボット座標系のｚ軸が非平行であっても、問題なくツール５０のオフセットを導出することができる。なぜならば、第一状態から第二状態にかけてＴＣＰは、撮像方向Ａと平行な軸ではなくｚ軸と平行な軸の周りを回転し、ステップＳ７４でオフセットを導出する際にＴＣＰの画像座標を用いる必要がなく、ロボット座標系の方程式を解くことによってオフセットを導出できるからである。すなわち、図２０Ａに示すように撮像部２の撮像方向Ａとロボット座標系のｚ軸が非平行であっても、ロボット座標系におけるＴＣＰとマーカー中心ＭＣの関係は、図２０Ｂに示すように、撮像部２の撮像方向Ａとロボット座標系のｚ軸が平行である場合と変わらないからである。
【００８４】
以上説明したツールセット処理では、撮像部２によってマーカーＭを撮像可能な位置にジョグ送り操作でＴＣＰを動かしさえすれば、回転軸部材１２６の回転軸と平行な１軸を除く残りの２軸の成分についてＴＣＰに対するツール５０のオフセットを自動的に導出して設定することができる。したがって、オフセットの設定が容易に短時間で実行可能になる。そしてツールセットが終了すると、第一実施例と同様に撮像部２の座標系とロボット座標系とを自動校正することが可能な状態になる。そして本実施例によると、ツールが装着されるツールチャック１２６１を撮像できない位置と姿勢に撮像部２が設けられていても、マーカーツール５０のツールチャック１２６１と対向する面にマーカー５１が形成されているため、撮像部２の座標系とロボット座標系とを自動校正することができる。
【００８５】
なお、本実施例では、ツールチャック１２６１に取付部５３が正しく装着された状態で取付部５３の中心線と平板部５２との交点がＴＣＰに一致し、マーカー５１が形成される面が平面であるため、ツールチャック１２６１に取付部５３が正しく装着された状態においてマーカー５１は回転軸部材１２６の回転軸と垂直でＴＣＰを含む平面上に位置するが、マーカー５１は回転軸部材１２６の回転軸と垂直でＴＣＰを含む平面上に位置していなくともよい。
【００８６】
５．他の実施形態
尚、本発明の技術的範囲は、上述した実施例に限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々変更を加え得ることは勿論である。
【００８７】
例えば、校正開始指示はマウスによるクリック操作やディスプレイに対するタップ操作や音声によって受け付けても良い。
【００８８】
また、上記実施例で説明した低精度傾き補正、焦点調整、高精度傾き補正の順序を入れ替え、低精度傾き補正の前に焦点調整を実行してもよいし、低精度傾き補正、焦点調整、高精度傾き補正のいずれかを省略しても良い。また校正が行われていない状態で撮像部によってマーカーが撮像された画像に基づいて導出された目標値を取得し、目標値に基づいて撮像部と基準点の位置関係を予め決められた状態に変化させる処理が少なくとも１つあればよい。例えば、基準点に合焦させるためのロボット操作をジョグ送りによって行い、高精度傾き補正だけを画像に基づいて導出された目標値に基づいて実行してもよい。
【００８９】
また、９点校正を実施せずに、高精度傾き補正する際に取得した３点以上の基準点の座標にもとづいてロボット座標系と撮像部の座標系の校正を行っても良い。すなわち、撮像部の座標系とロボット座標系の校正は、高精度傾き補正により設定した基準平面上の３以上の基準点を用いて行えばよく、８以下の基準点を用いて校正を実行してもよいし、１０以上の基準点を用いて校正を実行しても良い。
【００９０】
またロボットを所定の姿勢に変化させるための何らかの目標値が校正開始指示に含まれても良い。例えば、撮像部またはマーカーボードをテーブルに固定する位置が予め決められている場合に、基準平面と撮像部がほぼ正対する位置にロボットビジョンを用いずにロボットを動かすための目標値が校正開始指示に含まれてもよい。
【００９１】
また本発明は、６軸以外の垂直多関節ロボットにも適用できるし、アームの回転軸が全て平行なスカラーロボットにも適用できる。そして本発明は、２以上の撮像部を用いる３次元のロボットビジョンに適用することも可能である。すなわち、３次元のロボットビジョンを実現するための複数の撮像部の座標系とロボット座標系とを校正するにあたって、本発明を適用することにより、各撮像部とマーカーの位置関係を、撮像部の座標系とロボットの座標系とを校正するために必要な画像を撮像できる状態に、校正開始指示によって変化させることができる。
【符号の説明】
【００９２】
１３１〜１３６…モーター、１１１〜１１５…アーム、１…ロボット、２…撮像部、３…ＰＣ、４…マーカーボード、９…テーブル、１４…制御部、３１…画像取得部、３１…画像取得部、３２…目標値導出部、３３…出力部、３４…校正部、４１〜４９…マーカー、５０…マーカーツール、５１…マーカー、１１０…基台、１１１…第一アーム、１１２…第二アーム、１１３…第三アーム、１１４…第四アーム、１１５…第五アーム、１２１〜１２６…回転軸部材、１３１〜１３６…モーター、２０１…レンズ、２０２…エリアイメージセンサー、１２６１…ツールチャック、Ｆ…基準平面、Ｐ１〜Ｐ９…基準点、Ｐ２１〜Ｐ２９…基準点
【図１】
0006507792.tif 000003
【図２】
0006507792.tif 000004
【図３】
0006507792.tif 000005
【図４】
0006507792.tif 000006
【図５】
0006507792.tif 000007
【図６】
0006507792.tif 000008
【図７】
0006507792.tif 000009
【図８】
0006507792.tif 000010
【図９】
0006507792.tif 000011
【図１０】
0006507792.tif 000012
【図１１】
0006507792.tif 000013
【図１２】
0006507792.tif 000014
【図１３】
0006507792.tif 000015
【図１４】
0006507792.tif 000016
【図１５】
0006507792.tif 000017
【図１６】
0006507792.tif 000018
【図１７】
0006507792.tif 000019
【図１８】
0006507792.tif 000020
【図１９】
0006507792.tif 000021
【図２０】
0006507792.tif 000022