IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 日立金属株式会社の特許一覧

特許7494652外観検査準備装置および外観検査準備方法
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-05-27
(45)【発行日】2024-06-04
(54)【発明の名称】外観検査準備装置および外観検査準備方法
(51)【国際特許分類】
   G01N 21/88 20060101AFI20240528BHJP
【FI】
G01N21/88 J
【請求項の数】 9
(21)【出願番号】P 2020141698
(22)【出願日】2020-08-25
(65)【公開番号】P2022037516
(43)【公開日】2022-03-09
【審査請求日】2023-07-19
(73)【特許権者】
【識別番号】000005083
【氏名又は名称】株式会社プロテリアル
(74)【代理人】
【識別番号】110001807
【氏名又は名称】弁理士法人磯野国際特許商標事務所
(72)【発明者】
【氏名】村松 克俊
(72)【発明者】
【氏名】中須 信昭
(72)【発明者】
【氏名】榎本 敦子
(72)【発明者】
【氏名】山内 雄太
(72)【発明者】
【氏名】西 雄一
(72)【発明者】
【氏名】染次 孝博
(72)【発明者】
【氏名】園田 真志
(72)【発明者】
【氏名】西村 崇善
【審査官】横尾 雅一
(56)【参考文献】
【文献】特開2015-135253(JP,A)
【文献】特開2019-109563(JP,A)
【文献】特開2020-106295(JP,A)
【文献】特開2020-051806(JP,A)
【文献】特開2019-045330(JP,A)
【文献】特表2012-514193(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G01N 21/84 - G01N 21/958
G06T 1/00
G06T 3/00 - G06T 5/94
G01B 11/00 - G01B 11/30
(57)【特許請求の範囲】
【請求項1】
製品に係る複数の不良品の欠陥の位置を取得する取得手段と、
前記欠陥の位置に基づき、前記欠陥を検査するロボットの検査条件であるカメラによる撮像方向および照明による照明方向を出力する検査条件算出手段と、
前記検査条件および前記製品の形状データをもとに、前記検査条件の撮像方向を満たすように前記カメラを駆動するマニピュレータの関節角度、および前記検査条件の照明方向を満たすように前記照明を駆動するマニピュレータの関節角度の組み合わせである検査ポイント列を算出する検査ポイント列算出手段と、
を有することを特徴とする外観検査準備装置。
【請求項2】
製品に係る複数の不良品の欠陥の位置を取得する取得手段と、
前記欠陥の位置に基づき、前記欠陥を検査するロボットの検査条件であるカメラによる撮像方向および照明による照明方向を出力する検査条件算出手段と、
前記検査条件および前記製品の形状データをもとに、固定したカメラに対して、前記検査条件の撮像方向を満たすように前記製品を把持するマニピュレータの関節角度、および前記検査条件の照明方向を満たすように前記照明を駆動するマニピュレータの関節角度の組み合わせである検査ポイント列を算出する検査ポイント列算出手段と、
を有することを特徴とする外観検査準備装置。
【請求項3】
製品に係る複数の不良品の欠陥の位置を取得する取得手段と、
前記欠陥の位置に基づき、前記欠陥を検査するロボットの検査条件であるカメラによる撮像方向および照明による照明方向を出力する検査条件算出手段と、
前記検査条件および前記製品の形状データをもとに、固定した照明に対して、前記検査条件の照明方向を満たすように前記製品を把持するマニピュレータの関節角度、および前記検査条件の撮像方向を満たすように前記カメラを駆動するマニピュレータの関節角度の組み合わせである検査ポイント列を算出する検査ポイント列算出手段と、
を有することを特徴とする外観検査準備装置。
【請求項4】
前記検査条件算出手段は、欠陥の輝度の閾値を、欠陥の検査可否の境界における輝度として設定する、
ことを特徴とする請求項1から3のうち何れか1項に記載の外観検査準備装置。
【請求項5】
前記検査条件算出手段は、前記欠陥を検査可能な条件の積集合を前記検査条件として算出する、
ことを特徴とする請求項1から3のうち何れか1項に記載の外観検査準備装置。
【請求項6】
前記検査ポイント列算出手段は、前記製品を包含する球上の検査ポイントのうち前記検査条件に合致するものを算出する、
ことを特徴とする請求項1から3のうち何れか1項に記載の外観検査準備装置。
【請求項7】
前記検査ポイント列算出手段は、前記製品を包含する球上の検査ポイントのうち前記マニピュレータが前記製品の検査可能ファセットを遮蔽しないものを抽出する、
ことを特徴とする請求項6に記載の外観検査準備装置。
【請求項8】
前記検査ポイント列算出手段は、前記製品の形状データを構成するファセットのうち、前記検査条件を満たす撮像方向および照明方向から検査可能な集合を作成し、最少の姿勢変換コストで前記集合を検査可能な検査ポイント列を算出する、
ことを特徴とする請求項1から3のうち何れか1項に記載の外観検査準備装置。
【請求項9】
製品に係る複数の不良品の欠陥の位置を取得するステップと、
前記欠陥の位置に基づき、前記欠陥を検査するロボットの検査条件であるカメラによる撮像方向および照明による照明方向を出力するステップと、
前記検査条件をおよび前記製品の形状データをもとに、前記検査条件の撮像方向を満たすように前記カメラを駆動するマニピュレータの関節角度、および前記検査条件の照明方向を満たすように前記照明を駆動するマニピュレータの関節角度の組み合わせである検査ポイント列を算出するステップと、
を有することを特徴とする外観検査準備方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、製品の外観検査前に検査条件を設定するための外観検査準備装置および外観検査準備方法に関する。
【背景技術】
【0002】
製造ラインにおける製品表面のキズや欠けなどを検査する外観検査は、多くの人手に頼っており、高いスキルが必要な熟練作業となっている。近年、生産年齢人口の減少を背景に、人手不足が深刻化しており、外観検査の自動化が望まれている。
【0003】
このような背景のもと、外観検査の自動化技術に関連して、例えば特許文献1に開示されるように、多関節ロボットを用いて製品に対するカメラや照明の位置を様々に変え、製品表面に所定方向から照明を施し、製品表面の反射光を撮影する外観検査装置や、撮影した画像において輝度やコントラスト、色彩などが周囲と明確に異なる領域を欠陥として検出する技術が提案されている。
【先行技術文献】
【特許文献】
【0004】
【文献】特開2007-248241号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
一般的に、外観検査において欠陥を精度よく検出するためには、欠陥とその近傍のコントラストが良い画像を得られるよう、製品の表面の向きや対象とする欠陥に応じて撮像方向や照明方向を適切に調整する必要がある。
【0006】
これに関し、特許文献1では、欠陥が検査しやすくなる撮像方向と照明方向の条件である検査条件をもとに、製品全面を撮影するカメラや照明の位置および姿勢である検査ポイントを複数決める技術が開示されている。特許文献1に開示の技術では、検査条件は自動的に決定されず、ユーザによって決定される。
【0007】
代表的な検査条件の決定手法として、製品を撮影した画像において、欠陥の輝度が一定以上となる範囲に対して撮像方向・照明方向が満たす条件を検査条件とする明視野法がある。検査条件の撮像方向や照明方向などを満たすようにカメラや照明などを駆動するマニピュレータの関節角度の組み合わせである検査ポイント列を生成して、製品の外観検査を準備する。この検査ポイント列により、製品の外観検査を好適に実施可能である。
【0008】
明視野法を用いて検査条件を決める際、欠陥を検査可能と判定する輝度の閾値は、製品が明確に明るく写る箇所における輝度が用いられることが多い。その場合、1枚の撮影画像において、検査条件を満たす範囲は、欠陥の検査可否の境界における輝度を閾値とした場合に比べ狭くなる。つまり、製品全面検査に必要な撮影回数が増えて、検査時間が長くなる。検査時間や撮影回数は、検査に係るコストである。検査時間は、より短いことが望ましい。撮影回数は、より少ないことが望ましい。
【0009】
本発明は以上の問題に着目してなされたものであり、最少の検査コストで製品を検査可能な検査ポイント列を生成することを目的とする。
【課題を解決するための手段】
【0010】
前記した課題を解決するため、本発明の外観検査準備装置は、製品に係る複数の不良品の欠陥の位置を取得する取得手段と、前記欠陥の位置に基づき、前記欠陥を検査するロボットの検査条件であるカメラによる撮像方向および照明による照明方向を出力する検査条件算出手段と、前記検査条件および前記製品の形状データをもとに、前記検査条件の撮像方向を満たすように前記カメラを駆動するマニピュレータの関節角度、および前記検査条件の照明方向を満たすように前記照明を駆動するマニピュレータの関節角度の組み合わせである検査ポイント列を算出する検査ポイント列算出手段と、を有することを特徴とする。
【0011】
本発明の外観検査準備方法は、製品に係る複数の不良品の欠陥の位置を取得するステップと、前記欠陥の位置に基づき、前記欠陥を検査するロボットの検査条件であるカメラによる撮像方向および照明による照明方向を出力するステップと、前記検査条件および前記製品の形状データをもとに、前記検査条件の撮像方向を満たすように前記カメラを駆動するマニピュレータの関節角度、および前記検査条件の照明方向を満たすように前記照明を駆動するマニピュレータの関節角度の組み合わせである検査ポイント列を算出するステップと、を有することを特徴とする。
その他の手段については、発明を実施するための形態のなかで説明する。
【発明の効果】
【0012】
本発明によれば、最少の検査コストで製品を検査可能な検査ポイント列を生成することができる。
【図面の簡単な説明】
【0013】
図1】本発明の一実施形態に係る外観検査準備システムの構成例を示す図である。
図2】欠陥を撮影する撮影装置の装置構成の一例を示す図である。
図3】不良品情報テーブルの一例を示す図である。
図4】ユーザインタフェース装置における表示操作画面の一例を示す図である。
図5】検査条件算出装置において不良品の位置・姿勢をもとに製品を撮影し、検査条件を求める処理を示すフローチャートである。
図6A】撮像方向の角度と照明方向の角度の組み合わせを示す図である。
図6B】次の撮像方向の角度と照明方向の角度の組み合わせを示す図である。
図7A】不良品Aの検査条件を説明する図である。
図7B】不良品Bの検査条件を説明する図である。
図7C】検査条件の積集合を説明する図である。
図8】撮影装置における準運動学を表す図である。
図9A】検査ポイント算出装置において、検査条件をもとに検査ポイントを最適化する処理を示すフローチャート(その1)である。
図9B】検査ポイント算出装置において、検査条件をもとに検査ポイントを最適化する処理を示すフローチャート(その2)である。
図10】検査ポイント算出装置において、検査ポイントに係る姿勢を決める処理におけるパラメータおよびその検査ポイントにおけるカメラ姿勢を説明する図である。
図11】検査ポイント算出装置において、撮像方向と照明方向を説明する図である。
図12A】第0検査ポイントから検査可能な領域を説明する図である。
図12B】第1検査ポイントから検査可能な領域を説明する図である。
図12C】第2検査ポイントから検査可能な領域を説明する図である。
図12D】2つの検査ポイントから検査可能な領域の論理和を説明する図である。
【発明を実施するための形態】
【0014】
以降、本発明を実施するための形態を、各図を参照して詳細に説明する。
図1は、本発明の一実施形態に係る外観検査準備システム1の構成例を示す図である。
外観検査準備システム1は、ユーザインタフェース装置11と、検査条件算出装置12と、検査ポイント列算出装置13と、撮影装置14と、記憶装置15とを備えている。この外観検査準備システム1は、最少の検査コストで製品の全面を検査可能な検査ポイント列を生成する。ここで検査コストとは、検査時間や撮影回数やマニピュレータの姿勢変換のコストなどである。
【0015】
図2は、欠陥を撮影する撮影装置14の装置構成の一例を示す図である。
撮影装置14は、カメラ141をマニピュレータ143で把持して撮像方向を変え、照明142をマニピュレータ144で把持して照明方向を変えて、検査ステージ145に静置した製品5を撮影できる装置である。
【0016】
カメラ141は、検査ステージ145に静置した製品5の光学像を撮影する装置である。マニピュレータ143は、カメラ141を把持して撮像方向を変えるものである。照明142は、製品5に可視光などを照射するものである。マニピュレータ144は、この照明142を把持して照明方向を変えるものである。
【0017】
図1に戻り説明を続ける。検査条件算出装置12は、パーソナルコンピュータなどの公知要素から構成され、検査条件算出部121を備える。検査条件算出部121は、ロボットの各姿勢と、予め入力された欠陥位置に基づき、撮影装置14を用いて様々な撮像条件・照明条件下で不良品の欠陥を撮影する。そして、検査条件算出部121は、撮影によって得られた画像から欠陥が検査可能となる撮像条件および照明条件を算出する。つまり、検査条件算出装置12は、不良品の欠陥の位置に基づき、この欠陥を検査するロボットの検査条件であるカメラによる撮像方向および照明による照明方向を出力する検査条件算出手段として機能する。
【0018】
検査ポイント列算出装置13は、パーソナルコンピュータなどの公知要素から構成されている。検査ポイント列算出装置13は、製品形状および検査条件をもとに、製品5の全面を最少回数で撮影するための検査ポイント列を算出する。検査ポイント列算出装置13は、検査条件および製品の形状データをもとに、検査条件の撮像方向を満たすようにカメラ141を駆動するマニピュレータの関節角度、および検査条件の照明方向を満たすように照明142を駆動するマニピュレータの関節角度の組み合わせである検査ポイント列を算出する検査ポイント列算出手段として機能する。
【0019】
記憶装置15は、ハードディスクドライブやソリッドステートドライブなどの公知の大容量記憶装置によって構成される。記憶装置15は、検査対象記憶部151、不良品情報記憶部152、検査条件記憶部153、検査ポイント列記憶部154を備える。
【0020】
検査対象記憶部151には、製品番号に紐づけられた製品形状データが格納されている。製品形状データは、例えば、STL(Stereolithography)等の公知のフォーマットにて定義される。
【0021】
不良品情報記憶部152は、後記する図3に示す不良品情報テーブル1521に記載の情報を記憶する部分であり、不良品を識別するための個体番号情報と、不良品に係る製品番号情報と、この不良品にて発見された欠陥の位置などを記憶する。
【0022】
図3は、不良品情報テーブル1521の一例を示す図である。
不良品情報テーブル1521は、不良品の個体番号欄と、製品番号欄と、欠陥位置・姿勢情報欄を有する。
不良品個体番号欄は、不良品を特定するための識別番号を格納する欄である。
製品番号欄は、製品の版数などを特定するための製品番号を格納する欄である。
欠陥位置・姿勢情報欄は、不良品における欠陥の3次元的な位置・姿勢情報である。この欄に格納される情報は、位置を表す3次元ベクトルとその時のロール・ピッチ・ヨーなどで表される姿勢の組や、アフィン変換に用いられる拡大行列として表現される。
【0023】
図1に戻り説明を続ける。検査条件記憶部153は、欠陥が検出可能になるときの撮像方向や照明方向の条件を記憶する。
検査ポイント列記憶部154には、製品5に対するカメラ141および照明142の位置・姿勢の集合である検査ポイント列集合が、製品番号に紐づけて格納されている。カメラ141および照明142の位置および姿勢は、位置を表す3次元ベクトルとロール・ピッチ・ヨーなどで表される姿勢を組にしたものや、アフィン変換に用いられる拡大行列として表現される。
【0024】
図4は、ユーザインタフェース装置11における表示操作画面6の一例を示す図である。
ユーザインタフェース装置11は、検査対象入力部111、欠陥位置入力部112、検査条件表示部113、検査ポイント表示部114を含んだ表示操作画面6を表示する。
【0025】
検査対象入力部111は、検査対象の製品情報を入力する部位であり、表示操作画面6のペイン(Pane)として表示される。ここでペインとは、画面を複数の表示領域に分割して使用する表示方式における、分割された個々の表示領域のことである。検査対象入力部111には、不良品個体番号テキストボックス1111と、製品番号テキストボックス1112とが表示されている。不良品個体番号テキストボックス1111には、“A-000001”が入力されている。製品番号テキストボックス1112には、“p00001”が入力されている。ここで入力された情報は、図3に示す不良品情報テーブル1521に格納される。
【0026】
欠陥位置入力部112は、不良品の欠陥の位置を入力する部位である。操作者が欠陥位置入力部112に表示された製品モデルの表面の何れかをクリックすることで、この製品において頻出する欠陥の位置を指定することができる。
【0027】
検査条件表示部113は、検査条件をグラフに表示する部位である。このグラフの縦軸は撮像方向を示し、横軸は照明方向を示している。
【0028】
検査ポイント表示部114には、検査ポイントの位置1141~1144がコンピュータグラフィックの製品画像の周囲に表示される。検査ポイント表示部114は、これら検査ポイントの位置1141~1144を生成する。また、検査ポイント表示部114は、ユーザが検査ポイントの位置1141~1144の何れかをクリックする操作により、対応する検査ポイントから検査可能な製品表面領域を、この製品画像上に重畳表示する。ここでは位置1141がユーザによってクリックされているので、位置1141の検査ポイントから検査可能な製品表面領域が、濃いハッチングによって表示されている。
【0029】
図5は、検査条件算出装置12において不良品の位置・姿勢をもとに製品5を撮影し、検査条件を求める処理を示すフローチャートである。
検査条件算出部121は、ステップS10~S18における処理を、全ての不良品について繰り返す。これら不良品には、製品について発生する欠陥が含まれている。
【0030】
ステップS11において、検査条件算出部121は、この不良品の製品番号jと不良品個体番号i、欠陥の位置・姿勢情報Aを、不良品情報記憶部152から取得する。検査条件算出部121は、製品に係る複数の不良品の欠陥の位置を取得する取得手段として機能する。
検査条件算出部121は、ステップS12~S16における処理を、撮像方向と欠陥の法線の成す角度αを0度から+90度まで刻み幅Δαとして独立して動かし、照明方向と欠陥の法線の成す角度βを0度から+90度まで刻み幅Δβとして独立して動かす。つまり検査条件算出部121は、これら撮像方向と照明方向の全ての組み合わせについて処理を繰り返す。ここで欠陥の法線とは、製品をポリゴン(多面体)で表したとき、この欠陥を含むファセット(面)の法線のことをいう。
【0031】
図6Aは、撮像方向の角度αと、照明方向の角度βとの組み合わせを示す図である。
ファセット51は、製品を多面体で表したときのファセット(面)であり、かつ欠陥位置のファセットでもある。法線npは、このファセット51の法線であり、かつ欠陥の法線でもある。
【0032】
ファセット51からカメラ141へのベクトルは、撮像方向である。ここでは各撮像方向を、カメラ141へのベクトルで示している。実線で示したカメラ141は、現在の撮像方向を示している。破線で示したカメラ141は、過去または将来の撮像方向を示している。法線npと現在の撮像方向とが成す角度は、αである。撮像方向の角度の刻み幅は、Δαである。検査条件算出部121は、撮像方向と欠陥の法線の成す角度αを0度から+90度まで刻み幅Δαとして動かす。
【0033】
ファセット51から照明142へのベクトルは、照明方向である。ここでは各照明方向を、照明142へのベクトルで示している。実線で示した照明142は、現在の照明方向を示している。破線で示した照明142は、過去または将来の照明方向を示している。照明方向の角度の刻み幅は、Δβである。法線npと現在の照明方向とが成す角度は、βである。検査条件算出部121は、照明方向と欠陥の法線の成す角度βを-90度から+90度まで刻み幅Δβとして動かす。そして検査条件算出部121は、撮像方向と照明方向の全ての組み合わせについて検査する。
【0034】
図6Bは、次の撮像方向の角度αと、照明方向の角度βとの組み合わせを示す図である。
この図6Bにおいて、検査条件算出部121は、照明142の方向を固定したまま、撮像方向と欠陥の法線の成す角度αを刻み幅Δαだけ増加させ、次の撮像方向を算出して組み合わせている。
その後、検査条件算出部121は、或る照明方向と全ての撮像方向とを組み合わせると、照明方向と欠陥の法線の成す角度βを刻み幅Δβだけ増加させる。このようにして、検査条件算出部121は、撮像方向と照明方向の組み合わせのうち、欠陥検査が可能な範囲を決定する。
【0035】
図5に戻り説明を続ける。ステップS13において、検査条件算出部121は、欠陥が画像中心に写る場合のカメラ141の位置および姿勢を算出する。カメラ141が画像中心に欠陥を撮影する場合とは、カメラ141が欠陥に正対する場合である。本ステップでは、欠陥に正対するカメラ141の位置・姿勢をP(α)とし、以下の式(1)で算出する。
【数1】
【0036】
欠陥に正対する照明142の位置・姿勢をP(β)とし、以下の式(2)で算出する。
【数2】

【0037】
なお、αは、撮像方向と欠陥の法線npのなす角度であり、カメラ141の光軸の入射角である。βは、照明方向と欠陥の法線npのなす角度であり、照明142の光線の入射角である。Dは、カメラ141から製品5までの距離であり、カメラ141の仕様として規定される。Dは、照明142から製品5までの距離であり、照明142の仕様として規定される。
【0038】
ステップS14において、検査条件算出部121は、この姿勢におけるマニピュレータ143,144の関節角を導出する。すなわち、検査条件算出部121は、カメラ141が所与の撮像方向となるときのマニピュレータ143の関節角を導出し、照明142が所与の照明方向となるときのマニピュレータ144の関節角を導出する。
【0039】
図8に示すマニピュレータ143の各関節角をθ(=[θ0,θ1,…,θn])としたとき、マニピュレータ143の順運動学は式(3)で記述される。
【数3】
【0040】
なお、J(Θ)は、各関節の回転による姿勢変換を表す拡大行列である。Wは、マニピュレータ143に設定された座標系における製品5の姿勢を表す拡大行列である。なお、図8中の太破線矢印は、各姿勢変換を表す。
【0041】
この順運動学を、一般的な手法を用いて逆運動学に変換することで、所与の撮像方向で製品5を撮影するための、マニピュレータ143の各関節角を求めることができる。製品5を照明するための、マニピュレータ144の各関節角も同様にして求めることができる。
【0042】
ステップS15において、検査条件算出部121は、上記姿勢になるよう、ステップS13で求めた関節角になるようマニピュレータ143,144をそれぞれ動作させ、欠陥を中心に捉えて製品5を撮影する。
【0043】
検査条件算出部121は、撮影装置14を制御して、様々な撮像方向・照明方向で欠陥を中心に捉えつつ、製品5を撮影した画像群を得る。
【0044】
ステップS16において、検査条件算出部121は、撮像方向と照明方向の全ての組み合わせについて処理を繰り返していなかったならば、ステップS12に戻る。検査条件算出部121は、撮像方向と照明方向の全ての組み合わせについて処理を繰り返していたならば、ステップS17に進む。
【0045】
ステップS17において、検査条件算出部121は、撮影した各画像による欠陥検査の可否(検査結果)を判定し、この欠陥検査の可否と撮影時の撮像方向および照明方向の組み合わせの情報とを紐付けることで検査条件を求める。手順の詳細を以下に示す。なお、以下の手順では、検査条件Cjiは、欠陥検査可能と欠陥検査不能の二値で表現され、各撮像方向に対応する水平方向のピクセル位置wと鉛直方向のピクセル位置hは、以下の式(4)と式(5)で求めるものとする。
【数4】
【0046】
【数5】
【0047】
検査条件算出部121は、撮像方向と欠陥の法線の成す角α、照明方向と欠陥の法線の成す角βにおいて撮影した画像において、画像の中心に存在する欠陥の輝度bd0と、欠陥近傍の輝度bs0を比較する。検査条件算出部121は、この差が一定値b以上であった場合には検査可能と判定し、この差が一定値b未満であった場合には検査不能と判定する。検査条件算出部121は、欠陥とその近傍の画像の輝度差により、撮影時の撮像方向および照明方向の組み合わせの検査可否を判定し、検査条件を求めることができる。
欠陥が検査可能であった場合、α、βに対応する検査条件Cji(w,h)を、式(6)のように定める。
【数6】
【0048】
ステップS18において、検査条件算出部121は、上記処理を、製品番号jに属する全ての不良品個体(個体番号i)について繰り返したか否かを判定する。検査条件算出部121は、処理されていない不良品個体があったならば、ステップS10に戻り、全ての不良品個体について処理したならば、ステップS19に進む。
【0049】
ステップS19において、検査条件算出部121は、製品番号jに属する全ての不良品個体(個体番号i)に対して処理を行い、不良品の検査条件Cjiを求める。そして、検査条件算出部121は、製品番号jに属する不良品の検査条件Cjiの積集合条件を製品番号jの検査条件Cとする。積集合条件とは、複数の検査条件の集合の論理積をとったものであり、下の式(7)で定義される。
【数7】
【0050】
図7Aから図7Cに積集合条件の説明を示す。図7Aから図7Cに開示される例において、点枠内は検査条件の調査範囲、すなわち積集合画像における境界を表し、灰色ハッチング部は検査条件を表す。
【0051】
図7Aの矩形は撮像方向と照明方向の空間3を示し、ハッチング部は、或る製品に係る不良品Aにおける検査条件3aを示している。図7Bのハッチング部は、同一の製品に係る他の不良品Bにおける検査条件3bを示している。この時、図7Cの灰色ハッチング部に示す不良品AおよびBの積集合条件3cは、不良品Aに存在する欠陥と不良品Bに存在する欠陥のうちいずれであっても検査が可能な撮像方向および照明方向の条件を表す。図7Cの破線で囲まれた検査条件3dは、不良品Aに存在する欠陥または不良品Bに存在する欠陥の何れか1つ以上の検査が可能な撮像方向および照明方向の条件を表す。
【0052】
検査条件算出部121は、このようにして得られた検査条件Cを、検査条件記憶部153に出力する。全ての撮像方向と照明方向の組み合わせからなる空間3のうち、積集合条件3cに限定して検査することで、カメラ141の撮影回数とマニピュレータの動作回数とを限定するので、検査条件算出部121は、既知の不良品の欠陥を迅速に検査可能となる。
【0053】
図5に戻り説明を続ける。検査条件算出部121は、ステップS19の処理を終了すると、図5の処理を終了する。
図5の処理において、検査条件算出部121は、欠陥の検査可否の境界における輝度を、欠陥の輝度の閾値としている。これにより、製品が明確に明るく写る箇所における輝度を欠陥の輝度の閾値とした場合よりも、1枚の撮影画像が検査条件を満たす範囲を広くすることができる。
【0054】
なお、図5の処理において、検査条件算出部121は、実際に不良品を撮像して欠陥位置に基づいて、検査条件を算出しているが、仮想的に不良品の撮像をシミュレーションして、入力された欠陥位置に基づいて検査条件を算出してもよい。
【0055】
図9A図9Bは、検査ポイント列算出装置13での処理のフローチャートである。
ステップS30において、検査ポイント列算出装置13は、検査対象記憶部151に記憶された製品番号jを1つ選び、その製品番号jにおける製品形状データMおよび検査条件Cを取得する。
【0056】
ステップS31において、検査ポイント列算出装置13は、製品形状データMの中心と中心を同じくし、製品形状データMを包含する球上にカメラや照明を様々に配置し、検査ポイント集合を算出する。球の中心、つまり製品形状データMの中心は、製品形状データMを構成する頂点を包含するAABB(Axis-aligned bounding box)の中心として求める。点集合に対するAABBの求め方を、以下にて説明する。検査ポイント列算出装置13は、まず、点の集合において各軸の最大値、最小値を求める。次に、頂点の座標が前記各軸の最大値ないし最小値となる直方体を求める。製品形状データMを包含する球は、このようにして求めたAABBの中心を中心とし、カメラ141や照明142の既定の作動距離を半径とする球として求める。
【0057】
図10を用いて、製品形状データMに対するカメラ141や照明142の位置及び姿勢を求める処理を説明する。図10において、a,bは角度パラメータであり、ある直交座標系において、3軸をそれぞれx軸、y軸、z軸としたとき、aはy軸中心の回転角(ピッチ角)、bはz軸中心の回転角(ヨー角)をそれぞれ表す。
【0058】
図10におけるカメラ141の位置・姿勢を表現する拡大行列P(a,b)を式(8)で定義する。
【数8】
【0059】
カメラ141の姿勢を表現する3×3行列T(a,b)を式(9)で定義する。
【数9】
【0060】
カメラ141の位置を表現する三次元ベクトルp(a,b)を式(10)で定義する。
【数10】
【0061】
以上のカメラ141の位置・姿勢設定と同様に、ピッチ角cとヨー角dを用いて、照明142の位置・姿勢を表現する拡大行列P(c,d)を式(11)で定義する。
【数11】
【0062】
照明142の姿勢を表現する3×3行列T(c,d)を式(12)で定義する。
【数12】
【0063】
照明142の位置を表現する三次元ベクトルp(c,d)を以下の式(13)で定義する。
【数13】
【0064】
以上の式に従い、カメラ141のピッチ角aと照明142のピッチ角cを0度から90度まで一定刻みで与え、カメラ141のヨー角bと照明142のヨー角dを0度から360度まで一定刻みで与える。これにより、製品5を包含する球上に、複数の検査ポイントを自動で算出することができる。
【0065】
図9Aに戻り説明を続ける。検査ポイント列算出装置13は、ステップS32~S35において、算出した検査ポイントについて繰り返す。
ステップS33において、検査ポイント列算出装置13は、算出した検査ポイントから無作為に1つ選んだ検査ポイントについて、カメラ141の位置・姿勢をP(a,b)、照明142の位置・姿勢をP(c,d)とする。本処理では、P,Pで定義される検査ポイントに対し、撮像方向および照明方向を求めたうえで検査可能なファセットを求める。ここでファセットとは、製品形状データMをポリゴン(多面体)で表した場合の各面のことをいう。
【0066】
ここで、検査可能なファセットを求める処理について説明する。検査ポイント列算出装置13は、製品形状データMからファセットfを選ぶ。このファセットfの撮像方向は、カメラ141の位置からファセットfの重心へ向かうベクトルである。そしてファセットfの照明方向は、照明142の位置からファセットfの重心へ向かうベクトルである。これにより、検査ポイント列算出装置13は、カメラ141の光軸の入射角αと照明142の光線の入射角βとを定める。撮像方向と、照明方向と、ファセットの3者の関係を図11に示す。このとき、カメラ141の光軸の入射角αは、式(14)で定義される。
【数14】
【0067】
照明142の光線の入射角βは、式(15)で定義される。
【数15】
【0068】
なお、式(14)と式(15)において、n(f)はfの単位法線ベクトルである。g(f)はfの重心の位置ベクトルである。N(v)はベクトルvの単位ベクトルである。検査ポイント列算出装置13は、これらのカメラ141の光軸の入射角α、照明142の光線の入射角βについて、検査条件におけるピクセル座標w、hを求める。この時、検査ポイント列算出装置13は、ステップS30で取得した検査条件C(w、h)が1ならば、そのファセットを検査可能とする。検査ポイント列算出装置13は、以上の処理を全ファセットについて繰り返し、そのファセットの検査可否を得る。このように、検査条件C(w、h)によってファセットが検査可能か否かを判定することで、検査対象であるファセットの集合を算出して絞り込む。ここで検査対象であるファセットの集合を検査可能ファセットに絞り込む理由は、ステップS34において、マニピュレータ143,144が製品5の検査可能ファセットを遮蔽しないものを抽出するためである。
【0069】
図9Aに戻り説明を続ける。ステップS34において、検査ポイント列算出装置13は、カメラ141の位置・姿勢Pに合致するマニピュレータ143の姿勢を算出し、照明142の位置・姿勢Pに合致するマニピュレータ144の姿勢を算出する。
【0070】
ここで得られたマニピュレータ143,144の姿勢について、カメラ141ないし照明142と製品形状データMの検査可能ファセットを結ぶ線分と、マニピュレータ143,144とが交点を持つ場合、その検査点は、製品5の検査可能ファセットがマニピュレータ143,144によって遮蔽されるため、検査ポイントから除外する。すなわち、検査ポイント列算出手段は、製品5を包含する球上の検査ポイントのうちマニピュレータ143,144が製品5の検査可能ファセットを遮蔽しないものを抽出する。なお、マニピュレータ143,144が、所定のロボット姿勢をとったときに製品5のファセットを遮蔽したとしても、それが検査不能なファセットならば、そのロボット姿勢は問題とならない。これにより、ロボット姿勢の自由度が向上し、ロボットの姿勢変換コストをより低減可能となる。
【0071】
検査ポイント列算出装置13は、ステップS35において、算出した検査ポイントの処理を全て繰り返したならば、ステップS36に進み、未処理の検査ポイントがあったならば、ステップS32に戻る。
【0072】
ステップS36において、検査ポイント列算出装置13は、ファセット集合Sを全検査ポイントから検査可能な領域とする。全検査ポイントから検査可能な領域は、ある検査ポイントu(i=0,1,2,…)で検査可能なファセット集合Fuを用いて、以下の式(16)で定義される。
【数16】
【0073】
以下のステップS37~S41までの処理を、図12Aから図12Dを用いて説明する。ある検査ポイントuについて、ファセット集合Sに含まれるファセット内で検査可能なファセット集合F´uは、以下の式(17)で求められる。
【数17】
【0074】
ステップS37において、検査ポイント列算出装置13は、これをすべての検査ポイントu(i=0,1,2,…)について求める。得られたファセット集合F´uに含まれるファセットの総面積が最大のものを、検査ポイント列に追加する。なお、検査ポイント列の初期値は、空である。
図12Aに、ファセット集合Sが全検査ポイントから検査可能な領域であるときにおける、検査ポイントuにおけるファセット集合F´uを開示する。
図12Bに、ファセット集合Sが全検査ポイントから検査可能な領域であるときにおける、検査ポイントuにおけるファセット集合F´uを開示する。
図12Cに、ファセット集合Sが全検査ポイントから検査可能な領域であるときにおける、検査ポイントuにおけるファセット集合F´uを開示する。
図12Bに示すように、図12Aから図12Cに開示される例ではF´uの要素数が最大であるため、この例では検査ポイントuが検査ポイント列に追加される。
【0075】
検査ポイント列算出装置13は、ステップS38~S41の処理を、ファセット集合Sが空集合になるまで繰り返す。
ステップS39において、検査ポイント列算出装置13は、検査ポイント列末尾の検査ポイントuから他の検査ポイントuに移動する際の姿勢変換コストf(u,u)が最少となる検査ポイント列を求める。ここで、ファセット集合F´uの総面積をA(F´u)とするとき、姿勢変換コストfは、式(18)で求められる。
【数18】
【0076】
ただし、ω(u,u)は、検査ポイントuからuにマニピュレータを動作させるときにおける各ジョイントの回転量の最大値である。各ジョイントの回転速度が所定値であると仮定すると、各ジョイントの回転量は、ロボットの姿勢変換の時間に比例する。
ステップS40において、検査ポイント列算出装置13は、ファセット集合Sを、以下の式(19)に従い更新する。
【数19】
【0077】
更新されたファセット集合Sの例を図12Dに示す。図12Dにおけるファセット集合Sは、図12Aから図12Cに開示される検査ポイントから検査可能な全ファセットの集合Sから、図12Bに開示される検査ポイントuから検査可能なファセットの集合F´uに含まれる集合の差を算出したものである。また、図12DにおけるF´uとは、図12Dにおけるファセット集合Sと、検査ポイントuから検査可能なファセット集合F´uとの論理積を算出したものである。
【0078】
図9Bの説明に戻る。ステップS41において、検査ポイント列算出装置13は、ファセット集合Sが空集合になるまで処理を繰り返したならば、ステップS42に進み、ファセット集合Sが空集合でなければ、ステップS38に戻る。
【0079】
ステップS41において、検査ポイント列算出装置13は、ステップS38~S41のループ処理にて求めた検査ポイント列中の検査ポイントについて、RRT(rapidly-exploring random tree)法などを用いて検査ポイント列を経由するロボット動作を最適化する。すなわら、検査ポイント列算出装置13は、製品5の形状データを構成するファセットのうち、検査条件を満たす撮像方向および照明方向から検査可能な集合を作成し、最少の姿勢変換コストで集合を検査可能な検査ポイント列を算出する。
その後、検査ポイント列算出装置13は、得られた検査ポイント列ならびにロボット動作を出力すると、図9Bの処理を終了する。
【0080】
以上に開示するように、外観検査準備システム1は、不良品の実検査データに基づき、見逃しなく欠陥を検査可能な検査条件を設定し、この検査条件に基づき検査ポイント列を自動生成する。これにより、外観検査準備システム1は、最少の撮影回数で製品5を検査可能な検査ポイント列を自動生成して、製品の外観検査を準備する。この検査ポイント列により、製品の外観検査を好適に実施可能である。
【0081】
(変形例)
本発明は上記した実施形態に限定されるものではなく、様々な変形例が含まれる。例えば上記した実施形態は、本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。ある実施形態の構成の一部を他の実施形態の構成に置き換えることが可能であり、ある実施形態の構成に他の実施形態の構成を加えることも可能である。また、各実施形態の構成の一部について、他の構成の追加・削除・置換をすることも可能である。
【0082】
上記の各構成、機能、処理部、処理手段などは、それらの一部または全部を、例えば集積回路などのハードウェアで実現してもよい。上記の各構成、機能などは、プロセッサがそれぞれの機能を実現するプログラムを解釈して実行することにより、ソフトウェアで実現してもよい。各機能を実現するプログラム、テーブル、ファイルなどの情報は、メモリ、ハードディスク、SSD(Solid State Drive)などの記録装置、または、フラッシュメモリカード、DVD(Digital Versatile Disk)などの記録媒体に置くことができる。
【0083】
各実施形態に於いて、制御線や情報線は、説明上必要と考えられるものを示しており、製品上必ずしも全ての制御線や情報線を示しているとは限らない。実際には、殆ど全ての構成が相互に接続されていると考えてもよい。
【0084】
本発明の変形例として、例えば、次の(a)~(b)のようなものがある。
(a) 撮影装置は、カメラを固定し、第一マニピュレータで照明を把持して駆動し、第二マニピュレータで製品を把持/運搬することで、製品に対する相対的な撮像方向と照明方向を変える構成であってもよい。かかる変形例において、照明を駆動する第一マニピュレータの関節角度および製品を把持/運搬する第二マニピュレータの関節角度の組み合わせが、検査ポイント列である。
(b) 撮影装置は、照明を固定し、第一マニピュレータでカメラを把持して駆動し、第二マニピュレータで製品を把持/運搬することで、製品に対する相対的な撮像方向と照明方向を変える構成であってもよい。かかる変形例において、カメラを駆動する第一マニピュレータの関節角度および製品を把持/運搬する第二マニピュレータの関節角度の組み合わせが、検査ポイント列である。
【符号の説明】
【0085】
1 外観検査準備システム (外観検査準備装置)
11 ユーザインタフェース装置
111 検査対象入力部
1111 不良品個体番号テキストボックス
1112 製品番号テキストボックス
112 欠陥位置入力部
113 検査条件表示部
114 検査ポイント表示部
1141 位置
12 検査条件算出装置 (検査条件算出手段)
121 検査条件算出部
13 検査ポイント列算出装置 (検査ポイント列算出手段)
14 撮影装置
141 カメラ
142 照明
143,144 マニピュレータ
145 検査ステージ
15 記憶装置
151 検査対象記憶部
152 不良品情報記憶部
1521 不良品情報テーブル
153 検査条件記憶部
154 検査ポイント列記憶部
5 製品
6 表示操作画面
61 不良品情報入力ペイン
611 不良品個体番号
612 製品番号テキストボックス
613 欠陥位置情報テキストボックス
62 検査条件ペイン
63 検査ポイントペイン
631 検査ポイント
図1
図2
図3
図4
図5
図6A
図6B
図7A
図7B
図7C
図8
図9A
図9B
図10
図11
図12A
図12B
図12C
図12D