(57)【要約】【課題】  スリット（又は疑似スリット）光を対象物表面上に照射し、特定の箇所の３次元位置を計測する３次元視覚センサの計測精度と信頼性の向上。【解決手段】  ワーク１３上の求める点１１を含む２次元的な特徴部１５の２次元画像を取得し、Ｎ個（Ｎ≧２）の点を定める。スリット光を投光器１で投光し、投光箇所１９の画像を取得し、Ｍ個（Ｍ≧２）の点を定める。Ｎ個の点とカメラ２内の１点とを結ぶ各直線と、スリット光平面の交点の３次元位置をセンサ座標系上で求め、参照座標系（スリット平面上or同平面に平行）上のデータに座標変換する。同様に、Ｍ個の点の３次元位置を参照座標系上のデータに座標変換する。最小自乗法等でＭ個、Ｎ個の点が各々定める直線（or曲線）を求め、両者の交点を求め逆変換でセンサ座標系上でのデータに戻す。特徴部検出にテンプレートマッチングの手法を用いても良い。【選択図】          図２
2005201861.tif 000002
【特許請求の範囲】
【請求項１】
スポット光又はスリット光を参照光として被計測対象物表面上に照射した状況を第１撮像手段で撮像し、取得した画像上の前記参照光入射位置と前記参照光の照射方向とに基づき前記被計測対象物表面上に前記参照光が入射された３次元位置を検出する手段を備えた３次元視覚センサにおいて、
前記スポット光を走査した際に作られる平面又はスリット光を含む平面である参照光平面と前記被計測対象物表面との交線上に、該交線の形状を特定するのに必要な複数点の３次元位置を検出し、３つの座標軸の内の２つの座標軸が張る平面が前記参照光平面と一致または平行関係になるように設定された３次元直交座標系上で前記交線を求める手段と、
第２撮像手段により前記被計測対象物を撮像して取得した画像から、前記被計測対象物に関する特徴線の画像平面上での位置を検出する手段と、
該画像平面上の前記特徴線を投影変換により前記参照光平面に投影し、投影された投影特徴線を前記３次元直交座標系上で求める手段と、
前記交線と前記投影特徴線との交点を前記３次元直交座標系上での座標値で求める手段と、
該求めた交点の座標値をロボットに設定されている座標系と前記３次元視覚センサに設定されている座標系のうち、少なくとも１つの座標系上の３次元座標値に変換する手段と、
を備えたことを特徴とする３次元視覚センサ。
【請求項２】
前記第１撮像手段が前記第２撮像手段を兼ねる、請求項１に記載の３次元視覚センサ。
【請求項３】
スポット光又はスリット光を参照光として被計測対象物表面上に照射した状況を撮像手段で撮像し、取得した画像上の前記参照光入射位置と前記参照光の照射方向とに基づき前記被計測対象物表面上に前記参照光が入射された３次元位置を検出する手段を備えた３次元視覚センサにおいて、
前記スポット光を走査した際に作られる平面又はスリット光を含む平面である参照光平面と前記被計測対象物表面との交線上に、該交線の形状を特定するのに必要な複数点の３次元位置を検出し、３つの座標軸の内の２つの座標軸が張る平面が前記参照光平面と一致または平行関係になるように設定された３次元直交座標系上で前記交線を求める手段と、
予め用意された交線の形状パターンのテンプレートと前記３次元直交座標系で求めた交線とのマッチングを行なうことにより前記交線上の検出個所を特定し、該検出個所を前記３次元直交座標系上の座標値で求める手段と、
該求めた交点の座標値をロボットに設定された座標系と前記３次元視覚センサに設定された座標系のうち、少なくとも１つの座標系の３次元座標値に変換する手段と、
を備えたことを特徴とする３次元視覚センサ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は３次元視覚センサに関し、更に詳しく言えば、スポット光又はスリット光を対象物表面上に照射し、対象物の特定の箇所の３次元位置を計測する３次元視覚センサに関する。本発明に係る３次元視覚センサは、例えばロボットと組み合わせて、各種アプリケーションに用いられる。
【背景技術】
【０００２】
平面状に走査されるスポット光（以下、「疑似スリット光」とも言う）やスリット光を使用して、計測対象物のいくつかの端点を求めることで、計測対象物の３次元位置を求める手法は以前より知られており、例えば下記（ｉ）、（ｉｉ）の例がある。  
（ｉ）ある平面の板金に空いた穴に２本以上のスリット光を投光し、３点以上の端点を見つけることで、その穴の３次元的な位置や面の方向を求める。この手法は、例えば下記特許文献１に開示されている。  
（ｉｉ）走査したスポット光（疑似スリット光）やスリット光を使用して、その画像上での形状をテンプレートとして、テンプレートマッチングを適用することで、走査したスポット光やスリット光を特定し、それらに含まれている検出箇所の３次元位置を得るこの手法については、例えば下記特許文献２に開示がなされている。  
なお、スポット光又はスリット光を対象物表面上に照射し、対象物の特定の箇所の３次元位置を計測する３次元視覚センサのキャリブレーションについては、種々の手法が周知となっており、例えば下記特許文献３に開示がある。
【０００３】
【特許文献１】特開平６−２５８０２４号公報
【特許文献２】特開平１０−１０５７１７号公報
【特許文献３】特開平１０−０６３３１７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
上記（ｉ）の手法では、結局、計測精度は穴とスリット光または走査スポット光で形成される疑似スリット光との交差する部分がいかに正確に検出できるかにかかっている。ところが、穴とスリット光が交差する部分というのは、実はスリット光がもっとも特定しにくい部分であり、細かい工夫を試みることで若干の改善が見られることはあっても、本質的な解決が難しい。また、対象物の表面状態や色によっては、前記交差する部分がかすれて見えなくなったり、逆にハレーションを起こしたりして、判別不能になるケースも往々にして見られる。
【０００５】
また、上記（ｉｉ）の手法では、画像上でテンプレートマッチングを行なっているが、対象物の色や表面状態によってはスリットが太くなったり、かすれたりして、スリット光の中心は正確であっても、テンプレートのモデルとは形状が異なる画像が形成されることが多く、結果的に安定した検出が難しい。更に、画像面の端に近い部分では、レンズの歪の影響を受けやすく、それを避けるために焦点距離の長いレンズを採用すれば視野が狭くなり、僅かな対象のずれでスリット光が見えなくなる、といった問題も生じる。
【０００６】
そこで本発明の目的は上記従来技術の問題点を解決することにある。即ち、本発明は、スポット光又はスリット光を対象物表面上に照射し、対象物の特定の箇所の３次元位置を計測する３次元視覚センサを改良し、従来技術では正確な３次元位置の計測が難しかったようなケースにおいても、平面状の参照光上にある特徴点の３次元位置を正確に求めることができるようにすることを企図するものである。
【課題を解決するための手段】
【０００７】
本発明は、平面状に投光する参照光（スリット光またはスポット光走査で形成される疑似スリット光）を使用した３次元視覚センサにおいて、ロボットの座標系やセンサ固有の座標系で求めた複数の点の３次元位置を、参照光の平面に関連した座標系上に投影し、投影した座標系上で特徴点を求め、求めた特徴点の位置を、ロボットの座標系やセンサ固有の座標系に変換することで上記課題を解決するものである。
【０００８】
より具体的に言えば、請求項１に記載された発明は、スポット光又はスリット光を参照光として被計測対象物表面上に照射した状況を撮像手段で撮像し、取得した画像上の前記参照光入射位置と前記参照光の照射方向とに基づき前記被計測対象物表面上に前記参照光が入射された３次元位置を検出する手段を備えた３次元視覚センサに適用されるものであり、次のような特徴を有している。
【０００９】
即ち、前記スポット光を走査した際に作られる平面又はスリット光を含む平面である参照光平面と前記被計測対象物表面との交線上に、該交線の形状を特定するのに必要な複数点の３次元位置を検出し、３つの座標軸の内の２つの座標軸が張る平面が前記参照光平面と一致または平行関係になるように設定された３次元直交座標系上で前記交線を求める手段と、第２撮像手段により前記被計測対象物を撮像して取得した画像から、前記被計測対象物に関する特徴線の画像平面上での位置を検出する手段と、該画像平面上の前記特徴線を投影変換により前記参照光平面に投影し、投影された投影特徴線を前記３次元直交座標系上で求める手段と、前記交線と前記投影特徴線との交点を前記３次元直交座標系上での座標値で求める手段と、該求めた交点の座標値をロボットに設定されている座標系と前記３次元視覚センサに設定されている座標系のうち、少なくとも１つの座標系上の３次元座標値に変換する手段とが設けられる。ここで、請求項２に記したように、前記第１撮像手段を前記第２撮像手段に兼用することができる。
【００１０】
また、請求項３に記載された発明は、テンプレートマッチングを用いるもので、スポット光又はスリット光を参照光として被計測対象物表面上に照射した状況を撮像手段で撮像し、取得した画像上の前記参照光入射位置と前記参照光の照射方向とに基づき前記被計測対象物表面上に前記参照光が入射された３次元位置を検出する手段を備えた３次元視覚センサに適用される。
【００１１】
そして、前記スポット光を走査した際に作られる平面又はスリット光を含む平面である参照光平面と前記被計測対象物表面との交線上に、該交線の形状を特定するのに必要な複数点の３次元位置を検出し、３つの座標軸の内の２つの座標軸が張る平面が前記参照光平面と一致または平行関係になるように設定された３次元直交座標系上で前記交線を求める手段と、予め用意された交線の形状パターンのテンプレートと前記３次元直交座標系で求めた交線とのマッチングを行なうことにより前記交線上の検出個所を特定し、該検出個所を前記３次元直交座標系上の座標値で求める手段と、該求めた交点の座標値をロボットに設定された座標系と前記３次元視覚センサに設定された座標系のうち、少なくとも１つの座標系の３次元座標値に変換する手段とが設けられる。
【００１２】
本発明に係る３次元視覚センサにおいては、面状に投光される参照光が当たっているワーク等の対象物上の各点について、ロボットの座標系やセンサの座標系での３次元位置を求める。次に、３次元位置を求めた座標系から、参照光の平面に関連する座標系への座標変換を行い、その座標変換に従って、３次元位置を変換する。変換後の位置情報を使って、変換後の座標系での求めるべき特徴点の位置をもとめる。その際に周知のテンプレートマッチングの手法を利用しても良い。その位置をさらにもとの座標系に変換する。これにより、平面状の参照光上にある特徴点の３次元位置が求められる。
【発明の効果】
【００１３】
従来技術では正確な３次元位置の計測が難しかったようなケースにおいても、平面状の参照光上にある特徴点の３次元位置を正確に求めることができるようになり、３次元視覚センサの計測精度と信頼性が向上する。
【発明を実施するための最良の形態】
【００１４】
以下、図面を参照して本発明の実施形態について説明する。先ず図１は、本発明の一つの実施形態で採用される全体構成を示した図である。３次元視覚センサのセンサヘッド部は、スリット光または疑似スリット光を参照光として投光する投光器１と、投光された参照光を受光するビデオカメラ２からなっている。ビデオカメラ２は、参照光の反射光を検出する受光器としてだけではなく、計測対象の２次元的な特徴量を求めるためにも使用される。既述の通り、ここで言う「疑似スリット光」とは、平面状に走査されるスポット光によって形成される疑似的なスリット光のことである。そして、スリット光が乗っている平面、あるいは、スポット光走査に際してスポット光投射ビームが乗っている平面が「参照光平面」である。なお、以下の説明では、特にことわりのない限り、「スリット光」を「疑似スリット光」を包含する表現として用いる。
【００１５】
符号６は、ロボットコントローラ５に接続されて同ロボットコントローラ５により周知の方式で制御されるロボットである。図示されているように、３次元視覚センサ（センサヘッド部；以下、同様）は、ロボット６の先端（フェイスプレート）に取り付けられている。ロボットコントローラ５は視覚センサの画像処理／制御部を兼ねており、投光器１、ビデオカメラ２に接続され、投光器１の投光動作、ビデオカメラ２の撮像動作の制御、画像の取り込み、画像処理の外、後述する諸処理がこのロボットコントローラ５内で行なわれる。
【００１６】
ロボット６は固有の座標系（以下、「ロボット座標系」という）７を持っており、ロボット６のフェースプレートには、同フェースプレートに固定された座標系（以下、「フェイスプレート座標系」という）３が設定されている。フェイスプレート座標系３は、ロボット座標系に関連付けられており、そのデータ（行列データ）は、ロボットコントローラ５内のメモリに記憶されている。また、３次元視覚センサについて周知のキャリブレーションが完了しており、それによって得られた諸データ（キャリブレーションデータ）はロボットコントローラ５内のメモリに記憶されている。
【００１７】
キャリブレーションデータには、投光器１の投光するスリット光が空間上どこに平面（参照光面）を構成しているかを計算するためのデータ、ビデオカメラ２の光軸はどの方向を向いているかを計算するためのデータ等が含まれている。また、同時に視覚センサ自身の固有の座標系（以下、「センサ座標系」という）４が設定されており、フェイスプレート座標系３とセンサ座標系４は変換行列［Ｓf ］で関連付けるようになっており、この変換行列［Ｓf ］のデータもロボットコントローラ５内のメモリに合わせて記憶されている。なお、キャリブレーションの具体的なやり方、データの内容等については周知であり、変換行列［Ｓf ］の求め方については前出の特許文献３に記されている。
【００１８】
図２は、図１に示したシステムにおいて、ロボットコントローラ５から指令を送り、計測対象（ここでは直方体ワーク）１３に投光器１からスリット光（前述した通り、走査スポット光で形成される疑似スリット光である場合を含む；以下、同様）１２を照射し、ワーク１３の一辺１５との交点１１の３次元位置を求めるアプリケーション例を示している。以下、本実施形態において、この交点１１の３次元位置が正確に求める手法を説明する。
【００１９】
スリット光１２がワーク１３に当たると、その光のあたった箇所１９は、当然、他所よりも明るくなる。スリット光１２は平面状であるから、理想的には、投光箇所１９は一定の線幅を持つ明瞭な輝線（疑似スリット光の場合は点列を連ねた疑似輝線；以下、同様。）となる筈である。しかし、前述したように、実際のケースではワーク１３の表面状態、色等により、投光箇所１９の一部、特に交点１１の近傍で線幅の乱れ、明暗の不明瞭さ等が現れることがあり得る。
【００２０】
つまり、投光箇所１９の全体が不明瞭な極端なケースでない限り、多くの点についてはそれぞれの３次元位置をセンサ座標系上での３次元位置を求めることはできるのであるが、交点１１の近傍で線幅の乱れや明暗の不明瞭さ等が現れた場合には、正確な交点１１の位置を確定することができず、それが従来技術の欠点となっていた訳である。  
本実施形態では、投光箇所１９を構成する各点のセンサ座標系上での３次元位置を一旦、スリット光１２の面上にＸ−Ｙ平面を設定した参照座標系上での３次元位置に座標変換する。この座標変換を表わす変換行列を［Ｔ］とする。変換行列を［Ｔ］のデータは、投光箇所１９を形成するスリット光の乗る平面のデータとセンサ座標系の設定データから定めることができる。なお、参照座標系のＸ軸あるいはＹ軸の方向については決め方に自由度が残るが、例えばセンサ座標系のＸ軸（またはＹ軸）を参照平面上に射影したものの方向を参照座標系のＸ軸（またはＹ軸）とすることにすれば良い。
【００２１】
今、投光箇所１９上の各点Ｐn のセンサ座標系上での３次元位置を（ｘn,ｙn,ｚn ）とし、参照座標系上での３次元位置を（Ｘn,Ｙn,Ｚn ）とすれば、各点Ｐn の射影が参照平面（スリット光１２の面）上にあることから、Ｚn ＝０となる筈である。従って、この参照座標系上での３次元位置（Ｘn,Ｙn,０）を事実上２次元情報として処理することができる。なお、ここでは、スリット光１２の面上にＸ−Ｙ平面を一致するように参照座標系を設定したが、各座標系の２軸が張る平面、例えばＸ−Ｙ平面とスリット光１２の面とが平行になるように参照座標系を設定しても良い。その場合は、スリット光１２の面は、参照座標系では各点についてＺn ＝Ｚ0 （但し、Ｚ0 は定数）となり、（Ｘn,Ｙn,０）に代えて、（Ｘn,Ｙn,Ｚ0 ）となるが、Ｚn の値は一定のままであり、これらの点を２次元情報として処理できることに変わりはない。
【００２２】
ところで、求める交点１１は、スリット光１２がワーク１３に当たっている箇所１９上の点であるとともに、ワーク１３の一辺１５上の点でもある。そして、ワーク１３の一辺１５は、ビデオカメラ２による通常の撮像機能（２次元画像取得機能）と視覚センサの画像処理機能により、線分（線像）として捉えることができる。その様子が、図２において、画像平面１６上の線分（線像）１７で示されている。線分１７とビデオカメラ２内の１点（通常はレンズ中心、キャリブレーションでその位置が求められている）を含む平面１８上に、ワーク１３の一辺１５は含まれている。
【００２３】
そこで、この平面１８とスリット光１２の面（ここでは、参照座標系上でＺ＝０で表わされる）との交線を考える。図３は、図２中の参照座標系のＸ−Ｙ平面における、スリット光１２がワーク１３に当たっている投光箇所１９と、ワーク１３の一辺１５との関係を示している。ここでは、ワークが直方体であるため、スリット光１２がワーク１３に当たっている箇所１９も、ワーク１３の一辺１５も直線として投影される。従って、直線同士の交点を求めれば良い。実際上の手法としては、、投光箇所１９に対応する直線、及び、辺１５に対応する直線を表わす方程式を最小自乗法など公知の方法で求め、その交点（Ｘq,Ｙq,０）を計算すれば良い。こここで、（Ｘq,Ｙq,０）は参照座標系上での座標値である。
【００２４】
また、仮にワークの面が曲面であったり、ワークの一辺が曲線であった場合には、直線ではなく曲線として投影されるが、例えば多項式曲線やスプライン曲線に最小自乗法で近似する、といった公知の手法を用いて関数化し、それらの交点を求めることで、同様に扱うことができる。こうして求めた交点の位置（参照座標系上での値）に、前述した変換（行列［Ｔ］で表わされる）の逆変換（行列［Ｔ］の逆行列 Inv［Ｔ］で表わされる）を施せば、元のセンサ座標系での３次元位置を求めることができる。また、センサ座標系での３次元位置は、前記の変換行列［Ｓf ］を用いてロボット座標系上でのデータに変換することもできる。図４は、以上の過程をフローチャートにまとめたもので、各ステップの要点は下記の通りである。
【００２５】
ステップＳ１；ロボットコントローラ５からビデオカメラ２に通常の撮像を行なう指令を送り、ワーク（一般には被測定対象物；以下、同様。）１３上の求める点を含む直線などの２次元的な特徴部を収めた２次元画像を取得する。  
ステップＳ２；ロボットコントローラ５内での画像処理により、２次元的な特徴を画像平面上で抽出する。  
ステップＳ３；抽出した画像平面上の特徴（例えば一辺）の中からＮ個（ＮはＮ≧２で、例えば数１０程度に予め設定）の点を適当なルールで定める。例えば、特徴に対応する画素から等間隔で選ぶ。
【００２６】
ステップＳ４；ロボットコントローラ５から投光器１に投光指令を送るとともに、ビデオカメラ２にスリット光撮像を行なう指令を送り、投光箇所１９を含む画像を取得する。
ステップＳ５；ロボットコントローラ５内での画像処理により、投光箇所１９を画像平面上で抽出する。  
ステップＳ６；ステップＳ４で抽出した投光箇所１９の像の中からＭ個（ＭはＭ≧２で、例えば数１０程度に予め設定）の点を適当なルールで定める。例えば、投光箇所に対応する画素から等間隔で選ぶ。
【００２７】
ステップＳ７；ステップＳ３で選んだ各点（Ｎ個）とビデオカメラ２内の１点（例えばレンズ中心）とを結ぶ各直線（Ｎ本）と、ステップＳ４で投光したスリット光の面（スリット平面）との交点（計Ｎ個）の３次元位置をセンサ座標系上で求める。  
ステップＳ８；ステップＳ６で選んだ各点（Ｍ個）の３次元位置（センサ座標系上）を、参照座標系（スリット平面上あるいは同平面に平行に設定）上のデータに、座標変換の行列［Ｔ］を用いて変換する。  
ステップＳ９；ステップＳ７で求めた各点（Ｎ個）の３次元位置（センサ座標系上）を、参照座標系（スリット平面上あるいは同平面に平行に設定）上の出に、座標変換の行列［Ｔ］を用いて変換する。
【００２８】
ステップＳ１０；ステップＳ８で得た結果に基づき、最小自乗法のような公知の近似手法で、Ｍ個の点が参照平面上で表現する曲線（場合によっては直線）を定める。  
ステップＳ１１；ステップＳ９で得た結果に基づき、最小自乗法のような公知の近似手法で、Ｎ個の点が参照平面上で表現する曲線（場合によっては直線）を定める。  
ステップＳ１２；ステップＳ１０及びステップＳ１１で求めた曲線（または直線）の交点位置を参照座標系上で求める。  
ステップＳ１３；ステップＳ１２で求めた交点位置に［Ｔ］の逆行列 Inv［Ｔ］で表わされる逆変換を施し、センサ座標系上での交点位置を求める。  
ステップＳ１４；ステップＳ１３で求めた交点位置に行列［Ｓf ］で表わされる変換を施し、フェイスプレート座標系上での交点位置を求める。もし、必要であれば、これを更にロボット座標系上のデータに変換する。
【００２９】
以上の手順により、交点１１（図２参照）の正確な３次元位置を知ることができる。この手順のポイントは、ステップＳ５で抽出する投光箇所１９の画像（画素）、あるいは、ステップＳ６で選択する点に、交点１１自体（対応する画素）が含まれていなくても構わないことである。つまり、投光箇所１９の画像は、全体としてステップＳ１０で曲線（または直線）が正確に決定できれば、交点１１の３次元位置の精度は低下しない。このような利点は、従来技術では得られないものである。
【００３０】
次に、図５に示したような別のアプリケーションへの適用例について説明する。このアプリケーションは、段になったワーク２３の凸部の１点２１の３次元位置を求める例である。先ず、被計測対象物を代表する適当なワークを用意し、同ワークについて上記した例と同様に、スリット光１２がワーク２３に当たっている投光箇所２２については、投光箇所２２の任意の諸点について、センサ座標系４での３次元位置を求めることができる。これを上記した例と同じく座標変換（行列［Ｔ］）によって、参照座標系での３次元位置に変換する。
【００３１】
これにより、参照座標系のＸ−Ｙ平面で、各点のＸ、Ｙの値をプロットし、必要に応じて連結し、画像化する。その例を図６に示した。ここでは、プロット・連結した各点が境界としてわかりやすくするため、その左右で明度差を設けている。この図で、求める特徴点を含む形状を、前もってモデル画像２４としてロボットコントローラ５に登録（教示）する。このモデル画像２４は、以後の計測時に、特徴部（ここでは凸部）の検出にテンプレートとして利用される。即ち、以降は、毎回、個々の被計測ワークの入力画像を使って同様の対応画像を作成し、その画像の中から、正規化相関など公知のモデルマッチング技術を適用して同じ形状のものを認識し、特徴点２１を検出（認識乃至特定）する。
【００３２】
そして検出された特徴点２１の３次元位置（参照座標系上）に逆変換（ Inv［Ｔ］）を施して、元のセンサ座標系４上での特徴点２１の３次元位置とすることができる。
【００３３】
図７、図８は、このような過程を「教示（モデル登録）」と「計測」に分けてフローチャートにまとめたもので、各ステップの要点は下記の通りである。  
［教示（モデル登録）］（図７参照）
ステップＱ１；ロボットコントローラ５から投光器１に投光指令を送り、教示用のワークの凸部の点２１をスリット光が通るようにスリット光を投光するとともに、ビデオカメラ２にスリット光撮像を行なう指令を送り、投光箇所２２を含む画像を取得する。  
ステップＱ２；ロボットコントローラ５内での画像処理により、投光箇所２２を画像平面上で抽出する。  
ステップＱ３；ステップＱ２で抽出した投光箇所２２の像を表現する適当な個数（例えば１００個程度）の点列を定める。  
ステップＱ４；ステップＱ３で定めた点列の３次元位置（センサ座標系上）を、参照座標系（スリット平面上あるいは同平面に平行に設定）上のデータに、座標変換の行列［Ｔ］を用いて変換する。  
ステップＱ５；ステップＱ４で得られた点列に基づいて２次元画像を作成する。必要であれば、点列の連結、連結された線で２分された領域について明暗付け等の処理を行なう。  
ステップＱ６；ステップＱ５で作成された２次元画像をモデル画像としてロボットコントローラ５のメモリに記憶して処理を終了する。
【００３４】
［計測］（図８参照）
ステップＲ１；ロボットコントローラ５から投光器１に投光指令を送り、被計測のワークの凸部の点２１をスリット光が通るようにスリット光を投光するとともに、ビデオカメラ２にスリット光撮像を行なう指令を送り、投光箇所２２を含む画像を取得する。  
ステップＲ２；ロボットコントローラ５内での画像処理により、投光箇所２２を画像平面上で抽出する。  
ステップＲ３；ステップＲ２で抽出した投光箇所２２の像を表現する適当な個数（例えば１００個程度）の点列を定める。  
ステップＲ４；ステップＲ３で定めた点列の３次元位置（センサ座標系上）を、参照座標系（スリット平面上あるいは同平面に平行に設定）上のデータに、座標変換の行列［Ｔ］を用いて変換する。  
ステップＲ５；ステップＲ４で得られた点列に基づいて２次元画像を作成する。必要であれば、点列の連結、連結された線で２分された領域について明暗付け等、モデル画像作成で行なったと同等の処理を行なう。  
ステップＲ６；教示されているモデル画像をテンプレートとして用い、ステップＲ５で作成された２次元画像とのパターンマッチングを行なって、特徴部（点２１を持つ凸部）を認識する。  
ステップＲ７；点２１を特定し、その参照座標系上の３次元位置に逆変換（ Inv［Ｔ］）を施して、センサ座標系上での３次元位置を求める。  
ステップＲ８；ステップＲ７で求めた位置に行列［Ｓf ］で表わされる変換を施し、フェイスプレート座標系上での交点位置を求める。もし、必要であれば、これを更にロボット座標系上のデータに変換する。
【００３５】
以上の手順により、凸部上の点２１（図５参照）の正確な３次元位置を知ることができる。この手順のポイントは、ステップＱ２、Ｒ２で抽出する投光箇所２２の画像（画素）も点２１自体（対応する画素）が含まれていなくても構わないことである。つまり、全体としてステップＱ５、Ｒ５で作成される２次元画像が正確に決定できれば、点２１の３次元位置の精度は低下しない。このような利点は、従来技術では得られないものである。
【図面の簡単な説明】
【００３６】
【図１】本発明の一つの実施形態で採用される全体構成を示した図である。
【図２】実施形態におけるアプリケーション例を示した図である。
【図３】図２中の参照座標系のＸ−Ｙ平面における、スリット光１２がワーク１３に当たっている投光箇所１９と、ワーク１３の一辺１５との関係を示す図である。
【図４】図２に示したアプリケーション例について、実施形態で実行される手順の概略を示したフローチャートである。
【図５】実施形態における別のアプリケーション例を示した図である。
【図６】図５に示したアプリケーション例について説明する概念図である。
【図７】図５に示したアプリケーション例について、実施形態で実行される教示（モデル登録）の手順の概略を示したフローチャートである。
【図８】図５に示したアプリケーション例について、実施形態で実行される計測の手順の概略を示したフローチャートである。
【符号の説明】
【００３７】
１  投光器
２  ビデオカメラ
３  フェイスプレート座標系
４  センサ座標系
５  ロボットコントローラ
６  ロボット
７  ロボット座標系
１１  スリット光とワークの一辺１５との交点
１２  スリット光
１３、２３  ワーク
１５  ワークの一辺
１６  画像平面
１７  線分
１８  線分１７とビデオカメラ２内の１点を含む平面
１９、２２  投光箇所
２０  参照座標系
２１  凸部の１点
２４  モデル画像
【図１】
2005201861.tif 000003
【図２】
2005201861.tif 000004
【図３】
2005201861.tif 000005
【図４】
2005201861.tif 000006
【図５】
2005201861.tif 000007
【図６】
2005201861.tif 000008
【図７】
2005201861.tif 000009
【図８】
2005201861.tif 000010