(57)【要約】【課題】被検査面に互いに曲率の異なる箇所が含まれる場合にも、被検査面全体に対し、正反射光像に基づく検査を実行できるようにする。【解決手段】カメラ１と、カメラ１の光軸に沿う照明光を出射可能な照明装置２とを固定配備し、検査対象のワークＷを６軸ロボット３の先端アーム３５に装着して検査を実施する。検査に先立つ準備モードでは、ワークＷの被検査面を複数の撮像対象領域に分けて撮像するように、ワークＷの位置および姿勢が定められ、さらに生成された画像に対する検査対象領域が定められる。このとき、被検査面に含まれるいずれの箇所も、必ず１または２以上の画像の検査対象領域内に現れるとともに、いずれの画像の検査対象領域も正反射光像領域内に含まれるように設定する。【選択図】図２
2007240434.tif 000002
【特許請求の範囲】
【請求項１】
表面の一部または全てが被検査面とされた対象物の前記被検査面を、複数回に分けてそれぞれ正反射光像を得られるように撮像し、前記撮像により生成された画像を処理することにより前記被検査面の状態を検査する方法であって、
前記対象物の被検査面には、互いに異なる曲率を有する箇所が含まれており、
前記撮像は、固定された照明装置およびカメラを用いて、前記対象物の位置および姿勢を変更可能に支持した状態で実行されるものであり、
同じ形態を有する複数の対象物を順次検査するための準備として、１つの対象物に対する前記複数回の撮像をするときに各撮像に対応して対象物がとるべき位置および姿勢を定める処理と、前記撮像により生成される画像における検査対象領域を定める処理とをそれぞれ実行して、定めた内容を表す設定情報を生成し、
前記各対象物に対する検査の実行は、前記対象物がとるべき位置および姿勢についての設定情報に基づき、前記複数回の撮像を前記定められた位置および姿勢になるように対象物を支持した状態下で実行し、各撮像により生成された画像を処理するものであり、
前記検査のための準備は、前記複数回の撮像により生成される各画像において正反射光像が得られるべき領域またはその中に含まれる一部の領域が前記検査対象領域とされ、かつ前記被検査面上の任意の箇所の画像が前記複数回の撮像により生成される複数の画像のうちの少なくとも１つの画像の検査対象領域に含まれるように、前記対象物の位置および姿勢ならびに検査対象領域を定めるものである、表面状態の検査方法。
【請求項２】
前記検査のための準備は、位置および姿勢を変更可能に支持された対象物の良品モデルを前記カメラにより撮像し、前記カメラで撮像された画像をモニタに表示した状態で行われるものであり、
前記対象物の被検査面上において指定された箇所の正反射光像を含む画像が前記モニタに表示されるように、前記対象物の位置および姿勢を定めるステップＡ；
前記対象物の画像において正反射光像が得られている領域またはその中に含まれる一部の領域を前記検査対象領域として定めるステップＢ；および、
前記ステップＡで定められた対象物の位置および姿勢、ならびにステップＢで定められた検査対象領域を表す設定情報を生成するステップＣを備える処理を、第１の設定単位処理とし、
前記検査のための準備は、前記良品モデルである対象物の被検査面上における複数の指定された箇所について第１の設定単位処理を行うものであり、第１の設定単位処理を行う複数の箇所の指定は、前記被検査面上の任意の箇所の画像が、前記複数の指定された箇所について第１の設定単位処理を実行することにより定められる複数の検査対象領域の少なくとも１つに含まれるように行うものである、請求項１に記載された表面状態の検査方法。
【請求項３】
前記検査のための準備は、前記対象物の３次元形状を表す設計データを用いて行われるものであり、
前記設計データを用いて、前記対象物の被検査面上において指定された箇所の法線方向を取得するステップａ；
前記カメラで前記法線方向から前記指定された箇所を撮像した場合に、前記被検査面の中で前記カメラに正反射光を入射させることが可能な対象物上の範囲を、前記設計データを用いて特定するステップｂ；
前記ステップｂにおける撮像をした場合にステップｂで特定した前記対象物上の範囲が現れる画像上の領域である正反射光像領域を求めるステップｃ；
前記正反射光像領域またはその中に含まれる一部の領域を前記検査対象領域として定めるステップｄ；および、
前記指定された箇所の位置および前記ステップａで取得した法線方向によって特定される前記対象物の位置および姿勢を表す設定情報ならびに前記検査対象領域を表す設定情報を生成するステップｅを備える処理を、第２の設定単位処理とし、
前記検査のための準備は、前記対象物の被検査面上における複数の指定された箇所について第２の設定単位処理を行うものであり、第２の設定単位処理を行う複数の箇所の指定は、前記被検査面上の任意の箇所の画像が、前記複数の指定された箇所について第２の設定単位処理を実行することにより定められる複数の検査対象領域の少なくとも１つに含まれるように行うものである、請求項１に記載された表面状態の検査方法。
【請求項４】
表面の一部または全てが被検査面とされた対象物の前記被検査面を、複数回に分けてそれぞれ正反射光像を得られるように撮像し、前記撮像により生成された画像を処理することにより前記被検査面の状態を検査する方法であって、
前記対象物の被検査面には、互いに異なる曲率を有する箇所が含まれており、
前記複数回の撮像は、固定された照明装置およびカメラを用いて、前記各撮像時の対象物の位置および姿勢を順次変更して行うものであり、
前記対象物の位置および姿勢は、前記複数回の撮像が終了したときにおいて、被検査面上の任意の箇所の画像が、前記複数回の撮像により生成される複数の画像のうちの少なくとも１つの画像の中の、正反射光像が得られるべき領域としてまたはその中に含まれる一部の領域として設定されている検査対象領域に含まれていることになるように、順次変更されるものである、表面状態の検査方法。
【請求項５】
表面の一部または全てが被検査面とされ、前記被検査面に互いに異なる曲率を有する箇所を含む対象物の前記被検査面の状態を検査するための装置であって、
固定された照明装置およびカメラと、前記対象物をその位置および姿勢を変更可能に支持する支持装置と、前記カメラおよび支持装置の動作を制御する制御装置とを備え、
前記制御装置は、前記被検査面内の任意の箇所に対応する正反射光像が前記複数回の撮像により生成される複数の画像のうちの少なくとも１つの画像に含まれるように、前記支持装置の動作を制御するものである、表面状態検査装置。
【請求項６】
前記支持装置は、複数の関節を備えたロボットアームであり、
前記カメラは、前記ロボットアームに支持された対象物を斜め上から撮像できるように、その位置および光軸の方向が固定されており、
前記制御装置は、前記カメラの下方に供給された検査前の対象物を前記ロボットアームの先端に装着し、装着した対象物を前記カメラによって撮像可能な領域に移動させるように、前記ロボットアームの動作を制御する請求項５に記載された表面状態検査装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、所定の形状を有する対象物の表面状態を検査するための方法および装置に関する。特にこの発明は、所定の方向から被検査面を照明して撮像し、生成された画像中の正反射光像を処理する検査方法および装置に関する。
【背景技術】
【０００２】
対象物の表面の凹凸欠陥を検出する方法として、前記対象物を所定方向から照明しつつ対象物の表面からの正反射光を入射可能な位置にカメラを配置し、カメラにより生成された画像内の正反射光像を処理する方法が知られている。
たとえば、下記の特許文献１には、表面が平坦なガラス基板の表面の凹凸を検出するための方法が記載されており、特許文献２には、円柱状の電子写真用感光体の周面の欠陥を検査するための方法が記載されている。
【０００３】
【特許文献１】特許  第２９２３８０８号  公報
【特許文献２】特開２００３−７５３６３号  公報
【０００４】
被検査面がある程度の大きさを有する場合には、一度の撮像では被検査面の全体を撮像できないので、カメラおよび照明装置と検査の対象物とを相対的に移動させる必要がある。
たとえば、上記の特許文献１では、ＸＹ移動機構を用いて対象物を検査面に平行に移動させることにより、被検査面を複数の領域に分割して撮像している。特許文献２でも、前記対象物をその長さ方向を軸に回転させながら撮像を行っている。
【発明の開示】
【発明が解決しようとする課題】
【０００５】
近年、携帯電話機や携帯音楽プレーヤーなど、ファッション性が重視される機器は、さまざまな曲率の箇所を含む自由曲面を組み合わせた形態にデザインされることが多くなっている。
これらの機器についても、ケース部材の製造後あるいは完成品の出荷前に表面状態を検査する必要があり、特に製品価値を高める目的から、メーカー側は高精度の検査を行うことを希望している。しかし、さまざまな曲率の箇所を含む形態の対象物について、正反射光像を用いた検査を全面にわたって行うのは大変困難である。
【０００６】
この発明は上記の問題に着目してなされたもので、被検査面に互いに曲率の異なる箇所が含まれる場合にも、被検査面全体に対し、正反射光像に基づく検査を実行できるようにすることを目的とする。
【課題を解決するための手段】
【０００７】
この発明にかかる検査方法は、表面の一部または全てが被検査面とされた対象物の被検査面を、複数回に分けてそれぞれ正反射光像を得られるように撮像し、撮像により生成された画像を処理することにより被検査面の状態を検査するものである。対象物の被検査面には、互いに異なる曲率を有する箇所が含まれている。また撮像は、固定された照明装置およびカメラを用いて、対象物の位置および姿勢を変更可能に支持した状態で実行される。
【０００８】
この発明の第１の検査方法は、同じ形態を有する複数の対象物を順次検査するための準備として、１つの対象物に対する複数回の撮像をするときに各撮像に対応して対象物がとるべき位置および姿勢を定める処理と、撮像により生成される画像における検査対象領域を定める処理とをそれぞれ実行して、定めた内容を表す設定情報を生成するものである。
各対象物に対する検査の実行は、対象物がとるべき位置および姿勢についての設定情報に基づき、複数回の撮像を定められた位置および姿勢になるように対象物を支持した状態下で実行し、各撮像により生成された画像を処理するものである。
検査のための準備は、複数回の撮像により生成される各画像内において正反射光像が得られるべき領域またはその中に含まれる一部の領域が検査対象領域とされ、かつ被検査面上の任意の箇所の画像が複数回の撮像により生成される複数の画像のうちの少なくとも１つの画像の検査対象領域に含まれるように、対象物の位置および姿勢ならびに検査対象領域を定めるようにしている。
【０００９】
上記において、「対象物がとるべき位置および姿勢を表す設定情報」は、対象物の位置および姿勢そのものを直接表す情報に限らず、間接的に表す情報を含む。対象物の位置および姿勢を間接的に表す情報の例は、対象物上の撮像対象箇所の位置およびその箇所を撮像する方向を表す情報である。このような情報を、カメラ、対象物の支持手段などの検査に用いる装置に関する配置情報、動作制御情報などの別途取得できる情報と合わせて用いると、対象物の位置および姿勢を特定することができる。
【００１０】
検査対象領域は、検査することが予定される画像内の領域である。少なくとも「検査対象領域」についての検査は行われるが、画像内の「検査対象領域」以外の部分についても検査（または検査のための画像処理）を行うことは制限されない。もっとも、「検査対象領域」に限定して検査を行うと、画像処理の演算量を少なくできるので、検査時間を短縮できる場合がある。
【００１１】
「正反射光像が得られるべき領域」とは、撮像された対象物の被検査面が良好で凹凸欠陥などがない場合に、撮像によって得られた画像上でカメラへの正反射光の到達を観察できると予測される領域である。正反射光の到達は、例えば、画像上の当該箇所に所定のしきい値以上の受光量が現れていることをもって認識することができる。
【００１２】
上記の方法によれば、被検査面に互いに曲率の異なる箇所が含まれる対象物について、被検査面全体に対し、正反射光像に基づく検査をすることができる。
【００１３】
上記方法の好ましい一態様では、検査のための準備は、位置および姿勢を変更可能に支持された対象物の良品モデルをカメラにより撮像し、カメラで撮像された画像をモニタに表示した状態で行われる。
ここで、次のステップＡからＣを備える第１の設定単位処理が定義される。
ステップＡは、対象物の被検査面上において指定された箇所の正反射光像を含む画像が前記モニタに表示されるように、対象物の位置および姿勢を定める処理である。
ステップＢは、対象物の画像において正反射光像が得られている領域またはその中に含まれる一部の領域を検査対象領域として定める処理である。
ステップＣは、ステップＡで定められた対象物の位置および姿勢、ならびにステップＢで定められた検査対象領域を表す設定情報を生成する処理である。
【００１４】
検査のための準備は、良品モデルである対象物の被検査面上における複数の指定された箇所について第１の設定単位処理を行うものである。第１の設定単位処理を行う複数の箇所の指定は、前記被検査面上の任意の箇所の画像が、前記複数の指定された箇所について第１の設定単位処理が実行されることにより定められる複数の検査対象領域の少なくとも１つに含まれるように行うものである。
【００１５】
上記の態様によれば、良品である対象物の実物を用いて、検査実行時に利用する対象物の位置および姿勢を表す設定情報ならびに検査対象領域を表す設定情報を、容易に生成することができる。
【００１６】
他の好ましい態様では、検査のための準備は、対象物の３次元形状を表す設計データを用いて行われる。
ここで、次のステップａからｅを備える第２の設定単位処理が定義される。
ステップａは、設計データを用いて、対象物の被検査面上において指定された箇所の法線方向を取得する処理である。
ステップｂは、カメラで法線方向から指定された箇所を撮像した場合に、被検査面の中でカメラに正反射光を入射させることが可能な対象物上の範囲を、設計データを用いて特定する処理である。
ステップｃは、ステップｂにおける撮像をした場合にステップｂで特定した対象物上の範囲が現れる画像上の領域である正反射光像領域を求める処理である。
ステップｄは、正反射光像領域またはその中に含まれる一部の領域を前記検査対象領域として定める処理である。
ステップｅは、指定された箇所の位置およびステップａで取得した法線方向によって特定される前記対象物の位置および姿勢を表す設定情報ならびに前記検査対象領域を表す設定情報を生成するステップｅを備える処理である。
【００１７】
検査のための準備は、対象物の被検査面上における複数の指定された箇所について第２の設定単位処理を行うものである。第２の設定単位処理を行う複数の箇所の指定は、被検査面上の任意の箇所の画像が、複数の指定された箇所について第２の設定単位処理が実行されることにより定められる複数の検査対象領域の少なくとも１つに含まれるように行うものである。
【００１８】
上記の態様によれば、対象物の３次元形状を表す設計データを用いて、検査実行時に利用する対象物の位置および姿勢を表す設定情報ならびに検査対象領域を表す設定情報を容易に生成することができる。
【００１９】
つぎに、この発明にかかる第２の表面状態の検査方法は、固定された照明装置およびカメラを用いて複数回の撮像を、各撮像時の対象物の位置および姿勢を順次変更して行うものである。対象物の位置および姿勢は、複数回の撮像が終了したときにおいて、被検査面上の任意の箇所の画像が、複数回の撮像により生成される複数の画像のうちの少なくとも１つの画像の中の、正反射光像が得られるべき領域としてまたはその中に含まれる一部の領域として設定されている検査対象領域に含まれていることになるように、順次変更される。
【００２０】
第２の表面状態の検査方法によっても、被検査面に互いに曲率の異なる箇所が含まれる対象物について、被検査面全体に対し、正反射光像に基づく検査をすることができる。
【００２１】
つぎに、この発明にかかる表面状態検査装置は、表面の一部または全てが被検査面とされ、被検査面に互いに異なる曲率を有する箇所を含む対象物の被検査面の状態を検査するための装置であって、固定された照明装置およびカメラと、対象物をその位置および姿勢を変更可能に支持する支持装置と、カメラおよび支持装置の動作を制御する制御装置とを備える。制御装置は、被検査面内の任意の箇所に対応する正反射光像が複数回の撮像により生成される複数の画像のうちの少なくとも１つの画像に含まれるように、支持装置の動作を制御するものである。
【００２２】
上記の検査装置によれば、被検査面に互いに異なる曲率を有する複数の部位が含まれる対象物を検査する場合に、被検査面全体についての正反射光像を得ることができるから、被検査面全体に対し、正反射光像に基づく検査をすることができる。
【００２３】
上記検査装置の好ましい一態様では、支持装置は、複数の関節を備えたロボットアームである。カメラは、ロボットアームに支持された対象物を斜め上から撮像できるように、その位置および光軸の方向が固定されている。制御装置は、カメラの下方に供給された検査前の対象物をロボットアームの先端に装着し、装着した対象物をカメラによって撮像可能な領域に移動させるように、ロボットアームの動作を制御するものである。
【００２４】
上記態様のロボットアームとカメラとの配置の関係によれば、カメラの光軸が斜め下方に向けられるので、光軸を水平にする場合よりも、装置の設置面積が小さくなるように設計しやすい。また、ロボットアームの先端に対象物を装着してから撮像を行うまでに要するアーム先端の移動距離およびロボットアーム全体の姿勢変更を比較的小さくすることができるので、検査の所要時間を短くできる。また、カメラのレンズが斜め下方を向くため、レンズ表面に埃が堆積しにくい。
【発明の効果】
【００２５】
この発明によれば、検査対象物の表面に互いに曲率の異なる箇所が含まれる場合でも、これらすべての箇所の正反射光像を用いた検査を行うことが可能になり、被検査面全体の表面状態を、漏れなく検査することが可能になる。
【発明を実施するための最良の形態】
【００２６】
（１）検査装置の構成および基本の設定について
図１は、この発明にかかる検査装置の構成例を示す。
この検査装置１０は、携帯電話の本体ケースなどの成型品を対象に、キズなどの凹凸欠陥や、汚れなどの異色欠陥を検出するためのものである。なお、以下では、検査の対象物のことを「ワーク」という。
【００２７】
この実施例の検査装置１０は、カメラ１、照明装置２、６軸ロボット３、ロボットコントローラ４、ＰＬＣ（プログラマブル・ロジック・コントローラ）５、および制御処理装置６（この実施例ではパーソナルコンピュータを使用する。）により構成される。なお、制御処理装置６には、マウス、キーボードなどの入力用機器７やモニタ８が接続される。
【００２８】
カメラ１は、ＣＣＤなどの固体撮像素子を備えるディジタルスチルカメラである。照明装置２は、検査対象のワークを照明するためのもので、後記する２種類の照明部２Ａ，２Ｂが含まれる。６軸ロボット３は、前記検査対象のワークをカメラ１で撮像可能な位置に支持するためのもので、その動作はロボットコントローラ４により制御される。  
【００２９】
ＰＬＣ５には、カメラ１、照明装置２、ロボットコントローラ４に対する制御用のプログラム（ラダー言語などによるもの）が組み込まれている。ＰＬＣ５がこのプログラムを一定の周囲で繰り返し実行することにより、同じ形態を有する複数のワークが順次検査される。
【００３０】
ＰＬＣ５は、カメラ１には撮像を指示するトリガ信号（撮像トリガ）を、照明装置２には照明の切り替えなどを指示する制御信号（照明制御信号）を、それぞれ出力する。
またロボットコントローラ４には、前記ワークの位置や方向を示すデータを出力する（内容の詳細については後記する。）。ロボットコントローラ４は、このデータに基づいて６軸ロボット３の各軸の回転動作を制御する。
【００３１】
ＰＬＣ５の制御プログラムは、ユーザーが制御処理装置６を用いて作成する。検査に必要な条件やパラメータなどの設定も同様である。
完成した制御プログラムや設定データは、制御処理装置６からＰＬＣ５に転送される。以後、ユーザー（操作者）は、制御処理装置６を用いて、ＰＬＣ５に制御プログラムの実行開始や終了の指示を与える。
また検査時には、制御処理装置６は、ＰＬＣ５の上位機器としてその動作を監視するとともに、カメラ１が生成した画像データを取り込んで、検査のための画像処理を実行する。
【００３２】
図２は、カメラ１、照明装置２、６軸ロボット３の具体的な構成および検査時の位置関係を示す。
この実施例では、カメラ１をその光軸を斜め下方（この例では、鉛直方向より４５度上方に回転した方向）に向けた状態で配置するとともに、その前方に照明装置２を配備する。カメラ１および照明装置２は、図示しない支持部材により所定の高さ位置に固定されており、光軸方向や焦点距離も固定されている。
【００３３】
６軸ロボット３（以下、単に「ロボット３」という。）は、所定大きさの基台３６上に、アーム支持部３０、４個の中間アーム３１，３２，３３，３４および先端アーム３５を、順に連結した構成のものである。各連結部にはそれぞれ回転軸が含まれている。
なお、以下では、４個の中間アーム３１〜３４を基台に近いものから順に「第１アーム３１」「第２アーム３２」「第３アーム３３」「第４アーム３４」という。また、各連結部の回転軸についても、基台に近いものから順に、「第１軸」〜「第６軸」という。
【００３４】
基台３６とアーム支持部３０とをつなぐ第１軸は、鉛直方向に沿う軸である。アーム支持部３０と第１アーム３１とをつなぐ第２軸、および第１アーム３１と第２アーム３２とをつなぐ第３軸は、それぞれ水平方向（図２の紙面に直交する方向）に沿って設定される。第２アーム３２と第３アーム３３とをつなぐ第４軸は、各アームの長さ方向に沿う軸であり、第３アーム３３と第４アーム３４とをつなぐ第５軸は、第３アーム３３および第４アーム３４の長さ方向に直交する軸として設定される。最後の先端アーム３５と第４アーム３４とをつなぐ軸は、アームの長さ方向に沿う軸として設定される。
【００３５】
上記６つの軸のうち、主に第１軸、第２軸、第３軸によって、先端アーム３５のおよその位置が調整される。また主に第４軸、第５軸、第６軸によって、先端アーム３５の姿勢が調整される。
【００３６】
カメラ１の下方には、ワークトレー３６が供給される。このワークトレー３６の上面にはワーク収容用の凹部（図示せず。）が複数形成され、各凹部にそれぞれ検査対象のワークＷが裏面を上方に向けた状態で配置されている。
ロボット３は、カメラ１の視野の中心にあり、かつカメラ１の焦点が合う点Ｐ（以下、「撮像基準点Ｐ」という。）およびワークトレー３６の各凹部に、先端アーム３５が届くように配置されている。先端アーム３５の先端には後記するフランジが設けられ、さらにこのフランジに真空吸着機構を備えた図示しない治具が取り付けられる。
【００３７】
ロボット３は、ロボットコントローラ４からの指令に応じて、ワークトレー３６内のワークＷを１つずつ前記フランジの先端面に備えた治具に吸着して持ち上げ、カメラ１の前方に運ぶ。その後も、ロボットコントローラ４からの指令に応じて動作して、カメラ１に対するワークＷの位置や姿勢を種々に変化させる。
【００３８】
この実施例では、ロボット３の制御用の座標系としてｓ，ｔ，ｕの３軸による空間座標系が設定されている。３軸のうちのｕ軸は前記第１軸に合わせられており、ｓ，ｔの各軸はロボット３の設置面上に設定される。
ワークトレー３６は、ｓｔ平面上のあらかじめ定められた位置に定められた姿勢で供給される。またワークトレー３６の各凹部の位置も一定である。この条件に基づき、ロボットコントローラ４は、ワークＷの吸着時に、ワークＷがつぎの図３に示す位置関係をもって支持されるように、先端アーム３５の位置や角度を調整する。
【００３９】
図３は、ロボット３の先端アーム３５、ワークＷおよびカメラ１の関係を示す。
図中の３５１は、前記したフランジの先端面（以下、「フランジ面３５１」という。）である。また点Ｃは、このフランジ面３５１の中心点であって、第６軸の延長線上に位置する。また矢印ｖは、フランジ面３５１の基準方向を示す。
【００４０】
ワークＷには、その表面上の所定の点Ｑを原点として、ｘ，ｙ，ｚの直交３軸による座標系が設定される。
この実施例では、前記ｚ軸がロボット３の第６軸の延長線上に位置し（すなわち点Ｃ，Ｑが同一線上に位置する状態になる。）、かつｙ軸のマイナス方向がフランジ面３５１の基準方向ｖに一致するように、ワークＷが治具を介して先端アームに装着される。この位置関係はワークＷに対する検査が終了するまで維持される。
上記の位置関係により、点Ｃと点Ｑとの間の距離も既知の情報として扱うことができる。
【００４１】
なお、図３では、ワークＷを、扁平な直方体状で辺および角が丸みを帯びた形状にして示しているが、もっと複雑な形状のワーク（たとえば表面に曲率の異なる多様な曲面が含まれるワーク）を処理対象とする場合もある。その場合も、ワークは、図３と同様の位置関係をもって先端アーム３５に装着される。
【００４２】
以下、カメラ１によりこのワークＷを撮像したときに画像のほぼ中心に位置させようとするワークＷ上の点Ｅを想定し（以下、この点Ｅを「領域代表点Ｅ」という。）、領域代表点Ｅの法線ＶＬの方向からワークＷが撮像されると考える。領域代表点Ｅの位置は前記ｘｙｚ座標系による座標で表され、領域代表点Ｅにおける法線ＶＬの方向は、角度α、βにより表される。
角度αは、領域代表点Ｅにおける法線ＶＬをｘｙ平面に投影し、投影された法線ＶＬ´がｙ軸のマイナス方向から時計回りになす角度として設定される（以下、「方位角α」という。）。角度βは、法線ＶＬがｘｙ平面との間になす角度である（以下、「仰角β」という。）。
【００４３】
領域代表点Ｅのｘ，ｙ，ｚ座標および角度α，βは、制御処理装置６からＰＬＣ５を介してロボットコントローラ４に与えられる。
ロボットコントローラ４は、与えられたデータに基づき、領域代表点Ｅが撮像基準点Ｐに一致し、かつ領域代表点Ｅにおける法線ＶＬの方向がカメラ１の光軸に一致するように、ロボット３の各軸の回転動作を制御する。前記したように、ワークＷと先端アーム３５との位置関係は既知である。またロボット３の各アームの長さは既知であり、各軸の回転角度もロボットコントローラ４により認識されている。したがって、前記ｘ，ｙ，ｚ座標で表された点の位置を座標変換して、ｓｔｕ座標系で表すことができる。さらに、領域代表点Ｅを撮像基準点Ｐに合わせ、かつ角度α，βが示す法線ＶＬの方向をカメラ１の光軸に合わせるのに必要な各軸の回転角度を求めることができる。ロボットコントローラ４によるワークＷの位置や姿勢の調整処理が完了すると、カメラ１による撮像が行われ、検査用の画像が生成される。
【００４４】
図４は、検査装置１０の光学系（カメラ１および照明装置２）の詳細な構成を示す。なお、作図の便宜上、照明装置２の大きさをカメラ１に対して大きく誇張して表すとともに、カメラ１の光軸を紙面の縦方向に合わせて示す。また、ワークＷを平坦面として表すとともに、領域代表点Ｅおよびカメラ１の視野に入っているワークＷ上の領域（以下、これを「撮像対象領域」という。）の範囲を示す。
照明装置２には、ハーフミラー２０と同軸落射用の第１の照明部２Ａと、斜め入射照明用の第２の照明部２Ｂとが組み込まれる。ハーフミラー２０はカメラ１の光軸上に設けられ、第１の照明部２Ａはハーフミラー２０の側方に、第２の照明部２Ｂはハーフミラー２０の下方に、それぞれ配置される。
【００４５】
同軸落射用の第１の照明部２Ａは、光が出射する円形状の開口部（図の左方に向かって開口している。）が設けられた筐体２３内に、Ｒ，Ｇ，Ｂの各色彩光を発光する光源２１Ｒ，２１Ｇ，２１Ｂ（具体的にはＬＥＤである。）が収容された構成のものである。各光源２１Ｒ，２１Ｇ，２１Ｂは、それぞれその光軸をハーフミラー２０に向けて配備されている。また前記開口部には拡散板２２が設けられる。
【００４６】
斜め入射照明用の第２の照明部２Ｂは、上面にカメラ１の覗き穴２６が形成された筐体２５の内部に、第１の照明部と同様の光源２１Ｒ，２１Ｇ，２１Ｂが、それぞれ複数個、円形状に配列された構成のものである。各光源２１Ｒ，２１Ｇ，２１Ｂの光軸はカメラ１の光軸に平行になるように設定されている。筐体２５の下部は開口しており、この開口部に光拡散部材２３が設けられている。光拡散部材２３は、円錐台または角錐台状の内面を有するもので、その内面の広がる方向を筐体２５の開口部の方に向けて設置されている。また覗き穴２６の中心は、カメラ１の光軸に位置合わせされる。
【００４７】
第１の照明部２Ａでは、光源２１Ｒ，２１Ｇ，２１Ｂから発せられた光が拡散板２２により混合されて、断面が円形状の光が生成される。この光はハーフミラー２０に到達した後にカメラ１の光軸に沿って進行する。よって、第１の照明部２Ａが点灯した場合には、撮像対象領域に対し、いわゆる同軸落射照明光が照射される。
一方、第２の照明部２Ｂでは、光源２１Ｒ，２１Ｇ，２１Ｂから発せられた光が筐体２５内で混合され、さらに光拡散部材２３を介して覗き穴２６の下方に出射される。よって、第２の照明部２Ｂが点灯した場合には、撮像対象領域に対し、斜め方向から入射する照明光が照射される。
【００４８】
なお、上記の同軸落射照明光、斜め入射照明光は、いずれも前記撮像対象領域の全域に到達するように、照明光の径が調整されている。またいずれの照明部２Ａ，２Ｂとも、ワークＷの色彩に応じて点灯させる光源の種類を選択することが可能である。
【００４９】
この実施例では、ワークＷの表面の凹凸欠陥の有無を検査する場合には、第１の照明部２Ａによる同軸落射照明下で撮像を行い、生成された画像内の正反射光像を処理する。一方、色彩欠陥の有無を検査する場合には、第２の照明部２Ｂによる斜め入射照明下で撮像を行い、生成された画像内の拡散反射光像を処理する。
【００５０】
なお、正反射光像を得るための照明は同軸落射照明に限定されるものではない。たとえば、ハーフミラー２０を除いて、第１の照明部２Ａをもう少し高く配置し、その光軸が撮像基準点Ｐの位置でカメラ１の光軸に交わるように、前記光軸の向きを設定してもよい。この場合には、領域代表点Ｅにおける法線ＶＬの方向をカメラ１の光軸に合わせるのではなく、照明光に対するワークＷからの正反射光がカメラ１の光軸に沿って進行するように、ワークＷの姿勢を設定する必要がある。
【００５１】
（２）凹凸欠陥の検査の概要について
以下、正反射光像を用いた凹凸欠陥の検査について説明する。
図５は、撮像対象領域内の凹欠陥４０を通るラインでワークを切断したときのワークの断面形状とこの撮像対象領域について得た画像５０とを対応づけて示す。なお、図中の点線は、照明部２Ａからの同軸落射照明光を、一点鎖線は、前記撮像対象領域からの正反射光を、それぞれ示す。また画像中の線Ｉ−Ｉは、ワークに対する切断線に対応する。
【００５２】
図５の例のように、撮像対象領域内のワーク表面が平面に近い場合には、領域内のいずれの位置においても、前記同軸落射照明光に対する正反射光は、照明光の方向にほぼ反転する方向、すなわちカメラ１の光軸に沿って進む。よってカメラ１のレンズには、十分な量の正反射光が入射する。
一方、凹欠陥４０からの正反射光は、カメラ１の光軸の方向とは異なる方向に沿って進むので、画像上では、凹欠陥４０は周囲より暗い領域５１として現れる。よって、所定のしきい値で画像を２値化することによって、欠陥を検出することができる。
【００５３】
ただし、撮像対象領域内のワーク表面の曲率が大きくなると、撮像対象領域内にあっても、カメラ１のレンズに正反射光を入射することができない場所が出てくる。
図６は、撮像対象領域に含まれるワーク表面上の各点のうち、領域代表点Ｅと、この領域代表点Ｅから所定距離だけ離れた２点Ｆ１，Ｆ２について、それぞれ前記同軸落射照明光に対する正反射光がカメラ１のレンズ１１に入射する様子、あるいはレンズ１１に入射しない方向に向かう様子を示したものである。なお、図中の点線は、それぞれの点に向かう照明光の範囲を示し、網点のパターンは、前記照明光に対する正反射光の範囲を示す。
【００５４】
図示例において、領域代表点Ｅからの正反射光はすべてレンズ１０に入射しているが、領域代表点Ｅからやや離れた点Ｆ１からの正反射光は、一部しか入射していない。さらに点Ｆ１よりも領域代表点Ｅから離れている点Ｆ２に至っては、正反射光がレンズ１１に全く入射しない状態にある。
この点Ｆ２のように、撮像対象領域内であっても、同軸落射照明光に対する正反射光がレンズ１１に入射しない部位については、正反射光像を用いた凹凸欠陥の検出を行うことはできない。
【００５５】
また、撮像対象領域内のワーク表面において、同軸落射照明光に対する正反射光をレンズ１１に入射させることができる範囲は、その面の曲率が大きくなるほど狭くなる。
図７は、曲率の異なる３種類のワーク表面について、それぞれその面の画像上における正反射光強度の分布状態を対応づけて示す。いずれの画像も、ワーク表面上に定められた領域代表点Ｅを撮像基準点Ｐに合わせ、かつ領域代表点Ｅにおける法線の方向をカメラ１のレンズ１１の光軸方向に合わせた状態で生成されたものである。いずれの分布曲線も、領域代表点Ｅに対応する点Ｅ´を中心とする略放物線状の曲線になっているが、曲線がなす山の幅は、ワーク表面の曲率が大きくなるほど狭くなっている。
【００５６】
なお、図７の分布曲線は、点Ｅ´における正反射光強度を１００％として、各位置における反射光強度を規格化している。また撮像対象領域内のワーク表面に欠陥がないことを前提に、反射光強度がＵ％（Ｕ＞０）以上になる領域を、正反射光像が出現可能な領域（以下、「正反射光像領域」という。）としている。
正反射光像領域の境界を、正反射光強度がゼロになる位置に設定することも考えられるが、検査の精度を確保するには、この例のようにしきい値に基づき境界を決めるのが望ましい。
【００５７】
図９を参照して後述するように、正反射光の強度分布には、ワーク表面に存在する欠陥以外の微小な凹凸により生じる反射光がノイズ成分としてが重畳することがある。しきい値Ｕを小さな値にする場合には、正反射光像領域の境界がこのノイズ成分の影響により不安定になりやすいので、正反射光像領域内に、この領域の境界に近い部分が含まれないように検査対象領域を設定するのが好ましい。
検査対象領域の形状は、正反射光像領域と同形状でひとまわり小さいものに限らず、任意の形状（たとえば矩形状など）にしてもよい。
しきい値Ｕをある程度大きな値に設定する場合や上記ノイズ成分が少ない場合には、正反射光像領域全体を検査対象領域としてもよい。この場合には、正反射光像領域と区別して検査対象領域を設定する必要がない。
【００５８】
さらにこの実施例では、ワークＷの被検査面を漏れなく検査するために、ワークＷの位置および姿勢を変えながら各位置および姿勢においてワークＷを撮像する。このとき被検査面のどの箇所も（換言すれば、どの位置、どの点も）、それぞれ各撮像により得られる画像のうちの少なくとも１つの画像の検査対象領域内に現れるように、ワークＷの位置および姿勢を設定するようにしている。ただし、この実施例におけるワークＷの位置および姿勢の設定は、図２に示すｓｔｕ座標系空間におけるワークＷの位置および姿勢を直接表す情報やワークＷを支持するロボット３の姿勢を表す情報（第１〜第６軸の回転角度など）を用いて行うのではなく、間接的にワークＷの位置および姿勢を表す情報、すなわち図３にワークＷを基準として示した領域代表点Ｅのｘ，ｙ，ｚ座標ならびに法線ＶＬの方位角αおよび仰角βを用いて行っている。この設定情報は、ロボットコントローラ４によりロボット３の動作を決定する情報に変換される。
上記の設定情報によりワークＷの位置および姿勢が決定されると、それに伴ってワークＷ上の撮像対象領域が定まる。
【００５９】
図８は、ワークＷ上の撮像対象領域の例を示す。図中の（１）は、ワークＷを上方から見た平面図であり、（２）は、線Ａ−Ａで切断したときのワークＷの断面を示している。
図８（１）では、ワークＷ上の撮像対象領域の一部（この例ではＳ１，Ｓ２，Ｓ３，Ｓ４，Ｓ５の５つを示す。）を示すとともに、各撮像対象領域Ｓ１〜Ｓ５について生成される画像上における検査対象領域に対応するワークＷ上の範囲を、網点の領域１０５として表している（以下、この網点領域１０５を「割付け済み領域１０５」という。）。なお、ここでは図示の便宜上、各撮像対象領域Ｓ１〜Ｓ５を同じ大きさの矩形状にして、紙面に沿って配置しているが、実際の撮像対象領域は、被検査面の各箇所の正反射光像が得られるように様々な方向から撮像したときの各画像に写っているワークＷ上の範囲にあたるため、矩形以外の複雑な形状となり得る。図示されたＳ４，Ｓ５にはワークＷからはみ出た部分があるが、撮像対象領域の性質上、このような部分は撮像対象領域ではあり得ない。
【００６０】
検査の漏れをなくすには、図８（１）に示すように、ワーク上の割付け済み領域１０５間に重なりが生じるようにワークＷの位置および姿勢の設定を行うのが望ましい。
ワークＷの曲率が比較的緩やかな部分の面では、前記したように正反射光像領域が大きくなるため、画像上の検査対象領域を比較的大きくすることができ、これに対応する割付け済み領域１０５も比較的大きくなる。これに対し、曲率が急な部分の面では、正反射光像領域が小さくなるため、画像上の検査対象領域を大きく設定することができず、これに対応する割付け済み領域１０５も小さくなる。よって曲率が大きな部分における撮像対象領域の配置（例えば撮像対象領域Ｓ４，Ｓ５の配置）は、曲率が緩やかな部分における撮像対象領域の配置（例えば撮像対象領域Ｓ１，Ｓ２，Ｓ３の配置）よりも密にする必要がある。
【００６１】
この実施例では、ワークＷの良品モデル（以下「良品ワークＷ０」という。）の画像を用いて検査対象のワークＷとの画像との間の差分演算処理を実行し、その演算で生成された強度差画像を２値化することにより、欠陥を検出するようにしている。
【００６２】
図９は、検査対象領域に対する欠陥検出方法を示す。
図９（１）は、良品ワークＷ０を撮像して生成された画像の正反射光像の強度分布状態を示し、図９（２）は、凹凸欠陥のある検査対象のワークＷを撮像して生成された画像の正反射光像の強度分布状態を示す。これらの光強度分布には、ノイズ成分の重畳による細かい変動が現れている。
【００６３】
図９（３）は、前記２つの画像について、画素毎に差分をとることにより生成された強度差画像の強度分布状態を示す。この光強度分布は、図９（１）の光強度分布から図９（２）の光強度分布を差し引いたものに相当する。この実施例では、この強度差画像の光強度分布を所定のしきい値で２値化することにより、しきい値を超える強度差が現れた部分が、欠陥として認識される。
【００６４】
上記のしきい値は、画像上における正反射光像の強度の全体的な分布状態（例えば全体として光強度が大きいか小さいか）のほかに、正反射光像の強度分布に重畳されるノイズ成分の大きさを考慮して設定される。このノイズ成分は、欠陥とまではいえない表面の微小な凹凸によって発生する。したがって、これを欠陥と認識しないように、２値化しきい値を、正反射光像の強度差に表れるノイズ成分の大きさよりも大きな値に設定する必要がある。
【００６５】
（３）検査前の準備の具体例
検査実行時のワークＷの位置および姿勢、検査対象領域を規定する設定情報、および欠陥を検出するための画像処理のための２値化しきい値は、検査前の準備モードにおいて設定され、制御処理装置６の図示しないメモリ内に登録される。
図１０は、前記準備モードにおいて、ワークＷの位置を規定する設定情報（実際には領域代表点Ｅのｘ，ｙ，ｚ座標）およびワークＷの姿勢を規定する設定情報（実際には領域代表点Ｅにおける法線ＶＬの方向を表す方位角αおよび仰角β）ならびに検査対象領域を規定する設定情報（例えば、検査対象領域とそれ以外の領域とを塗り分けた画像データや検査対象領域の境界線図形を表現するデータ）を登録する際の処理の流れを示す。
【００６６】
この処理は、良品ワークＷ０を用いて、ユーザーの指定操作やパラメータ入力を受け付けながら実行するものである。処理を行う主体は制御処理装置６であるが、図１に示したすべての構成が関与する。
【００６７】
この実施例の登録処理では、カメラ１を連続駆動し、生成された画像をモニタ８に表示しながらユーザーの入力を受け付ける。
まず最初のＳＴ１（ＳＴは「ステップ」の略である。以下も同じ。）では、ロボット３の先端アーム３５に良品ワークＷ０を装着し、カメラ１による撮像を開始する。つぎのＳＴ２で、撮像対象領域の識別番号ｎ（以下、「画面番号ｎ」という。）を初期値の１に設定する。
【００６８】
ＳＴ３では、領域代表点Ｅのｘ，ｙ，ｚ座標について、ユーザーの入力を受け付ける。つぎのＳＴ４では、入力された各座標に基づきロボット３を動かして、領域代表点Ｅが撮像基準点Ｐに一致するように、良品ワークＷ０を移動させる。
【００６９】
つぎにＳＴ５では、領域代表点Ｅについて、方位角αおよび仰角βの入力を受け付ける。ＳＴ６では、再びロボット３を駆動して、入力された角度α，βが示す法線ＶＬの方向がカメラ１の光軸に合うように、良品ワークＷ０の姿勢を調整する。
【００７０】
図１１は、ＳＴ４〜６の処理に伴う良品ワークＷ０の姿勢の変化を示す。
ＳＴ４が実行されると、図１１（１）に示すように、領域代表点Ｅが撮像基準点Ｐに位置合わせされるが、この時点では、位置合わせ前の姿勢が維持されるため、ｚ軸に平行な方向がカメラ１の光軸に合わせられている。ここでＳＴ５，６が実行されると、良品ワークＷ０が回転し、図１１（２）に示すように、領域代表点Ｅの法線ＶＬの方向がカメラ１の光軸に合わせられた状態になる。
なお、方位角α，仰角βについては、およその数字を入力するだけでも良い。またＳＴ３においてワークＷの平面図を利用して座標を入力する場合には、ｘ，ｙ座標のみを入力し、ＳＴ４の実行後に、ユーザーがモニタ８を見ながらピントが合うようにｚ座標を調整してもよい。
【００７１】
図１０に戻って、ＳＴ７では、前記姿勢調整後の良品ワークＷ０に対し、第１の照明部２Ａによる同軸落射照明を施しながら撮像を行う。さらにこの撮像により生成された画像をモニタ８に表示するとともに、しきい値Ｕを用いて正反射光像領域を抽出し、この正反射光像領域の範囲を前記画像上に識別表示する。この正反射光像領域の識別表示は、正反射光像領域内を塗りつぶす表示とする。あるいは、領域の境界線を表す表示としてもよい。
【００７２】
ＳＴ８では、正反射光像領域が画像の中央付近に位置するように、ｘ，ｙ，ｚ座標および方位角α，仰角βを必要に応じて調整する。なお、ＳＴ８の中では、ＳＴ３〜７に相当する処理を実行可能であり、またＳＴ３〜７のうちの必要な処理を任意の回数実行することができる。
【００７３】
ＳＴ９では、ユーザーによる検査対象領域の指定操作を受け付ける。検査対象領域は、画像中の正反射光像領域の範囲を越えない範囲でにおいてのみ指定することができる。なお、正反射光像領域をそのまま検査対象領域にするようにした場合には、ＳＴ９の処理は省略される。
ＳＴ１０では、設定情報として、領域代表点Ｅのｘ，ｙ，ｚ座標、角度α，βを、画面番号ｎに対応づけてメモリ内に登録する。またＳＴ９で指定された検査対象領域について、画像における当該領域の位置や大きさを、設定情報として登録する。この検査対象領域の設定情報も画面番号ｎに対応づけられる。
【００７４】
以下、終了操作が行われるまで、ＳＴ１２において画面番号ｎを１つ大きな値に更新し、ＳＴ３〜１０の処理を再度実行する。
ＳＴ３〜１０の処理は、「第１の設定単位処理」に相当する。なお２サイクル目以降のＳＴ４では、原則として、一段階前にカメラ１の光軸に合わせた方向を維持したまま、新たな領域代表点Ｅを光軸に合わせるが、方向が大きく変わる場合には、一旦、ｚ軸方向が光軸に合わせられた初期状態に戻ってから、位置合わせ処理を行ってもよい
【００７５】
ＳＴ３〜１０を繰り返すことにより、良品ワークＷ０の被検査面に対し、複数の撮像対象領域が順に設定されるとともに、ワークＷの位置および姿勢の設定情報（領域代表点Ｅの座標および角度α，β）と、その領域に対応する画像における検査対象領域の設定情報とが登録される。
終了操作が行われると、ＳＴ１１が「ＹＥＳ」となり、最後のＳＴ１３において、その時点の画面番号ｎを画面総数Ｎとしてメモリに登録し、処理を終了する。
【００７６】
なお、上記の登録処理では、ユーザーは、被検査面のすべての箇所が前記割付け済み領域に含まれたことを確認する必要がある。その確認のためには、たとえば、あらかじめ実物の良品ワークＷ０の被検査面に、その面が複数の領域に分割されるようなマーキングを施し（たとえば領域間の境界線をひき、各領域内に番号を記すなど）、画像上の検査対象領域内に現れたマーキングを確認しながら、別途用意した被検査面のマップ上に割付け済み領域を記録していくとよい。
【００７７】
または、検査対象領域を設定する都度、良品ワークＷ０上の検査対象領域に含まれる曲面に近似する平面として、角度α，βにより示される方向を法線とする平面を設定し、この近似平面群が良品ワークＷ０の画像に立体的に重ね合わせられて見えるような合成画像を表示してもよい。この近似平面群が良品ワークＷ０の位置や方向の変化に合わせて連動するように表示すれば、実物の良品ワークＷ０にマーキングをしなくとも、割付け済み領域に含まれた部位を確認することができる。
また、検査対象領域の配置を最適な状態に調整するために、図１０の処理によって一旦登録された設定情報の一部を、再度、良品ワークＷ０をロボット３で支持し、かつカメラ１で撮像しながら、修正するようにしてもよい。
【００７８】
上記図１０の例では、一連の処理を主としてユーザーの操作に基づいて進行させたが、ユーザーの操作を受け付ける処理（ＳＴ３，ＳＴ５，ＳＴ１１）の全部または一部を、コンピュータのプログラム処理によって操作内容を与えるようにしてもよい。
【００７９】
図１２は、検査における処理の流れを示す。
この図１２では、ワークトレー３６に収容された複数のワークＷを順に検査するための手順を示している。まず最初のステップであるＳＴ１０１では、ロボット３を駆動して、先端アーム３５に最初のワークＷを装着する。続くＳＴ１０２では、画面番号ｎを初期値の１に設定する。
【００８０】
ＳＴ１０３では、メモリよりｎ番目の登録データを読み出す。ＳＴ１０４では、この登録データ中のｘ，ｙ，ｚ座標に基づき、領域代表点Ｅが撮像基準点Ｐに一致し、かつ、前記登録データ中の角度α，βに基づき、領域代表点Ｅにおける法線ＶＬの方向がカメラ１の光軸に合うように、ロボット３の動作を制御する。ＳＴ１０５では、この姿勢を維持した状態で撮像を行う。
【００８１】
つぎのＳＴ１０６では、前記撮像により生成された画像に、前記登録データ中の設定情報に基づき検査対象領域を設定する。ＳＴ１０７では、前記検査対象領域内の画像を切り出して、図９を参照して説明した手法により、良品ワークＷ０の画像との間の差分画像を求め、さらに求めた差分画像を２値化する。
【００８２】
ＳＴ１０８では、前記２値化後の画像に対し、しきい値を超えた画素数を計数するなどの計測処理を行った後に、その計測値を所定の基準値と照合することにより、ワークＷ上の検査対象領域の良否を判定する。
【００８３】
以下、ＳＴ１０９からＳＴ１１０に進み、画面番号ｎを更新した後にＳＴ１０３に戻る。以下同様に、画面番号ｎを画面総数Ｎになるまで順に更新しつつ、各番号についてＳＴ１０３〜１０８を実行することにより、各撮像対象領域を順に撮像し、正反射光像を用いた検査を実行する。
すべての撮像対象領域に対する処理が終了すると、ＳＴ１０９が「ＹＥＳ」となって、ＳＴ１１１に進む。ＳＴ１１１では、画面番号毎の判定処理結果を統合した検査結果データを作成し、これをモニタ８や図示しない外部機器などに出力する。
【００８４】
この後、ＳＴ１１２では、ロボット３を再び駆動して、ワークＷをワークトレー３６に戻す処理を実行する。さらに検査未実行のワークＷがあれば、ＳＴ１１３からＳＴ１０１に戻る。
以下、上記ＳＴ１０１〜１１２の処理がすべてのワークＷに対して実行されると、ＳＴ１１３が「ＹＥＳ」となり、検査を終了する。
【００８５】
上記の検査では、準備モードで設定された設定情報に基づき、ワークＷの被検査面のすべての箇所が、必ずいずれかの撮像で生成された画像上の検査対象領域に現れるように設定されているので、被検査面の全面にわたって凹凸欠陥の有無を精度良く検出することができる。
【００８６】
上記の検査では、検査対象領域内の画像について、良品ワークＷ０の画像との差分演算を行ったが、検査時に撮像した画像および良品ワークＷ０の画像の全領域を用いて、検査対象領域の内外を区別せずに差分画像を求めてもよい。そのようにした場合でも、差分画像においてしきい値を超える欠陥が検出されるのは、殆ど光強度が大きい検査対象領域内になることが予想される。しかし、検査対象領域外から欠陥が検出される場合があってもよい。そのような欠陥は、ワークＷ上の隣接する領域を撮像した画像からも重複して検出されるであろう。
検査の手法としては、上記のような差分画像を用いる手法に限らず、画像の濃度が急激に変化する箇所を欠陥として検出したり、欠陥の種類に応じた画像上の特徴（欠陥の面積や形状など）についての知識を利用して欠陥を検出しかつ分類するなど、公知の種々の手法を適用することができる。
【００８７】
（４）３次元形状を表す設計データを用いた設定処理
図１０に示した登録処理では、ワークＷの位置および姿勢や検査対象領域の設定情報を、良品ワークＷ０を実際に撮像しながら設定するようにしたが、これに代えて、ＣＡＤデータなどのワークＷの３次元データを用いて、ロボット３を動作させることなく各条件を自動的または半自動的に設定することも可能である。以下、この自動設定処理を説明する。
【００８８】
図１３（１）は、前記画像上の正反射光強度分布のグラフを示し、図１３（２）は、ワークＷへの照明光およびこれに対する正反射光と光学系の関係を示す。なお、図１３（２）では、ハーフミラー２０による照明光路の折り曲げを省略している。
図１３（１）のグラフは、前出の図７と同様に、画像の一ラインに沿う正反射強度の分布を、領域代表点Ｅに対応する点Ｅ´における強度を１００％として示している。
【００８９】
以下、ワークＷ上の領域代表点Ｅからの正反射光がカメラ１のレンズ１１の全面に入射していることを前提に説明する。この前提があれば、前記正反射光像領域を特定するためのしきい値を、レンズ１１に対する正反射光の入射領域がレンズ全体に占める割合に置き換えることができる。
すなわち、前記グラフの正反射光像領域の境界位置にある点Ｆ０´の正反射光強度が点Ｅ´における強度のＵ％であれば、点Ｆ０´に対応するワークＷ上の点Ｆ０からの正反射光は、カメラ１のレンズ１１に対し、そのレンズ全体の面積のＵ％の面積の領域に入射するはずである。
【００９０】
図１４は、点Ｆ０からの正反射光とカメラ１のレンズ１１との関係を、レンズ１１の上方から見た状態を示す。
図中、点線の円１００は、レンズ１１と同じ高さにおける正反射光を示し、ｒはその半径である。また斜線を付した領域１０１は、前記正反射光が入射している領域（以下、「正反射光入射領域１０１」という。）である。
【００９１】
上記において、レンズ１１の中心点Ｏから正反射光入射領域１０１の境界までの距離Ｌｕは、この領域１０１の面積と半径ｒとを用いて求めることができる。
ここで、正反射光入射領域１０１の面積はレンズ全体の面積のＵ％として求めることができる。また半径ｒについても、つぎの図１５に示す原理から求めることができる。
【００９２】
図１５において、ＤＬは点Ｆ０から照明部２Ａの光出射面（前出の拡散板２２の前面）までの距離を、ＤＷは点Ｆ０からレンズ１１までの距離を、それぞれ示す。またＲは前記光出射面の半径である。
【００９３】
さらにこの図１５では、点Ｆ０に対する照明光と反射光の範囲を示している。図中の破線は、光出射面の中心点ａから出た光とこれに対する正反射光を示す。また一点鎖線は、前記光出射面の端縁の一点ｂから出た光とこれに対する正反射光を示し、二点鎖線は、中心点ａを介して点ｂに対称な位置にある点ｃから出た光とこれに対する正反射光を示す。この例では、点ｃからの照明光に対する正反射光が正反射光入射領域１０１の境界を決定している。
【００９４】
上記において、点Ｆ０への照明光とこれに対する点Ｆ０からの正反射光とがなす角度は、点Ｆ０における法線により２分割される。この原理は、上記ａ，ｃの各点からの照明光についてもあてはまるので、これに基づき、点ａからの照明光と点ｃからの照明光とがなす角度φ１と、これらの照明光に対する反射光がなす角度φ２とが等しいことを証明できる。よって、三角形の相似の関係に基づき、半径ｒは、つぎの（１）式により求められる。
【００９５】
ｒ＝（Ｒ・ＤＷ）／ＤＬ  ・・・（１）
このように、既知の値ＤＷ，ＤＬ，Ｒから正反射光１００の半径ｒを求めることができるから、このｒと反射光入射領域１０１の面積とを用いて、距離Ｌｕを求めることができる。
【００９６】
なお、上記では、領域代表点Ｅからの正反射光がレンズ１１の全面に入射すると仮定したが、全面に入射しない場合には、レンズ１１の全面のうちの領域代表点Ｅからの正反射光が入射する範囲の面積を１００％として、正反射光入射領域１０１の面積がＵ％となる距離Ｌｕを求めればよい。
【００９７】
つぎに、領域代表点Ｅからレンズ１１への正反射光の入射量のＵ％の正反射光が入射するという条件を満たすワークＷ上の点Ｆ０は、領域代表点Ｅからどれだけ離れているのかを求める。
図１６は、前記ワーク上の任意の点Ｆについて、前記正反射光入射領域を決める正反射光（前記光出射面のｃ点に対する正反射光）と光学系との関係を示す。なお、ここでは、領域代表点Ｅから点Ｆまでの距離をｄとして、前記Ｌｕ，Ｄｗ，ＤＬに対応するパラメータを、距離ｄの関数Ｌｕ（ｄ），Ｄｗ（ｄ），ＤＬ（ｄ）として表している。
【００９８】
ここで、点Ｆを起点としてカメラ１の光軸に平行になる直線ｍを設定し、前記光出射面のｃ点に対する正反射光線が直線ｍから反時計回りになす角度をθ（ｄ）とすると、Ｌｕ（ｄ）はつぎの（２）式により表される。
Ｌｕ（ｄ）＝ｄ−Ｄｗ（ｄ）・ｔａｎθ（ｄ）  ・・・（２）
【００９９】
上記の角度θ（ｄ）は、点Ｆにおける接平面の傾き、前記光出射面の半径Ｒ、および点Ｆから光出射面までの距離ＤＬ（ｄ）を用いて求めることができる。半径Ｒは既知であり、距離ＤＬ（ｄ）は、前記３次元データが示す点Ｆの３次元座標を用いて求めることができる。また点Ｆにおける接平面の傾きについても、３次元データに含まれる曲率データや傾きを表す関数などから求めることができるから、距離ｄを特定することにより、θ（ｄ）の具体的な値を求めることができる。ＤＷ（ｄ）についても、ＤＬ（ｄ）と同様に求めることができる。なお、ＤＷ（ｄ）、ＤＬ（ｄ）については、それぞれ所定の定数に近似するものとして、その定数に置き換えて（１）（２）式を実行しても良い。
よって、距離ｄを特定することによって、Ｌｕ（ｄ）の値を求めることができる。
【０１００】
点Ｆが点Ｆ０よりも領域代表点Ｅに近いならば、点Ｆに対応する正反射光入射領域１０１は、点Ｆ０に対応するものより大きくなるはずである。したがって点Ｆが点Ｆ０に一致するところまで考慮すると、Ｌｕ（ｄ）≦Ｌｕとなる。
よって、前記（２）式により求めたＬｕ（ｄ）がＬｕ以下になるようなｄの範囲を抽出することにより、前記正反射光像領域に対応するワークＷ上の領域（以下、「割付け候補領域」という。）を把握することができる。
【０１０１】
図１７は、撮像条件および検査対象領域の設定情報をＣＡＤデータを用いて自動設定する場合の処理の流れを示す。
まず最初のステップであるＳＴ２０１では、前記しきい値を決めるＵの値について、ユーザーの入力を受け付ける。つぎのＳＴ２０２では、ＣＡＤデータが表す被検査面上の各点の座標のうちの１点を、領域代表点Ｅとして選択し、その点における法線方向を算出する。
【０１０２】
ＳＴ２０３では、距離ｄに所定の初期値ｄ０（ｄ０＞０、例えばｄ０＝Δｄ）を設定する。次のＳＴ２０４では、ＣＡＤデータを用いて前記図１６のＤｗ（ｄ）やｔａｎθ（ｄ）の値を求め、さらにこれらの算出結果を（２）式にあてはめてＬｕ（ｄ）を算出する。
【０１０３】
ＳＴ２０５では、このＬｕ（ｄ）の値を、あらかじめ（１）式に基づいて求めたＬｕと比較する。ここでＬｕ（ｄ）≦Ｌｕであれば、ＳＴ２０６に進み、ｄの値をΔｄだけ増やし、ＳＴ２０４に戻る。
以下同様に、ｄの値を更新しながら、ＳＴ２０４，ＳＴ２０５を繰り返す。所定の時点でＬｕ（ｄ）＞Ｌｕとなると、ＳＴ２０４〜２０６のループを脱出してＳＴ２０７に進む。ＳＴ２０７では、領域代表点Ｅのｘ，ｙ，ｚ座標とｄの一段階前の値（ｄ−Δｄ）とを用いて、前記割付け候補領域の境界の座標を特定する。
【０１０４】
なお、図１７のＳＴ２０４〜２０６では、厳密には、割付け候補領域の境界の１点が求められるだけである。しかし、領域代表点Ｅの周辺の曲面を球面に近似できる場合には、点Ｅを中心とし、ｄの最終的な値を半径とする円形領域を、割付け候補領域として設定すればよい。
一方、領域代表点Ｅの周辺の曲率が方向によって異なる場合には、その中の最大の曲率が生じる方向と最小の曲率が生じる方向とを求め、これらの方向毎にＳＴ２０４〜２０６を実行する。この場合には、撮像対象領域内に前記２方向を主軸とし、各方向毎に求めたｄの値に基づく楕円状の領域を、割付け候補領域として設定する。また領域代表点Ｅの周辺の形状が複雑である場合には、より多数の方向についてＳＴ２０４〜２０６を実行し、各方向毎に求めたｄの値を用いて割付け候補領域を設定する。
【０１０５】
割付け候補領域が特定されると、ＳＴ２０８では、そのワークＷ上の割付け候補領域を、カメラ１で撮像した場合の画像上の領域に変換する。この画像も、領域代表点Ｅが撮像基準点Ｐに一致し、領域代表点Ｅにおける法線の方向がカメラ１の光軸に合わせられて撮像されることを前提とする。よって、変換によって得られた画像上の領域は、正反射光像領域に相当することになる。
【０１０６】
ＳＴ２０９では、前記正反射光像領域に含まれる所定大きさの矩形領域を、検査対象領域として設定する。あるいは、正反射光像領域をそのまま検査対象領域として設定するようにしてもよい。さらに、ＳＴ２１０では、ＳＴ２０８とは反対の変換処理により、画像上の検査対象領域に対応するワークＷ上の領域を求め、これを割付け済み領域として設定する。
【０１０７】
以下、割付け済み領域により被検査面の全てがカバーされるまで、ＳＴ２０２〜２１０の処理を繰り返す。ＳＴ２０２〜２１０の処理は、「第２の設定単位処理」に相当する。
被検査面が全てカバーされると、ＳＴ２１１が「ＹＥＳ」となってＳＴ２１２に進み、毎時選択された領域代表点Ｅについて、ｘ，ｙ，ｚの各座標、方位角α、仰角βを、ワークＷの位置および姿勢を決めるパラメータとして登録する。さらにＳＴ２１３では、各領域代表点Ｅに対応する検査対象領域を登録する。ＳＴ２１２，２１３で登録されるデータは、先の図１０と同様に、画面番号ｎに対応づけされる。
【０１０８】
なお、領域代表点Ｅの選択については、あらかじめＣＡＤデータに基づき、ワークＷの被検査面を曲率が近似する範囲毎に分割しておき、分割された領域毎にその領域の面積や傾きに応じた数の点を選択すればよい。この場合にも、前記図８に示したように、曲率が大きくなるほど撮像対象領域が密になるように、領域代表点Ｅの間隔を曲率に応じて調整する必要がある。
ただし、領域代表点Ｅの間隔は、検査漏れの部位が生じない範囲で極力大きくなるようにするのが望ましい。撮像回数を減らすことにより、ロボット３を動かしてワークＷの位置や姿勢を順次変更するのに要する時間が減少し、検査時間を短くすることができるからである。
もちろん、各領域代表点Ｅの位置をすべてユーザーに入力させるようにしてもよい。
【０１０９】
また図１７の手順では、被検査部位の全てが割付け済み領域によりカバーされるまで、ＳＴ２０２〜２１１のループを繰り返すようにしているが、これに代えて、このループの実行回数をあらかじめ決めておき、回数分の処理を終えた時点で被検査面全体がカバーされたかどうかを判別し、カバーされていない場合は、設定処理を初めからやり直すようにしてもよい。この場合、初回の処理では、領域代表点Ｅの間隔を大きくしておき、前記ループを再実行する都度、領域代表点Ｅの間隔を小さくしていけば、検査漏れが起こらず、かつ効率の良い検査を実行することが可能になる。
【０１１０】
（５）側面検査時の処理について
図１８は、検査装置１０でワークＷの側面の表面状態を検査する場合のロボット３の動作を示す。
この実施例では、側面を検査する場合には、カメラ１の光軸を含む鉛直面内でｚ軸が斜め下を向けた状態にして、まずいずれかの側面（この実施例ではｙ軸の正方向が法線方向となる面とする。）をカメラ１に対向させ、主として第６軸の回転によって、撮像対象領域を切り替えるようにしている。勿論、第５軸の回転角度は、各撮像対象領域の領域代表点における法線ＶＬの方向に応じて調整される。
【０１１１】
上記のロボット３の動作によれば、ワークＷはｚ軸を中心に回転しながら撮像されることになるが、このような撮像方法では、常に画像のほぼ一定の方向がワークＷの厚み方向（ｚ方向）に対応するようになる。このため、毎時の撮像で生成される画像がモニタ８に表示されても、ユーザーはどの側面が撮像されているのかを直感的に判断できない可能性がある。
【０１１２】
上記の問題を解決するために、この実施例では、カメラ１により生成された画像を、撮像時の第６軸の回転角度に応じて回転補正し、補正後の画像をモニタ８に表示するようにしている。以下、この補正処理について、図１９，２０を用いて説明する。
【０１１３】
図１９は、３回分の撮像について、ワークＷに対する撮像方向を、Ａ，Ｂ，Ｃの各矢印により示す。この図では、紙面から真上に向かう方向をｚ軸の正方向とする。また説明を簡単にするために、第６軸を、反時計回りに４５度ずつ回転させて、回転の都度撮像を行うものとする。
【０１１４】
図２０は、Ａ，Ｂ，Ｃの方向毎に、カメラ１により生成された原画像とモニタ表示用に変換された画像とを対比させて示す。また各画像とも、画像上の正反射光像領域を網点パターンにより表している。なお、Ｂの変換後の画像において、４隅の黒領域は、変換前の画像に対応画素がないために設定されたものである。
この例では、毎時の撮像で得られた画像を、撮像時の第６軸の回転角度に応じた角度だけ時計回り方向に回転させている。なお、第６軸を時計回り方向に回転させる場合には、画像を反時計回り方向に回転させる必要がある。
またこの例では、第６軸の回転方向と画像の回転補正の方向とが逆であるが、図１８に示したワークＷの初期姿勢を、ｚ軸の方向を１８０度反転させた状態とすれば、第６軸の回転方向と画像の回転補正の方向とは同じになる。
【０１１５】
上記の回転補正によれば、前面をカメラ１側に向けた状態のワークＷを、１ひねりの操作で側面がカメラ１に向くように回転させた場合と同様の画像を得ることができる。したがって、人がワークＷを自ら手にとって見る場合を想像したときに自然に予想する見え方に近い表示を行うことができ、モニタ８の表示からいずれの側面を検査しているのかを簡単に把握することができる。
【０１１６】
（６）検査装置の他の構成例
図２１は、検査装置１０の他の構成例を示すものである。この実施例では、６軸ロボット３に代えて、複数のステージ部２０１〜２０５を有するワーク支持装置２００を配置し、その上面にワークＷを支持するようにしている。また、カメラ１は、最上段のステージ部２０５の上方に、光軸を鉛直方向に向けて固定配備される。
図中の２０１はＸステージ部、２０２はＹステージ部、２０３はＺステージ部であり、ワークＷの位置調整のために用いられる。また２０４，２０５はゴニオステージであり、ワークＷの姿勢調整のために用いられる。なお、カメラ１にオートフォーカス機能を設けるか、ＰＬＣ５からの指示に基づきフォーカスを調整する機能を設けるならば、Ｚステージは省略してもよい。
【０１１７】
図２１では、カメラ１とワーク支持装置２００以外の構成を省略しているが、両者の間には、図４に示したのと同様の構成の照明装置２が配備される。またワーク支持装置２００の動作制御のためにステージ制御装置（図示せず。）が配備されるほか、図１，２の実施例と同様のＰＬＣ５および制御処理装置６が設けられる。
【０１１８】
上記構成の検査装置でも、ワーク支持装置２００の各ステージ２０１〜２０５の動作量を制御することによってワークＷの位置や傾きを調整して撮像を行う。また被検査部位の全てを検査するために、前記図１０または図１７に示したのと同様に、ワークＷの位置および姿勢や検査対象領域の設定情報が定められ、制御装置装置６内に登録される。
【図面の簡単な説明】
【０１１９】
【図１】この発明の一実施例にかかる検査装置の構成を示すブロック図である。
【図２】ロボットの具体的な構成および光学系との位置関係を示す説明図である。
【図３】ロボットの先端アーム、ワークおよびカメラの関係を示す説明図である。
【図４】光学系の詳細な構成を示す説明図である。
【図５】欠陥の検出原理を示す説明図である。
【図６】カメラのレンズに正反射光が入射する範囲を示す説明図である。
【図７】曲率と正反射光像領域との関係を示す説明図である。
【図８】ワークにおける撮像対象領域の設定例を示す説明図である。
【図９】欠陥検出方法を示す説明図である。
【図１０】ワークの位置および姿勢ならびに検査対象領域の設定情報の登録手順を示すフローチャートである。
【図１１】図１０のＳＴ４，６に伴うワークの姿勢変化を示す説明図である。
【図１２】検査の手順を示すフローチャートである。
【図１３】画像上の正反射光強度分布、およびワークへの照明光ならびに正反射光と光学系との関係を示す説明図である。
【図１４】レンズと正反射光との関係を示す説明図である。
【図１５】正反射光の半径ｒを求める上での原理を説明する図である。
【図１６】正反射光の半径ｒを求める上での原理を説明する図である。
【図１７】ワークの位置および姿勢ならびに検査対象領域の設定情報をＣＡＤデータを用いて登録する手順を示すフローチャートである。
【図１８】ワークの側面を検査する場合のロボットの動作を示す説明図である。
【図１９】側面検査におけるワークに対する撮像方向を示す説明図である。
【図２０】図１９の方向毎の画像変換処理を示す説明図である。
【図２１】検査装置の他の構成例を示す説明図である。
【符号の説明】
【０１２０】
１  カメラ
２  照明装置
２Ａ  照明部
３  ６軸ロボット
４  ロボットコントローラ
５  ＰＬＣ
６  制御処理装置
Ｅ  領域代表点
Ｓ１〜Ｓ５  撮像対象領域
１０５  割付済み領域
２００  ワーク支持装置
【図１】
2007240434.tif 000003
【図２】
2007240434.tif 000004
【図３】
2007240434.tif 000005
【図４】
2007240434.tif 000006
【図５】
2007240434.tif 000007
【図６】
2007240434.tif 000008
【図７】
2007240434.tif 000009
【図８】
2007240434.tif 000010
【図９】
2007240434.tif 000011
【図１０】
2007240434.tif 000012
【図１１】
2007240434.tif 000013
【図１２】
2007240434.tif 000014
【図１３】
2007240434.tif 000015
【図１４】
2007240434.tif 000016
【図１５】
2007240434.tif 000017
【図１６】
2007240434.tif 000018
【図１７】
2007240434.tif 000019
【図１８】
2007240434.tif 000020
【図１９】
2007240434.tif 000021
【図２０】
2007240434.tif 000022
【図２１】
2007240434.tif 000023
【手続補正書】
【提出日】平成18年3月13日(2006.3.13)
【手続補正１】
【補正対象書類名】図面
【補正対象項目名】図６
【補正方法】変更
【補正の内容】
【図６】
2007240434.tif 000024