表面状態の検査方法および表面状態検査装置
【課題】被検査面に互いに曲率の異なる箇所が含まれる場合にも、被検査面全体に対し、正反射光像に基づく検査を実行できるようにする。
【解決手段】カメラ1と、カメラ1の光軸に沿う照明光を出射可能な照明装置2とを固定配備し、検査対象のワークWを6軸ロボット3の先端アーム35に装着して検査を実施する。検査に先立つ準備モードでは、ワークWの被検査面を複数の撮像対象領域に分けて撮像するように、ワークWの位置および姿勢が定められ、さらに生成された画像に対する検査対象領域が定められる。このとき、被検査面に含まれるいずれの箇所も、必ず1または2以上の画像の検査対象領域内に現れるとともに、いずれの画像の検査対象領域も正反射光像領域内に含まれるように設定する。
【解決手段】カメラ1と、カメラ1の光軸に沿う照明光を出射可能な照明装置2とを固定配備し、検査対象のワークWを6軸ロボット3の先端アーム35に装着して検査を実施する。検査に先立つ準備モードでは、ワークWの被検査面を複数の撮像対象領域に分けて撮像するように、ワークWの位置および姿勢が定められ、さらに生成された画像に対する検査対象領域が定められる。このとき、被検査面に含まれるいずれの箇所も、必ず1または2以上の画像の検査対象領域内に現れるとともに、いずれの画像の検査対象領域も正反射光像領域内に含まれるように設定する。
【発明の詳細な説明】
【技術分野】
【0001】
この発明は、所定の形状を有する対象物の表面状態を検査するための方法および装置に関する。特にこの発明は、所定の方向から被検査面を照明して撮像し、生成された画像中の正反射光像を処理する検査方法および装置に関する。
【背景技術】
【0002】
対象物の表面の凹凸欠陥を検出する方法として、前記対象物を所定方向から照明しつつ対象物の表面からの正反射光を入射可能な位置にカメラを配置し、カメラにより生成された画像内の正反射光像を処理する方法が知られている。
たとえば、下記の特許文献1には、表面が平坦なガラス基板の表面の凹凸を検出するための方法が記載されており、特許文献2には、円柱状の電子写真用感光体の周面の欠陥を検査するための方法が記載されている。
【0003】
【特許文献1】特許 第2923808号 公報
【特許文献2】特開2003−75363号 公報
【0004】
被検査面がある程度の大きさを有する場合には、一度の撮像では被検査面の全体を撮像できないので、カメラおよび照明装置と検査の対象物とを相対的に移動させる必要がある。
たとえば、上記の特許文献1では、XY移動機構を用いて対象物を検査面に平行に移動させることにより、被検査面を複数の領域に分割して撮像している。特許文献2でも、前記対象物をその長さ方向を軸に回転させながら撮像を行っている。
【発明の開示】
【発明が解決しようとする課題】
【0005】
近年、携帯電話機や携帯音楽プレーヤーなど、ファッション性が重視される機器は、さまざまな曲率の箇所を含む自由曲面を組み合わせた形態にデザインされることが多くなっている。
これらの機器についても、ケース部材の製造後あるいは完成品の出荷前に表面状態を検査する必要があり、特に製品価値を高める目的から、メーカー側は高精度の検査を行うことを希望している。しかし、さまざまな曲率の箇所を含む形態の対象物について、正反射光像を用いた検査を全面にわたって行うのは大変困難である。
【0006】
この発明は上記の問題に着目してなされたもので、被検査面に互いに曲率の異なる箇所が含まれる場合にも、被検査面全体に対し、正反射光像に基づく検査を実行できるようにすることを目的とする。
【課題を解決するための手段】
【0007】
この発明にかかる検査方法は、表面の一部または全てが被検査面とされた対象物の被検査面を、複数回に分けてそれぞれ正反射光像を得られるように撮像し、撮像により生成された画像を処理することにより被検査面の状態を検査するものである。対象物の被検査面には、互いに異なる曲率を有する箇所が含まれている。また撮像は、固定された照明装置およびカメラを用いて、対象物の位置および姿勢を変更可能に支持した状態で実行される。
【0008】
この発明の第1の検査方法は、同じ形態を有する複数の対象物を順次検査するための準備として、1つの対象物に対する複数回の撮像をするときに各撮像に対応して対象物がとるべき位置および姿勢を定める処理と、撮像により生成される画像における検査対象領域を定める処理とをそれぞれ実行して、定めた内容を表す設定情報を生成するものである。
各対象物に対する検査の実行は、対象物がとるべき位置および姿勢についての設定情報に基づき、複数回の撮像を定められた位置および姿勢になるように対象物を支持した状態下で実行し、各撮像により生成された画像を処理するものである。
検査のための準備は、複数回の撮像により生成される各画像内において正反射光像が得られるべき領域またはその中に含まれる一部の領域が検査対象領域とされ、かつ被検査面上の任意の箇所の画像が複数回の撮像により生成される複数の画像のうちの少なくとも1つの画像の検査対象領域に含まれるように、対象物の位置および姿勢ならびに検査対象領域を定めるようにしている。
【0009】
上記において、「対象物がとるべき位置および姿勢を表す設定情報」は、対象物の位置および姿勢そのものを直接表す情報に限らず、間接的に表す情報を含む。対象物の位置および姿勢を間接的に表す情報の例は、対象物上の撮像対象箇所の位置およびその箇所を撮像する方向を表す情報である。このような情報を、カメラ、対象物の支持手段などの検査に用いる装置に関する配置情報、動作制御情報などの別途取得できる情報と合わせて用いると、対象物の位置および姿勢を特定することができる。
【0010】
検査対象領域は、検査することが予定される画像内の領域である。少なくとも「検査対象領域」についての検査は行われるが、画像内の「検査対象領域」以外の部分についても検査(または検査のための画像処理)を行うことは制限されない。もっとも、「検査対象領域」に限定して検査を行うと、画像処理の演算量を少なくできるので、検査時間を短縮できる場合がある。
【0011】
「正反射光像が得られるべき領域」とは、撮像された対象物の被検査面が良好で凹凸欠陥などがない場合に、撮像によって得られた画像上でカメラへの正反射光の到達を観察できると予測される領域である。正反射光の到達は、例えば、画像上の当該箇所に所定のしきい値以上の受光量が現れていることをもって認識することができる。
【0012】
上記の方法によれば、被検査面に互いに曲率の異なる箇所が含まれる対象物について、被検査面全体に対し、正反射光像に基づく検査をすることができる。
【0013】
上記方法の好ましい一態様では、検査のための準備は、位置および姿勢を変更可能に支持された対象物の良品モデルをカメラにより撮像し、カメラで撮像された画像をモニタに表示した状態で行われる。
ここで、次のステップAからCを備える第1の設定単位処理が定義される。
ステップAは、対象物の被検査面上において指定された箇所の正反射光像を含む画像が前記モニタに表示されるように、対象物の位置および姿勢を定める処理である。
ステップBは、対象物の画像において正反射光像が得られている領域またはその中に含まれる一部の領域を検査対象領域として定める処理である。
ステップCは、ステップAで定められた対象物の位置および姿勢、ならびにステップBで定められた検査対象領域を表す設定情報を生成する処理である。
【0014】
検査のための準備は、良品モデルである対象物の被検査面上における複数の指定された箇所について第1の設定単位処理を行うものである。第1の設定単位処理を行う複数の箇所の指定は、前記被検査面上の任意の箇所の画像が、前記複数の指定された箇所について第1の設定単位処理が実行されることにより定められる複数の検査対象領域の少なくとも1つに含まれるように行うものである。
【0015】
上記の態様によれば、良品である対象物の実物を用いて、検査実行時に利用する対象物の位置および姿勢を表す設定情報ならびに検査対象領域を表す設定情報を、容易に生成することができる。
【0016】
他の好ましい態様では、検査のための準備は、対象物の3次元形状を表す設計データを用いて行われる。
ここで、次のステップaからeを備える第2の設定単位処理が定義される。
ステップaは、設計データを用いて、対象物の被検査面上において指定された箇所の法線方向を取得する処理である。
ステップbは、カメラで法線方向から指定された箇所を撮像した場合に、被検査面の中でカメラに正反射光を入射させることが可能な対象物上の範囲を、設計データを用いて特定する処理である。
ステップcは、ステップbにおける撮像をした場合にステップbで特定した対象物上の範囲が現れる画像上の領域である正反射光像領域を求める処理である。
ステップdは、正反射光像領域またはその中に含まれる一部の領域を前記検査対象領域として定める処理である。
ステップeは、指定された箇所の位置およびステップaで取得した法線方向によって特定される前記対象物の位置および姿勢を表す設定情報ならびに前記検査対象領域を表す設定情報を生成するステップeを備える処理である。
【0017】
検査のための準備は、対象物の被検査面上における複数の指定された箇所について第2の設定単位処理を行うものである。第2の設定単位処理を行う複数の箇所の指定は、被検査面上の任意の箇所の画像が、複数の指定された箇所について第2の設定単位処理が実行されることにより定められる複数の検査対象領域の少なくとも1つに含まれるように行うものである。
【0018】
上記の態様によれば、対象物の3次元形状を表す設計データを用いて、検査実行時に利用する対象物の位置および姿勢を表す設定情報ならびに検査対象領域を表す設定情報を容易に生成することができる。
【0019】
つぎに、この発明にかかる第2の表面状態の検査方法は、固定された照明装置およびカメラを用いて複数回の撮像を、各撮像時の対象物の位置および姿勢を順次変更して行うものである。対象物の位置および姿勢は、複数回の撮像が終了したときにおいて、被検査面上の任意の箇所の画像が、複数回の撮像により生成される複数の画像のうちの少なくとも1つの画像の中の、正反射光像が得られるべき領域としてまたはその中に含まれる一部の領域として設定されている検査対象領域に含まれていることになるように、順次変更される。
【0020】
第2の表面状態の検査方法によっても、被検査面に互いに曲率の異なる箇所が含まれる対象物について、被検査面全体に対し、正反射光像に基づく検査をすることができる。
【0021】
つぎに、この発明にかかる表面状態検査装置は、表面の一部または全てが被検査面とされ、被検査面に互いに異なる曲率を有する箇所を含む対象物の被検査面の状態を検査するための装置であって、固定された照明装置およびカメラと、対象物をその位置および姿勢を変更可能に支持する支持装置と、カメラおよび支持装置の動作を制御する制御装置とを備える。制御装置は、被検査面内の任意の箇所に対応する正反射光像が複数回の撮像により生成される複数の画像のうちの少なくとも1つの画像に含まれるように、支持装置の動作を制御するものである。
【0022】
上記の検査装置によれば、被検査面に互いに異なる曲率を有する複数の部位が含まれる対象物を検査する場合に、被検査面全体についての正反射光像を得ることができるから、被検査面全体に対し、正反射光像に基づく検査をすることができる。
【0023】
上記検査装置の好ましい一態様では、支持装置は、複数の関節を備えたロボットアームである。カメラは、ロボットアームに支持された対象物を斜め上から撮像できるように、その位置および光軸の方向が固定されている。制御装置は、カメラの下方に供給された検査前の対象物をロボットアームの先端に装着し、装着した対象物をカメラによって撮像可能な領域に移動させるように、ロボットアームの動作を制御するものである。
【0024】
上記態様のロボットアームとカメラとの配置の関係によれば、カメラの光軸が斜め下方に向けられるので、光軸を水平にする場合よりも、装置の設置面積が小さくなるように設計しやすい。また、ロボットアームの先端に対象物を装着してから撮像を行うまでに要するアーム先端の移動距離およびロボットアーム全体の姿勢変更を比較的小さくすることができるので、検査の所要時間を短くできる。また、カメラのレンズが斜め下方を向くため、レンズ表面に埃が堆積しにくい。
【発明の効果】
【0025】
この発明によれば、検査対象物の表面に互いに曲率の異なる箇所が含まれる場合でも、これらすべての箇所の正反射光像を用いた検査を行うことが可能になり、被検査面全体の表面状態を、漏れなく検査することが可能になる。
【発明を実施するための最良の形態】
【0026】
(1)検査装置の構成および基本の設定について
図1は、この発明にかかる検査装置の構成例を示す。
この検査装置10は、携帯電話の本体ケースなどの成型品を対象に、キズなどの凹凸欠陥や、汚れなどの異色欠陥を検出するためのものである。なお、以下では、検査の対象物のことを「ワーク」という。
【0027】
この実施例の検査装置10は、カメラ1、照明装置2、6軸ロボット3、ロボットコントローラ4、PLC(プログラマブル・ロジック・コントローラ)5、および制御処理装置6(この実施例ではパーソナルコンピュータを使用する。)により構成される。なお、制御処理装置6には、マウス、キーボードなどの入力用機器7やモニタ8が接続される。
【0028】
カメラ1は、CCDなどの固体撮像素子を備えるディジタルスチルカメラである。照明装置2は、検査対象のワークを照明するためのもので、後記する2種類の照明部2A,2Bが含まれる。6軸ロボット3は、前記検査対象のワークをカメラ1で撮像可能な位置に支持するためのもので、その動作はロボットコントローラ4により制御される。
【0029】
PLC5には、カメラ1、照明装置2、ロボットコントローラ4に対する制御用のプログラム(ラダー言語などによるもの)が組み込まれている。PLC5がこのプログラムを一定の周囲で繰り返し実行することにより、同じ形態を有する複数のワークが順次検査される。
【0030】
PLC5は、カメラ1には撮像を指示するトリガ信号(撮像トリガ)を、照明装置2には照明の切り替えなどを指示する制御信号(照明制御信号)を、それぞれ出力する。
またロボットコントローラ4には、前記ワークの位置や方向を示すデータを出力する(内容の詳細については後記する。)。ロボットコントローラ4は、このデータに基づいて6軸ロボット3の各軸の回転動作を制御する。
【0031】
PLC5の制御プログラムは、ユーザーが制御処理装置6を用いて作成する。検査に必要な条件やパラメータなどの設定も同様である。
完成した制御プログラムや設定データは、制御処理装置6からPLC5に転送される。以後、ユーザー(操作者)は、制御処理装置6を用いて、PLC5に制御プログラムの実行開始や終了の指示を与える。
また検査時には、制御処理装置6は、PLC5の上位機器としてその動作を監視するとともに、カメラ1が生成した画像データを取り込んで、検査のための画像処理を実行する。
【0032】
図2は、カメラ1、照明装置2、6軸ロボット3の具体的な構成および検査時の位置関係を示す。
この実施例では、カメラ1をその光軸を斜め下方(この例では、鉛直方向より45度上方に回転した方向)に向けた状態で配置するとともに、その前方に照明装置2を配備する。カメラ1および照明装置2は、図示しない支持部材により所定の高さ位置に固定されており、光軸方向や焦点距離も固定されている。
【0033】
6軸ロボット3(以下、単に「ロボット3」という。)は、所定大きさの基台36上に、アーム支持部30、4個の中間アーム31,32,33,34および先端アーム35を、順に連結した構成のものである。各連結部にはそれぞれ回転軸が含まれている。
なお、以下では、4個の中間アーム31〜34を基台に近いものから順に「第1アーム31」「第2アーム32」「第3アーム33」「第4アーム34」という。また、各連結部の回転軸についても、基台に近いものから順に、「第1軸」〜「第6軸」という。
【0034】
基台36とアーム支持部30とをつなぐ第1軸は、鉛直方向に沿う軸である。アーム支持部30と第1アーム31とをつなぐ第2軸、および第1アーム31と第2アーム32とをつなぐ第3軸は、それぞれ水平方向(図2の紙面に直交する方向)に沿って設定される。第2アーム32と第3アーム33とをつなぐ第4軸は、各アームの長さ方向に沿う軸であり、第3アーム33と第4アーム34とをつなぐ第5軸は、第3アーム33および第4アーム34の長さ方向に直交する軸として設定される。最後の先端アーム35と第4アーム34とをつなぐ軸は、アームの長さ方向に沿う軸として設定される。
【0035】
上記6つの軸のうち、主に第1軸、第2軸、第3軸によって、先端アーム35のおよその位置が調整される。また主に第4軸、第5軸、第6軸によって、先端アーム35の姿勢が調整される。
【0036】
カメラ1の下方には、ワークトレー36が供給される。このワークトレー36の上面にはワーク収容用の凹部(図示せず。)が複数形成され、各凹部にそれぞれ検査対象のワークWが裏面を上方に向けた状態で配置されている。
ロボット3は、カメラ1の視野の中心にあり、かつカメラ1の焦点が合う点P(以下、「撮像基準点P」という。)およびワークトレー36の各凹部に、先端アーム35が届くように配置されている。先端アーム35の先端には後記するフランジが設けられ、さらにこのフランジに真空吸着機構を備えた図示しない治具が取り付けられる。
【0037】
ロボット3は、ロボットコントローラ4からの指令に応じて、ワークトレー36内のワークWを1つずつ前記フランジの先端面に備えた治具に吸着して持ち上げ、カメラ1の前方に運ぶ。その後も、ロボットコントローラ4からの指令に応じて動作して、カメラ1に対するワークWの位置や姿勢を種々に変化させる。
【0038】
この実施例では、ロボット3の制御用の座標系としてs,t,uの3軸による空間座標系が設定されている。3軸のうちのu軸は前記第1軸に合わせられており、s,tの各軸はロボット3の設置面上に設定される。
ワークトレー36は、st平面上のあらかじめ定められた位置に定められた姿勢で供給される。またワークトレー36の各凹部の位置も一定である。この条件に基づき、ロボットコントローラ4は、ワークWの吸着時に、ワークWがつぎの図3に示す位置関係をもって支持されるように、先端アーム35の位置や角度を調整する。
【0039】
図3は、ロボット3の先端アーム35、ワークWおよびカメラ1の関係を示す。
図中の351は、前記したフランジの先端面(以下、「フランジ面351」という。)である。また点Cは、このフランジ面351の中心点であって、第6軸の延長線上に位置する。また矢印vは、フランジ面351の基準方向を示す。
【0040】
ワークWには、その表面上の所定の点Qを原点として、x,y,zの直交3軸による座標系が設定される。
この実施例では、前記z軸がロボット3の第6軸の延長線上に位置し(すなわち点C,Qが同一線上に位置する状態になる。)、かつy軸のマイナス方向がフランジ面351の基準方向vに一致するように、ワークWが治具を介して先端アームに装着される。この位置関係はワークWに対する検査が終了するまで維持される。
上記の位置関係により、点Cと点Qとの間の距離も既知の情報として扱うことができる。
【0041】
なお、図3では、ワークWを、扁平な直方体状で辺および角が丸みを帯びた形状にして示しているが、もっと複雑な形状のワーク(たとえば表面に曲率の異なる多様な曲面が含まれるワーク)を処理対象とする場合もある。その場合も、ワークは、図3と同様の位置関係をもって先端アーム35に装着される。
【0042】
以下、カメラ1によりこのワークWを撮像したときに画像のほぼ中心に位置させようとするワークW上の点Eを想定し(以下、この点Eを「領域代表点E」という。)、領域代表点Eの法線VLの方向からワークWが撮像されると考える。領域代表点Eの位置は前記xyz座標系による座標で表され、領域代表点Eにおける法線VLの方向は、角度α、βにより表される。
角度αは、領域代表点Eにおける法線VLをxy平面に投影し、投影された法線VL´がy軸のマイナス方向から時計回りになす角度として設定される(以下、「方位角α」という。)。角度βは、法線VLがxy平面との間になす角度である(以下、「仰角β」という。)。
【0043】
領域代表点Eのx,y,z座標および角度α,βは、制御処理装置6からPLC5を介してロボットコントローラ4に与えられる。
ロボットコントローラ4は、与えられたデータに基づき、領域代表点Eが撮像基準点Pに一致し、かつ領域代表点Eにおける法線VLの方向がカメラ1の光軸に一致するように、ロボット3の各軸の回転動作を制御する。前記したように、ワークWと先端アーム35との位置関係は既知である。またロボット3の各アームの長さは既知であり、各軸の回転角度もロボットコントローラ4により認識されている。したがって、前記x,y,z座標で表された点の位置を座標変換して、stu座標系で表すことができる。さらに、領域代表点Eを撮像基準点Pに合わせ、かつ角度α,βが示す法線VLの方向をカメラ1の光軸に合わせるのに必要な各軸の回転角度を求めることができる。ロボットコントローラ4によるワークWの位置や姿勢の調整処理が完了すると、カメラ1による撮像が行われ、検査用の画像が生成される。
【0044】
図4は、検査装置10の光学系(カメラ1および照明装置2)の詳細な構成を示す。なお、作図の便宜上、照明装置2の大きさをカメラ1に対して大きく誇張して表すとともに、カメラ1の光軸を紙面の縦方向に合わせて示す。また、ワークWを平坦面として表すとともに、領域代表点Eおよびカメラ1の視野に入っているワークW上の領域(以下、これを「撮像対象領域」という。)の範囲を示す。
照明装置2には、ハーフミラー20と同軸落射用の第1の照明部2Aと、斜め入射照明用の第2の照明部2Bとが組み込まれる。ハーフミラー20はカメラ1の光軸上に設けられ、第1の照明部2Aはハーフミラー20の側方に、第2の照明部2Bはハーフミラー20の下方に、それぞれ配置される。
【0045】
同軸落射用の第1の照明部2Aは、光が出射する円形状の開口部(図の左方に向かって開口している。)が設けられた筐体23内に、R,G,Bの各色彩光を発光する光源21R,21G,21B(具体的にはLEDである。)が収容された構成のものである。各光源21R,21G,21Bは、それぞれその光軸をハーフミラー20に向けて配備されている。また前記開口部には拡散板22が設けられる。
【0046】
斜め入射照明用の第2の照明部2Bは、上面にカメラ1の覗き穴26が形成された筐体25の内部に、第1の照明部と同様の光源21R,21G,21Bが、それぞれ複数個、円形状に配列された構成のものである。各光源21R,21G,21Bの光軸はカメラ1の光軸に平行になるように設定されている。筐体25の下部は開口しており、この開口部に光拡散部材23が設けられている。光拡散部材23は、円錐台または角錐台状の内面を有するもので、その内面の広がる方向を筐体25の開口部の方に向けて設置されている。また覗き穴26の中心は、カメラ1の光軸に位置合わせされる。
【0047】
第1の照明部2Aでは、光源21R,21G,21Bから発せられた光が拡散板22により混合されて、断面が円形状の光が生成される。この光はハーフミラー20に到達した後にカメラ1の光軸に沿って進行する。よって、第1の照明部2Aが点灯した場合には、撮像対象領域に対し、いわゆる同軸落射照明光が照射される。
一方、第2の照明部2Bでは、光源21R,21G,21Bから発せられた光が筐体25内で混合され、さらに光拡散部材23を介して覗き穴26の下方に出射される。よって、第2の照明部2Bが点灯した場合には、撮像対象領域に対し、斜め方向から入射する照明光が照射される。
【0048】
なお、上記の同軸落射照明光、斜め入射照明光は、いずれも前記撮像対象領域の全域に到達するように、照明光の径が調整されている。またいずれの照明部2A,2Bとも、ワークWの色彩に応じて点灯させる光源の種類を選択することが可能である。
【0049】
この実施例では、ワークWの表面の凹凸欠陥の有無を検査する場合には、第1の照明部2Aによる同軸落射照明下で撮像を行い、生成された画像内の正反射光像を処理する。一方、色彩欠陥の有無を検査する場合には、第2の照明部2Bによる斜め入射照明下で撮像を行い、生成された画像内の拡散反射光像を処理する。
【0050】
なお、正反射光像を得るための照明は同軸落射照明に限定されるものではない。たとえば、ハーフミラー20を除いて、第1の照明部2Aをもう少し高く配置し、その光軸が撮像基準点Pの位置でカメラ1の光軸に交わるように、前記光軸の向きを設定してもよい。この場合には、領域代表点Eにおける法線VLの方向をカメラ1の光軸に合わせるのではなく、照明光に対するワークWからの正反射光がカメラ1の光軸に沿って進行するように、ワークWの姿勢を設定する必要がある。
【0051】
(2)凹凸欠陥の検査の概要について
以下、正反射光像を用いた凹凸欠陥の検査について説明する。
図5は、撮像対象領域内の凹欠陥40を通るラインでワークを切断したときのワークの断面形状とこの撮像対象領域について得た画像50とを対応づけて示す。なお、図中の点線は、照明部2Aからの同軸落射照明光を、一点鎖線は、前記撮像対象領域からの正反射光を、それぞれ示す。また画像中の線I−Iは、ワークに対する切断線に対応する。
【0052】
図5の例のように、撮像対象領域内のワーク表面が平面に近い場合には、領域内のいずれの位置においても、前記同軸落射照明光に対する正反射光は、照明光の方向にほぼ反転する方向、すなわちカメラ1の光軸に沿って進む。よってカメラ1のレンズには、十分な量の正反射光が入射する。
一方、凹欠陥40からの正反射光は、カメラ1の光軸の方向とは異なる方向に沿って進むので、画像上では、凹欠陥40は周囲より暗い領域51として現れる。よって、所定のしきい値で画像を2値化することによって、欠陥を検出することができる。
【0053】
ただし、撮像対象領域内のワーク表面の曲率が大きくなると、撮像対象領域内にあっても、カメラ1のレンズに正反射光を入射することができない場所が出てくる。
図6は、撮像対象領域に含まれるワーク表面上の各点のうち、領域代表点Eと、この領域代表点Eから所定距離だけ離れた2点F1,F2について、それぞれ前記同軸落射照明光に対する正反射光がカメラ1のレンズ11に入射する様子、あるいはレンズ11に入射しない方向に向かう様子を示したものである。なお、図中の点線は、それぞれの点に向かう照明光の範囲を示し、網点のパターンは、前記照明光に対する正反射光の範囲を示す。
【0054】
図示例において、領域代表点Eからの正反射光はすべてレンズ10に入射しているが、領域代表点Eからやや離れた点F1からの正反射光は、一部しか入射していない。さらに点F1よりも領域代表点Eから離れている点F2に至っては、正反射光がレンズ11に全く入射しない状態にある。
この点F2のように、撮像対象領域内であっても、同軸落射照明光に対する正反射光がレンズ11に入射しない部位については、正反射光像を用いた凹凸欠陥の検出を行うことはできない。
【0055】
また、撮像対象領域内のワーク表面において、同軸落射照明光に対する正反射光をレンズ11に入射させることができる範囲は、その面の曲率が大きくなるほど狭くなる。
図7は、曲率の異なる3種類のワーク表面について、それぞれその面の画像上における正反射光強度の分布状態を対応づけて示す。いずれの画像も、ワーク表面上に定められた領域代表点Eを撮像基準点Pに合わせ、かつ領域代表点Eにおける法線の方向をカメラ1のレンズ11の光軸方向に合わせた状態で生成されたものである。いずれの分布曲線も、領域代表点Eに対応する点E´を中心とする略放物線状の曲線になっているが、曲線がなす山の幅は、ワーク表面の曲率が大きくなるほど狭くなっている。
【0056】
なお、図7の分布曲線は、点E´における正反射光強度を100%として、各位置における反射光強度を規格化している。また撮像対象領域内のワーク表面に欠陥がないことを前提に、反射光強度がU%(U>0)以上になる領域を、正反射光像が出現可能な領域(以下、「正反射光像領域」という。)としている。
正反射光像領域の境界を、正反射光強度がゼロになる位置に設定することも考えられるが、検査の精度を確保するには、この例のようにしきい値に基づき境界を決めるのが望ましい。
【0057】
図9を参照して後述するように、正反射光の強度分布には、ワーク表面に存在する欠陥以外の微小な凹凸により生じる反射光がノイズ成分としてが重畳することがある。しきい値Uを小さな値にする場合には、正反射光像領域の境界がこのノイズ成分の影響により不安定になりやすいので、正反射光像領域内に、この領域の境界に近い部分が含まれないように検査対象領域を設定するのが好ましい。
検査対象領域の形状は、正反射光像領域と同形状でひとまわり小さいものに限らず、任意の形状(たとえば矩形状など)にしてもよい。
しきい値Uをある程度大きな値に設定する場合や上記ノイズ成分が少ない場合には、正反射光像領域全体を検査対象領域としてもよい。この場合には、正反射光像領域と区別して検査対象領域を設定する必要がない。
【0058】
さらにこの実施例では、ワークWの被検査面を漏れなく検査するために、ワークWの位置および姿勢を変えながら各位置および姿勢においてワークWを撮像する。このとき被検査面のどの箇所も(換言すれば、どの位置、どの点も)、それぞれ各撮像により得られる画像のうちの少なくとも1つの画像の検査対象領域内に現れるように、ワークWの位置および姿勢を設定するようにしている。ただし、この実施例におけるワークWの位置および姿勢の設定は、図2に示すstu座標系空間におけるワークWの位置および姿勢を直接表す情報やワークWを支持するロボット3の姿勢を表す情報(第1〜第6軸の回転角度など)を用いて行うのではなく、間接的にワークWの位置および姿勢を表す情報、すなわち図3にワークWを基準として示した領域代表点Eのx,y,z座標ならびに法線VLの方位角αおよび仰角βを用いて行っている。この設定情報は、ロボットコントローラ4によりロボット3の動作を決定する情報に変換される。
上記の設定情報によりワークWの位置および姿勢が決定されると、それに伴ってワークW上の撮像対象領域が定まる。
【0059】
図8は、ワークW上の撮像対象領域の例を示す。図中の(1)は、ワークWを上方から見た平面図であり、(2)は、線A−Aで切断したときのワークWの断面を示している。
図8(1)では、ワークW上の撮像対象領域の一部(この例ではS1,S2,S3,S4,S5の5つを示す。)を示すとともに、各撮像対象領域S1〜S5について生成される画像上における検査対象領域に対応するワークW上の範囲を、網点の領域105として表している(以下、この網点領域105を「割付け済み領域105」という。)。なお、ここでは図示の便宜上、各撮像対象領域S1〜S5を同じ大きさの矩形状にして、紙面に沿って配置しているが、実際の撮像対象領域は、被検査面の各箇所の正反射光像が得られるように様々な方向から撮像したときの各画像に写っているワークW上の範囲にあたるため、矩形以外の複雑な形状となり得る。図示されたS4,S5にはワークWからはみ出た部分があるが、撮像対象領域の性質上、このような部分は撮像対象領域ではあり得ない。
【0060】
検査の漏れをなくすには、図8(1)に示すように、ワーク上の割付け済み領域105間に重なりが生じるようにワークWの位置および姿勢の設定を行うのが望ましい。
ワークWの曲率が比較的緩やかな部分の面では、前記したように正反射光像領域が大きくなるため、画像上の検査対象領域を比較的大きくすることができ、これに対応する割付け済み領域105も比較的大きくなる。これに対し、曲率が急な部分の面では、正反射光像領域が小さくなるため、画像上の検査対象領域を大きく設定することができず、これに対応する割付け済み領域105も小さくなる。よって曲率が大きな部分における撮像対象領域の配置(例えば撮像対象領域S4,S5の配置)は、曲率が緩やかな部分における撮像対象領域の配置(例えば撮像対象領域S1,S2,S3の配置)よりも密にする必要がある。
【0061】
この実施例では、ワークWの良品モデル(以下「良品ワークW0」という。)の画像を用いて検査対象のワークWとの画像との間の差分演算処理を実行し、その演算で生成された強度差画像を2値化することにより、欠陥を検出するようにしている。
【0062】
図9は、検査対象領域に対する欠陥検出方法を示す。
図9(1)は、良品ワークW0を撮像して生成された画像の正反射光像の強度分布状態を示し、図9(2)は、凹凸欠陥のある検査対象のワークWを撮像して生成された画像の正反射光像の強度分布状態を示す。これらの光強度分布には、ノイズ成分の重畳による細かい変動が現れている。
【0063】
図9(3)は、前記2つの画像について、画素毎に差分をとることにより生成された強度差画像の強度分布状態を示す。この光強度分布は、図9(1)の光強度分布から図9(2)の光強度分布を差し引いたものに相当する。この実施例では、この強度差画像の光強度分布を所定のしきい値で2値化することにより、しきい値を超える強度差が現れた部分が、欠陥として認識される。
【0064】
上記のしきい値は、画像上における正反射光像の強度の全体的な分布状態(例えば全体として光強度が大きいか小さいか)のほかに、正反射光像の強度分布に重畳されるノイズ成分の大きさを考慮して設定される。このノイズ成分は、欠陥とまではいえない表面の微小な凹凸によって発生する。したがって、これを欠陥と認識しないように、2値化しきい値を、正反射光像の強度差に表れるノイズ成分の大きさよりも大きな値に設定する必要がある。
【0065】
(3)検査前の準備の具体例
検査実行時のワークWの位置および姿勢、検査対象領域を規定する設定情報、および欠陥を検出するための画像処理のための2値化しきい値は、検査前の準備モードにおいて設定され、制御処理装置6の図示しないメモリ内に登録される。
図10は、前記準備モードにおいて、ワークWの位置を規定する設定情報(実際には領域代表点Eのx,y,z座標)およびワークWの姿勢を規定する設定情報(実際には領域代表点Eにおける法線VLの方向を表す方位角αおよび仰角β)ならびに検査対象領域を規定する設定情報(例えば、検査対象領域とそれ以外の領域とを塗り分けた画像データや検査対象領域の境界線図形を表現するデータ)を登録する際の処理の流れを示す。
【0066】
この処理は、良品ワークW0を用いて、ユーザーの指定操作やパラメータ入力を受け付けながら実行するものである。処理を行う主体は制御処理装置6であるが、図1に示したすべての構成が関与する。
【0067】
この実施例の登録処理では、カメラ1を連続駆動し、生成された画像をモニタ8に表示しながらユーザーの入力を受け付ける。
まず最初のST1(STは「ステップ」の略である。以下も同じ。)では、ロボット3の先端アーム35に良品ワークW0を装着し、カメラ1による撮像を開始する。つぎのST2で、撮像対象領域の識別番号n(以下、「画面番号n」という。)を初期値の1に設定する。
【0068】
ST3では、領域代表点Eのx,y,z座標について、ユーザーの入力を受け付ける。つぎのST4では、入力された各座標に基づきロボット3を動かして、領域代表点Eが撮像基準点Pに一致するように、良品ワークW0を移動させる。
【0069】
つぎにST5では、領域代表点Eについて、方位角αおよび仰角βの入力を受け付ける。ST6では、再びロボット3を駆動して、入力された角度α,βが示す法線VLの方向がカメラ1の光軸に合うように、良品ワークW0の姿勢を調整する。
【0070】
図11は、ST4〜6の処理に伴う良品ワークW0の姿勢の変化を示す。
ST4が実行されると、図11(1)に示すように、領域代表点Eが撮像基準点Pに位置合わせされるが、この時点では、位置合わせ前の姿勢が維持されるため、z軸に平行な方向がカメラ1の光軸に合わせられている。ここでST5,6が実行されると、良品ワークW0が回転し、図11(2)に示すように、領域代表点Eの法線VLの方向がカメラ1の光軸に合わせられた状態になる。
なお、方位角α,仰角βについては、およその数字を入力するだけでも良い。またST3においてワークWの平面図を利用して座標を入力する場合には、x,y座標のみを入力し、ST4の実行後に、ユーザーがモニタ8を見ながらピントが合うようにz座標を調整してもよい。
【0071】
図10に戻って、ST7では、前記姿勢調整後の良品ワークW0に対し、第1の照明部2Aによる同軸落射照明を施しながら撮像を行う。さらにこの撮像により生成された画像をモニタ8に表示するとともに、しきい値Uを用いて正反射光像領域を抽出し、この正反射光像領域の範囲を前記画像上に識別表示する。この正反射光像領域の識別表示は、正反射光像領域内を塗りつぶす表示とする。あるいは、領域の境界線を表す表示としてもよい。
【0072】
ST8では、正反射光像領域が画像の中央付近に位置するように、x,y,z座標および方位角α,仰角βを必要に応じて調整する。なお、ST8の中では、ST3〜7に相当する処理を実行可能であり、またST3〜7のうちの必要な処理を任意の回数実行することができる。
【0073】
ST9では、ユーザーによる検査対象領域の指定操作を受け付ける。検査対象領域は、画像中の正反射光像領域の範囲を越えない範囲でにおいてのみ指定することができる。なお、正反射光像領域をそのまま検査対象領域にするようにした場合には、ST9の処理は省略される。
ST10では、設定情報として、領域代表点Eのx,y,z座標、角度α,βを、画面番号nに対応づけてメモリ内に登録する。またST9で指定された検査対象領域について、画像における当該領域の位置や大きさを、設定情報として登録する。この検査対象領域の設定情報も画面番号nに対応づけられる。
【0074】
以下、終了操作が行われるまで、ST12において画面番号nを1つ大きな値に更新し、ST3〜10の処理を再度実行する。
ST3〜10の処理は、「第1の設定単位処理」に相当する。なお2サイクル目以降のST4では、原則として、一段階前にカメラ1の光軸に合わせた方向を維持したまま、新たな領域代表点Eを光軸に合わせるが、方向が大きく変わる場合には、一旦、z軸方向が光軸に合わせられた初期状態に戻ってから、位置合わせ処理を行ってもよい
【0075】
ST3〜10を繰り返すことにより、良品ワークW0の被検査面に対し、複数の撮像対象領域が順に設定されるとともに、ワークWの位置および姿勢の設定情報(領域代表点Eの座標および角度α,β)と、その領域に対応する画像における検査対象領域の設定情報とが登録される。
終了操作が行われると、ST11が「YES」となり、最後のST13において、その時点の画面番号nを画面総数Nとしてメモリに登録し、処理を終了する。
【0076】
なお、上記の登録処理では、ユーザーは、被検査面のすべての箇所が前記割付け済み領域に含まれたことを確認する必要がある。その確認のためには、たとえば、あらかじめ実物の良品ワークW0の被検査面に、その面が複数の領域に分割されるようなマーキングを施し(たとえば領域間の境界線をひき、各領域内に番号を記すなど)、画像上の検査対象領域内に現れたマーキングを確認しながら、別途用意した被検査面のマップ上に割付け済み領域を記録していくとよい。
【0077】
または、検査対象領域を設定する都度、良品ワークW0上の検査対象領域に含まれる曲面に近似する平面として、角度α,βにより示される方向を法線とする平面を設定し、この近似平面群が良品ワークW0の画像に立体的に重ね合わせられて見えるような合成画像を表示してもよい。この近似平面群が良品ワークW0の位置や方向の変化に合わせて連動するように表示すれば、実物の良品ワークW0にマーキングをしなくとも、割付け済み領域に含まれた部位を確認することができる。
また、検査対象領域の配置を最適な状態に調整するために、図10の処理によって一旦登録された設定情報の一部を、再度、良品ワークW0をロボット3で支持し、かつカメラ1で撮像しながら、修正するようにしてもよい。
【0078】
上記図10の例では、一連の処理を主としてユーザーの操作に基づいて進行させたが、ユーザーの操作を受け付ける処理(ST3,ST5,ST11)の全部または一部を、コンピュータのプログラム処理によって操作内容を与えるようにしてもよい。
【0079】
図12は、検査における処理の流れを示す。
この図12では、ワークトレー36に収容された複数のワークWを順に検査するための手順を示している。まず最初のステップであるST101では、ロボット3を駆動して、先端アーム35に最初のワークWを装着する。続くST102では、画面番号nを初期値の1に設定する。
【0080】
ST103では、メモリよりn番目の登録データを読み出す。ST104では、この登録データ中のx,y,z座標に基づき、領域代表点Eが撮像基準点Pに一致し、かつ、前記登録データ中の角度α,βに基づき、領域代表点Eにおける法線VLの方向がカメラ1の光軸に合うように、ロボット3の動作を制御する。ST105では、この姿勢を維持した状態で撮像を行う。
【0081】
つぎのST106では、前記撮像により生成された画像に、前記登録データ中の設定情報に基づき検査対象領域を設定する。ST107では、前記検査対象領域内の画像を切り出して、図9を参照して説明した手法により、良品ワークW0の画像との間の差分画像を求め、さらに求めた差分画像を2値化する。
【0082】
ST108では、前記2値化後の画像に対し、しきい値を超えた画素数を計数するなどの計測処理を行った後に、その計測値を所定の基準値と照合することにより、ワークW上の検査対象領域の良否を判定する。
【0083】
以下、ST109からST110に進み、画面番号nを更新した後にST103に戻る。以下同様に、画面番号nを画面総数Nになるまで順に更新しつつ、各番号についてST103〜108を実行することにより、各撮像対象領域を順に撮像し、正反射光像を用いた検査を実行する。
すべての撮像対象領域に対する処理が終了すると、ST109が「YES」となって、ST111に進む。ST111では、画面番号毎の判定処理結果を統合した検査結果データを作成し、これをモニタ8や図示しない外部機器などに出力する。
【0084】
この後、ST112では、ロボット3を再び駆動して、ワークWをワークトレー36に戻す処理を実行する。さらに検査未実行のワークWがあれば、ST113からST101に戻る。
以下、上記ST101〜112の処理がすべてのワークWに対して実行されると、ST113が「YES」となり、検査を終了する。
【0085】
上記の検査では、準備モードで設定された設定情報に基づき、ワークWの被検査面のすべての箇所が、必ずいずれかの撮像で生成された画像上の検査対象領域に現れるように設定されているので、被検査面の全面にわたって凹凸欠陥の有無を精度良く検出することができる。
【0086】
上記の検査では、検査対象領域内の画像について、良品ワークW0の画像との差分演算を行ったが、検査時に撮像した画像および良品ワークW0の画像の全領域を用いて、検査対象領域の内外を区別せずに差分画像を求めてもよい。そのようにした場合でも、差分画像においてしきい値を超える欠陥が検出されるのは、殆ど光強度が大きい検査対象領域内になることが予想される。しかし、検査対象領域外から欠陥が検出される場合があってもよい。そのような欠陥は、ワークW上の隣接する領域を撮像した画像からも重複して検出されるであろう。
検査の手法としては、上記のような差分画像を用いる手法に限らず、画像の濃度が急激に変化する箇所を欠陥として検出したり、欠陥の種類に応じた画像上の特徴(欠陥の面積や形状など)についての知識を利用して欠陥を検出しかつ分類するなど、公知の種々の手法を適用することができる。
【0087】
(4)3次元形状を表す設計データを用いた設定処理
図10に示した登録処理では、ワークWの位置および姿勢や検査対象領域の設定情報を、良品ワークW0を実際に撮像しながら設定するようにしたが、これに代えて、CADデータなどのワークWの3次元データを用いて、ロボット3を動作させることなく各条件を自動的または半自動的に設定することも可能である。以下、この自動設定処理を説明する。
【0088】
図13(1)は、前記画像上の正反射光強度分布のグラフを示し、図13(2)は、ワークWへの照明光およびこれに対する正反射光と光学系の関係を示す。なお、図13(2)では、ハーフミラー20による照明光路の折り曲げを省略している。
図13(1)のグラフは、前出の図7と同様に、画像の一ラインに沿う正反射強度の分布を、領域代表点Eに対応する点E´における強度を100%として示している。
【0089】
以下、ワークW上の領域代表点Eからの正反射光がカメラ1のレンズ11の全面に入射していることを前提に説明する。この前提があれば、前記正反射光像領域を特定するためのしきい値を、レンズ11に対する正反射光の入射領域がレンズ全体に占める割合に置き換えることができる。
すなわち、前記グラフの正反射光像領域の境界位置にある点F0´の正反射光強度が点E´における強度のU%であれば、点F0´に対応するワークW上の点F0からの正反射光は、カメラ1のレンズ11に対し、そのレンズ全体の面積のU%の面積の領域に入射するはずである。
【0090】
図14は、点F0からの正反射光とカメラ1のレンズ11との関係を、レンズ11の上方から見た状態を示す。
図中、点線の円100は、レンズ11と同じ高さにおける正反射光を示し、rはその半径である。また斜線を付した領域101は、前記正反射光が入射している領域(以下、「正反射光入射領域101」という。)である。
【0091】
上記において、レンズ11の中心点Oから正反射光入射領域101の境界までの距離Luは、この領域101の面積と半径rとを用いて求めることができる。
ここで、正反射光入射領域101の面積はレンズ全体の面積のU%として求めることができる。また半径rについても、つぎの図15に示す原理から求めることができる。
【0092】
図15において、DLは点F0から照明部2Aの光出射面(前出の拡散板22の前面)までの距離を、DWは点F0からレンズ11までの距離を、それぞれ示す。またRは前記光出射面の半径である。
【0093】
さらにこの図15では、点F0に対する照明光と反射光の範囲を示している。図中の破線は、光出射面の中心点aから出た光とこれに対する正反射光を示す。また一点鎖線は、前記光出射面の端縁の一点bから出た光とこれに対する正反射光を示し、二点鎖線は、中心点aを介して点bに対称な位置にある点cから出た光とこれに対する正反射光を示す。この例では、点cからの照明光に対する正反射光が正反射光入射領域101の境界を決定している。
【0094】
上記において、点F0への照明光とこれに対する点F0からの正反射光とがなす角度は、点F0における法線により2分割される。この原理は、上記a,cの各点からの照明光についてもあてはまるので、これに基づき、点aからの照明光と点cからの照明光とがなす角度φ1と、これらの照明光に対する反射光がなす角度φ2とが等しいことを証明できる。よって、三角形の相似の関係に基づき、半径rは、つぎの(1)式により求められる。
【0095】
r=(R・DW)/DL ・・・(1)
このように、既知の値DW,DL,Rから正反射光100の半径rを求めることができるから、このrと反射光入射領域101の面積とを用いて、距離Luを求めることができる。
【0096】
なお、上記では、領域代表点Eからの正反射光がレンズ11の全面に入射すると仮定したが、全面に入射しない場合には、レンズ11の全面のうちの領域代表点Eからの正反射光が入射する範囲の面積を100%として、正反射光入射領域101の面積がU%となる距離Luを求めればよい。
【0097】
つぎに、領域代表点Eからレンズ11への正反射光の入射量のU%の正反射光が入射するという条件を満たすワークW上の点F0は、領域代表点Eからどれだけ離れているのかを求める。
図16は、前記ワーク上の任意の点Fについて、前記正反射光入射領域を決める正反射光(前記光出射面のc点に対する正反射光)と光学系との関係を示す。なお、ここでは、領域代表点Eから点Fまでの距離をdとして、前記Lu,Dw,DLに対応するパラメータを、距離dの関数Lu(d),Dw(d),DL(d)として表している。
【0098】
ここで、点Fを起点としてカメラ1の光軸に平行になる直線mを設定し、前記光出射面のc点に対する正反射光線が直線mから反時計回りになす角度をθ(d)とすると、Lu(d)はつぎの(2)式により表される。
Lu(d)=d−Dw(d)・tanθ(d) ・・・(2)
【0099】
上記の角度θ(d)は、点Fにおける接平面の傾き、前記光出射面の半径R、および点Fから光出射面までの距離DL(d)を用いて求めることができる。半径Rは既知であり、距離DL(d)は、前記3次元データが示す点Fの3次元座標を用いて求めることができる。また点Fにおける接平面の傾きについても、3次元データに含まれる曲率データや傾きを表す関数などから求めることができるから、距離dを特定することにより、θ(d)の具体的な値を求めることができる。DW(d)についても、DL(d)と同様に求めることができる。なお、DW(d)、DL(d)については、それぞれ所定の定数に近似するものとして、その定数に置き換えて(1)(2)式を実行しても良い。
よって、距離dを特定することによって、Lu(d)の値を求めることができる。
【0100】
点Fが点F0よりも領域代表点Eに近いならば、点Fに対応する正反射光入射領域101は、点F0に対応するものより大きくなるはずである。したがって点Fが点F0に一致するところまで考慮すると、Lu(d)≦Luとなる。
よって、前記(2)式により求めたLu(d)がLu以下になるようなdの範囲を抽出することにより、前記正反射光像領域に対応するワークW上の領域(以下、「割付け候補領域」という。)を把握することができる。
【0101】
図17は、撮像条件および検査対象領域の設定情報をCADデータを用いて自動設定する場合の処理の流れを示す。
まず最初のステップであるST201では、前記しきい値を決めるUの値について、ユーザーの入力を受け付ける。つぎのST202では、CADデータが表す被検査面上の各点の座標のうちの1点を、領域代表点Eとして選択し、その点における法線方向を算出する。
【0102】
ST203では、距離dに所定の初期値d0(d0>0、例えばd0=Δd)を設定する。次のST204では、CADデータを用いて前記図16のDw(d)やtanθ(d)の値を求め、さらにこれらの算出結果を(2)式にあてはめてLu(d)を算出する。
【0103】
ST205では、このLu(d)の値を、あらかじめ(1)式に基づいて求めたLuと比較する。ここでLu(d)≦Luであれば、ST206に進み、dの値をΔdだけ増やし、ST204に戻る。
以下同様に、dの値を更新しながら、ST204,ST205を繰り返す。所定の時点でLu(d)>Luとなると、ST204〜206のループを脱出してST207に進む。ST207では、領域代表点Eのx,y,z座標とdの一段階前の値(d−Δd)とを用いて、前記割付け候補領域の境界の座標を特定する。
【0104】
なお、図17のST204〜206では、厳密には、割付け候補領域の境界の1点が求められるだけである。しかし、領域代表点Eの周辺の曲面を球面に近似できる場合には、点Eを中心とし、dの最終的な値を半径とする円形領域を、割付け候補領域として設定すればよい。
一方、領域代表点Eの周辺の曲率が方向によって異なる場合には、その中の最大の曲率が生じる方向と最小の曲率が生じる方向とを求め、これらの方向毎にST204〜206を実行する。この場合には、撮像対象領域内に前記2方向を主軸とし、各方向毎に求めたdの値に基づく楕円状の領域を、割付け候補領域として設定する。また領域代表点Eの周辺の形状が複雑である場合には、より多数の方向についてST204〜206を実行し、各方向毎に求めたdの値を用いて割付け候補領域を設定する。
【0105】
割付け候補領域が特定されると、ST208では、そのワークW上の割付け候補領域を、カメラ1で撮像した場合の画像上の領域に変換する。この画像も、領域代表点Eが撮像基準点Pに一致し、領域代表点Eにおける法線の方向がカメラ1の光軸に合わせられて撮像されることを前提とする。よって、変換によって得られた画像上の領域は、正反射光像領域に相当することになる。
【0106】
ST209では、前記正反射光像領域に含まれる所定大きさの矩形領域を、検査対象領域として設定する。あるいは、正反射光像領域をそのまま検査対象領域として設定するようにしてもよい。さらに、ST210では、ST208とは反対の変換処理により、画像上の検査対象領域に対応するワークW上の領域を求め、これを割付け済み領域として設定する。
【0107】
以下、割付け済み領域により被検査面の全てがカバーされるまで、ST202〜210の処理を繰り返す。ST202〜210の処理は、「第2の設定単位処理」に相当する。
被検査面が全てカバーされると、ST211が「YES」となってST212に進み、毎時選択された領域代表点Eについて、x,y,zの各座標、方位角α、仰角βを、ワークWの位置および姿勢を決めるパラメータとして登録する。さらにST213では、各領域代表点Eに対応する検査対象領域を登録する。ST212,213で登録されるデータは、先の図10と同様に、画面番号nに対応づけされる。
【0108】
なお、領域代表点Eの選択については、あらかじめCADデータに基づき、ワークWの被検査面を曲率が近似する範囲毎に分割しておき、分割された領域毎にその領域の面積や傾きに応じた数の点を選択すればよい。この場合にも、前記図8に示したように、曲率が大きくなるほど撮像対象領域が密になるように、領域代表点Eの間隔を曲率に応じて調整する必要がある。
ただし、領域代表点Eの間隔は、検査漏れの部位が生じない範囲で極力大きくなるようにするのが望ましい。撮像回数を減らすことにより、ロボット3を動かしてワークWの位置や姿勢を順次変更するのに要する時間が減少し、検査時間を短くすることができるからである。
もちろん、各領域代表点Eの位置をすべてユーザーに入力させるようにしてもよい。
【0109】
また図17の手順では、被検査部位の全てが割付け済み領域によりカバーされるまで、ST202〜211のループを繰り返すようにしているが、これに代えて、このループの実行回数をあらかじめ決めておき、回数分の処理を終えた時点で被検査面全体がカバーされたかどうかを判別し、カバーされていない場合は、設定処理を初めからやり直すようにしてもよい。この場合、初回の処理では、領域代表点Eの間隔を大きくしておき、前記ループを再実行する都度、領域代表点Eの間隔を小さくしていけば、検査漏れが起こらず、かつ効率の良い検査を実行することが可能になる。
【0110】
(5)側面検査時の処理について
図18は、検査装置10でワークWの側面の表面状態を検査する場合のロボット3の動作を示す。
この実施例では、側面を検査する場合には、カメラ1の光軸を含む鉛直面内でz軸が斜め下を向けた状態にして、まずいずれかの側面(この実施例ではy軸の正方向が法線方向となる面とする。)をカメラ1に対向させ、主として第6軸の回転によって、撮像対象領域を切り替えるようにしている。勿論、第5軸の回転角度は、各撮像対象領域の領域代表点における法線VLの方向に応じて調整される。
【0111】
上記のロボット3の動作によれば、ワークWはz軸を中心に回転しながら撮像されることになるが、このような撮像方法では、常に画像のほぼ一定の方向がワークWの厚み方向(z方向)に対応するようになる。このため、毎時の撮像で生成される画像がモニタ8に表示されても、ユーザーはどの側面が撮像されているのかを直感的に判断できない可能性がある。
【0112】
上記の問題を解決するために、この実施例では、カメラ1により生成された画像を、撮像時の第6軸の回転角度に応じて回転補正し、補正後の画像をモニタ8に表示するようにしている。以下、この補正処理について、図19,20を用いて説明する。
【0113】
図19は、3回分の撮像について、ワークWに対する撮像方向を、A,B,Cの各矢印により示す。この図では、紙面から真上に向かう方向をz軸の正方向とする。また説明を簡単にするために、第6軸を、反時計回りに45度ずつ回転させて、回転の都度撮像を行うものとする。
【0114】
図20は、A,B,Cの方向毎に、カメラ1により生成された原画像とモニタ表示用に変換された画像とを対比させて示す。また各画像とも、画像上の正反射光像領域を網点パターンにより表している。なお、Bの変換後の画像において、4隅の黒領域は、変換前の画像に対応画素がないために設定されたものである。
この例では、毎時の撮像で得られた画像を、撮像時の第6軸の回転角度に応じた角度だけ時計回り方向に回転させている。なお、第6軸を時計回り方向に回転させる場合には、画像を反時計回り方向に回転させる必要がある。
またこの例では、第6軸の回転方向と画像の回転補正の方向とが逆であるが、図18に示したワークWの初期姿勢を、z軸の方向を180度反転させた状態とすれば、第6軸の回転方向と画像の回転補正の方向とは同じになる。
【0115】
上記の回転補正によれば、前面をカメラ1側に向けた状態のワークWを、1ひねりの操作で側面がカメラ1に向くように回転させた場合と同様の画像を得ることができる。したがって、人がワークWを自ら手にとって見る場合を想像したときに自然に予想する見え方に近い表示を行うことができ、モニタ8の表示からいずれの側面を検査しているのかを簡単に把握することができる。
【0116】
(6)検査装置の他の構成例
図21は、検査装置10の他の構成例を示すものである。この実施例では、6軸ロボット3に代えて、複数のステージ部201〜205を有するワーク支持装置200を配置し、その上面にワークWを支持するようにしている。また、カメラ1は、最上段のステージ部205の上方に、光軸を鉛直方向に向けて固定配備される。
図中の201はXステージ部、202はYステージ部、203はZステージ部であり、ワークWの位置調整のために用いられる。また204,205はゴニオステージであり、ワークWの姿勢調整のために用いられる。なお、カメラ1にオートフォーカス機能を設けるか、PLC5からの指示に基づきフォーカスを調整する機能を設けるならば、Zステージは省略してもよい。
【0117】
図21では、カメラ1とワーク支持装置200以外の構成を省略しているが、両者の間には、図4に示したのと同様の構成の照明装置2が配備される。またワーク支持装置200の動作制御のためにステージ制御装置(図示せず。)が配備されるほか、図1,2の実施例と同様のPLC5および制御処理装置6が設けられる。
【0118】
上記構成の検査装置でも、ワーク支持装置200の各ステージ201〜205の動作量を制御することによってワークWの位置や傾きを調整して撮像を行う。また被検査部位の全てを検査するために、前記図10または図17に示したのと同様に、ワークWの位置および姿勢や検査対象領域の設定情報が定められ、制御装置装置6内に登録される。
【図面の簡単な説明】
【0119】
【図1】この発明の一実施例にかかる検査装置の構成を示すブロック図である。
【図2】ロボットの具体的な構成および光学系との位置関係を示す説明図である。
【図3】ロボットの先端アーム、ワークおよびカメラの関係を示す説明図である。
【図4】光学系の詳細な構成を示す説明図である。
【図5】欠陥の検出原理を示す説明図である。
【図6】カメラのレンズに正反射光が入射する範囲を示す説明図である。
【図7】曲率と正反射光像領域との関係を示す説明図である。
【図8】ワークにおける撮像対象領域の設定例を示す説明図である。
【図9】欠陥検出方法を示す説明図である。
【図10】ワークの位置および姿勢ならびに検査対象領域の設定情報の登録手順を示すフローチャートである。
【図11】図10のST4,6に伴うワークの姿勢変化を示す説明図である。
【図12】検査の手順を示すフローチャートである。
【図13】画像上の正反射光強度分布、およびワークへの照明光ならびに正反射光と光学系との関係を示す説明図である。
【図14】レンズと正反射光との関係を示す説明図である。
【図15】正反射光の半径rを求める上での原理を説明する図である。
【図16】正反射光の半径rを求める上での原理を説明する図である。
【図17】ワークの位置および姿勢ならびに検査対象領域の設定情報をCADデータを用いて登録する手順を示すフローチャートである。
【図18】ワークの側面を検査する場合のロボットの動作を示す説明図である。
【図19】側面検査におけるワークに対する撮像方向を示す説明図である。
【図20】図19の方向毎の画像変換処理を示す説明図である。
【図21】検査装置の他の構成例を示す説明図である。
【符号の説明】
【0120】
1 カメラ
2 照明装置
2A 照明部
3 6軸ロボット
4 ロボットコントローラ
5 PLC
6 制御処理装置
E 領域代表点
S1〜S5 撮像対象領域
105 割付済み領域
200 ワーク支持装置
【技術分野】
【0001】
この発明は、所定の形状を有する対象物の表面状態を検査するための方法および装置に関する。特にこの発明は、所定の方向から被検査面を照明して撮像し、生成された画像中の正反射光像を処理する検査方法および装置に関する。
【背景技術】
【0002】
対象物の表面の凹凸欠陥を検出する方法として、前記対象物を所定方向から照明しつつ対象物の表面からの正反射光を入射可能な位置にカメラを配置し、カメラにより生成された画像内の正反射光像を処理する方法が知られている。
たとえば、下記の特許文献1には、表面が平坦なガラス基板の表面の凹凸を検出するための方法が記載されており、特許文献2には、円柱状の電子写真用感光体の周面の欠陥を検査するための方法が記載されている。
【0003】
【特許文献1】特許 第2923808号 公報
【特許文献2】特開2003−75363号 公報
【0004】
被検査面がある程度の大きさを有する場合には、一度の撮像では被検査面の全体を撮像できないので、カメラおよび照明装置と検査の対象物とを相対的に移動させる必要がある。
たとえば、上記の特許文献1では、XY移動機構を用いて対象物を検査面に平行に移動させることにより、被検査面を複数の領域に分割して撮像している。特許文献2でも、前記対象物をその長さ方向を軸に回転させながら撮像を行っている。
【発明の開示】
【発明が解決しようとする課題】
【0005】
近年、携帯電話機や携帯音楽プレーヤーなど、ファッション性が重視される機器は、さまざまな曲率の箇所を含む自由曲面を組み合わせた形態にデザインされることが多くなっている。
これらの機器についても、ケース部材の製造後あるいは完成品の出荷前に表面状態を検査する必要があり、特に製品価値を高める目的から、メーカー側は高精度の検査を行うことを希望している。しかし、さまざまな曲率の箇所を含む形態の対象物について、正反射光像を用いた検査を全面にわたって行うのは大変困難である。
【0006】
この発明は上記の問題に着目してなされたもので、被検査面に互いに曲率の異なる箇所が含まれる場合にも、被検査面全体に対し、正反射光像に基づく検査を実行できるようにすることを目的とする。
【課題を解決するための手段】
【0007】
この発明にかかる検査方法は、表面の一部または全てが被検査面とされた対象物の被検査面を、複数回に分けてそれぞれ正反射光像を得られるように撮像し、撮像により生成された画像を処理することにより被検査面の状態を検査するものである。対象物の被検査面には、互いに異なる曲率を有する箇所が含まれている。また撮像は、固定された照明装置およびカメラを用いて、対象物の位置および姿勢を変更可能に支持した状態で実行される。
【0008】
この発明の第1の検査方法は、同じ形態を有する複数の対象物を順次検査するための準備として、1つの対象物に対する複数回の撮像をするときに各撮像に対応して対象物がとるべき位置および姿勢を定める処理と、撮像により生成される画像における検査対象領域を定める処理とをそれぞれ実行して、定めた内容を表す設定情報を生成するものである。
各対象物に対する検査の実行は、対象物がとるべき位置および姿勢についての設定情報に基づき、複数回の撮像を定められた位置および姿勢になるように対象物を支持した状態下で実行し、各撮像により生成された画像を処理するものである。
検査のための準備は、複数回の撮像により生成される各画像内において正反射光像が得られるべき領域またはその中に含まれる一部の領域が検査対象領域とされ、かつ被検査面上の任意の箇所の画像が複数回の撮像により生成される複数の画像のうちの少なくとも1つの画像の検査対象領域に含まれるように、対象物の位置および姿勢ならびに検査対象領域を定めるようにしている。
【0009】
上記において、「対象物がとるべき位置および姿勢を表す設定情報」は、対象物の位置および姿勢そのものを直接表す情報に限らず、間接的に表す情報を含む。対象物の位置および姿勢を間接的に表す情報の例は、対象物上の撮像対象箇所の位置およびその箇所を撮像する方向を表す情報である。このような情報を、カメラ、対象物の支持手段などの検査に用いる装置に関する配置情報、動作制御情報などの別途取得できる情報と合わせて用いると、対象物の位置および姿勢を特定することができる。
【0010】
検査対象領域は、検査することが予定される画像内の領域である。少なくとも「検査対象領域」についての検査は行われるが、画像内の「検査対象領域」以外の部分についても検査(または検査のための画像処理)を行うことは制限されない。もっとも、「検査対象領域」に限定して検査を行うと、画像処理の演算量を少なくできるので、検査時間を短縮できる場合がある。
【0011】
「正反射光像が得られるべき領域」とは、撮像された対象物の被検査面が良好で凹凸欠陥などがない場合に、撮像によって得られた画像上でカメラへの正反射光の到達を観察できると予測される領域である。正反射光の到達は、例えば、画像上の当該箇所に所定のしきい値以上の受光量が現れていることをもって認識することができる。
【0012】
上記の方法によれば、被検査面に互いに曲率の異なる箇所が含まれる対象物について、被検査面全体に対し、正反射光像に基づく検査をすることができる。
【0013】
上記方法の好ましい一態様では、検査のための準備は、位置および姿勢を変更可能に支持された対象物の良品モデルをカメラにより撮像し、カメラで撮像された画像をモニタに表示した状態で行われる。
ここで、次のステップAからCを備える第1の設定単位処理が定義される。
ステップAは、対象物の被検査面上において指定された箇所の正反射光像を含む画像が前記モニタに表示されるように、対象物の位置および姿勢を定める処理である。
ステップBは、対象物の画像において正反射光像が得られている領域またはその中に含まれる一部の領域を検査対象領域として定める処理である。
ステップCは、ステップAで定められた対象物の位置および姿勢、ならびにステップBで定められた検査対象領域を表す設定情報を生成する処理である。
【0014】
検査のための準備は、良品モデルである対象物の被検査面上における複数の指定された箇所について第1の設定単位処理を行うものである。第1の設定単位処理を行う複数の箇所の指定は、前記被検査面上の任意の箇所の画像が、前記複数の指定された箇所について第1の設定単位処理が実行されることにより定められる複数の検査対象領域の少なくとも1つに含まれるように行うものである。
【0015】
上記の態様によれば、良品である対象物の実物を用いて、検査実行時に利用する対象物の位置および姿勢を表す設定情報ならびに検査対象領域を表す設定情報を、容易に生成することができる。
【0016】
他の好ましい態様では、検査のための準備は、対象物の3次元形状を表す設計データを用いて行われる。
ここで、次のステップaからeを備える第2の設定単位処理が定義される。
ステップaは、設計データを用いて、対象物の被検査面上において指定された箇所の法線方向を取得する処理である。
ステップbは、カメラで法線方向から指定された箇所を撮像した場合に、被検査面の中でカメラに正反射光を入射させることが可能な対象物上の範囲を、設計データを用いて特定する処理である。
ステップcは、ステップbにおける撮像をした場合にステップbで特定した対象物上の範囲が現れる画像上の領域である正反射光像領域を求める処理である。
ステップdは、正反射光像領域またはその中に含まれる一部の領域を前記検査対象領域として定める処理である。
ステップeは、指定された箇所の位置およびステップaで取得した法線方向によって特定される前記対象物の位置および姿勢を表す設定情報ならびに前記検査対象領域を表す設定情報を生成するステップeを備える処理である。
【0017】
検査のための準備は、対象物の被検査面上における複数の指定された箇所について第2の設定単位処理を行うものである。第2の設定単位処理を行う複数の箇所の指定は、被検査面上の任意の箇所の画像が、複数の指定された箇所について第2の設定単位処理が実行されることにより定められる複数の検査対象領域の少なくとも1つに含まれるように行うものである。
【0018】
上記の態様によれば、対象物の3次元形状を表す設計データを用いて、検査実行時に利用する対象物の位置および姿勢を表す設定情報ならびに検査対象領域を表す設定情報を容易に生成することができる。
【0019】
つぎに、この発明にかかる第2の表面状態の検査方法は、固定された照明装置およびカメラを用いて複数回の撮像を、各撮像時の対象物の位置および姿勢を順次変更して行うものである。対象物の位置および姿勢は、複数回の撮像が終了したときにおいて、被検査面上の任意の箇所の画像が、複数回の撮像により生成される複数の画像のうちの少なくとも1つの画像の中の、正反射光像が得られるべき領域としてまたはその中に含まれる一部の領域として設定されている検査対象領域に含まれていることになるように、順次変更される。
【0020】
第2の表面状態の検査方法によっても、被検査面に互いに曲率の異なる箇所が含まれる対象物について、被検査面全体に対し、正反射光像に基づく検査をすることができる。
【0021】
つぎに、この発明にかかる表面状態検査装置は、表面の一部または全てが被検査面とされ、被検査面に互いに異なる曲率を有する箇所を含む対象物の被検査面の状態を検査するための装置であって、固定された照明装置およびカメラと、対象物をその位置および姿勢を変更可能に支持する支持装置と、カメラおよび支持装置の動作を制御する制御装置とを備える。制御装置は、被検査面内の任意の箇所に対応する正反射光像が複数回の撮像により生成される複数の画像のうちの少なくとも1つの画像に含まれるように、支持装置の動作を制御するものである。
【0022】
上記の検査装置によれば、被検査面に互いに異なる曲率を有する複数の部位が含まれる対象物を検査する場合に、被検査面全体についての正反射光像を得ることができるから、被検査面全体に対し、正反射光像に基づく検査をすることができる。
【0023】
上記検査装置の好ましい一態様では、支持装置は、複数の関節を備えたロボットアームである。カメラは、ロボットアームに支持された対象物を斜め上から撮像できるように、その位置および光軸の方向が固定されている。制御装置は、カメラの下方に供給された検査前の対象物をロボットアームの先端に装着し、装着した対象物をカメラによって撮像可能な領域に移動させるように、ロボットアームの動作を制御するものである。
【0024】
上記態様のロボットアームとカメラとの配置の関係によれば、カメラの光軸が斜め下方に向けられるので、光軸を水平にする場合よりも、装置の設置面積が小さくなるように設計しやすい。また、ロボットアームの先端に対象物を装着してから撮像を行うまでに要するアーム先端の移動距離およびロボットアーム全体の姿勢変更を比較的小さくすることができるので、検査の所要時間を短くできる。また、カメラのレンズが斜め下方を向くため、レンズ表面に埃が堆積しにくい。
【発明の効果】
【0025】
この発明によれば、検査対象物の表面に互いに曲率の異なる箇所が含まれる場合でも、これらすべての箇所の正反射光像を用いた検査を行うことが可能になり、被検査面全体の表面状態を、漏れなく検査することが可能になる。
【発明を実施するための最良の形態】
【0026】
(1)検査装置の構成および基本の設定について
図1は、この発明にかかる検査装置の構成例を示す。
この検査装置10は、携帯電話の本体ケースなどの成型品を対象に、キズなどの凹凸欠陥や、汚れなどの異色欠陥を検出するためのものである。なお、以下では、検査の対象物のことを「ワーク」という。
【0027】
この実施例の検査装置10は、カメラ1、照明装置2、6軸ロボット3、ロボットコントローラ4、PLC(プログラマブル・ロジック・コントローラ)5、および制御処理装置6(この実施例ではパーソナルコンピュータを使用する。)により構成される。なお、制御処理装置6には、マウス、キーボードなどの入力用機器7やモニタ8が接続される。
【0028】
カメラ1は、CCDなどの固体撮像素子を備えるディジタルスチルカメラである。照明装置2は、検査対象のワークを照明するためのもので、後記する2種類の照明部2A,2Bが含まれる。6軸ロボット3は、前記検査対象のワークをカメラ1で撮像可能な位置に支持するためのもので、その動作はロボットコントローラ4により制御される。
【0029】
PLC5には、カメラ1、照明装置2、ロボットコントローラ4に対する制御用のプログラム(ラダー言語などによるもの)が組み込まれている。PLC5がこのプログラムを一定の周囲で繰り返し実行することにより、同じ形態を有する複数のワークが順次検査される。
【0030】
PLC5は、カメラ1には撮像を指示するトリガ信号(撮像トリガ)を、照明装置2には照明の切り替えなどを指示する制御信号(照明制御信号)を、それぞれ出力する。
またロボットコントローラ4には、前記ワークの位置や方向を示すデータを出力する(内容の詳細については後記する。)。ロボットコントローラ4は、このデータに基づいて6軸ロボット3の各軸の回転動作を制御する。
【0031】
PLC5の制御プログラムは、ユーザーが制御処理装置6を用いて作成する。検査に必要な条件やパラメータなどの設定も同様である。
完成した制御プログラムや設定データは、制御処理装置6からPLC5に転送される。以後、ユーザー(操作者)は、制御処理装置6を用いて、PLC5に制御プログラムの実行開始や終了の指示を与える。
また検査時には、制御処理装置6は、PLC5の上位機器としてその動作を監視するとともに、カメラ1が生成した画像データを取り込んで、検査のための画像処理を実行する。
【0032】
図2は、カメラ1、照明装置2、6軸ロボット3の具体的な構成および検査時の位置関係を示す。
この実施例では、カメラ1をその光軸を斜め下方(この例では、鉛直方向より45度上方に回転した方向)に向けた状態で配置するとともに、その前方に照明装置2を配備する。カメラ1および照明装置2は、図示しない支持部材により所定の高さ位置に固定されており、光軸方向や焦点距離も固定されている。
【0033】
6軸ロボット3(以下、単に「ロボット3」という。)は、所定大きさの基台36上に、アーム支持部30、4個の中間アーム31,32,33,34および先端アーム35を、順に連結した構成のものである。各連結部にはそれぞれ回転軸が含まれている。
なお、以下では、4個の中間アーム31〜34を基台に近いものから順に「第1アーム31」「第2アーム32」「第3アーム33」「第4アーム34」という。また、各連結部の回転軸についても、基台に近いものから順に、「第1軸」〜「第6軸」という。
【0034】
基台36とアーム支持部30とをつなぐ第1軸は、鉛直方向に沿う軸である。アーム支持部30と第1アーム31とをつなぐ第2軸、および第1アーム31と第2アーム32とをつなぐ第3軸は、それぞれ水平方向(図2の紙面に直交する方向)に沿って設定される。第2アーム32と第3アーム33とをつなぐ第4軸は、各アームの長さ方向に沿う軸であり、第3アーム33と第4アーム34とをつなぐ第5軸は、第3アーム33および第4アーム34の長さ方向に直交する軸として設定される。最後の先端アーム35と第4アーム34とをつなぐ軸は、アームの長さ方向に沿う軸として設定される。
【0035】
上記6つの軸のうち、主に第1軸、第2軸、第3軸によって、先端アーム35のおよその位置が調整される。また主に第4軸、第5軸、第6軸によって、先端アーム35の姿勢が調整される。
【0036】
カメラ1の下方には、ワークトレー36が供給される。このワークトレー36の上面にはワーク収容用の凹部(図示せず。)が複数形成され、各凹部にそれぞれ検査対象のワークWが裏面を上方に向けた状態で配置されている。
ロボット3は、カメラ1の視野の中心にあり、かつカメラ1の焦点が合う点P(以下、「撮像基準点P」という。)およびワークトレー36の各凹部に、先端アーム35が届くように配置されている。先端アーム35の先端には後記するフランジが設けられ、さらにこのフランジに真空吸着機構を備えた図示しない治具が取り付けられる。
【0037】
ロボット3は、ロボットコントローラ4からの指令に応じて、ワークトレー36内のワークWを1つずつ前記フランジの先端面に備えた治具に吸着して持ち上げ、カメラ1の前方に運ぶ。その後も、ロボットコントローラ4からの指令に応じて動作して、カメラ1に対するワークWの位置や姿勢を種々に変化させる。
【0038】
この実施例では、ロボット3の制御用の座標系としてs,t,uの3軸による空間座標系が設定されている。3軸のうちのu軸は前記第1軸に合わせられており、s,tの各軸はロボット3の設置面上に設定される。
ワークトレー36は、st平面上のあらかじめ定められた位置に定められた姿勢で供給される。またワークトレー36の各凹部の位置も一定である。この条件に基づき、ロボットコントローラ4は、ワークWの吸着時に、ワークWがつぎの図3に示す位置関係をもって支持されるように、先端アーム35の位置や角度を調整する。
【0039】
図3は、ロボット3の先端アーム35、ワークWおよびカメラ1の関係を示す。
図中の351は、前記したフランジの先端面(以下、「フランジ面351」という。)である。また点Cは、このフランジ面351の中心点であって、第6軸の延長線上に位置する。また矢印vは、フランジ面351の基準方向を示す。
【0040】
ワークWには、その表面上の所定の点Qを原点として、x,y,zの直交3軸による座標系が設定される。
この実施例では、前記z軸がロボット3の第6軸の延長線上に位置し(すなわち点C,Qが同一線上に位置する状態になる。)、かつy軸のマイナス方向がフランジ面351の基準方向vに一致するように、ワークWが治具を介して先端アームに装着される。この位置関係はワークWに対する検査が終了するまで維持される。
上記の位置関係により、点Cと点Qとの間の距離も既知の情報として扱うことができる。
【0041】
なお、図3では、ワークWを、扁平な直方体状で辺および角が丸みを帯びた形状にして示しているが、もっと複雑な形状のワーク(たとえば表面に曲率の異なる多様な曲面が含まれるワーク)を処理対象とする場合もある。その場合も、ワークは、図3と同様の位置関係をもって先端アーム35に装着される。
【0042】
以下、カメラ1によりこのワークWを撮像したときに画像のほぼ中心に位置させようとするワークW上の点Eを想定し(以下、この点Eを「領域代表点E」という。)、領域代表点Eの法線VLの方向からワークWが撮像されると考える。領域代表点Eの位置は前記xyz座標系による座標で表され、領域代表点Eにおける法線VLの方向は、角度α、βにより表される。
角度αは、領域代表点Eにおける法線VLをxy平面に投影し、投影された法線VL´がy軸のマイナス方向から時計回りになす角度として設定される(以下、「方位角α」という。)。角度βは、法線VLがxy平面との間になす角度である(以下、「仰角β」という。)。
【0043】
領域代表点Eのx,y,z座標および角度α,βは、制御処理装置6からPLC5を介してロボットコントローラ4に与えられる。
ロボットコントローラ4は、与えられたデータに基づき、領域代表点Eが撮像基準点Pに一致し、かつ領域代表点Eにおける法線VLの方向がカメラ1の光軸に一致するように、ロボット3の各軸の回転動作を制御する。前記したように、ワークWと先端アーム35との位置関係は既知である。またロボット3の各アームの長さは既知であり、各軸の回転角度もロボットコントローラ4により認識されている。したがって、前記x,y,z座標で表された点の位置を座標変換して、stu座標系で表すことができる。さらに、領域代表点Eを撮像基準点Pに合わせ、かつ角度α,βが示す法線VLの方向をカメラ1の光軸に合わせるのに必要な各軸の回転角度を求めることができる。ロボットコントローラ4によるワークWの位置や姿勢の調整処理が完了すると、カメラ1による撮像が行われ、検査用の画像が生成される。
【0044】
図4は、検査装置10の光学系(カメラ1および照明装置2)の詳細な構成を示す。なお、作図の便宜上、照明装置2の大きさをカメラ1に対して大きく誇張して表すとともに、カメラ1の光軸を紙面の縦方向に合わせて示す。また、ワークWを平坦面として表すとともに、領域代表点Eおよびカメラ1の視野に入っているワークW上の領域(以下、これを「撮像対象領域」という。)の範囲を示す。
照明装置2には、ハーフミラー20と同軸落射用の第1の照明部2Aと、斜め入射照明用の第2の照明部2Bとが組み込まれる。ハーフミラー20はカメラ1の光軸上に設けられ、第1の照明部2Aはハーフミラー20の側方に、第2の照明部2Bはハーフミラー20の下方に、それぞれ配置される。
【0045】
同軸落射用の第1の照明部2Aは、光が出射する円形状の開口部(図の左方に向かって開口している。)が設けられた筐体23内に、R,G,Bの各色彩光を発光する光源21R,21G,21B(具体的にはLEDである。)が収容された構成のものである。各光源21R,21G,21Bは、それぞれその光軸をハーフミラー20に向けて配備されている。また前記開口部には拡散板22が設けられる。
【0046】
斜め入射照明用の第2の照明部2Bは、上面にカメラ1の覗き穴26が形成された筐体25の内部に、第1の照明部と同様の光源21R,21G,21Bが、それぞれ複数個、円形状に配列された構成のものである。各光源21R,21G,21Bの光軸はカメラ1の光軸に平行になるように設定されている。筐体25の下部は開口しており、この開口部に光拡散部材23が設けられている。光拡散部材23は、円錐台または角錐台状の内面を有するもので、その内面の広がる方向を筐体25の開口部の方に向けて設置されている。また覗き穴26の中心は、カメラ1の光軸に位置合わせされる。
【0047】
第1の照明部2Aでは、光源21R,21G,21Bから発せられた光が拡散板22により混合されて、断面が円形状の光が生成される。この光はハーフミラー20に到達した後にカメラ1の光軸に沿って進行する。よって、第1の照明部2Aが点灯した場合には、撮像対象領域に対し、いわゆる同軸落射照明光が照射される。
一方、第2の照明部2Bでは、光源21R,21G,21Bから発せられた光が筐体25内で混合され、さらに光拡散部材23を介して覗き穴26の下方に出射される。よって、第2の照明部2Bが点灯した場合には、撮像対象領域に対し、斜め方向から入射する照明光が照射される。
【0048】
なお、上記の同軸落射照明光、斜め入射照明光は、いずれも前記撮像対象領域の全域に到達するように、照明光の径が調整されている。またいずれの照明部2A,2Bとも、ワークWの色彩に応じて点灯させる光源の種類を選択することが可能である。
【0049】
この実施例では、ワークWの表面の凹凸欠陥の有無を検査する場合には、第1の照明部2Aによる同軸落射照明下で撮像を行い、生成された画像内の正反射光像を処理する。一方、色彩欠陥の有無を検査する場合には、第2の照明部2Bによる斜め入射照明下で撮像を行い、生成された画像内の拡散反射光像を処理する。
【0050】
なお、正反射光像を得るための照明は同軸落射照明に限定されるものではない。たとえば、ハーフミラー20を除いて、第1の照明部2Aをもう少し高く配置し、その光軸が撮像基準点Pの位置でカメラ1の光軸に交わるように、前記光軸の向きを設定してもよい。この場合には、領域代表点Eにおける法線VLの方向をカメラ1の光軸に合わせるのではなく、照明光に対するワークWからの正反射光がカメラ1の光軸に沿って進行するように、ワークWの姿勢を設定する必要がある。
【0051】
(2)凹凸欠陥の検査の概要について
以下、正反射光像を用いた凹凸欠陥の検査について説明する。
図5は、撮像対象領域内の凹欠陥40を通るラインでワークを切断したときのワークの断面形状とこの撮像対象領域について得た画像50とを対応づけて示す。なお、図中の点線は、照明部2Aからの同軸落射照明光を、一点鎖線は、前記撮像対象領域からの正反射光を、それぞれ示す。また画像中の線I−Iは、ワークに対する切断線に対応する。
【0052】
図5の例のように、撮像対象領域内のワーク表面が平面に近い場合には、領域内のいずれの位置においても、前記同軸落射照明光に対する正反射光は、照明光の方向にほぼ反転する方向、すなわちカメラ1の光軸に沿って進む。よってカメラ1のレンズには、十分な量の正反射光が入射する。
一方、凹欠陥40からの正反射光は、カメラ1の光軸の方向とは異なる方向に沿って進むので、画像上では、凹欠陥40は周囲より暗い領域51として現れる。よって、所定のしきい値で画像を2値化することによって、欠陥を検出することができる。
【0053】
ただし、撮像対象領域内のワーク表面の曲率が大きくなると、撮像対象領域内にあっても、カメラ1のレンズに正反射光を入射することができない場所が出てくる。
図6は、撮像対象領域に含まれるワーク表面上の各点のうち、領域代表点Eと、この領域代表点Eから所定距離だけ離れた2点F1,F2について、それぞれ前記同軸落射照明光に対する正反射光がカメラ1のレンズ11に入射する様子、あるいはレンズ11に入射しない方向に向かう様子を示したものである。なお、図中の点線は、それぞれの点に向かう照明光の範囲を示し、網点のパターンは、前記照明光に対する正反射光の範囲を示す。
【0054】
図示例において、領域代表点Eからの正反射光はすべてレンズ10に入射しているが、領域代表点Eからやや離れた点F1からの正反射光は、一部しか入射していない。さらに点F1よりも領域代表点Eから離れている点F2に至っては、正反射光がレンズ11に全く入射しない状態にある。
この点F2のように、撮像対象領域内であっても、同軸落射照明光に対する正反射光がレンズ11に入射しない部位については、正反射光像を用いた凹凸欠陥の検出を行うことはできない。
【0055】
また、撮像対象領域内のワーク表面において、同軸落射照明光に対する正反射光をレンズ11に入射させることができる範囲は、その面の曲率が大きくなるほど狭くなる。
図7は、曲率の異なる3種類のワーク表面について、それぞれその面の画像上における正反射光強度の分布状態を対応づけて示す。いずれの画像も、ワーク表面上に定められた領域代表点Eを撮像基準点Pに合わせ、かつ領域代表点Eにおける法線の方向をカメラ1のレンズ11の光軸方向に合わせた状態で生成されたものである。いずれの分布曲線も、領域代表点Eに対応する点E´を中心とする略放物線状の曲線になっているが、曲線がなす山の幅は、ワーク表面の曲率が大きくなるほど狭くなっている。
【0056】
なお、図7の分布曲線は、点E´における正反射光強度を100%として、各位置における反射光強度を規格化している。また撮像対象領域内のワーク表面に欠陥がないことを前提に、反射光強度がU%(U>0)以上になる領域を、正反射光像が出現可能な領域(以下、「正反射光像領域」という。)としている。
正反射光像領域の境界を、正反射光強度がゼロになる位置に設定することも考えられるが、検査の精度を確保するには、この例のようにしきい値に基づき境界を決めるのが望ましい。
【0057】
図9を参照して後述するように、正反射光の強度分布には、ワーク表面に存在する欠陥以外の微小な凹凸により生じる反射光がノイズ成分としてが重畳することがある。しきい値Uを小さな値にする場合には、正反射光像領域の境界がこのノイズ成分の影響により不安定になりやすいので、正反射光像領域内に、この領域の境界に近い部分が含まれないように検査対象領域を設定するのが好ましい。
検査対象領域の形状は、正反射光像領域と同形状でひとまわり小さいものに限らず、任意の形状(たとえば矩形状など)にしてもよい。
しきい値Uをある程度大きな値に設定する場合や上記ノイズ成分が少ない場合には、正反射光像領域全体を検査対象領域としてもよい。この場合には、正反射光像領域と区別して検査対象領域を設定する必要がない。
【0058】
さらにこの実施例では、ワークWの被検査面を漏れなく検査するために、ワークWの位置および姿勢を変えながら各位置および姿勢においてワークWを撮像する。このとき被検査面のどの箇所も(換言すれば、どの位置、どの点も)、それぞれ各撮像により得られる画像のうちの少なくとも1つの画像の検査対象領域内に現れるように、ワークWの位置および姿勢を設定するようにしている。ただし、この実施例におけるワークWの位置および姿勢の設定は、図2に示すstu座標系空間におけるワークWの位置および姿勢を直接表す情報やワークWを支持するロボット3の姿勢を表す情報(第1〜第6軸の回転角度など)を用いて行うのではなく、間接的にワークWの位置および姿勢を表す情報、すなわち図3にワークWを基準として示した領域代表点Eのx,y,z座標ならびに法線VLの方位角αおよび仰角βを用いて行っている。この設定情報は、ロボットコントローラ4によりロボット3の動作を決定する情報に変換される。
上記の設定情報によりワークWの位置および姿勢が決定されると、それに伴ってワークW上の撮像対象領域が定まる。
【0059】
図8は、ワークW上の撮像対象領域の例を示す。図中の(1)は、ワークWを上方から見た平面図であり、(2)は、線A−Aで切断したときのワークWの断面を示している。
図8(1)では、ワークW上の撮像対象領域の一部(この例ではS1,S2,S3,S4,S5の5つを示す。)を示すとともに、各撮像対象領域S1〜S5について生成される画像上における検査対象領域に対応するワークW上の範囲を、網点の領域105として表している(以下、この網点領域105を「割付け済み領域105」という。)。なお、ここでは図示の便宜上、各撮像対象領域S1〜S5を同じ大きさの矩形状にして、紙面に沿って配置しているが、実際の撮像対象領域は、被検査面の各箇所の正反射光像が得られるように様々な方向から撮像したときの各画像に写っているワークW上の範囲にあたるため、矩形以外の複雑な形状となり得る。図示されたS4,S5にはワークWからはみ出た部分があるが、撮像対象領域の性質上、このような部分は撮像対象領域ではあり得ない。
【0060】
検査の漏れをなくすには、図8(1)に示すように、ワーク上の割付け済み領域105間に重なりが生じるようにワークWの位置および姿勢の設定を行うのが望ましい。
ワークWの曲率が比較的緩やかな部分の面では、前記したように正反射光像領域が大きくなるため、画像上の検査対象領域を比較的大きくすることができ、これに対応する割付け済み領域105も比較的大きくなる。これに対し、曲率が急な部分の面では、正反射光像領域が小さくなるため、画像上の検査対象領域を大きく設定することができず、これに対応する割付け済み領域105も小さくなる。よって曲率が大きな部分における撮像対象領域の配置(例えば撮像対象領域S4,S5の配置)は、曲率が緩やかな部分における撮像対象領域の配置(例えば撮像対象領域S1,S2,S3の配置)よりも密にする必要がある。
【0061】
この実施例では、ワークWの良品モデル(以下「良品ワークW0」という。)の画像を用いて検査対象のワークWとの画像との間の差分演算処理を実行し、その演算で生成された強度差画像を2値化することにより、欠陥を検出するようにしている。
【0062】
図9は、検査対象領域に対する欠陥検出方法を示す。
図9(1)は、良品ワークW0を撮像して生成された画像の正反射光像の強度分布状態を示し、図9(2)は、凹凸欠陥のある検査対象のワークWを撮像して生成された画像の正反射光像の強度分布状態を示す。これらの光強度分布には、ノイズ成分の重畳による細かい変動が現れている。
【0063】
図9(3)は、前記2つの画像について、画素毎に差分をとることにより生成された強度差画像の強度分布状態を示す。この光強度分布は、図9(1)の光強度分布から図9(2)の光強度分布を差し引いたものに相当する。この実施例では、この強度差画像の光強度分布を所定のしきい値で2値化することにより、しきい値を超える強度差が現れた部分が、欠陥として認識される。
【0064】
上記のしきい値は、画像上における正反射光像の強度の全体的な分布状態(例えば全体として光強度が大きいか小さいか)のほかに、正反射光像の強度分布に重畳されるノイズ成分の大きさを考慮して設定される。このノイズ成分は、欠陥とまではいえない表面の微小な凹凸によって発生する。したがって、これを欠陥と認識しないように、2値化しきい値を、正反射光像の強度差に表れるノイズ成分の大きさよりも大きな値に設定する必要がある。
【0065】
(3)検査前の準備の具体例
検査実行時のワークWの位置および姿勢、検査対象領域を規定する設定情報、および欠陥を検出するための画像処理のための2値化しきい値は、検査前の準備モードにおいて設定され、制御処理装置6の図示しないメモリ内に登録される。
図10は、前記準備モードにおいて、ワークWの位置を規定する設定情報(実際には領域代表点Eのx,y,z座標)およびワークWの姿勢を規定する設定情報(実際には領域代表点Eにおける法線VLの方向を表す方位角αおよび仰角β)ならびに検査対象領域を規定する設定情報(例えば、検査対象領域とそれ以外の領域とを塗り分けた画像データや検査対象領域の境界線図形を表現するデータ)を登録する際の処理の流れを示す。
【0066】
この処理は、良品ワークW0を用いて、ユーザーの指定操作やパラメータ入力を受け付けながら実行するものである。処理を行う主体は制御処理装置6であるが、図1に示したすべての構成が関与する。
【0067】
この実施例の登録処理では、カメラ1を連続駆動し、生成された画像をモニタ8に表示しながらユーザーの入力を受け付ける。
まず最初のST1(STは「ステップ」の略である。以下も同じ。)では、ロボット3の先端アーム35に良品ワークW0を装着し、カメラ1による撮像を開始する。つぎのST2で、撮像対象領域の識別番号n(以下、「画面番号n」という。)を初期値の1に設定する。
【0068】
ST3では、領域代表点Eのx,y,z座標について、ユーザーの入力を受け付ける。つぎのST4では、入力された各座標に基づきロボット3を動かして、領域代表点Eが撮像基準点Pに一致するように、良品ワークW0を移動させる。
【0069】
つぎにST5では、領域代表点Eについて、方位角αおよび仰角βの入力を受け付ける。ST6では、再びロボット3を駆動して、入力された角度α,βが示す法線VLの方向がカメラ1の光軸に合うように、良品ワークW0の姿勢を調整する。
【0070】
図11は、ST4〜6の処理に伴う良品ワークW0の姿勢の変化を示す。
ST4が実行されると、図11(1)に示すように、領域代表点Eが撮像基準点Pに位置合わせされるが、この時点では、位置合わせ前の姿勢が維持されるため、z軸に平行な方向がカメラ1の光軸に合わせられている。ここでST5,6が実行されると、良品ワークW0が回転し、図11(2)に示すように、領域代表点Eの法線VLの方向がカメラ1の光軸に合わせられた状態になる。
なお、方位角α,仰角βについては、およその数字を入力するだけでも良い。またST3においてワークWの平面図を利用して座標を入力する場合には、x,y座標のみを入力し、ST4の実行後に、ユーザーがモニタ8を見ながらピントが合うようにz座標を調整してもよい。
【0071】
図10に戻って、ST7では、前記姿勢調整後の良品ワークW0に対し、第1の照明部2Aによる同軸落射照明を施しながら撮像を行う。さらにこの撮像により生成された画像をモニタ8に表示するとともに、しきい値Uを用いて正反射光像領域を抽出し、この正反射光像領域の範囲を前記画像上に識別表示する。この正反射光像領域の識別表示は、正反射光像領域内を塗りつぶす表示とする。あるいは、領域の境界線を表す表示としてもよい。
【0072】
ST8では、正反射光像領域が画像の中央付近に位置するように、x,y,z座標および方位角α,仰角βを必要に応じて調整する。なお、ST8の中では、ST3〜7に相当する処理を実行可能であり、またST3〜7のうちの必要な処理を任意の回数実行することができる。
【0073】
ST9では、ユーザーによる検査対象領域の指定操作を受け付ける。検査対象領域は、画像中の正反射光像領域の範囲を越えない範囲でにおいてのみ指定することができる。なお、正反射光像領域をそのまま検査対象領域にするようにした場合には、ST9の処理は省略される。
ST10では、設定情報として、領域代表点Eのx,y,z座標、角度α,βを、画面番号nに対応づけてメモリ内に登録する。またST9で指定された検査対象領域について、画像における当該領域の位置や大きさを、設定情報として登録する。この検査対象領域の設定情報も画面番号nに対応づけられる。
【0074】
以下、終了操作が行われるまで、ST12において画面番号nを1つ大きな値に更新し、ST3〜10の処理を再度実行する。
ST3〜10の処理は、「第1の設定単位処理」に相当する。なお2サイクル目以降のST4では、原則として、一段階前にカメラ1の光軸に合わせた方向を維持したまま、新たな領域代表点Eを光軸に合わせるが、方向が大きく変わる場合には、一旦、z軸方向が光軸に合わせられた初期状態に戻ってから、位置合わせ処理を行ってもよい
【0075】
ST3〜10を繰り返すことにより、良品ワークW0の被検査面に対し、複数の撮像対象領域が順に設定されるとともに、ワークWの位置および姿勢の設定情報(領域代表点Eの座標および角度α,β)と、その領域に対応する画像における検査対象領域の設定情報とが登録される。
終了操作が行われると、ST11が「YES」となり、最後のST13において、その時点の画面番号nを画面総数Nとしてメモリに登録し、処理を終了する。
【0076】
なお、上記の登録処理では、ユーザーは、被検査面のすべての箇所が前記割付け済み領域に含まれたことを確認する必要がある。その確認のためには、たとえば、あらかじめ実物の良品ワークW0の被検査面に、その面が複数の領域に分割されるようなマーキングを施し(たとえば領域間の境界線をひき、各領域内に番号を記すなど)、画像上の検査対象領域内に現れたマーキングを確認しながら、別途用意した被検査面のマップ上に割付け済み領域を記録していくとよい。
【0077】
または、検査対象領域を設定する都度、良品ワークW0上の検査対象領域に含まれる曲面に近似する平面として、角度α,βにより示される方向を法線とする平面を設定し、この近似平面群が良品ワークW0の画像に立体的に重ね合わせられて見えるような合成画像を表示してもよい。この近似平面群が良品ワークW0の位置や方向の変化に合わせて連動するように表示すれば、実物の良品ワークW0にマーキングをしなくとも、割付け済み領域に含まれた部位を確認することができる。
また、検査対象領域の配置を最適な状態に調整するために、図10の処理によって一旦登録された設定情報の一部を、再度、良品ワークW0をロボット3で支持し、かつカメラ1で撮像しながら、修正するようにしてもよい。
【0078】
上記図10の例では、一連の処理を主としてユーザーの操作に基づいて進行させたが、ユーザーの操作を受け付ける処理(ST3,ST5,ST11)の全部または一部を、コンピュータのプログラム処理によって操作内容を与えるようにしてもよい。
【0079】
図12は、検査における処理の流れを示す。
この図12では、ワークトレー36に収容された複数のワークWを順に検査するための手順を示している。まず最初のステップであるST101では、ロボット3を駆動して、先端アーム35に最初のワークWを装着する。続くST102では、画面番号nを初期値の1に設定する。
【0080】
ST103では、メモリよりn番目の登録データを読み出す。ST104では、この登録データ中のx,y,z座標に基づき、領域代表点Eが撮像基準点Pに一致し、かつ、前記登録データ中の角度α,βに基づき、領域代表点Eにおける法線VLの方向がカメラ1の光軸に合うように、ロボット3の動作を制御する。ST105では、この姿勢を維持した状態で撮像を行う。
【0081】
つぎのST106では、前記撮像により生成された画像に、前記登録データ中の設定情報に基づき検査対象領域を設定する。ST107では、前記検査対象領域内の画像を切り出して、図9を参照して説明した手法により、良品ワークW0の画像との間の差分画像を求め、さらに求めた差分画像を2値化する。
【0082】
ST108では、前記2値化後の画像に対し、しきい値を超えた画素数を計数するなどの計測処理を行った後に、その計測値を所定の基準値と照合することにより、ワークW上の検査対象領域の良否を判定する。
【0083】
以下、ST109からST110に進み、画面番号nを更新した後にST103に戻る。以下同様に、画面番号nを画面総数Nになるまで順に更新しつつ、各番号についてST103〜108を実行することにより、各撮像対象領域を順に撮像し、正反射光像を用いた検査を実行する。
すべての撮像対象領域に対する処理が終了すると、ST109が「YES」となって、ST111に進む。ST111では、画面番号毎の判定処理結果を統合した検査結果データを作成し、これをモニタ8や図示しない外部機器などに出力する。
【0084】
この後、ST112では、ロボット3を再び駆動して、ワークWをワークトレー36に戻す処理を実行する。さらに検査未実行のワークWがあれば、ST113からST101に戻る。
以下、上記ST101〜112の処理がすべてのワークWに対して実行されると、ST113が「YES」となり、検査を終了する。
【0085】
上記の検査では、準備モードで設定された設定情報に基づき、ワークWの被検査面のすべての箇所が、必ずいずれかの撮像で生成された画像上の検査対象領域に現れるように設定されているので、被検査面の全面にわたって凹凸欠陥の有無を精度良く検出することができる。
【0086】
上記の検査では、検査対象領域内の画像について、良品ワークW0の画像との差分演算を行ったが、検査時に撮像した画像および良品ワークW0の画像の全領域を用いて、検査対象領域の内外を区別せずに差分画像を求めてもよい。そのようにした場合でも、差分画像においてしきい値を超える欠陥が検出されるのは、殆ど光強度が大きい検査対象領域内になることが予想される。しかし、検査対象領域外から欠陥が検出される場合があってもよい。そのような欠陥は、ワークW上の隣接する領域を撮像した画像からも重複して検出されるであろう。
検査の手法としては、上記のような差分画像を用いる手法に限らず、画像の濃度が急激に変化する箇所を欠陥として検出したり、欠陥の種類に応じた画像上の特徴(欠陥の面積や形状など)についての知識を利用して欠陥を検出しかつ分類するなど、公知の種々の手法を適用することができる。
【0087】
(4)3次元形状を表す設計データを用いた設定処理
図10に示した登録処理では、ワークWの位置および姿勢や検査対象領域の設定情報を、良品ワークW0を実際に撮像しながら設定するようにしたが、これに代えて、CADデータなどのワークWの3次元データを用いて、ロボット3を動作させることなく各条件を自動的または半自動的に設定することも可能である。以下、この自動設定処理を説明する。
【0088】
図13(1)は、前記画像上の正反射光強度分布のグラフを示し、図13(2)は、ワークWへの照明光およびこれに対する正反射光と光学系の関係を示す。なお、図13(2)では、ハーフミラー20による照明光路の折り曲げを省略している。
図13(1)のグラフは、前出の図7と同様に、画像の一ラインに沿う正反射強度の分布を、領域代表点Eに対応する点E´における強度を100%として示している。
【0089】
以下、ワークW上の領域代表点Eからの正反射光がカメラ1のレンズ11の全面に入射していることを前提に説明する。この前提があれば、前記正反射光像領域を特定するためのしきい値を、レンズ11に対する正反射光の入射領域がレンズ全体に占める割合に置き換えることができる。
すなわち、前記グラフの正反射光像領域の境界位置にある点F0´の正反射光強度が点E´における強度のU%であれば、点F0´に対応するワークW上の点F0からの正反射光は、カメラ1のレンズ11に対し、そのレンズ全体の面積のU%の面積の領域に入射するはずである。
【0090】
図14は、点F0からの正反射光とカメラ1のレンズ11との関係を、レンズ11の上方から見た状態を示す。
図中、点線の円100は、レンズ11と同じ高さにおける正反射光を示し、rはその半径である。また斜線を付した領域101は、前記正反射光が入射している領域(以下、「正反射光入射領域101」という。)である。
【0091】
上記において、レンズ11の中心点Oから正反射光入射領域101の境界までの距離Luは、この領域101の面積と半径rとを用いて求めることができる。
ここで、正反射光入射領域101の面積はレンズ全体の面積のU%として求めることができる。また半径rについても、つぎの図15に示す原理から求めることができる。
【0092】
図15において、DLは点F0から照明部2Aの光出射面(前出の拡散板22の前面)までの距離を、DWは点F0からレンズ11までの距離を、それぞれ示す。またRは前記光出射面の半径である。
【0093】
さらにこの図15では、点F0に対する照明光と反射光の範囲を示している。図中の破線は、光出射面の中心点aから出た光とこれに対する正反射光を示す。また一点鎖線は、前記光出射面の端縁の一点bから出た光とこれに対する正反射光を示し、二点鎖線は、中心点aを介して点bに対称な位置にある点cから出た光とこれに対する正反射光を示す。この例では、点cからの照明光に対する正反射光が正反射光入射領域101の境界を決定している。
【0094】
上記において、点F0への照明光とこれに対する点F0からの正反射光とがなす角度は、点F0における法線により2分割される。この原理は、上記a,cの各点からの照明光についてもあてはまるので、これに基づき、点aからの照明光と点cからの照明光とがなす角度φ1と、これらの照明光に対する反射光がなす角度φ2とが等しいことを証明できる。よって、三角形の相似の関係に基づき、半径rは、つぎの(1)式により求められる。
【0095】
r=(R・DW)/DL ・・・(1)
このように、既知の値DW,DL,Rから正反射光100の半径rを求めることができるから、このrと反射光入射領域101の面積とを用いて、距離Luを求めることができる。
【0096】
なお、上記では、領域代表点Eからの正反射光がレンズ11の全面に入射すると仮定したが、全面に入射しない場合には、レンズ11の全面のうちの領域代表点Eからの正反射光が入射する範囲の面積を100%として、正反射光入射領域101の面積がU%となる距離Luを求めればよい。
【0097】
つぎに、領域代表点Eからレンズ11への正反射光の入射量のU%の正反射光が入射するという条件を満たすワークW上の点F0は、領域代表点Eからどれだけ離れているのかを求める。
図16は、前記ワーク上の任意の点Fについて、前記正反射光入射領域を決める正反射光(前記光出射面のc点に対する正反射光)と光学系との関係を示す。なお、ここでは、領域代表点Eから点Fまでの距離をdとして、前記Lu,Dw,DLに対応するパラメータを、距離dの関数Lu(d),Dw(d),DL(d)として表している。
【0098】
ここで、点Fを起点としてカメラ1の光軸に平行になる直線mを設定し、前記光出射面のc点に対する正反射光線が直線mから反時計回りになす角度をθ(d)とすると、Lu(d)はつぎの(2)式により表される。
Lu(d)=d−Dw(d)・tanθ(d) ・・・(2)
【0099】
上記の角度θ(d)は、点Fにおける接平面の傾き、前記光出射面の半径R、および点Fから光出射面までの距離DL(d)を用いて求めることができる。半径Rは既知であり、距離DL(d)は、前記3次元データが示す点Fの3次元座標を用いて求めることができる。また点Fにおける接平面の傾きについても、3次元データに含まれる曲率データや傾きを表す関数などから求めることができるから、距離dを特定することにより、θ(d)の具体的な値を求めることができる。DW(d)についても、DL(d)と同様に求めることができる。なお、DW(d)、DL(d)については、それぞれ所定の定数に近似するものとして、その定数に置き換えて(1)(2)式を実行しても良い。
よって、距離dを特定することによって、Lu(d)の値を求めることができる。
【0100】
点Fが点F0よりも領域代表点Eに近いならば、点Fに対応する正反射光入射領域101は、点F0に対応するものより大きくなるはずである。したがって点Fが点F0に一致するところまで考慮すると、Lu(d)≦Luとなる。
よって、前記(2)式により求めたLu(d)がLu以下になるようなdの範囲を抽出することにより、前記正反射光像領域に対応するワークW上の領域(以下、「割付け候補領域」という。)を把握することができる。
【0101】
図17は、撮像条件および検査対象領域の設定情報をCADデータを用いて自動設定する場合の処理の流れを示す。
まず最初のステップであるST201では、前記しきい値を決めるUの値について、ユーザーの入力を受け付ける。つぎのST202では、CADデータが表す被検査面上の各点の座標のうちの1点を、領域代表点Eとして選択し、その点における法線方向を算出する。
【0102】
ST203では、距離dに所定の初期値d0(d0>0、例えばd0=Δd)を設定する。次のST204では、CADデータを用いて前記図16のDw(d)やtanθ(d)の値を求め、さらにこれらの算出結果を(2)式にあてはめてLu(d)を算出する。
【0103】
ST205では、このLu(d)の値を、あらかじめ(1)式に基づいて求めたLuと比較する。ここでLu(d)≦Luであれば、ST206に進み、dの値をΔdだけ増やし、ST204に戻る。
以下同様に、dの値を更新しながら、ST204,ST205を繰り返す。所定の時点でLu(d)>Luとなると、ST204〜206のループを脱出してST207に進む。ST207では、領域代表点Eのx,y,z座標とdの一段階前の値(d−Δd)とを用いて、前記割付け候補領域の境界の座標を特定する。
【0104】
なお、図17のST204〜206では、厳密には、割付け候補領域の境界の1点が求められるだけである。しかし、領域代表点Eの周辺の曲面を球面に近似できる場合には、点Eを中心とし、dの最終的な値を半径とする円形領域を、割付け候補領域として設定すればよい。
一方、領域代表点Eの周辺の曲率が方向によって異なる場合には、その中の最大の曲率が生じる方向と最小の曲率が生じる方向とを求め、これらの方向毎にST204〜206を実行する。この場合には、撮像対象領域内に前記2方向を主軸とし、各方向毎に求めたdの値に基づく楕円状の領域を、割付け候補領域として設定する。また領域代表点Eの周辺の形状が複雑である場合には、より多数の方向についてST204〜206を実行し、各方向毎に求めたdの値を用いて割付け候補領域を設定する。
【0105】
割付け候補領域が特定されると、ST208では、そのワークW上の割付け候補領域を、カメラ1で撮像した場合の画像上の領域に変換する。この画像も、領域代表点Eが撮像基準点Pに一致し、領域代表点Eにおける法線の方向がカメラ1の光軸に合わせられて撮像されることを前提とする。よって、変換によって得られた画像上の領域は、正反射光像領域に相当することになる。
【0106】
ST209では、前記正反射光像領域に含まれる所定大きさの矩形領域を、検査対象領域として設定する。あるいは、正反射光像領域をそのまま検査対象領域として設定するようにしてもよい。さらに、ST210では、ST208とは反対の変換処理により、画像上の検査対象領域に対応するワークW上の領域を求め、これを割付け済み領域として設定する。
【0107】
以下、割付け済み領域により被検査面の全てがカバーされるまで、ST202〜210の処理を繰り返す。ST202〜210の処理は、「第2の設定単位処理」に相当する。
被検査面が全てカバーされると、ST211が「YES」となってST212に進み、毎時選択された領域代表点Eについて、x,y,zの各座標、方位角α、仰角βを、ワークWの位置および姿勢を決めるパラメータとして登録する。さらにST213では、各領域代表点Eに対応する検査対象領域を登録する。ST212,213で登録されるデータは、先の図10と同様に、画面番号nに対応づけされる。
【0108】
なお、領域代表点Eの選択については、あらかじめCADデータに基づき、ワークWの被検査面を曲率が近似する範囲毎に分割しておき、分割された領域毎にその領域の面積や傾きに応じた数の点を選択すればよい。この場合にも、前記図8に示したように、曲率が大きくなるほど撮像対象領域が密になるように、領域代表点Eの間隔を曲率に応じて調整する必要がある。
ただし、領域代表点Eの間隔は、検査漏れの部位が生じない範囲で極力大きくなるようにするのが望ましい。撮像回数を減らすことにより、ロボット3を動かしてワークWの位置や姿勢を順次変更するのに要する時間が減少し、検査時間を短くすることができるからである。
もちろん、各領域代表点Eの位置をすべてユーザーに入力させるようにしてもよい。
【0109】
また図17の手順では、被検査部位の全てが割付け済み領域によりカバーされるまで、ST202〜211のループを繰り返すようにしているが、これに代えて、このループの実行回数をあらかじめ決めておき、回数分の処理を終えた時点で被検査面全体がカバーされたかどうかを判別し、カバーされていない場合は、設定処理を初めからやり直すようにしてもよい。この場合、初回の処理では、領域代表点Eの間隔を大きくしておき、前記ループを再実行する都度、領域代表点Eの間隔を小さくしていけば、検査漏れが起こらず、かつ効率の良い検査を実行することが可能になる。
【0110】
(5)側面検査時の処理について
図18は、検査装置10でワークWの側面の表面状態を検査する場合のロボット3の動作を示す。
この実施例では、側面を検査する場合には、カメラ1の光軸を含む鉛直面内でz軸が斜め下を向けた状態にして、まずいずれかの側面(この実施例ではy軸の正方向が法線方向となる面とする。)をカメラ1に対向させ、主として第6軸の回転によって、撮像対象領域を切り替えるようにしている。勿論、第5軸の回転角度は、各撮像対象領域の領域代表点における法線VLの方向に応じて調整される。
【0111】
上記のロボット3の動作によれば、ワークWはz軸を中心に回転しながら撮像されることになるが、このような撮像方法では、常に画像のほぼ一定の方向がワークWの厚み方向(z方向)に対応するようになる。このため、毎時の撮像で生成される画像がモニタ8に表示されても、ユーザーはどの側面が撮像されているのかを直感的に判断できない可能性がある。
【0112】
上記の問題を解決するために、この実施例では、カメラ1により生成された画像を、撮像時の第6軸の回転角度に応じて回転補正し、補正後の画像をモニタ8に表示するようにしている。以下、この補正処理について、図19,20を用いて説明する。
【0113】
図19は、3回分の撮像について、ワークWに対する撮像方向を、A,B,Cの各矢印により示す。この図では、紙面から真上に向かう方向をz軸の正方向とする。また説明を簡単にするために、第6軸を、反時計回りに45度ずつ回転させて、回転の都度撮像を行うものとする。
【0114】
図20は、A,B,Cの方向毎に、カメラ1により生成された原画像とモニタ表示用に変換された画像とを対比させて示す。また各画像とも、画像上の正反射光像領域を網点パターンにより表している。なお、Bの変換後の画像において、4隅の黒領域は、変換前の画像に対応画素がないために設定されたものである。
この例では、毎時の撮像で得られた画像を、撮像時の第6軸の回転角度に応じた角度だけ時計回り方向に回転させている。なお、第6軸を時計回り方向に回転させる場合には、画像を反時計回り方向に回転させる必要がある。
またこの例では、第6軸の回転方向と画像の回転補正の方向とが逆であるが、図18に示したワークWの初期姿勢を、z軸の方向を180度反転させた状態とすれば、第6軸の回転方向と画像の回転補正の方向とは同じになる。
【0115】
上記の回転補正によれば、前面をカメラ1側に向けた状態のワークWを、1ひねりの操作で側面がカメラ1に向くように回転させた場合と同様の画像を得ることができる。したがって、人がワークWを自ら手にとって見る場合を想像したときに自然に予想する見え方に近い表示を行うことができ、モニタ8の表示からいずれの側面を検査しているのかを簡単に把握することができる。
【0116】
(6)検査装置の他の構成例
図21は、検査装置10の他の構成例を示すものである。この実施例では、6軸ロボット3に代えて、複数のステージ部201〜205を有するワーク支持装置200を配置し、その上面にワークWを支持するようにしている。また、カメラ1は、最上段のステージ部205の上方に、光軸を鉛直方向に向けて固定配備される。
図中の201はXステージ部、202はYステージ部、203はZステージ部であり、ワークWの位置調整のために用いられる。また204,205はゴニオステージであり、ワークWの姿勢調整のために用いられる。なお、カメラ1にオートフォーカス機能を設けるか、PLC5からの指示に基づきフォーカスを調整する機能を設けるならば、Zステージは省略してもよい。
【0117】
図21では、カメラ1とワーク支持装置200以外の構成を省略しているが、両者の間には、図4に示したのと同様の構成の照明装置2が配備される。またワーク支持装置200の動作制御のためにステージ制御装置(図示せず。)が配備されるほか、図1,2の実施例と同様のPLC5および制御処理装置6が設けられる。
【0118】
上記構成の検査装置でも、ワーク支持装置200の各ステージ201〜205の動作量を制御することによってワークWの位置や傾きを調整して撮像を行う。また被検査部位の全てを検査するために、前記図10または図17に示したのと同様に、ワークWの位置および姿勢や検査対象領域の設定情報が定められ、制御装置装置6内に登録される。
【図面の簡単な説明】
【0119】
【図1】この発明の一実施例にかかる検査装置の構成を示すブロック図である。
【図2】ロボットの具体的な構成および光学系との位置関係を示す説明図である。
【図3】ロボットの先端アーム、ワークおよびカメラの関係を示す説明図である。
【図4】光学系の詳細な構成を示す説明図である。
【図5】欠陥の検出原理を示す説明図である。
【図6】カメラのレンズに正反射光が入射する範囲を示す説明図である。
【図7】曲率と正反射光像領域との関係を示す説明図である。
【図8】ワークにおける撮像対象領域の設定例を示す説明図である。
【図9】欠陥検出方法を示す説明図である。
【図10】ワークの位置および姿勢ならびに検査対象領域の設定情報の登録手順を示すフローチャートである。
【図11】図10のST4,6に伴うワークの姿勢変化を示す説明図である。
【図12】検査の手順を示すフローチャートである。
【図13】画像上の正反射光強度分布、およびワークへの照明光ならびに正反射光と光学系との関係を示す説明図である。
【図14】レンズと正反射光との関係を示す説明図である。
【図15】正反射光の半径rを求める上での原理を説明する図である。
【図16】正反射光の半径rを求める上での原理を説明する図である。
【図17】ワークの位置および姿勢ならびに検査対象領域の設定情報をCADデータを用いて登録する手順を示すフローチャートである。
【図18】ワークの側面を検査する場合のロボットの動作を示す説明図である。
【図19】側面検査におけるワークに対する撮像方向を示す説明図である。
【図20】図19の方向毎の画像変換処理を示す説明図である。
【図21】検査装置の他の構成例を示す説明図である。
【符号の説明】
【0120】
1 カメラ
2 照明装置
2A 照明部
3 6軸ロボット
4 ロボットコントローラ
5 PLC
6 制御処理装置
E 領域代表点
S1〜S5 撮像対象領域
105 割付済み領域
200 ワーク支持装置
【特許請求の範囲】
【請求項1】
表面の一部または全てが被検査面とされた対象物の前記被検査面を、複数回に分けてそれぞれ正反射光像を得られるように撮像し、前記撮像により生成された画像を処理することにより前記被検査面の状態を検査する方法であって、
前記対象物の被検査面には、互いに異なる曲率を有する箇所が含まれており、
前記撮像は、固定された照明装置およびカメラを用いて、前記対象物の位置および姿勢を変更可能に支持した状態で実行されるものであり、
同じ形態を有する複数の対象物を順次検査するための準備として、1つの対象物に対する前記複数回の撮像をするときに各撮像に対応して対象物がとるべき位置および姿勢を定める処理と、前記撮像により生成される画像における検査対象領域を定める処理とをそれぞれ実行して、定めた内容を表す設定情報を生成し、
前記各対象物に対する検査の実行は、前記対象物がとるべき位置および姿勢についての設定情報に基づき、前記複数回の撮像を前記定められた位置および姿勢になるように対象物を支持した状態下で実行し、各撮像により生成された画像を処理するものであり、
前記検査のための準備は、前記複数回の撮像により生成される各画像において正反射光像が得られるべき領域またはその中に含まれる一部の領域が前記検査対象領域とされ、かつ前記被検査面上の任意の箇所の画像が前記複数回の撮像により生成される複数の画像のうちの少なくとも1つの画像の検査対象領域に含まれるように、前記対象物の位置および姿勢ならびに検査対象領域を定めるものである、表面状態の検査方法。
【請求項2】
前記検査のための準備は、位置および姿勢を変更可能に支持された対象物の良品モデルを前記カメラにより撮像し、前記カメラで撮像された画像をモニタに表示した状態で行われるものであり、
前記対象物の被検査面上において指定された箇所の正反射光像を含む画像が前記モニタに表示されるように、前記対象物の位置および姿勢を定めるステップA;
前記対象物の画像において正反射光像が得られている領域またはその中に含まれる一部の領域を前記検査対象領域として定めるステップB;および、
前記ステップAで定められた対象物の位置および姿勢、ならびにステップBで定められた検査対象領域を表す設定情報を生成するステップCを備える処理を、第1の設定単位処理とし、
前記検査のための準備は、前記良品モデルである対象物の被検査面上における複数の指定された箇所について第1の設定単位処理を行うものであり、第1の設定単位処理を行う複数の箇所の指定は、前記被検査面上の任意の箇所の画像が、前記複数の指定された箇所について第1の設定単位処理を実行することにより定められる複数の検査対象領域の少なくとも1つに含まれるように行うものである、請求項1に記載された表面状態の検査方法。
【請求項3】
前記検査のための準備は、前記対象物の3次元形状を表す設計データを用いて行われるものであり、
前記設計データを用いて、前記対象物の被検査面上において指定された箇所の法線方向を取得するステップa;
前記カメラで前記法線方向から前記指定された箇所を撮像した場合に、前記被検査面の中で前記カメラに正反射光を入射させることが可能な対象物上の範囲を、前記設計データを用いて特定するステップb;
前記ステップbにおける撮像をした場合にステップbで特定した前記対象物上の範囲が現れる画像上の領域である正反射光像領域を求めるステップc;
前記正反射光像領域またはその中に含まれる一部の領域を前記検査対象領域として定めるステップd;および、
前記指定された箇所の位置および前記ステップaで取得した法線方向によって特定される前記対象物の位置および姿勢を表す設定情報ならびに前記検査対象領域を表す設定情報を生成するステップeを備える処理を、第2の設定単位処理とし、
前記検査のための準備は、前記対象物の被検査面上における複数の指定された箇所について第2の設定単位処理を行うものであり、第2の設定単位処理を行う複数の箇所の指定は、前記被検査面上の任意の箇所の画像が、前記複数の指定された箇所について第2の設定単位処理を実行することにより定められる複数の検査対象領域の少なくとも1つに含まれるように行うものである、請求項1に記載された表面状態の検査方法。
【請求項4】
表面の一部または全てが被検査面とされた対象物の前記被検査面を、複数回に分けてそれぞれ正反射光像を得られるように撮像し、前記撮像により生成された画像を処理することにより前記被検査面の状態を検査する方法であって、
前記対象物の被検査面には、互いに異なる曲率を有する箇所が含まれており、
前記複数回の撮像は、固定された照明装置およびカメラを用いて、前記各撮像時の対象物の位置および姿勢を順次変更して行うものであり、
前記対象物の位置および姿勢は、前記複数回の撮像が終了したときにおいて、被検査面上の任意の箇所の画像が、前記複数回の撮像により生成される複数の画像のうちの少なくとも1つの画像の中の、正反射光像が得られるべき領域としてまたはその中に含まれる一部の領域として設定されている検査対象領域に含まれていることになるように、順次変更されるものである、表面状態の検査方法。
【請求項5】
表面の一部または全てが被検査面とされ、前記被検査面に互いに異なる曲率を有する箇所を含む対象物の前記被検査面の状態を検査するための装置であって、
固定された照明装置およびカメラと、前記対象物をその位置および姿勢を変更可能に支持する支持装置と、前記カメラおよび支持装置の動作を制御する制御装置とを備え、
前記制御装置は、前記被検査面内の任意の箇所に対応する正反射光像が前記複数回の撮像により生成される複数の画像のうちの少なくとも1つの画像に含まれるように、前記支持装置の動作を制御するものである、表面状態検査装置。
【請求項6】
前記支持装置は、複数の関節を備えたロボットアームであり、
前記カメラは、前記ロボットアームに支持された対象物を斜め上から撮像できるように、その位置および光軸の方向が固定されており、
前記制御装置は、前記カメラの下方に供給された検査前の対象物を前記ロボットアームの先端に装着し、装着した対象物を前記カメラによって撮像可能な領域に移動させるように、前記ロボットアームの動作を制御する請求項5に記載された表面状態検査装置。
【請求項1】
表面の一部または全てが被検査面とされた対象物の前記被検査面を、複数回に分けてそれぞれ正反射光像を得られるように撮像し、前記撮像により生成された画像を処理することにより前記被検査面の状態を検査する方法であって、
前記対象物の被検査面には、互いに異なる曲率を有する箇所が含まれており、
前記撮像は、固定された照明装置およびカメラを用いて、前記対象物の位置および姿勢を変更可能に支持した状態で実行されるものであり、
同じ形態を有する複数の対象物を順次検査するための準備として、1つの対象物に対する前記複数回の撮像をするときに各撮像に対応して対象物がとるべき位置および姿勢を定める処理と、前記撮像により生成される画像における検査対象領域を定める処理とをそれぞれ実行して、定めた内容を表す設定情報を生成し、
前記各対象物に対する検査の実行は、前記対象物がとるべき位置および姿勢についての設定情報に基づき、前記複数回の撮像を前記定められた位置および姿勢になるように対象物を支持した状態下で実行し、各撮像により生成された画像を処理するものであり、
前記検査のための準備は、前記複数回の撮像により生成される各画像において正反射光像が得られるべき領域またはその中に含まれる一部の領域が前記検査対象領域とされ、かつ前記被検査面上の任意の箇所の画像が前記複数回の撮像により生成される複数の画像のうちの少なくとも1つの画像の検査対象領域に含まれるように、前記対象物の位置および姿勢ならびに検査対象領域を定めるものである、表面状態の検査方法。
【請求項2】
前記検査のための準備は、位置および姿勢を変更可能に支持された対象物の良品モデルを前記カメラにより撮像し、前記カメラで撮像された画像をモニタに表示した状態で行われるものであり、
前記対象物の被検査面上において指定された箇所の正反射光像を含む画像が前記モニタに表示されるように、前記対象物の位置および姿勢を定めるステップA;
前記対象物の画像において正反射光像が得られている領域またはその中に含まれる一部の領域を前記検査対象領域として定めるステップB;および、
前記ステップAで定められた対象物の位置および姿勢、ならびにステップBで定められた検査対象領域を表す設定情報を生成するステップCを備える処理を、第1の設定単位処理とし、
前記検査のための準備は、前記良品モデルである対象物の被検査面上における複数の指定された箇所について第1の設定単位処理を行うものであり、第1の設定単位処理を行う複数の箇所の指定は、前記被検査面上の任意の箇所の画像が、前記複数の指定された箇所について第1の設定単位処理を実行することにより定められる複数の検査対象領域の少なくとも1つに含まれるように行うものである、請求項1に記載された表面状態の検査方法。
【請求項3】
前記検査のための準備は、前記対象物の3次元形状を表す設計データを用いて行われるものであり、
前記設計データを用いて、前記対象物の被検査面上において指定された箇所の法線方向を取得するステップa;
前記カメラで前記法線方向から前記指定された箇所を撮像した場合に、前記被検査面の中で前記カメラに正反射光を入射させることが可能な対象物上の範囲を、前記設計データを用いて特定するステップb;
前記ステップbにおける撮像をした場合にステップbで特定した前記対象物上の範囲が現れる画像上の領域である正反射光像領域を求めるステップc;
前記正反射光像領域またはその中に含まれる一部の領域を前記検査対象領域として定めるステップd;および、
前記指定された箇所の位置および前記ステップaで取得した法線方向によって特定される前記対象物の位置および姿勢を表す設定情報ならびに前記検査対象領域を表す設定情報を生成するステップeを備える処理を、第2の設定単位処理とし、
前記検査のための準備は、前記対象物の被検査面上における複数の指定された箇所について第2の設定単位処理を行うものであり、第2の設定単位処理を行う複数の箇所の指定は、前記被検査面上の任意の箇所の画像が、前記複数の指定された箇所について第2の設定単位処理を実行することにより定められる複数の検査対象領域の少なくとも1つに含まれるように行うものである、請求項1に記載された表面状態の検査方法。
【請求項4】
表面の一部または全てが被検査面とされた対象物の前記被検査面を、複数回に分けてそれぞれ正反射光像を得られるように撮像し、前記撮像により生成された画像を処理することにより前記被検査面の状態を検査する方法であって、
前記対象物の被検査面には、互いに異なる曲率を有する箇所が含まれており、
前記複数回の撮像は、固定された照明装置およびカメラを用いて、前記各撮像時の対象物の位置および姿勢を順次変更して行うものであり、
前記対象物の位置および姿勢は、前記複数回の撮像が終了したときにおいて、被検査面上の任意の箇所の画像が、前記複数回の撮像により生成される複数の画像のうちの少なくとも1つの画像の中の、正反射光像が得られるべき領域としてまたはその中に含まれる一部の領域として設定されている検査対象領域に含まれていることになるように、順次変更されるものである、表面状態の検査方法。
【請求項5】
表面の一部または全てが被検査面とされ、前記被検査面に互いに異なる曲率を有する箇所を含む対象物の前記被検査面の状態を検査するための装置であって、
固定された照明装置およびカメラと、前記対象物をその位置および姿勢を変更可能に支持する支持装置と、前記カメラおよび支持装置の動作を制御する制御装置とを備え、
前記制御装置は、前記被検査面内の任意の箇所に対応する正反射光像が前記複数回の撮像により生成される複数の画像のうちの少なくとも1つの画像に含まれるように、前記支持装置の動作を制御するものである、表面状態検査装置。
【請求項6】
前記支持装置は、複数の関節を備えたロボットアームであり、
前記カメラは、前記ロボットアームに支持された対象物を斜め上から撮像できるように、その位置および光軸の方向が固定されており、
前記制御装置は、前記カメラの下方に供給された検査前の対象物を前記ロボットアームの先端に装着し、装着した対象物を前記カメラによって撮像可能な領域に移動させるように、前記ロボットアームの動作を制御する請求項5に記載された表面状態検査装置。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【図21】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【図21】
【公開番号】特開2007−240434(P2007−240434A)
【公開日】平成19年9月20日(2007.9.20)
【国際特許分類】
【出願番号】特願2006−66081(P2006−66081)
【出願日】平成18年3月10日(2006.3.10)
【出願人】(000002945)オムロン株式会社 (3,542)
【Fターム(参考)】
【公開日】平成19年9月20日(2007.9.20)
【国際特許分類】
【出願日】平成18年3月10日(2006.3.10)
【出願人】(000002945)オムロン株式会社 (3,542)
【Fターム(参考)】
[ Back to top ]