(57)【要約】【課題】生産性向上を図るためにカメラを移動させながら連続撮影した画像のなかから適切な画像を選択して良否判定を行える。【解決手段】ロボット２の動作によりカメラを移動させつつ連続撮影を行い、任意のワーク１０の各検査対象箇所でも、ロボット２を停止させることなく連続撮影を続行し、この連続撮影画像のなかで良否判定に適切な画像を選別して、これをマスタ画像と比較して良否判定を行う。予め、運用時に上記適切な画像を選別できるようにする為の設定を行う必要があるが、この設定作業を、非常に容易に行なえるようにしている。【選択図】図２
2009109440.tif 000002
【特許請求の範囲】
【請求項１】
ロボットに取り付けられたカメラの位置を該ロボットを移動制御することで移動させて、各検査対象物における各検査対象箇所を撮影させ、該撮影された画像に基づいて良否判定を行う外観検査処理システムであって、
前記各検査対象箇所の基準画像を記憶する基準画像記憶手段と、
該基準画像撮影時の前記ロボットの位置情報を記憶する基準位置情報記憶手段と、
前記カメラにより撮影された画像を順次記憶する画像記憶手段と、
設定作業の際に、前記ロボットを移動制御して前記カメラを移動させながら所定周期で連続撮影を行い、前記記憶されている位置情報とロボットの現在位置とに基づいて撮像トリガが掛かったときの撮影画像である撮像トリガ画像と該撮像トリガ画像の前後複数枚の画像とを前記画像記憶手段から抽出して、該抽出した複数枚の画像を表示すると共に該当する基準画像を表示して、該抽出した複数枚の画像のなかから任意の画像を選択させるシャッタポイント選択手段と、
該シャッタポイント選択手段により選択された画像と前記撮像トリガ画像とのズレ量を求めて記憶するズレ量記憶手段と、
運用中、前記ロボットを移動制御して前記カメラを移動させながら所定周期で連続撮影を行い、前記記憶されている位置情報とロボットの現在位置とに基づいて撮像トリガが掛かったときの撮影画像である撮像トリガ画像を判別し、この撮像トリガ画像と前記記憶されているズレ量に基づいて前記連続撮影された複数の画像の中から検査用の画像を決定する検査用画像決定手段と、
を有し、  該決定した検査用画像と前記基準画像とを比較することで良否判定を行うことを特徴とする外観検査処理システム。
【請求項２】
前記検査用画像決定手段は前記決定された検査用画像の前後の画像も検査用画像とし、
該複数の検査用画像それぞれを前記基準画像と比較することでそれぞれ良否判定を行い、何れか１つでも良と判定された場合には判定結果を良とすることを特徴とする請求項１記載の外観検査処理システム。
【請求項３】
前記画像記憶手段は、前記カメラにより撮影された画像を所定枚数まで記憶し且つサイクリックに記憶するリングバッファであることを特徴とする請求項１又は２記載の外観検査処理システム。
【請求項４】
ロボットに取り付けられたカメラの位置を該ロボットを移動制御することで移動させて、各検査対象物における各検査対象箇所を撮影させ、該撮影された画像に基づいて良否判定を行う外観検査処理システムであって、
前記各検査対象箇所の基準画像を記憶する基準画像記憶手段と、
該基準画像撮影時の前記ロボットの位置情報を記憶する基準位置情報記憶手段と、
前記カメラにより撮影された画像を順次記憶する画像記憶手段と、
設定作業の際に、前記ロボットを移動制御して前記カメラを移動させながら所定周期で連続撮影を行い、前記記憶されている位置情報とロボットの現在位置とに基づいて撮像トリガが掛かったときの撮影画像である撮像トリガ画像と該撮像トリガ画像の前後複数枚の画像とを前記画像記憶手段から抽出して、該抽出した複数枚の画像のなかで最も基準画像と類似する画像を選択するシャッタポイント選択手段と、
該シャッタポイント選択手段により選択された画像と前記撮像トリガ画像とのズレ量を求めて記憶するズレ量記憶手段と、
運用中、前記ロボットを移動制御して前記カメラを移動させながら所定周期で連続撮影を行い、前記記憶されている位置情報とロボットの現在位置とに基づいて撮像トリガが掛かったときの撮影画像である撮像トリガ画像を判別し、この撮像トリガ画像と前記記憶されているズレ量に基づいて前記連続撮影された複数の画像の中から検査用の画像を決定する検査用画像決定手段と、
該決定した検査用画像と前記基準画像とを比較することで良否判定を行う良否判定手段と、
を有することを特徴とする外観検査処理システム。
【請求項５】
ロボットに取り付けられたカメラの位置を該ロボットを移動制御することで移動させて、各検査対象物における各検査対象箇所を撮影させ、該撮影された画像に基づいて良否判定を行う外観検査処理システムのコンピュータを、
前記各検査対象箇所の基準画像を記憶する基準画像記憶手段と、
該基準画像撮影時の前記ロボットの位置情報を記憶する基準位置情報記憶手段と、
前記カメラにより撮影された画像を順次記憶する画像記憶手段と、
設定作業の際に、前記ロボットを移動制御して前記カメラを移動させながら所定周期で連続撮影を行い、前記記憶されている位置情報とロボットの現在位置とに基づいて撮像トリガが掛かったときの撮影画像である撮像トリガ画像と該撮像トリガ画像の前後複数枚の画像とを前記画像記憶手段から抽出して、該抽出した複数枚の画像を表示すると共に該当する基準画像を表示して、該抽出した複数枚の画像のなかから任意の画像を選択させるシャッタポイント選択手段と、
該シャッタポイント選択手段により選択された画像と前記撮像トリガ画像とのズレ量を求めて記憶するズレ量記憶手段と、
運用中、前記ロボットを移動制御して前記カメラを移動させながら所定周期で連続撮影を行い、前記記憶されている位置情報とロボットの現在位置とに基づいて撮像トリガが掛かったときの撮影画像である撮像トリガ画像を判別し、この撮像トリガ画像と前記記憶されているズレ量に基づいて前記連続撮影された複数の画像の中から検査用の画像を決定する検査用画像決定手段と、
該決定した検査用画像と前記基準画像とを比較することで良否判定を行う良否判定手段、
として機能させる為のプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ロボットを用いてカメラを移動させて外観検査処理を行うシステム、装置等関する。
【背景技術】
【０００２】
従来より、工場等において、製造された各種製品の品質を自動チェックする品質検査システムは各種存在する。そのなかで、カメラにより製品の全体やその一部を撮影してこれを基準画像等と比較することで外観的な品質チェックを行う外観検査処理システムが存在する。
【０００３】
例えば、特許文献１には、コンベア上を流れてくる複数の計測対象物をＣＣＤカメラで撮影して、この撮影画像を２値化画像に変換して、２値化画像の特徴量と実験的に求めた基準値との適合度を判定して外観が類似する計測対象物の判定を行う自動外観検査装置が開示されている。
【特許文献１】特開平７−２４８２１４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
ここで、各計測対象物毎に、その計測対象物の複数個所の外観チェックを行う為に、例えばロボット等を用いてカメラ自体を移動させて、上記複数個所各々の画像を撮影して各チェック箇所毎の良否判定を行うシステムが考えられている。
【０００５】
図１１（ａ）、（ｂ）にこの様なシステムの動作例を示す。
図１１（ａ）に示す第１の例では、カメラが取り付けられたロボットを移動制御して、カメラを検査対象物における各チェック箇所に対応する位置（チェック箇所の画像を撮影できる位置）に移動させて、その場所で停止して撮像を行ってこの画像データを不図示の良否判定装置に送る。例えば不図示のロボット制御盤内のコントローラが、常時、ロボットの（“カメラの”と同義となる）現在位置を取得しており、この現在位置が予め設定される各チェック箇所の位置座標と合致するときに、ロボットを停止制御すると共に撮像トリガ信号を出力する。この撮像トリガ信号はカメラのシャッタ信号に相当し、これによりカメラは静止画像の撮影を行うことになる。
【０００６】
良否判定装置は、上記画像データと予め登録されている基準画像（マスタ画像）とに基づいて良否判定を行う。そして、良否判定結果を例えば上記シーケンス・コントローラに送信する。シーケンス・コントローラは、良否判定結果を受信すると、再びロボットを移動制御してカメラを次のチェック箇所に対応する位置へと移動させて、上記と同様にロボットを停止させてカメラが静止した状態で撮像して良否判定を行う。
【０００７】
カメラを停止させる位置、すなわち撮像位置は、予め設定作業を行って登録しておく。すなわち、ロボット・ティーチングを行って、ユーザが目視でカメラが撮像位置となるようにロボットを移動制御して、その位置を記憶させる。
【０００８】
図１１（ｂ）に示す第２の例では、基本的には第１の例と同様の制御を行うが、異なる点は、任意のチェック箇所で撮像を行って画像データを良否判定装置に送信したら、シーケンス・コントローラは、上記良否判定結果を待つことなく、次のチェック箇所への移動を開始する点である。これによって、良否判定結果を待つ時間分、処理時間を短縮できる。
【０００９】
上記第１の例の方法では、カメラを静止させた状態で撮像を行うので、撮像した画像はポイントをしっかり射抜いている（信頼性が高い）。また、画像を１枚撮影する毎に判定を行うので、画像を保存するメモリの容量が少なくても対応可能である。
【００１０】
しかしながら、各検査箇所毎に逐一カメラを止めて撮像して良否判定を行うので、検査に掛かる時間が長くなってしまい、生産性が悪くなるという問題がある。更に、上記ロボット・ティーチング時に高精度のティーチングが必要になる（撮像時のポイント・トリガのタイミングがズレると検査できない。設備調整の時間負荷が非常に大きい）。
【００１１】
また、設定が難しいので条件再現性が低く、後に不具合等が発生した際の設備復帰や調整にも熟練の技術者が必要となる（人を選ぶ設備となり万人向けではない）。
また、上記第２の例の方法でも上記第１の方法と同様の問題がある。但し、上記第２の例の方法では、第１の例の方法に比べると上記の通り検査に掛かる時間が短くなるが、それでも未だ不十分である。各検査箇所で逐一カメラを完全に静止させる為、検査に掛かる時間は十分には短くならない。
【００１２】
その為、ロボットを停止させずに常に移動させた状態で、連続撮影を行い、この連続撮影された画像のなかから良否判定に適切な画像（つまり、検査対象箇所がきちんと撮影された画像）を選択することで、設備サイクルタイムを短くし、以って生産性を向上させることが考えられる。この様な方式でも、上記図１１（ａ）、（ｂ）の例と同様に、予め各検査対象箇所に対応するカメラの位置座標（ロボットの位置座標）を登録しておき、ロボットの位置が各登録位置座標になる毎に撮像トリガ信号を発することで（但し、停止はしない）、この時の撮影画像を取得することが考えられる。
【００１３】
しかしながら、現在位置座標を取得して検査対象箇所か否かを判定してトリガ信号を発して画像を取得させるまでに掛かる時間（通信に掛かる時間も含む）の為、本来画像取得すべき位置からズレた位置の画像が取得されてしまうという問題がある（基本的に、カメラが検査対象箇所を少し通り過ぎた位置の画像が取得されてしまう）。
【００１４】
この様な問題に対して、ユーザが上記の“ズレ”を考慮した設定を行うことも考えられるが、高度な設定作業が行えるユーザ（熟練技術者）が必要となってしまう。また、設定が難しいので条件再現性が低く、後に不具合等が発生した際の設備復帰や調整にも熟練の技術者が必要となる（人を選ぶ設備となり万人向けではない）。
【００１５】
また、上記設定を行うことで運用開始時には正常に動作しても、その後に時間が経つにつれて、経年による設備のガタ等で上記“ズレ”が生じるようになる場合がある。あるいは、ロボットの動作がスムーズにいかない場合もある（早くなったり遅くなったり等）。
【００１６】
本発明の課題は、外観検査処理システムにおいて、ロボット等によりカメラを移動させ、各検査対象箇所においてもカメラを静止させることなく連続撮影し、連続撮影した複数の画像から良否判定に用いる画像を選択するようにすることで生産性向上を図るシステムを提供するものであって、特に設定作業の際に、基準画像に基づき、連続撮影した複数の画像から特定の画像を選択するだけで、容易にズレ量を求めることができ、運用時にはこのズレ量を用いて良否判定に用いる画像を適切に選択することができる外観検査処理システム、そのプログラム等を提供することである。
【課題を解決するための手段】
【００１７】
本発明の外観検査処理システムは、ロボットに取り付けられたカメラの位置を該ロボットを移動制御することで移動させて、各検査対象物における各検査対象箇所を撮影させ、該撮影された画像に基づいて良否判定を行う外観検査処理システムであって、前記各検査対象箇所の基準画像を記憶する基準画像記憶手段と、該基準画像撮影時の前記ロボットの位置情報を記憶する基準位置情報記憶手段と、前記カメラにより撮影された画像を順次記憶する画像記憶手段と、設定作業の際に、前記ロボットを移動制御して前記カメラを移動させながら所定周期で連続撮影を行い、前記記憶されている位置情報とロボットの現在位置とに基づいて撮像トリガが掛かったときの撮影画像である撮像トリガ画像と該撮像トリガ画像の前後複数枚の画像とを前記画像記憶手段から抽出して、該抽出した複数枚の画像を表示すると共に該当する基準画像を表示して、該抽出した複数枚の画像のなかから任意の画像を選択させるシャッタポイント選択手段と、該シャッタポイント選択手段により選択された画像と前記撮像トリガ画像とのズレ量を求めて記憶するズレ量記憶手段と、運用中、前記ロボットを移動制御して前記カメラを移動させながら所定周期で連続撮影を行い、前記記憶されている位置情報とロボットの現在位置とに基づいて撮像トリガが掛かったときの撮影画像である撮像トリガ画像を判別し、この撮像トリガ画像と前記記憶されているズレ量に基づいて前記連続撮影された複数の画像の中から検査用の画像を決定する検査用画像決定手段と、該決定した検査用画像と前記基準画像とを比較することで良否判定を行う良否判定手段とを有する。
【００１８】
上記外観検査処理システムでは、設定作業の際に、運用時と同様にしてカメラを移動させながら連続撮影を行うと共に撮像トリガをかける。この撮像トリガが掛かったタイミングの撮像画像（撮像トリガ画像）が、適切な画像（基準画像と非常に類似する）であればよいが、上記の通り、ズレが生じる為にそうはならない場合がある。この場合、通信タイムラグ等が原因の多少のズレであれば、撮像トリガ画像の前後に撮影された画像（前後それぞれ複数枚）のなかに、適切な画像が存在する可能性が高い。よって、例えば、撮像トリガ画像とその前後複数枚の画像を抽出して基準画像と共に表示することで、オペレータ等に目視により適切な画像（基準画像と非常に類似する）を選択させる。
【００１９】
これによりズレ量（例えば、適切な画像は撮像トリガ画像の３枚前の画像等）が求められるので、運用時には、このズレ量を用いて適切な画像を選択して良否判定を行うことができる。
【００２０】
尚、オペレータによって選択させる例に限らず、抽出した各画像と基準画像とのマッチング処理により、基準画像に最も類似する画像を選別するようにしてもよい。
また、例えば、前記検査用画像決定手段は前記決定された検査用画像の前後の画像も検査用画像とし、前記良否判定手段は、該複数の検査用画像それぞれを前記基準画像とを比較することでそれぞれ良否判定を行い、何れか１つでも良と判定された場合には判定結果を良とするようにしてもよい。
【００２１】
運用中に経年劣化等により新たなズレが生じた場合にも、前記決定された検査用画像の前後の画像も検査用画像とすることで、そのうちの１枚は適切な画像である可能性が高いので、誤判定する可能性が低くなり、信頼性が向上する。
【００２２】
また、例えば、前記画像記憶手段は、前記カメラにより撮影された画像を所定枚数まで記憶し且つサイクリックに記憶するリングバッファである。
特に運用中は非常に多数の画像を撮影するので、大容量メモリが必要となってしまい、コスト高となるが、上記リングバッファを用いることで、必要とされるメモリ容量が非常に少なくて済む。この場合、所定枚数までしか記憶されず古い画像データから自動的に消えていくが（最新の画像データが上書きされるので）、上記抽出が行われるまでは消去されない程度のメモリ容量があれば、問題ない。
【発明の効果】
【００２３】
本発明の外観検査処理システム、そのプログラム等によれば、ロボット等によりカメラを移動させ、各検査対象箇所においてもカメラを静止させることなく連続撮影し、連続撮影した複数の画像から良否判定に用いる画像を選択するようにすることで生産性向上を図るシステムであって、特に設定作業の際に、基準画像に基づき、連続撮影した複数の画像から特定の画像を選択するだけで、容易にズレ量を求めることができ、運用時にはこのズレ量を用いて良否判定に用いる画像を適切に選択することができる。
【００２４】
更に、運用中に経年劣化等により新たなズレが生じた場合にも対応可能であり、信頼性が向上する。
【発明を実施するための最良の形態】
【００２５】
以下、図面を参照して本発明の実施の形態について説明する。
図１は、本例の外観検査システムの全体構成図である。
図示の外観検査システムは、ロボット２とこのロボット２を制御する構成であるロボット制御盤５、シーケンスコントローラ４、操作盤３を有する。これらロボット制御の為の構成自体は、従来と略同様であってよく、特に詳細には説明しないものとする。
【００２６】
図示の外観検査システムは、更に、ロボット２のアームの先端付近に取り付けられたカメラ１と外観検査処理装置６を有する。カメラ１は外観検査対象物であるワーク１０の画像を撮影するものである。カメラ１と外観検査処理装置６とは不図示の通信線により接続しており、この通信線を介して、カメラ１で撮影された画像が外観検査処理装置６に入力され、またカメラ１の撮影制御が行われる。
【００２７】
外観検査処理装置６は、画像コントローラ７を有し、この画像コントローラによりカメラ１の撮像動作を制御し、また後述する画像抽出処理等を行う。また、外観検査処理装置６は、後述する予め各種設定作業をユーザ等に行わせる為の設定支援機能や、運用時（外観検査実行時）にカメラ１による撮影画像に基づいて正常／異常の判定等を行う検査判定機能を実現する。
【００２８】
外観検査処理装置６は、例えばパソコン等の汎用コンピュータであり、ここでは特に図示しないが一般的なパソコン等の構成（ＣＰＵ、記憶装置（ハードディスク等）、メモリ等）を備えている。そして、上記各種機能（設定支援機能や検査判定機能等）は、ＣＰＵが記憶装置に記憶されている所定のアプリケーションプログラムを読出し・実行することにより実現される。
【００２９】
ロボット制御盤５、シーケンスコントローラ４、操作盤３、及び外観検査処理装置６は、所定のネットワーク（ここでは図示のＦＬ−ＮＥＴ９）に接続しており、相互に通信可能となっている。また、ロボット制御盤５とシーケンスコントローラ４と操作盤３とは、更にDeviceNet８により接続している。
【００３０】
シーケンスコントローラ４は、上記ロボット２を制御する構成の中心となる制御ユニットであり、ＣＰＵ、メモリ等を有しており、このＣＰＵがロボット２制御の為のプログラム等を実行することで、ロボット制御盤５を介して、ロボット２を動作させる。ロボット制御盤５は、ロボット２の状態情報（現在位置座標等）を取得する。外観検査処理装置６は、ＦＬ−ＮＥＴ９を介してシーケンスコントローラ４と通信を行うことで、シーケンスコントローラ４と連携して、ワーク１０の所定箇所の画像をカメラ１で撮影させる。この様な基本的な処理自体は、従来と同様であり、これ以上特に説明しない。
【００３１】
尚、FL-net（OPCN-2）は、日本の自動車産業を中心とするFA（ファクトリーオートメーション）の分野で生まれた、プログラマブルコントローラ、数値制御装置、ロボット、パソコンなどを相互接続するオープンなネットワークの規格であり、具体的には、日本工業規格（JIS B 3521）と（社）日本電機工業会規格（JEM 1480、JEM-TR 213、JEM-TR 214）として制定されている。
【００３２】
図２に、上記図１の外観検査システムの概略的な動作を示す。
図２には、運用時（検査時）の動作を示すが、この動作を行う為には予め後述する図３の処理により初期設定（撮像ポイント設定、マスタ画像設定、シャッタポイント（撮像位置ズレ）設定）を行う必要がある。詳しくは後述する。
【００３３】
図２において、任意のワーク１０（被検査物）に関する検査開始すると、ロボット２の移動開始に伴ってカメラ１が移動開始すると共に、カメラ１による連続撮影を開始する。そして、カメラ１が所定の位置（撮像ポイント、すなわちワーク１０上の検査対象箇所を撮影できる位置；その位置座標は上記初期設定により予め記憶されている）にくると、撮影トリガをＯＮする。そのまま、カメラ１の移動を止めることなく連続撮影を続け、次の検査対象箇所まで移動して次の検査対象箇所でも同様にして検査対象箇所で静止することなく連続撮影を行うと共に撮影トリガをＯＮする。
【００３４】
連続撮影された各画像はリアルタイムで随時、カメラ１から外観検査処理装置６に送られて、検査対象箇所の画像を含む複数の連続撮影画像が、外観検査処理装置６内の記憶装置に順次記憶される。撮影された全ての画像を記憶するようにしてもよい。しかしながら、初期設定の際はともかく、運用時には多数の検査対象物に関して撮影された非常に多数の画像を全て記憶することになり、大容量メモリが必要となってしまう。特に検査対象箇所から検査対象箇所に移動する間に撮影される画像は、全く必要ないものであり、無駄に大きなメモリ容量が必要になることになる。
【００３５】
この為、ここでは、撮影された画像を順次格納する為にリングバッファ方式を用いる。すなわち、上記画像がリアルタイムに順次記憶される画像メモリに、画像がサイクリックに記憶されるようにする。すなわち、メモリ一杯の状態で最新の画像を記憶する場合には、画像メモリ内に記憶されている画像のなかで最も古い画像に、最新画像を上書きすることで、最も古い画像が自動的に消去されるようにする。
【００３６】
そして、この様なサイクリックに記憶される画像メモリ（リングバッファ）から、初期設定又は検査に必要となる画像を抽出して、これを別メモリに退避させる。当然、この抽出処理は、抽出すべき画像が上記上書きにより消去されてしまう前に行う必要がある。よって、画像メモリの容量は、この様な抽出処理時間等を考慮して決定される。例えば、本例では後述するように、初期設定時は１０枚、検査時は最大５枚の画像を抽出するので、画像メモリの容量は、例えば５０枚程度の画像を記憶可能な容量とする（抽出対象の画像１０枚が記憶された後に、４０枚記憶するのに掛かる時間は、上記抽出処理時間に比べて十分に長いものとする。尚、連続撮影の間隔（周期）は、例えば１６．７ｍｓ（ミリセカンド）である）。
【００３７】
仮に画像１枚当り３００ＫＢ必要であるとすると、上記の一例では、上記画像メモリの容量は、５０×３００＝１５ＭＢで済み、低コスト化が実現できる。
但し、本例は、上記の通り、必ずしもリングバッファ方式を用いるものに限らず、全ての画像を記憶するようにしてもよい。
【００３８】
また、本例でも、従来と同様に、各検査対象箇所で撮像トリガ信号をＯＮする。但し、従来では撮像トリガ信号はシャッタ信号であり、撮像トリガ信号ＯＮによりカメラが撮影を行ったが、本例ではカメラ１は移動開始時点から常に（定周期で）連続撮影を行っているので、シャッタ信号として用いるのではなく、別の使い方をする。
【００３９】
すなわち、後述する撮像トリガ画像を決定するのに用いる。つまり、撮像トリガ信号ＯＮとなったときに画像メモリに記憶された画像（つまり最新の画像）を、後述する撮像トリガ画像とするものである。
【００４０】
ここで、上記の通り、この撮影トリガ画像が検査に用いる画像として不適切な画像となる可能性がある。この為、上記シャッタポイント（撮像位置ズレ量）設定を参照することで、複数の連続撮影画像のなかで検査に用いる画像を正しく決定することが、本手法の特徴の１つである。
【００４１】
そして、検査に用いる画像を決定したら、この画像をマスタ画像（基準画像）と比較することで、正常／異常を判定する。
図１に示す外観検査システムにおける上記初期設定時の処理フローチャートを図３に示し、運用時（検査時）の処理フローチャートを図８に示す。
【００４２】
まず、図３を参照して、予めユーザが設定作業を行う際の処理について説明する。
まず、前提として、シーケンスコントローラ４は、ロボット２に所定の動作を行わせる為の制御を実行する。所定の動作とは、カメラ１を初期位置からワーク１０の各検査箇所へ移動させて再び初期位置に戻すという一連の動作であり、これを１サイクル運転という。尚、所定の動作は、一般的なロボット・ティーチング作業により設定されている。
【００４３】
従来では、この１サイクル運転中に各検査箇所で逐一ロボット２を停止させていたが、本手法では１サイクル運転の途中で停止させることはない。よって、１サイクル運転に掛かる時間が短くて済み、生産性向上を図ることができる。そして、この様に停止させずに運用を行うことで生じる問題を、本手法ではユーザに負担を掛けることなく、熟練技術者を必要とすることなく、容易に解決できる。
【００４４】
図３の処理においてステップＳ１１〜Ｓ１３の処理は、上記従来技術でも行われている設定処理である。すなわち、オペレータ等が、ロボット２を手動操作して又は上記１サイクル運転等を実行させて、上記ワーク１０の各検査箇所で停止させる（ステップＳ１１）。停止させる位置は、オペレータ等が、各検査箇所の位置を目視して決定する。そして、各検査箇所（停止させた位置）において、例えばオペレータ等が外観検査処理装置６を操作して、カメラ１による撮像を行わせ、この撮像画像をマスタ画像とする（ステップＳ１２）。マスタ画像は、外観検査処理装置６内の記憶装置に記憶される。
【００４５】
また、マスタ画像を撮影したときのロボット２の位置座標（Ｘ，Ｙ，Ｚ座標等）が、ロボット制御盤５内の不図示のコントローラ内の不図示のメモリ等に記憶される。このマスタ画像を撮影したときのロボット２の位置座標（Ｘ，Ｙ，Ｚ座標等；上記撮像ポイントに相当）は、上記撮影トリガをＯＮするか否かの判定処理に用いられる。この判定処理は上記ロボット制御盤５内の不図示のコントローラが実行する。すなわち、上記の通りロボット制御盤５内のコントローラは、ロボット２の現在位置座標を常時取得しており、マスタ画像の撮影時の位置座標を記憶しており、現在位置座標が当該記憶している位置座標（撮像ポイントの位置座標）と一致するか否かを判定する。そして、一致する場合には一致信号（撮影トリガＯＮ信号（撮像指令））を出力する。この一致信号をシーケンスコントローラ４で一旦受けて画像コントローラ７にFL-NET９を介して送っている。
【００４６】
ここで、ＦＬ−ＮＥＴ９を介した通信や判定処理に掛かる時間によってタイムラグが生じ、画像コントローラ７が撮像指令を受け取るときはカメラ１が既に上記撮像ポイントを通り過ぎている可能性がある。この様なズレに応じた設定を行うのは、手間が掛かり高度な技能が必要となるが、本手法では後述するように、複数の画像のなかから選択を行うだけでよい。
【００４７】
上記マスタ画像の撮影・記憶と撮像ポイントの位置座標の登録を、全ての検査箇所について実行したら（ステップＳ１３，ＹＥＳ）、ステップＳ１４の処理に進む。
図４に、上記ステップＳ１１〜Ｓ１３によるマスタ画像及び撮像ポイントの登録作業の一例を示す。
【００４８】
図示の例では、ワーク１０（被検査物）は、このワーク１０の側面２箇所に、図示のチェック箇所Ａ，Ｂがあるものとする。ここでは、これらチェック箇所Ａ，Ｂ全体をカメラ１でほぼ正面から撮影できる位置が、上記撮像ポイントとなる。これより、ユーザは、手動又はロボット２を制御する等して、カメラ１をまずチェック箇所Ａに対応する撮像ポイントに移動させて、静止させた状態で上記マスタ画像を撮影させ、このマスタ画像を外観検査処理装置６内の記憶装置に記憶する。また、上記の通り、この撮像ポイントの位置座標は、ロボット制御盤５内の不図示のコントローラ内の不図示のメモリ等に記憶される。
【００４９】
続いて、同様にして、カメラ１をチェック箇所Ｂに対応する撮像ポイントに移動させて上記マスタ画像を撮影させ、このマスタ画像を外観検査処理装置６内の記憶装置に記憶する。また、上記の通り、この撮像ポイントの位置座標は、ロボット制御盤５内の不図示のコントローラ内の不図示のメモリ等に記憶される。
【００５０】
上記マスタ画像及び撮像ポイントの登録作業の際には、オペレータ等は、外観検査処理装置６において上記設定支援機能を起動する。これにより、例えば図５に示すマスタ画像設定用の各種画面がディスプレイ上に表示され、オペレータ等は、これら各種画面上で所望の操作を行う。尚、ここでは、上記設定支援機能を起動すると、初期画面に、マスタ画像設定、シャッタポイント設定の２つの選択肢が表示されるものとする。
【００５１】
設定支援機能を起動してマスタ画像設定を選択すると、まず、図５（ａ）に示すマスタ画像設定メイン画面２１が表示され、オペレータ等はこのメイン画面２１上で所望の設定対象のロボットを指定する。
【００５２】
続いて、図５（ｂ）に示すマスタ画像設定画面２２に切り替わり、オペレータはこの設定画面２２上で所望の検査箇所（上記チェック箇所）を指定すると（図示の「ＳＥＴ」ボタンをクリックする）、図５（ｃ）に示すマスタ画像登録画面２３に切り替わる。そして、オペレータ等は、上記の通りカメラ１を上記指定した検査箇所に対応する撮像ポイントに移動させたうえで、登録画面２３の図示の「シャッタ」ボタンをクリックすることで、上記マスタ画像が撮影される。撮影された撮像画像は登録画面２３上の図示の画像表示領域２３ａに表示される。オペレータ等は、この表示を見て問題ないことを確認したら、図示の「マスタ登録」ボタンをクリックすることで、撮影されたマスタ画像が登録される。また、この撮像ポイントの位置座標も上記の通り記憶される。
【００５３】
そして、再び上記設定画面２２に切り替わり、図５（ｄ）に示すようにこの検査箇所に関して例えば照明設定などの他の設定も行うことで、上記検査箇所に関する設定は完了し、他に検査箇所がある場合には、同様にして、その検査箇所（図では識別番号や名称が表示されている）に対応する「ＳＥＴ」ボタンの操作を行うことで、登録画面２３上でマスタ画像等の登録作業が行われる。そして、例えば図５（ｅ）に示すように全ての検査箇所に関する設定が完了したら、マスタ画像等の登録作業は完了する。
【００５４】
上記のように、ステップＳ１１〜Ｓ１３の処理によるマスタ画像等の登録作業が完了したら、続いて（又は後に）ステップＳ１４〜Ｓ２６のシャッタポイント設定作業を行う。
このシャッタポイント設定作業では、オペレータ等は、まず、外観検査処理装置６において上記設定支援機能を起動して、今度はシャッタポイント設定を選択すると、まず、図６（ａ）に示すシャッタポイント設定メイン画面３１が表示される。オペレータ等はこのメイン画面３１上で所望の設定対象のロボットを指定する。これより、設定対象に関する図６（ｂ）に示すシャッタポイント選択画面３２が表示される（ステップＳ１４）。但し、検査対象に関して未だマスタ画面登録が行われていない場合にはエラー表示等する。
【００５５】
図６（ｂ）に示すように、シャッタポイント選択画面３２には、各検査箇所毎に上記登録したマスタ画像が表示されている。シャッタポイント設定作業によって設定されるシャッタポイントの画像である検査画像は、当然、未だ選択されていないので、図示の通り、何も表示されない。但し、検査画像は、後述する選択を行った画像が正しいか否か（操作ミスなどで間違った画像を選択していないか等）を確認する為に表示するだけであるので、検査画像の表示は必ずしも行わなくても良い。
【００５６】
そして、オペレータ等が、所望の１又は複数の検査箇所を指定すると（指定すべき検査箇所に対応する図示の「ＳＥＴ」ボタンをクリックすると）、シーケンスコントローラ４に対して１サイクル運転を指示する。これにより、ロボット２の上述した１サイクル運転が開始される（ステップＳ１５）。更に、カメラ１による上記連続撮影を開始させる。すなわち、定周期（例えば１６．７ｍｓ（ミリセカンド）毎）の撮影を開始させる（ステップＳ１６）。
【００５７】
そして、ロボット２が移動開始後（ステップＳ１７）は、随時、ロボット２が（カメラ１が）撮像ポイントの位置にきたか否かを判定する（ステップＳ１８）。すなわち、上記の通りロボット制御盤５内のコントローラは、ロボット２の現在位置座標を常時取得して、これが撮像ポイントの位置座標と一致するか否かを判定し、一致する場合には（ステップＳ１８，ＹＥＳ）、上記の通り撮像指令が画像コントローラ７へ出力される（ステップＳ１９）。尚、既に述べた通り、本例では“撮像指令”は従来のように撮像を行うことを指令するものではなく、ステップＳ２０の処理を実行させる為の指令として用いている。
【００５８】
すなわち、上記撮像指令があったタイミングで撮影された画像（そのときに上記画像メモリに格納された画像；最新画像）を撮像トリガ画像とし、この撮像トリガ画像及びその前後に（時間的に前後）撮影された複数毎の画像を画像メモリから抽出して、これらをポイント設定用画像として上記画像メモリとは別のメモリ（例えば記憶装置等）に保存する。勿論、この画像抽出は、上記撮像トリガ画像が撮影された後に更に何枚かの画像が撮影された後に実行されることになる。
【００５９】
そして、上記指定された検査箇所全てについてステップＳ１７〜Ｓ２０の処理を実行したら、ステップＳ２２以降の処理を実行する。
尚、上記ステップＳ１８，Ｓ１９の処理は、外観検査処理装置６が実行するようにしてもよい。この場合には、撮像ポイントの位置座標は外観検査処理装置６内の記憶装置に記憶されており、ロボット制御盤５が取得しているロボット２の現在位置座標をＦＬ−ＮＥＴ９等を介して受信して、上記判定処理等を行うことになる。
【００６０】
ここで、上記の通り、画像メモリは、カメラ１で撮影された画像を順次サイクリックに記憶するリングバッファであり、例えば最大５０枚の画像を記憶可能となっている。よって、５１枚目以降の画像を記憶するときにはそのときに最も古い画像に上書きすることになる。そして、ここでは仮に、ステップＳ２０の処理で、図７に示すように、撮像トリガ画像の直前に撮影された画像７枚、撮像トリガ画像の直後に撮影された画像２枚、そして撮像トリガ画像自体の計１０枚を、画像メモリから抽出して記憶装置等に記憶するものとする。尚、これら抽出画像を記憶装置に記憶する際には、複数枚（ここでは１０枚）の抽出画像のうちのどの画像が撮像トリガ画像であるかを示す情報も一緒に記憶する。
【００６１】
尚、通信タイムラグ等によるタイミングの遅れが主な原因であるので、基本的には撮像トリガ画像の直後の画像は必要ないことになるが、ロボット２が特殊な動き（Ｕターン等）する場合もあるので、上記の通り撮像トリガ画像の直後に撮影された画像も多少は（ここでは２枚程度であり７枚に比べれば少ない）抽出するようにしている。
【００６２】
ここで、本来であれば、撮像トリガ画像が検査に用いるべき画像となるはずである。しかしながら、既に説明した撮像指令出力に係る通信等のタイムラグや、経年によるコンベア等の付帯設備のガタなど、何等かの原因により、例えば図７に示すように、撮像トリガ画像が検査用として不適切な画像となってしまう場合がある。
【００６３】
図７に示す例では、撮像トリガ画像の２コマ前の画像（図示のシャッタポイントの画像）が、検査用として適切な画像であり、上記何等かの原因により２コマ分のズレ（撮像位置ズレというものとする）が生じていることになる。すなわち、実際には図示のシャッタポイントの画像が上記撮像ポイントで撮影された画像であるが、上記の理由により撮像指令を画像コントローラ７が受けたときは、図示の撮像トリガ画像が撮影されたタイミングとなっている。ここでは、１６．７ｍｓ周期で撮影されているので、１６．７×２＝３３．４ｍｓ分、タイミングがズレている（遅れている）ことになる。
【００６４】
ステップＳ１７〜Ｓ２０の処理は、オペレータに上記シャッタポイントの画像の指定を行わせることで、上記撮像位置ズレ量を求めて、これを登録する為の処理である。
すなわち、まず、オペレータ等は、上記ポイント設定用画像を抽出・保存する処理を実行完了後、再びシャッタポイント選択画面３２上で任意の検査箇所を選択すると、図６（ｃ）に示すシャッタポイント登録画面３３が表示される（ステップＳ２２）。この登録画面３３では、上記選択された検査箇所に係るポイント設定用画像（上記一例に応じて１０枚）が表示される。また、この検査箇所に係るマスタ画像も表示される。
【００６５】
オペレータ等は、これらの表示を見て、上記ステップＳ２０で抽出・記憶されたポイント設定用画像（例えば１０枚）のなかでマスタ画像に最も似ている画像を選択する（ステップＳ２３）。すなわち、上記シャッタポイントとする画像をオペレータ等に目視により選択させる。そして、これより、選択された画像（シャッタポイント画像）と撮像トリガ画像とのズレ（上記撮像位置ズレ）を求めて、これを登録する。また、シャッタポイント画像を検査画像として登録する。
【００６６】
尚、どの位置又は画像がどの検査箇所に対応するものであるかは、当然、一般的な既存技術により識別可能となっている（何等かの識別情報を対応付けて記憶する等）。
尚、後述する運用中の処理（ワーク１０の各検査箇所の正常／異常を判定する処理）で当該判定に用いる画像は、マスタ画像を用いるものであるが、この例に限らず、検査画像を用いても良い。
【００６７】
尚、当該シャッタポイント画像選択は、オペレータ等に選択させる例に限らず、外観検査処理装置６が一般的な画像マッチング処理により自動的に行っても良い。
更に、本例では、シャッタポイント登録画面３３上には図６（ｃ）に示すように検査処理方法の選択・入力欄がある。この例では、“１枚処理”、“３枚処理”、“５枚処理”の３つの選択肢の中から１つを、オペレータ等に選択させる（ステップＳ２４）。この選択結果は登録され、後に後述する運用処理の際に参照される。詳しくは後述する。
【００６８】
以上の処理が実行されたら、再びシャッタポイント選択画面３２に切り替わる。この画面３２では、図６（ｄ）に示すように、上記指定された検査箇所に対応する上記検査画像が表示されるので、オペレータ等は、この検査画像をマスタ画像と比較する等して再チェックを行い、選択に間違いがないかを確認する。
【００６９】
オペレータ等は、更に登録すべき検査箇所がある場合には、その検査箇所を指定することで（ステップＳ２５，ＮＯ）、上記ステップＳ２２〜Ｓ２４の処理が実行される。この様にして全ての検査箇所について登録完了した状態では、シャッタポイント選択画面３２は図６（ｅ）に示す状態となる。
【００７０】
尚、ステップＳ２６のロボット２を原位置で停止する処理は、ステップＳ２１がＹＥＳとなった後に行っても良い。
以上説明した設定作業を行った後、運用開始することになる。
【００７１】
運用中は、外観検査処理装置６は、図８の処理を実行する。
図８において、任意のワーク１０に対して検査開始すると、ロボット２を原位置から移動開始し（ステップＳ３１）、ロボット２（そのカメラ１）が上記各検査箇所に到達する毎に（ステップＳ３２，ＹＥＳ）、上記設定時と同様に撮像指令が画像コントローラ７に出力される（ステップＳ３３）。これにより、画像コントローラ７は上記設定時と同様に撮像指令受信時に撮影された画像（撮像トリガ画像）を判別し、この撮像トリガ画像と上記設定時に登録されている撮像位置ズレ量に基づいて、シャッタポイントの画像を判別する（仮に撮像位置ズレ量が２コマ前となっていれば、この撮像トリガ画像の２コマ前の画像をシャッタポイント画像とする）。そして、このシャッタポイント画像を画像メモリから抽出する。更に、上記ステップＳ２４で複数枚（上記の例では３枚又は５枚）が設定されていた場合には、このシャッタポイント画像の前後複数枚の画像も一緒に抽出する（上記の例では前後１枚ずつの計３枚、又は前後２枚ずつの計５枚が抽出されることになる）。そして、抽出した画像（複数枚抽出した場合には、それら各画像）とマスタ画像とを比較する（ステップＳ３４）。
【００７２】
例えば、図９（ａ）には、ステップＳ２４で“５枚”が選択された場合の画像抽出例を示してある。また、この例では、上述した一例の通り、撮像位置ズレ量は“２コマ前”であるものとする。これより、図示の通り、撮像トリガ画像の２コマ前の画像がシャッタポイントの画像と決定され、このシャッタポイント画像及びその前後２枚ずつの計５枚の画像が、画像メモリから抽出されることになる。
【００７３】
抽出される画像（判定用画像という）が１枚の場合には、当然、この１枚の判定用画像と上記マスタ画像とを比較することで正常／異常を判定し、正常と判定された場合には（すなわち、判定用画像がマスタ画像と同等レベルであった場合；尚、この判定方法は従来の一般的な画像マッチング処理により行うものであり、特に説明しない）（ステップＳ３５，ＹＥＳ）、検査結果として“正常”を表示し（ステップＳ３６）、異常と判定された場合には（ステップＳ３５，ＮＯ）、検査結果として“異常”を表示する（ステップＳ３７）。
【００７４】
また、判定用画像が複数枚（図９（ａ）の例では５枚）の場合には、この複数枚の判定用画像それぞれと上記マスタ画像とを比較・判定し、判定用画像のうちの１つでも正常と判定された場合には（ステップＳ３５，ＹＥＳ）、検査結果として“正常”を表示する（ステップＳ３６）。一方、複数枚の判定用画像全てに関して異常と判定された場合には（ステップＳ３５，ＮＯ）、検査結果として“異常”を表示する（ステップＳ３７）。
【００７５】
以上の処理を、全ての検査箇所に関して実行終了したら（ステップＳ３８，ＹＥＳ）、ロボット２を原位置で停止する（ステップＳ３９）。
尚、メモリ容量を非常に少なくした場合、図９（ａ）に示す５枚の画像は、図９（ｂ）に示すように、次の検査箇所の判定の際には消去されているが、問題はない。
【００７６】
以上説明したように、本例の外観検査処理システム、その外観検査処理装置、そのプログラム等によれば、ロボット等によりカメラを移動させ、各検査対象箇所においてもカメラを静止させることなく連続撮影し、連続撮影した複数の画像から良否判定に用いる画像を選択するようにすることで、設備サイクルタイムが短くなり、生産性向上を図ることができる。そして、特に、設定作業の際にユーザ等に目視で任意の画像を選択させるだけで容易にズレ量を求めることができ（あるいは自動的に画像選択してズレ量を求めることができ）、運用時にはこのズレ量を用いて良否判定に用いる画像を適切に選択することができる。
【００７７】
よって、設定が簡単であるので、熟練の技術者を必要としない。また、高精度のロボット・ティーチングが必要になることもない。
更にリングバッファを用いることで、画像記憶の為のメモリ容量が少なくて済む。
【００７８】
更に、運用中に経年劣化等により新たなズレが生じた場合にも対応可能である。すなわち、シャッタポイント画像だけでなくその前後の画像も良否判定に用い、そのうちの１つでもＯＫであれば検査結果ＯＫとしたので、上記新たなズレによってシャッタポイント画像が良否判定に不適切な画像となった場合（多少のズレであればシャッタポイント画像の前後の画像が良否判定に適切な画像となっている可能性が高い）でも、検査対象が正常であるにも係らずＮＧとなってしまう等という、誤判定が生じる可能性は極めて低くでき、信頼性の高いシステムとすることができる。
【００７９】
図１０に、上記外観検査処理装置６（コンピュータ）のハードウェア構成を示す。
図１０に示すコンピュータ５０は、ＣＰＵ５１、メモリ５２、入力部５３、出力部５４、記憶部５５、記録媒体駆動部５６、及びネットワーク接続部５７を有し、これらがバス５８に接続された構成となっている。
【００８０】
ＣＰＵ５１は、当該コンピュータ５０全体を制御する中央処理装置である。
メモリ５２は、任意の処理実行の際に、記憶部５５（あるいは可搬型記録媒体５９）に記憶されているプログラムあるいはデータを一時的に格納するＲＡＭ等のメモリである。ＣＰＵ５１は、メモリ５２に読み出したプログラム／データを用いて、各種処理を実行する。
【００８１】
出力部５４は、例えばディスプレイ等であり、入力部５３は、例えば、キーボード、マウス等である。オペレータ等は、ディスプレイに表示される上記図５や図６の各種画面上での設定を、キーボード、マウス等を操作して行う。
【００８２】
ネットワーク接続部５７は、例えば不図示のネットワークに接続して、他の情報処理装置との通信（コマンド／データ送受信等）を行う為の構成である。
記憶部５５は、例えばハードディスク等であり、上述した図３や図８等に示す各種処理をＣＰＵ５１により実現させる為のアプリケーションプログラムが格納されている。
【００８３】
ＣＰＵ５１は、上記記憶部５５に格納されている各種プログラムを読み出し・実行することにより、上述した図３や図８等に示す各種処理を実現する。
あるいは、上記記憶部５５に格納される各種プログラム／データは、可搬型記録媒体５９に記憶されているものであってもよい。この場合、可搬型記録媒体５９に記憶されているプログラム／データは、記録媒体駆動部５６によって読み出される。可搬型記録媒体５９とは、例えば、ＦＤ（フレキシブル・ディスク）５９ａ、ＣＤ−ＲＯＭ５９ｂ、その他、ＤＶＤ、光磁気ディスク等である。
【００８４】
あるいは、また、上記プログラム／データは、ネットワーク接続部５７により接続しているネットワークを介して、他の装置内に記憶されているものをダウンロードするものであってもよい。あるいは、更に、インターネットを介して、外部の他の装置内に記憶されているものをダウンロードするものであってもよい。
【００８５】
また、本発明は、上記本発明の各種処理をコンピュータ上で実現するプログラムを記録した可搬型記憶媒体として構成できるだけでなく、当該プログラム自体として構成することもできる。
【図面の簡単な説明】
【００８６】
【図１】本例の外観検査システムの全体構成図である。
【図２】図１の外観検査システムの概略的な動作を示す図である。
【図３】設定時の処理フローチャート図である。
【図４】マスタ画像及び撮像ポイントの登録作業の一例を示す図である。
【図５】（ａ）〜（ｅ）はマスタ画像設定に係る各種画面とこの画面上での入力／表示例である。
【図６】（ａ）〜（ｅ）はシャッタポイント設定に係る各種画面とこの画面上での入力／表示例である。
【図７】シャッタポイント設定の意味を説明する為の図である。
【図８】運用時の処理フローチャート図である。
【図９】判定用画像の抽出例である。
【図１０】コンピュータ・ハードウェア構成図である。
【図１１】（ａ）、（ｂ）は従来の外観検査方法を説明する為の図である。
【符号の説明】
【００８７】
１      カメラ
２      ロボット
３      操作盤
４      シーケンスコントローラ
５      ロボット制御盤
６      外観検査処理装置
７      画像コントローラ
８      DeviceNet
９      ＦＬ−ＮＥＴ
１０      ワーク
２１      マスタ画像設定メイン画面
２２      マスタ画像設定画面
２３      マスタ画像登録画面
３１      シャッタポイント設定メイン画面
３２      シャッタポイント選択画面
３３      シャッタポイント登録画面
５０      コンピュータ
５１      ＣＰＵ
５２      メモリ
５３      入力部
５４      出力部
５５      記憶部
５６      記録媒体駆動部
５７      ネットワーク接続部
５８      バス
５９      可搬型記録媒体
５９ａ      ＦＤ（フレキシブル・ディスク）
５９ｂ      ＣＤ−ＲＯＭ
【図１】
2009109440.tif 000003
【図２】
2009109440.tif 000004
【図３】
2009109440.tif 000005
【図４】
2009109440.tif 000006
【図５】
2009109440.tif 000007
【図６】
2009109440.tif 000008
【図７】
2009109440.tif 000009
【図８】
2009109440.tif 000010
【図９】
2009109440.tif 000011
【図１０】
2009109440.tif 000012
【図１１】
2009109440.tif 000013