(57)【要約】  【課題】組立体の検査における教示を容易にする。  【解決手段】画像取得部４２ｂは、第１の部品と第２の部品とを組立てた組立体の第１の画像データを取得する。照合部４２ｃは、画像取得部４２ｂが取得した第１の画像データと、記憶部４３に予め記憶された組立体の第２の画像データとを照合する。また、照合部４２ｃは、第１の画像データと第２の画像データとの照合によって得られる第３の画像データと、第２の画像データとを照合する。算出部４２ｄは、照合部４２ｃの照合結果に基づいて、第１の部品と第２の部品との相対位置を算出する。検査部４２ｅは、算出部４２ｄが算出した相対位置に基づいて、組立体の検査を行う。【選択図】図２
2015079414.tif 000002
【特許請求の範囲】
【請求項１】
第１の部品と第２の部品とを組立てた組立体を含む第１の画像データを取得する画像取得部と、
前記画像取得部が取得した前記第１の画像データと、記憶装置に予め記憶された前記組立体を含む第２の画像データとを照合する第１の照合部と、
前記第１の照合部の照合によって得られる第３の画像データと、前記第２の画像データとを照合する第２の照合部と、
前記第１の照合部の照合結果と前記第２の照合部の照合結果とに基づいて、前記第１の部品と前記第２の部品との相対位置を算出する算出部と、
前記算出部が算出した前記相対位置に基づいて、前記組立体の検査を行う検査部と、
を有することを特徴とする画像処理装置。
【請求項２】
請求項１に記載の画像処理装置であって、
前記第１の照合部は、前記第１の画像データと前記第２の画像データとを照合し、前記第１の画像データに含まれる前記組立体の、前記第２の画像データに含まれる前記組立体に対応する部分を消去して前記第３の画像データを得ることを特徴とする画像処理装置。
【請求項３】
請求項２に記載の画像処理装置であって、
前記算出部は、前記第１の照合部における前記第１の画像データと前記第２の画像データとの照合によって得られる前記第１の画像データに含まれる前記組立体の位置および姿勢と、前記第２の照合部における前記第３の画像データと前記第２の画像データとの照合によって得られる前記第３の画像データに含まれる前記組立体の位置および姿勢とに基づいて、前記相対位置を算出することを特徴とする画像処理装置。
【請求項４】
請求項１〜３のいずれか一項に記載の画像処理装置であって、
前記検査部は、前記算出部が算出した前記相対位置に基づいて、前記組立体が良品か否か検査することを特徴とする画像処理装置。
【請求項５】
請求項２に記載の画像処理装置であって、
前記検査部は、前記第３の画像データにおいて、前記組立体の輪郭が所定画素数以上消去された場合、前記組立体が良品であると判定することを特徴とする画像処理装置。
【請求項６】
請求項１〜５のいずれか一項に記載の画像処理装置であって、
前記相対位置には、前記第１の部品と前記第２の部品との角度によるずれが含まれることを特徴とする画像処理装置。
【請求項７】
第１の部品と第２の部品とを組立てるマニピュレータと、
前記マニピュレータが組立てた組立体を含む第１の画像データを取得する画像取得部と、
前記画像取得部が取得した前記第１の画像データと、記憶装置に予め記憶された前記組立体を含む第２の画像データとを照合する第１の照合部と、
前記第１の照合部の照合によって得られる第３の画像データと、前記第２の画像データとを照合する第２の照合部と、
前記第１の照合部の照合結果と前記第２の照合部の照合結果とに基づいて、前記第１の部品と前記第２の部品との相対位置を算出する算出部と、
前記算出部が算出した前記相対位置に基づいて、前記組立体の検査を行う検査部と、
を有することを特徴とするロボット。
【請求項８】
第１の部品と第２の部品とを組立てた組立体を含む第１の画像データを取得する画像取得ステップと、
前記画像取得ステップが取得した前記第１の画像データと、記憶装置に予め記憶された前記組立体を含む第２の画像データとを照合する第１の照合ステップと、
前記第１の照合ステップの照合によって得られる第３の画像データと、前記第２の画像データとを照合する第２の照合ステップと、
前記第１の照合ステップの照合結果と前記第２の照合ステップの照合結果とに基づいて、前記第１の部品と前記第２の部品との相対位置を算出する算出ステップと、
前記算出ステップが算出した前記相対位置に基づいて、前記組立体の検査を行う検査ステップと、
を有することを特徴とする画像処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置、ロボット、および画像処理方法に関する。
【背景技術】
【０００２】
特許文献１には、組立体を構成する各部品の形状または組み付け位置を効率的に、かつ精度よく検査することができる組立体の検査方法および装置が提案されている。
【０００３】
特許文献２には、検査画像に局所的な歪みが存在する場合でも、照合精度を向上させることができる画像照合装置、画像照合方法、プログラム及び記録媒体が提案されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開平８−５３３４号公報
【特許文献２】特開２００２−３３４３３１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ところで、例えば複数の部品の組み付け作業をロボットにさせ、その組立体が適切に組み立てられたか否かをロボットに検査させる場合、組立体のそれぞれの部品の画像データをロボットに教示する必要がある。ロボットは、例えば、組立てた組立体の画像データと、教示された組立体のそれぞれの部品の画像データとを比較して、組立体を適切に組み立てたか否か検査する。
【０００６】
すなわち、部品数に応じた複数の画像データをロボットに教示しなければならず、教示に手間がかかる。
【０００７】
そこで本発明は、組立体の検査における教示を容易にすることを目的とする。
【課題を解決するための手段】
【０００８】
上記の課題を解決するための本発明の第一の態様は、第１の部品と第２の部品とを組立てた組立体を含む第１の画像データを取得する画像取得部と、前記画像取得部が取得した前記第１の画像データと、記憶装置に予め記憶された前記組立体を含む第２の画像データとを照合する第１の照合部と、前記第１の照合部の照合によって得られる第３の画像データと、前記第２の画像データとを照合する第２の照合部と、前記第１の照合部の照合結果と前記第２の照合部の照合結果とに基づいて、前記第１の部品と前記第２の部品との相対位置を算出する算出部と、前記算出部が算出した前記相対位置に基づいて、前記組立体の検査を行う検査部と、を有することを特徴とする画像処理装置である。第一の態様によれば、第１の部品と第２の部品とを組立てた組立体の画像データを教示すればよく、１つの教示データで組立体の検査ができ、組立体の検査における教示を容易にすることができる。また、第１の画像データと第２の画像データとの照合によって得られる第３の画像データを、再度第２の画像データと照合することによって、第１の部品と第２の部品との相対位置を算出し、算出した相対位置に基づいて組立体の検査を行うことができる。これにより、例えば、第２の部品と第２の部品との相対位置のずれが許容範囲内であれば検査合格と判断することができる一方、相対位置のずれが許容範囲外であれば検査不合格と判断することができる。
【０００９】
前記第１の照合部は、前記第１の画像データと前記第２の画像データとを照合し、前記第１の画像データに含まれる前記組立体の、前記第２の画像データに含まれる前記組立体に対応する部分を消去して前記第３の画像データを得ることを特徴としてもよい。これにより、第１の部品と第２の部品とのそれぞれの画像データを教示しなくて済む。
【００１０】
前記算出部は、前記第１の照合部における前記第１の画像データと前記第２の画像データとの照合によって得られる前記第１の画像データに含まれる前記組立体の位置および姿勢と、前記第２の照合部における前記第３の画像データと前記第２の画像データとの照合によって得られる前記第３の画像データに含まれる前記組立体の位置および姿勢とに基づいて、前記相対位置を算出することを特徴としてもよい。これにより、組立体の位置および姿勢に基づいて、第１の部品と第２の部品との相対位置を算出することができる。
【００１１】
前記検査部は、前記算出部が算出した前記相対位置に基づいて、前記組立体が良品か否か検査することを特徴としてもよい。これにより、組立品が良品か否か適切に検査することができる。
【００１２】
前記検査部は、前記第１の照合部の照合結果に基づいて、前記組立体の輪郭が所定画素数以上消去された場合、前記組立体が良品であると判定することを特徴としてもよい。これにより、組立体が良品か否かの判定を早くすることも可能となる。
【００１３】
前記相対位置には、前記第１の部品と前記第２の部品との角度によるずれが含まれることを特徴としてもよい。これにより、第１の部品と第２の部品との角度によるずれによっても、組立品を検査することが可能となる。
【００１４】
上記の課題を解決するための本発明の第二の態様は、第１の部品と第２の部品とを組立てるマニピュレータと、前記マニピュレータが組立てた組立体を含む第１の画像データを取得する画像取得部と、前記画像取得部が取得した前記第１の画像データと、記憶装置に予め記憶された前記組立体を含む第２の画像データとを照合する第１の照合部と、前記第１の照合部の照合によって得られる第３の画像データと、前記第２の画像データとを照合する第２の照合部と、前記第１の照合部の照合結果と前記第２の照合部の照合結果とに基づいて、前記第１の部品と前記第２の部品との相対位置を算出する算出部と、前記算出部が算出した前記相対位置に基づいて、前記組立体の検査を行う検査部と、を有することを特徴とするロボットである。第二の態様によれば、第１の部品と第２の部品とを組立てた組立体の画像データを教示すればよく、組立体の検査における教示を容易にすることができる。また、第１の画像データと第２の画像データとの照合によって得られる第３の画像データを、再度第２の画像データと照合することによって、第１の部品と第２の部品との相対位置を算出し、算出した相対位置に基づいて組立体の検査を行うことができる。これにより、例えば、第２の部品と第２の部品との相対位置のずれが許容範囲内であれば検査合格と判断することができる一方、相対位置のずれが許容範囲外であれば検査不合格と判断することができる。
【００１５】
上記の課題を解決するための本発明の第三の態様は、第１の部品と第２の部品とを組立てた組立体を含む第１の画像データを取得する画像取得ステップと、前記画像取得ステップが取得した前記第１の画像データと、記憶装置に予め記憶された前記組立体を含む第２の画像データとを照合する第１の照合ステップと、前記第１の照合ステップの照合によって得られる第３の画像データと、前記第２の画像データとを照合する第２の照合ステップと、前記第１の照合ステップの照合結果と前記第２の照合ステップの照合結果とに基づいて、前記第１の部品と前記第２の部品との相対位置を算出する算出ステップと、前記算出ステップが算出した前記相対位置に基づいて、前記組立体の検査を行う検査ステップと、を有することを特徴とする画像処理方法である。第三の態様によれば、第１の部品と第２の部品とを組立てた組立体の画像データを教示すればよく、組立体の検査における教示を容易にすることができる。また、第１の画像データと第２の画像データとの照合によって得られる第３の画像データを、再度第２の画像データと照合することによって、第１の部品と第２の部品との相対位置を算出し、算出した相対位置に基づいて組立体の検査を行うことができる。これにより、例えば、第２の部品と第２の部品との相対位置のずれが許容範囲内であれば検査合格と判断することができる一方、相対位置のずれが許容範囲外であれば検査不合格と判断することができる。
【図面の簡単な説明】
【００１６】
【図１】本発明の一実施形態に係るロボット１１の概略構成の一例を示した図である。
【図２】ロボット制御装置１２の機能構成の一例を示した図である。
【図３】記憶部４３に記憶される画像データの例を示した図である。
【図４】ロボット制御装置１２の機能を実現するハードウェア構成の一例を示す図である。
【図５】画像処理部４２の動作の一例を示すフロー図である。
【図６】画像処理部４２の画像処理例を説明する図（その１）である。
【図７】画像処理を説明する図（その２）である。
【図８】画像処理を説明する図（その３）である。
【図９】回転によるずれの検出を説明する図である。
【図１０】教示データ例を説明する図である。
【図１１】従来の組立体の各部品について教示データをロボット制御装置に与える場合の例を説明する図である。
【図１２】従来の組立体の各部品について教示データが与えられた場合のロボット制御装置の動作の一例を示すフロー図である。
【図１３】従来の教示データ例を説明する図である。
【発明を実施するための形態】
【００１７】
図１は、本発明の一実施形態に係るロボット１１の概略構成の一例を示した図である。図１には、ロボット１１の他に、ロボット１１が組立てる部品２１、２２と、作業台３１と、が示してある。
【００１８】
ロボット１１は、ロボット１１の全体を制御するロボット制御装置１２と、一以上のジョイント１５および一以上のリンク１６を含むアーム１４と、アーム１４の先端部に設けられたハンド１８と、アーム１４の先端部とハンド１８との間（手首部分と呼ぶこともできる。）に設けられた力覚センサー１７と、ハンド１８に設けられた撮像装置１９と、を有する。
【００１９】
力覚センサー１７は、例えば、ハンド１８に作用する力や、モーメントを検出する。力覚センサー１７の出力は、ロボット制御装置１２に送られ、ロボット制御装置１２によるロボット１１の動作制御などに用いられる。力覚センサー１７としては、例えば、並進３軸方向の力成分と、回転３軸回りのモーメント成分の６成分を同時に検出することができる６軸力覚センサーを用いることができる。もちろん、力覚センサー１７の軸数は特に限定されず、例えば３軸でもよい。なお、力覚センサー１７は、力検出部と呼ぶこともできる。
【００２０】
ハンド１８は、例えば、複数の指を備え、少なくとも２本の指で部品２１（第１の部品）と部品２２（第２の部品）とのそれぞれを把持することができる。また、ハンド１８は、部品２１と部品２２とを組み合わせた組立体を把持することができる。ハンド１８は、アーム１４の先端部に対して着脱可能であってもよい。なお、ハンド１８は、エンドエフェクターの一種ということができる。エンドエフェクターは、対象物を把持したり、持ち上げたり、吊り上げたり、吸着したり、ワークを加工したりするための部材である。エンドエフェクターは、ハンド、フック、吸盤など、様々な形態をとることができる。また、エンドエフェクターは、一本のアームに対して複数設けるようにしてもよい。
【００２１】
アーム１４、力覚センサー１７、およびハンド１８を含むユニットを、可動部やマニピュレータと呼ぶこともできる（以下では、可動部と呼ぶ。）。図１の例では、ロボット１１は、可動部１３を２本有する。可動部１３には、ジョイント１５やハンド１８等の各部を動作させるため、例えば、アクチュエーター（図示せず）が備えられる。アクチュエーターは、例えば、サーボモーターやエンコーダーなどを備える。エンコーダーが出力するエンコーダー値は、例えば、ロボット制御装置１２によるロボット１１のフィードバック制御などに用いられる。
【００２２】
ロボット１１は、ロボット制御装置１２から与えられる制御命令に従って、各ジョイント１５を連動させて駆動することにより、アーム１４の先端部などに設定された注目位置（以下、エンドポイントという。）を、所定の可動範囲内で自在に移動させたり自由な方向へ向けたりすることができる。また、ハンド１８で対象物などを把持したり解放したりすることができる。なお、エンドポイントの位置は、アームの先端部に限定されず、例えば、エンドエフェクターの先端部などに設定されてもよい。
【００２３】
撮像装置１９は、ロボット１１の作業領域（例えば、作業台３１上の可動部１３により作業可能な範囲である３次元空間）を撮像して、画像データを生成する。撮像装置１９は、例えば可視光カメラ、赤外線カメラ等を採用することができる。撮像装置１９により撮像された画像は、ロボット制御装置１２に入力される。
【００２４】
上記のロボット１１の構成は、本実施形態の特徴を説明するにあたって主要構成を説明したのであって、上記した構成例に限られない。また、一般的なロボットが備える構成を排除するものではない。
【００２５】
例えば、図１ではジョイント数が６個（６軸）の例が示されているが、ジョイントの数（「軸数」ともいう）やリンクの数を増減させてもよい。また、ジョイント、リンク、ハンド等の各種部材の形状、大きさ、配置、構造等も適宜変更してよい。
【００２６】
また、撮像装置１９の設置位置は、特に限定されず、作業台３１や天井または壁に設置されてもよい。また、撮像装置１９に替えてまたは加えて、ロボット１１のアーム１４の先端部分、胴体部、あるいは頭部などに、撮像装置を設けるようにしてもよい。
【００２７】
また、ロボット制御装置１２は、ロボット１１が有しているが、例えば、ロボット１１の外部に独立して設けてもよい。例えば、ロボット１１の外部に独立して設けたロボット制御装置１２を、例えば、配線によってロボット１１と接続し、ロボット１１を制御するようにしてもよい。
【００２８】
図２は、ロボット制御装置１２の機能構成の一例を示した図である。図２には、図１に示したロボット制御装置１２の他に、図１で説明した可動部１３と、アーム１４と、ハンド１８と、撮像装置１９と、が示してある。ロボット制御装置１２は、制御部４１と、画像処理部４２と、記憶部４３と、を有している。
【００２９】
制御部４１は、可動部１３のアーム１４およびハンド１８の動作を制御する。例えば、制御部４１は、部品２２に部品２１を組み込んだ組立体を組立てるように、アーム１４およびハンド１８の動作を制御する。
【００３０】
画像処理部４２は、受付部４２ａと、画像取得部４２ｂと、照合部４２ｃ（第１の照合部および第２の照合部）と、算出部４２ｄと、検査部４２ｅと、を有している。受付部４２ａは、例えば、キーボードやタッチパネルなどの入力装置を介して、ユーザから組立体の教示データ（画像データ）を受付ける。受付部４２ａは、ユーザから受付けた教示データを記憶部４３に記憶する。なお、ロボット１１が、例えば、パーソナルコンピュータなどの端末装置と接続されている場合、受付部４２ａは、端末装置が備えるキーボード等を介して、ユーザから教示データを受付けてもよい。
【００３１】
図３は、記憶部４３に記憶される教示データの例を示した図である。図３には、部品５３に部品５２を組み込んだ組立体５１を含む教示データの例が示してある。部品５２および部品５３は、図１に示した部品２１および部品２２と同種の部品である。
【００３２】
受付部４２ａは、部品５３に部品５２を組み込んだ組立体５１の教示データをユーザから受付け、記憶部４３に記憶する。すなわち、ユーザは、組立体５１の１つの教示データを記憶部４３に記憶すればよく、組立体５１の部品５２、５３ごとの教示データを記憶部４３に記憶しなくてよい。
【００３３】
図２の説明に戻る。撮像装置１９は、アーム１４およびハンド１８が組立てた組立体を撮像する。例えば、撮像装置１９は、アーム１４およびハンド１８が組立てた部品２１と部品２２との組立体を撮像する。画像取得部４２ｂは、撮像装置１９が撮像した、組立体を含む画像データ（第１の画像データ）を取得する。
【００３４】
照合部４２ｃは、画像取得部４２ｂが取得した組立体を含む画像データと、記憶部４３に記憶されている教示データ（第２の画像データ）とを照合し、画像データに含まれている（写っている）組立体の位置および姿勢を取得する。また、照合部４２ｃは、位置および姿勢を取得した組立体の、教示データと重なる部分を消去した画像を出力する（第３の画像データ）。照合部４２ｃは、教示データと重なる部分を消去した組立体を含む画像データと、記憶部４３に記憶されている教示データとを照合し、画像データに含まれている、教示データと重なる部分を消去した組立体の位置および姿勢を取得する。
【００３５】
算出部４２ｄは、照合部４２ｃの照合結果に基づいて、組立体を構成している各部品の相対位置を算出する。例えば、算出部４２ｄは、照合部４２ｃの照合結果に基づいて、アーム１４およびハンド１８が組立てた組立体の、部品２２に対する部品２１のずれなどを算出する。相対位置には、例えば、各部品の水平方向および垂直方向のずれと、回転のずれとが含まれる
【００３６】
検査部４２ｅは、算出部４２ｄが算出した相対位置に基づいて、組立体の検査を行う。例えば、検査部４２ｅは、算出部４２ｄが算出した部品２２に対する部品２１のずれに基づいて、組立体が良品か否か検査する。
【００３７】
図４は、ロボット制御装置１２の機能を実現するハードウェア構成の一例を示す図である。
【００３８】
ロボット制御装置１２は、例えば、図４に示すような、ＣＰＵ（Central Processing Unit）等の演算装置６１と、ＲＡＭ（Random Access Memory）などの主記憶装置６２と、ＨＤＤ（Hard Disk Drive）等の補助記憶装置６３と、有線又は無線により通信ネットワークと接続するための通信インターフェイス（Ｉ／Ｆ）６４と、マウス、キーボード、タッチセンサーやタッチパネルなどの入力装置６５と、液晶ディスプレイなどの表示装置６６と、ＤＶＤ（Digital Versatile Disk）などの持ち運び可能な記憶媒体に対する情報の読み書きを行う読み書き装置６７と、を備えるコンピューター６０で実現することができる。
【００３９】
例えば、制御部４１と画像処理部４２の機能は、補助記憶装置６３などから主記憶装置６２にロードされた所定のプログラムを演算装置６１が実行することで実現される。受付部４２ａは、例えば、演算装置６１が入力装置６５を利用することで実現される。記憶部４３は、例えば、演算装置６１が主記憶装置６２または補助記憶装置６３を利用することで実現される。ロボット１１と、ロボット制御装置１２と、その他の機器との通信は、例えば、演算装置６１が通信Ｉ／Ｆ６４を利用することで実現される。
【００４０】
なお、上記の所定のプログラムは、例えば、読み書き装置６７により読み取られた記憶媒体からインストールされてもよいし、通信Ｉ／Ｆ６４を介してネットワークからインストールされてもよい。
【００４１】
また、制御部４１または画像処理部４２の一部またはすべての機能は、例えば、演算装置、記憶装置、駆動回路などを備えるＡＳＩＣ（Application Specific Integrated Circuit）を備えるコントローラー基板等により実現してもよい。
【００４２】
上述したロボット１１の機能構成は、ロボット１１の構成を理解容易にするために、主な処理内容に応じて分類したものである。構成要素の分類の仕方や名称によって、本願発明が制限されることはない。ロボット１１の構成は、処理内容に応じて、さらに多くの構成要素に分類することもできる。また、１つの構成要素がさらに多くの処理を実行するように分類することもできる。また、各構成要素の処理は、１つのハードウェアで実行されてもよいし、複数のハードウェアで実行されてもよい。例えば、制御部４１と画像処理部４２とのそれぞれの処理は、別々のハードウェアで実行されてもよく、画像処理部４２は、画像処理装置として実現してもよい。
【００４３】
次に、ロボット制御装置１２の動作について説明する。制御部４１は、アーム１４およびハンド１８を制御して、部品２１と部品２２とから構成される組立体を組立て、その組立体を作業台３１の所定の位置に置く。
【００４４】
制御部４１は、組み立てた組立体を作業台３１の所定の位置に置くと、組立体を撮像装置１９で撮像する。制御部４１は、教示データの組立体５１が撮像された条件（例えば、組立体５１を撮像した方向および距離）と同じ条件で、組立てた組立体が撮像されるように、アーム１４およびハンド１８を制御し、ハンド１８に設けられた撮像装置１９の位置を制御する。
【００４５】
撮像装置１９がハンド１８ではなく、例えば、作業台３１や天井または壁に設置されている場合は、制御部４１は、教示データの組立体５１が撮像された条件と同じ条件で、組立てた組立体が撮像装置１９で撮像されるように、組立体を作業台３１の所定の位置に置く。制御部４１は、組立体を作業台３１の所定の位置に置くと、組立体を撮像装置１９で撮像する。
【００４６】
図５は、画像処理部４２の動作の一例である画像処理方法を示すフロー図である。図６、図７、および図８は、画像処理部４２の画像処理例を説明する図である。以下では、図５のフロー図を用いて画像処理部４２の動作を説明するとともに、適宜、図６、図７、および図８に示す画像処理例を用いて画像処理部４２の動作を説明する。
【００４７】
画像処理部４２は、上記したように、組立体が撮像装置１９で撮像されると、以下のステップに基づく処理を開始する。記憶部４３には、組立体５１の教示データが予め記憶されている。
【００４８】
画像取得部４２ｂは、撮像装置１９が撮像した、部品２１と部品２２との組立体の画像データを取得する（ステップＳ１）。以下では、ロボット１１が組立てた部品２１と部品２２との組立体を検査対象物と呼ぶことがある。
【００４９】
図６（ａ）、図７（ａ）、および図８（ａ）には、画像取得部４２ｂが取得した、検査対象物７１（ロボット１１が組み立てた部品２１と部品２２との組立体）の画像例が示してある。図６（ａ）に示す検査対象物７１は、部品２２に部品２１が適切に組み込まれた例を示している。図７（ａ）および図８（ａ）に示す検査対象物７１は、部品２２に対し、部品２１が図中右方向にずれて組み込まれた例を示している。図８（ａ）に示す検査対象物７１は、図７（ａ）に示す検査対象物７１より、部品２２に対し、部品２１が大きくずれている。
【００５０】
図５の説明に戻る。次に、照合部４２ｃは、画像取得部４２ｂが取得した検査対象物を含む画像データと、記憶部４３に記憶されている教示データとを照合し、画像取得部４２ｂが取得した画像データに含まれている検査対象物の位置および姿勢を取得する（ステップＳ２）。例えば、照合部４２ｃは、図１０で説明するサーチプロパティーに基づいて、画像取得部４２ｂが取得した画像データに含まれる検査対象物の輪郭と、教示データに含まれる組立体５１の輪郭とを検出する。照合部４２ｃは、図１０で説明するサーチプロパティーに基づいて、検出した画像データの輪郭と、教示データの輪郭とを照合し、教示データの輪郭に最も適合する画像データの輪郭を特定する（例えば、２つの輪郭の一致度を見て画像データの輪郭を特定する）。すなわち、照合部４２ｃは、画像データ上のどこに検査対象物が存在しているかを特定する。そして、照合部４２ｃは、画像データと教示データとの照合により、検査対象物７１が存在していると特定した際の教示データの位置および姿勢を、画像データに含まれている検査対象物の位置および姿勢として取得する。
【００５１】
図６（ｂ）、図７（ｂ）、および図８（ｂ）には、照合部４２ｃによる、検査対象物７１の位置および姿勢（姿勢については後述する）の取得結果例が示してある。図６（ｂ）、図７（ｂ）、および図８（ｂ）に示す点線８１は、教示データの輪郭（図３に示した組立体５１の輪郭）を示している。また、図６（ｂ）、図７（ｂ）、および図８（ｂ）に示す点線８１は、照合部４２ｃが取得した検査対象物７１の位置を示している。図６（ｂ）、図７（ｂ）、および図８（ｂ）に示す点線８１より細い線は、画像データに含まれている検査対象物７１を示している。
【００５２】
上記したように、照合部４２ｃは、画像取得部４２ｂが取得した画像データと、教示データとを照合し、教示データの輪郭に最も適合する画像データの輪郭を特定する。図６（ｂ）の場合、教示データの輪郭は、点線８１に示すように、画像データに含まれている検査対象物７１の全ての輪郭において一致する。従って、図６（ｂ）の場合、照合部４２ｃは、画像データ上の点線８１に示す位置において検査対象物７１が存在していると特定する。そして、照合部４２ｃは、検査対象物７１が存在していると特定した際の教示データの位置（図６（ｂ）に示す点線８１の位置）を検査対象物７１の位置として取得する。
【００５３】
図７（ｂ）の場合、教示データの輪郭は、点線８１に示すように、画像データに含まれている検査対象物７１の部品２２において最も一致する。これは、部品２２の輪郭が、部品２１の輪郭より大きく、図３に示した教示データの部品５２の輪郭を、部品２１の輪郭に重ねたときよりも、教示データの部品５３の輪郭を、部品２２の輪郭に重ねたときの方が、輪郭の一致度が高いからである。従って、図７（ｂ）の場合、照合部４２ｃは、画像データ上の点線８１に示す位置において検査対象物７１が存在していると特定する。そして、照合部４２ｃは、検査対象物７１が存在していると特定した際の教示データの位置（図７（ｂ）に示す点線８１の位置）を検査対象物７１の位置として取得する。
【００５４】
図８（ｂ）の場合、教示データの輪郭は、点線８１に示すように、画像データに含まれている検査対象物７１の部品２２において最も一致する。これは、部品２２の輪郭が、部品２１の輪郭より大きく、図３に示した教示データの部品５２の輪郭を、部品２１の輪郭に重ねたときよりも、教示データの部品５３の輪郭を、部品２２の輪郭に重ねたときの方が、輪郭の一致度が高いからである。従って、図８（ｂ）の場合、照合部４２ｃは、画像データ上の点線８１に示す位置において検査対象物７１が存在していると特定する。そして、照合部４２ｃは、検査対象物７１が存在していると特定した際の教示データの位置（図８（ｂ）に示す点線８１の位置）を検査対象物７１の位置として取得する。
【００５５】
なお、照合部４２ｃは、例えば、検査対象物７１が存在していると特定した際の教示データの重心位置を、検査対象物７１の位置として取得してよい。また、輪郭を検出（抽出）する画像処理には、一般的な手法を採用することができる。
【００５６】
図５の説明に戻る。次に、照合部４２ｃは、ステップＳ２にて位置および姿勢を取得した検査対象物の、教示データに対応する部分を消去する（ステップＳ３）。例えば、照合部４２ｃは、画像データに含まれている検査対象物の、画像データと教示データとの照合により検査対象物７１が存在していると特定した際の教示データと重なる部分を消去する。
【００５７】
例えば、図６（ｂ）の場合、点線８１の位置において、検査対象物７１の位置が取得されている。そして、図６（ｂ）では、画像データに含まれている検査対象物７１の輪郭と、教示データの輪郭（点線８１）は全て重なっている。従って、画像データに含まれている検査対象物７１の輪郭は、全て消去される。
【００５８】
また、図７（ｂ）の場合、点線８１の位置において、検査対象物７１の位置が取得されている。そして、図７（ｂ）では、画像データに含まれている検査対象物７１の部品２２の輪郭は、全て教示データの輪郭（点線８１）と重なっており、部品２１の輪郭は、一部教示データの輪郭と重なっている。従って、画像データに含まれている検査対象物７１は、図７（ｃ）に示すように、部品２２の全ての輪郭と、部品２１の一部の輪郭とが消去される。
【００５９】
また、図８（ｂ）の場合、点線８１の位置において、検査対象物７１の位置が取得されている。そして、図８（ｂ）では、画像データに含まれている検査対象物７１の部品２２の輪郭は、全て教示データの輪郭（点線８１）と重なっており、部品２１の輪郭は、一部教示データの輪郭と重なっている。従って、画像データに含まれている検査対象物７１は、図８（ｃ）に示すように、部品２２の全ての輪郭と、部品２１の一部の輪郭とが消去される。
【００６０】
なお、照合部４２ｃは、検査対象物の画像データの教示データに対応する部分を、幅を持たせて消去してもよい。例えば、照合部４２ｃは、検査対象物と教示データとを重ね合わせたとき、それぞれの輪郭が所定の画素数の範囲内でずれていれば、検査対象物と教示データは重なっていると判定し、検査対象物の輪郭の画像を消去する。
【００６１】
図５の説明に戻る。次に、照合部４２ｃは、ステップＳ３にて検査対象物の画像データを所定画素数以上消去したか否か判定する（ステップＳ４）。照合部４２ｃは、検査対象物の画像データを所定画素数以上消去したと判定した場合、ステップＳ８の処理へ移行する。照合部４２ｃは、検査対象物の画像データを所定以上消去していないと判定した場合、ステップＳ５の処理へ移行する。
【００６２】
例えば、照合部４２ｃは、検査対象物の輪郭の画像データを９０％以上消去したか否か判定するとする。また、図６（ａ）に示す検査対象物７１の輪郭は、１００％消去され、図７（ａ）および図８（ａ）に示す検査対象物７１の輪郭は、図７（ｃ）および図８（ｃ）に示すように、部品２１の輪郭が一部消去されなかったため、９０％以上消去されなかったとする。照合部４２ｃは、検査対象物７１の輪郭を消去した結果が、図６のように全て消去された場合、ステップＳ８の処理へ移行し、図７（ｃ）および図８（ｃ）に示すように、９０％以上消去されない場合、ステップＳ５の処理へ移行する。
【００６３】
図５の説明に戻る。次に、照合部４２ｃは、ステップＳ４において、検査対象物の画像データを所定画素数以上消去していないと判定した場合、ステップＳ３で得た、一部が消去された検査対象物を含む画像データと、記憶部４３に記憶されている教示データとを照合し、一部が消去された検査対象物の位置および姿勢を取得する（ステップＳ５）。例えば、照合部４２ｃは、図１０で説明するサーチプロパティーに基づいて、ステップＳ３で消去処理が施された画像データに含まれる検査対象物の輪郭と、教示データに含まれる組立体５１の輪郭とを検出する。照合部４２ｃは、図１０で説明するサーチプロパティーに基づいて、検出した画像データの輪郭と、教示データの輪郭とを照合し、教示データの輪郭に最も適合する、消去処理が施された画像データの輪郭を特定する。すなわち、照合部４２ｃは、画像データ上のどこに、輪郭が一部消去された検査対象物が存在しているかを特定する。そして、照合部４２ｃは、画像データと教示データとの照合により、輪郭が一部消去された検査対象物７１が存在していると特定した際の教示データの位置および姿勢を、画像データに含まれている検査対象物の位置および姿勢として取得する。
【００６４】
図７（ｄ）、および図８（ｄ）には、照合部４２ｃによる、一部輪郭が消去された検査対象物７１の位置および姿勢（姿勢については後述する）の取得結果例が示してある。図７（ｄ）、および図８（ｄ）に示す点線８２は、教示データの輪郭（図３に示した組立体５１の輪郭）を示している。また、図７（ｄ）、および図８（ｄ）に示す点線８２は、照合部４２ｃが取得した、一部輪郭が消去された検査対象物７１の位置を示している。図７（ｄ）、および図８（ｄ）に示す点線８２より細い線は、一部輪郭が消去された検査対象物７１（図７（ｃ）、図８（ｃ）に示す部品２１）を示している。
【００６５】
図７（ｄ）の場合、教示データの輪郭は、点線８２に示すように、画像データに含まれている検査対象物７１の部品２１において最も一致する。これは、部品２２の輪郭は消去され、部品２１の一部の輪郭が画像データに残っているためである。従って、図７（ｄ）の場合、照合部４２ｃは、画像データ上の点線８２に示す位置において、一部輪郭が消去された検査対象物７１が存在していると特定する。そして、照合部４２ｃは、一部輪郭が消去された検査対象物７１が存在していると特定した際の教示データの位置（図７（ｄ）に示す点線８２の位置）を検査対象物７１の位置として取得する。照合部４２ｃは、図８（ｄ）においても、上記と同様にして、一部輪郭が消去された検査対象物７１の位置を取得する。
【００６６】
なお、照合部４２ｃは、例えば、検査対象物７１が存在していると特定した際の教示データの重心位置を、検査対象物７１の位置として取得してもよい。
【００６７】
図５の説明に戻る。次に、算出部４２ｄは、照合部４２ｃによって取得された検査対象物の位置および姿勢に基づいて、検査対象物の部品の相対位置を算出する（ステップＳ６）。例えば、算出部４２ｄは、照合部４２ｃが１回目に取得した（ステップＳ２で取得した）検査対象物の位置および姿勢と、一部輪郭を消去し、２回目に取得した（ステップＳ５で取得した）検査対象物の位置および姿勢とに基づいて、組立体の部品の相対位置を算出する。
【００６８】
例えば、図７（ｅ）に示す点線８１は、図７（ｂ）に示す点線８１に対応し、１回目に取得した検査対象物７１の位置を示している。図７（ｅ）に示す点線８２は、図７（ｄ）に示す点線８２に対応し、２回目に取得した検査対象物７１の位置を示している。算出部４２ｄは、図７（ｅ）の点線８１に示す、１回目に取得した検査対象物７１の位置と、図７（ｅ）の点線８２に示す、２回目に取得した検査対象物７１の位置とに基づいて、部品２２に対する部品２１の相対位置を算出する。例えば、算出部４２ｄは、１回目に取得した検査対象物７１の重心位置８１ａと、２回目に取得した検査対象物７１の重心位置８２ａとに基づいて、部品２２に対する部品２１の相対位置を算出する。図７（ｅ）の場合、部品２２に対する部品２１の相対位置は、「ｔ１」である。なお、図８（ｄ）の場合、部品２２に対する部品２１の相対位置は、「ｔ２」である。
【００６９】
なお、照合部４２ｃは、検査対象物の大きい部品の位置および姿勢を特定し、次に小さい部品の位置および姿勢を特定する処理を行っているといえる。例えば、照合部４２ｃは、検査対象物７１の部品２１、２２が、図７（ａ）および図８（ａ）に示すようにずれて組み込まれた場合、検査対象物７１を構成している部品２２の位置および姿勢を取得し、次に部品２１の位置および姿勢を取得している。よって、算出部４２ｄは、上記したように、照合部４２ｃによって取得された検査対象物の位置および姿勢に基づいて、検査対象物を構成している各部品の相対位置を算出することができる。
【００７０】
図５の説明に戻る。次に、検査部４２ｅは、ステップＳ６にて算出部４２ｄが算出した相対位置が、閾値Ｔｈより小さいか否か判定する（ステップＳ７）。検査部４２ｅは、算出部４２ｄが算出した相対位置が、閾値Ｔｈより小さい場合、ステップＳ８の処理へ移行する。検査部４２ｅは、算出部４２ｄが算出した相対位置が、閾値Ｔｈより小さくない場合、ステップＳ９の処理へ移行する。
【００７１】
次に、検査部４２ｅは、ステップＳ４において、検査対象物の画像データを所定以上消去したと判定された場合、またはステップＳ７において、相対位置が閾値Ｔｈより小さいと判定された場合、検査対象物は適正品であると判定する（ステップＳ８）。
【００７２】
次に、検査部４２ｅは、ステップＳ７において、相対位置が閾値Ｔｈより小さくないと判定された場合、検査対象物は適正品でないと判定する（ステップＳ９）。
【００７３】
例えば、図７（ｄ）に示す相対位置「ｔ１」は、閾値Ｔｈより小さいとする（ｔ１＜Ｔｈ）。すなわち、撮像装置１９で撮像された、図７（ａ）に示す検査対象物７１の部品２２に対する部品２１のずれ「ｔ１」は、閾値Ｔｈより小さいとする。この場合、撮像装置１９で撮像された、図７（ａ）に示す検査対象物７１は、適正品であると判定される。また、図８（ｄ）に示す相対位置「ｔ２」は、閾値Ｔｈより大きいとする（ｔ２＞Ｔｈ）。すなわち、撮像装置１９で撮像された、図８（ａ）に示す検査対象物７１の部品２２に対する部品２１のずれ「ｔ２」は、閾値Ｔｈより大きいとする。この場合、撮像装置１９で撮像された、図８（ａ）に示す検査対象物７１は、適正品でないと判定される。このように、検査部４２ｅは、算出部４２ｄが算出した相対位置に基づいて、検査対象物７１の検査を行う。
【００７４】
上述したフロー図の各処理単位は、画像処理部４２の処理を理解容易にするために、主な処理内容に応じて分割したものである。処理単位の分割の仕方や名称によって、本願発明が制限されることはない。画像処理部４２の処理は、処理内容に応じて、さらに多くの処理単位に分割することもできる。また、１つの処理単位がさらに多くの処理を含むように分割することもできる。
【００７５】
図６〜図８では、組立体の部品の１次元方向のずれ（図中の水平方向のずれ）を例に画像処理部４２の動作を説明したが、画像処理部４２は、２次元方向のずれ（図中の水平方向、垂直方向、および回転（姿勢）によるずれ）を検出し、組立体を検査することができる。以下、組立体の部品の姿勢のずれについて説明する。なお、垂直方向における部品のずれの検出および検査は、水平方向のずれの処理と同様（図６〜図８を用いて説明した処理と同様）であるのでその説明を省略する。
【００７６】
図９は、回転によるずれの検出を説明する図である。画像取得部４２ｂは、図５のステップＳ１と同様の処理により、撮像装置１９が撮像した、部品２１と部品２２との組立体の画像データを取得する。
【００７７】
図９（ａ）には、画像取得部４２ｂが取得した、検査対象物７１（部品２１と部品２２との組立体）の画像が示してある。図９（ａ）に示す検査対象物７１は、部品２２に対し、部品２１が紙面垂直方向を軸として、反時計まわりに角度θ回転してずれ、組み込まれた例を示している。
【００７８】
次に、照合部４２ｃは、図５のステップＳ２と同様の処理により、画像取得部４２ｂが取得した画像データに含まれている検査対象物の位置および姿勢を取得する。
【００７９】
図９（ｂ）には、照合部４２ｃによる、検査対象物７１の位置および姿勢の取得結果例が示してある。図９（ｂ）に示す点線８１は、教示データの輪郭（図３に示した組立体５１の輪郭）を示している。また、図９（ｂ）に示す点線８１は、照合部４２ｃが取得した検査対象物７１の位置および姿勢を示している。図９（ｂ）に示す点線８１より細い線は、検査対象物７１を示している。
【００８０】
図９（ｂ）の場合、教示データの輪郭は、点線８１に示すように、画像データに含まれている検査対象物７１の部品２２において最も一致する。これは、部品２２の輪郭が、部品２１の輪郭より大きく、図３に示した教示データの部品５２の輪郭を、部品２１の輪郭に重ねたときよりも、教示データの部品５３の輪郭を、部品２２の輪郭に重ねたときの方が、輪郭の一致度が高いからである。従って、図９（ｂ）の場合、照合部４２ｃは、画像データ上の点線８１に示す位置および姿勢において検査対象物７１が存在していると特定する。そして、照合部４２ｃは、検査対象物７１が存在していると特定した際の教示データの位置および姿勢（点線８１の位置および姿勢）を検査対象物７１の位置および姿勢として取得する。
【００８１】
次に、照合部４２ｃは、図５のステップＳ３と同様の処理により、位置および姿勢を取得した検査対象物の、教示データに対応する部分を消去する。例えば、照合部４２ｃは、画像データに含まれている検査対象物の、画像データと教示データとの照合により検査対象物７１が存在していると特定した際の教示データと重なる部分を消去する。
【００８２】
例えば、図９（ｂ）の場合、点線８１の位置および姿勢において、検査対象物７１の位置および姿勢が取得されている。そして、図９（ｂ）では、画像データに含まれている検査対象物７１の部品２２の輪郭は、全て教示データの輪郭（点線８１）と重なっており、部品２１の輪郭は、一部教示データの輪郭と重なっている。従って、画像データに含まれている検査対象物７１は、図９（ｃ）に示すように、一部消去される。
【００８３】
上記の消去処理によって、検査対象物が所定画素数以上消去された場合、検査部４２ｅは、検査対象物は適正品と判断し、処理を終了する。この処理は、図５のステップＳ４、Ｓ８の処理に対応する。一方、検査対象物が所定画素数以上消去されなかった場合、照合部４２ｃは、一部を消去した検査対象物の画像データと、教示データとを照合し、一部を消去した検査対象物の位置および姿勢を取得する。この処理は、図５のステップＳ４、Ｓ５の処理に対応する。
【００８４】
図９（ｄ）には、照合部４２ｃによる、一部輪郭が消去された検査対象物７１の位置および姿勢の取得結果例が示してある。図９（ｄ）に示す点線８２は、教示データの輪郭（図３に示した組立体５１の輪郭）を示している。また、図９（ｄ）に示す点線８２は、照合部４２ｃが取得した、一部輪郭が消去された検査対象物７１の位置および姿勢を示している。図９（ｂ）に示す点線８２より細い線は、一部輪郭が消去された検査対象物７１（図９（ｃ）に示す部品２１）を示している。
【００８５】
図９（ｄ）の場合、教示データの輪郭は、点線８２に示すように、画像データに含まれている検査対象物７１の部品２１において最も一致する。従って、図９（ｄ）の場合、照合部４２ｃは、画像データ上の点線８２に示す位置および姿勢（回転）において、一部輪郭が消去された検査対象物７１が存在していると特定する。そして、照合部４２ｃは、画像データと教示データとの照合により、一部輪郭が消去された検査対象物７１が存在していると特定した際の教示データの位置および姿勢（図９（ｄ）に示す点線８２の位置および姿勢）を検査対象物７１の位置および姿勢として取得する。
【００８６】
なお、照合部４２ｃは、例えば、検査対象物７１が存在していると特定した際の教示データの重心位置を、検査対象物７１の位置として取得し、また、教示データの重心の回転を、検査対象物７１の姿勢として取得してもよい。
【００８７】
次に、算出部４２ｄは、図５のステップＳ６と同様の処理により、照合部４２ｃによって取得された検査対象物の位置および姿勢に基づいて、検査対象物の部品の相対位置を算出する。例えば、算出部４２ｄは、照合部４２ｃが１回目に取得した検査対象物の位置および姿勢と、一部輪郭を消去し、２回目に取得した検査対象物の位置および姿勢とに基づいて、組立体の部品の相対位置を算出する。
【００８８】
例えば、図９（ｅ）に示す点線８１は、図９（ｂ）に示す点線８１に対応し、１回目に取得した検査対象物７１の位置および姿勢を示している。図９（ｅ）に示す点線８２は、図９（ｄ）に示す点線８２に対応し、２回目に取得した検査対象物７１の位置および姿勢を示している。算出部４２ｄは、図９（ｅ）の点線８１に示す、１回目に取得した検査対象物７１の位置および姿勢と、図９（ｅ）の点線８２に示す、２回目に取得した検査対象物７１の位置および姿勢とに基づいて、部品２２に対する部品２１の相対位置を算出する。例えば、算出部４２ｄは、１回目に取得した検査対象物７１の重心位置８１ａおよび重心回転８１ｂと、２回目に取得した検査対象物７１の重心位置８２ａおよび重心回転８２ｂとに基づいて、部品２２に対する部品２１の相対位置を算出する。図９（ｄ）の場合、部品２２に対する部品２１の相対位置は、「角度θ」である。
【００８９】
次に、検査部４２ｅは、算出部４２ｄが算出した相対位置が、閾値Ｔｈより小さいか否か判定する。例えば、検査部４２ｅは、算出部４２ｄが算出した相対位置「角度θ」が、閾値Ｔｈ（Ｔｈは角度で示される）より小さい場合、検査対象物７１は適正品と判定する。この処理は、図５のステップＳ７、Ｓ８の処理に対応する。一方、検査部４２ｅは、算出部４２ｄが算出した相対位置が、閾値Ｔｈより小さくない場合、検査対象物７１は適正品でないと判定する。この処理は、図５のステップＳ７、Ｓ９の処理に対応する。以上の処理によって、画像処理部４２は、組立体の部品の姿勢によるずれを検出し、組立体の検査をすることができる。
【００９０】
なお、２次元の直交座標系の２つの軸を、例えばそれぞれ「ｘ」、「ｙ」とし、その座標系内の回転を「θ」で表すとすると、検査対象物の位置および姿勢は、３つのパラメータ「ｘ，ｙ，θ」で表すことができる。ここで、１回目のサーチ結果による検査対象物の位置および姿勢を「ＴＡ」、２回目のサーチ結果による検査対象物の位置および姿勢を「ＴＢ」とすると、「ＴＡ」に対する「ＴＢ」の位置および姿勢「Ｔ」（相対位置）は、次の式（１）で示される。
【００９１】
Ｔ＝ＴＢ・ＴＡ−１  …  （１）
【００９２】
ここで、「Ｔ」、「ＴＡ」、および「ＴＢ」は、パラメータ「ｘ，ｙ，θ」を要素に含む行列で示される。「ＴＡ−１」は「ＴＡ」の逆行列を示す。
【００９３】
すなわち、照合部４２ｃは、１回目の照合処理によって、検査対象物の位置および姿勢「ＴＡ」を取得し、２回目の照合処理によって、教示データと重なった部分を消去した検査対象物の位置および姿勢「ＴＢ」を取得する。そして、算出部４２ｄは、式（１）によって、検査対象物を構成している部品間の相対位置Ｔを算出し、検査部４２ｅは、算出部４２ｄによって算出された相対位置Ｔと閾値Ｔｈとを比較して、検査対象物が適正品であるか否か判定する。
【００９４】
上記では、組立体の部品が２つの場合について説明したが、部品が３つ以上の場合であっても上記と同様に処理を実行すればよい。例えば、部品が３つ以上の場合であっても、画像処理部４２は、検査対象物の画像データと教示データとを照合し、教示データの画像データに最も一致する輪郭を、１回目の検査対象物の位置および姿勢とする。画像処理部４２は、教示データと重なった検査対象物の輪郭を消去し、輪郭が一部消去された画像データと教示データとを照合して、教示データの画像データに最も一致する輪郭を、２回目の検査対象物の位置および姿勢とする。そして、画像処理部４２は、１回目に取得した検査対象物の位置および姿勢と、２回目に取得した検査対象物の位置および姿勢とに基づいて、検査対象物を構成している部品のずれを検査する。
【００９５】
図１０は、教示データ例を説明する図である。図１０に示す表Ａ１には、図５のフローで画像処理する場合の、ロボット制御装置１２に教示するデータ例が示してある。図５のフローで画像処理する場合、ロボット制御装置１２に教示する画像データは、表Ａ１に示すように、部品を組み付けた後の組立体の画像１つとなる。
【００９６】
表Ａ１に示すサーチプロパティーは、画像処理部４２の動作を設定するためのパラメータ群である。例えば、画像処理部４２の照合部４２ｃは、サーチプロパティーに基づいて、画像の輪郭検出を行ったり照合処理を行ったりする。
【００９７】
サーチプロパティーには、例えば、表Ａ１に示すように、サーチ範囲、角度サーチ、エッジ詳細レベル、などがある。サーチ範囲は、例えば、画像データの全ての範囲で検査対象物をサーチするのか、または画像データの一部の範囲で検査対象物をサーチするのかを指定するパラメータである。角度サーチは、例えば、教示データを何度まで回転させて、組立品または部品の姿勢を検出するのかを指定するパラメータである。エッジ詳細レベルは、例えば、画像データのエッジ（輪郭）の濃淡を指定するパラメータである。
【００９８】
次に、従来の組立体の各部品について教示データをロボットに与える場合の処理について説明する。
【００９９】
図１１は、従来の組立体の各部品について教示データをロボット制御装置に与える場合の例を説明する図である。図１１（ａ）および図１１（ｂ）には、組立体の部品９１と部品９２とが示してある。ロボット制御装置の記憶部には、図１１（ａ）に示す部品９１の画像データと、図１１（ｂ）に示す部品９２の画像データとが教示データとして予め記憶されるとする。
【０１００】
図１２は、従来の組立体の各部品について教示データが与えられた場合のロボット制御装置の動作の一例を示すフロー図である。以下では、図１１を適宜用いながら、図１２のフロー図を説明する。
【０１０１】
ロボット制御装置は、撮像装置が撮像した組立体（検査対象物）の画像データを取得する（ステップＳ１１）。図１１（ｃ）には、ロボット制御装置が取得した、検査対象物の画像９３が示してある。
【０１０２】
次に、ロボット制御装置は、検査対象物の各部品の位置および姿勢を取得する（ステップＳ１２）。例えば、ロボット制御装置は、図１１（ａ）に示す部品９１の教示データと、図１１（ｃ）に示す検査対象物の画像９３とを照合し、図１１（ａ）に示す部品９１の位置および姿勢を取得する。また、ロボット制御装置は、図１１（ｂ）に示す部品９２の教示データと、図１１（ｃ）に示す検査対象物の画像９３とを照合し、図１１（ｂ）に示す部品９２の位置および姿勢をサーチする。なお、図１１（ｄ）に示す点線１０１は、ロボット制御装置によってサーチされた部品９１の位置および姿勢を示している。また、図１０（ｄ）に示す点線１０２は、ロボット制御装置によってサーチされた部品９２の位置および姿勢を示している。また、点線１０１、１０２より細い線は、検査対象物の画像９３を示している。
【０１０３】
次に、ロボット制御装置は、検査対象物を構成している部品の相対位置を算出する（ステップＳ１３）。例えば、ロボット制御装置は、検査対象物の部品９２に対する部品９１の相対位置を算出する。例えば、ロボット制御装置によってサーチされた部品９１の位置および姿勢を「ＴＡ」、ロボット制御装置によってサーチされた部品９２の位置および姿勢を「ＴＢ」とすると、部品９２に対する部品９１の相対位置Ｔは、上記した式（１）で示される。
【０１０４】
次に、ロボット制御装置は、ステップＳ１３にて算出した相対位置が閾値Ｔｈより小さいか否か判定する（ステップＳ１４）。例えば、ロボット制御装置は、図１１（ｄ）に示す角度θが閾値Ｔｈより小さいか否か判定する。ロボット制御装置は、ステップＳ１３にて算出した相対位置が、閾値Ｔｈより小さい場合、ステップＳ１５の処理へ移行する。ロボット制御装置は、ステップＳ１３にて算出した相対位置が、閾値Ｔｈより小さくない場合、ステップＳ１６の処理へ移行する。
【０１０５】
次に、ロボット制御装置は、ステップＳ１４において、相対位置が閾値Ｔｈより小さいと判定した場合、検査対象物は適正品であると判定する（ステップＳ１５）。
【０１０６】
次に、ロボット制御装置は、ステップＳ１４において、相対位置が閾値Ｔｈより小さくないと判定した場合、検査対象物は適正品でないと判定する（ステップＳ１６）。
【０１０７】
図１３は、従来の教示データ例を説明する図である。図１３に示す表Ａ２には、図１２のフローで画像処理する場合の、ロボット制御装置に教示するデータ例が示してある。図１２のフローで画像処理する場合、ロボット制御装置に教示する画像データは、表Ａ２に示すように、組立体を構成する部品Ａ，Ｂのそれぞれの画像となる。すなわち、従来の画像処理では、各部品の教示データを与えなければならなかったが、本件の画像処理では、例えば、図１０の表Ａ１で説明したように組立体１つの教示データを与えれば済む。なお、サーチプロパティーについては、図１０に示した表Ａ１と同様である。
【０１０８】
以上の実施形態によれば、複数の部品を組立てた後の組立体の教示データを記憶部４３に記憶すればよいので、複数の部品を有する組立体の、検査における教示を容易にすることができる。
【０１０９】
また、部品ごとの位置および姿勢によるずれと閾値を比較して組立体の検査を行うことにより、ある程度の許容範囲をもって、部品の組み付け状態の良否を判断することができる。
【０１１０】
以上、本発明について実施形態を用いて説明したが、本発明の技術的範囲は上記実施形態に記載の範囲には限定されない。上記実施形態に多様な変更または改良を加えることが可能であることが当業者には明らかである。また、そのような変更または改良を加えた形態も本発明の技術的範囲に含まれ得ることが、特許請求の範囲の記載から明らかである。本発明は、ロボットと、ロボット制御装置等とを別個に有するロボットシステムとして提供してもよいし、ロボットにロボット制御装置等が含まれるロボットとして提供してもよいし、ロボット制御装置として提供してもよい。また、本発明は、ロボット等を制御する方法、ロボット等を制御するプログラム、当該プログラムを記憶した記憶媒体として提供することもできる。
【符号の説明】
【０１１１】
１１  ロボット、１２  ロボット制御装置、１３  可動部、１４  アーム、１５  ジョイント、１６  リンク、１７  力覚センサー、１８  ハンド、１９  撮像装置、２１，２２  部品、３１  作業台、４１  制御部、４２  画像処理部、４２ａ  受付部、４２ｂ  画像取得部、４２ｃ  照合部、４２ｄ  算出部、４２ｅ  検査部、４３  記憶部、５１  組立体、５２，５３  部品、６０  コンピューター、６１  演算装置、６２  主記憶装置、６３  補助記憶装置、６４  通信Ｉ／Ｆ、６５  入力装置、６６  表示装置、６７  読み書き装置、７１  検査対象物、８１，８２  点線、９１，９２  部品、９３  画像、１０１，１０２  点線。
【図１】
2015079414.tif 000003
【図２】
2015079414.tif 000004
【図３】
2015079414.tif 000005
【図４】
2015079414.tif 000006
【図５】
2015079414.tif 000007
【図６】
2015079414.tif 000008
【図７】
2015079414.tif 000009
【図８】
2015079414.tif 000010
【図９】
2015079414.tif 000011
【図１０】
2015079414.tif 000012
【図１１】
2015079414.tif 000013
【図１２】
2015079414.tif 000014
【図１３】
2015079414.tif 000015