(57)【特許請求の範囲】
【請求項１】
ロボットの先端にツール軸を介して設けられたハンドツールと、前記ハンドツールの作業を撮像する固定カメラを備えたロボット制御システムのカメラ座標系とロボット座標系の結合方法において、ハンドツールをロボット先端のツール軸の周りで回転させて、前記ハンドツールが保持する認識対象治具の動画像（以下、回転動画像という）を固定カメラで取得し、前記回転動画像から得られたフレーム差分に基づいて前記認識対象治具の特徴部位が描いた軌跡から閉曲線を割り出し、前記閉曲線の中心点をカメラ座標系で算出する第１ステップと、ロボット座標系の座標軸であって、前記ツール軸が交差可能な座標平面を構成する２つの座標軸のうち少なくとも一方の座標軸（以下、傾き計測座標軸という）に対して、沿うように前記認識対象治具を保持したハンドツールを直線移動させて、前記認識対象治具の動画像（以下、直線移動動画像という）を前記固定カメラで取得し、前記直線移動動画像に基づいて、カメラ座標系に対する前記傾き計測座標軸の傾き指標パラメータを算出する第２ステップと、前記閉曲線の中心点と前記傾き指標パラメータに基づいてカメラ座標系とロボット座標系の相対位置関係を算出する第３ステップを備えることを特徴とするロボット制御システムのカメラ座標系とロボット座標系の結合方法。
【請求項２】
前記閉曲線が楕円であり、
第２ステップでは、ロボット座標系の２つの座標軸を傾き計測座標軸とし、
前記傾き指標パラメータは、前記２つの傾き計測座標軸に沿って、ハンドツールをそれぞれ移動させた際の、カメラ座標系での始点及び終点の座標値に基づいたベクトルであることを特徴とする請求項１に記載のロボット制御システムのカメラ座標系とロボット座標系の結合方法。
【請求項３】
前記閉曲線が円であり、
第２ステップでは、ロボット座標系の１つの座標軸を傾き計測座標軸とし、
前記傾き指標パラメータは、前記１つの傾き計測座標軸に沿って、ハンドツールを移動させた際の、直線軌跡と傾き計測座標軸との角度であることを特徴とする請求項１に記載のロボット制御システムのカメラ座標系とロボット座標系の結合方法。
【請求項４】
前記認識対象治具の特徴部位が、前記認識対象治具の一端に設けられた突起であることを特徴とする請求項１乃至請求項３のうちいずれか１項に記載のロボット制御システムのカメラ座標系とロボット座標系の結合方法。
【請求項５】
ハンドツールをロボット先端のツール軸の周りで回転させて、前記ハンドツールが保持する認識対象治具の動画像（以下、回転動画像という）を固定カメラから取得し、前記回転動画像から得られたフレーム差分に基づいて前記認識対象治具の特徴部位が描いた軌跡から閉曲線を割り出し、前記閉曲線の中心点をカメラ座標系で算出する第１算出手段と、
ロボット座標系の座標軸であって、前記ツール軸が交差可能な座標平面を構成する２つの座標軸のうち少なくとも一方の座標軸（以下、傾き計測座標軸という）に対して、沿うように前記認識対象治具を保持したハンドツールを直線移動させて、前記認識対象治具の動画像（以下、直線移動動画像という）を前記固定カメラで取得し、前記直線移動動画像に基づいて、カメラ座標系に対する前記傾き計測座標軸の傾き指標パラメータを算出する第２算出手段と、
前記閉曲線の中心点と前記傾き指標パラメータに基づいてカメラ座標系とロボット座標系の相対位置関係を算出する第３算出手段を備えることを特徴とする画像処理装置。
【請求項６】
前記閉曲線が楕円であり、
第２算出手段は、ロボット座標系の２つの座標軸を傾き計測座標軸とし、前記傾き指標パラメータとして、前記２つの傾き計測座標軸に沿って、ハンドツールをそれぞれ移動させた際の、カメラ座標系での始点及び終点の座標値に基づくベクトルを算出することを特徴とする請求項５に記載の画像処理装置。
【請求項７】
前記閉曲線が円であり、
第２算出手段は、ロボット座標系の１つの座標軸を傾き計測座標軸とし、
前記傾き指標パラメータとして、前記１つの傾き計測座標軸に沿って、ハンドツールを移動させた際の、直線軌跡と傾き計測座標軸との角度を算出することを特徴とする請求項５に記載の画像処理装置。
【請求項８】
コンピュータを、
ハンドツールをロボット先端のツール軸の周りで回転させて、前記ハンドツールが保持する認識対象治具の動画像（以下、回転動画像という）を固定カメラから取得し、前記回転動画像から得られたフレーム差分に基づいて前記認識対象治具の特徴部位が描いた軌跡から閉曲線を割り出し、前記閉曲線の中心点をカメラ座標系で算出する第１算出手段と、
ロボット座標系の座標軸であって、前記ツール軸が交差可能な座標平面を構成する２つの座標軸のうち少なくとも一方の座標軸（以下、傾き計測座標軸という）に対して、沿うように前記認識対象治具を保持したハンドツールを直線移動させて、前記認識対象治具の動画像（以下、直線移動動画像という）を前記固定カメラで取得し、前記直線移動動画像に基づいて、カメラ座標系に対する前記傾き計測座標軸の傾き指標パラメータを算出する第２算出手段と、
前記閉曲線の中心点と前記傾き指標パラメータに基づいてカメラ座標系とロボット座標系の相対位置関係を算出する第３算出手段
として機能させるプログラム。
【請求項９】
コンピュータを、
ハンドツールをロボット先端のツール軸の周りで回転させて、前記ハンドツールが保持する認識対象治具の動画像（以下、回転動画像という）を固定カメラから取得し、前記回転動画像から得られたフレーム差分に基づいて前記認識対象治具の特徴部位が描いた軌跡から閉曲線を割り出し、前記閉曲線の中心点をカメラ座標系で算出する第１算出手段と、
ロボット座標系の座標軸であって、前記ツール軸が交差可能な座標平面を構成する２つの座標軸のうち少なくとも一方の座標軸（以下、傾き計測座標軸という）に対して、沿うように前記認識対象治具を保持したハンドツールを直線移動させて、前記認識対象治具の動画像（以下、直線移動動画像という）を前記固定カメラで取得し、前記直線移動動画像に基づいて、カメラ座標系に対する前記傾き計測座標軸の傾き指標パラメータを算出する第２算出手段と、
前記閉曲線の中心点と前記傾き指標パラメータに基づいてカメラ座標系とロボット座標系の相対位置関係を算出する第３算出手段として機能させるプログラムを記憶したコンピュータ読み取り可能な記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ロボット制御システムのカメラ座標系とロボット座標系の結合方法、画像処理装置、プログラム、及び記憶媒体に関する。
【背景技術】
【０００２】
従来のカメラ座標系とロボット座標系を結合するシステムについて、図１６を参照して説明する。前記システムは、ハンドリングロボット、前記ハンドリングロボットを制御するロボット制御装置及びハンドリングロボットが把持するワークの位置を検出する２次元視覚装置を備える。図１６に示すように、２次元視覚装置９０は、カメラ１１０でワークＷを撮像した撮像画像に基づいてワーク置台１５０上のワークＷのワーク位置を認識し、前記ワークＷの位置情報をハンドリングロボット１２０のロボット制御装置１３０へ伝達するようにされている。ロボット制御装置１３０は、前記ワークＷの位置情報に基づいて、ハンドリングロボット１２０に対してそのロボットアーム先端に設けたハンドツール１４０がワークＷの規定位置を把持するように制御する。
【０００３】
このようなシステムは、一般に、図１７に示すように、カメラ１１０のカメラ座標系（二次元）と、ロボット座標系（三次元）が異なるため、２次元視覚装置９０からロボット制御装置１３０へ正しい指示を出すためには、何らかの方法により、両座標系の相対位置関係を調べて２つの座標系を結合する作業が必要である。図１７は、カメラ座標系とロボット座標系を上方から下方に見た場合の一例である。
【０００４】
従来のカメラ座標系とロボット座標系の結合方法では、図１８に示すように、まず、ハンドリングロボットのアーム先端に取り付けられているハンドツール（例えば、吸着器、グリッパ）を取り外し、専用治具１６０をツールの基準点に正確に位置決めして取り付ける。次に、ワーク置台１５０の複数の基準位置にも専用治具１７０をそれぞれ取り付ける。これらの基準位置のカメラ座標値は、予め調べておき、図示しないロボット制御装置に記憶させておく。ハンドリングロボット１２０を移動させて、専用治具１６０，１７０同士を正確にタッチさせ、このタッチした状態におけるロボット座標値が何であるかを図示しないロボット制御装置のディスプレイで確認する。このようなロボット座標値とカメラ座標値の対応点を数ヶ所で取得し、取得した各基準値におけるロボット座標値と、基準値のカメラ座標値とを使用してロボット制御装置で演算することにより、両座標系の相対関係を知ることができる（従来技術１）。なお、基準位置の取り方、及び演算の仕方については、従来から諸法ある。
【０００５】
なお、本願出願時には特許文献１、２が公知である。
特許文献１では、ロボットアームの先端に視覚センサが取り付けられており、ロボットのハンドにて、治具を正確に把持した状態で、異なる２点にそれぞれ治具を置いた時の各点におけるロボット座標値を取得する等の作業を行うようにして、取得した座標値等により、カメラ座標系とロボット座標系との関係を得るようにしている（従来技術２）。
【０００６】
特許文献２の実施例３で提案されている方法は、ロボットの把持装置に認識対象物を把持させ、この状態で、ロボット以外の位置に配置された視覚センサの撮像範囲内で、第１回目は認識対象物を移動後の位置を教示するようにしている。次の第２回目はＸ（＋）方向に認識対象物を平行移動させた後の位置を教示し、第３回目は認識対象物を所定角度回転させた後、平行移動させ、平行移動後の位置を教示するようにしている（従来技術３）。
【０００７】
特許文献３では、物品の位置検出方法において、テレビカメラを使用した位置検出した例が示されている。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開平１−７２２０８号公報
【特許文献２】特開平６−１９０７５６号公報、段落００４６〜００５４、図７〜図１０
【特許文献３】特公平７−１０４１４３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００９】
従来技術１は、ハンドツールを一旦外さなければならず、又、専用治具を正確に取り付けなければならず、オペレータにスキルが必要となる問題がある。さらに、従来技術１では、ロボット側に取付けした専用治具をタッチするために、ワーク置台側に取付けする専用治具は少なくとも３カ所設ける必要があり、正確な両座標系の関係を得るための測定作業には通常１０カ所以上設ける必要がある。このため、オペレータのスキルと手間が必要となるばかりか、専用治具によるタッチする場所も多いため、多くの演算処理が必要となる問題がある。
【００１０】
従来技術２は、ロボットのハンドにて治具を正確に把持する必要があるとともに、異なる２点で前記治具の把持を解除する作業等を行うことから手間が掛かる問題がある。
従来技術３の実施例３では、ハンドリングロボットで把持した認識対象物を、移動する毎に教示作業が必要であり、手間が掛かる問題がある。
【００１１】
本発明の目的は、上記課題を解決して、ハンドリングロボットに認識対象治具を把持する際に正確に把持させる必要が無く、又、認識対象治具を把持させた状態で、回転及び直線移動させたときに取得した連続画像からフレーム差分をそれぞれ得ることにより、ハンドツールのツール軸中心と、ロボット座標系とカメラ座標系の傾きを簡単に得ることができるカメラ座標系とロボット座標系の結合を得るカメラのカメラ座標系とロボットのロボット座標系の結合方法、画像処理装置、プログラム、及び記憶媒体を提供することにある。
【課題を解決するための手段】
【００１２】
上記問題点を解決するために、請求項１の発明は、ロボットの先端にツール軸を介して設けられたハンドツールと、前記ハンドツールの作業を撮像する固定カメラを備えたロボット制御システムのカメラ座標系とロボット座標系の結合方法において、ハンドツールをロボット先端のツール軸の周りで回転させて、前記ハンドツールが保持する認識対象治具の動画像（以下、回転動画像という）を固定カメラで取得し、前記回転動画像から得られたフレーム差分に基づいて前記認識対象治具の特徴部位が描いた軌跡から閉曲線を割り出し、前記閉曲線の中心点をカメラ座標系で算出する第１ステップと、ロボット座標系の座標軸であって、前記ツール軸が交差可能な座標平面を構成する２つの座標軸のうち少なくとも一方の座標軸（以下、傾き計測座標軸という）に対して、沿うように前記認識対象治具を保持したハンドツールを直線移動させて、前記認識対象治具の動画像（以下、直線移動動画像という）を前記固定カメラで取得し、前記直線移動動画像に基づいて、カメラ座標系に対する前記傾き計測座標軸の傾き指標パラメータを算出する第２ステップと、前記閉曲線の中心点と前記傾き指標パラメータに基づいてカメラ座標系とロボット座標系の相対位置関係を算出する第３ステップを備えることを特徴とするロボット制御システムのカメラ座標系とロボット座標系の結合方法を要旨としている。
【００１３】
なお、本明細書では、ロボット座標系は、ロボットの台座（ベース）を基準にした座標系（ベース座標系）と、ユーザが任意位置に設定する座標系（ユーザ座標系）の両者を含む趣旨である。いずれも直交座標系である。又、カメラ座標系は、カメラの撮像範囲内に展開される二次元の直交座標系である。
【００１４】
請求項２の発明は、請求項１において、前記閉曲線が楕円であり、第２ステップでは、ロボット座標系の２つの座標軸を傾き計測座標軸とし、前記傾き指標パラメータは、前記２つの傾き計測座標軸に沿って、ハンドツールをそれぞれ移動させた際の、カメラ座標系での始点及び終点の座標値に基づいたベクトルであることを特徴とする。
【００１５】
請求項３の発明は、請求項１において、前記閉曲線が円であり、第２ステップでは、ロボット座標系の１つの座標軸を傾き計測座標軸とし、前記傾き指標パラメータは、前記１つの傾き計測座標軸に沿って、ハンドツールを移動させた際の、直線軌跡と傾き計測座標軸との角度であることを特徴とする。
【００１６】
請求項４の発明は、請求項１乃至請求項３のうちいずれか１項において、前記認識対象治具の特徴部位が、前記認識対象治具の一端に設けられた突起であることを特徴とする。
請求項５の発明は、ハンドツールをロボット先端のツール軸の周りで回転させて、前記ハンドツールが保持する認識対象治具の動画像（以下、回転動画像という）を固定カメラから取得し、前記回転動画像から得られたフレーム差分に基づいて前記認識対象治具の特徴部位が描いた軌跡から閉曲線を割り出し、前記閉曲線の中心点をカメラ座標系で算出する第１算出手段と、ロボット座標系の座標軸であって、前記ツール軸が交差可能な座標平面を構成する２つの座標軸のうち少なくとも一方の座標軸（以下、傾き計測座標軸という）に対して、沿うように前記認識対象治具を保持したハンドツールを直線移動させて、前記認識対象治具の動画像（以下、直線移動動画像という）を前記固定カメラで取得し、前記直線移動動画像に基づいて、カメラ座標系に対する前記傾き計測座標軸の傾き指標パラメータを算出する第２算出手段と、前記閉曲線の中心点と前記傾き指標パラメータに基づいてカメラ座標系とロボット座標系の相対位置関係を算出する第３算出手段を備えることを特徴とする画像処理装置を要旨としている。
【００１７】
請求項６の発明は、請求項５において、前記閉曲線が楕円であり、第２算出手段は、ロボット座標系の２つの座標軸を傾き計測座標軸とし、前記傾き指標パラメータとして、前記２つの傾き計測座標軸に沿って、ハンドツールをそれぞれ移動させた際の、カメラ座標系での始点及び終点の座標値に基づいたベクトルを算出することを特徴とする。
【００１８】
請求項７の発明は、請求項５において、前記閉曲線が円であり、第２算出手段は、ロボット座標系の１つの座標軸を傾き計測座標軸とし、前記傾き指標パラメータとして、前記１つの傾き計測座標軸に沿って、ハンドツールを移動させた際の、直線軌跡と傾き計測座標軸との角度を算出することを特徴とする。
【００１９】
請求項８の発明は、コンピュータを、ハンドツールをロボット先端のツール軸の周りで回転させて、前記ハンドツールが保持する認識対象治具の動画像（以下、回転動画像という）を固定カメラから取得し、前記回転動画像から得られたフレーム差分に基づいて前記認識対象治具の特徴部位が描いた軌跡から閉曲線を割り出し、前記閉曲線の中心点をカメラ座標系で算出する第１算出手段と、ロボット座標系の座標軸であって、前記ツール軸が交差可能な座標平面を構成する２つの座標軸のうち少なくとも一方の座標軸（以下、傾き計測座標軸という）に対して、沿うように前記認識対象治具を保持したハンドツールを直線移動させて、前記認識対象治具の動画像（以下、直線移動動画像という）を前記固定カメラで取得し、前記直線移動動画像に基づいて、カメラ座標系に対する前記傾き計測座標軸の傾き指標パラメータを算出する第２算出手段と、前記閉曲線の中心点と前記傾き指標パラメータに基づいてカメラ座標系とロボット座標系の相対位置関係を算出する第３算出手段として機能させるプログラムを要旨としている。
【００２０】
請求項９の発明は、コンピュータを、ハンドツールをロボット先端のツール軸の周りで回転させて、前記ハンドツールが保持する認識対象治具の動画像（以下、回転動画像という）を固定カメラから取得し、前記回転動画像から得られたフレーム差分に基づいて前記認識対象治具の特徴部位が描いた軌跡から閉曲線を割り出し、前記閉曲線の中心点をカメラ座標系で算出する第１算出手段と、ロボット座標系の座標軸であって、前記ツール軸が交差可能な座標平面を構成する２つの座標軸のうち少なくとも一方の座標軸（以下、傾き計測座標軸という）に対して、沿うように前記認識対象治具を保持したハンドツールを直線移動させて、前記認識対象治具の動画像（以下、直線移動動画像という）を前記固定カメラで取得し、前記直線移動動画像に基づいて、カメラ座標系に対する前記傾き計測座標軸の傾き指標パラメータを算出する第２算出手段と、前記閉曲線の中心点と前記傾き指標パラメータに基づいてカメラ座標系とロボット座標系の相対位置関係を算出する第３算出手段として機能させるプログラムを記憶したコンピュータ読み取り可能な記憶媒体を要旨としている。
【発明の効果】
【００２１】
本発明によれば、ハンドリングロボットに認識対象治具を把持する際に正確に把持させる必要が無く、又、認識対象治具を把持させた状態で、回転及び直線移動させたときに取得した連続画像（動画像）からフレーム差分をそれぞれ得ることにより、ハンドツールのツール軸中心と、ロボット座標系とカメラ座標系の傾きを簡単に得ることができる。
【図面の簡単な説明】
【００２２】
【図１】本実施形態の２次元視覚装置、ロボット制御装置、及びロボットの全体概略図。
【図２】（ａ）は第１実施形態の認識対象治具、（ｂ）は他の実施形態の認識対象治具。
【図３】２次元視覚装置、ロボット制御装置、ロボットの電気ブロック図。
【図４】（ａ）、（ｂ）は連続画像（動画）の画像処理のフローチャート。
【図５】（ａ）〜（ｄ）は、動画像のフレームの説明図、（ｅ）はフレーム差分結果を示す説明図、（ｆ）は円弧、該円弧の曲率中心を算出した結果の説明図。
【図６】（ａ）、（ｂ）は認識対象治具の直線移動した場合のフレームの説明図。
【図７】カメラ座標系とロボット座標系の結合関係を示す説明図。
【図８】（ａ）、（ｂ）は第２実施形態の連続画像（動画）の画像処理のフローチャート。
【図９】（ａ）、（ｂ）は第２実施形態のカメラ座標系とロボット座標系との関係を示す説明図。
【図１０】参考例の２次元視覚装置、ロボット制御装置、及びロボットの全体概略図。
【図１１】照明装置１００とワークＷとカメラ３０の配置関係の説明図。
【図１２】正反射と拡散反射の説明図。
【図１３】照明光がモールと補色関係の色の場合の説明図。
【図１４】照明光が白色光の場合の説明図。
【図１５】モールを備えたウインドウガラスの断面図。
【図１６】従来の２次元視覚装置、ロボット制御装置、及びロボットの全体概略図。
【図１７】カメラ座標系とロボット座標系との関係を示す説明図。
【図１８】従来のカメラ座標系とロボット座標系の結合方法の説明図。
【発明を実施するための形態】
【００２３】
（第１実施形態）
以下、本発明のカメラ座標系とロボット座標系の結合方法、画像処理装置、プログラム、並びに記憶媒体を具体化した第１実施形態を図１〜図７を参照して説明する。図１は、本実施形態のロボット制御システムの全体の概略を示している。ロボット制御システムはロボット制御装置１０及びハンドリングロボット（以下、単にロボットという）２０、固定カメラとしてのカメラ３０及び画像処理装置としての２次元視覚装置４０を備えている。本実施形態のロボット制御システムは、パレット等のワーク台６０上の図示しないワークに対する物体位置認識によって一つのワークの位置及び姿勢を認識し、ワーク台６０上のワークを保持し、目標位置に運搬するためのシステムである。
【００２４】
ロボット２０は、多関節型ロボットであって、ベース２１上に、複数（本実施形態では６つ）の関節を介して連結された複数のアーム２２を備えている。すなわち、本実施形態のロボット２０は６軸ロボットで構成されている。前記各関節には、サーボモータ２３と、各サーボモータ２３の軸角度をそれぞれ検出するエンコーダ２４（図３参照）を備えている。なお、図１では、複数のサーボーモータのうち、一部のサーボモータ２３のみが図示されている。前記各関節は、アーム２２の一端部を揺動可能として他端部を軸支する揺動関節と、アーム２２自身をその長手方向を中心に回転可能に軸支する回転関節とのいずれかから構成されている。
【００２５】
又、各関節に連結された全アーム２２の最先端部、すなわちロボット先端（以下、「アーム先端部」という）には、図１に示すように、関節としてのツール軸２６を介してハンドツール２５が設けられている。ハンドツール２５は、前記各関節を介してアーム２２の作動により任意の位置に位置決めすることにより任意の姿勢を取らせることが可能となっている。本実施形態のハンドツール２５は、真空吸引力によってワークを吸着可能な真空吸着パッド２７を備える。
【００２６】
ロボット制御装置１０は、ＣＰＵ、ＲＯＭ、ＲＡＭ（いずれも図示しない）を備えている。前記ＲＯＭには、ロボット２０の動作制御を行う制御プログラムを含む各種のプログラムと図示しないワークの移動目的位置を示す動作データが格納されている。前記ＣＰＵは、前記ＲＯＭに格納された各種のプログラムを実行することにより、ロボット２０をワーク搬送のために制御する。前記ＲＡＭは、前記ＣＰＵの処理により各種データを格納するワークエリアとなる。ロボット制御装置１０は、ロボット２０の教示点、その他の各種の設定を入力するための例えば教示データを入力するための可搬式の入力装置１５を備えている。又、前記入力装置１５に対するオペレータの操作により、手動によるロボット２０の制御が可能である。又、ロボット制御装置１０は、２次元視覚装置４０からの解析結果及び動作指令を受信するための通信インターフェイス１１を備える。
【００２７】
なお、図３では、説明の便宜上、ロボット２０の各関節のサーボモータ２３、及びエンコーダ２４は代表的に１つのみ図示し、他のサーボモータ２３及びエンコーダ２４の図示を省略している。
【００２８】
カメラ３０は、ＣＣＤ、ＣＭＯＳ等の固体撮像デバイスを有するビデオカメラからなり、カメラ３０から出力された画像信号に基づき所定のフレームレート（例えば、１秒間に３０フレーム）での動画像の撮像が可能である。カメラ３０はカラーカメラ或いはモノクロカメラのいずれでもよい。又、カメラ３０は、図示しない支持手段により支持されてワーク台６０上方に配置されており、ワーク台６０上のワーク（図示しない）を保持して移動目的位置へ搬送する実作業時においてワーク台６０のワーク載置面６０ａの全範囲を少なくとも含む範囲を撮像範囲としている。
【００２９】
２次元視覚装置４０は、カメラ３０から出力された画像信号に基づいて、撮像範囲内（撮像して画像取り込みが行われる撮像対象となる範囲）の画像に応じた画像データを生成する。すなわち、前記ビデオカメラより得られた画像信号は、２次元視覚装置４０によりコンピュータでの処理が可能なＲＧＢのカラー画像（或いはモノクロ画像）からなるフレーム画像に変換される。なお、撮影画像の解像度は、例えば水平方向画素数を６４０画素、垂直方向画素数を４８０画素としている。尚、フレームレート、変換される画像及び解像度は、上記の例に限定するものではない。
【００３０】
２次元視覚装置４０は、コンピュータからなり、ＣＰＵ４１、ＲＯＭ４２、ＲＡＭ４３、画像メモリ４５、カメラインターフェイス４４、モニタインターフェイス４６、入力インターフェイス４７及び通信インターフェイス４８を備えている。ＣＰＵ４１と前記各部はバス４９を介して入力出力が可能である。ＣＰＵ４１は、第１算出手段、第２算出手段、第３算出手段に相当する。
【００３１】
ＲＯＭ４２は、ＣＰＵ４１が実行するワークの姿勢位置検出の画像処理プログラム、カメラ座標系とロボット座標系の結合のための画像処理プログラム等を含む各種処理プログラムが格納されている。本実施形態では、ロボット座標系は、ロボットの台座（ベース）を基準にした座標系（ベース座標系）としている。ＲＯＭ４２は、記憶媒体に相当する。ＲＡＭ４３は、ＣＰＵ４１の処理により各種データを格納するワークエリアである。カメラインターフェイス４４は、カメラ３０から出力された画像信号を入力する。画像メモリ４５は、ＣＰＵ４１が、前記画像信号に基づいて処理して生成された各フレーム画像（画像データ）を格納する。２次元視覚装置４０は、液晶表示装置等からなるディスプレイ５０がモニタインターフェイス４６を介して接続されている。ディスプレイ５０は、モニタインターフェイス４６を介して、ＣＰＵ４１による各種処理における所定の表示を行うとともに、画像メモリ４５に格納された画像データを表示する。又、入力インターフェイス４７は、ＣＰＵ４１による各種処理に必要な各種データの入力を行う入力装置５１との接続を行う。通信インターフェイス４８は、ロボット制御装置１０の通信インターフェイス１１との間で各種データの通信を行う。
【００３２】
２次元視覚装置４０は、カメラ３０でワークを撮像して得られた画像に基づいてワーク台６０上のワーク（図示しない）のワーク位置を認識し、通信インターフェイス４８，１１を介して該ワークの位置情報をロボット制御装置１０へ伝達する。ロボット制御装置１０は、前記ワークの位置情報に基づいて、ロボット２０に対してそのアーム先端部に設けたハンドツール２５を前記ワークの規定位置で把持させ、目的位置に前記ワークを運搬するように制御する。
【００３３】
（第１実施形態の作用）
次に、本実施形態のロボット制御システムにおいて、カメラ３０のカメラ座標系とロボット２０のロボット座標系を結合する手順について説明する。
【００３４】
なお、本実施形態では、ロボット座標系のＸＹ座標平面と、カメラ座標系のＸＹ座標平面とが互いに平行であるとともに、カメラ３０から見たロボット座標系のＸ軸及びＹ軸が直交している場合に有効である。
【００３５】
＜１．ロボットのハンドツールの中心座標＞
図４（ａ）において、Ｓ１０〜Ｓ１８は、ＣＰＵ４１が、カメラ座標系とロボット座標系の結合のための画像処理プログラムを実行する際、ロボットのハンドツール２５の中心座標の求め方のフローチャートである。
【００３６】
なお、Ｓ１０では、前記画像処理プログラムが実行される際に、ロボット制御装置１０のＣＰＵ４１により下記で説明するロボット２０の作動制御が行われる。
この作動制御は、オペレータが入力装置１５に対する入力操作により、手動制御されてもよく、或いは、カメラ座標系とロボット座標系の結合のための画像処理プログラムを実行する際に、ロボット制御装置１０のＲＯＭに格納された自動制御プログラムに基づいて自動制御で行うようにしてもよい。
【００３７】
ロボット２０は上記手動制御又は自動制御により、図２（ａ）に示す認識対象治具７０を真空吸着パッド２７にて吸着保持し、かつ、カメラ３０とワーク台６０間の位置であってカメラ３０の撮像範囲内に入るように位置した状態で、ツール軸２６を鉛直方向（すなわち、大地に対して垂直方向）に向けた姿勢で回転する。前記鉛直方向は、ロボット座標系のＺ軸と平行な方向であり、ロボット座標系のＸ軸及びＹ軸とは直交する。ここで、ツール軸２６は、前記制御により、ロボット座標系のＸ座標値及びＹ座標値（ｐ，ｑ）で回転することになる。この座標値は、ロボット座標系で各エンコーダ２４からの信号及びロボット２０のリンクパラメータに基づいてロボット制御装置１０のＣＰＵが算出し、ロボット制御装置１０のＲＡＭに格納される。
【００３８】
なお、認識対象治具７０は、図２（ａ）に示すように全体が略平板状の長方形に形成されており、長手方向の一端部には、特徴部位としての突起７１が同長手方向に延出するように形成されている。認識対象治具７０の全体の形状は、長方形に限定するものではなく、平面視した場合、正方形、円形、楕円形等の形状でもよい。又、平板に限定されるものではなく、厚みを有するブロック状であってもよい。特徴部位は、カメラ３０から見た場合に、認識対象治具７０においてハンドツール２５に隠れない部位に配置し、突起形状にするとフレーム差分処理で容易に検出することができる。
【００３９】
又、認識対象治具７０の回転姿勢は、正確に水平である必要はなく、傾いていてもよい。ハンドツール２５による保持位置は、前述したように特徴部位がカメラ３０から見た場合に、ハンドツール２５に隠れないようにされていれば、任意の位置でよい。
【００４０】
又、Ｓ１０では、上記のようにして回転中の認識対象治具７０は、カメラ３０により撮像されて、その画像信号は、２次元視覚装置４０に入力される。２次元視覚装置４０に入力された画像信号は、ＣＰＵ４１により、時系列に従って所定のフレームレートのフレーム画像が生成され、画像メモリ４５に格納される。図５の（ａ）〜（ｄ）は、Ｓ１０の処理により取得されて画像メモリ４５に格納されたフレーム画像１〜４を示している。前記フレーム画像は回転動画像に相当する。
【００４１】
Ｓ１２では、ＣＰＵ４１は、時系列順に生成されたフレーム画像において、時間的に隣接するフレーム画像間のフレーム差分を抽出する。図５（ｅ）は、前記フレーム画像１〜４のフレーム差分結果の画像データを示している。
【００４２】
Ｓ１４では、ＣＰＵ４１は、前記フレーム差分結果である画像データ（以下、フレーム差分画像という）中において、認識対象治具７０の特徴部位に関する複数の特徴点Ｐ１〜Ｐｒのカメラ座標系の座標値を取得する。なお、ｒは、フレーム画像のフレーム番号である。この特徴点の座標値の取得は、フレーム差分画像を予め定められた閾値で２値化処理等の公知の画像処理を行い、特徴点Ｐ１〜Ｐｒを割り出して行う。
【００４３】
Ｓ１６では、ＣＰＵ４１は、Ｓ１４で取得した特徴点Ｐ１〜Ｐｒの座標値に基づいて各座標値を通過する共通の円弧を算出する。この円弧の算出は、実質的に閉曲線としての円を算出（割り出し）することと同義である。この円弧Ｅは、特徴点Ｐ１〜Ｐｒを含む円弧軌跡である（図５（ｆ）参照）。
【００４４】
Ｓ１８では、ＣＰＵ４１は、この得られた円弧の曲率中心、すなわち、割り出した円の中心の座標値（ｍ，ｎ）を算出し、ＲＡＭ４３に記憶する。この算出された円弧の中心の座標値（ｍ，ｎ）は、ツール軸２６のカメラ座標系の座標値である。
【００４５】
Ｓ１０〜Ｓ１８は、第１ステップに相当する。
＜２．ロボット座標系の傾き＞
図４（ｂ）において、Ｓ２０〜Ｓ２８は、ＣＰＵ４１が、カメラ座標系とロボット座標系の結合のための画像処理プログラムを実行する際、ロボット座標系のカメラ座標系に対する傾きの求め方のフローチャートである。
【００４６】
なお、Ｓ２０では、前記画像処理プログラムが実行される際に、ロボット制御装置１０により下記で説明するロボット２０の作動制御が行われる。
この作動制御は、オペレータが入力装置１５に対する入力操作により、手動制御されてもよく、或いは、カメラ座標系とロボット座標系の結合のための画像処理プログラムを実行する際に、ロボット制御装置１０のＲＯＭに格納された自動制御プログラムに基づいて自動制御で行うようにしてもよい。
【００４７】
ロボット２０は上記手動制御又は自動制御により、図２（ａ）に示す認識対象治具７０を真空吸着パッド２７にて吸着保持し、かつ、カメラ３０とワーク台６０間の位置であってカメラ３０の撮像範囲内に入るように位置した状態で、ツール軸２６をロボット座標系のＸ軸に沿うように直線移動する。
【００４８】
すなわち、本実施形態では、ロボット座標系において、前記ツール軸２６と直交するロボット座標系を構成する２つの座標軸（Ｘ軸及びＹ軸）のうち、Ｘ軸（傾き計測座標軸）に対して、沿うように認識対象治具７０をハンドツール２５を移動させる。
【００４９】
このときの、認識対象治具７０の姿勢は、正確に水平である必要はなく、傾いていてもよい。ハンドツール２５による保持位置は、前述したように特徴部位がカメラ３０から見た場合に、ハンドツール２５に隠れないようにされていれば、任意の位置でよい。
【００５０】
又、Ｓ２０では、上記のようにして直線移動中の認識対象治具７０は、カメラ３０により撮像されて、その画像信号は、２次元視覚装置４０に入力される。２次元視覚装置４０に入力された画像信号は、ＣＰＵ４１により、時系列に従って所定のフレームレートでフレーム画像が生成されて、画像メモリ４５に格納される。図６の（ａ）は、Ｓ２０の処理により取得されて画像メモリ４５に格納された、初期位置のハンドツール２５の動画像であるフレーム画像の１つを示している。図６（ｂ）は、Ｓ２０の処理により取得されて画像メモリ４５に格納された、終期位置のハンドツール２５の動画像であるフレーム画像の１つを示している。前記フレーム画像は直線移動動画像に相当する。図６（ｂ）において、Ｑ１は、前記初期位置の認識対象治具７０の突起７１の先端の位置を示している。Ｑｓは、前記終期位置の認識対象治具７０の突起７１の先端の位置を示している。ｓはフレーム番号である。
【００５１】
Ｓ２２では、ＣＰＵ４１は、時系列順に生成されたフレーム画像において、時間的に隣接するフレーム画像間のフレーム差分を抽出する。
Ｓ２４では、ＣＰＵ４１は、前記フレーム差分結果である画像データ（以下、フレーム差分画像という）中において、認識対象治具７０の特徴部位に関する複数の特徴点Ｑ１〜Ｑｓのカメラ座標系の座標値を取得する。この特徴点の座標値の取得は、フレーム差分画像を予め定められた閾値で２値化処理等の公知の画像処理を行い、特徴点Ｑ１〜Ｑｓを割り出して行う。
【００５２】
Ｓ２６では、ＣＰＵ４１は、Ｓ２４で取得した特徴点Ｑ１〜Ｑｓの座標値に基づいて各座標値を通過する直線を算出する。この直線は、特徴点Ｑ１〜Ｑｓの直線軌跡である。
Ｓ２８では、ＣＰＵ４１は、この得られた直線Ｄは、ロボット座標系のＸ軸に平行な直線であるため、この直線Ｄとカメラ座標系のＸ軸との傾きαを算出し、ＲＡＭ４３に記憶する。なお、カメラ座標系のＸ軸は、図６（ｂ）に示す水平方向画素数（６４０画素）、垂直方向画素数（４８０画素）からなる画像データにおいて、左上角を原点とした水平方向の軸である。又、カメラ座標系のＹ軸は、前記原点から下方へ垂直方向に延びる軸である。
【００５３】
Ｓ２０〜Ｓ２８は、第２ステップに相当する。傾きαは、傾き指標パラメータに相当する。
＜３．カメラ座標系とロボット座標系の相対位置関係の算出＞．
上記のようにＳ１８及びＳ２８で取得されたツール軸２６のカメラ座標系の円弧の中心の座標値（ｍ，ｎ）と、ロボット座標系のＸ軸とカメラ座標系のＸ軸の傾きαに基づいて、ＣＰＵ４１は、カメラ座標系とロボット座標の相対位置関係の算出を行う。この算出は、第３ステップに相当する。
【００５４】
ここで、カメラ座標系とロボット座標の相対位置関係について説明する。
ロボット座標の原点ＯＲ（ｘ０，ｙ０）とツール軸の中心（円弧の中心）Ｔを結ぶ線分のカメラ座標系Ｘ軸との角度をθとすると、下記式（１）で求めることができる。なお、ツール軸２６の中心Ｔのロボット座標値（ｐ，ｑ）は、ＣＰＵ４１は通信によりロボット制御装置１０から取得し、ＲＡＭ４３に格納されている。
【００５５】
θ＝α＋ｔａｎ−１（ｑ／ｐ）                              ……（１）
線分ＯＲ−Ｔのロボット座標系での長さＵは、
√（ｐ２＋ｑ２）  ［ｍｍ］
である。
【００５６】
カメラ座標系での１画素（ピクセル）当たりの実距離をμ［ｍｍ／ｐｉｘｅｌ］とし、カメラ座標系での線分ＯＲ−Ｔの長さＵは、
Ｕ＝  √（ｐ２＋ｑ２）×  １／μ  ［ｐｉｘｅｌ］  ……（２）
である。ここで、μは距離係数である。
【００５７】
又、ロボット座標の原点のＸ座標値（ｘ０）とｍの差分、ロボット座標の原点のＹ座標値（ｙ０）とｎの差分は、それぞれＯＲ−Ｔにｓｉｎθ，ｃｏｓθを乗じたものであるから、パラメータｍ，ｎ，ｐ，ｑ，αより、ロボット座標の原点ＯＲのカメラ座標値（ｘ０，ｙ０）は、下式（３）、式（４）より得られる。
【００５８】
ｘ０＝ｍ−√（ｐ２＋ｑ２）×  １／μ  ×ｃｏｓθ  ……（３）
ｙ０＝ｎ−√（ｐ２＋ｑ２）×  １／μ  ×ｓｉｎθ  ……（４）
このため、ＣＰＵ４１は、式（３）、式（４）を使用して、ロボット座標の原点ＯＲのカメラ座標値（ｘ０，ｙ０）を算出する。θの算出は式（１）を使用する。
【００５９】
このようにしてカメラ座標系とロボット座標系の相対位置関係が算出されて、その結果がＲＡＭ４３等のメモリに格納される。
以後、カメラ座標系とロボット座標系の相対位置関係が得られているため、実作業を行う際に、２次元視覚装置４０からロボット制御装置１０へこの相対位置関係が反映された正しい指示を出すことが可能となる。
【００６０】
本実施形態では、下記の特徴を有する。
（１）  本実施形態のロボット制御システムのカメラ座標系とロボット座標系の結合方法は、第１ステップでは、ハンドツール２５をロボット先端のツール軸２６の周りで回転させて、ハンドツール２５が保持する認識対象治具７０の回転動画像をカメラ３０（固定カメラ）で取得し、前記回転動画像から得られたフレーム差分に基づいて認識対象治具７０の突起７１（特徴部位）が描いた軌跡から円弧（すなわち、閉曲線）を割り出し、前記円弧曲線の中心点をカメラ座標系で算出する。
【００６１】
また、第２ステップでは、ロボット座標系の座標軸であって、ツール軸２６が交差可能な座標平面（ＸＹ座標平面）を構成する２つの座標軸の一方のＸ軸（傾き計測座標軸）に対して、沿うように認識対象治具７０を保持したハンドツール２５を直線移動させて、認識対象治具７０の動画像（直線移動動画像）をカメラ３０で取得し、直線移動動画像に基づいて、カメラ座標系のＸ軸に対するロボット座標系のＸ軸（傾き計測座標軸）の傾きα（傾き指標パラメータ）を算出する。
【００６２】
また、第３ステップでは、円弧曲線（閉曲線）の中心点と、カメラ座標系のＸ軸に対するロボット座標系のＸ軸（傾き計測座標軸）の傾きα（傾き指標パラメータ）に基づいてカメラ座標系とロボット座標系の相対位置関係を算出する。
【００６３】
この結果、ロボット２０（ハンドリングロボット）に認識対象治具７０を把持する際に正確に把持させる必要が無く、又、認識対象治具７０を把持させた状態で、回転及び直線移動させたときに取得した連続画像（動画像）により、ハンドツール２５のツール軸２６中心と、ロボット座標系とカメラ座標系の傾きを簡単に得ることができる。
【００６４】
又、本実施形態の認識対象治具は、ハンドツール２５で保持できる形状としているため、保持する際に厳密な位置決めを行う必要がない。又、厳密な位置決めなしで認識対象治具を把持した場合、認識対象治具の姿勢がバラつくが、保持された後の処理は、回転、直線移動のみであり、治具の端部に設けられた特徴部位に関する特徴点の取得を目的として動画像を得るだけであるため、前記バラつきを吸収することができる。
【００６５】
又、ハンドツール２５を取り外していた従来例と異なり、ハンドツールを外す必要がない。そのため、カメラ座標系とロボット座標系の結合する作業は、ハンドツールの取り外し及び作業終了後の取付作業が必要でなく、短時間で行うことができる。因みに従来技術１での測定作業は、１時間ほどの作業時間が必要であったが、本方法では、５分程度の作業時間ですむ利点がある。又、上記の理由から製造ラインにおいて、この方法を適用した場合、カメラ交換等の際に発生するライン停止による多大な損失を最小限に抑えることができる。
【００６６】
（２）  本実施形態では、フレーム差分を用いて動体、すなわち、認識対象治具７０の特徴部位を検出する処理を行うため、認識対象治具の軌跡の自動的な検出が可能になり、カメラ座標系とロボット座標系の両座標系の関係を得るための測定作業を自動化できる。すなわち、オペレータに特別なスキルが必要でなく、誰でも容易に測定作業を行うことができる。
【００６７】
（３）  本実施形態のロボット制御システムのカメラ座標系とロボット座標系の結合方法では、第２ステップで割り出す閉曲線を円とするとともに、ロボット座標系のＸ軸を傾き計測座標軸とし、傾き指標パラメータを、Ｘ軸に沿ってハンドツール２５をそれぞれ移動させた際の、直線軌跡とＸ軸（傾き計測座標軸）との角度としている。
【００６８】
この結果、ロボット座標系のＸＹ座標平面と、カメラ座標系のＸＹ座標平面とが互いに平行であるとともに、カメラ３０から見たロボット座標系のＸ軸及びＹ軸が直交している場合に、後述する第２実施形態よりも、カメラ座標系とロボット座標系の結合する作業を容易に行うことができる。
【００６９】
（４）  本実施形態では、認識対象治具７０の特徴部位は、一端に設けられた突起７１としている。この結果、治具の端部に設けられた突起７１（特徴部位）に関する特徴点の取得を目的として動画像を得るだけであるため、厳密な位置決めなしで認識対象治具を把持できる。
【００７０】
（５）  本実施形態の２次元視覚装置４０（画像処理装置）は、ハンドツール２５をロボット先端のツール軸２６の周りで回転させて、ハンドツール２５が保持する認識対象治具７０の回転動画像をカメラ３０（固定カメラ）から取得し、回転動画像から得られたフレーム差分に基づいて認識対象治具７０の突起７１（特徴部位）が描いた軌跡から円弧（すなわち、閉曲線）を割り出し、前記円弧曲線の中心点をカメラ座標系で算出するＣＰＵ４１（第１算出手段）を備える。
【００７１】
又、ＣＰＵ４１は、ロボット座標系の座標軸であって、ツール軸２６と直交するロボット座標系を構成する２つの座標軸の一方のＸ軸（傾き計測座標軸）に対して、沿うように認識対象治具７０を保持したハンドツール２５を直線移動させて、認識対象治具７０の動画像（直線移動動画像）をカメラ３０で取得し、直線移動動画像に基づいて、カメラ座標系のＸ軸に対するロボット座標系のＸ軸（傾き計測座標軸）の傾きα（傾き指標パラメータ）を算出する第２算出手段として機能する。
【００７２】
又、ＣＰＵ４１は、円弧曲線（閉曲線）の中心点と、カメラ座標系のＸ軸に対するロボット座標系のＸ軸（傾き計測座標軸）の傾きα（傾き指標パラメータ）に基づいてカメラ座標系とロボット座標系の相対位置関係を算出する第３算出手段として機能する。
【００７３】
この結果、上記（１）に記載の作用効果を奏することができる２次元視覚装置４０を提供できる。
又、認識対象治具７０を回転させるツール軸２６の位置のロボット座標系の座標値を予めロボット制御装置のプログラムにセットして固定化するとともに、ロボット座標系のＸ軸に沿って移動するようにプログラムを組み込みすることにより、全ての演算が自動化できるため、オペレータは、画像処理装置（本実施形態では、２次元視覚装置４０）を作動させながらロボットを決められた通りに動かすだけでよい。
【００７４】
（６）  本実施形態のカメラ座標系とロボット座標系の結合のための画像処理プログラムは、コンピュータを、ツール軸２６を介してロボット２０先端に設けられたハンドツール２５がツール軸２６の周りで回転する際の、ハンドツール２５が保持する認識対象治具７０の回転動画像をカメラ３０（固定カメラ）から取得し、回転動画像からフレーム差分を得て、該フレーム差分に基づく認識対象治具７０の特徴部位が描いた軌跡から円弧（閉曲線）を割り出し、円弧曲線の中心点をカメラ座標系で算出する第１算出手段として機能させる。
【００７５】
又、前記プログラムは、コンピュータを、ロボット座標系の座標軸であって、ツール軸２６が交差可能な座標平面（ＸＹ座標平面）を構成する２つの座標軸の一方のＸ軸（傾き計測座標軸）に対して、沿うように認識対象治具７０を保持したハンドツール２５を直線移動させて、認識対象治具７０の動画像（直線移動動画像）をカメラ３０で取得し、直線移動動画像から得られたフレーム差分に基づいて認識対象治具７０の突起７１の直線軌跡を取得し、直線軌跡に基づいて、カメラ座標系のＸ軸に対するロボット座標系のＸ軸（傾き計測座標軸）の傾きα（傾き指標パラメータ）を算出する第２算出手段として機能させる。
【００７６】
又、前記プログラムは、コンピュータを、円弧曲線（閉曲線）の中心点と、カメラ座標系のＸ軸に対するロボット座標系のＸ軸（傾き計測座標軸）の傾きα（傾き指標パラメータ）に基づいてカメラ座標系とロボット座標系の相対位置関係を算出する第３算出手段として機能させる。
【００７７】
この結果、上記（１）に記載の作用効果を奏することができるプログラムを提供できる。
（７）  本実施形態の記憶媒体としてのＲＯＭ４２は、コンピュータが読み取り可能であって、上記（６）に記載の画像処理プログラムを記憶する。
【００７８】
この結果、上記（１）に記載の作用効果を奏することができるプログラムを記憶したＲＯＭ４２を提供できる。すなわち、上記プログラムを記憶した記憶媒体をコンピュータに実装することにより、簡単にカメラ座標系とロボット座標系の関係を求めることが可能となる。
【００７９】
（第２実施形態）
次に、第２実施形態を図８、図９を参照して説明する。なお、第２実施形態のロボット制御システムのハード構成は、第１実施形態と同一構成であるため、同一構成については、同一符号を付してその説明を省略する。
【００８０】
なお、本実施形態において、ＣＰＵ４１は、第１算出手段、第２算出手段、及び第３算出手段に相当する。
第１実施形態では、ロボット座標系のＸＹ座標平面と、カメラ座標系のＸＹ座標平面とが互いに平行であるとともに、カメラ３０から見たロボット座標系のＸ軸及びＹ軸が直交している場合に有効としている。それに対して、第２実施形態では、ロボット座標系のＸＹ座標平面と、カメラ座標系のＸＹ座標平面とが互いに平行ではないとともに、実機（ロボット）上において、ハンドツール２５をロボット座標系のＸ軸及びＹ軸に沿ってそれぞれ移動させたときの軌跡が直交していない場合に有効である。なお、ここで前記両軌跡が直交しない理由は、ロボットを構成しているアームの連結構成に機械誤差があるためである。
【００８１】
本実施形態では、２次元視覚装置４０のＲＯＭ４２に格納されている画像処理プログラムが第１実施形態の画像処理プログラムと異なっている。ＲＯＭ４２は、画像処理プログラムを記憶する記憶媒体に相当する。
【００８２】
（第２実施形態の作用）
本実施形態のロボット制御システムにおいて、カメラ３０のカメラ座標系とロボット２０のロボット座標系を結合する手順について説明する。
【００８３】
＜１．ロボットのハンドツールの中心座標＞
図８（ａ）は、ＣＰＵ４１が、カメラ座標系とロボット座標系の結合のための画像処理プログラムを実行する際、ロボットのハンドツール２５の中心座標の求め方のフローチャートである。同フローチャートにおいて、Ｓ１０〜Ｓ１４は、第１実施形態と同様であるため、説明を省略するが、なお、Ｓ１０では、第１実施形態で記述したようにツール軸２６は、前記制御により、ロボット座標系のＸ座標値及びＹ座標値（ｐ，ｑ）で回転する。
【００８４】
Ｓ１６Ａでは、ＣＰＵ４１は、Ｓ１４で取得した特徴点Ｐ１〜Ｐｒの座標値に基づいて各座標値を通過する軌跡から楕円弧（すなわち、閉曲線としての楕円を形成する円弧）を算出（割り出し）する。
【００８５】
ここで、ロボット座標系のＸＹ座標平面と、カメラ座標系のＸＹ座標平面とが互いに平行ではない場合、カメラ３０で撮像した得られた認識対象治具７０の特徴部位（突起７１）の軌跡は、楕円を描くため、Ｓ１６Ａでは、この楕円弧を算出するようにしている。
【００８６】
Ｓ１８Ａでは、ＣＰＵ４１は、この得られた楕円弧の中心点（中心）、すなわち、割り出した楕円の中心点の座標値（ｍ，ｎ）を算出し、ＲＡＭ４３に記憶する。楕円の中心点の求め方は、例えば、楕円を割り出した場合、その長径の両端の各座標値をそれぞれ算出し、その両端の１／２の位置の座標を楕円の中心座標とする。なお、中心の求め方は前記方法に限定するものではない。
【００８７】
この算出された楕円の中心の座標値（ｍ，ｎ）は、ツール軸２６のカメラ座標系の座標値である。
Ｓ１０〜Ｓ１８Ａは、第１ステップに相当する。
【００８８】
＜２．ロボット座標系の傾き＞
図８（ｂ）において、Ｓ２０Ａ〜Ｓ２８Ａは、ＣＰＵ４１が、カメラ座標系とロボット座標系の結合のための画像処理プログラムを実行する際、ロボット座標系のカメラ座標系に対する傾きの求め方のフローチャートである。
【００８９】
Ｓ２０Ａでは、前記画像処理プログラムが実行される際に、ロボット制御装置１０により下記で説明するロボット２０の作動制御が行われる。
この作動制御は、オペレータが入力装置１５に対する入力操作により、手動制御されてもよく、或いは、カメラ座標系とロボット座標系の結合のための画像処理プログラムを実行する際に、ロボット制御装置１０のＲＯＭに格納された自動制御プログラムに基づいて自動制御で行うようにしてもよい。
【００９０】
ロボット２０は上記手動制御又は自動制御により、図２（ａ）に示す認識対象治具７０を真空吸着パッド２７にて吸着保持し、かつ、カメラ３０とワーク台６０間の位置であってカメラ３０の撮像範囲内に入るように位置した状態で、ツール軸２６をロボット座標系のＸ軸に沿うように、直線距離Ｌ分、直線移動する。この直線距離は予め設定された距離である。
【００９１】
この後、上記手動制御又は自動制御により、図２（ａ）に示す認識対象治具７０を真空吸着パッド２７にて吸着保持し、かつ、カメラ３０とワーク台６０間の位置であってカメラ３０の撮像範囲内に入るように位置した状態で、ツール軸２６をロボット座標系のＹ軸に沿うように、直線距離Ｌ分、直線移動する。
【００９２】
すなわち、本実施形態では、ロボット座標系において、前記ツール軸２６を交差可能な座標平面を構成する２つの座標軸、すなわち、Ｘ軸（傾き計測座標軸）及びＹ軸（傾き計測座標軸）に対して、それぞれ沿うように認識対象治具７０、すなわちハンドツール２５を移動させる。
【００９３】
このときの、認識対象治具７０の姿勢は、正確に水平である必要はなく、傾いていてもよい。ハンドツール２５による保持位置は、前述したように特徴部位がカメラ３０から見た場合に、ハンドツール２５に隠れないようにされていれば、任意の位置でよい。
【００９４】
又、Ｓ２０Ａでは、上記のようにしてＸ軸、並びに、Ｙ軸に沿って直線移動中の認識対象治具７０は、カメラ３０により撮像されて、その画像信号は、２次元視覚装置４０に入力される。２次元視覚装置４０に入力された画像信号は、ＣＰＵ４１により、軸（Ｘ軸及びＹ軸）別に、時系列に従って所定のフレームレートでフレーム画像が生成されて、画像メモリ４５に格納される。
【００９５】
前記フレーム画像は直線移動動画像に相当する。
Ｓ２２Ａでは、ＣＰＵ４１は、軸（Ｘ軸及びＹ軸）毎に、時系列順に生成されたフレーム画像において、時間的に隣接するフレーム画像間のフレーム差分を抽出する。
【００９６】
Ｓ２４Ａでは、ＣＰＵ４１は、前記フレーム差分結果である画像データ（以下、フレーム差分画像という）中において、認識対象治具７０の突起７１（特徴部位）の各軸に沿って直線移動した際、それぞれの始点と終点のカメラ座標系の座標値を取得する。この突起７１の座標値の取得は、フレーム差分画像を予め定められた閾値で２値化処理等の公知の画像処理を行い、始点及び終点を割り出して行う。
【００９７】
本実施形態では、これらのそれぞれの始点及び終点の座標値を、ベクトルとして扱う。
Ｓ２０Ａ〜Ｓ２４Ａは、第２ステップに相当する。
＜３．カメラ座標系とロボット座標系の相対位置関係の算出＞．
上記のようにＳ１８Ａで取得されたツール軸２６のカメラ座標系の楕円弧の中心の座標値（ｍ，ｎ）と、Ｓ２４Ａで取得された始点及び終点の座標値に基づいた２つのベクトルに基づいて、ＣＰＵ４１は、カメラ座標系とロボット座標の相対位置関係の算出を、Ｓ２８Ａで行う。この算出は、第３ステップに相当する。
【００９８】
まず、ロボット座標系原点のカメラ座標値（ｘ０，ｙ０）を求める。
具体的には、直線距離Ｌ（ｍｍ）移動したときの、Ｘ軸に沿った始点、終点を、
Ｕｓ（ｘ１，ｙ１）、Ｕｅ（ｘ２，ｙ２）
とし、Ｙ軸に沿った始点、終点を、
Ｖｓ（ｘ３，ｙ３）、Ｖｅ（ｘ４，ｙ４）
とする。
【００９９】
ロボットのＸ軸に沿った長さ１ｍｍの単位ベクトルは、
【０１００】
【数１】
0005729219.tif 000002
ロボットのＹ軸に沿った長さ１ｍｍの単位ベクトルは、
【０１０１】
【数２】
0005729219.tif 000003
となる。
【０１０２】
ロボットのＸ軸に沿った単位ベクトルは、カメラ座標系のＸ軸（傾き計測座標軸）に対する傾き指標パラメータに相当する。ロボットのＹ軸に沿った単位ベクトルは、カメラ座標系のＹ軸（傾き計測座標軸）に対する傾き指標パラメータに相当する。
【０１０３】
図９（ａ）に示すロボット座標系原点ＯＲからツール軸２６の中心Ｔまでのベクトルを、２つの単位ベクトルの合成ベクトルとして表すと、以下のようになる。
【０１０４】
【数３】
0005729219.tif 000004
これに、今までに取得したパラメータを代入すると、
【０１０５】
【数４】
0005729219.tif 000005
となる。
【０１０６】
ＣＰＵ４１は、式（８）を解いて、ロボット座標原点のカメラ座標値（ｘ０，ｙ０）を求める。
次に、ＣＰＵ４１は、カメラ座標値からロボット座標値への変換式を求める。すなわち、カメラ座標系とロボット座標の相対位置関係の算出を行う。
【０１０７】
具体的には、上記のように取得したｘ０，ｙ０、及び式（５）、式（６）で表される単位ベクトルを使用して、ＣＰＵ４１は、カメラ座標値をロボット座標値に変換する変換式を求める。
【０１０８】
図９（ｂ）に示すカメラ座標値（ｘ，ｙ）の点Ｐをロボット座標系に変換した時の座標値を（Ｘ，Ｙ）とすると、
【０１０９】
【数５】
0005729219.tif 000006
となる。この式（９）に、今までに取得したパラメータを代入すると、
【０１１０】
【数６】
0005729219.tif 000007
となる。ＣＰＵ４１は、この式（１０）から得られる連立方程式を解いて、下記式（１１）、式（１２）を求める。
【０１１１】
【数７】
0005729219.tif 000008
【０１１２】
【数８】
0005729219.tif 000009
【０１１３】
【数９】
0005729219.tif 000010
なお、式（１３）〜式（１６）は式（１１）、式（１２）中で使用したＵｘ、Ｕｙ、Ｖｘ、Ｖｙの定義のための式である。
【０１１４】
このようにしてカメラ座標系とロボット座標系の相対位置関係が算出されて、その結果がＲＡＭ４３等のメモリに格納される。
以後、カメラ座標系とロボット座標系の相対位置関係が得られているため、実作業を行う際に、２次元視覚装置４０からロボット制御装置１０へこの相対位置関係が反映された正しい指示を出すことが可能となる。
【０１１５】
第２実施形態では、第１実施形態の（２）、（４）の効果に加えて、下記の特徴がある。
（１）  ロボット制御システムのカメラ座標系とロボット座標系の結合方法は、第１ステップでは、ハンドツール２５をロボット先端のツール軸２６の周りで回転させて、ハンドツール２５が保持する認識対象治具７０の回転動画像をカメラ３０（固定カメラ）で取得し、前記回転動画像から得られたフレーム差分に基づいて認識対象治具７０の突起７１（特徴部位）の楕円弧（すなわち、閉曲線）を割り出し、前記楕円弧の中心点をカメラ座標系で算出する。
【０１１６】
また、第２ステップでは、ロボット座標系の座標軸であって、ツール軸２６が交差可能な座標平面を構成するＸ軸（傾き計測座標軸）及びＹ軸（傾き計測座標軸）に対して、沿うように認識対象治具７０を保持したハンドツール２５を直線移動させて、認識対象治具７０の直線移動動画像をカメラ３０（固定カメラ）で取得し、直線移動動画像に基づいて、カメラ座標系のＸ軸（傾き計測座標軸）及びＹ軸（傾き計測座標軸）に対する傾き指標パラメータとなるベクトルを算出する。
【０１１７】
また、第３ステップでは、楕円弧（閉曲線）の中心点と、カメラ座標系のＸ軸，Ｙ軸に対するロボット座標系のＸ軸（傾き計測座標軸）、Ｙ軸（傾き計測座標軸）に対する傾き指標パラメータとなるベクトルに基づいてカメラ座標系とロボット座標系の相対位置関係を算出する。
【０１１８】
この結果、ロボット２０（ハンドリングロボット）に認識対象治具７０を把持する際に正確に把持させる必要が無く、又、認識対象治具７０を把持させた状態で、回転及び直線移動させたときに取得した連続画像（動画像）により、ハンドツール２５のツール軸２６中心と、ロボット座標系とカメラ座標系の傾きを簡単に得ることができる。
【０１１９】
又、本実施形態によれば、ロボット座標系のＸＹ座標平面と、カメラ座標系のＸＹ座標平面とが互いに平行ではないとともに、ロボット座標系のＸ軸及びＹ軸とが直交していない場合においても、ハンドツールのツール軸中心と、ロボット座標系とカメラ座標系の傾きを簡単に得ることができる。
【０１２０】
（２）  第２実施形態の２次元視覚装置４０（画像処理装置）は、ハンドツール２５をロボット先端のツール軸２６の周りで回転させて、ハンドツール２５が保持する認識対象治具７０の回転動画像をカメラ３０（固定カメラ）から取得し、回転動画像から得られたフレーム差分に基づいて認識対象治具７０の突起７１（特徴部位）が描いた軌跡から楕円弧（すなわち、閉曲線）を割り出し、前記楕円弧（楕円）の中心点をカメラ座標系で算出するＣＰＵ４１（第１算出手段）を備える。
【０１２１】
又、ＣＰＵ４１は、ロボット座標系の座標軸であって、ツール軸２６が交差可能な座標平面を構成するＸ軸（傾き計測座標軸）及びＹ軸（傾き計測座標軸）に対して、沿うように認識対象治具７０を保持したハンドツール２５を直線移動させて、認識対象治具７０の直線移動動画像をカメラ３０（固定カメラ）で取得し、直線移動動画像に基づいて、カメラ座標系のＸ軸（傾き計測座標軸）及びＹ軸（傾き計測座標軸）に対する傾き指標パラメータとなるベクトルを算出する第２算出手段として機能する。
【０１２２】
又、ＣＰＵ４１は、楕円弧（閉曲線）の中心点と、カメラ座標系のＸ軸，Ｙ軸に対するロボット座標系のＸ軸（傾き計測座標軸）、Ｙ軸（傾き計測座標軸）に対する傾き指標パラメータとなるベクトルに基づいてカメラ座標系とロボット座標系の相対位置関係を算出する第３算出として機能する。
【０１２３】
この結果、第２実施形態の（１）に記載の作用効果を奏することができる２次元視覚装置４０を提供できる。
第２実施形態の２次元視覚装置４０では、認識対象治具７０を回転させるツール軸２６の位置のロボット座標系の座標値を予めロボット制御装置のプログラムにセットして固定化するとともに、ロボット座標系のＸ軸、及びＹ軸に沿って移動するようにプログラムを組み込みすることにより、全ての演算が自動化できるため、オペレータは、画像処理装置（本実施形態では、２次元視覚装置４０）を作動させながらロボットを決められた通りに動かすだけでよい。
【０１２４】
（３）  本実施形態のカメラ座標系とロボット座標系の結合のための画像処理プログラムは、コンピュータを、ツール軸２６を介してロボット２０先端に設けられたハンドツール２５がツール軸２６の周りで回転する際の、ハンドツール２５が保持する認識対象治具７０の回転動画像をカメラ３０（固定カメラ）から取得し、回転動画像から得られたフレーム差分に基づいて認識対象治具７０の突起７１（特徴部位）が描いた軌跡から楕円弧（閉曲線）を割り出し、楕円弧の中心点をカメラ座標系で算出する第１算出手段として機能させる。
【０１２５】
又、前記プログラムは、コンピュータを、ロボット座標系の座標軸であって、ツール軸２６が交差可能な座標平面を構成するＸ軸（傾き計測座標軸）及びＹ軸（傾き計測座標軸）に対して、沿うように認識対象治具７０を保持したハンドツール２５を直線移動させて、認識対象治具７０の直線移動動画像をカメラ３０（固定カメラ）で取得し、直線移動動画像に基づいて、カメラ座標系のＸ軸（傾き計測座標軸）及びＹ軸（傾き計測座標軸）に対する傾き指標パラメータとなるベクトルを算出する第２算出手段として機能させる。
【０１２６】
又、前記プログラムは、コンピュータを、楕円弧（閉曲線）の中心点と、カメラ座標系のＸ軸，Ｙ軸に対するロボット座標系のＸ軸（傾き計測座標軸）、Ｙ軸（傾き計測座標軸）に対する傾き指標パラメータとなるベクトルに基づいてカメラ座標系とロボット座標系の相対位置関係を算出する第３算出として機能させる。
【０１２７】
この結果、第２実施形態の（１）に記載の作用効果を奏することができるプログラムを提供できる。
（４）  本実施形態の記憶媒体としてのＲＯＭ４２は、コンピュータが読み取り可能であって、第２実施形態の（３）に記載の画像処理プログラムを記憶する。
【０１２８】
この結果、第２実施形態の（１）に記載の作用効果を奏することができるプログラムを記憶したＲＯＭ４２を提供できる。すなわち、上記プログラムを記憶した記憶媒体をコンピュータに実装することにより、簡単にカメラ座標系とロボット座標系の関係を求めることが可能となる。
【０１２９】
（参考例）
次に、参考例を図１０〜図１４を参照して説明する。参考例は下記の問題を解消するためのものである。
【０１３０】
ロボットにより部品をハンドリング等により取り扱う工程では、画像処理技術を利用してワークの位置・姿勢を検出することが行われている。この場合、前記画像処理技術では、ワーク外形の輪郭線を検出する手法が行われることが多い。
【０１３１】
透明なガラスだけで構成されたワーク（例えば、車両のフロントウインドウ、リヤウインドウ）の場合は、カメラの外形のエッジを検出するのが難しいため、エッジをうまく撮影するための様々な手法が考案されている（特許文献３参照）。
【０１３２】
一方、ガラスとガラス以外のものと一体になっているウインドウ（例えばハメ殺しのクォータウインドウ）の場合は、ラバーや樹脂からなるモールが一体に形成されてエッジが形成されているため、ワークのエッジをカメラで検出することが容易であるが、下記の大きな問題がある。
【０１３３】
すなわち、柔らかい樹脂やラバーで構成されたエッジの部分は、柔らかくて、変形しやすいため、保護のため箱などに収納されて運ばれる間にエッジが変形してしまうことが多い。この変形した状態のままカメラで検出しようとすると、エッジを誤った形状で認識し、別の種類のワークと誤認する問題がある。又、位置計測の場合は、誤差が発生する問題がある。
【０１３４】
外形輪郭線を使わずにワークの位置・姿勢を計測する方法として、ワーク表面に成形、又は印刷したアライメントマークを検出する方法もある。しかし、このような細工を施すと、外観品質を損なうので、意匠面側をカメラに向けワークを置く設定の場合は、この手法は使えない。
【０１３５】
外形輪郭線を使わない別の案として、モールの内側の線（ガラスとモールの境界線）を検出する方法も考えられる。図１５に示すようにモール２００はガラス２１０との一体成形時に型で規制されるため精度がよく、接着されているので、変形もない。しかし、ガラス２１０の片面（反意匠面）側にはモールと同色のセラミックが見栄え向上のため塗布されており、透明なガラスを通してこのセラミックが見えるため、この部分を撮像して得られた画像は、黒く見えてしまい、このため、画像処理でガラスとモールの境界線を認識することが極めて難しい問題がある。
【０１３６】
さらに、上記例において内側のセラミックのエッジを検出する方法も考えられるが、セラミックは吹き付けで塗着されるため、位置精度が良くない上、ウインドウがプライバシーガラスのように着色されたガラスにより構成されている場合、セラミックのエッジが見づらくなり、画像処理によるエッジ検出は困難である問題がある。
【０１３７】
このようにワークの位置・姿勢の計測で、一般的な用いられる外形輪郭線を利用する方法は、輪郭線が変形しやすいモールの場合には使用できず、精度が良く、変形もしないモールの場合においても画像認識処理によるエッジの識別が困難である問題がある。
【０１３８】
上記の問題を解決するために、本参考例のロボット制御システムは、ロボット制御装置１０及びハンドリングロボット（以下、単にロボットという）２０、固定カメラとしてのカメラ３０及びワーク形状認識装置としての２次元視覚装置４０を備えている。これらのハード構成は、第１実施形態と同一構成については、図１０に示すように同一符号を付してその説明を省略する。又、ロボット制御システムは、図１０に示すように、ロボットが把持するワークを照明する照明手段としての照明装置１００が設けられている。
【０１３９】
なお、本実施形態では、ワークＷは、自動車のウインドウガラスであって、透明材質であるガラスからなる本体Ｗａと、本体Ｗａの全周部に配置されたモールＷｂとを有する。モールＷｂは、投射された光が拡散する拡散反射部材に相当する。モールＷｂは、ゴム又は合成樹脂により形成されている。図１２に示すように、モールＷｂは、本体Ｗａの周縁部に対して溝Ｗｃにより嵌合されるとともに、本体Ｗａの反意匠面側（図１２において下面側）の一部にはモールＷｂと同色のセラミックＷｄが塗布されている。
【０１４０】
照明装置１００は、図１１に示すように、有蓋四角箱状のケース１０１と、ケース１０１の内頂部に配置された複数の発光体１０２と、ケース１０１の底部開口を閉塞して配置された拡散板１０３とにより構成されている。発光体１０２は、本実施形態では、蛍光灯、ＬＥＤ（Ｌｉｇｈｔ  Ｅｍｉｔｔｉｎｇ  Ｄｉｏｄｅ）等により構成されている。なお、ケース１０１の箱形状は限定されるものではない。
【０１４１】
又、照明装置１００と、図示しないテーブル上のワークＷと、カメラ３０との配置関係は、下記の関係にある。なお、カメラ３０内には、ＣＣＤ、或いはＣＭＯＳ等からなる撮像素子３２、及びレンズ３３を備えている。
【０１４２】
図１１に示すように、カメラ３０内部の撮像素子３２の撮像エリアを規定する一方の線とレンズ主点３４を結ぶ線を直線Ａとし、反対の縁とレンズ主点３４を結ぶ線を直線Ｂとし、これらの直線Ａ，Ｂをウインドウガラス（本体Ｗａ）の表面で入射角θ１＝反射角θ２、入射角θ３＝反射角θ４となるように折り返した線をそれぞれ直線Ａ’，Ｂ’とする。図１１では、本体Ｗａの表面から延長した仮想ガラス面上で入射角θ１＝反射角θ２、入射角θ３＝反射角θ４となるように、直線Ａ，Ｂと直線Ａ’，Ｂ’が折り返されている。
【０１４３】
撮像素子３２は、一般的には撮像面が長方形であるため、この直線Ａ，Ａ’を撮像素子３２の撮像面の縁に沿って一周させると、直線Ａ，Ａ’によって四角錐が形成される。なお、直線Ａ，Ａ’によって形成される四角錐は、図１１では、仮想ガラス面、並びに本体Ｗａの表面において、折り返されたものとなる。
【０１４４】
又、直線Ｂ，Ｂ’を撮像素子３２の撮像面の縁に沿って一周させると、直線Ｂ，Ｂ’によって四角錐が形成される。なお、直線Ｂ，Ｂ’によって形成される四角錐は、図１１では、仮想ガラス面、並びに本体Ｗａの表面において、折り返されたものとなる。
【０１４５】
照明装置１００は、これらの四角錐を全て遮るような配置及び形状としている。この条件下において、照明装置１００のワークＷに対する照明角度、ワークＷとの距離は任意に設定されていてよい。この条件において、図１２に示すように、カメラ視野に入った本体Ｗａでは、照明装置１００から投射された光が正反射されて撮像素子３２により撮像されることになる。又、カメラ視野に入ったモールＷｂでは、図１２に示すように照明装置１００から投射された光が拡散反射されて撮像素子３２により撮像されることになる。
【０１４６】
なお、照明装置１００はワークＷから遠くになればなるほど大型化するため、なるべく、ロボットと干渉しない位置であって近い距離が望ましい。
又、本実施形態では、発光体１０２は、モールＷｂの表面色に対して補色関係にある色を発光するように設けられている。
【０１４７】
補色は、色相環で、対向位置にある色同士のことをいい、ある色に対して、重ねると黒になる関係の色を言う。例えば、緑色の補色はマゼンタ色であり、両者が重ねられると黒色となる。
【０１４８】
（参考例の作用）
さて、上記のように構成された２次元視覚装置４０の作用を説明する。
前記説明した条件下で照明装置１００によりワークＷを照明すると、図１２に示すように、カメラ視野内において、本体Ｗａでは正反射し、モールＷｂでは拡散反射する。ここで、正反射した反射光の色は、光源色に支配されて、本体Ｗａは光源色で撮像素子３２により撮像される。一方、モールＷｂは、拡散反射するため、その反射光はモールＷｂの表面色に支配される。
【０１４９】
ところで、発光体１０２は、モールＷｂの表面色に対して補色関係にある色でモールＷｂに対して投射しているため、モールＷｂは黒く見えることになる。図１３の例では、マゼンタ色のモールＷｂの場合、発光体１０２が補色である緑色を発光させて照明を当てると、モールＷｂはその緑色の光を吸収するため、黒く見えることになる。
【０１５０】
撮像素子３２は、その黒色のモールＷｂを撮像する。
２次元視覚装置４０は、カメラ３０により、取得した画像に対して公知の画像処理を行い、カメラ視野に入った、光源色で撮像された領域（本体Ｗａの領域、すなわち、明るい部分）と、黒色で撮像された領域（モールＷｂの領域、すなわち、暗い部分）との境界線を抽出する。この境界線の抽出により、該境界線で規定される本体Ｗａの外形形状が得られる。
【０１５１】
このワークＷの本体Ｗａの外形形状の取得により、２次元視覚装置４０は、カメラ３０は固定カメラであることから、カメラ座標系で予め設定された基準位置におけるワークＷの外形形状と比較して、その基準位置との位置ずれ量を算出することが可能となる。
【０１５２】
本参考例において、発光体１０２は、モールＷｂの表面色とは補色関係の色を発光するようにしたが、モールＷｂが黒色の場合は、補色関係の色はないため、発光体１０２は、白色光を発光する様にしてもよい。
【０１５３】
図１４は、黒色のモールＷｂの場合、発光体１０２が白色を発光させて照明を当てると、モールＷｂは白色の光を吸収するため、黒く見えることになる例を示している。
・  なお、前記参考例では、本体Ｗａの全周部にモールＷｂを配置したが、モールの配置は全周部に限定するものではない。全周部にモールＷｂを配置していない場合、ワークＷが載置されるワーク台の載置面とモールＷｂが配置されていない本体Ｗａの部分との境界線（外形線）が識別できるように、前記載置面は拡散反射する面とすることが好ましい。
【０１５４】
・  参考例では、発光体１０２自身が、モールＷｂの補色の関係の色を発光するようにしたが、拡散板１０３が補色関係の色のみを透過して拡散するようにしてもよく、拡散板１０３と発光体１０２との間に補色関係の色を透過させるフィルターを介在させるようにしてもよい。
【０１５５】
・  前記参考例では、ワークＷはウインドウガラスとしたが、ウインドウガラスに限定されるものではない。透明体を本体として、その本体の周囲に拡散反射部材が設ける構造のものであれば、限定されるものではない。例えば、ガラス戸、ガラス蓋等の形状認識装置として具体化できるものである。
【０１５６】
なお、本発明の実施形態は前記各実施形態に限定されるものではなく、下記のように変更しても良い。
・  前記各実施形態では、ロボットのハンドツール２５は、真空吸着パッド付きのハンド装置としたが、機械式チャック装置に代えても良い。この場合、例えば、機械式チャック装置が互いに対向する指部材で、ワークを把持可能である場合、図２（ｂ）に示すように、認識対象治具７０の形状は、長手方向に延びる互いに反対側に位置する両側部に凹部７２を設けるものとする。なお、凹部７２の形状は、限定するものではない。この変形例の認識対象治具においても、特徴的部位としての端部には、突起７１が設けられている。
【０１５７】
・  前記各実施形態では、ロボットのハンドツール２５は、真空吸着パッド付きのハンド装置としたが、磁気によってワークを吸着する磁気吸着式チャック装置であってもよい。この場合、認識対象治具は、磁気吸着式チャック装置により磁気吸着可能な材質で形成するものとする。
【０１５８】
・  前記各実施形態では、ＲＯＭ４２をカメラ座標系とロボット座標系の結合のための画像処理プログラムを記憶する記憶媒体としたが、画像処理プログラムを記憶する記憶媒体は、ＲＯＭ４２に限定されるものではない。ＲＯＭ４２の代わりに、ＣＰＵ４１が書き込み、読み取り可能な外部記憶装置としてハードディスクに具体化したり、或いは、ＵＳＢメモリ等の半導体記憶装置に具体化してもよい。
【０１５９】
・  前記各実施形態のロボットは６軸ロボットに具体化したが、６軸ロボットに限定されるものではなく、７軸以上のロボット、或いは５軸未満のロボットであって、アーム先端部において、ツール軸の回転と、アームの先端部の直線移動が可能なロボットであってもよい。
【０１６０】
・  前記各実施形態では、ロボット座標系を、ロボットの台座（ベース）を基準にした座標系（ベース座標系）としたが、ユーザが任意位置に設定する座標系（ユーザ座標系）としてもよい。
【０１６１】
・  前記各実施形態では、Ｓ２０では、カメラ３０とワーク台６０間の位置であってカメラ３０の撮像範囲内に入るように位置した状態で、ツール軸２６をロボット座標系のＸ軸に平行に直線移動するようにしたが、ツール軸２６をロボット座標系のＹ軸に平行に直線移動するようにしてもよい。この場合においても、ロボット座標系のＹ軸とカメラ座標系の傾きが得られるため、この傾きに基づいて、同様にしてカメラ座標系とロボット座標系の相対位置関係を算出することができる。
【０１６２】
・  第１実施形態では、Ｓ１０〜Ｓ１８を実行した後に、Ｓ２０〜Ｓ２８を実行したが、Ｓ２０〜Ｓ２８を実行後、Ｓ１０〜Ｓ１８を実行してもよい。
・  第２実施形態では、Ｓ１０〜Ｓ１８Ａを実行した後に、Ｓ２０Ａ〜Ｓ２８Ａを実行したが、Ｓ２０Ａ〜Ｓ２８Ａを実行後、Ｓ１０〜Ｓ１８Ａを実行してもよい。
【０１６３】
・  第２実施形態では、Ｓ２０Ａにおいて、ツール軸２６をロボット座標系のＸ軸及びＹ軸に沿うようにそれぞれ同じ直線距離Ｌ分、直線移動するようにしたが、異なる直線距離Ｌ１，Ｌ２で移動するようにしてもよい。この場合、式（５）、式（６）、式（８）、式（１０）、式（１３）〜式（１４）で使用したＬの代わりに、Ｌ１，Ｌ２を使用するものとする。
【０１６４】
次に、参考例から想起できる技術的思想を以下に記載する。
技術的思想（１）は、光源色を、拡散反射部材の表面色の補色関係の色とすることにより、画像処理手段が取得する画像において、拡散反射部材が撮像された画像領域は黒色となり、正反射光が得られた画像領域は白色となる。このため、ワークにおける本体と拡散反射部材間における境界の形状認識は、前記境界以外の拡散反射部材の変形の影響を受けず精度良く行うことができる。
【０１６５】
（１）  表面が正反射可能であるとともに透明材質からなる本体の周部に拡散反射部材が配置されたワークを撮像するカメラと、
光を拡散する拡散板を有するとともに、前記拡散反射部材の表面色と補色関係の色を投射して前記拡散板により面光源として前記ワークに対して照明する照明手段と、
前記照明手段から投射されて前記ワークの本体の表面で正反射した正反射光、及び前記拡散反射部材で拡散反射した拡散反射光を、前記カメラで取得して得られた画像中の前記正反射光の光源色と前記拡散反射光による拡散反射部材の表面色の違いに基づいて前記本体及び拡散反射部材の形状認識を行う画像処理手段を備えることを特徴とするワーク形状認識装置。
【０１６６】
技術的思想（２）は、光源色を白色光とすることにより、拡散反射部材が黒色の場合、画像処理手段が取得する画像において、拡散反射部材が撮像された画像領域は黒色となり、正反射光が得られた画像領域は白色となる。このため、ワークにおける本体と拡散反射部材間における境界の形状認識は、前記境界以外の拡散反射部材の変形の影響を受けず精度良く行うことができる。
【０１６７】
（２）  表面が正反射可能であるとともに透明材質からなる本体の周部に拡散反射部材が配置されたワークを撮像するカメラと、
光を拡散する拡散板を有するとともに、白色光を投射して前記拡散板により面光源として前記ワークに対して照明する照明手段と、
前記照明手段から投射されて前記ワークの本体の表面で正反射した正反射光、及び前記拡散反射部材で拡散反射した拡散反射光を、前記カメラで取得して得られた画像中の前記正反射光の光源色と前記拡散反射光による拡散反射部材の表面色の違いに基づいて前記本体及び拡散反射部材の形状認識を行う画像処理手段を備えることを特徴とするワーク形状認識装置。
【０１６８】
技術的思想（３）によれば、ワークの本体が、透明材質であるガラス又は合成樹脂からなり、前記拡散反射部材がモールの場合のワークの形状認識を精度良く行うことができる。
【０１６９】
（３）  前記ワークの本体が、透明材質であるガラス又は合成樹脂からなり、前記拡散反射部材がモールであることを特徴とする技術的思想（１）又は（２）に記載のワーク形状認識装置。
【符号の説明】
【０１７０】
１０…ロボット制御装置、２０…ロボット、２５…ハンドツール、
２６…ツール軸、３０…カメラ（固定カメラ）、
４０…２次元視覚装置（画像処理装置）、
４１…ＣＰＵ（第１算出手段、第２算出手段、第３算出手段）、
４２…ＲＯＭ（記憶媒体）、７０…認識対象治具、７１…突起（特徴部位）。
【図１】
0005729219.tif 000011
【図２】
0005729219.tif 000012
【図３】
0005729219.tif 000013
【図４】
0005729219.tif 000014
【図５】
0005729219.tif 000015
【図６】
0005729219.tif 000016
【図７】
0005729219.tif 000017
【図８】
0005729219.tif 000018
【図９】
0005729219.tif 000019
【図１０】
0005729219.tif 000020
【図１１】
0005729219.tif 000021
【図１２】
0005729219.tif 000022
【図１３】
0005729219.tif 000023
【図１４】
0005729219.tif 000024
【図１５】
0005729219.tif 000025
【図１６】
0005729219.tif 000026
【図１７】
0005729219.tif 000027
【図１８】
0005729219.tif 000028