(57)【特許請求の範囲】
【請求項１】
処理部が、ワークを撮像する撮像装置の撮像タイミングを制御し、前記ワーク及び撮像装置の少なくとも一方を移動させる移動装置の動作を制御し、前記撮像装置の撮像結果に基づき前記ワークを検査する検査方法であって、
前記処理部が、前記移動装置を経路データに従って動作させて、前記ワークと前記撮像装置との相対的な位置を変化させる移動工程と、
前記処理部が、前記移動工程の途中の、前記ワークと前記撮像装置との相対的な位置が異なる複数の撮像タイミングで、前記撮像装置に前記ワークの検査対象部分を撮像させて複数の画像を取得する画像取得工程と、
前記処理部が、前記撮像装置に前記ワークを撮像させた前記複数の撮像タイミングの各々における前記ワークと前記撮像装置との相対的な位置を求める位置計算工程と、
前記処理部が、前記複数の画像の各々について前記検査対象部分に対応する検査領域を検査し、前記検査領域に欠陥が検出されたことに応じて、前記欠陥が検出された画像の撮像タイミングにおける前記ワークと前記撮像装置との相対的な位置に基づき、前記ワークにある欠陥の位置を特定する特定工程と、を備えたことを特徴とする検査方法。
【請求項２】
前記位置計算工程において、前記処理部が、前記複数の画像のうち１つの画像を解析して、該画像の撮像時の前記ワークと前記撮像装置との相対的な位置を求め、残りの画像の撮像時の前記ワークと前記撮像装置との相対的な位置を、前記１つの画像の撮像時の前記ワークと前記撮像装置との相対的な位置、及び前記経路データに従う前記移動装置の姿勢に基づいて求めることを特徴とする請求項１に記載の検査方法。
【請求項３】
前記移動装置の姿勢は、前記１つの画像の撮像時の前記移動装置の姿勢に対する移動量であることを特徴とする請求項２に記載の検査方法。
【請求項４】
前記処理部が、前記移動装置を所定の姿勢としたときに前記撮像装置により前記ワークを撮像して得られた計測用画像を解析して、該計測用画像の撮像時の前記ワークと前記撮像装置との相対的な位置を求める計測工程を更に備え、
前記位置計算工程において、前記処理部が、前記画像取得工程にて取得した前記各画像の撮像時の前記ワークと前記撮像装置との相対的な位置を、前記計測工程にて求めた前記計測用画像の撮像時の前記ワークと前記撮像装置との相対的な位置、及び前記経路データに従う前記移動装置の姿勢に基づいて求めることを特徴とする請求項１に記載の検査方法。
【請求項５】
前記移動装置の姿勢は、前記計測用画像の撮像時の前記移動装置の姿勢に対する移動量であることを特徴とする請求項４に記載の検査方法。
【請求項６】
前記位置計算工程において、前記処理部が、前記画像取得工程にて取得した前記複数の画像それぞれを解析して、前記ワークと前記撮像装置との相対的な位置を求めることを特徴とする請求項１に記載の検査方法。
【請求項７】
前記画像取得工程において、前記処理部が、前記移動装置の動作とは独立した前記複数の撮像タイミングで前記撮像装置に前記ワークの前記検査対象部分を撮像させることを特徴とする請求項１乃至６のいずれか１項に記載の検査方法。
【請求項８】
前記処理部が、前記移動工程時に前記ワークが前記撮像装置に対して所定の経路を辿るように、前記移動工程に先立って、前記移動装置を所定の姿勢としたときの前記ワークと前記撮像装置との相対的な位置に基づき、前記経路データを補正する経路再設定工程を更に備えたことを特徴とする請求項１乃至７のいずれか１項に記載の検査方法。
【請求項９】
前記移動装置が、ロボットアームと、前記ロボットアームに取り付けられた、前記ワークを把持するロボットハンドとを有するロボットであることを特徴とする請求項１乃至８のいずれか１項に記載の検査方法。
【請求項１０】
ワークを撮像する撮像装置と、
前記ワーク及び前記撮像装置のうち少なくとも一方を移動させる移動装置と、
前記撮像装置の撮像タイミング及び前記移動装置の動作を制御し、前記撮像装置の撮像結果に基づき前記ワークを検査する処理部と、を備え、
前記処理部は、
前記移動装置を経路データに従って動作させて、前記ワークと前記撮像装置との相対的な位置を変化させる移動処理と、
前記移動処理の途中の、前記ワークと前記撮像装置との相対的な位置が異なる複数の撮像タイミングで、前記撮像装置に前記ワークの検査対象部分を撮像させて複数の画像を取得する画像取得処理と、
前記撮像装置に前記ワークを撮像させた前記複数の撮像タイミングの各々における前記ワークと前記撮像装置との相対的な位置を求める位置計算処理と、
前記複数の画像の各々について前記検査対象部分に対応する検査領域を検査し、前記検査領域に欠陥が検出されたことに応じて、前記欠陥が検出された画像の撮像タイミングにおける前記ワークと前記撮像装置との相対的な位置に基づき、前記ワークにある欠陥の位置を特定する特定処理と、実行することを特徴とする検査装置。
【請求項１１】
前記処理部は、
前記位置計算処理において、前記複数の画像のうち１つの画像を解析して、該画像の撮像時の前記ワークと前記撮像装置との相対的な位置を求め、残りの画像の撮像時の前記ワークと前記撮像装置との相対的な位置を、前記１つの画像の撮像時の前記ワークと前記撮像装置との相対的な位置、及び前記経路データに従う前記移動装置の姿勢に基づいて求めることを特徴とする請求項１０に記載の検査装置。
【請求項１２】
前記移動装置の姿勢は、前記１つの画像の撮像時の前記移動装置の姿勢に対する移動量であることを特徴とする請求項１１に記載の検査装置。
【請求項１３】
前記処理部は、
前記移動装置を所定の姿勢としたときに前記撮像装置により前記ワークを撮像して得られた計測用画像を解析して、該計測用画像の撮像時の前記ワークと前記撮像装置との相対的な位置を求める計測処理を更に実行し、
前記位置計算処理において、前記画像取得処理にて取得した前記各画像の撮像時の前記ワークと前記撮像装置との相対的な位置を、前記計測処理にて求めた前記計測用画像の撮像時の前記ワークと前記撮像装置との相対的な位置、及び前記経路データに従う前記移動装置の姿勢に基づいて求めることを特徴とする請求項１０に記載の検査装置。
【請求項１４】
前記移動装置の姿勢は、前記計測用画像の撮像時の前記移動装置の姿勢に対する移動量であることを特徴とする請求項１３に記載の検査装置。
【請求項１５】
前記処理部は、前記位置計算処理において、前記画像取得処理にて取得した前記複数の画像それぞれを解析して、前記ワークと前記撮像装置との相対的な位置を求めることを特徴とする請求項１０に記載の検査装置。
【請求項１６】
前記処理部は、
前記画像取得処理において、前記移動装置の動作とは独立した前記複数の撮像タイミングで前記撮像装置に前記ワークの前記検査対象部分を撮像させることを特徴とする請求項１０乃至１５のいずれか１項に記載の検査装置。
【請求項１７】
前記処理部は、
前記移動処理時に前記ワークが前記撮像装置に対して所定の経路を辿るように、前記移動処理に先立って、前記移動装置を所定の姿勢としたときの前記ワークと前記撮像装置との相対的な位置に基づき、前記経路データを補正する経路再設定処理を更に実行することを特徴とする請求項１０乃至１６のいずれか１項に記載の検査装置。
【請求項１８】
前記移動装置が、ロボットアームと、前記ロボットアームに取り付けられた、前記ワークを把持するロボットハンドとを有するロボットであることを特徴とする請求項１０乃至１７のいずれか１項に記載の検査装置。
【請求項１９】
ワークを撮像する撮像装置の撮像タイミングを制御し、前記ワーク及び前記撮像装置のうち少なくとも一方を移動させる移動装置の動作を制御し、前記撮像装置の撮像結果に基づき前記ワークを検査する処理部を備えた処理装置であって、
前記処理部は、
前記移動装置を経路データに従って動作させて、前記ワークと前記撮像装置との相対的な位置を変化させる移動処理と、
前記移動処理の途中の、前記ワークと前記撮像装置との相対的な位置が異なる複数の撮像タイミングで、前記撮像装置に前記ワークの検査対象部分を撮像させて複数の画像を取得する画像取得処理と、
前記撮像装置に前記ワークを撮像させた前記複数の撮像タイミングの各々における前記ワークと前記撮像装置との相対的な位置を求める位置計算処理と、
前記複数の画像の各々について前記検査対象部分に対応する検査領域を検査し、前記検査領域に欠陥が検出されたことに応じて、前記欠陥が検出された画像の撮像タイミングにおける前記ワークと前記撮像装置との相対的な位置に基づき、前記ワークにある欠陥の位置を特定する特定処理と、実行することを特徴とする処理装置。
【請求項２０】
コンピュータに、請求項１乃至９のいずれか１項に記載の検査方法の各工程を実行させるためのプログラム。
【請求項２１】
請求項２０に記載のプログラムを記録したコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ワークと撮像装置との相対的な位置を変化させながら撮像してワークの検査をする検査方法、検査装置、処理装置、プログラム及び記録媒体に関する。
【背景技術】
【０００２】
製造過程の製品等のワークをカメラに代表される撮像装置を用いて撮像し、その撮像された画像に基づきワークの検査を行う検査装置が知られている。
【０００３】
このような検査装置において、製品の外装部品等に代表される様々な形状をしたワークを検査するための検査装置としては、ワークと撮像装置との相対的な位置及び姿勢（以下、「位置」という）を変化させながら撮像する検査装置が挙げられる。ワークと撮像装置との相対的な位置を変化させながら検査を実施し、かつ多様な形状を持った様々なワークを検査するには、ワークと撮像装置の双方もしくは一方を移動させるための移動装置とワークの３次元形状を保持した処理装置とを備えることが重要である。
【０００４】
このような構成の検査装置では、検査前に事前に教示された検査位置となるようにワークと撮像装置とを相対的に位置決めし、撮像装置に撮像を行わせる（特許文献１参照）。例えば、ワークを所定の位置及び所定の姿勢となるように作業台等に位置決めし、撮像装置を移動させて撮像装置に撮像を行わせる。このような状態で撮像された画像に対して画像処理を行い、検出された欠陥をワーク上の位置に対応付けを行っている（特許文献２参照）。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特許第４８２７７４４号公報
【特許文献２】特開２００５−３１０８５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、特許文献１に記載の検査装置では、ワークと撮像装置との相対的な位置は、事前に教示された状態と一致することが求められている。このためワークと撮像装置との相対的な位置に誤差が発生した場合、撮像された画像が事前に教示された際に想定される画像と特徴が一致するように撮像位置を修正し、再度撮像を実施する必要がある。このようなフィードバック動作が発生した場合、検査に要するサイクルタイムが増大するという問題があった。
【０００７】
また、特許文献２に記載の検査装置では、事前に教示されたワークと撮像装置との相対的な位置に基づき、検出した欠陥をワーク上の位置に対応付けをしているため、ワークと撮像装置との間で正確な位置合わせが要求される。このため高速な動作は実現できず、ワーク上での欠陥の位置を対応づけるには、検査サイクルタイムが増大するという問題があった。
【０００８】
そこで、本発明は、ワークの検査を高速化することを目的とする。
【課題を解決するための手段】
【０００９】
本発明の検査方法は、処理部が、ワークを撮像する撮像装置の撮像タイミングを制御し、前記ワーク及び撮像装置の少なくとも一方を移動させる移動装置の動作を制御し、前記撮像装置の撮像結果に基づき前記ワークを検査する検査方法であって、前記処理部が、前記移動装置を経路データに従って動作させて、前記ワークと前記撮像装置との相対的な位置を変化させる移動工程と、前記処理部が、前記移動工程の途中の、前記ワークと前記撮像装置との相対的な位置が異なる複数の撮像タイミングで、前記撮像装置に前記ワークの検査対象部分を撮像させて複数の画像を取得する画像取得工程と、前記処理部が、前記撮像装置に前記ワークを撮像させた前記複数の撮像タイミングの各々における前記ワークと前記撮像装置との相対的な位置を求める位置計算工程と、前記処理部が、前記複数の画像の各々について前記検査対象部分に対応する検査領域を検査し、前記検査領域に欠陥が検出されたことに応じて、前記欠陥が検出された画像の撮像タイミングにおける前記ワークと前記撮像装置との相対的な位置に基づき、前記ワークにある欠陥の位置を特定する特定工程と、を備えたことを特徴とする。
【発明の効果】
【００１０】
本発明によれば、高速な検査動作が可能となり、かつワーク上での欠陥の位置を正確に求めることができる。よって、ワークの良品、不良品の判定を正確に行うことができる。
【図面の簡単な説明】
【００１１】
【図１】第１実施形態に係る検査装置を示す概略図である。
【図２】第１実施形態に係る画像処理装置を示すブロック図である。
【図３】第１実施形態に係る検査方法の前に行う検査準備方法を示すフローチャートである。
【図４】（ａ）はワークの３次元形状情報に対して設定した検査領域及び非検査領域の一例を示す説明図である。（ｂ）はワークの３次元形状情報に対して設定した検査領域の一例を示す説明図である。（ｃ）はワークの３次元形状情報に対して設定した非検査領域の一例を示す説明図である。
【図５】第１実施形態に係る検査方法のフローチャートである。
【図６】第１実施形態において欠陥の位置を特定する特定工程を説明するめの模式図である。
【図７】第２実施形態に係る検査方法を示すフローチャートである。
【図８】第３実施形態に係る検査方法を示すフローチャートである。
【図９】第４実施形態に係る検査方法を示すフローチャートである。
【発明を実施するための形態】
【００１２】
以下、本発明を実施するための形態を、図面を参照しながら詳細に説明する。
【００１３】
［第１実施形態］
図１は、本発明の第１実施形態に係る検査装置を示す概略図である。検査装置１００は、ワーク（被検査物）Ｗの外観を検査するものである。検査装置１００は、光源１０２と、ワークＷを移動させる移動装置であるロボット１０３と、を備えている。また、検査装置１００は、ロボット１０３の動作を制御する制御装置（制御ユニット）１０４と、撮像装置としてのカメラ１０５と、処理装置（処理ユニット）である画像処理装置２００と、を備えている。ロボット１０３は、制御装置１０４に接続され、制御装置１０４、カメラ１０５及び光源１０２は、ともに画像処理装置２００に接続されている。
【００１４】
光源１０２は、ワークＷに光を照射（照明）する照明装置である。光源１０２は、例えばＬＥＤやハロゲンランプ等、画像処理に必要な光量の光をワークＷに照射するものであればいかなるものでもよく、また、リング照明やバー照明いかなるものであってもよい。また、光源１０２の発光面側に拡散板やレンズ等を配置してもよい。
【００１５】
ロボット１０３は、多関節ロボットであり、ロボットアーム１０３Ａと、ロボットアーム１０３Ａに取り付けられたロボットハンド１０３Ｂとを有する。ロボットアーム１０３Ａは、第１実施形態では、垂直多関節のロボットアームである。ロボットハンド１０３Ｂは、複数のフィンガーを有し、これらフィンガーの開閉動作により、ワークＷを把持又は把持解放する。
【００１６】
ロボットアーム１０３Ａの基端（固定端）が不図示の架台等の構造物に固定され、他端（自由端）にロボットハンド１０３Ｂが取り付けられている。ロボットハンド１０３ＢがワークＷを把持してロボットアーム１０３Ａが動作する、即ちロボット１０３の姿勢を変化させることにより、ワークＷの位置及び姿勢（以下、「位置」という）を変化させることができる。換言すると、ワークＷは、ロボット１０３により把持および移動可能となっている。
【００１７】
カメラ１０５は、ワークＷからの光を受光して、撮像画像のデータを生成するデジタルカメラである。カメラ１０５は、撮像レンズ１０５Ａと、撮像素子（固体撮像素子）１０５Ｂとを有する。
【００１８】
撮像素子１０５Ｂは、ＣＭＯＳイメージセンサ又はＣＣＤイメージセンサ等のエリアセンサである。撮像レンズ１０５Ａは、倍率を調整する対物レンズユニットであり、撮像素子１０５ＢにおいてワークＷの全体が撮像されるように調整される。
【００１９】
画像処理装置２００は、カメラ１０５で撮像された撮像画像に対して画像処理を行い、ワークＷの検査を行う。
【００２０】
光源１０２は、カメラ１０５に対して固定されていてもよいし移動させてもどちらでもよいが、第１実施形態では、カメラ１０５及び光源１０２は、架台その他の構造物に固定され、カメラ１０５と光源１０２との相対位置（姿勢を含む）は固定である。
【００２１】
また、ワークＷとカメラ１０５との相対的な位置（姿勢を含む）を変化させる。第１実施形態では、ロボット１０３によりワークＷを移動させることで、ワークＷに対するカメラ１０５の相対的な撮像位置を変更する。即ち、検査用の画像を取得する撮像装置であるカメラ１０５および光源１０２はワークＷとは独立して設置されている。
【００２２】
なお、第１実施形態では、移動装置がロボット１０３である場合について説明するが、これに限定するものではなく、移動装置がロボット以外の装置（例えばステージ装置）であってもよい。また、ワークＷをカメラ１０５に対して移動させる場合について説明するが、カメラ１０５をワークＷに対して移動させてもよい。即ち、カメラ１０５とワークＷは相対的に位置が変化できればよいため、例えば、ロボット１０３を用いてカメラ１０５を移動させてもよい。また、カメラ１０５とワークＷの双方を移動装置が移動させる場合であってもよい。いずれの場合であっても、ワークＷに対するカメラ１０５の相対的な撮像位置を変更することができる。
【００２３】
図２は、本発明の第１実施形態に係る画像処理装置を示すブロック図である。画像処理装置２００は、処理部（演算部）としてのＣＰＵ（Central  Processing  Unit）２０１を備えている。また、画像処理装置２００は、記憶部として、ＲＯＭ（Read  Only  Memory）２０２、ＲＡＭ（Random  Access  Memory）２０３、ＨＤＤ（Hard  Disk  Drive）２０４を備えている。また、画像処理装置２００は、記録ディスクドライブ２０５及び各種のインタフェース２１１〜２１４を備えている。
【００２４】
ＣＰＵ２０１には、ＲＯＭ２０２、ＲＡＭ２０３、ＨＤＤ２０４、記録ディスクドライブ２０５及び各種のインタフェース２１１〜２１４が、バス２１０を介して接続されている。ＲＯＭ２０２には、ＢＩＯＳ等の基本プログラムが格納されている。ＲＡＭ２０３は、ＣＰＵ２０１の演算処理結果等、各種データを一時的に記憶する記憶装置である。
【００２５】
ＨＤＤ２０４は、ＣＰＵ２０１の演算処理結果や外部から取得した各種データ等を記憶する記憶装置であると共に、ＣＰＵ２０１に、後述する各種演算処理を実行させるためのプログラム２４０を記録するものである。ＣＰＵ２０１は、ＨＤＤ２０４に記録（格納）されたプログラム２４０に基づいて検査方法の各工程を実行する。
【００２６】
記録ディスクドライブ２０５は、記録ディスク２４１に記録された各種データやプログラム等を読み出すことができる。
【００２７】
光源１０２は、インタフェース２１１に接続され、ＣＰＵ２０１の制御の下で点灯又は消灯する。
【００２８】
ロボット１０３の制御装置１０４は、インタフェース２１２に接続され、ＣＰＵ２０１から、ロボット１０３の経路データを受信し、経路データに従って、ワークＷを把持したロボット１０３の動作を制御する。
【００２９】
カメラ１０５は、インタフェース２１３に接続されている。ＣＰＵ２０１は、トリガ信号をカメラ１０５に出力してトリガ信号の受信のタイミングでカメラ１０５に撮像させる。カメラ１０５は、撮像結果である撮像画像のデータをＣＰＵ２０１に出力する。ＣＰＵ２０１は、カメラ１０５から撮像画像のデータを取得し、撮像画像に画像処理を施して、ワークＷの検査をする。第１実施形態では、ワークＷの検査として、ワークＷのキズや汚れ等の欠陥を検出して、ワークＷ上の欠陥の位置を特定する。
【００３０】
インタフェース２１４には、書き換え可能な不揮発性メモリや外付けＨＤＤ等の外部記憶装置１２０が接続可能となっている。
【００３１】
以上の構成で、画像処理装置２００のＣＰＵ２０１は、ワークＷを撮像するカメラ１０５の撮像タイミングを制御し、ワークＷを移動させるロボット１０３の動作を制御する。また、ＣＰＵ２０１は、カメラ１０５の撮像結果に基づき、ワークＷを検査する。
【００３２】
なお、第１実施形態では、コンピュータ読み取り可能な記録媒体がＨＤＤ２０４であり、ＨＤＤ２０４にプログラム２４０が格納される場合について説明するが、これに限定するものではない。プログラム２４０は、コンピュータ読み取り可能な記録媒体であれば、いかなる記録媒体に記録されていてもよい。例えば、プログラム２４０を供給するための記録媒体としては、図２に示すＲＯＭ２０２や、記録ディスク２４１、外部記憶装置１２０等を用いてもよい。具体例を挙げて説明すると、記録媒体として、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、磁気テープ、不揮発性メモリ、ＲＯＭ等を用いることができる。
【００３３】
図３は、本発明の第１実施形態に係る検査方法の前に行う検査準備方法を示すフローチャートである。
【００３４】
まず、ＣＰＵ２０１は、ワークＷの検査を実施する前にワークＷの３次元形状情報を設定する（Ｓ２１）。ワークＷの３次元形状情報には、３次元ＣＡＤ情報などを利用することができる。ＣＰＵ２０１は、ＣＡＤアプリケーションフォーマットまたはより汎用的なＳＴＬフォーマットなどに変換したうえで、ユーザの指示に従い、ワークＷの３次元形状情報（３次元形状モデル）を、画像処理装置２００のＨＤＤ２０４等の記憶部に記憶させる。
【００３５】
次に、ＣＰＵ２０１は、ユーザの指示に従い、ワークＷの３次元形状情報に対して実際に検査を実施する検査領域と、検査を実施しない非検査領域について設定を行う（Ｓ２２）。具体的には、ＣＰＵ２０１は、入力を受けたワークＷの検査領域及び非検査領域（データ）を、画像処理装置２００のＨＤＤ２０４等の記憶部に記憶させる。
【００３６】
図４（ａ）は、ワークＷの３次元形状情報に対して設定した検査領域及び非検査領域の一例を示す説明図である。図４（ｂ）は、ワークＷの３次元形状情報に対して設定した検査領域の一例を示す説明図である。図４（ｃ）は、ワークＷの３次元形状情報に対して設定した非検査領域の一例を示す説明図である。
【００３７】
図４（ａ）に示すように、ワークＷの３次元形状情報（３次元形状モデル）４０に対して、検査領域４１及び非検査領域４２を面特性として設定することができる。また、図４（ｂ）に示すように、検査領域を表す３次元形状情報４１と、図４（ｃ）に示すように、非検査領域を表す３次元形状情報４２とで分けて与えることも可能である。検査領域および非検査領域を分けて与える場合は、どちらの領域設定が優先されるかを別途設定することで、相互に重なる領域に対しても領域を設定することができる。
【００３８】
なお、第１実施形態では、検査領域と非検査領域の両方を設定する場合について説明するが、検査領域のみを設定してもよく、この場合、検査領域以外の領域は非検査領域ということになる。
【００３９】
次にＣＰＵ２０１は、ワークＷに応じたロボット１０３の走査経路（経路）を設定する（Ｓ２３）。具体的には、ＣＰＵ２０１は、走査経路データ（経路データ）を、画像処理装置２００のＨＤＤ２０４等の記憶部に記憶させる。このとき、ＣＰＵ２０１は、前述のワークＷの３次元形状情報を用い、カメラ１０５および光源１０２とワークＷの表面（検査対象部分）ＷＡとの位置関係が検査に必要な条件を満たすように、ロボット１０３の経路を計算する。
【００４０】
このときカメラ１０５および光源１０２が同一フレーム上に取りつけられている場合もしくは異なるフレームに取り付けられていてもカメラ１０５および光源１０２が相対移動可能でない場合は、計算された検査経路はフレームに対して算出される。一方、カメラ１０５および光源１０２が異なるフレームに取りつけられ、光源１０２が移動可能となっている場合は、経路計算において光源１０２の経路は検査に必要な条件を満たすよう独立に計算される。
【００４１】
図５は、本発明の第１実施形態に係る検査方法のフローチャートである。ワークＷの外観の検査においては、検査に要するサイクルタイムを短くしたいという普遍的な要求が存在する。そこで、まず、ＣＰＵ２０１は、検査開始時におけるカメラ１０５とワークＷとの相対的な位置（姿勢を含む）を求める（Ｓ３１：計測工程、計測処理）。つまり、ＣＰＵ２０１は、予め設定された経路データの始点に対応するロボット１０３の姿勢でロボット１０３に支持されたワークＷのカメラ１０５に対する相対的な位置を求める。このときのワークＷとカメラ１０５との相対的な位置を、「初期の相対位置」という。
【００４２】
具体的には、ＣＰＵ２０１は、カメラ１０５によって撮像されたワークＷの撮像画像に対して特徴点を抽出し、抽出された特徴点とワークＷの３次元形状情報とをマッチングさせることで、初期の相対位置を求める。その際、ロボット１０３の位置情報を加味することで、似たような特徴点を複数持ったワークであっても、精度よく初期の相対位置を求めることができる。これにより、従来のようにロボットに対してワークを精度よく位置決めしておかなくてもよく、検査に要するサイクルタイムを短くすることが可能となる。
【００４３】
このような初期の相対位置の計算を実施する前に、カメラ１０５（撮像レンズ１０５Ａ）とロボット１０３に対して、内部パラメータの校正および外部パラメータの校正を実施することが必要である。これはグローバルな座標空間においてカメラ１０５とロボット１０３の位置及び姿勢、撮像レンズ１０５Ａのレンズ情報を取得するものであり、校正プレートと呼ばれるパターン配置とサイズが既知のプレートを使用して行われる。これによりカメラ１０５及びロボット１０３のグローバルな座標空間における位置及び姿勢の調整が行われ、撮像レンズ１０５Ａのレンズ情報が取得できる。そのため、ステップＳ３１を含む以降の計算が可能となる。
【００４４】
なお、ステップＳ３１において、ロボット１０３を、経路データの始点となるように動作させる場合について説明したが、これに限定するものではなく、ワークＷを撮像できる姿勢であれば、その姿勢は任意に設定することができる。ここで、第１実施形態では、ステップＳ３１にて取得した画像は、後のワークＷの検査において用いない画像であってもよく、検査用の画像と区別して、計測用画像ということにする。即ち、ステップＳ３１では、ＣＰＵ２０１は、ロボット１０３を所定の姿勢としたときにカメラ１０５によりワークＷを撮像して得られた計測用画像を解析して、この計測用画像の撮像時のワークＷとカメラ１０５との相対的な位置を求める。
【００４５】
次にＣＰＵ２０１は、カメラ１０５とワークＷとの相対的な位置を変化させるために、事前に設定された経路データに従ってロボット１０３を動作させる（Ｓ３２：移動工程、移動処理）。即ち、ＣＰＵ２０１は、ロボット１０３を経路データに従って動作させて、ワークＷとカメラ１０５との相対的な位置を変化させる。
【００４６】
ＣＰＵ２０１は、カメラ１０５に対してワークＷを相対的に移動させながら、カメラ１０５にてワークＷを撮像させ、検査用の画像を取得する（Ｓ３３：画像取得工程、画像取得処理）。即ち、ＣＰＵ２０１は、ステップＳ３２にてワークＷとカメラ１０５との相対的な位置を変化させながらカメラ１０５にワークＷを撮像させて画像を取得する。なお、第１実施形態では、カメラ１０５により撮像させる時でもロボット１０３の動作は継続させているが、撮像タイミングでロボット１０３の動作を停止させてもよい。
【００４７】
次にＣＰＵ２０１は、検査用の画像を取得したタイミング、即ちカメラ１０５にワークを撮像させた時のカメラ１０５とワークＷとの相対的な位置を計算する（Ｓ３４：位置計算工程、位置計算処理）。このため、第１実施形態では、ＣＰＵ２０１は、制御装置１０４より検査用の画像取得時のロボット１０３の姿勢、具体的には初期位置からの移動量（計測用画像の撮像時のロボット１０３の姿勢に対する移動量）を取得する。そして、ＣＰＵ２０１は、ステップＳ３１にて求めた初期の相対位置、及びロボット１０３の初期位置からの移動量から、撮像時のカメラ１０５とワークＷとの相対位置を計算する。つまり、計測用画像を解析することにより、カメラ１０５に対するワークＷの相対的な位置が求まるので、ロボット１０３（ロボットハンド１０３Ｂ）に対するワークＷの相対的な位置が求まる。ロボット１０３のロボットハンド１０３ＢとワークＷとの相対的な位置は一定であるので、ロボット１０３の姿勢を変化させたときのロボット１０３（ロボットアーム１０３Ａ）の姿勢からカメラ１０５に対するワークＷの相対的な位置が求まる。
【００４８】
このようにＣＰＵ２０１は、ステップＳ３３にて取得した画像の撮像時のワークＷとカメラ１０５との相対的な位置を、ステップＳ３１にて求めた初期の相対位置、及び経路データに従う撮像時のロボット１０３の姿勢に基づいて求める。このときのロボット１０３の姿勢は、ロボット１０３の関節位置を検知する検知部（不図示）から得られた結果としてもよいし、ロボット１０３の各関節への指令値としてもよい。よって、カメラ１０５とワークＷとの相対的な位置は、撮像された検査用の画像から求めることができない場合でも、ロボット１０３からの情報により求めることが可能である。
【００４９】
次にＣＰＵ２０１は、ステップＳ３３にて取得した画像における、ワークＷの検査対象部分ＷＡに対応する検査領域、およびそれ以外の非検査領域を計算する（Ｓ３５：検査領域計算工程、検査領域計算処理）。即ち、ＣＰＵ２０１は、ワークＷとカメラ１０５との相対的な位置に基づき、ステップＳ３３にて取得した画像における、ワークＷの検査対象部分ＷＡに対応する検査領域を計算する。
【００５０】
ワークＷの３次元形状情報と、３次元形状情報における検査領域及び非検査領域は、図３のステップＳ２１及びステップＳ２２にてＨＤＤ２０４に登録されている。これら登録された情報と、ステップＳ３４において計算したカメラ１０５とワークＷとの相対的な位置から、ステップＳ３３にて取得した画像における検査領域および非検査領域を計算する。画像における検査領域および非検査領域は、３次元形状情報を、カメラ１０５の撮像素子１０５Ｂに対応する仮想面に透視投影することで求められる。
【００５１】
撮像レンズ１０５Ａは固有のレンズ歪を持っており、透視投影により計算した検査領域と実際の検査画像における検査領域とでは歪の分だけずれが生じている。このため、第１実施形態では、ＣＰＵ２０１は、取得した画像に対して歪成分を除去する、もしくは検査領域および非検査領域に対して歪成分を付与することでレンズ歪に起因したずれを除去する。
【００５２】
ステップＳ３５で計算された検査領域は、検査用の画像上の領域としているため、ワークＷの表面状態に応じて、フィルタ処理や画像間演算などの画像処理を検査領域に対して実施することが可能である。またこの際に、ステップＳ３５で計算された非検査領域に対しては明示的に画像処理を施さないようにすることができる。なお、第１実施形態では、ステップＳ３５において非検査領域も演算する場合について説明したが、検査領域のみ計算するようにしてもよい。
【００５３】
ＣＰＵ２０１は、ステップＳ３５で計算された検査領域に対して画像処理を実施して、欠陥候補を求め、欠陥候補の中から欠陥を抽出する（Ｓ３６）。このとき、ＣＰＵ２０１は、欠陥（欠陥候補）の特徴量を算出する。つまり、ＣＰＵ２０１は、ステップＳ３６において、各画像における検査領域について欠陥を検出する。
【００５４】
なお、ＣＰＵ２０１は、ステップＳ３３で撮像された検査用の画像、ステップＳ３４で計算されたワークＷとカメラ１０５との相対的な位置、ステップＳ３６で抽出された欠陥の特徴量は、対応付けた状態でＨＤＤ２０４に保存する。
【００５５】
次にＣＰＵ２０１は、ロボット１０３の姿勢変化が終了したか否か、即ち動作完了したか否かを判断する（Ｓ３７）。ＣＰＵ２０１は、動作が継続中の場合は（Ｓ３７：ＮＯ）、再びステップＳ３３に戻り撮像を開始する。ＣＰＵ２０１は、動作が完了した場合は（Ｓ３７：ＹＥＳ）、ループを終了し、次のステップＳ３８を実施する。このループ動作により、ＣＰＵ２０１は、ステップＳ３３にて複数の画像を取得し、ステップＳ３５にて、各画像における検査領域及び非検査領域を計算する。
【００５６】
以上のステップＳ３３からステップＳ３７については、ロボット１０３が動作している間に、ロボット１０３の動作とは独立したタイミングで実行される。このためカメラ１０５による撮像については、ワークＷの全域もしくは検査対象部分をもれなく撮像できるような撮像速度とすることが必要である。ただし、検査開始から終了まで常に同一の撮像速度である必要はなく、検査対象部分に応じて撮像速度を変更し、検査に必要なデータ量を削減することもできる。
【００５７】
次に、ＣＰＵ２０１は、ステップＳ３６で検出された欠陥の検査画像上での位置が、ワークＷ上のどの位置に対応するかを特定する（Ｓ３８：特定工程、特定処理）。つまり、ＣＰＵ２０１は、特定処理として、まず、各画像からワークＷの欠陥を検出し（Ｓ３６）、次いで、ステップＳ３４にて計算したワークＷとカメラ１０５との相対的な位置に基づき、ワークＷにある欠陥の位置を特定する（Ｓ３８）。この特定処理は、前述のループ内で保存された一連の検査用の画像、カメラ１０５とワークＷとの相対的な位置、及び欠陥の特徴量を用いて実行される。
【００５８】
カメラ１０５とロボット１０３との相対的な位置から、検査用の画像撮像時のワークＷのカメラ座標系における位置は確定する。ロボット座標系をグローバル座標系に変換する変換行列は、前述の外部パラメータにより取得済みである。
【００５９】
図６は、第１実施形態において欠陥の位置を特定する特定工程を説明するめの模式図である。図６に示すように、検査用の画像となる像面５０上で検出された欠陥５１の画像上での位置から、撮像レンズ１０５Ａの主点５３を通る直線を想定する。この直線は、カメラ座標系からグローバル座標系へ変換されている。同じようにロボット座標系を通じて保持されているワークＷについても変換行列により、３次元形状情報（３次元形状モデル）をグローバル座標系に配置することができる。次に、カメラ１０５の主点５３を通る直線とグローバル座標系に配置された３次元形状情報との交点を求めることでワークＷ上での欠陥位置５２が特定される。
【００６０】
最後に、多様な形状を持ったワークに対しては、実際に発生した欠陥がワーク上のどの位置に対応するのかによって良品、不良品の判定が異なることがある。そこで、ＣＰＵ２０１は、ワークＷ上での位置が特定された欠陥に対し、欠陥の位置及び欠陥の特徴量に基づきワークＷの良否を判定する（Ｓ３９）。
【００６１】
以上、第１実施形態によれば、ワークＷとカメラ１０５の相対位置を事前に教示された状態と一致させる、即ち、ロボット１０３に対してワークＷを正確に位置決めする必要がなくなる。このため、高速な検査動作が可能となり、かつワークＷ上での欠陥位置を正確に求めることができる。ゆえに、ワークＷの良品、不良品の判定を正確に行うことができる。
【００６２】
なお、ステップＳ３８の処理は、ロボット１０３の走査終了を待つ必要はなく、ステップＳ３６とステップＳ３７の間に行ってもよい。また、ステップＳ３４〜Ｓ３６の処理は、複数の画像をカメラ１０５から取得した後に行ってもよい。
【００６３】
［第２実施形態］
次に、本発明の第２実施形態に係る検査方法について説明する。図７は、本発明の第２実施形態に係る検査方法を示すフローチャートである。なお、第２実施形態の検査装置の構成は、第１実施形態の検査装置と同様の構成であるので、検査装置の構成についての説明は省略する。第２実施形態では、検査装置の画像処理装置に格納されたプログラムの内容が第１実施形態と異なる。具体的には、図７に示す第２実施形態の検査方法は、図５に示す第１実施形態の検査方法に、ステップＳ６０の工程（処理）を付加したものであり、ステップＳ６０以外のステップ（工程、処理）は、第１実施形態と同様であるため、説明を省略する。
【００６４】
ステップＳ３１において求めたカメラ１０５とワークＷとの相対的な位置が、図３のフローチャートにおいてロボット１０３の走査経路（経路）を設定した場合と異なる場合には、光源１０２による検査に必要な照明条件が維持できない場合もある。
【００６５】
このため、第２実施形態のステップＳ６０では、ＣＰＵ２０１は、カメラ１０５とワークＷとの相対的な位置を、経路設定時と同等の位置となるような経路に補正する（経路再設定工程、経路再設定処理）。即ち、ＣＰＵ２０１は、ステップＳ３２の移動工程時（移動処理時）にワークＷがカメラ１０５に対して所定の経路を辿るように、ステップＳ３２に先立って、経路データを補正する。具体的には、ＣＰＵ２０１は、ロボット１０３を所定の姿勢としたときのワークＷとカメラ１０５との相対的な位置に基づき、経路データを補正する。ここで、所定の経路とは、３次元空間における一定の経路である。また、所定の姿勢とは、予め設定された特定の姿勢であり、第２実施形態では、補正前の経路データにおける始点となる姿勢である。したがって、ステップＳ３１にて求めたワークＷとカメラ１０５との相対的な位置から、経路データを補正すればよい。
【００６６】
第２実施形態では、ステップＳ３２に先立って経路データを補正（再設定）したので、ワークＷは、経路設定時と同等の経路となるように移動させる。このようにすることで、検査開始時にワークＷの初期位置がずれていた場合でも、走査経路設定時と同等の検査を行うことが可能となり、検査精度を向上させることができる。
【００６７】
［第３実施形態］
次に、本発明の第３実施形態に係る検査方法について説明する。図８は、本発明の第３実施形態に係る検査方法を示すフローチャートである。なお、第３実施形態の検査装置の構成は、第１実施形態の検査装置と同様の構成であるので、検査装置の構成についての説明は省略する。第３実施形態では、検査装置の画像処理装置に格納されたプログラムの内容が第１実施形態と異なる。具体的には、図８に示す第３実施形態の検査方法は、図５に示す第１実施形態の検査方法において、ステップＳ３１の工程（処理）を省略したものである。
【００６８】
そして、ＣＰＵ２０１は、ステップＳ３４において、例えば最初のループで、ステップＳ３３で取得した１つの画像を解析して、この画像の撮像時のワークＷとカメラ１０５との相対的な位置を求める。この演算は、第１実施形態で説明したステップＳ３１と同様である。次のループ以降ＣＰＵ２０１は、ステップＳ３４において、取得した画像の撮像時のワークＷとカメラ１０５との相対的な位置を、最初のループで求めたワークＷとカメラ１０５との相対的な位置、及び経路データに従うロボット１０３の姿勢に基づいて求める。この演算は、第１実施形態で説明したステップＳ３４と同様である。
【００６９】
第３実施形態においても、第１実施形態と同様、ロボット１０３に対してワークＷを正確に位置決めする必要がなくなる。このため、高速な検査動作が可能となり、かつワークＷ上での欠陥位置を正確に求めることができる。ゆえに、ワークＷの良品、不良品の判定を正確に行うことができる。
【００７０】
なお、第３実施形態において、第２実施形態と同様、ステップＳ３１，Ｓ６０を追加して、ロボット１０３の経路を再設定してもよい。
【００７１】
［第４実施形態］
次に、本発明の第４実施形態に係る検査方法について説明する。図９は、本発明の第４実施形態に係る検査方法を示すフローチャートである。なお、第４実施形態の検査装置の構成は、第１実施形態の検査装置と同様の構成であるので、検査装置の構成についての説明は省略する。第４実施形態では、検査装置の画像処理装置に格納されたプログラムの内容が第１実施形態と異なる。具体的には、図９に示す第４実施形態の検査方法では、図５に示す第１実施形態の検査方法において、ステップＳ３１の工程（処理）を省略し、更にステップＳ３３及びＳ３７の処理の後に、即ち複数の画像を取得した後に、ステップＳ３４〜Ｓ３６を実行する。
【００７２】
ここで、ステップＳ３４において、ＣＰＵ２０１は、複数の画像を取得してから画像撮像時のワークＷとカメラ１０５との相対的な位置を求める。詳述すると、ＣＰＵ２０１は、最初の画像に限らず、複数の画像のうち１つの画像を解析して、この画像の撮像時のワークＷとカメラ１０５との相対的な位置を求める。この演算は、第１実施形態で説明したステップＳ３１と同様である。そして、ＣＰＵ２０１は、複数の画像のうちの残りの画像の撮像時のワークＷとカメラ１０５との相対的な位置を、１つの画像の撮像時のワークＷとカメラ１０５との相対的な位置、及び経路データに従うロボット１０３の姿勢に基づいて求める。このときのロボット１０３の姿勢は、複数の画像のうちの１つの画像の撮像時のロボット１０３の姿勢に対する相対的な移動量である。この演算は、第１実施形態で説明したステップＳ３４と同様である。
【００７３】
なお、第４実施形態において、第２実施形態と同様、ステップＳ３１，Ｓ６０を追加して、ロボット１０３の経路を再設定してもよい。
【００７４】
また、全ての画像について、第１実施形態で説明したステップＳ３１と同様の演算処理で、画像の撮像時のワークＷとカメラ１０５との相対的な位置を求めてもよい。つまり、第１，第２実施形態における図５，図７のステップＳ３４のカメラ１０５とワークＷとの相対的な位置の計算処理において、撮像された検査用の画像から検出したワークＷの位置を利用することもできる。即ち、ＣＰＵ２０１は、ステップＳ３４において、画像取得工程にて取得した複数の画像それぞれを解析して、ワークＷとカメラ１０５との相対的な位置を求めてもよい。
【００７５】
このためにはワークＷの複数の位置（姿勢を含む）において、３次元形状情報とマッチング可能な特徴点を設定しておく必要がある。設定された特徴点と、撮像された検査画像とのマッチングを行うことで、撮像時のワークＷの位置を求めることができる。こうして求めたワークＷの位置を利用することで、ロボット１０３の情報からのみカメラ１０５およびワークＷの相対位置を求めるよりも精度を向上させることができる。これにより、検査領域及びワーク上での欠陥位置の計算精度が向上するため、さらに正確な良品、不良品判定を行うことが可能となる。
【００７６】
また、ロボット１０３の姿勢からワークＷとカメラ１０５との相対的な位置を求める場合と、検査用の画像からワークＷとカメラ１０５との相対的な位置を求める場合とを混在させてもよい。よって、全ての検査用の画像においてワークＷとカメラ１０５との相対的な位置を求めることができない場合であっても、ロボット１０３の姿勢からワークＷとカメラ１０５との相対的な位置を求めることができる。
【００７７】
なお、本発明は、以上説明した実施形態に限定されるものではなく、本発明の技術的思想内で多くの変形が可能である。また、本発明の実施形態に記載された効果は、本発明から生じる最も好適な効果を列挙したに過ぎず、本発明による効果は、本発明の実施形態に記載されたものに限定されない。
【００７８】
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【００７９】
また、上記実施形態では、ロボットアームが垂直多関節のロボットアームの場合について説明したが、これに限定するものではない。ロボットアームが、例えば、水平多関節のロボットアーム、パラレルリンクのロボットアーム、直交ロボット等、種々のロボットアームであってもよい。
【００８０】
また、上記実施形態では、処理部が、画像処理装置２００のＣＰＵ２０１である場合について説明したが、これに限定するものではなく、制御装置１０４のＣＰＵであってもよいし、別の装置のＣＰＵであってもよいし、複数のＣＰＵで処理部を構成してもよい。
【符号の説明】
【００８１】
１００…検査装置、１０３…ロボット（移動装置）、１０５…カメラ（撮像装置）、２００…画像処理装置（処理装置）、２０１…ＣＰＵ（処理部）、Ｗ…ワーク
【図１】
0006750841.tif 000002
【図２】
0006750841.tif 000003
【図３】
0006750841.tif 000004
【図４】
0006750841.tif 000005
【図５】
0006750841.tif 000006
【図６】
0006750841.tif 000007
【図７】
0006750841.tif 000008
【図８】
0006750841.tif 000009
【図９】
0006750841.tif 000010