説明

マスク画像作成システム

【課題】多関節型ロボットにより移動されるカメラの視点に応じて柔軟にマスク画像を作成するとともに、マスク画像を作成する手間を減らすことのできるマスク画像作成システムを提供する。
【解決手段】マスク画像作成システムは、複数の関節を有するアーム21を動作させる多関節型ロボット20と、アーム21に設けられてアーム21の動作により移動されるとともに、ワークWを撮像して実画像を取得するCCDカメラ28と、画像処理装置10とを備える。画像処理装置10は、アーム21の位置及び方向に基づいて、カメラ28の位置及び方向を算出し、ワークWの形状を表す3次元データ、ワークWの位置及び方向、並びにカメラ28の位置及び方向に基づいて、カメラ28によりワークWを撮像したと仮想した場合の仮想画像を取得する。そして、この仮想画像に基づいて、カメラ28により取得される実画像の一部をマスキングするマスク画像を作成する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、画像処理によるワークの外観検査において、撮像して得られる画像の一部をマスキングするためのマスク画像を作成するシステムに関する。
【背景技術】
【0002】
従来、多関節型ロボットのアームにカメラを固定し、アームの動作によりカメラを移動させてワークを撮像するものがある(例えば、特許文献1参照)。
【0003】
また、固定カメラにより撮像して得られる画像に対してマスク画像によりマスキングを行い、検査部分を抽出して良否の判断を行うものがある(例えば、特許文献2参照)。この特許文献2に記載のものでは、外観の良いワークを撮像して得られた画像に基づいて、予めマスク画像を作成している。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2001−88073号公報
【特許文献2】実開平7−23274号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
ところで、特許文献1に記載のものでは、多関節型ロボットのアームの動作により、自由な視点からワークを撮像することができる。その場合に、各視点から撮像して得られる画像に対して、特許文献2に記載のもののように、それぞれマスク画像を用意しようとすると、必要なマスク画像の数が多くなることが避けられない。
【0006】
さらに、撮像して得られた画像をユーザが処理してマスク画像を作成する際には、非常に多くの手間がかかる。このため、未だワークを撮像する視点が明確でなく、検査に用いる画像が定まっていない場合に、その視点を予測してマスク画像を作成しておくことは得策ではない。
【0007】
本発明は、こうした実情に鑑みてなされたものであり、多関節型ロボットにより移動されるカメラの視点に応じて柔軟にマスク画像を作成するとともに、マスク画像を作成する手間を減らすことのできるマスク画像作成システムを提供することを主たる目的とするものである。
【課題を解決するための手段】
【0008】
本発明は、上記課題を解決するために、以下の手段を採用した。
【0009】
第1の発明は、複数の関節を有するアームを動作させる多関節型ロボットと、前記アームに設けられて前記アームの動作により移動されるとともに、ワークを撮像して実画像を取得する実画像取得手段と、前記アームの位置及び方向に基づいて、前記実画像取得手段の位置及び方向を算出する算出手段と、前記ワークの形状を表す3次元データ、前記ワークの位置及び方向、並びに前記算出手段により算出される前記実画像取得手段の位置及び方向に基づいて、前記実画像取得手段により前記ワークを撮像したと仮想した場合の仮想画像を取得する仮想画像取得手段と、前記仮想画像取得手段により取得される前記仮想画像に基づいて、前記実画像取得手段により取得される前記実画像の一部をマスキングするマスク画像を作成するマスク画像作成手段と、を備えることを特徴とするマスク画像作成システム。
【0010】
上記構成によれば、多関節型ロボットにおいて、複数の関節を有するアームが動作される。アームには、ワークを撮像して実画像を取得する実画像取得手段が設けられており、アームの動作により実画像取得手段が移動される。
【0011】
ここで、多関節型ロボットではアームの位置及び方向を正確に把握することが可能であり、アームの位置及び方向に基づいて実画像取得手段の位置及び方向が検出される。そして、ワークの形状を表す3次元データと、ワークの位置及び方向と、実画像取得手段の位置及び方向、すなわちワークを撮像する実画像取得手段の視点とに基づいて、実画像取得手段によりワークを撮像したと仮想した場合の仮想画像が取得される。すなわち、この仮想画像は、実画像取得手段がその現在位置でワークのみを撮像した場合に取得される画像に相当する。
【0012】
さらに、この仮想画像に基づいて、実画像取得手段により取得される実画像の一部をマスキングするマスク画像が作成される。仮想画像では、仮想画像を取得する際の実画像取得手段の位置及び方向、すなわち仮想画像として表されるワークの位置及び方向にかかわらず、外観検査におけるワークの検査部分を予め把握することができる。このため、仮想画像においてワークの検査部分に対応させて、実画像から検査に必要な部分のみを抜き出すためのマスク画像を作成することができる。その結果、実画像取得手段の視点に応じて柔軟にマスク画像を作成するとともに、マスク画像を作成する手間を減らすことができる。
【0013】
具体的には、第2の発明のように、第1の発明において、前記マスク画像作成手段は、前記仮想画像取得手段により取得される前記仮想画像のうち前記ワークの非検査部分を削除した画像を作成し、その画像の背景部分を前記マスク画像のマスク部とするといった構成を採用することができる。
【0014】
すなわち、仮想画像では、外観検査におけるワークの検査部分を予め把握することができるため、その検査部分のみを残してその他の部分(非検査部分)を削除することができる。このため、仮想画像からワークの非検査部分を削除した画像において、その背景部分をマスク画像のマスク部とすることにより、マスク画像を容易に作成することができる。
【0015】
第3の発明では、第1又は第2の発明において、前記ロボットは、前記アームの動作を制御する制御手段を備え、前記算出手段は、前記制御手段から出力される前記アームの位置及び方向を入力し、この入力される前記アームの位置及び方向に基づいて、前記実画像取得手段の位置及び方向を算出することを特徴とする。
【0016】
一般に、多関節型ロボットでは、各関節においてアームの各部の角度が検出され、この各部の角度に基づいて制御手段によりアームの位置及び方向が算出される。そして、制御手段によりアームの動作が制御される。
【0017】
ここで、上記構成によれば、実画像取得手段の位置及び方向を算出するために用いられるアームの位置及び方向が、ロボットのアームの動作を制御する制御手段から算出手段へ入力される。このため、マスク画像作成システムにおいて、アームの位置及び方向を算出するための手段を別途設ける必要がなく、ロボットの備える制御手段を有効に活用することができる。
【0018】
第4の発明では、第1〜第3のいずれかの発明において、前記実画像取得手段により取得される前記実画像に基づいて、前記ワークの位置及び方向を算出するワーク位置算出手段を備え、前記仮想画像取得手段は、前記ワークの形状を表す3次元データ、前記ワーク位置算出手段により算出される前記ワークの位置及び方向、並びに前記算出手段により算出される前記実画像取得手段の位置及び方向に基づいて、前記仮想画像を取得することを特徴とする。
【0019】
第5の発明では、第3の発明において、前記実画像取得手段により取得される前記実画像に基づいて、前記ワークの位置及び方向を算出するワーク位置算出手段を備え、前記制御手段は、前記ワーク位置算出手段により算出される前記ワークの位置及び方向に基づいて、前記アームの位置及び方向を補正するように前記アームを動作させることを特徴とする。
【0020】
一般に、ワークの外観検査においては、ワークを配置する基準位置及び基準方向が設定されている。しかしながら、ワークの実際の位置及び方向が、この基準位置及び基準方向からずれているおそれがある。
【0021】
この点、第4の発明によれば、実画像取得手段により取得される実画像に基づいて、ワークの位置及び方向が算出され、この算出されるワークの位置及び方向に基づいて上記仮想画像が取得(補正)される。また、第5の発明によれば、実画像取得手段により取得される実画像に基づいて、ワークの位置及び方向が算出され、この算出されるワークの位置及び方向に基づいて、アームの位置及び方向が補正されるようにアームが動作される。したがって、ワークの実際の位置及び方向に応じて、正確な仮想画像を取得することができる。その結果、マスク画像を正確に作成することができる。
【0022】
第6の発明では、第4又は第5の発明において、前記仮想画像取得手段は、前記仮想画像を前記ワーク毎に取得し、前記マスク画像作成手段は、前記マスク画像を前記ワーク毎に作成することを特徴とする。
【0023】
また、ワークの実際の位置及び方向が、ワーク毎に異なっているおそれもある。この場合には、ワーク毎にアームの位置及び方向を補正するようにアームを動作させたり、ワーク毎に上記仮想画像を補正したりする必要があり、ひいてはワーク毎にマスク画像を変更する必要がある。
【0024】
この点、上記構成によれば、ワークの位置及び方向が算出されるとともに、仮想画像がワーク毎に取得され、マスク画像がワーク毎に作成される。このため、ワーク毎に実際の位置及び方向が異なっていても、ワーク毎に適切なマスク画像を作成することができる。さらに、この場合であっても、ワーク毎のマスク画像を容易に作成することができるため、マスク画像を作成する手間が増えることを抑制することができる。
【図面の簡単な説明】
【0025】
【図1】外観検査装置の概要を示す斜視図。
【図2】マスク画像作成システムの概要を示すブロック図。
【図3】ワークの実画像を取得する制御の処理手順を示すフローチャート。
【図4】CCDカメラにより撮像されたワークの実画像。
【図5】外観検査の処理手順を示すフローチャート。
【図6】3次元CADの機能により作成されたワークの仮想画像。
【図7】図6の仮想画像から非検査部分を削除した画像。
【図8】図7の画像から作成したマスク画像。
【図9】図4の実画像を図8のマスク画像でマスキングした検査用画像。
【発明を実施するための形態】
【0026】
以下、垂直多関節型ロボットを用いたワークの外観検査装置に具体化した一実施形態について、図面を参照しつつ説明する。本実施形態の外観検査装置は、例えば機械組立工場の組立ラインに設置される。
【0027】
図1は、外観検査装置の概要を示す斜視図である。この外観検査装置は、ベルトコンベアC、ロボット20、ロボット20の制御装置24、CCDカメラ28、画像処理装置10を備えている。
【0028】
ベルトコンベアCは、そのベルト上に載置されたワークW(検査対象物)を、ベルトの駆動により搬送する。ベルト上には、所定の間隔で複数のワークWが載置される。ベルトコンベアCは、ワークWを所定の速度で搬送し、検査位置でワークWを一時停止させる。そして、ワークWの検査が終了した後、次のワークWを検査位置まで移動させる。ベルトコンベアCは、ワークWの検査において上記動作を繰り返し実行する。
【0029】
ベルトコンベアCの近傍には、ロボット20が設置されている。ロボット20は、垂直多関節型のロボット(6軸ロボット)であり、複数の関節を有するアーム21を備えている。ロボット20のアーム21は、その各節の駆動により、位置及び方向(すなわち姿勢)が変更される。アーム21の先端部21a(ハンド部)には、CCDカメラ28が取り付けられている。このため、アーム21の位置及び方向が変更されることにより、CCDカメラ28の位置及び方向が変更される。そして、ベルトコンベアCにより検査位置に搬送されるワークWを、CCDカメラ28(実画像取得手段)により任意の視点から撮像する。
【0030】
ロボット20の制御装置24(制御手段)は、アーム21の現在の位置及び方向と、目標の位置及び方向とに基づいて、アーム21の動作を制御する。そして、ワークWの外観検査において、アーム21の目標の位置及び方向として、検査位置に搬送されるワークWをCCDカメラ28により撮像する際のアーム21の位置及び方向(撮像位置)が入力される。アーム21が撮像位置まで駆動されることにより、CCDカメラ28の視野内にワークWが検査に適した状態で捉えられる。その状態において、CCDカメラ28によりワークWを撮像することにより、ワークWの実画像が取得される。
【0031】
画像処理装置10は、CCDカメラ28からワークWの実画像を入力し、その実画像のうち非検査部分をマスキングするマスク画像を作成する。そして、ワークWの実画像をマスク画像によりマスキングした検査用画像に基づいて、ワークWの外観の良否判定を行う。
【0032】
図2は、上記マスク画像を作成するマスク画像作成システムの概要を示すブロック図である。このマスク画像作成システムは、ロボット20、ロボット20の制御装置24、CCDカメラ28、画像処理装置10を備えている。
【0033】
ロボット20では、アーム21の各関節にサーボモータ22がそれぞれ設けられており、各関節はサーボモータ22によってそれぞれ駆動される。各サーボモータ22は、ロボット20の制御装置24からの制御信号に基づいて駆動される。各関節には、エンコーダ23がそれぞれ設けられており、各関節の位置はエンコーダ23によってそれぞれ検出される。各エンコーダ23の検出信号は、制御装置24に出力される。
【0034】
制御装置24は、周知のロボット制御装置であり、主制御部25と撮像位置記憶部26とを備えている。主制御部25は、各エンコーダ23の検出信号を入力するとともに、各サーボモータ22に制御信号を出力する。そして、各エンコーダ23の検出信号とその目標位置とに基づいて、各サーボモータ22の駆動を制御する。
【0035】
撮像位置記憶部26は、ワークWを撮像する際のアーム21の位置及び方向(撮像位置)をティーチングする際に、その撮像位置を記憶する。ティーチングにおいては、ベルトコンベアCにより検査位置にワークWを搬送して、ベルトコンベアCを停止させる。そして、ワークWをCCDカメラ28の視野内に捉えるとともに、ワークWの検査部分が良好に撮像されるように、ロボット20のアーム21を動作させる。このとき、ティーチングペンダント等によりアーム21を動作させてもよいし、制御装置24にアーム21の目標の位置及び方向(各関節の位置)を送信してアーム21を動作させてもよい。
【0036】
アーム21が撮像位置まで駆動された場合に、主制御部25は各エンコーダ23のその時の検出信号を撮像位置記憶部26に出力する。撮像位置記憶部26は、この出力された検出信号を撮像位置として記憶する。また、その撮像位置においてCCDカメラ28によりワークWを撮像し、得られた画像を画像処理装置10に記憶する。このティーチングは、ワークWの外観検査に先立って行われる。
【0037】
画像処理装置10は、ロボット20の制御装置24の主制御部25と、CCDカメラ28とに接続されている。画像処理装置10は、入出力インターフェース、マイクロコンピュータ、メモリ等を備えて構成されている。画像処理装置10は、制御装置24の主制御部25から、上記撮像位置(各エンコーダ23の検出信号)を入力する。画像処理装置10は、CCDカメラ28に撮像指令を送信するとともに、CCDカメラ28からワークWの実画像を入力する。そして、画像処理装置10は、これらの撮像位置及び実画像に基づいて、ワークWの位置及び方向を算出する。
【0038】
また、画像処理装置10は、3次元CADの機能を備えており、ワークWの形状を表す3次元データを有している。一般に、ワークWの設計はCAD等を用いて行われることから、その設計データからワークWの3次元データを比較的容易に入手することができる。画像処理装置10は、この3次元データに基づいて、ワークWを任意の位置及び方向から見た画像を作成することができる。そして、画像処理装置10は、ワークWの3次元データ、ワークWの位置及び方向、並びに上記撮像位置に基づいて、CCDカメラ28によりワークWを撮像したと仮想した場合の仮想画像を作成する。さらに、画像処理装置10は、この仮想画像に基づいて、ワークWの実画像のうち検査に必要のない部分をマスキングするマスク画像を作成する。
【0039】
図3は、ワークWの外観検査において、ワークWの実画像を取得する制御の処理手順を示すフローチャートである。この一連の処理に先立って、ベルトコンベアCの所定位置に所定の向きで載置されたワークWが、ベルトコンベアCにより検査位置まで搬送されて一時停止される。なお、図3のフローチャートは、1つのワークWの実画像を取得する制御の処理手順を示しており、複数のワークWの外観検査においては各ワークWに対してこの一連の処理が実行される。
【0040】
まず、ロボット20の制御装置24において、主制御部25は撮像位置記憶部26から撮像位置を読み込む(S11)。上述したように、ティーチング時に、ワークWをCCDカメラ28の視野内に捉えるとともに、ワークWの検査部分を良好に撮像することのできるアーム21の位置及び方向が、撮像位置記憶部26に記憶されている。このため、主制御部25は、記憶されたアーム21の位置及び方向、すなわち記憶された各エンコーダ23の検出信号を読み込む。
【0041】
その後、制御装置24の主制御部25は、アーム21の位置及び方向が上記撮像位置となるようにアーム21を駆動する(S12)。具体的には、主制御部25は、各エンコーダ23の検出信号が、撮像位置記憶部26から読み込まれた上記検出信号となるように、各サーボモータ22を駆動する。主制御部25は、アーム21が撮像位置まで駆動されると、画像処理装置10にアーム21の駆動終了信号を送信する。
【0042】
こうしてアーム21を撮像位置まで駆動した後、画像処理装置10は、CCDカメラ28によりワークWを撮像させる(S13)。具体的には、画像処理装置10は、上記駆動終了信号を受信したことに基づいて、CCDカメラ28に撮像指令を送信する。CCDカメラ28は、この撮像指令に基づいてワークWを撮像して実画像を取得する。
【0043】
図4は、CCDカメラ28により撮像されたワークWの実画像である。この実画像に示されるように、ワークWは、円筒状の円筒部a1と、この円筒部a1の端部に側面部が接続された半円筒状の半円筒部a2と、この半円筒部a2に対して円筒部a1とは反対側に接続された矩形状の矩形部a3とを備えている。円筒部a1及び半円筒部a2は一体に形成されており、これらは矩形部a3と別体に形成されている。円筒部a1において半円筒部a2側と反対側の端部には、複数のねじ孔が設けられている。円筒部a1の中心に関して、ねじ孔P1,P2の反対側にはねじ孔P3,P4がそれぞれ設けられている。また、円筒部a1の軸線方向の中間部から内径方向にフランジ部a4が張り出しており、このフランジ部a4にねじ孔部P5,P6が設けられている。ねじ孔部P5,P6は、ねじ孔P1,P2の近傍と、ねじ孔P3,P4の近傍とにそれぞれ設けられている。そして、ワークWにおいて、円筒部a1及びねじ孔部P5,P6が検査部分となっており、その他の部分は非検査部分となっている。
【0044】
図3に戻り、ワークWの実画像を取得した後(S13)、画像処理装置10は、CCDカメラ28により実画像を出力させる(S14)。具体的には、画像処理装置10は、CCDカメラ28に画像出力指令を送信し、CCDカメラ28は、この画像出力指令に基づいて画像処理装置10に実画像を出力する。こうして、この一連の処理を終了する。
【0045】
図5は、上述したマスク画像を作成する処理を含めて、ワークWの外観を検査する制御の処理手順を示すフローチャートである。この一連の処理は、画像処理装置10によって実行される。この一連の処理に先立って、ベルトコンベアCの所定位置に所定の向きで載置されたワークWが、ベルトコンベアCにより検査位置まで搬送されて一時停止される。なお、図5のフローチャートは、1つのワークWの外観を検査する制御の処理手順を示しており、複数のワークWの外観検査においては各ワークWに対してこの一連の処理が実行される。
【0046】
まず、ワークWを撮像する際のアーム21の撮像位置を入力する(S20)。具体的には、ロボット20の制御装置24の主制御部25を通じて、ティーチング時に撮像位置記憶部26に記憶されたアーム21の位置及び方向、すなわち記憶された各エンコーダ23の検出信号を入力する。
【0047】
その後、この撮像位置に基づいてCCDカメラ28の位置及び方向を算出する(S21)。すなわち、アーム21(詳しくはハンド部)とCCDカメラ28との位置関係は予め分かっているため、その位置関係とアーム21の位置及び方向とに基づいて、ロボット20を基準としたCCDカメラ28の位置及び方向を算出する。
【0048】
その後、上述した実画像取得制御において、アーム21の駆動が終了したか否かを判定する(S22)。具体的には、制御装置24の主制御部25からアーム21の駆動終了信号を受信した場合に、アーム21の駆動が終了したと判定し、この駆動終了信号を受信するまではアーム21の駆動が終了していないと判定する。この判定において、アーム21の駆動が終了していないと判定された場合には(S22:NO)、アーム21の駆動が終了するまで待機する。
【0049】
一方、上記判定において、アーム21の駆動が終了したと判定された場合には(S22:YES)、CCDカメラ28からワークWの実画像を入力する(S23)。具体的には、上述したように、上記駆動終了信号を受信したことに基づいて、CCDカメラ28に撮像指令を送信する。CCDカメラ28は、この撮像指令に基づいてワークWを撮像して実画像を取得する。そして、CCDカメラ28に画像出力指令を送信して実画像を出力させ、この実画像を入力する。
【0050】
ワークWの実画像を入力した後、アーム21の現在の撮像位置、ティーチング時の取得画像、及び検査時の上記実画像に基づいて、ワークWの位置及び方向を算出する(S24)。上述したように、画像処理装置10には、ティーチング時のアーム21の撮像位置において、CCDカメラ28によりワークWを撮像して取得された画像が記憶されている。このため、ティーチング時のアーム21の撮像位置と、その撮像位置においてワークWを撮像して取得された画像と、検査時にワークWを撮像して取得された実画像とに基づいて、ベルトコンベアC上に載置されたワークWの位置及び方向を算出する。詳しくは、ティーチング時における撮像位置と、その撮像位置でワークWを撮像して取得された画像とに基づいて、画像上のワークWの位置及び方向を、ロボット20を基準としたワークWの位置及び方向に変換する。例えば、図4に示したねじ孔P1〜P4の位置や、それらの間隔等をパラメータとして、ロボット20を基準としたティーチング時におけるワークWの位置及び方向を算出する。そして、ティーチング時の取得画像と検査時の取得画像とを比較して、ねじ孔P1〜P4の各位置の相違や、それらの各間隔の相違に基づいて、ロボット20を基準とした検査時におけるワークWの位置及び方向を算出する。
【0051】
その後、上記算出されたCCDカメラ28の位置及び方向と、上記算出されたワークWの位置及び方向と、ワークWの形状を表す3次元データとに基づいて、CCDカメラ28によりワークWを撮像したと仮想した場合の仮想画像を取得する(S25)。上述したように、画像処理装置10は、3次元CADの機能を備えており、ワークWの形状を表す3次元データを有している。そこで、ワークWに対応する3次元データを読み込み、上述のステップ24で得られたワークWの位置及び方向をベースに、仮想空間内に仮想ワークを作り出す。そして、その仮想空間内のロボットベース座標(ロボット20を基準とした座標)を基準に、保有しているロボット情報(アーム21の長さ、CCDカメラ28のアーム21の先端部21aからのオフセット量、ワークWを撮像したときの先端部21aの座標)から仮想CCDカメラを作り出し、その仮想CCDカメラから撮像された仮想画像を作成する。
【0052】
図6は、このようにして画像処理装置10の3次元CADの機能により作成されたワークWの仮想画像である。この仮想画像に示されるように、ワークWは、図4に示した実画像と同様の構成を備えている。ただし、仮想画像のワークWでは、矩形部a3を備えていない点で実画像のワークWと相違しており、その他の点は実画像のワークWと同一になっている。すなわち、ワークWの3次元データとしては、一体に形成された円筒部a1及び半円筒部a2が設定されており、これらと別体に形成された矩形部a3は設定されていない。
【0053】
図5に戻り、仮想画像を取得した後(S25)、この仮想画像のうちワークWの非検査部分を削除する(S26)。すなわち、ワークWの検査部分は予め決まっているため、ワークWの3次元データのうち検査部分に対応する要素を検出する。そして、仮想画像において、検査部分に対応する要素の画像を残し、検査部分に対応しない要素の画像を削除する。上述したように、ワークWにおいて、円筒部a1及びねじ孔部P5,P6が検査部分となっており、その他の部分は非検査部分となっている。このため、仮想画像において、円筒部a1及びねじ孔部P5,P6の画像を残し、半円筒部a2及びフランジ部a4の画像を削除する。
【0054】
図7は、図6の仮想画像から非検査部分を削除した画像である。同図に示すように、この画像では、円筒部a1とねじ孔部P5,P6のみが、検査部分として表示されている。すなわち、ワークWの仮想画像のうち、検査に必要な部分の画像のみが抽出されている。
【0055】
図5に戻り、仮想画像からワークWの非検査部分を削除した画像を取得した後(S26)、その画像においてワークWに対応する部分と背景部分とを反転させてマスク画像を作成する(S27)。すなわち、仮想画像からワークWの非検査部分を削除した画像において、背景部分をマスク画像のマスク部とし、その他の部分(円筒部a1とねじ孔部P5,P6)をマスク画像の非マスク部とする。
【0056】
図8は、図7の画像に基づいて作成したマスク画像である。このマスク画像において、ハッチング部分がマスク部mであり、白抜き部分が非マスク部maである。すなわち、このマスク画像を他の画像の上に重ねた場合、マスク部mと重なる部分の画像が覆われ、非マスク部maと重なる部分の画像が透過される。
【0057】
図5に戻り、マスク画像を作成した後(S27)、このマスク画像によりワークWの実画像をマスキングする(S28)。すなわち、ワークWの実画像の上にマスク画像を重ね合わせる。このとき、実画像とマスク画像とで、対応する部分同士の位置が一致することとなる。なお、実画像とマスク画像とで対応する部分同士の位置にずれがある場合には、ワークWの所定部分(例えば、ねじ孔P1〜P4)の位置を基準として、その位置が互いに一致するように実画像とマスク画像とを重ね合わせてもよい。
【0058】
図9は、図4の実画像を図8のマスク画像でマスキングした検査用画像である。この検査用画像では、実画像のうち検査に必要な部分(円筒部a1とねじ孔部P5,P6)が抜き出され、その他の部分がマスク部mによってマスキングされている。
【0059】
図5に戻り、実画像をマスク画像でマスキングした検査用画像に基づいて、ワークWの外観の良否判定を行う(S29)。具体的には、検査部分の輝度データと対応する標準の輝度データとを比較して、それらの相違が所定範囲内であるか否かにより外観の良否判定を行う。こうして、この一連の処理を終了する。
【0060】
なお、S21の処理が実画像取得手段の位置及び方向を算出する算出手段としての処理に相当し、S23,24の処理がワーク位置算出手段としての処理に相当し、S25の処理が仮想画像取得手段としての処理に相当し、S26,27の処理がマスク画像作成手段としての処理に相当する。
【0061】
以上詳述した本実施形態は以下の利点を有する。
【0062】
・多関節型のロボット20ではアーム21の位置及び方向を正確に把握することが可能であり、アーム21の位置及び方向に基づいてCCDカメラ28の位置及び方向が検出される。そして、ワークWの形状を表す3次元データと、ワークWの位置及び方向と、CCDカメラ28の位置及び方向、すなわちワークWを撮像するCCDカメラ28の視点とに基づいて、CCDカメラ28によりワークWを撮像したと仮想した場合の仮想画像が取得される。すなわち、この仮想画像は、CCDカメラ28がその現在位置でワークWのみを撮像した場合に取得される画像に相当する。
【0063】
さらに、この仮想画像に基づいて、CCDカメラ28により取得される実画像の一部をマスキングするマスク画像が作成される。仮想画像では、仮想画像を取得する際のCCDカメラ28の位置及び方向、すなわち仮想画像として表されるワークWの位置及び方向にかかわらず、外観検査におけるワークWの検査部分を予め把握することができる。このため、仮想画像においてワークWの検査部分に対応させて、実画像から検査に必要な部分のみを抜き出すためのマスク画像を作成することができる。その結果、CCDカメラ28の視点に応じて柔軟にマスク画像を作成するとともに、マスク画像を作成する手間を減らすことができる。
【0064】
・仮想画像では、外観検査におけるワークWの検査部分を予め把握することができるため、その検査部分のみを残してその他の部分(非検査部分)を削除することができる。このため、仮想画像からワークWの非検査部分を削除した画像において、その背景部分をマスク画像のマスク部mとすることにより、マスク画像を容易に作成することができる。
【0065】
・CCDカメラ28の位置及び方向を算出するために用いられるアーム21の位置及び方向が、ロボットのアーム21の動作を制御する制御装置24から画像処理装置10へ入力される。このため、マスク画像作成システムにおいて、アーム21の位置及び方向を算出するための手段を別途設ける必要がなく、ロボット20の備える制御装置24を有効に活用することができる。
【0066】
・CCDカメラ28により取得される実画像に基づいてワークWの位置及び方向が算出され、この算出されるワークWの位置及び方向に基づいて上記仮想画像が取得される。したがって、ワークWの実際の位置及び方向に応じて、正確な仮想画像を取得することができる。その結果、マスク画像を正確に作成することができる。
【0067】
・ワークWの位置及び方向が算出されるとともに、仮想画像がワークW毎に取得され、マスク画像がワークW毎に作成される。このため、ワークW毎に実際の位置及び方向が異なっていても、ワークW毎に適切なマスク画像を作成することができる。さらに、この場合であっても、ワークW毎のマスク画像を容易に作成することができるため、マスク画像を作成する手間が増えることを抑制することができる。
【0068】
・アーム21(詳しくはハンド部)及びCCDカメラ28の位置関係と、アーム21の位置及び方向とに基づいて、CCDカメラ28の位置及び方向が算出される。このとき、ロボット20では、アーム21の位置及び方向を正確に制御することができるため、CCDカメラ28の位置及び方向を正確に算出することができる。ひいては、正確な仮想画像及びマスク画像を作成することができる。
【0069】
上記実施形態に限定されず、例えば次のように実施することもできる。
【0070】
・上記実施形態では、画像処理装置10は、仮想画像をワークW毎に取得し、マスク画像をワークW毎に作成するようにしたが、ワークWの位置及び方向が毎回同じであれば、1つのワークWについて作成したマスク画像を他のワークWの外観検査で用いてもよい。その場合には、ワークWの位置及び方向を算出する処理を省略してもよい。
【0071】
また、ティーチング時に、アーム21の撮像位置を記憶するとともに、その時のワークWの位置及び方向に応じたマスク画像を作成しておき、そのマスク画像をワークWの外観検査で用いるようにしてもよい。詳しくは、CCDカメラ28における焦点距離Lはカメラキャリブレーションが済んでいるはずなので取得されており、そこで、やや撮像位置をずらした点でもう1枚撮像することで、ステレオ法により、ワークWの位置(座標)をベース座標系(ロボット20を基準とした座標系)の座標として取得する。ワークWの方向(向き)は、撮像した画像そのものから取得する。そして、アーム21の撮像位置並びにワークWの位置及び方向に基づいてワークWの仮想画像を取得し、この仮想画像に基づいてマスク画像を作成する。
【0072】
・上記実施形態では、画像処理装置10は、1つのワークWに対してマスク画像を1つ作成したが、ワークWの検査部分が複数ある場合や、ワークWを複数の視点から撮像して検査を行う場合には、それに応じて1つのワークWに対して複数のマスク画像を作成するとよい。また、ベルトコンベアCにより、複数種類のワークが搬送される場合であっても、各ワークの形状を表す3次元データを容易しておくことにより、ワークの種類に応じたマスク画像を作成することができる。
【0073】
・上記実施形態では、ワークWの形状を表す3次元データ、算出されたワークWの位置及び方向、並びにCCDカメラ28の位置及び方向に基づいて、仮想画像を取得するようにした。しかしながら、算出されたワークWの位置及び方向に基づいて、アーム21の位置及び方向を補正するようにアーム21を動作させてもよい。すなわち、ティーチング時と同様の実画像が取得されるように、制御装置24によりアーム21を動作させる。こうした構成によっても、ワークWの実際の位置及び方向に応じて、正確な仮想画像を取得することができる。その結果、マスク画像を正確に作成することができる。
【0074】
・上記実施形態では、画像処理装置10は、アーム21の動作を制御する制御装置24からアーム21の位置及び方向を入力するようにしたが、アーム21の位置及び方向を算出するための手段を別途設けた構成を採用することもできる。
【0075】
・上記実施形態では、仮想画像のうちワークWの非検査部分を削除した画像を作成し、その画像の背景部分をマスク画像のマスク部mとしたが、仮想画像のうちワークW以外の部分をマスク画像のマスク部としてもよい。このようなマスク画像であっても、実画像からワークWのみを抜き出すことができる。
【0076】
・CCDカメラ28に限らず、その他の撮像装置を採用することもできる。
【0077】
・垂直多関節型の6軸ロボットに限らず、それ以外の軸数や型式のロボットを採用することもできる。
【符号の説明】
【0078】
10…画像処理装置、20…ロボット、21…アーム、24…制御装置(制御手段)、28…CCDカメラ(実画像取得手段)。

【特許請求の範囲】
【請求項1】
複数の関節を有するアームを動作させる多関節型ロボットと、
前記アームに設けられて前記アームの動作により移動されるとともに、ワークを撮像して実画像を取得する実画像取得手段と、
前記アームの位置及び方向に基づいて、前記実画像取得手段の位置及び方向を算出する算出手段と、
前記ワークの形状を表す3次元データ、前記ワークの位置及び方向、並びに前記算出手段により算出される前記実画像取得手段の位置及び方向に基づいて、前記実画像取得手段により前記ワークを撮像したと仮想した場合の仮想画像を取得する仮想画像取得手段と、
前記仮想画像取得手段により取得される前記仮想画像に基づいて、前記実画像取得手段により取得される前記実画像の一部をマスキングするマスク画像を作成するマスク画像作成手段と、
を備えることを特徴とするマスク画像作成システム。
【請求項2】
前記マスク画像作成手段は、前記仮想画像取得手段により取得される前記仮想画像のうち前記ワークの非検査部分を削除した画像を作成し、その画像の背景部分を前記マスク画像のマスク部とすることを特徴とする請求項1に記載のマスク画像作成システム。
【請求項3】
前記ロボットは、前記アームの動作を制御する制御手段を備え、
前記算出手段は、前記制御手段から出力される前記アームの位置及び方向を入力し、この入力される前記アームの位置及び方向に基づいて、前記実画像取得手段の位置及び方向を算出することを特徴とする請求項1又は2に記載のマスク画像作成システム。
【請求項4】
前記実画像取得手段により取得される前記実画像に基づいて、前記ワークの位置及び方向を算出するワーク位置算出手段を備え、
前記仮想画像取得手段は、前記ワークの形状を表す3次元データ、前記ワーク位置算出手段により算出される前記ワークの位置及び方向、並びに前記算出手段により算出される前記実画像取得手段の位置及び方向に基づいて、前記仮想画像を取得することを特徴とする請求項1〜3のいずれか1項に記載のマスク画像作成システム。
【請求項5】
前記実画像取得手段により取得される前記実画像に基づいて、前記ワークの位置及び方向を算出するワーク位置算出手段を備え、
前記制御手段は、前記ワーク位置算出手段により算出される前記ワークの位置及び方向に基づいて、前記アームの位置及び方向を補正するように前記アームを動作させることを特徴とする請求項3に記載のマスク画像作成システム。
【請求項6】
前記仮想画像取得手段は、前記仮想画像を前記ワーク毎に取得し、
前記マスク画像作成手段は、前記マスク画像を前記ワーク毎に作成することを特徴とする請求項4又は5に記載のマスク画像作成システム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図4】
image rotate

【図8】
image rotate

【図9】
image rotate


【公開番号】特開2012−22600(P2012−22600A)
【公開日】平成24年2月2日(2012.2.2)
【国際特許分類】
【出願番号】特願2010−161496(P2010−161496)
【出願日】平成22年7月16日(2010.7.16)
【出願人】(501428545)株式会社デンソーウェーブ (1,155)
【出願人】(390001052)一般財団法人機械振興協会 (21)
【Fターム(参考)】