(57)【要約】【課題】高速に搬送される計測対象の物体の３次元形状計測を高精度に行う。【解決手段】プロジェクタ２は、Ｙ軸方向に並ぶ明暗ピッチによりコード化されたスリットパターンがＸ軸方向に複数配列され、Ｙ位置が同じビットデータを各スリットパターンから抽出してＸ軸方向に沿って並べたときのビット列の値がＹ軸方向に沿って線形に変化するように各スリットパターンがコード化されたスリットパターン像を、物体Ｍの搬送経路上に投影する。撮像装置３は、物体ＭがＸ軸方向に搬送されスリットパターン像を通過する様子を、プロジェクタ２とは異なる角度から撮像する。コード生成部６は、撮像された動画像に基づいて、物体Ｍ上における計測対象の位置が、各スリットパターンにそれぞれ到達したときの明暗をコード化する。高さ算出部７は、コード化されたコードに基づいて、計測対象の位置の高さを算出する。【選択図】図１
2012208005.tif 000002
【特許請求の範囲】
【請求項１】
物体の搬送方向に直交する直交方向に並ぶ明暗ピッチによりコード化されたスリットパターンが前記搬送方向に複数配列され、前記直交方向に関する位置が同じビットデータを前記各スリットパターンから抽出して所定の順番で並べたときのビット列の値が前記直交方向に沿って線形に変化するように、前記各スリットパターンがコード化されたスリットパターン像を、前記搬送方向に搬送される物体の搬送経路上に投影するプロジェクタと、
前記物体が前記搬送方向に搬送され前記スリットパターン像を通過する様子を、前記プロジェクタとは異なる角度から撮像する撮像装置と、
前記撮像装置により撮像された動画像に基づいて、前記物体上における計測対象の位置が、前記各スリットパターンにそれぞれ到達したときの明暗をコード化するコード生成部と、
前記コード生成部によってコード化されたコードに基づいて、前記計測対象の位置の高さを算出する高さ算出部と、
を備える計測装置。
【請求項２】
前記コード生成部は、
前記計測対象の位置が、前記各スリットパターンに到達する各時刻において撮像された画像から、その時刻で前記計測対象の位置が到達した前記スリットパターンに対応するライン画像をそれぞれ抽出し、
前記各時刻に対応して抽出されたライン画像を、それぞれ２値画像に変換し、
変換された２値画像のうち、前記計測対象の位置に対応するビット値を前記搬送方向に沿って並べることにより、前記計測対象の位置に対応するコードを生成する、
ことを特徴とする請求項１に記載の計測装置。
【請求項３】
前記各スリットパターンは、
２進コード又はグレイコードのいずれかでコード化されている、
ことを特徴とする請求項１又は２に記載の計測装置。
【請求項４】
請求項１乃至３のいずれか一項に記載の計測装置を用いて、物体の異常を検査する検査装置。
【請求項５】
物体の搬送方向に直交する直交方向に並ぶ明暗ピッチによりコード化されたスリットパターンが前記搬送方向に複数配列され、前記直交方向に関する位置が同じビットデータを前記各スリットパターンから抽出して所定の順番で並べたときのビット列の値が前記直交方向に沿って線形に変化するように、前記各スリットパターンがコード化されたスリットパターン像を、プロジェクタを用いて、前記搬送方向に搬送される物体の搬送経路上に投影する投影工程と、
前記搬送方向に搬送され前記スリットパターン像を前記物体が通過する様子を、前記プロジェクタとは異なる角度から撮像する撮像工程と、
前記撮像工程において撮像された動画像に基づいて、前記物体上における計測対象の位置が、前記各スリットパターンにそれぞれ到達したときの明暗をコード化するコード生成工程と、
前記コード生成工程においてコード化されたコードに基づいて、前記計測対象の位置の高さを算出する高さ算出工程と、
を含む計測方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、物体の３次元計測を行う計測装置、検査装置及び計測方法に関する。
【背景技術】
【０００２】
画像を用いた３次元形状計測法の１つとして、コード化パターン光投影法が知られている（例えば、非特許文献１参照）。
【先行技術文献】
【非特許文献】
【０００３】
【非特許文献１】J. L. Posdamer, M. D. Altschler, "Surface Measurement by Space-Encoded Projected Beam Systems", Computer Graphics and Image Processing vol.18, No1, pp.1-17, 1982.
【発明の概要】
【発明が解決しようとする課題】
【０００４】
この方法では、異なる時刻に複数のパターン光各々を投影する必要があるため、計測対象となる物体が高速で移動している場合には、正確な３次元形状の計測が困難になる。このため、この方法を、生産ライン上で高速搬送されるワークの３次元形状計測にそのまま適用するのは適切ではない。
【０００５】
本発明は、上記実情に鑑みてなされたものであり、高速に搬送される計測対象の物体の３次元形状計測を高精度に行うことができる計測装置、検査装置及び計測方法を提供することを目的とする。
【課題を解決するための手段】
【０００６】
上記目的を達成するために、本発明の第１の観点に係る計測装置は、
物体の搬送方向に直交する直交方向に並ぶ明暗ピッチによりコード化されたスリットパターンが前記搬送方向に複数配列され、前記直交方向に関する位置が同じビットデータを前記各スリットパターンから抽出して所定の順番で並べたときのビット列の値が前記直交方向に沿って線形に変化するように、前記各スリットパターンがコード化されたスリットパターン像を、前記搬送方向に搬送される物体の搬送経路上に投影するプロジェクタと、
前記物体が前記搬送方向に搬送され前記スリットパターン像を通過する様子を、前記プロジェクタとは異なる角度から撮像する撮像装置と、
前記撮像装置により撮像された動画像に基づいて、前記物体上における計測対象の位置が、前記各スリットパターンにそれぞれ到達したときの明暗をコード化するコード生成部と、
前記コード生成部によってコード化されたコードに基づいて、前記計測対象の位置の高さを算出する高さ算出部と、
を備える。
【０００７】
この場合、前記コード生成部は、
前記計測対象の位置が、前記各スリットパターンに到達する各時刻において撮像された画像から、その時刻で前記計測対象の位置が到達した前記スリットパターンに対応するライン画像をそれぞれ抽出し、
前記各時刻に対応して抽出されたライン画像を、それぞれ２値画像に変換し、
変換された２値画像のうち、前記計測対象の位置に対応するビット値を前記搬送方向に沿って並べることにより、前記計測対象の位置に対応するコードを生成する、
こととしてもよい。
【０００８】
前記各スリットパターンは、
２進コード又はグレイコードのいずれかでコード化されている、
こととしてもよい。
【０００９】
本発明の第２の観点に係る検査装置は、
本発明の計測装置を用いて、物体の異常を検査する。
【００１０】
本発明の第３の観点に係る計測方法は、
物体の搬送方向に直交する直交方向に並ぶ明暗ピッチによりコード化されたスリットパターンが前記搬送方向に複数配列され、前記直交方向に関する位置が同じビットデータを前記各スリットパターンから抽出して所定の順番で並べたときのビット列の値が前記直交方向に沿って線形に変化するように、前記各スリットパターンがコード化されたスリットパターン像を、プロジェクタを用いて、前記搬送方向に搬送される物体の搬送経路上に投影する投影工程と、
前記搬送方向に搬送され前記スリットパターン像を前記物体が通過する様子を、前記プロジェクタとは異なる角度から撮像する撮像工程と、
前記撮像工程において撮像された動画像に基づいて、前記物体上における計測対象の位置が、前記各スリットパターンにそれぞれ到達したときの明暗をコード化するコード生成工程と、
前記コード生成工程においてコード化されたコードに基づいて、前記計測対象の位置の高さを算出する高さ算出工程と、
を含む。
【発明の効果】
【００１１】
本発明によれば、物体の搬送方向と交差する方向に明暗ピッチでコード化されたスリットパターンが、物体の搬送方向に複数配列されているので、物体を高速に搬送したままで物体上の同一位置が複数のスリットパターン各々に到達したときのその位置の明暗を順次撮像することができる。
【００１２】
したがって、スリットパターン像の動画像を撮像すれば、その動画像に基づいて、物体上の同一位置に対応する各スリットパターンの明暗をコード化することが可能となり、コード化されたコードに基づいて、コード化パターン光投影法を用いて、物体上の各位置の高さを算出することができる。これにより、搬送方向に高速搬送される物体の３次元形状計測を高精度に行うことができる。
【図面の簡単な説明】
【００１３】
【図１】本発明の実施形態に係る計測装置の概略的な構成を示すブロック図である。
【図２】ワールド座標系と対象座標系との関係を説明するための図（その１）である。
【図３】ワールド座標系と対象座標系との関係を説明するための図（その２）である。
【図４】図４（Ａ）乃至図４（Ｃ）は、図１の撮像装置によって撮像される動画像の一例を示す図である。
【図５】図１のコンピュータによって実行されるコード生成処理及び高さ算出処理のフローチャートである。
【図６】物体上のライン（Ｘm，Ｙ）が位置ｘkに到達した様子を説明するための図である。
【図７】２値画像からコードへの変換を模式的に示す図である。
【図８】算出された高さに基づく物体の３次元形状の一例を示す図である。
【発明を実施するための形態】
【００１４】
本発明の実施形態について、図面を参照して詳細に説明する。
【００１５】
まず、図１を参照して、本実施形態に係る計測装置１００の構成について説明する。図１に示すように、本実施形態に係る計測装置１００は、搬送装置１によって搬送される物体Ｍ（例えば回路基板）の３次元形状を計測する。計測装置１００は、プロジェクタ２と、撮像装置３と、コンピュータ４と、を備える。
【００１６】
以下では、絶対座標系としてのワールド座標系ｘｙｚを規定し、ワールド座標系ｘｙｚを用いて説明を行う。このワールド座標系ｘｙｚでは、搬送装置１による物体Ｍの搬送方向をｘ方向として、投影されたスリットパターン光による各スリットパターンの長手方向をｙ方向とし、高さ方向をｚ方向としている。
【００１７】
搬送装置１は、物体Ｍをｘ軸方向（正確には＋ｘ方向）に搬送する。物体Ｍを搬送する速度は、ｖ［ｍ／ｓ］である。
【００１８】
プロジェクタ２は、コード化されたスリットパターン像をｘ軸方向に搬送される物体Ｍの搬送路上に投影する。このスリットパターン像は、物体の搬送方向（ｘ軸方向）と交差するｙ軸方向に明暗ピッチによりコード化されたスリットパターンが、ｘ軸方向に複数配列されたものである。
【００１９】
図２には、スリットパターン像の上面図が示されている。図２に示すように、各スリットパターンは、等間隔でｘ軸方向に並んでいる。本実施形態では、ｋ番目のスリットパターンの投影位置をｘ＝ｘK（ｋ＝１、２、・・・、ｎ）［ｍ］とする。ただし、ｘ0＝０［ｍ］とする。
【００２０】
各スリットパターンでは、明るい部分を１とし、暗い部分を０としている。本実施形態では、各スリットパターンは、Ｊビットのコードでコード化されている。各スリットパターンは、ｙ軸方向に関する位置が同じビットデータを各スリットパターンから抽出して所定の順番で（例えばｘ軸方向に沿って）並べたときのビット列の値がｙ軸方向に沿って線形に変化するように（順に大きくなるように）コード化されている。各スリットパターンのコードとして２進コードが採用されている。
【００２１】
本実施形態では、スリットパターンの本数をｎ（ｎは２以上の整数）とする。これにより、最終的に物体Ｍ上の各位置に対応して生成されるコードのビット長はｎとなる。
【００２２】
また、本実施形態では、図２に示すように、計測対象である物体Ｍに従ってワールド座標系ｘｙｚ上を動く相対座標系としての対象座標系ＸＹＺも規定されている。対象座標系では、物体Ｍの搬送方向をＸとし、スリットパターンが延びる方向をＹ方向とし、高さ方向をＺ方向としている。
【００２３】
この対象座標系ＸＹＺを用いれば、物体Ｍ上の位置を（Ｘ、Ｙ）として表現することができる。また、本実施形態では、Ｘ位置がＸmである物体Ｍ上の位置を、ライン位置（Ｘm、Ｙ）として表現する。物体ＭのＸＹ平面は、このライン位置（Ｘm、Ｙ）、すなわち（Ｘ1、Ｙ）から（ＸM、Ｙ）までのライン位置に分割される。
【００２４】
この対象座標系ＸＹＺでは、原点が物体Ｍの基準位置に固定されている。ワールド座標系ｘｙｚと対象座標系ＸＹＺとは、物体Ｍの搬送方向（ｘ軸方向）以外は常に一致している。
【００２５】
図３に示すように、対象座標系ｘｙｚは、物体Ｍの動きに応じて、ワールド座標系ｘｙｚ上を＋ｘ方向に速度ｖで移動する。ワールド座標系ｘｙｚの原点と対象座標系ＸＹＺの原点とが一致してからの時間をｔとすると、以下の式が成り立つ。
【数１】
2012208005.tif 000003
【００２６】
図１に戻り、撮像装置３は、プロジェクタ２とは異なる位置に設置されている。撮像装置３は、物体Ｍが搬送方向（ｘ軸方向）に搬送されスリットパターン像を通過する様子を撮像する。図４（Ａ）乃至図４（Ｃ）には、撮像された動画像の一部が示されている。図４（Ａ）乃至図４（Ｃ）に示すように、撮像装置２により、物体Ｍがスリットパターン像に差し掛かってから抜けるまでの動画像が撮像される。
【００２７】
図１に戻り、コンピュータ４は、撮像装置３で撮像された動画像を解析して、物体Ｍの３次元形状を求める。本実施形態で求められる物体Ｍの３次元形状とは、物体Ｍ上の位置（Ｘm、Ｙj）（ｍ＝１、２、…、Ｍ；ｊ＝１、２、…、Ｊ）における高さの集合である。
【００２８】
より具体的には、コンピュータ４は、記憶部５と、コード生成部６と、高さ算出部７と、を備える。
【００２９】
記憶部５には、撮像装置３により撮像された動画像が記憶される。
【００３０】
コード生成部６は、撮像装置３により撮像され、記憶部５に記憶された動画像に基づいて、物体Ｍ上における計測対象の位置（Ｘ、Ｙ）が、各スリットパターンにそれぞれ到達したときの明暗をコード化する。
【００３１】
高さ算出部７は、コード生成部６によって生成されたコードに基づいて、物体Ｍの計測対象の位置（Ｘ、Ｙ）の高さを算出する。これにより、物体Ｍの３次元形状が明らかとなる。
【００３２】
次に、本実施形態に係る計測装置１００の動作について説明する。
【００３３】
図５には、計測装置１００を用いた計測方法、すなわちコンピュータ４によって実行されるコード生成処理及び高さ算出処理のフローチャートが示されている。コード生成処理及び高さ算出処理は、撮像装置２により、図４（Ａ）乃至図４（Ｃ）に示すような動画像が撮像され、記憶部５に記憶されると開始される。
【００３４】
まず、コード生成部６は、カウンタ値ｍを０に初期化する（ステップＳ１）。続いて、コード生成部６は、カウンタ値ｍを１インクリメントする（ステップＳ２）。
【００３５】
続いて、コード生成部６は、時刻ｔk（ｋ＝１、２、…、ｎ）を抽出する（ステップＳ３）。時刻ｔkとは、図６に示すように、スリットパターン光が投影されるｘ位置ｘkに、対象座標系におけるＸ位置Ｘmが到達する時点である。この時刻ｔkは、式（１）に基づいて、以下のように定められる。
【数２】
2012208005.tif 000004
【００３６】
時刻ｔkにおいて、Ｘ位置Ｘmに対応するライン画像Ｉk（ｔk，ｙ）は、以下の式のように表される。これは、ライン画像Ｉk（ｔk，ｙ）が、対象座標系ＸＹＺの関数Ｉ（Ｘ，Ｙ）という形で表せるということを示している。
【数３】
2012208005.tif 000005
【００３７】
続いて、コード生成部６は、記憶部５に記憶された動画像から、ライン画像Ｉk（ｔk、ｙ）を抽出する（ステップＳ４）。ライン画像Ｉk（ｔk、ｙ）とは、ｋ番目のスリットパターン光に対応したｘ位置ｘkのライン画像である。より具体的には、ライン画像Ｉ1（ｔ1、ｙ）、Ｉ2（ｔ2、ｙ）、…、Ｉn（ｔn、ｙ）が抽出される。
【００３８】
続いて、コード生成部６は、ライン画像Ｉk（ｔk，ｙ）を２値画像Ｂk（Ｘm，Ｙ）に変換する（ステップＳ５）。これにより、２値画像Ｂ1（Ｘm、Ｙ）、Ｂ2（Ｘm、Ｙ）、Ｂ3（Ｘm、Ｙ）、…、Ｂn（Ｘm，Ｙ）が得られる。各２値画像Ｂk（Ｘ，Ｙ）（ｋ＝１、２、…、ｎ）は、バッファリングされる。
【００３９】
続いて、コード生成部６は、２値画像Ｂk（Ｘm、Ｙ）（ｋ＝１、２、…、ｎ）を、次式を用いて、ラインコードＧ（Ｘm、Ｙj）（ｊ＝１、２、…、Ｊ）に変換する（ステップＳ６）。
【数４】
2012208005.tif 000006
図７には、２値画像Ｂk（Ｘm、Ｙj）（ｋ＝１、２、…、ｎ）から、ラインコードＧ（Ｘm、Ｙj）が算出される様子が模式的に示されている。図７に示すように、行方向に延びる２値画像Ｂk（Ｘm、Ｙj）のビットデータを、列方向に抽出していくことにより、Ｊ個のラインコードＧ（Ｘm、Ｙj）が生成される。Ｊ個のラインコードＧ（Ｘm、Ｙj）はバッファリングされる。
【００４０】
続いて、コード生成部６は、カウンタ値ｍがＭに達したか否かを判定する（ステップＳ７）。ここでは、まだｍ＝１であるので、判断は否定され（ステップＳ７；Ｎｏ）、ステップＳ２に戻る。
【００４１】
以降、カウンタ値ｍがインクリメントされてＭに到達するまで、ステップＳ２→Ｓ３→Ｓ４→Ｓ５→Ｓ６→Ｓ７が繰り返される。これにより、ライン位置Ｘ1、Ｘ2、Ｘ3、Ｘ4、…に、それぞれ対応するラインコードＧ（Ｘ1、Ｙj）、Ｇ（Ｘ2、Ｙj）、Ｇ（Ｘ3、Ｙj）、Ｇ（Ｘ4、Ｙj）、…が算出される。
【００４２】
カウンタ値ｍがＭになると（ステップＳ７；Ｙｅｓ）、コード生成部６は、これまでに生成されたラインコードＧ（Ｘm、Ｙj）（ｍ＝１、２、…、Ｍ）を順に並べて合成し、物体Ｍの２次元コードＧ（Ｘ、Ｙ）を生成する（ステップＳ８）。
【００４３】
続いて、高さ算出部７は、生成された物体Ｍの２次元コードＧ（Ｘ、Ｙ）に基づいて、物体Ｍ上の位置（Ｘ、Ｙ）の高さ位置を算出する（ステップＳ９）。２次元コードＧ（Ｘ、Ｙ）は、撮像装置３から物体Ｍ上のＸＹ面の位置（Ｘ、Ｙ）が見える角度に対応している。高さ算出部７は、２次元コードＧ（Ｘ、Ｙ）とこの角度の関係が登録されたテーブルを参照して、２次元コードＧ（Ｘ、Ｙ）に対応する角度を求め、三角測量法を用いて、求められた角度に基づいて、位置（Ｘ、Ｙ）における物体Ｍの高さを算出する（ステップＳ９）。これにより、物体Ｍの３次元形状が明らかとなる。
【００４４】
図８には、このようにして求められたコンピュータマウスの３次元形状が示されている。
【００４５】
求められた物体Ｍの３次元形状は、物体Ｍの異常の検査に用いることができる。例えば、物体Ｍとしての回路基板の導線が一部欠損している場合には、物体Ｍの３次元形状が、設計上の３次元形状とは異なるようになる。コンピュータ４は、計測された物体Ｍの３次元形状と、設計上の物体Ｍの３次元形状との違いを検出することにより、物体Ｍの欠陥を検出することができる。
【００４６】
以上詳細に説明したように、本実施形態によれば、物体Ｍの搬送方向（ｘ軸方向）と交差する方向に明暗ピッチでコード化されたスリットパターンが、ｘ軸方向に複数配列されているので、物体Ｍを高速に搬送したままで物体Ｍ上の同一位置が複数のスリットパターン各々に到達したときのその位置の明暗を順次撮像することができる。
【００４７】
したがって、スリットパターン像の動画像を撮像すれば、その動画像に基づいて、物体上の同一位置に対応する各スリットパターンの明暗をコード化することが可能となり、コード化されたコードに基づいて、コード化パターン光投影法を用いて、物体Ｍ上の各位置の高さを算出することができる。これにより、ｘ軸方向に高速搬送される物体Ｍの３次元形状計測を高精度に行うことができる。
【００４８】
なお、本実施形態では、スリットパターン像のコードとして、２進コードを採用したが、本発明はこれには限られず、グレイコードを採用するようにしてもよい。
【００４９】
また、各スリットパターンは離間して配置されている必要はなく、連続して配置されるようにしてもよい。また、物体Ｍの搬送方向（ｘ軸方向）の中央に明暗ピッチが長いスリットパターンを配置し、両側になればなるほど、明暗ピッチが短いスリットパターンを配置するようにしてもよい。
【００５０】
スリットパターンのビット長や、本数は、求められる高さの検出精度等に応じて決定すればよい。
【００５１】
なお、上記実施の形態において、実行されるプログラムは、フレキシブルディスク、ＣＤ−ＲＯＭ（Compact Disc Read-Only Memory）、ＤＶＤ（Digital Versatile Disc）、ＭＯ（Magneto-Optical Disc）等のコンピュータ読み取り可能な記録媒体に格納して配布し、そのプログラムをインストールすることにより、上述のスレッドを実行するシステムを構成することとしてもよい。
【００５２】
また、プログラムをインターネット等の通信ネットワーク上の所定のサーバ装置が有するディスク装置等に格納しておき、例えば、搬送波に重畳させて、ダウンロード等するようにしてもよい。
【００５３】
また、上述の機能を、ＯＳ（Operating System）が分担して実現する場合又はＯＳとアプリケーションとの協働により実現する場合等には、ＯＳ以外の部分のみを媒体に格納して配布してもよく、また、ダウンロード等してもよい。
【００５４】
本発明は、本発明の広義の精神と範囲を逸脱することなく、様々な実施形態及び変形が可能とされるものである。また、上述した実施形態は、本発明を説明するためのものであり、本発明の範囲を限定するものではない。すなわち、本発明の範囲、実施形態ではなく、特許請求の範囲によって示される。そして、特許請求の範囲内及びそれと同等の発明の意義の範囲内で施される様々な変形が、本発明の範囲内とみなされる。
【産業上の利用可能性】
【００５５】
本発明は、物体の３次元プロファイルを計測するのに好適であり、特に、搬送装置で高速に搬送される物体の３次元プロファイルの計測を行うのに好適である。
【符号の説明】
【００５６】
１  搬送装置
２  プロジェクタ
３  撮像装置
４  コンピュータ
５  記憶部
６  コード生成部
７  高さ算出部
１００  計測装置
【図１】
2012208005.tif 000007
【図２】
2012208005.tif 000008
【図３】
2012208005.tif 000009
【図４】
2012208005.tif 000010
【図５】
2012208005.tif 000011
【図６】
2012208005.tif 000012
【図７】
2012208005.tif 000013
【図８】
2012208005.tif 000014