(57)【要約】【課題】規則的に配置された同一設計形状の複数ワークに対してパターンマッチングを行う場合に、各ワークに対して、適切なモデルエッジ画像を効率的に生成する。【解決手段】  同一設計形状の複数の対象物の一部または全ての対象物を撮影した参照画像に対してエッジ検出を行い、基準となる対象物のモデルエッジ画像を生成する（Ｓ２：基準モデルエッジ画像生成工程）。さらに、生成済みのモデルエッジ画像を用いて、そのモデルエッジ画像に対応する対象物に隣接する同一設計形状の対象物に対応するモデルエッジ画像を生成する（Ｓ４：隣接モデルエッジ画像生成工程）処理を繰り返す。【選択図】図４
2019036072.tif 000002
【特許請求の範囲】
【請求項１】
被探索画像の中に撮影されている対象物を探索するため、前記被探索画像からエッジ検出により生成したエッジ画像とのパターンマッチング処理に用いるモデルエッジ画像を生成するモデルエッジ画像生成処理を含む画像処理方法において、
前記モデルエッジ画像生成処理において、制御装置が、
同一設計形状の複数の対象物を撮影した参照画像に対してエッジ検出を行い、基準となる対象物のモデルエッジ画像を生成する基準モデルエッジ画像生成工程と、
生成済みのモデルエッジ画像を用いて、そのモデルエッジ画像に対応する対象物に隣接する同一設計形状の対象物に対応するモデルエッジ画像を生成する隣接モデルエッジ画像生成工程と、を実行する画像処理方法。
【請求項２】
請求項１に記載の画像処理方法において、前記被探索画像の中に撮影されている前記対象物を探索する場合、撮影された前記被探索画像からエッジ検出により生成したエッジ画像と、前記基準モデルエッジ画像生成工程、または前記隣接モデルエッジ画像生成工程で生成されたモデルエッジ画像と、のパターンマッチング処理により前記対象物の位置を特定する探索工程を実行する画像処理方法。
【請求項３】
請求項１または２に記載の前記対象物が、規則的に配置された同一設計形状の複数のワークである画像処理方法。
【請求項４】
請求項３に記載の画像処理方法において、前記制御装置が、前記隣接モデルエッジ画像生成工程において、前記生成済みのモデルエッジ画像からエッジ抽出領域を設定し、前記参照画像の前記エッジ抽出領域でエッジ抽出を行うことにより、隣接する同一設計形状の対象物に対する別のモデルエッジ画像を生成する画像処理方法。
【請求項５】
請求項３に記載の画像処理方法において、前記制御装置が、前記隣接モデルエッジ画像生成工程において、隣接する同一設計形状の対象物のモデルエッジ画像と、前記生成済みのモデルエッジ画像と、の類似度が所定の閾値以上である場合、前記生成済みモデルエッジ画像を前記対象物のモデルエッジ画像が検出された位置に移動することにより隣接する同一設計形状の対象物に対する別のモデルエッジ画像を生成する画像処理方法。
【請求項６】
請求項５に記載の画像処理方法において、前記制御装置が、前記隣接モデルエッジ画像生成工程を繰り返し実行し、複数の対象物に対するモデルエッジ画像を連鎖的に生成する画像処理方法。
【請求項７】
請求項１に記載の画像処理方法において、前記生成済みのモデルエッジ画像が前記基準モデルエッジ画像である画像処理方法。
【請求項８】
請求項１または７に記載の画像処理方法において、前記生成済みのモデルエッジ画像が前記隣接モデルエッジ画像生成工程によって既に生成された隣接モデルエッジ画像である画像処理方法。
【請求項９】
請求項１から８のいずれか１項に記載の各工程を前記制御装置に実行させる制御プログラム。
【請求項１０】
請求項９に記載の制御プログラムを格納したコンピュータ読み取り可能な記録媒体。
【請求項１１】
被探索画像の中に撮影されている対象物を探索するため、前記被探索画像からエッジ検出により生成したエッジ画像とのパターンマッチング処理に用いるモデルエッジ画像を生成するモデルエッジ画像生成処理を含む画像処理を実行する画像処理装置において、
前記モデルエッジ画像生成処理において、
同一設計形状の複数の対象物を撮影した参照画像に対してエッジ検出を行い、基準となる対象物のモデルエッジ画像を生成する基準モデルエッジ画像生成工程と、
生成済みのモデルエッジ画像を用いて、そのモデルエッジ画像に対応する対象物に隣接する同一設計形状の対象物に対応するモデルエッジ画像を生成する隣接モデルエッジ画像生成工程と、を実行する制御装置を備えた画像処理装置。
【請求項１２】
請求項１１に記載の画像処理装置において、前記被探索画像の中に撮影されている前記対象物を探索する場合、撮影された被探索画像からエッジ検出により生成したエッジ画像と、前記基準モデルエッジ画像生成工程、または前記隣接モデルエッジ画像生成工程で生成されたモデルエッジ画像と、のパターンマッチング処理により前記対象物の位置を特定する探索工程を実行する画像処理装置。
【請求項１３】
請求項２に記載の探索工程を実行する画像処理装置と、
前記対象物として規則的に配置された同一設計形状の複数のワークを操作する製造装置と、
前記複数のワークを撮影し、前記被探索画像を取得する撮影装置と、
前記製造装置のワーク操作を制御する製造制御装置と、を用いて部品を製造する製造方法において、
前記画像処理装置が、前記探索工程により前記撮影装置で撮影された前記被探索画像から前記複数のワークに含まれる特定のワークを探索し、その探索結果に基づき製造制御装置が前記製造装置に前記特定のワークを操作させ、部品の製造を行う製造方法。
【請求項１４】
請求項２に記載の探索工程を実行する画像処理装置と、
前記対象物として規則的に配置された同一設計形状の複数のワークを操作するロボットアームと、
前記複数のワークを撮影し、前記被探索画像を取得する撮影装置と、
前記ロボットアームのワーク操作を制御する製造制御装置と、を備え、
前記画像処理装置が、前記探索工程により前記撮影装置で撮影された前記被探索画像から前記複数のワークに含まれる特定のワークを探索し、その探索結果に基づき製造制御装置が前記ロボットアームに前記特定のワークを操作させるロボット装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、対象物を探索するため、前記被探索画像からエッジ検出により生成したエッジ画像とのパターンマッチング処理に用いるモデルエッジ画像を生成するモデルエッジ画像生成処理を含む画像処理方法、画像処理装置、および製造方法に関する。
【背景技術】
【０００２】
ＦＡ（Ｆａｃｔｏｒｙ  Ａｕｔｏｍａｔｉｏｎ）などの分野において、検出対象物であるワークの位置・姿勢を検出する方法として、画像の輪郭情報を用いた形状パターンマッチング（以下、パターンマッチングとも呼ぶ）が知られている。
【０００３】
パターンマッチングでは、モデルとなる参照画像にエッジ抽出処理を適用してワークの輪郭をエッジとして抽出し、事前にモデルエッジ画像を生成しておく。探索処理時には探索の対象となる被探索画像に対しても同様にして被探索エッジ画像を生成し、モデルエッジ画像を被探索エッジ画像上で走査して被探索エッジ画像上の各位置における類似度を算出し、類似度が最大となる位置を検出する。
【０００４】
パターンマッチング処理は、生産装置に供給されたワークの位置・姿勢を計測する手段として使用されることがある。生産装置にワークを供給する方法は様々あるが、例えば供給トレイ上に同一設計形状のワークを規則的に複数個配置し、生産装置に供給する場合がある。もし、このようなワーク供給方式で、供給トレイの上方に設置したカメラでワーク群を撮影し、位置・姿勢計測を行う場合、ワークの数だけモデルエッジ画像を生成しておく必要があり、パターンマッチングに関する設定作業に多大な時間がかかる。
【０００５】
そのため、代表的なモデルエッジ画像を１つだけ生成し、そのモデルエッジ画像を全てのワークに対するパターンマッチングに使用する構成が提案されている（例えば下記の特許文献１）。しかしながら、このような構成ではカメラとワークの相対位置関係に起因するワークの見え方の違いを考慮していないため、代表モデルエッジ画像を使いまわすとパターンマッチングに失敗したり、信頼性が低下したりする可能性がある。
【０００６】
また、計測対象のワークと、カメラの位置関係により定まる撮影パラメータ（カメラの内部パラメータおよび外部パラメータ）を利用してモデルエッジ画像を補正する構成が提案されている（例えば下記の特許文献２）。この構成によると、カメラとワークの相対位置関係に起因するワークの見え方をキャンセルするように代表モデルエッジ画像を補正しながら全ての位置のワークに対するモデルエッジ画像を自動的に生成することができる。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２０１２−８４０００号公報
【特許文献２】特開２０１５−５０９３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
特許文献２に記載された手法の場合、全ワーク位置で撮影パラメータを算出する必要がある。撮影パラメータ（内部／外部パラメータ）の算出は、一般的に、キャリブレーションプレートを撮影し、撮影した画像に対して画像処理を適用して、パラメータの算出を行う。従って、全ワーク位置で撮影パラメータを算出するには、多大な時間と手間を必要とする問題がある。
【０００９】
本発明の課題は、上記の事情に鑑み、規則的に配置された同一設計形状の複数ワークに対してパターンマッチングを行う場合に、各ワークに対して、適切なモデルエッジ画像を効率的に生成できるようにすることにある。
【課題を解決するための手段】
【００１０】
上記課題を解決するため、本発明においては、被探索画像の中に撮影されている対象物を探索するため、前記被探索画像からエッジ検出により生成したエッジ画像とのパターンマッチング処理に用いるモデルエッジ画像を生成するモデルエッジ画像生成処理を含む画像処理方法において、前記モデルエッジ画像生成処理において、制御装置が、同一設計形状の複数の対象物を撮影した参照画像に対してエッジ検出を行い、基準となる対象物のモデルエッジ画像を生成する基準モデルエッジ画像生成工程と、生成済みのモデルエッジ画像を用いて、そのモデルエッジ画像に対応する対象物に隣接する同一設計形状の対象物に対応するモデルエッジ画像を生成する隣接モデルエッジ画像生成工程と、を実行する構成を採用した。
【発明の効果】
【００１１】
上記構成によれば、生成済みのモデルエッジ画像を用いて、そのモデルエッジ画像に対応する対象物に隣接する同一設計形状の対象物に対応するモデルエッジ画像を生成する隣接モデルエッジ画像生成を行う。そのため、規則的に配置された同一設計形状の複数ワークに対してパターンマッチングを行う場合に、各ワークに対して、適切なモデルエッジ画像を効率的に生成することができる。
【図面の簡単な説明】
【００１２】
【図１】実施形態１に係るロボットシステムの概略構成を示した説明図である。
【図２】図１のロボットシステムの制御系の構成を示したブロック図である。
【図３】図１のロボットシステムにおける供給トレイおよびワーク配置の説明図である。
【図４】実施形態１に係るモデルエッジ画像生成処理を含むパターンマッチングの事前処理の制御手順を示すフローチャート図である。
【図５】図４の基準モデルエッジ画像生成の制御手順を詳細に示すフローチャート図である。
【図６】実施形態１に係る基準モデルエッジ画像生成の手順を示すもので、（ａ）は参照画像から切り出された切り出し画像、（ｂ）はノイズエッジが含まれたエッジ画像、（ｃ）は基準モデルエッジ画像をそれぞれ示す説明図である。
【図７】図４の隣接モデルエッジ画像生成の制御手順を詳細に示すフローチャート図である。
【図８】（ａ）〜（ｇ）は実施形態１に係る隣接モデルエッジ画像生成の様子を示した説明図である。
【図９】実施形態１に係るエッジ間距離算出方法を示した説明図である。
【図１０】実施形態１に係る探索範囲の説明図である。
【図１１】実施形態１に係るパターンマッチングを用いた探索処理の制御手順を示したフローチャート図である。
【図１２】実施形態２に係る隣接モデルエッジ画像生成において、エッジ抽出の要否判断を追加した制御手順を示すフローチャート図である。
【図１３】実施形態２に係る隣接モデルエッジ画像生成の要否判断のためのワークのグルーピングを示した説明図である。
【図１４】実施形態１に係るモデルエッジ画像が連鎖的に生成される様子を模式的に示した説明図である。
【図１５】実施形態１に係るロボットシステムを用いた製造ラインの制御手順を示したフローチャート図である。
【発明を実施するための形態】
【００１３】
以下、添付図面を参照して本発明を実施するための形態につき説明する。なお、以下に示す構成はあくまでも一例であり、例えば細部の構成については本発明の趣旨を逸脱しない範囲において当業者が適宜変更することができる。また、本実施形態で取り上げる数値は、参考数値であって、本発明を限定するものではない。
【００１４】
［実施形態１］
以下の実施形態では、規則的に配置された同一設計形状の複数のワークを操作するロボットアームを備えたロボット装置（あるいはそのロボット装置を含む生産ライン）を考える。このロボット装置は、視覚系として、操作ないし製造の対象物としてのワークや、ロボットアームを撮影できるカメラ（撮影装置）を備える。そして、このカメラで撮影した被探索画像から得た被探索エッジ画像と、予め生成したモデルエッジ画像と、のパターンマッチングに基づき、対象物（としてのワーク）を被探索画像中から探索する。そしてこの探索結果に基づき、ロボットアームが制御され、ロボットアームによってワークが操作され、部品、あるいは各種の工業製品の製造が行なわれる。
【００１５】
＜装置の構成＞
本実施形態のロボット装置１は、図１に示すように、上記のカメラ２、ロボットアーム３、ロボットアーム３およびカメラを制御する制御装置４と、を備えている。ロボットアーム３が部品を製造するために操作するワーク６は、同一設計形状の複数のものが供給トレイ７上に規則的に配置されている。
【００１６】
制御装置４は、例えば図２に示すように、演算部としてのＣＰＵ５０のハードウェアおよびソフトウェアにより実装される。本実施形態の場合、制御装置４は、ロボットアーム３の動作を制御するロボット制御部５４、およびパターンマッチング演算部５５を備えている。即ち、制御装置４は、ロボットアーム３（製造装置）を制御するロボット制御装置ないし製造制御装置であるとともに、パターンマッチングによる対象物の探索工程を実行する画像処理装置を兼ねている。
【００１７】
パターンマッチングには、供給トレイ７上に規則的に配置したワーク６を撮影して得た参照画像から予め生成したモデルエッジ画像が用いられる。本実施形態では、後述するモデルエッジ画像の生成も、制御装置４のパターンマッチング演算部５５によって行われるものとして説明する。しかしながら、モデルエッジ画像の生成は、例えばロボット制御装置とは、別の画像処理端末を用いて行われるものであってもよい。
【００１８】
図１のロボット装置１では、ロボットアーム３の操作の対象物であるワーク６をカメラ２で撮影する。そして撮影された被探索画像に対してパターンマッチング処理を行い、目的のワーク６を探索、即ち、位置・姿勢を計測し、その計測結果を用いてロボットアーム３にワーク６を操作させる。このワーク６の操作は、例えば、供給トレイ７にある特定のワーク６をロボットアーム３により把持して取り出す操作である。
【００１９】
ロボットアーム３はワーク６に対する操作が可能であり、制御装置４は、ロボットアーム３の動作およびカメラ２の撮影を制御することができる。図１では、一例として、供給トレイ７上に配列されたワーク６は、同一のサイズかつ円柱形状のワークを図示している。
【００２０】
カメラ２は、不図示のカメラ固定台に固定され、ロボットアーム３の作業空間、少なくとも本実施形態では、ワーク６が配置された供給トレイ７（の全体）を上方から撮影できるような撮影条件（画角、撮影距離）が選択されている。
【００２１】
ロボットアーム３は、６軸の垂直多関節アーム（３１：以下、単にアームと呼ぶ）と、エンドエフェクタであるハンド３２とを有している。なお、図１ではアーム３１として６軸、シリアルリンクの多関節アームを図示しているが、軸数は用途や目的に応じて適宜変更してもよく、また、リンクの結合方式は他の方式、例えばパラレルリンク方式などであってもよい。また、本実施形態では、エンドエフェクタとしてハンド３２を例示しているが、これに限定されることなく、ハンド３２に換えてワーク６を操作可能な任意のツールを用いることができる。
【００２２】
アーム３１は、７つのリンクと、各リンクを揺動または回動可能に連結する６つの関節とを備えている。各リンクとしては、長さが固定されたものを採用している。但し、例えば、直動アクチュエータにより伸縮可能なリンクを用いてもよい。各関節には、図２に示すように、各関節を各々駆動するモータ８０と、モータ８０の回転角度を検知するエンコーダ８１と、が配置される。また、各関節のモータ８０およびエンコーダ８１と、制御装置４と、の間には、ＣＰＵ５０の制御に応じて、モータ８０およびエンコーダ８１を駆動するモータ制御部８２が設けられている。
【００２３】
ハンド３２は、アーム３１の先端に取り付けられており、アーム３１の動作により位置および姿勢の少なくとも一自由度を調整可能である。ハンド３２は、少なくとも２本の指３２ａ（フィンガ）とこれらの指３２ａの間隔を開閉可能に支持するハンド本体３２ｂとを備え、指３２ａ同士が近接する動作（いわゆる閉動作）によりワーク６を把持することができる。
【００２４】
図２に示すように、制御装置４は、マイクロプロセッサなどから成るＣＰＵ５０を制御主体とするコンピュータシステムとして構成される。制御装置４は、ＣＰＵ５０と、データを一時的に記憶可能なＲＡＭ（記憶部）５１と、各部を制御するプログラムを記憶するＲＯＭ５２と、を備える。ロボットアーム３と通信可能にする入出力インターフェース５３（Ｉ／Ｆ）と、を備える。また、本実施形態では、制御装置４は、対象物（ワーク６）を探索するためのパターンマッチングを実行するパターンマッチング装置を兼ねている。
【００２５】
また、図２の制御系には、上記構成に加え、不図示のディスプレイ、キーボード、ポインティングデバイスなどから成るＵＩ（ユーザーインターフェース）装置を接続することができる。このＵＩ装置は、例えば下記の事前処理のモデルエッジ画像の生成などにおいて、特定の画像中の部位を指定する、などの目的で利用される。
【００２６】
なお、本実施形態では、ロボット制御機能を含む制御装置４がパターンマッチング装置の機能を含んでいる。しかしながら、パターンマッチングによる対象物の探索、あるいは後述のモデルエッジデータの生成を行う事前処理を実行する画像処理装置の部分は、ロボット制御機能を含む制御装置４とは別体の処理端末として配置されていてもよい。
【００２７】
ＲＯＭ５２は、後述するパターンマッチングプログラム５２ａや、ロボットアーム３の動作を制御するロボット制御プログラムや、その他のＣＰＵ５０が行うワーク６の位置姿勢演算に関する演算プログラムなどを格納する。ＲＯＭ５２に格納されたデータは、不揮発性を有し、ＣＰＵ５０からの書き込みや消去を除き、制御装置４の電源がオフ状態にされても保持される。ＲＡＭ５１は、後述する被探索エッジ画像５６や、モデルエッジ画像５７等のＣＰＵ５０にて処理中のデータを一時的に記憶する。
【００２８】
なお、後述の制御手順を実現するためのＣＰＵ５０の制御プログラムは、不図示のＨＤＤやＳＳＤなどの外部記憶装置、ＲＯＭ５２の（例えばＥＥＰＲＯＭ領域）のような記憶部に格納しておくこともできる。その場合、後述の制御手順を実現するためのＣＰＵ５０の制御プログラムは、ネットワークインターフェースなどを介して、上記の各記憶部に供給し、また新しい（別の）プログラムに更新することができる。あるいは、後述の制御手順を実現するためのＣＰＵ５０の制御プログラムは、各種の磁気ディスクや光ディスク、フラッシュメモリなどの記憶手段と、そのためのドライブ装置を経由して、上記の各記憶部に供給し、またその内容を更新することができる。上述の制御手順を実現するためのＣＰＵ５０の制御プログラムを格納した状態における各種の記憶手段ないし記憶部は、本発明の制御手順を格納したコンピュータ読み取り可能な記録媒体を構成することになる。
【００２９】
ＣＰＵ５０は、上記のようにロボットアーム３の動作を制御するロボット制御部５４や、パターンマッチング演算部５５を備えている。ロボット制御部５４は、ロボット制御プログラムの実行により、ロボットアーム３の動作を制御する。
【００３０】
後述するように、パターンマッチング演算部５５は、パターンマッチングプログラム５２ａの実行により、被探索エッジ画像５６と、モデルエッジ画像５７と、のパターンマッチング処理を行う。
【００３１】
＜ワーク＞
図３は、供給トレイ７の上方に設置されたカメラ２の視点から供給トレイ７を見た様子を模式的に表している。カメラの光軸は供給トレイ７の中心に略一致している。図３では、ワーク６の個体を識別するため、ｉを行方向、ｊを列方向のインデックスとして用いて、各位置のワークを６ｉｊ（ｉ＝１〜４、ｊ＝１〜４）のような６００番台、３桁の参照符号により示している。
【００３２】
図３において、円柱形上のワーク６をほぼ真上から見ているワーク６２２、６２３、６３２、６３３はワーク上面がほぼ円状に見えている。一方それ以外のワークは、円柱形上のワーク６を斜め上から見ているため、ワーク上面が歪んで楕円形に見えている。このように同じ設計形状のワークであっても視点が異なる、つまりカメラとワークの相対位置関係が異なることにより、撮影した際の画像上での見え方は異なる。なお、ワークの形状は円柱形上に限られるものではなく、どのような形でもよい。また、ワークの数はいくつであってもよい。さらに、ワークの配置は必ずしもマトリクス状でなくてもよく、例えば千鳥配列となっていたり、円状に等間隔に並んでいたりしてもよい。
【００３３】
本実施例では、供給トレイ７上に配列したワーク６をカメラ２で撮影した被探索画像に対してモデルエッジ画像を用いてパターンマッチングを行い、ロボットアーム３が操作すべき特定の１つ（または複数）のワーク６を探索する。この探索結果に応じて、ロボットアーム３が制御され、探索されたワーク６に対する製造操作（組立、加工、塗装など）を行う。
【００３４】
モデルエッジ画像は、実際の製造工程でパターンマッチングによるワーク探索を行う前に、下記の事前処理によって生成する。下記の事前処理は、例えば、同じワーク６を複数、配列した同じ供給トレイ７を適当な配送手段によって所定位置に配置する毎に行うことができる。また、例えば、実際の製造工程で同じワーク６を複数、配列した同じ供給トレイ７が繰り返し交換されるように構成された生産ラインでは、下記の事前処理は実際の製造工程を開始する前に少なくとも１回、実行すればよい。下記の事前処理では、例えば、同じワーク６／供給トレイ７を繰り返し交換して用いる構成において、モデルエッジ画像を生成するためにカメラ２により撮影される画像は「参照画像」と呼ぶ。
【００３５】
＜事前処理＞
以下、実際の探索処理に先立って、モデルエッジ画像を生成する事前処理の手順を図４のフローチャートに沿って説明する。各位置のワークに対応するモデルエッジ画像を生成し（ステップＳ１〜Ｓ４）、その後、パラメータ登録（ステップＳ５）を行って事前処理が終了する。
【００３６】
初めに、参照画像を撮影する（ステップＳ１）。この時、供給トレイ７のすべての位置にワーク６を配置し、カメラ２により全てのワーク６が同一視野に入るようにして撮影を行う。ワーク６は、実際にロボットアーム３が実行する生産工程で用いるワークと同じものを用いる。ただし、参照画像撮影の方法はこの限りではなく、全てのワーク６のうちの一部のみをクロップ撮影してもよい。クロップ撮影とは、撮影の段階で撮像素子の一部分のみで画像を捉えることである。クロップ撮影した場合は、後述する切出し画像生成（ステップＳ２１やステップＳ４１）が不要となる場合がある。
【００３７】
次に、基準モデルエッジ画像を生成する（ステップＳ２）。基準モデルエッジ画像は、基準ワークに対応するモデルエッジ画像である。本実施形態では、ワーク６２２を基準ワークとするが、基準ワークの選び方はこれに限定されるものではない。例えば、基準ワークとするワークは、カメラの光軸に最も近いワーク、あるいは、最も供給トレイ７の端縁に位置するワークなど、供給トレイ７上の任意の位置にあるワークを選んでよい。以下、この基準モデルエッジ画像生成の手順について図５を参照して説明する。
【００３８】
図５の処理では、同一設計形状の複数の対象物の一部または全ての対象物を撮影した参照画像に対してエッジ抽出（Ｓ２２）を行い、基準となる対象物のモデルエッジ画像を生成する（基準モデルエッジ画像生成工程）。
【００３９】
図５の基準モデルエッジ画像生成では、まず、切り出し画像生成を行う（ステップＳ２１）。例えば、作業者は、例えばディスプレイに表示された参照画像から、基準ワーク６２２を囲う矩形領域を設定する。この設定作業は、例えば制御装置４に接続されたマウスなどのポインティングデバイスを用いて、ディスプレイに表示された参照画像内のワーク６２２を包含する矩形領域を選択する。この領域選択では、例えばマウスなどにより、表示画像中の左上の点と右下の点とをクリックする。これにより、制御装置４はクリックした２点の位置を矩形領域の左上および右下の点として認識し、参照画像の対応する領域を矩形領域として選択する。そして、選択された矩形領域を参照画像から切り出して、当該矩形領域の画像を切り出し画像１２とする（図６（ａ）参照）。
【００４０】
次に、切り出し画像１２に対してエッジ抽出処理を適用してエッジ画像１３を生成する（ステップＳ２２）。ここでは、切り出し画像１２の画素ごとにエッジ強度およびエッジ方向を算出する。即ち、各画素において、エッジは強度と方向の要素を有するベクトルとして定義される。エッジ強度とは、コントラストの大きさを表し、注目画素に対し隣接する画素のコントラストが大きければ、当該注目画素のエッジ強度も大きくなる。エッジ方向とは、コントラストの方向を表し、注目画素のエッジ強度が最も大きくなる方向（角度）を示す。
【００４１】
また、エッジ強度の算出には、Ｘ軸方向及びＹ軸方向のソーベルフィルタを使用し、任意の画素でＸ軸方向のエッジ強度とＹ軸方向のエッジ強度とを算出する。そして、下式（数１）のように、エッジ強度を各軸方向のエッジ強度の二乗和の平方根で表す。なお、本実施形態では、エッジ強度の算出にソーベルフィルタを使用しているが、これに限定されることなく、例えば、ラプラシアンフィルタやキャニーフィルタ等の周知のエッジ抽出フィルタを使用してもよい。
【００４２】
【数１】
2019036072.tif 000003
【００４３】
上式（数１）において、Ｉはエッジ強度、ｅｘはＸ軸方向のエッジ強度、ｅｙはＹ軸方向のエッジ強度を示す。
【００４４】
また、エッジ方向の算出には下式（数２）を用いることができる。
【００４５】
【数２】
2019036072.tif 000004
【００４６】
上式（数２）において、θはエッジ方向、ｅｘはＸ軸方向のエッジ強度、ｅｙはＹ軸方向のエッジ強度を示す。
【００４７】
以上のようにして、切り出し画像１２の全画素のエッジ強度及びエッジ方向を算出する。そして、エッジ強度がある所定の閾値以上になった画素をエッジ特徴として抽出し、エッジ画像１３を生成する。エッジ画像のデータ保持方法は、エッジ画像１３の画素毎に２チャンネルのデータ領域を持っておき、エッジ特徴として抽出された画素は有効画素として、１チャンネル目にエッジ強度、２チャンネル目にエッジ方向の情報を入れておく。エッジ特徴ではないと判断された画素には、無効値（例えば０）を入れておく。図６（ｂ）はこのようにして抽出されたエッジ画像を示しており、同図ではエッジ特徴の有効画素を暗色で表現し、無効画素を白色で表現している。
【００４８】
以上のように切り出し画像１２にエッジ抽出処理を適用して生成されたエッジ画像１３には、ワークの輪郭に相当するエッジ１５だけではなく、背景やワーク表面の陰影の影響で意図しないノイズエッジ１４が含まれてしまうことが多い。そこで、このノイズエッジ１４をエッジ画像１３から除外するために、モデルエッジ選択を行う（ステップＳ２３）。
【００４９】
モデルエッジ選択（ステップＳ２３）では、ディスプレイに表示されたエッジ画像１３の中から、作業者がモデルとして使用したいエッジをマウス（などのＵＩ装置）によりクリックし、選択する。このとき、クリックした位置に最も近いエッジが選択される。このような操作によって選択されたエッジのみを残し、選択されなかったエッジはエッジ画像から除外する。この画素の除外は、例えば、該当する画素値として無効値を格納することなどによって行うことができる。以上のようにして、モデルとして使用したいエッジのみが有効となった基準モデルエッジ画像１６（図６（ｃ））が生成される。なお、ノイズエッジの除去は、作業者の上記のような手動操作によって行う他、適当なノイズフィルタ処理を利用できる場合には、そのノイズフィルタ処理を用いて自動的に行ってもよい。
【００５０】
以上のようにして基準モデルエッジ画像が生成（図４のＳ２）されると、図４のステップＳ３として示したループ処理によって、隣接モデルエッジ画像の生成（ステップＳ４）を繰り返し、全ワーク分のモデルエッジを生成する。
【００５１】
この隣接モデルエッジ画像生成（ステップＳ４）では、生成済みのモデルエッジ画像を用いて、そのモデルエッジ画像に対応する対象物に隣接する同一設計形状の対象物に対応するモデルエッジ画像を生成する（隣接モデルエッジ画像生成工程）。ここで、基準モデルエッジの直後に生成される隣接モデルエッジ画像では、基準モデルエッジが「生成済みのモデルエッジ画像」として用いられる。その後の隣接モデルエッジ画像の生成では、基準モデルエッジ画像か、あるいは生成済みの隣接モデルエッジ画像が、「生成済みのモデルエッジ画像」として用いられる。「隣接（する）ワーク」の定義については後述するが、参照画像中で近接しているワークであるものとして考えてよい。
【００５２】
本実施形態では、モデルエッジ画像生成の対象となるワークを隣接ワーク、すでにモデルエッジ画像が生成されているワークを参照ワークと呼ぶ。以下では、図３において、ワーク６２１を隣接ワーク、ワーク６２２を参照ワークとして、図７を参照して隣接モデルエッジ画像生成の手順につき説明する。
【００５３】
まず、隣接ワーク６２１の切り出し画像生成を行う（ステップＳ４１）。この「切り出し」では、例えば前述同様の手法によって、作業者が例えばディスプレイに表示された参照画像から、隣接ワーク６２１を画成する矩形領域を設定する。この作業は、例えば、制御装置４に接続されたマウスなどのポインティングデバイスを用いて、ディスプレイに表示された参照画像内のワーク６２１を包含する領域の左上の点と右下の点とをクリックすることにより行う。クリックした２点の位置を矩形領域の左上および右下の点として、矩形領域を設定する。これにより、参照画像中の隣接ワーク６２１に相当する矩形領域のみを切り出し、当該領域の画像を切り出し画像７０とする（図８（ａ））。
【００５４】
次に、ステップＳ４１で生成した切り出し画像７０を被探索画像として生成済みの参照ワーク６２２のモデルエッジ画像を用いて、パターンマッチングを行う（ステップＳ４２）。
【００５５】
上述のように参照ワーク６２２と隣接ワーク６２１は隣り合って配置されたワークであり、お互いの距離が近いため、撮影された参照画像上での見え方はほぼ同じである。ほぼ同じとは、つまり、参照ワーク６２２から作られたモデルエッジ画像を使用して隣接ワーク６２１の画像に対してパターンマッチングを適用でき、ワーク位置を計測できる可能性が高いことを意味する。パターンマッチングによって隣接ワーク６２１の位置を計測した結果を用いて参照ワーク６２２のモデルエッジ７３の位置を補正（変形）すると、図８（ｂ）のように隣接ワーク６２１のエッジ７１と参照ワーク６２２のモデルエッジ７３は重なり合う位置となる。
【００５６】
その後、例えば、参照ワーク６２２のモデルエッジ７３からエッジ抽出領域７５を生成する（ステップＳ４３）。まず、参照ワーク６２２のモデルエッジ７３を分割して分割モデルエッジ７４とする（図８（ｃ））。モデルエッジの分割では、エッジを直線とみなせるまで分割する。エッジは連続した画素の列とみなすことができるため、モデルエッジ画像の各画素が持つエッジ方向が急激に変化する点で分割することで、直線とみなせるエッジ成分に分割することができる。図８（ｃ）の破線のように分断されたエッジは、この直線に近似可能なエッジ成分を模式的に示したものである。続いて、図８（ｄ）のように、分割モデルエッジ７４を領域化した後、膨張させてエッジ抽出領域７５を生成する。ここでは、例えば分割モデルエッジ７４を取り囲む外側の画素を有効画素とすることなどにより、図示のようなエッジ抽出領域７５へ膨張させる。
【００５７】
その後、各エッジ抽出領域７５の内側で、切り出し画像７０に対してエッジ抽出を行う（ステップＳ４５）。図８（ｅ）はこのエッジ抽出の結果を示している。また、図８（ｆ）は図８（ｅ）の点線で囲んだ部分を拡大して示しており、抽出されたエッジ７６には隣接ワーク６２１の輪郭に相当するエッジ７６ａとノイズエッジ７６ｂが含まれている。
【００５８】
続いてノイズエッジを除去する処理（ステップＳ４６）を行う。ノイズ除去処理では、抽出エッジ７６と分割モデルエッジ７４との比較を行い、例えば、エッジの長さ、傾き、エッジ間距離について評価して当該のエッジがノイズエッジか否かを判定し、ノイズエッジと判定されたエッジを除去する。ここで、エッジ長さは、エッジ端点間の距離として算出する。抽出エッジ７６と分割モデルエッジ７４とでエッジ長さを算出して比較し、例えば、分割モデルエッジ７４の長さの１／４以下の抽出エッジはノイズエッジとして判定する。なお、エッジ長さの算出方法はこれに限られるものではなく、例えば隣り合うエッジ点間距離の合計値として算出してもよい。
【００５９】
また、エッジ傾きは、エッジ端点間を結ぶ直線が画像ｘ軸方向と成す角度として算出する。抽出エッジ７６と分割モデルエッジ７４とでエッジ傾きを算出して比較し、例えば分割モデルエッジと傾きの差が４５度以上の抽出エッジはノイズエッジとして判定する。なお、エッジ傾きの算出方法はこれに限られるものではなく、例えばエッジに対して直線フィッティングを行って直線を推定し、その直線が画像ｘ軸方向となす角度として算出してもよい。
【００６０】
エッジ間距離は、図９に示すように、抽出エッジ７６の２つの端点から分割モデルエッジ７４までの距離７８，７９をそれぞれ算出する。このとき、分割モデルエッジ７４に対して直線フィッティングを行い、点と直線の距離としてそれぞれの距離７８、７９を算出し、それらの距離の平均値をエッジ間距離として算出する。そして、例えばエッジ間距離が５画素以上離れている抽出エッジはノイズエッジとして判定する。なお、エッジ間距離の算出方法はこれに限られるものではなく、例えば抽出エッジ７６と分割モデルエッジ７４の各重心点間距離として算出してもよい。以上のようにしてエッジ長さ、エッジ傾き、エッジ間距離に基づいてノイズエッジ判定を実施し、ノイズエッジと判定されたエッジを除去する。
【００６１】
各エッジ抽出領域７５でエッジ抽出（ステップＳ４５）とノイズ除去処理（ステップＳ４６）を繰り返し（ステップＳ４４）、最後に、各エッジを結合する（ステップＳ４７）。結合は、ステップＳ４５、Ｓ４６で抽出されたエッジ同士を端点が近いものから結合していき、すべてのエッジが結合されるまで繰り返す。このようにして隣接ワークのモデルエッジ画像７７が生成される（図８（ｇ））。
【００６２】
ここで、図３を参照して隣接ワークの定義について説明する。本実施形態のように、直交する格子状の行、列、の形態で配列されたワークが対象物の場合、特定のモデルエッジ生成済みのワークに対して、例えばその周囲の４方向、つまり上下左右に隣接するワークを隣接ワークとして扱うことが考えられる。この例では、ワーク６２２に隣接するワークは、ワーク６１２、６２１、６２３、６３２である。ただし、隣接の定義はこれに限定されるものではなく、例えば周囲８方向に隣接するワークを隣接ワークとしてもよいし、一定距離内に存在する全てのワークを隣接ワークとしてもよい。
【００６３】
再び、図４の隣接モデルエッジ画像生成のループ（Ｓ３）において、例えば隣接モデルから隣接モデルへと、連鎖的に、上記の隣接モデルエッジ画像生成を繰り返すことにより参照画像に撮影されている全ワークのモデルエッジ画像を生成することができる。図１４は、参照画像に撮影されている供給トレイ７上の１６個のワーク６に対して、モデルエッジ画像が連鎖的に生成される様子を模式的に例示している。
【００６４】
図１４では、白丸がモデルエッジ画像未生成のワーク、黒丸がモデルエッジ画像生成済みのワークを示している。また、図１４では、基準モデルエッジ画像が最初に生成されるワークがワーク６１で、その後、隣接モデルエッジ画像を連鎖的に繰り返し生成することにより隣接モデルエッジ画像が順次生成されていくワークをワーク６２、６３、６４、６５として示してある。図１４の例では、矢印の方向に隣接モデルエッジ画像の生成が進行し、下段中央のように最終的に全てのワークに対応する隣接モデルエッジ画像の生成が完了する。
【００６５】
本実施形態では、図３のワーク６２２を基準ワークとしており、基準ワークに対するモデルエッジ画像はすでに基準モデルエッジ画像生成（ステップＳ２）で生成済みである（図１４のワーク６１）。まず初めに、基準ワーク６２２を参照ワークとして、ワーク６２２の隣接ワークである図３のワーク６１２、６２１、６２３、６３２の各ワーク（図１４のワーク６２）について隣接モデルエッジ画像生成（ステップＳ４）を実施する。
【００６６】
次にワーク６１２を参照ワークとして、隣接ワークのモデルエッジ画像生成を行う。このとき、ワーク６１２の隣接ワークはワーク６１１、６１３、６２２であるが、ワーク６２２はすでにモデルエッジ画像生成済みであるため、ワーク６１１、６１３に対しても隣接モデルエッジ画像生成（ステップＳ４）を実施する（図１４のワーク６３）。また、ワーク６２１、６２３、６３２についてもそれぞれを参照ワークとして、同様に隣接ワークのモデルエッジ画像を生成する（図１４のワーク６３）。
【００６７】
次に、前述の手順で新たにモデルエッジ画像が生成されたワーク６１１、６１３、６２４、６３１、６３３、６４２について、それぞれを参照ワークとして、同様に隣接ワークのモデルエッジ画像を生成する（図１４のワーク６４、６５）。
【００６８】
以上のように、モデルエッジ画像生成済みの各ワークを参照ワークとして、隣接するワークの中でモデルエッジ画像未生成のワークに対して隣接モデルエッジ画像生成（ステップＳ４）を実施する手順を繰り返し、全ワークのモデルエッジ画像を生成する。手順をまとめると下記のようになる。
【００６９】
手順（１）：基準ワークに対するモデルエッジ画像を生成する（ステップＳ２）。
【００７０】
手順（２）：隣接ワーク（例えば周囲の４方向）の中でモデルエッジ画像未生成のワークに対して隣接モデルエッジ画像生成（ステップＳ４）を実施する。
【００７１】
手順（３）：手順（２）でモデルエッジ画像生成された全てのワークに対して手順（２）の処理を適用する。
【００７２】
手順（４）：全てのワークのモデルエッジ画像を生成したら処理を終了する。
【００７３】
ただし、隣接モデルエッジ画像生成の適用順は上記のような構成に限定されるものではない。例えば基準ワークを６１１に選び、初めに６１１→６１２→６１３→６１４のようにある一方向に実施し、その後、６１１→６２１→６３１→６４１のように別の方向に実施するようにしてもよい。
【００７４】
全ワークの隣接モデルエッジ画像生成が終了すると、図４のステップＳ５において、後程、実行されるパターンマッチングによるワーク探索を行うのに必要なパラメータ登録処理を行う。ここでは、パターンマッチングに必要な各種パラメータ、例えば、探索範囲や類似度閾値などの設定を行う。探索範囲の設定では、ワークの位置ごとにパターンマッチングの探索範囲を設定する。例えば、ワーク６２２の計測を行う場合の被探索画像中に探索範囲９２２を図１０のように設定する。同様に、他の全ての位置のワークに対して探索範囲を定めておくことができる。なお、類似度閾値は、後述する類似度Ｒの値に応じてパターンマッチングを成功とするかを決定するための閾値である。
【００７５】
＜探索処理＞
次に、図１１のフローチャートを参照して、パターンマッチングによるワーク探索の制御手順につき説明する。この探索は、例えば１つの供給トレイ７に配置された複数のワークの位置をそれぞれ特定するために行うことができる。そして、その探索結果に基づき、制御装置４は探索された位置にある特定のワークを操作するようロボットアーム３を制御することができる。
【００７６】
図１１の例では、１つの供給トレイ７に配置された複数のワークを１回撮影して被探索画像を取得し、供給トレイ７に配置された全てのワークをパターンマッチングによって探索して、その位置を取得するような構成となっている。
【００７７】
まず、ＣＰＵ５０のパターンマッチング演算部５５は、上記の事前処理で生成し、モデルエッジ画像や、事前処理で登録した探索範囲、類似度閾値などのパラメータを入力する（ステップＳ６）。モデルエッジ画像は、少なくとも１つまたは複数（ないし全て）の計測対象とするワークのモデルエッジ画像を入力する。これにより、モデルエッジ画像５７は図２のようにＲＡＭ５１に格納されて利用可能な状態となる。
【００７８】
パターンマッチング演算部５５は、供給トレイ７上のワーク６をカメラ２で撮影させ（図１、図２）、パターンマッチングを行うための被探索画像を入力する（ステップＳ７）。これにより、被探索エッジ画像５６は、図２のようにＲＡＭ５１に格納されて利用可能な状態となる。このとき、撮影されるワーク６は、少なくとも１つまたは複数（ないし全て）計測対象とするワークがトレイ上に配置されていればよい。
【００７９】
さらに、パターンマッチング演算部５５は、被探索画像に対して、上述したエッジ抽出処理（図５：ステップＳ２２）と同様の方法により、エッジ特徴を抽出し、被探索エッジ画像５６を生成する（ステップＳ８）。そして、パターンマッチング演算部５５は、モデルエッジ画像５７と、被探索エッジ画像５６とでパターンマッチングを行う（ステップＳ９）。
【００８０】
パターンマッチングの手法としては、モデルエッジ画像５７の中心を被探索エッジ画像５６内部でピクセル単位で移動させる。そして、移動させた各位置で、被探索エッジ画像５６からモデルエッジ画像５７とマッチングするための画像を抽出する。そして、抽出した画像とモデルエッジ画像５７との類似度Ｒを下式（数３）により求める。
【００８１】
【数３】
2019036072.tif 000005
【００８２】
ここで、Ｒijは被探索エッジ画像５６内のモデルエッジ画像５７の中心位置（ｉ，ｊ）における類似度を、また、ｎはエッジの数を示す。また、θＩは被探索エッジ画像５６のエッジ方向、θＴはモデルエッジ画像５７のエッジ方向をそれぞれ示す。    上式（数３）において、画像内の位置は、モデルエッジ画像５７の中心の被探索エッジ画像５６内での位置に相当する。また、数式３における類似度Ｒの範囲は０〜１となり、０が最も低い類似性、１が最も高い類似性を示す値となる。パターンマッチング演算部５５は、被探索エッジ画像５６の中の、計測対象ワークの探索範囲の全座標において上式（数３）により演算を実行し、最も類似度Ｒの高かった位置の座標（ｉ，ｊ）を記憶しておく。そして、最も類似度Ｒの高かった位置の座標（ｉ，ｊ）を、被探索エッジ画像５６のワーク６の検出位置とし、これに基づき被探索画像中でのワーク６の検出位置を算出する。ただし、最も高い類似度Ｒが類似度閾値より小さい場合、パターンマッチングは失敗したとして、エラーを出力してパターンマッチング処理を終了する。
【００８３】
なお、ロボットアーム３を制御するための座標系に対するカメラ２の設置位置、画角、撮影距離は全て既知である。従って、被探索エッジ画像（５６）中で検出したワークの位置（座標値）は、適当な座標変換によって、ロボットアーム３を制御するための座標系における位置（座標値）に変換することができる。これにより、制御装置４は、カメラ２で撮影した供給トレイ７上の特定のワーク６を操作するよう、ロボットアーム３を制御することができる。
【００８４】
なお、ロボットアーム３で同じ供給トレイ７とワーク６の組合せを取り扱う限り、オンラインの生産前に一度だけ事前処理でモデルエッジ画像生成を行えばよい。しかしながら、事前処理でモデルエッジ画像生成を行うタイミングはこれに限定されない。例えば、オンライン生産中にある一定のタイミングでモデルエッジ画像生成を実施してもよい。これにより、例えば経時的な環境光の変化やカメラ・照明の劣化による画質の経時的な変化に対応することができる。また、ワークのロット変更（ワークの一部の形状が変更されるなどのマイナーチェンジ）が行われる場合には、事前処理によってモデルエッジ画像生成を実施することができる。これにより、ロット変更によるワーク形状の微小な変化に対応し、正確かつ確実にロボットアーム３によりワークを操作して工業製品、部品などの製造を行うことができる。
【００８５】
ここで、図１５にロボットアーム３を用いて、パターンマッチングを利用して工業製品、部品などの製造を行う制御の全体の手順を示しておく。
【００８６】
図１５のステップＳ５３では、ロボット教示と、前述の事前処理によるモデルエッジ画像データの生成を行う。このロボット教示では、例えば、作業者により、不図示のティーチングペンダントなどと呼ばれる端末を用いて教示点列を指示し、またハンドの開閉操作などを指示する作業が行われる。また、ロボット教示は、他のロボットプログラミング専用の端末を用いて行ってもよい。
【００８７】
ステップＳ５４では、上記のように供給トレイ７を撮影して被探索画像を取得する。そして、ステップＳ５５のループで、ロボットアーム３による複数ワークに対するワーク操作を繰り返し実行する。図１５の手順は、複数ワークのそれぞれに対して、パターンマッチングによるワーク探索（Ｓ５６）と、探索結果に基づくロボットアーム３の制御（Ｓ５７）を繰り返すよう記載されている。このように、ワークの１個ごとに、当該のワークを探索するパターンマッチングを行い、その探索結果に基づきロボットアーム３の制御を行うよう制御してもよい。あるいは、上述のように、パターンマッチングによるワーク探索（Ｓ５６）は、ステップＳ５５のループの前に前置し、パターンマッチングによって全ワークの位置を全て探索し、その位置（座標情報）を予め取得する構成であってもよい。
【００８８】
以上のように、本実施形態によれば、生成済みのモデルエッジ画像を用いて、そのモデルエッジ画像に対応する対象物に隣接する同一設計形状の対象物に対応するモデルエッジ画像を生成する隣接モデルエッジ画像生成を行う。このため、規則的に配置された同一設計形状の複数ワークに対してパターンマッチングを行う場合に、各ワークに対して、適切なモデルエッジ画像を効率的に生成することができる。また、以上のようにして、パターンマッチングのための適切なモデルエッジ画像を生成できるため、例えばロボットアームを用いた生産ラインにおいて撮影した被探索画像に対して、パターンマッチングを利用して高精度なワーク探索が可能となる。このため、ロボットアームを正確に制御でき、高効率かつ、高精度な部品、あるいは工業製品の製造が可能となる。
【００８９】
［実施形態２］  
上記の実施形態１では、基準ワークを除く全てのワークに対して隣接モデルエッジ画像生成を実施している。これに対して、本実施形態２では、事前処理において、図１２に示すように隣接モデルエッジ画像生成の要否判断を行い、特定の条件のときには隣接モデルエッジ画像生成処理の一部または全ての手順を省略する。図１２は図７に示した実施形態１の隣接モデルエッジ画像生成処理に相当するが、図７の各ステップに対してステップＳ４８の類似度Ｒの判定による分岐を追加したものである。図１２ではそれ以外の工程は図７と同一であるため、以下では、重複する説明は省略するものとする。また、ワーク探索に関しては、実施形態１と同様に実施することができる。
【００９０】
＜事前処理＞
本実施形態２の隣接モデルエッジ画像生成処理では、参照モデルエッジ画像をそのまま隣接モデルエッジ画像として使用できる場合には、隣接モデルエッジ画像生成の一部またはすべてを省略する。
【００９１】
図１２の隣接モデルエッジ画像生成処理では、参照モデルエッジ画像でパターンマッチング（ステップＳ４２）を実施した後、その類似度Ｒがあらかじめ定めた閾値以上かどうかを判断する（ステップＳ４８）。そして、類似度Ｒ（数３）が閾値以上の場合は参照モデルエッジ画像で隣接ワークのモデルエッジ画像を代用可能と判断し、参照モデルエッジ画像のコピーを移動して隣接モデルエッジ画像として設定し（ステップＳ４９）、処理を終了する。このとき、エッジ抽出に関わる処理ステップＳ４３と、ステップＳ４５〜Ｓ４７のループ（Ｓ４４）は省略される。
【００９２】
なお、隣接モデルエッジ画像生成の省略方法は上記の方法に限られるものではない。例えば、図１３に示すように、供給トレイ７上の複数のワーク６を互いに近接する少数（この例では４個）のワーク６によって構成されるグループＧ１〜Ｇ４にグループ分けしておく。そして、参照ワークと隣接ワークが同じグループ内であるときには参照モデルエッジ画像のコピーを移動して隣接モデルエッジ画像として取得し、隣接モデルエッジ画像生成（ステップＳ４１〜Ｓ４７）を省略するようにしてもよい。
【００９３】
このようにしてある条件を満たす場合に隣接モデルエッジ画像生成処理（ステップＳ４１〜Ｓ４７）の一部またはすべてを省略し、参照モデルエッジ画像のコピーを隣接モデルエッジ画像として設定することで置き換えることができる。以上のようにして、本実施形態２のモデルエッジ画像生成処理によれば、隣接モデルエッジ画像生成処理の一部またはすべての手順を省略することで、パターンマッチングの事前処理に要する時間を短縮することができる。
【００９４】
本発明は、上述の実施例の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステムまたは装置に供給し、そのシステムまたは装置のコンピュータにおける１つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【符号の説明】
【００９５】
１…ロボット装置、２…カメラ、３…ロボットアーム、４…制御装置、６…ワーク、７…供給トレイ、１２…基準ワークの切り出し画像、１３…エッジ画像、１６…基準モデルエッジ画像、３２…ハンド、５０…ＣＰＵ、５１…ＲＡＭ、５２…ＲＯＭ、７７…モデルエッジ画像、８０…モータ、８１…エンコーダ、８２…モータ制御部。
【図１】
2019036072.tif 000006
【図２】
2019036072.tif 000007
【図３】
2019036072.tif 000008
【図４】
2019036072.tif 000009
【図５】
2019036072.tif 000010
【図６】
2019036072.tif 000011
【図７】
2019036072.tif 000012
【図８】
2019036072.tif 000013
【図９】
2019036072.tif 000014
【図１０】
2019036072.tif 000015
【図１１】
2019036072.tif 000016
【図１２】
2019036072.tif 000017
【図１３】
2019036072.tif 000018
【図１４】
2019036072.tif 000019
【図１５】
2019036072.tif 000020