(57)【要約】【課題】  検査に必要な第２の検査情報を、第１の検査情報から生成することで、ユーザーの負担を軽減し、容易に検査を実行可能とするロボット、処理装置及び検査方法等を提供すること。【解決手段】  ロボット３０は、撮像部５００により検査対象物を撮像した撮像画像を用いて検査対象物を検査する検査処理を行うロボットであって、第１の検査情報に基づいて、検査処理の検査領域を含む第２の検査情報を生成し、第２の検査情報に基づいて、検査処理を行う。【選択図】      図１
2015085493.tif 000002
【特許請求の範囲】
【請求項１】
撮像部により検査対象物を撮像した撮像画像を用いて前記検査対象物を検査する検査処理を行うロボットであって、
第１の検査情報に基づいて、前記検査処理の検査領域を含む第２の検査情報を生成し、
前記第２の検査情報に基づいて、前記検査処理を行う、
ことを特徴とするロボット。
【請求項２】
請求項１において、
前記第２の検査情報は、複数の視点情報を含む視点情報セットを含み、
前記視点情報セットの各視点情報は、前記検査処理における前記撮像部の視点位置及び視線方向を含むことを特徴とするロボット。
【請求項３】
請求項２において、
前記視点情報セットの各視点情報には、前記視点情報に対応する前記視点位置及び前記視線方向に前記撮像部を移動させる際の優先度が設定されていることを特徴とするロボット。
【請求項４】
請求項３において、
前記優先度に基づき設定された移動順序に従って、前記視点情報セットの前記各視点情報に対応する前記視点位置及び前記視線方向に、前記撮像部を移動させることを特徴とするロボット。
【請求項５】
請求項４において、
可動範囲情報に基づいて、複数の前記視点情報のうちの第ｉ（ｉは自然数）の視点情報に対応する前記視点位置及び前記視線方向に前記撮像部を移動させることができないと判定された場合には、前記第ｉの視点情報に基づく前記撮像部の移動をせずに、前記移動順序において前記第ｉの視点情報の次の第ｊ（ｊはｉ≠ｊを満たす自然数）の視点情報に基づき、前記撮像部を移動させることを特徴とするロボット。
【請求項６】
請求項２乃至５のいずれかにおいて、
前記第１の検査情報は、前記検査対象物に対する相対的な検査処理対象位置を含み、
前記検査処理対象位置を基準として、前記検査対象物に対応する対象物座標系を設定し、前記対象物座標系を用いて、前記視点情報を生成することを特徴とするロボット。
【請求項７】
請求項６において、
前記第１の検査情報は、前記検査対象物のグローバル座標系における位置姿勢を表す対象物位置姿勢情報を含み、
前記対象物位置姿勢情報に基づき求められる、前記グローバル座標系と前記対象物座標系の相対関係に基づいて、前記グローバル座標系での前記視点情報を求め、
前記グローバル座標系での可動範囲情報と、前記グローバル座標系での前記視点情報とに基づいて、前記視点位置及び前記視線方向に前記撮像部を移動できるか否かの判定を行うことを特徴とするロボット。
【請求項８】
請求項１乃至７のいずれかにおいて、
前記検査処理は、ロボット作業の結果に対して行われる処理であり、
前記第１の検査情報は、前記ロボット作業において取得される情報であることを特徴とするロボット。
【請求項９】
請求項１乃至７のいずれかにおいて、
前記第１の検査情報は、前記検査対象物の形状情報、前記検査対象物の位置姿勢情報、及び前記検査対象物に対する相対的な検査処理対象位置の少なくとも１つを含む情報であることを特徴とするロボット。
【請求項１０】
請求項１乃至７のいずれかにおいて、
前記第１の検査情報は、前記検査対象物の３次元モデルデータを含むことを特徴とするロボット。
【請求項１１】
請求項１０において、
前記検査処理は、ロボット作業の結果に対して行われる処理であり、
前記３次元モデルデータは、前記ロボット作業を行うことによって得られる作業後３次元モデルデータと、前記ロボット作業前の前記検査対象物の前記３次元モデルデータである作業前３次元モデルデータとを含むことを特徴とするロボット。
【請求項１２】
請求項１０又は１１において、
前記第２の検査情報は、合格画像を含み、
前記合格画像は、前記視点情報に対応する前記視点位置及び前記視線方向に配置された仮想カメラにより、前記３次元モデルデータを撮像した画像であることを特徴とするロボット。
【請求項１３】
請求項１１において、
前記第２の検査情報は、合格画像と作業前画像とを含み、
前記合格画像は、前記視点情報に対応する前記視点位置及び前記視線方向に配置された仮想カメラにより、前記作業後３次元モデルデータを撮像した画像であり、
前記作業前画像は、前記視点情報に対応する前記視点位置及び前記視線方向に配置された前記仮想カメラにより、前記作業前３次元モデルデータを撮像した画像であり、
前記作業前画像と前記合格画像との比較をすることによって、前記検査領域を求めることを特徴とするロボット。
【請求項１４】
請求項１３において、
前記比較において、前記作業前画像と前記合格画像との差分である差分画像を求め、
前記検査領域は、前記差分画像中の前記検査対象物を含む領域であることを特徴とするロボット。
【請求項１５】
請求項１１において、
前記第２の検査情報は、合格画像と作業前画像とを含み、
前記合格画像は、前記視点情報に対応する前記視点位置及び前記視線方向に配置された仮想カメラにより、前記作業後３次元モデルデータを撮像した画像であり、
前記作業前画像は、前記視点情報に対応する前記視点位置及び前記視線方向に配置された前記仮想カメラにより、前記作業前３次元モデルデータを撮像した画像であり、
前記作業前画像と前記合格画像との類似度に基づいて、前記撮像画像と前記合格画像とに基づく前記検査処理に用いられる閾値を設定することを特徴とするロボット。
【請求項１６】
請求項１乃至１５のいずれかにおいて、
少なくとも第１のアームと、第２のアームを含み、
前記撮像部は、前記第１のアーム及び前記第２のアームの少なくとも一方に設けられるハンドアイカメラであることを特徴とするロボット。
【請求項１７】
撮像部により検査対象物を撮像した撮像画像を用いて前記検査対象物の検査処理を行う装置に対して、前記検査処理に用いられる情報を出力する処理装置であって、
第１の検査情報に基づいて、前記検査処理における前記撮像部の視点位置及び視線方向を含む視点情報と、前記検査処理の検査領域とを含む第２の検査情報を生成し、前記第２の検査情報を前記検査処理を行う前記装置に対して出力することを特徴とする処理装置。
【請求項１８】
撮像部により検査対象物を撮像した撮像画像を用いて前記検査対象物を検査する検査処理を行う検査方法であって、
第１の検査情報に基づいて、前記検査処理における前記撮像部の視点位置及び視線方向を含む視点情報と、前記検査処理の検査領域とを含む第２の検査情報を生成することと、
を含むことを特徴とする検査方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ロボット、処理装置及び検査方法等に関する。
【背景技術】
【０００２】
所与の物体に対する検査（特に外観検査）は多くの状況で重要である。例えば、工場等で何らかの製品を組み立てた場合には、組み立て作業が正常に行われたかを、組み立て後の製品に対する検査により判断する。或いは、組み立てに用いられる材料が供給された段階で、当該材料に問題がないかを検査することも考えられる。
【０００３】
従来、検査対象物に対する検査はユーザーが手動で行っていたが、近年では検査を検査装置により自動的に行う手法が提案されるようになっている。例えば特許文献１には、ロボットを用いて組立製品の外観検査を行う手法が提案されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００１−０８８０７３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかし、特許文献１では、検査を行う前に、ティーチングペンダントを用いて、検査に必要な情報（各種パラメーター）を教示する必要がある。特に、多品種製造の現場では、検査対象物は多数ある。そのため、検査対象物毎に、ユーザーが検査に必要な情報を設定していたのでは、時間や工数が多大になり、多品種製造の現場における生産性が阻害されてしまう。
【課題を解決するための手段】
【０００６】
本発明の一態様は、撮像部により検査対象物を撮像した撮像画像を用いて前記検査対象物を検査する検査処理を行うロボットであって、第１の検査情報に基づいて、前記検査処理の検査領域を含む第２の検査情報を生成し、前記第２の検査情報に基づいて、前記検査処理を行う、ロボットに関係する。
【０００７】
本発明の一態様では、第１の検査情報に基づいて検査領域を含む第２の検査情報を生成する。一般的に、検査（狭義には外観検査）に用いる画像のうち、どの領域を処理に用いるとよいかは、検査対象物の形状等の情報や、検査対象物に対して行われた作業内容等に依存するため、検査対象物や作業内容が変わるごとに検査領域を設定し直さなくてはならずユーザーの負担が大きい。その点、第１の検査情報から第２の検査情報を生成することで、容易に検査領域を決定すること等が可能になる。
【０００８】
また、本発明の一態様では、前記第２の検査情報は、複数の視点情報を含む視点情報セットを含み、前記視点情報セットの各視点情報は、前記検査処理における前記撮像部の視点位置及び視線方向を含んでもよい。
【０００９】
これにより、第２の検査情報として視点情報セットを生成すること等が可能になる。
【００１０】
また、本発明の一態様では、前記視点情報セットの各視点情報には、前記視点情報に対応する前記視点位置及び前記視線方向に前記撮像部を移動させる際の優先度が設定されていてもよい。
【００１１】
これにより、視点情報セットに含まれる各視点情報に対して、優先度を設定すること等が可能になる。
【００１２】
また、本発明の一態様では、前記優先度に基づき設定された移動順序に従って、前記視点情報セットの前記各視点情報に対応する前記視点位置及び前記視線方向に、前記撮像部を移動させてもよい。
【００１３】
これにより、優先度が設定された複数の視点情報を用いて、実際に撮像部を制御して検査処理を行うこと等が可能になる。
【００１４】
また、本発明の一態様では、可動範囲情報に基づいて、複数の前記視点情報のうちの第ｉ（ｉは自然数）の視点情報に対応する前記視点位置及び前記視線方向に前記撮像部を移動させることができないと判定された場合には、前記第ｉの視点情報に基づく前記撮像部の移動をせずに、前記移動順序において前記第ｉの視点情報の次の第ｊ（ｊはｉ≠ｊを満たす自然数）の視点情報に基づき、前記撮像部を移動させてもよい。
【００１５】
これにより、ロボットの可動範囲を考慮した撮像部の制御等が可能になる。
【００１６】
また、本発明の一態様では、前記第１の検査情報は、前記検査対象物に対する相対的な検査処理対象位置を含み、前記検査処理対象位置を基準として、前記検査対象物に対応する対象物座標系を設定し、前記対象物座標系を用いて、前記視点情報を生成してもよい。
【００１７】
これにより、対象物座標系における視点情報を生成すること等が可能になる。
【００１８】
また、本発明の一態様では、前記第１の検査情報は、前記検査対象物のグローバル座標系における位置姿勢を表す対象物位置姿勢情報を含み、前記対象物位置姿勢情報に基づき求められる、前記グローバル座標系と前記対象物座標系の相対関係に基づいて、前記グローバル座標系での前記視点情報を求め、前記グローバル座標系での可動範囲情報と、前記グローバル座標系での前記視点情報とに基づいて、前記視点位置及び前記視線方向に前記撮像部を移動できるか否かの判定を行ってもよい。
【００１９】
これにより、グローバル座標系における視点情報を生成すること、及び当該視点情報とロボットの可動範囲情報に基づいて、撮像部の移動を制御すること等が可能になる。
【００２０】
また、本発明の一態様では、前記検査処理は、ロボット作業の結果に対して行われる処理であり、前記第１の検査情報は、前記ロボット作業において取得される情報であってもよい。
【００２１】
これにより、ロボット作業において第１の検査情報を取得すること等が可能になる。
【００２２】
また、本発明の一態様では、前記第１の検査情報は、前記検査対象物の形状情報、前記検査対象物の位置姿勢情報、及び前記検査対象物に対する相対的な検査処理対象位置の少なくとも１つを含む情報であってもよい。
【００２３】
これにより、形状情報、位置姿勢情報及び検査処理対象位置の少なくとも１つの情報を第１の検査情報として取得することが可能になる。
【００２４】
また、本発明の一態様では、前記第１の検査情報は、前記検査対象物の３次元モデルデータを含んでもよい。
【００２５】
これにより、第１の検査情報として３次元モデルデータを取得することが可能になる。
【００２６】
また、本発明の一態様では、前記検査処理は、ロボット作業の結果に対して行われる処理であり、前記３次元モデルデータは、前記ロボット作業を行うことによって得られる作業後３次元モデルデータと、前記ロボット作業前の前記検査対象物の前記３次元モデルデータである作業前３次元モデルデータとを含んでもよい。
【００２７】
これにより、第１の検査情報として作業前後での３次元モデルデータを取得することが可能になる。
【００２８】
また、本発明の一態様では、前記第２の検査情報は、合格画像を含み、前記合格画像は、前記視点情報に対応する前記視点位置及び前記視線方向に配置された仮想カメラにより、前記３次元モデルデータを撮像した画像であってもよい。
【００２９】
これにより、３次元モデルデータと視点情報とから、合格画像を第２の検査情報として取得すること等が可能になる。
【００３０】
また、本発明の一態様では、前記第２の検査情報は、合格画像と作業前画像とを含み、前記合格画像は、前記視点情報に対応する前記視点位置及び前記視線方向に配置された仮想カメラにより、前記作業後３次元モデルデータを撮像した画像であり、前記作業前画像は、前記視点情報に対応する前記視点位置及び前記視線方向に配置された前記仮想カメラにより、前記作業前３次元モデルデータを撮像した画像であり、前記作業前画像と前記合格画像との比較をすることによって、前記検査領域を求めてもよい。
【００３１】
これにより、作業前後の３次元モデルデータと視点情報とから、合格画像と作業前画像を求め、その比較処理に基づいて検査領域を求めること等が可能になる。
【００３２】
また、本発明の一態様では、前記比較において、前記作業前画像と前記合格画像との差分である差分画像を求め、前記検査領域は、前記差分画像中の前記検査対象物を含む領域であってもよい。
【００３３】
これにより、差分画像を用いて検査領域を求めること等が可能になる。
【００３４】
また、本発明の一態様では、前記第２の検査情報は、合格画像と作業前画像とを含み、前記合格画像は、前記視点情報に対応する前記視点位置及び前記視線方向に配置された仮想カメラにより、前記作業後３次元モデルデータを撮像した画像であり、前記作業前画像は、前記視点情報に対応する前記視点位置及び前記視線方向に配置された前記仮想カメラにより、前記作業前３次元モデルデータを撮像した画像であり、前記作業前画像と前記合格画像との類似度に基づいて、前記撮像画像と前記合格画像とに基づく前記検査処理に用いられる閾値を設定してもよい。
【００３５】
これにより、作業前画像と合格画像の類似度を用いて、検査処理の閾値を設定すること等が可能になる。
【００３６】
また、本発明の一態様では、少なくとも第１のアームと、第２のアームを含み、前記撮像部は、前記第１のアーム及び前記第２のアームの少なくとも一方に設けられるハンドアイカメラであってもよい。
【００３７】
これにより、２本以上のアームと、当該アームの少なくとも１つに設けられるハンドアイカメラを用いて検査処理を行うこと等が可能になる。
【００３８】
また、本発明の他の態様は、撮像部により検査対象物を撮像した撮像画像を用いて前記検査対象物の検査処理を行う装置に対して、前記検査処理に用いられる情報を出力する処理装置であって、第１の検査情報に基づいて、前記検査処理における前記撮像部の視点位置及び視線方向を含む視点情報と、前記検査処理の検査領域とを含む第２の検査情報を生成し、前記第２の検査情報を前記検査処理を行う前記装置に対して出力する処理装置に関係する。
【００３９】
本発明の他の態様では、第１の検査情報に基づいて検査領域を含む第２の検査情報を生成する。一般的に、検査（狭義には外観検査）に用いる画像のうち、どの領域を処理に用いるとよいかは、検査対象物の形状等の情報や、検査対象物に対して行われた作業内容等に依存するため、検査対象物や作業内容が変わるごとに検査領域を設定し直さなくてはならずユーザーの負担が大きい。その点、第１の検査情報から第２の検査情報を生成することで、容易に検査領域を決定し、他の装置に検査処理を行わせること等が可能になる。
【００４０】
また、本発明の他の態様は、撮像部により検査対象物を撮像した撮像画像を用いて前記検査対象物を検査する検査処理を行う検査方法であって、第１の検査情報に基づいて、前記検査処理における前記撮像部の視点位置及び視線方向を含む視点情報と、前記検査処理の検査領域とを含む第２の検査情報を生成することと、を含む検査方法に関係する。
【００４１】
本発明の一態様では、第１の検査情報に基づいて検査領域を含む第２の検査情報を生成する。一般的に、検査（狭義には外観検査）に用いる画像のうち、どの領域を処理に用いるとよいかは、検査対象物の形状等の情報や、検査対象物に対して行われた作業内容等に依存するため、検査対象物や作業内容が変わるごとに検査領域を設定し直さなくてはならずユーザーの負担が大きい。その点、第１の検査情報から第２の検査情報を生成することで、容易に検査領域を決定すること等が可能になる。
【００４２】
このように、本発明の幾つかの態様によれば、検査に必要な第２の検査情報を、第１の検査情報から生成することで、ユーザーの負担を軽減し、容易に検査を実行可能とするロボット、処理装置及び検査方法等を提供することができる。
【図面の簡単な説明】
【００４３】
【図１】本実施形態に係るロボットの構成例。
【図２】図２（Ａ）、図２（Ｂ）は本実施形態に係る処理装置の構成例。
【図３】本実施形態に係るロボットの構成例。
【図４】本実施形態に係るロボットの他の構成例。
【図５】第２の検査情報を用いる検査装置の構成例。
【図６】本実施形態に係る処理装置等をサーバーシステムで構成する例。
【図７】第１の検査情報と第２の検査情報の例。
【図８】オフライン処理の流れを説明するフローチャート。
【図９】図９（Ａ）、図９（Ｂ）は形状情報（３次元モデルデータ）の例。
【図１０】視点情報の生成に用いられる視点候補の例。
【図１１】視点候補の対象物座標系における座標値の例。
【図１２】検査処理対象位置に基づく対象物座標系の設定例。
【図１３】図１３（Ａ）〜図１３（Ｇ）は各視点情報に対応する作業前画像と合格画像の例。
【図１４】図１４（Ａ）〜図１４（Ｄ）は検査領域の設定手法の説明図。
【図１５】図１５（Ａ）〜図１５（Ｄ）は検査領域の設定手法の説明図。
【図１６】図１６（Ａ）〜図１６（Ｄ）は検査領域の設定手法の説明図。
【図１７】図１７（Ａ）〜図１７（Ｄ）は作業前後での類似度算出処理の説明図。
【図１８】図１８（Ａ）〜図１８（Ｄ）は作業前後での類似度算出処理の説明図。
【図１９】図１９（Ａ）〜図１９（Ｅ）は視点情報の優先度の説明図。
【図２０】オンライン処理の流れを説明するフローチャート。
【図２１】図２１（Ａ）、図２１（Ｂ）は対象物座標系での視点情報とロボット座標系での視点情報の比較例。
【図２２】図２２（Ａ）、図２２（Ｂ）は画像回転角度の説明図。
【発明を実施するための形態】
【００４４】
以下、本実施形態について説明する。なお、以下に説明する本実施形態は、特許請求の範囲に記載された本発明の内容を不当に限定するものではない。また本実施形態で説明される構成の全てが、本発明の必須構成要件であるとは限らない。
【００４５】
１．本実施形態の手法
まず本実施形態の手法について説明する。検査対象物に対する検査（特に外観検査）は多くの状況で用いられている。外観検査（目視検査）は、人間の目で見て観察する検査方法が基本であるが、検査についてのユーザーの省力化や、検査の高精度化等の観点から、検査を検査装置により自動化する手法が提案されるようになっている。
【００４６】
ここでの検査装置とは、専用の装置であってもよく、例えば専用の検査装置としては図５に示したように、撮像部ＣＡと、処理部ＰＲと、インターフェース部ＩＦと、を含む装置が考えられる。この場合、検査装置は、撮像部ＣＡを用いて検査対象物ＯＢを撮像した撮像画像を取得し、処理部ＰＲにおいて撮像画像を用いて検査処理を行う。ここでの検査処理の内容は種々考えられるが、例えば検査において合格と判定される状態の検査対象物ＯＢの画像（撮像画像であってもよいし、モデルデータから作成されてもよい）を合格画像として取得しておき、当該合格画像と実際の撮像画像との比較処理を行えばよい。撮像画像が合格画像に近ければ、当該撮像画像に撮像された検査対象物ＯＢは合格であると判定できるし、撮像画像と合格画像との差異が大きければ、検査対象物ＯＢには何らかの問題があり不合格と判定できる。また、特許文献１には、検査装置としてロボットを利用する手法が開示されている。
【００４７】
しかし、上記の合格画像の例からもわかるように、検査装置により検査を行うためには、当該検査に用いられる情報を設定しておく必要がある。例えば、検査対象物ＯＢの配置のされ方にもよるが、検査対象物ＯＢをどの方向から観察するか、という情報を設定しておく必要がある。
【００４８】
一般的に、検査対象物ＯＢがどのように観察されるか（狭義には撮像画像に撮像された際にどのような形状、サイズとなるか）は、検査対象物ＯＢと観察する位置、方向との相対的な関係により変化する。以下、検査対象物ＯＢを観察する位置を視点位置と表記し、視点位置は狭義には撮像部の配置される位置を表すものとする。また、検査対象物ＯＢを観察する方向を視線方向と表記し、視線方向は狭義には撮像部の撮像方向（光軸の方向）を表すものとする。視点位置、視線方向の基準を設けておかなければ、検査の度に検査対象物ＯＢの見え方が変化しうるのであるから、見え方に応じて検査対象物ＯＢの正常異常を判定するという外観検査を行うことはそもそも不可能である。
【００４９】
また、当該検査対象物ＯＢに異常はないと判定するための基準となる合格画像として、どのような視点位置、視線方向から観察した画像を保持しておけばよいかが決定できない。つまり、検査時に観察が行われる位置方向が不定となってしまえば、検査時に取得された撮像画像との比較対象（検査基準）も不定であり、適切な検査ができない。なお、あらゆる視点位置、視線方向から、合格と判定される検査対象物ＯＢを観察した場合の画像を保持しておけば合格画像がないという状況は回避できる。しかし、その場合の視点位置、視線方向は膨大なものとなってしまい、合格画像の枚数も膨大となることから現実的とは言えない。以上の点をふまえれば、合格画像もあらかじめ保持しておく必要がある。
【００５０】
さらに、一般的に合格画像や撮像画像には検査において不要な情報も含まれてしまうため、画像全体を用いて検査処理（比較処理）を行ったのでは検査の精度が低くなってしまうおそれがある。例えば、撮像画像には検査対象物以外にも、工具や治具等が撮像される場合があり、それらの情報が検査に用いられることは好ましくない。また、検査対象物の一部が検査対象である場合には、検査対象物の検査対象でない領域の情報により検査精度が低下するおそれもある。具体的には、図１６（Ａ）〜図１６（Ｄ）を用いて後述するように、大きな物体Ａに対して、物体Ａに比べて小さい物体Ｂを組み付ける作業を考えた場合、検査の対象は組み付けられた物体Ｂの周辺とすべきであり、物体Ａ全体を検査する必要性は低いし、Ａ全体を検査対象とすることで誤判定の可能性も高まる。よって、検査処理の精度を向上させることを考えれば、検査領域も検査において重要な情報となる。
【００５１】
しかし、従来は上記の検査領域、視点位置、視線方向、或いは合格画像といった検査に用いられる情報は、画像処理の専門知識を有するユーザーにより設定が行われていた。なぜなら、合格画像と撮像画像の比較処理は、画像処理によって行われるが、当該画像処理の具体的な内容に応じて、検査に必要な情報の設定を変更することが求められるためである。
【００５２】
例えば、合格画像と撮像画像の比較処理（狭義には類似度の判定処理）を、画像中のエッジを用いた画像処理、画素値を全て用いる画像処理、輝度や色差色相を用いる画像処理、或いはその他の画像処理のいずれを用いるのが適しているかは、検査対象物ＯＢの形状や色味、質感等に応じて変化しうる。よって画像処理の内容を変更可能なものであれば、検査を行うユーザーはどのような画像処理を行うかを適切に設定しなければならない。
【００５３】
また、画像処理の内容を設定できた場合、或いは汎用性の高い画像処理の内容が事前に設定済みであった場合でも、ユーザーは当該画像処理の内容を適切に把握している必要がある。なぜなら、画像処理の具体的な内容が変われば、検査に適している視点位置、視線方向も変化しうるためである。例えば、エッジ情報を用いて比較処理を行う場合には、検査対象物ＯＢの形状のうち、複雑な部分が観察できる位置方向を視点位置、視線方向にするとよく、平坦な部分を観察する位置方向は不適切である。また、画素値を用いて比較処理を行うのであれば、色味の変化が大きい、或いは光源からの光が充分届くことで明るく観察できる領域を観察できる位置方向を視点位置、視線方向とすることが望ましい。つまり従来の手法においては、視点位置や視線方向、合格画像を含む検査に必要な情報の設定には、画像処理の専門知識が必要であった。さらにいえば、画像処理の内容が異なれば、合格画像と撮像画像の比較処理の基準も変更する必要がある。例えば、合格画像と撮像画像がどの程度類似していれば合格とし、どの程度差異があれば不合格とするかという基準は、画像処理の内容に応じて決定する必要があるが、当該基準も画像処理の専門知識がなければ設定できない。
【００５４】
つまり、ロボット等を用いることで検査を自動化できるとしても、当該検査に必要な情報の設定は難しいことであり、専門的な知識を有さないユーザーにとっては検査を自動化することは容易とは言えなかった。
【００５５】
また、本出願人の想定するロボットは、ロボット作業を実行させる際の教示をユーザーにとって容易なものとしたり、種々のセンサー等を設けて作業環境をロボット自身が認識できるものとすることで、多様な作業を柔軟に実行できるロボットである。このようなロボットは、多品種製造（狭義には一品種当たりの製造量が少ない多品種少量製造）に適している。しかし、製造時点での教示等を容易にしたとしても、製造した製品の検査が容易であるか否かは別の問題となる。なぜなら、製品が異なれば検査すべき対象物の位置も異なり、結果として撮像画像及び合格画像において比較対象とすべき検査領域も、製品ごとに異なってしまうためである。つまり、多品種製造を想定した場合、検査領域の設定をユーザーに委ねてしまうと、当該設定処理に関する負担が大きく、生産性の低下につながってしまう。
【００５６】
そこで本出願人は、第１の検査情報に基づいて検査処理に用いる第２の検査情報を生成することで、検査処理におけるユーザーの負担を軽減し、ロボット作業での生産性を向上させる手法を提案する。具体的には、本実施形態に係るロボット３０は、撮像部（例えば図３の撮像部５００）により検査対象物を撮像した撮像画像を用いて検査対象物を検査する検査処理を行うロボットであって、第１の検査情報に基づいて、検査処理の検査領域を含む第２の検査情報を生成し、第２の検査情報に基づいて、検査処理を行う。
【００５７】
ここで第１の検査情報とは、検査処理が実行されるよりも前のタイミングでロボット３０が取得できる情報であって、第２の検査情報の生成に用いられる情報を表す。第１の検査情報は、事前に取得される情報であるため、事前情報と表現することもできる。本実施形態では第１の検査情報はユーザーにより入力されてもよいし、ロボット３０において生成されてもよい。ユーザーにより第１の検査情報が入力される場合であっても、当該第１の検査情報は入力に際して画像処理の専門知識が求められるものではなく、容易に入力可能な情報となる。具体的には、検査対象物ＯＢの形状情報、検査対象物ＯＢの位置姿勢情報、及び検査対象物ＯＢに対する相対的な検査処理対象位置の少なくとも１つを含む情報であってもよい。
【００５８】
後述するように、形状情報（狭義には３次元モデルデータ）、位置姿勢情報、検査処理対象位置の情報を用いることで、第２の検査情報を生成することができる。そして形状情報は、ＣＡＤデータ等として事前に取得されていることが一般的であり、ユーザーが形状情報を入力する際には、既存の情報を選択すれば足りる。例えば、検査対象物ＯＢの候補となる種々の物体のデータが保持されている状況で、ユーザーは当該候補の中から検査対象物ＯＢを選択すればよい。また、位置姿勢情報も検査時に検査対象物ＯＢがどのように配置されるか（例えば作業台上のどの位置にどのような姿勢でおかれるか）がわかれば容易に設定可能であり、位置姿勢情報の入力に画像処理の専門知識は求められない。また、検査処理対象位置とは、検査対象物ＯＢのうち、検査を行いたい位置を表すものであり、例えば検査対象物ＯＢの所与の部分の破損を検査するのであれば当該所与の部分の位置を表す情報である。また、物体Ａに対して物体Ｂが組み付けられた検査対象物ＯＢを対象として、物体Ａと物体Ｂの組み立てが正常に行われたか否かを検査する場合には、物体Ａと物体Ｂの組み立て位置（接触面、接触点、挿入位置等）が検査処理対象位置となる。検査処理対象位置についても同様に、検査の内容が把握できれば容易に入力可能であり、入力に際し画像処理の専門知識は不要である。
【００５９】
なお、本実施形態の手法は第２の検査情報の全てを自動生成するものに限定されない。例えば、第２の検査情報のうちの一部を本実施形態の手法により生成し、他の第２の検査情報はユーザーが手動で入力するものであってもよい。この場合、ユーザーは第２の検査情報の入力を完全に省略できるわけではないが、少なくとも設定が困難な視点情報等を自動生成できる点で、本実施形態の手法により検査を容易にできるというメリットに変わりはない。
【００６０】
また、検査処理は、ロボット３０によるロボット作業の結果に対して行われる処理であり、第１の検査情報は、ロボット作業において取得される情報であってもよい。
【００６１】
ここでロボット作業とは、ロボットにより行われる作業であり、ねじ締めや半田づけ、圧着やスナップショット等による結合、ハンドや工具、治具を用いた変形等、種々の作業が考えられる。検査処理がロボット作業の結果に対して行われる場合、当該検査処理はロボット作業が正常に行われたか否かを判定することになる。その場合、そもそもロボット作業を実行するためには、検査対象物ＯＢや作業内容に関する種々の情報が取得されている必要がある。例えば、作業対象物（検査対象物ＯＢの全部又は一部）が作業前にどのような位置、姿勢に配置され、作業後にはどのような位置姿勢に変化しているかは既知の情報となる。また、ねじ締めや半田づけが行われたのであれば、作業対象物のうちのねじを締めた位置、半田づけを行った位置は既知である。同様に、複数の物体が結合されたのであれば、物体Ａのどの位置にどの方向からどのような物体が結合されたのかは既知の情報であるし、作業対象物に変形が加えられれば、作業対象物のうちの変形箇所も、変形後の形状も既知の情報である。
【００６２】
つまり、ロボット作業が対象となる場合であれば、上記の形状情報、位置姿勢情報、検査処理対象位置に対応する情報や、その他第１の検査情報に含まれる情報は、ロボット作業が実行できた以上、既にかなりの部分（場合によっては必要な第１の検査情報の全て）が既知となっている。つまり、本実施形態に係るロボット３０では、第１の検査情報はロボットの制御を行うユニット（例えば図１の処理部１２０）等が保持する情報を流用すればよい。また、図２（Ａ）、図２（Ｂ）を用いて後述するように本実施形態の手法がロボット３０とは異なる処理装置１００に適用される場合にも、処理装置１００は、ロボットに含まれる制御部３５０等から第１の検査情報を取得すればよい。そのため、ユーザーにとってみれば検査を行うために第１の検査情報を改めて入力する必要がなく、容易に第２の検査情報の生成が可能となる。
【００６３】
これにより、画像処理の専門知識を有さないユーザーであっても、容易に検査を実行する（少なくとも第２の検査情報を取得する）こと、或いは検査の実行に当たって第２の検査情報の設定に関する負担を軽減すること等が可能になる。なお、本明細書の以下の説明においては、検査処理の対象がロボット作業の結果である例について説明する。つまり、第１の検査情報をユーザーが入力する必要はないものとするが、上述したように、第１の検査情報の一部或いは全部をユーザーが入力することは妨げられない。第１の検査情報をユーザーが入力する場合であっても、当該第１の検査情報の入力において専門知識を求められないという点で、ユーザーにとって検査が容易になるという利点に変わりはない。
【００６４】
また、以下の説明では図３や図４を用いて後述するように、主としてロボット３０により第２の検査情報を生成し、当該ロボット３０において検査処理が実行される例について説明する。ただし本実施形態の手法はこれに限定されず、以下の説明は、図２（Ａ）に示すように処理装置１００において第２の検査情報を生成し、ロボット３０は当該第２の検査情報を取得して検査処理を実行する手法に拡張可能である。或いは、図２（Ｂ）に示すように処理装置１００において第２の検査情報を生成し、ロボットではない専用の検査装置等において、当該第２の検査情報を用いた検査処理が実行される手法にも拡張可能である。
【００６５】
以下、本実施形態に係るロボット３０や処理装置１００のシステム構成例について説明し、その後具体的な処理の流れについて説明する。さらに具体的には、第１の検査情報の取得から第２の検査情報の生成までの流れをオフライン処理として説明し、生成した第２の検査情報を用いたロボットによる実際の検査処理の流れをオンライン処理として説明する。
【００６６】
２．システム構成例
次に本実施形態に係るロボット３０や処理装置１００のシステム構成例について説明する。図１に示したように、本実施形態に係るロボットは、情報取得部１１０と、処理部１２０と、ロボット機構３００と、撮像部５００を含む。ただし、ロボット３０は図１の構成に限定されず、これらの一部の構成要素を省略したり、他の構成要素を追加するなどの種々の変形実施が可能である。
【００６７】
情報取得部１１０は、検査処理の前に第１の検査情報を取得する。第１の検査情報がユーザーにより入力される場合には、情報取得部１１０は、ユーザーからの入力情報を受け付ける処理を行う。また、ロボット作業に用いられた情報を第１の検査情報とする場合には、情報取得部１１０は、作業時に処理部１２０において用いられた制御用情報を、図１には不図示の記憶部等から読み出す処理等を行えばよい。
【００６８】
処理部１２０は、情報取得部１１０が取得した第１の検査情報に基づいて第２の検査情報の生成処理を行うとともに、第２の検査情報を用いた検査処理を行う。処理部１２０での処理の詳細については後述する。また、処理部１２０は、検査処理、及び検査処理以外（例えば組み立て等のロボット作業）において、ロボット３０の制御を行う。例えば処理部１２０では、ロボット機構３００に含まれるアーム３１０と、撮像部５００等の制御が行われる。なお、撮像部５００は、ロボットのアーム３１０に取り付けられるハンドアイカメラであってもよい。
【００６９】
また、本実施形態の手法は、図２（Ａ）に示したように、撮像部（図２（Ａ）では撮像部５００を示したがこれに限定されない）により検査対象物を撮像した撮像画像を用いて前記検査対象物の検査処理を行う装置に対して、検査処理に用いられる情報を出力する処理装置１００であって、第１の検査情報に基づいて、検査処理における撮像部の視点位置及び視線方向を含む視点情報と、検査処理の検査領域とを含む第２の検査情報を生成し、第２の検査情報を検査処理を行う装置に対して出力する処理装置に適用できる。この場合、第１の検査情報の取得と、第２の検査情報の生成は、処理装置１００で行われることになり、処理装置１００は例えば図２（Ａ）に示したように、情報取得部１１０と処理部１２０を含むものとして実現できる。
【００７０】
ここで、検査処理を行う装置とは、上述してきたようにロボット３０であってもよい。この場合、ロボット３０は図２（Ａ）に示したように、アーム３１０と、検査対象物の検査処理に用いられる撮像部５００と、アーム３１０及び撮像部５００の制御を行う制御部３５０と、を含む。制御部３５０は、撮像部５００の視点位置及び視線方向を表す視点情報と、検査領域を含む情報を第２の検査情報として処理装置１００から取得し、当該第２の検査情報に従って、視点情報に対応する視点位置及び視線方向に、撮像部５００を移動する制御を行い、取得された撮像画像と検査領域を用いて検査処理を実行する。
【００７１】
このようにすれば、処理装置１００において第２の検査情報の生成を行い、他の機器において当該第２の検査情報を用いて適切に検査処理を実行することが可能になる。検査処理を行う装置がロボット３０であれば、図１と同様に、第２の検査情報を用いて検査処理を行うロボットを実現することができるが、第２の検査情報の生成処理と第２の検査情報を用いた検査処理の実行主体が異なる機器となる点で図２（Ａ）は図１とは異なる。
【００７２】
また、処理装置１００は、第２の検査情報の生成処理だけでなく、ロボット３０の制御処理を合わせて行ってもよい。例えば、処理装置１００の処理部１２０は、第２の検査情報を生成するとともに、当該第２の検査情報に基づくロボットの制御用情報の生成を行う。この場合、ロボットの制御部３５０は、処理装置１００の処理部１２０で生成された制御用情報に従ってアーム３１０等を動作させる。つまり、ロボットの制御の実質的な部分を処理装置１００が担うことになり、この場合の処理装置１００はロボットの制御装置として捉えることも可能である。
【００７３】
また、処理装置１００で生成された第２の検査情報を用いて検査処理を実行する主体はロボット３０に限定されるものではない。例えば、図５に示したような専用の機器において第２の検査情報を用いて検査処理を行ってもよく、この場合の構成例は図２（Ｂ）のようになる。図２（Ｂ）では、検査装置が第１の検査情報の入力を受け付け（これは例えば図５のインターフェース部ＩＦを用いればよい）、当該第１の検査情報を処理装置１００に対して出力する例を示した。その場合、処理装置１００は、検査装置から入力された第１の検査情報を用いて第２の検査情報を生成することになる。ただし、第１の検査情報がユーザーから直接処理装置に入力される例のように、種々の変形実施が可能である。
【００７４】
本実施形態のロボット３０は、図３に示したように、アームが１本の単腕ロボットであってもよい。図３ではアーム３１０のエンドエフェクターとして撮像部５００（ハンドアイカメラ）が設けられている。ただし、エンドエフェクターとしてハンド等の把持部を設け、当該把持部や、アーム３１０の他の位置等に撮像部５００を設ける等、種々の変形実施が可能である。また、図３ではＰＣ等の機器を図２（Ａ）の制御部３５０に対応する機器として示したが、当該機器は図１の情報取得部１１０及び処理部１２０に対応するものであってもよい。また、図３ではインターフェース部６００を含み、インターフェース部６００としては操作部６１０と表示部６２０を示したが、インターフェース部６００を含むか否か、また含む場合の当該インターフェース部６００の構成をどうするかは変形実施が可能である。
【００７５】
また、本実施形態に係るロボット３０の構成は図３に限定されるものではない。例えば、ロボット３０は図４に示したように、少なくとも第１のアーム３１０と、第１のアーム３１０と異なる第２のアーム３２０を含み、撮像部５００は、第１のアーム３１０及び第２のアーム３２０の少なくとも一方に設けられるハンドアイカメラであってもよい。図４では第１のアーム３１０は、関節３１１，３１３と、関節の間に設けられるフレーム３１５，３１７から構成され、第２のアーム３２０についても同様のものとしたがこれに限定されない。また、図４では２本のアームを有する双腕ロボットの例を示したが、本実施形態のロボットは３本以上のアームを有してもよい。撮像部５００についても、第１のアーム３１０に設けられるハンドアイカメラ（５００−１）と、第２のアーム３２０に設けられるハンドアイカメラ（５００−２）の両方を記載したが、どちらか一方であってもよい。
【００７６】
また、図４のロボット３０はベースユニット部４００を含んでいる。ベースユニット部４００は、ロボット本体の下部に設けられ、ロボット本体を支持する。図４の例では、ベースユニット部４００には車輪等が設けられ、ロボット全体が移動可能な構成となっている。ただし、ベースユニット部４００が車輪等を持たず、床面等に固定される構成であってもよい。図４のロボットでは、ベースユニット部４００に制御装置（図３において制御部３５０として示した装置）が格納されることで、ロボット機構３００と制御部３５０とが一体として構成される。或いは、図３の制御部３５０に相当する装置のように、特定の制御用の機器を設けることなく、ロボットに内蔵される基板（更に具体的には基板上に設けられるＩＣ等）により、上記の制御部３５０を実現してもよい。
【００７７】
２本以上のアームを有するロボットを用いる場合には、柔軟な検査処理が可能になる。例えば、撮像部５００が複数設けられる場合には、複数の視点位置、視線方向から同時に検査処理を行うことが可能である。また、所与のアームに設けられたハンドアイカメラで、他のアームに設けられた把持部により把持される検査対象物ＯＢを検査することも可能である。この場合、撮像部５００の視点位置、視線方向だけでなく、検査対象物ＯＢの位置姿勢を変化させることも可能となる。
【００７８】
なお、本実施形態にかかる処理装置或いはロボット３０のうち処理部１２０等に対応する部分の機能は、図６に示すように、有線及び無線の少なくとも一方を含むネットワーク２０を介して、ロボット３０と通信接続されたサーバー７００により実現されてもよい。
【００７９】
或いは本実施形態では、本発明の処理装置等の処理の一部を、処理装置であるサーバー７００側が行ってもよい。この場合には、ロボット側に設けられた処理装置と、処理装置であるサーバー７００との分散処理により、当該処理を実現する。具体的には、サーバー７００側は、本発明の処理装置における各処理のうち、サーバー７００に割り当てられた処理を行う。一方、ロボットに設けられた処理装置１００は、本発明の処理装置の各処理のうち、ロボットの処理部等に割り当てられた処理を行う。
【００８０】
例えば、本発明の処理装置が第１〜第Ｍ（Ｍは整数）の処理を行うものであり、第１の処理がサブ処理１ａ及びサブ処理１ｂにより実現され、第２の処理がサブ処理２ａ及びサブ処理２ｂにより実現されるように、第１〜第Ｍの各処理が複数のサブ処理に分割できる場合を考える。この場合、サーバー７００側がサブ処理１ａ、サブ処理２ａ、・・・サブ処理Ｍａを行い、ロボット側に設けられた処理装置１００がサブ処理１ｂ、サブ処理２ｂ、・・・サブ処理Ｍｂを行うといった分散処理が考えられる。この際、本実施形態に係る処理装置、すなわち、第１〜第Ｍの処理を実行する処理装置とは、サブ処理１ａ〜サブ処理Ｍａを実行する処理装置であってもよいし、サブ処理１ｂ〜サブ処理Ｍｂを実行する処理装置であってもよいし、サブ処理１ａ〜サブ処理Ｍａ及びサブ処理１ｂ〜サブ処理Ｍｂの全てを実行する処理装置であってもよい。更にいえば、本実施形態に係る処理装置は、第１〜第Ｍの処理の各処理について、少なくとも１つのサブ処理を実行する処理装置である。
【００８１】
これにより、例えばロボット側の処理装置１００よりも処理能力の高いサーバー７００が、処理負荷の高い処理を行うこと等が可能になる。さらに、処理装置がロボット制御まで行う場合であれば、サーバー７００が各ロボットの動作を一括して制御することができ、例えば複数のロボットに協調動作をさせること等が容易になる。
【００８２】
また近年は、多品種少数の部品を製造することが増えてきている。そして、製造する部品の種類を変更する場合には、ロボットが行う動作を変更する必要がある。図６に示すような構成であれば、複数のロボットの各ロボットへ教示作業をし直さなくても、サーバー７００が一括して、ロボットが行う動作を変更すること等が可能になる。さらに、各ロボットに対して一つの処理装置を設ける場合に比べて、処理装置のソフトウェアアップデートを行う際の手間を大幅に減らすこと等が可能になる。
【００８３】
３．処理の流れ
次に本実施形態の処理の流れについて説明する。具体的には、第１の検査情報の取得及び第２の検査情報の生成を行う流れと、生成した第２の検査情報に基づいて検査処理を実行する際の流れを説明する。検査処理をロボットで実行することを想定した場合、第１の検査情報の取得及び第２の検査情報の生成はロボットの検査処理における動作を伴わなくても実行可能であることから、オフライン処理と表記する。一方、検査処理の実行はロボット動作を伴うことからオンライン処理と表記する。
【００８４】
なお、以下では検査処理の対象はロボットによる組み立て作業の結果であり、検査処理もロボットにより実行される例について説明するが、種々の変形実施が可能である点は上述したとおりである。
【００８５】
３．１  オフライン処理
まず、本実施形態における第１の検査情報と第２の検査情報の具体例を図７に示す。第２の検査情報には、視点情報（視点位置及び視線方向）と、検査領域（ＲＯＩ、確認領域）と、合格画像が含まれる。また、第１の検査情報には形状情報（３次元モデルデータ）と、検査対象物の位置姿勢情報と、検査処理対象位置が含まれる。
【００８６】
具体的なオフライン処理の流れを図８のフローチャートに示す。オフライン処理が開始されると、まず情報取得部１１０は、検査対象物の３次元モデルデータ（形状情報）を、第１の検査情報として取得する（Ｓ１０１）。検査（外観検査）においては、検査対象物がどのように見えるかが重要であり、所与の視点位置、視線方向からの見え方は検査対象物の形状に依存する。特に、３次元モデルデータは、欠損や変形のない理想的な状態の検査対象物の情報となるため、検査対象物の実物に対する検査処理において有用な情報となる。
【００８７】
検査処理が、ロボットによるロボット作業の結果に対して行われる処理である場合には、情報取得部１１０は、ロボット作業の結果として取得される検査対象物の３次元モデルデータである作業後３次元モデルデータと、ロボット作業前の検査対象物の３次元モデルデータである作業前３次元モデルデータとを取得する。
【００８８】
ロボット作業の結果を検査する場合には、作業が適切に行われたかの判定が必要となる。作業が物体Ａと物体Ｂを組み立てる組み立て作業の場合であれば、物体Ａに対して、所定の位置に所定の方向から物体Ｂが組み付けられているか否かを判定する。つまり、物体Ａ、物体Ｂ単体の３次元モデルデータの取得では足らず、物体Ａに対して、所定の位置に所定の方向から物体Ｂが組み付けられているデータ、すなわち理想的に作業が完了した状態での３次元モデルデータが重要となる。よって本実施形態の情報取得部１１０は、作業後３次元モデルデータを取得する。また、後述する検査領域や合格閾値の設定のように、作業前後での見え方の差異が重要となる場面もあるため、作業前３次元モデルデータも合わせて取得しておく。
【００８９】
作業前３次元モデルデータと作業後３次元モデルデータの例を図９（Ａ）、図９（Ｂ）に示す。図９（Ａ）、図９（Ｂ）では、直方体のブロック状の物体Ａに対して、所与の１軸方向でずらした位置に物体Ａと同様の姿勢で直方体のブロック状の物体Ｂを組み付ける作業を例に取っている。この場合、作業前３次元モデルデータは、物体Ｂの組み付け前であるため、図９（Ａ）に示したように物体Ａの３次元モデルデータとなる。また、作業後３次元モデルデータは、図９（Ｂ）に示したように物体Ａと物体Ｂが上記条件で組み付けられたデータとなる。なお、図９（Ａ）、図９（Ｂ）では平面的に図示する関係上、３次元モデルデータが所与の視点位置、視線方向から観察したかのようなデータとなっているが、「３次元」という文言からもわかるように、第１の検査情報として取得される形状データは、観察される位置や方向が限定されない３次元のデータとなる。
【００９０】
また、Ｓ１０１では、視点情報（視点位置及び視線方向を含む情報）の候補となる視点候補も合わせて取得する。この視点候補は、ユーザーが入力したり、処理部１２０等で生成するものではなく、例えば処理装置１００（或いはロボット３０）のメーカーが出荷前に設定しておく情報を想定している。
【００９１】
視点候補は、上述したように視点情報の候補となるものであるが、当該視点候補となり得る点は非常に多数（狭義には無限）に考えられる。例えば、検査対象物を基準とした対象物座標系（物体座標系）で視点情報を設定する場合には、対象物座標系のうち、検査対象物の内部に含まれる点以外の点は全て視点候補となり得てしまう。もちろんそのような多数の視点候補を用いることで（処理上は視点候補を限定しておかないことで）、視点情報を状況に応じて柔軟に、或いは細かく設定することが可能である。よって、視点情報の設定に当たり処理負荷が問題とならないのであれば、Ｓ１０１において視点候補を取得しなくてよい。ただし以下の説明では、種々の物体が検査対象物となった場合でも、汎用的に利用でき、且つ視点情報の設定における処理負荷を増大させないように、視点候補をあらかじめ設定しておくものとする。
【００９２】
この際、検査時点での検査対象物ＯＢの配置される位置姿勢等が既知とは限らない。そのため、視点情報に対応する位置姿勢に撮像部５００を移動できるかが不明であること等から、視点情報を非常に少数（例えば１つや２つ）に限定することは現実的ではない。なぜなら、少数の視点情報だけ生成した場合であって、当該少数の視点情報の全てに撮像部５００を移動できないということになれば、検査処理が実行できないためである。そのような危険性を抑止するためには、視点情報はある程度の数だけ生成する必要があり、結果として視点候補の数もある程度の数となる。
【００９３】
視点候補の例を図１０に示す。図１０では対象物座標系の原点の周囲に１８個の視点候補を設定している。具体的な座標値が図１１となる。視点候補Ａであれば、視点位置がｘ軸上であり、且つ原点から所与の距離（図１１の例であれば２００）だけ離れた位置となる。また、視線方向は（ａｘ，ａｙ，ａｚ）により表されるベクトルに対応し、視点候補Ａの場合、ｘ軸負方向、すなわち原点方向となる。なお、視線方向ベクトルだけ決定したとしても、撮像部５００は視線方向ベクトル周りの回転ができてしまうため姿勢が一意に決まらない。よってここでは、視線方向ベクトル周りの回転角度を規定する他のベクトルを（ｂｘ，ｂｙ，ｂｚ）として設定しておく。その他、図１０に示したように、ｘｙｚの各軸上の２点と、ｘｙｚのうちの２軸の間の点の合計１８個を視点候補とする。このように対象物座標系の原点を取り囲むように視点候補を設定しておけば、ワールド座標系（ロボット座標系）で検査対象物がどのように配置されたとしても、適切な視点情報の設定が可能になる。具体的には、視点候補に基づき設定された視点情報の全て（或いは大多数）に撮像部５００を移動させることができない、或いは移動させても遮蔽物等により検査ができないといった可能性を抑止でき、少なくとも充分な数の視点情報での検査が可能になる。
【００９４】
外観検査では、１つの視点位置及び視線方向だけから検査を行うことは妨げられないが、精度を考慮すれば複数の視点位置及び視線方向から検査を行うことが望ましい。１方向だけからでは、検査すべき領域を充分に（例えば画像上で充分大きなサイズで）観察できない可能性等が考えられるためである。そのため、第２の検査情報は１つの視点情報ではなく、複数の視点情報を含む視点情報セットであることが好ましい。これは例えば、上述の視点候補のうちの複数の候補（基本的には全ての候補）を用いて視点情報を生成することで実現される。また仮に上述の視点候補を用いない場合にも、視点情報を複数求めるようにすればよい。つまり、第２の検査情報は、複数の視点情報を含む視点情報セットを含み、視点情報セットの各視点情報は、検査処理における撮像部５００の視点位置及び視線方向を含む。具体的には、処理部１２０は、第１の検査情報に基づいて、撮像部５００の複数の視点情報を含む視点情報セットを、第２の検査情報として生成する。
【００９５】
上述の視点候補は、対象物座標系における位置であるが、視点候補の設定段階では、具体的な検査対象物の形状やサイズは不定である。具体的には、図１０は検査対象物を基準とした対象物座標系であるはずなのに、当該対象物座標系における物体の位置姿勢が不定の状態となっている。視点情報は、少なくとも検査対象物との相対的な位置関係は規定される必要があるから、視点候補から具体的に視点情報を生成するには検査対象物との対応づけが必要となる。
【００９６】
ここで上記の視点候補を鑑みるに、視点候補を設定した座標系の原点は、全ての視点候補の中心となる位置であり、且つ各視点候補に撮像部５００が配置された場合に、当該撮像部５００の撮像方向（光軸方向）に位置する。つまり、座標系の原点が撮像部５００を用いた観察に最も適した位置と言える。検査処理において最も観察すべき位置とは、上述した検査処理対象位置（狭義には組立位置であってもよいし、図１０に示したように組付け位置であってもよい）であるから、第１の検査情報として取得した検査処理対象位置を用いて検査対象物に対応付けられた視点情報を生成する。
【００９７】
つまり、第１の検査情報は、前記検査対象物に対する相対的な検査処理対象位置を含み、ロボット３０は検査処理対象位置を基準として、検査対象物に対応する対象物座標系を設定し、対象物座標系を用いて、視点情報を生成する。具体的には、情報取得部１１０は、検査対象物に対する相対的な検査処理対象位置を、第１の検査情報として取得し、処理部１２０は、検査処理対象位置を基準として、検査対象物に対応する対象物座標系を設定し、対象物座標系を用いて、視点情報を生成する（Ｓ１０２）。
【００９８】
例えば、検査対象物の形状データが図１２に示した形状であり、そのうちの点Ｏが検査処理対象位置であるとの第１の検査情報が取得されたとする。その場合、点Ｏを原点とし、検査対象物の姿勢が図１２となる対象物座標系を設定すればよい。対象物座標系における検査対象物の位置姿勢が特定されれば、各視点候補と検査対象物との相対関係が明確となるため、各視点候補を視点情報として用いることが可能になる。
【００９９】
複数の視点情報を含む視点情報セットが生成されたら、各種第２の検査情報の生成を行う。まずは各視点情報に対応する合格画像の生成を行う（Ｓ１０３）。具体的には、処理部１２０は、視点情報に対応する視点位置及び視線方向に配置された仮想カメラにより、３次元モデルデータを撮像した画像を、検査処理に用いられる合格画像として取得する。
【０１００】
合格画像は、検査対象物の理想的な状態を表す画像となる必要がある。第１の検査情報として取得される３次元モデルデータ（形状情報）は、検査対象物の理想的な形状データであるから、当該３次元モデルデータを視点情報に対応して配置された撮像部から観察した画像を合格画像としてもちいればよい。なお、３次元モデルデータを用いる場合、実際に撮像部５００による撮像ではなく、仮想カメラを用いた処理（具体的には３次元データを２次元データに射影する変換処理）を行うことになる。なお、ロボット作業の結果に対する検査処理を想定すれば、合格画像とはロボット作業終了時の理想的な検査対象物の状態を表す画像となる。そして、ロボット作業終了時の理想的な検査対象物の状態とは、上述した作業後３次元モデルデータにより表されるから、作業後３次元モデルデータを仮想カメラで撮影した画像を合格画像とすればよい。合格画像は視点情報ごとに求められるものであるため、上述したように視点情報が１８個設定される場合には、合格画像も１８枚となる。図１３（Ａ）〜図１３（Ｇ）のそれぞれ右側の画像が図９に対応する組み立て作業を行った場合の合格画像に対応する。図１３（Ａ）〜図１３（Ｇ）では７視点分の画像を記載したが、上述したように画像数は視点情報の数だけ求められる。なお、Ｓ１０３の処理では後述する検査領域や合格閾値における処理を考慮して、作業前３次元モデルデータを仮想カメラで撮像した作業前画像（図１３（Ａ）〜図１３（Ｇ）のそれぞれ左側）も合わせて求めておく。
【０１０１】
次に、検査処理に用いられる合格画像及び撮像画像の画像中の領域である検査領域を第２の検査情報として求める（Ｓ１０４）。検査領域については上述したとおりである。なお、検査において重要な部分の見え方は視点情報に応じて変化するものであるため、検査領域の設定は視点情報セットに含まれる各視点情報に対して行われる。
【０１０２】
具体的には、処理部１２０は、視点情報に対応する視点位置及び視線方向に配置された仮想カメラにより、作業後３次元モデルデータを撮像した画像を合格画像として取得し、視点情報に対応する視点位置及び視線方向に配置された仮想カメラにより、作業前３次元モデルデータを撮像した画像を、作業前画像として取得し、作業前画像と合格画像との比較処理に基づいて、検査処理に用いられる画像中の領域である検査領域を求める。
【０１０３】
検査領域の設定処理の具体例を図１４（Ａ）〜図１４（Ｄ）に示す。物体Ａに対して右から物体Ｂを組み付けるロボット作業の結果が検査対象である場合には、図１４（Ｂ）に示したように、作業後３次元モデルデータを仮想カメラで撮像した画像が合格画像として取得され、図１４（Ａ）に示したように作業前３次元モデルデータを仮想カメラで撮像した画像が作業前画像として取得される。このように、作業前後で状態の変化を伴うロボット作業において、より重要となるのは状態の変化部分である。図１４（Ｂ）の例であれば、検査において判断すべきは、物体Ｂは物体Ａと組み付けられているか、その組み付け位置は正確かといった条件である。物体Ａのうち作業に関係する部分（例えば組み立てにおける接合面）以外の部分についても検査を行ってよいが、重要度は比較的低いものとなる。
【０１０４】
つまり、合格画像及び撮像画像において重要度が高い画像中の領域は、作業の前後において変化が生じている領域であると考えることができる。よって本実施形態では、処理部１２０は、作業前画像と合格画像との差分である差分画像を求める処理を、比較処理として行い、差分画像中の検査対象物を含む領域を検査領域として求める。図１４（Ａ）、図１４（Ｂ）の例であれば、差分画像は図１４（Ｃ）となるため、図１４（Ｃ）に含まれる物体Ｂの領域を含む検査領域を設定する。
【０１０５】
このようにすれば、差分画像中の検査対象物を含む領域、すなわち検査の重要度が高いと推定される領域を検査領域とすることが可能である。
【０１０６】
この際、検査処理対象位置（図１４（Ａ）等でいう組立位置）は第１の検査情報として既知であり、当該検査処理対象位置が画像中でどこに位置するかも既知である。上述したように、検査処理対象位置は検査処理における検査の基準となる位置であるから、差分画像と検査処理対象位置から検査領域を求めてもよい。例えば、処理部１２０は図１４（Ｃ）に示すように、差分画像中での検査処理対象位置と、差分画像に残される領域との、縦方向での長さの最大値BlobHeightと、横方向での長さの最大値Blobwidthを求める。このようにすれば、検査処理対象位置を中心として、上下にそれぞれBlobHeight、左右にそれぞれBlobwidthの距離の範囲内の領域を検査領域とすれば、差分画像中の検査対象物を含む領域を検査領域として求めることが可能である。なお、本実施形態では縦方向及び横方向にそれぞれマージンを持たせるものとしてもよく、図１４（Ｄ）の例であれば上下左右にそれぞれ３０ピクセルのマージンを持たせた領域を検査領域としている。
【０１０７】
図１５（Ａ）〜図１５（Ｄ）、図１６（Ａ）〜図１６（Ｄ）についても同様である。図１５（Ａ）〜図１５（Ｄ）は、視点位置から見た場合に物体Ａの裏側に比較的細い物体Ｂを組み付ける作業（或いは画像における横方向に穴が空いた物体Ａに、棒状の物体Ｂを挿入する作業）の例である。この場合、差分画像における検査対象物の領域が連続しない複数の領域に分かれることになるが、図１４（Ａ）〜図１４（Ｄ）と同様に処理できる。ここでは物体Ｂが物体Ａに比べて細く、物体Ａの画像における上端部近辺、或いは下端部近辺は検査における重要度が低いと想定される。本実施形態の手法であれば、図１５（Ｄ）に示したように、重要度が低いと思われる物体Ａの領域を検査領域から除外することが可能である。
【０１０８】
図１６（Ａ）〜図１６（Ｄ）は、大きな物体Ａに対して、物体Ａに比べて小さい物体Ｂを組み付ける作業である。これは例えば、ＰＣやプリンター等である物体Ａの規定の箇所に、物体Ｂであるねじを締める作業に対応する。このような作業では、ＰＣやプリンター全体を検査する必要性は低く、ねじ締めが行われた箇所の重要度が高い。その点、本実施形態の手法であれば、図１６（Ｄ）に示したように、物体Ａの大部分を検査領域から除外し、検査すべき物体Ｂの周辺を検査領域として設定することが可能である。
【０１０９】
なお、上述の手法は汎用性の高い検査領域の設定手法ではあるが、本実施形態の検査領域の設定手法はこれに限定されず、他の手法により検査領域を設定してもよい。例えば、図１４（Ｄ）ではより狭い検査領域でも充分であるため、より狭い領域を設定するような手法を用いてもよい。
【０１１０】
次に、合格画像と実際に撮像される撮像画像との比較処理において用いられる閾値（合格閾値）の設定処理を行う（Ｓ１０５）。具体的には、処理部１２０は、上記の合格画像と、作業前画像を取得し、作業前画像と合格画像との類似度に基づいて、撮像画像と合格画像とに基づく検査処理に用いられる閾値を設定する。
【０１１１】
閾値設定処理の具体例を図１７（Ａ）〜図１７（Ｄ）に示す。図１７（Ａ）が合格画像であり、ロボット作業が理想的に行われていれば（広義には検査対象物が理想的な状態であれば）、実際に撮像される撮像画像も合格画像と一致するはずであり、類似度は最大値（ここでは１０００とする）になる。一方、合格画像と一致する要素が全くなければ類似度は最小値（ここでは０とする）になる。ここでの閾値は、合格画像と撮像画像の類似度が当該閾値以上であれば検査が合格であり、類似度が閾値より小さければ検査が不合格であると判定する値となる。つまり、閾値は０と１０００の間の所与の値となる。
【０１１２】
ここで、図１７（Ｂ）は図１７（Ａ）に対応する作業前画像であるが、図１７（Ｂ）にも、図１７（Ａ）と共通する部品が含まれているため、作業前画像と合格画像の類似度は０でない値となる。例えば、類似度の判定を画像のエッジ情報を用いて行う場合には、図１７（Ａ）のエッジ情報である図１７（Ｃ）を比較処理に用いるが、作業前画像のエッジ情報である図１７（Ｄ）にも、１７（Ｃ）に一致する部分が含まれる。図１７（Ｃ）、図１７（Ｄ）の例であれば、類似度の値は７００弱程度となる。よって、作業を全くしていない状態の検査対象物が撮像画像に撮像されたとしても、当該撮像画像と合格画像の類似度は７００程度の値を持ってしまう。作業を全くしていない状態の検査対象物が撮像画像に撮像されるとは、例えば作業自体が実行できなかったとか、実行したが組み付ける側の物体が落下してしまい画像に撮像されなかったといった状態であり、ロボット作業は失敗している可能性が高い。つまり、検査として「不合格」となるべき状況でも７００程度の類似度が出てしまうのであるから、閾値として当該値を下回る値を設定することは不適切と言える。
【０１１３】
よって本実施形態では、類似度の最大値（例えば１０００）と、作業前画像と合格画像との類似度（例えば７００）の間の値を閾値として設定する。一例としては平均値を用いればよく、下式（１）により閾値を求めてもよい。
【０１１４】
閾値＝｛１０００＋（合格画像と作業前画像の類似度）｝／２  ・・・・・（１）
【０１１５】
また、閾値の設定は種々の変形実施が可能であり、例えば合格画像と作業前画像の類似度の値に応じて、閾値を求める式を変更するものであってもよい。
【０１１６】
例えば、合格画像と作業前画像の類似度が６００以下の場合には、閾値を８００で固定し、合格画像と作業前画像の類似度が９００以上の場合には、閾値を１０００で固定し、それ以外の場合に上式（１）を用いるといった変形実施が可能である。
【０１１７】
なお、合格画像と作業前画像の類似度は作業前後での検査対象物の見え方によって変化するものである。例えば、図１７（Ａ）〜図１７（Ｄ）とは異なる視点情報に対応する図１８（Ａ）〜図１８（Ｄ）の場合、組み立て前後での検査対象物の見え方に差異が小さく、結果として合格画像と作業前画像の類似度が上述の例に比べて高くなっている。つまり、合格画像や検査領域と同様に、類似度及び閾値についても視点情報セットに含まれる各視点情報に対して算出処理が行われる。
【０１１８】
最後に、処理部１２０は、視点情報セットの各視点情報に対して、視点情報に対応する視点位置及び視線方向に撮像部５００を移動させる際の優先度を表す優先度情報を設定する（Ｓ１０６）。上述してきたように、視点情報により表される視点位置及び視線方向に応じて、検査対象物の見え方は変化する。よって、所与の視点情報からは検査対象物のうち、検査すべき領域がよく見えるのに対して、他の視点情報からは当該領域を見ることができないといった状況も生じうる。また、上述したように視点情報セットには充分な数の視点情報が含まれるため、検査処理においてその全てを対象として検査を行う必要はなく、所定の視点情報（例えば２箇所）で合格なら最終結果も合格とし、それまでに対象とならなかった視点情報については処理を行わないといったことが可能である。以上をふまえて、検査処理の効率化を考慮すれば、検査すべき領域がよく見える等、より検査処理において有用な視点情報を優先的に処理することが望ましい。そこで本実施形態では、各視点情報に対して優先度を設定する。
【０１１９】
ここで検査処理がロボット作業の結果に対するものである場合、作業の前後での差異が明確である方が検査には有用である。極端な例として、図１９（Ａ）に示したように大きな物体Ａに、図面上で左側から小さな物体Ｂを組み付ける作業を考える。この場合、図１９（Ａ）の視点位置１及び視線方向１に対応する視点情報１を用いた場合、作業前画像が図１９（Ｂ）、合格画像が図１９（Ｃ）となり、差異が生じない。つまり、視点情報１はここでの作業を検査するに当たって有用な視点情報でない。一方、視点位置２及び視線方向２に対応する視点情報２を用いた場合、作業前画像が図１９（Ｄ）、合格画像が図１９（Ｅ）となり、差異が明確である。この場合、視点情報２の優先度を視点情報１の優先度よりも高くするとよい。
【０１２０】
つまり、作業の前後での変化量が大きいほど優先度を高く設定すればよく、作業の前後での変化量が大きいとは、図１７（Ａ）〜図１８（Ｄ）を用いて説明した作業前画像と合格画像の類似度が低いことを表す。よってＳ１０６の処理では、複数の視点情報のそれぞれについて作業前画像と合格画像の類似度を算出し（これはＳ１０５の閾値設定の際に求められている）、類似度が低いほど高い優先度を設定すればよい。検査処理を実行する際には、優先度が高い視点情報から順に撮像部５００を移動させて検査を行うことになる。
【０１２１】
３．２  オンライン処理
次に、第２の検査情報を用いた検査処理であるオンライン処理の流れを、図２０のフローチャートを用いて説明する。オンライン処理が開始されると、まず上述のオフライン処理により生成された第２の検査情報の読込が行われる（Ｓ２０１）。
【０１２２】
そして、ロボット３０は、優先度情報により表される優先度に基づいて設定された移動順序に従って、視点情報セットの各視点情報に対応する視点位置及び視線方向に、撮像部５００を移動させる。これは例えば図１の処理部１２０、或いは図２（Ａ）の制御部３５０の制御により実現できる。具体的には、視点情報セットに含まれる複数の視点情報のうち、最も優先度の高い１つの視点情報を選択し（Ｓ２０２）、当該視点情報に対応する視点位置及び視線方向に撮像部５００を移動させる（Ｓ２０３）。このようにすれば、上述した優先度に従った撮像部５００の制御により、効率的な検査処理が可能になる。
【０１２３】
ただし、オフライン処理における視点情報は基本的に対象物座標系で規定された情報であり、実空間（ワールド座標系、ロボット座標系）での位置を考慮したものではない。例えば、図２１（Ａ）に示したように、対象物座標系において検査対象物の所与の面Ｆ１の方向に視点位置及び視点方向が設定されていたとする。その場合、当該検査対象物の検査処理において、図２１（Ｂ）に示したように検査対象物が面Ｆ１を下にして作業台に配置された場合、上記の視点位置及び視線方向は作業台の下となってしまい、撮像部５００（ロボット３０のハンドアイカメラ）を当該位置方向まで移動させることが不可能となる。
【０１２４】
つまり、Ｓ２０３は、必ず視点情報に対応する位置姿勢まで撮像部５００を移動させるのではなく、移動可能であるかの判定を行って（Ｓ２０４）、移動可能である場合に移動する制御となる。具体的には、処理部１２０は、ロボットの可動範囲情報に基づいて、複数の視点情報のうちの第ｉ（ｉは自然数）の視点情報に対応する視点位置及び視線方向に撮像部５００を移動させることができないと判定された場合には、第ｉの視点情報に対応する撮像部５００の移動をスキップし、移動順序において第ｉの視点情報の次の第ｊ（ｊはｉ≠ｊを満たす自然数）の視点情報に対する制御を行う。具体的にはＳ２０４でＮｏと判定された場合には、Ｓ２０５以降の検査処理をスキップし、Ｓ２０２に戻って次に視点情報の選択を行う。
【０１２５】
ここで、視点情報セットに含まれる視点情報の数をＮ（Ｎは自然数であり、上述した図１０の例であればＮ＝１８）とすれば、ｉは１≦ｉ≦Ｎを満たす整数であり、ｊは１≦ｊ≦Ｎ及びｊ≠ｉを満たす整数である。また、ロボットの可動範囲情報とは、ロボットのうち特に撮像部５００の設けられた部分の移動できる範囲を表した情報である。ロボットに含まれる各関節は、当該関節のとれる関節角の範囲が設計上決定されている。そして、各関節の関節角の値が決まれば、ロボットの所与の位置はフォワードキネマティクスにより演算可能である。つまり、可動範囲情報はロボットの設計事項から求められる情報であり、関節角の取り得る値の組であってもよいし、撮像部５００の取りうる空間的な位置姿勢であってもよいし、他の情報であってもよい。
【０１２６】
なお、ロボットの可動範囲情報は、ロボット座標系、或いはワールド座標系を用いて表現されることが一般的である。そこで、視点情報と可動範囲情報の比較を行うためには、図２１（Ａ）のような対象物座標系での視点情報を、図２１（Ｂ）に示したような実空間での位置関係、すなわちロボット座標系での視点情報に変換する必要がある。
【０１２７】
よって情報取得部１１０は、検査対象物のグローバル座標系における位置姿勢を表す対象物位置姿勢情報を第１の検査情報として取得しておき、Ｓ２０４の処理において、処理部１２０は、対象物位置姿勢情報に基づき求められる、グローバル座標系と対象物座標系の相対関係に基づいて、グローバル座標系で表現される視点情報を求め、グローバル座標系で表現されたロボットの可動範囲情報と、グローバル座標系で表現される視点情報とに基づいて、視点情報により表される視点位置及び視線方向に撮像部５００を移動できるか否かの判定を行う。
【０１２８】
この処理は座標変換処理であるため、２つの座標系の相対関係が必要であり、当該相対関係はグローバル座標系における対象物座標系の基準の位置姿勢、すなわち対象物位置姿勢情報により求めることができる。
【０１２９】
なお、視点情報により表される視線方向は、撮像部５００の姿勢を一意に決定するものである必要はない。具体的には、図１０、図１１の視点候補の説明で上述したように、（ｘ，ｙ，ｚ）により視点位置が決定され、（ａｘ，ａｙ，ａｚ）及び（ｂｘ，ｂｙ，ｂｚ）により撮像部５００の姿勢が決定されるが、（ｂｘ，ｂｙ，ｂｚ）については考慮しなくてもよい。視点情報により表される視点位置及び視線方向に撮像部５００を移動できるか否かの判定において、（ｘ，ｙ，ｚ）、（ａｘ，ａｙ，ａｚ）及び（ｂｘ，ｂｙ，ｂｚ）の全てを条件としてしまうと、当該条件を満たす撮像部５００の移動が困難となってしまう。具体的には（ｘ，ｙ，ｚ）により表される位置から原点の方向である（ａｘ，ａｙ，ａｚ）を撮像することはできても、その際の（ａｘ，ａｙ，ａｚ）周りの回転角度を表すベクトルは、所定範囲しかとれず、（ｂｘ，ｂｙ，ｂｚ）を満足することができないということがあり得る。よって本実施形態では、視線方向には（ｂｘ，ｂｙ，ｂｚ）を含めなくてもよく、（ｘ，ｙ，ｚ）及び（ａｘ，ａｙ，ａｚ）が満たされれば、撮像部５００が視点情報まで移動できると判定する。
【０１３０】
視点情報に対応する位置姿勢に撮像部５００が移動できた場合には、当該位置姿勢の撮像部５００による撮像を行って撮像画像を取得する（Ｓ２０５）。検査処理は撮像画像と合格画像の比較により行われるが、合格画像では上記（ｂｘ，ｂｙ，ｂｚ）は所定の値を用いているのに対して、撮像画像を撮像する撮像部５００は視線方向に対する回転角度が（ｂｘ，ｂｙ，ｂｚ）により表される角度とは異なる可能性がある。例えば、合格画像が図２２（Ａ）であるのに対して、撮像画像が図２２（Ｂ）となるケースのように、２つの画像の間に所与の角度での回転が生じてしまう場合がある。このままでは検査領域の切り出しも適切なものとならないし、類似度の算出も同様である。なお、図２２（Ｂ）は便宜上、モデルデータから作成した合格画像と同様に背景を単色無地としたが、図２２（Ｂ）は撮像画像であるため、他の物体が写り込むこともあり得る。また、照明光等の関係から、検査対象物の色味が合格画像とは異なるものになることも考えられる。
【０１３１】
よってここでは、撮像画像と合格画像との間の画像回転角度の算出処理を行う（Ｓ２０６）。具体的には、合格画像を生成する際には上記（ｂｘ，ｂｙ，ｂｚ）を用いていたのであるから、合格画像に対応する撮像部（仮想カメラ）の視線方向に対する回転角度は既知の情報である。また、撮像画像を撮像する際の撮像部５００の位置姿勢についても、撮像部５００を視点情報に対応する位置姿勢に移動させるためのロボット制御において既知となっているはずであり、そうでなければそもそも移動できない。よって、撮像時の撮像部５００の視線方向に対する回転角度も求めることができる情報である。Ｓ２０６の処理では、視線方向に対する２つの回転角度の差分から、画像間の回転角度を求める。さらに、求めた画像回転角度を用いて、合格画像と撮像画像の少なくとも一方の回転変形処理を行って、合格画像と撮像画像の角度の違いを補正する。
【０１３２】
以上の処理で合格画像と撮像画像の角度の対応がとれたので、各画像のうちＳ１０４で求めた検査領域を抽出し（Ｓ２０７）、当該領域を用いて確認処理を行う（Ｓ２０８）。Ｓ２０８では、合格画像と撮像画像の類似度を算出し、当該類似度がＳ１０５で求めた閾値以上であれば合格、そうでなければ不合格と判定すればよい。
【０１３３】
ただし、上述したように検査処理を１つの視点情報だけから行うのではなく、複数の視点情報を用いてもよい。よって、指定回数だけの確認処理が実行されたかを判定し（Ｓ２０９）、指定回数実行されていれば処理を終了する。例えば、３箇所での確認処理で問題ない場合に合格とする検査処理であれば、Ｓ２０８で３回合格との判定がされた場合に、Ｓ２０９でＹｅｓと判定され、検査対象物は合格として検査処理が終了する。一方、Ｓ２０８で合格であったとしても、当該判定が１回目或いは２回目であれば、Ｓ２０９ではＮｏと判定され、次の視点情報に対する処理を継続する。
【０１３４】
なお、以上の説明では、オンライン処理も情報取得部１１０や処理部１２０により行われるものとしたが、これには限定されず、上述したようにロボット３０の制御部３５０により上記処理が行われてもよい。つまりオンライン処理は、図１のロボット３０の情報取得部１１０や処理部１２０により行われてもよいし、図２（Ａ）のロボットの制御部３５０で行われてもよい。或いは、図２（Ａ）の処理装置の情報取得部１１０や処理部１２０により行われてもよく、この場合の処理装置１００は上述したようにロボットの制御装置であると考えることができる。
【０１３５】
ロボット３０の制御部３５０によりオンライン処理が行われる場合には、ロボット３０の制御部３５０は、ロボット３０の可動範囲情報に基づいて、複数の視点情報のうちの第ｉ（ｉは自然数）の視点情報に対応する視点位置及び視線方向に撮像部５００を移動させることができないと判定された場合には、第ｉの視点情報に対応する撮像部５００の移動をスキップし、移動順序において第ｉの視点情報の次の第ｊの（ｊはｉ≠ｊを満たす自然数）視点情報に対する制御を行う。
【０１３６】
なお、本実施形態の処理装置１００等は、その処理の一部または大部分をプログラムにより実現してもよい。この場合には、ＣＰＵ等のプロセッサーがプログラムを実行することで、本実施形態の処理装置１００等が実現される。具体的には、非一時的な情報記憶媒体に記憶されたプログラムが読み出され、読み出されたプログラムをＣＰＵ等のプロセッサーが実行する。ここで、情報記憶媒体（コンピューターにより読み取り可能な媒体）は、プログラムやデータなどを格納するものであり、その機能は、光ディスク（ＤＶＤ、ＣＤ等）、ＨＤＤ（ハードディスクドライブ）、或いはメモリー（カード型メモリー、ＲＯＭ等）などにより実現できる。そして、ＣＰＵ等のプロセッサーは、情報記憶媒体に格納されるプログラム（データ）に基づいて本実施形態の種々の処理を行う。即ち、情報記憶媒体には、本実施形態の各部としてコンピューター（操作部、処理部、記憶部、出力部を備える装置）を機能させるためのプログラム（各部の処理をコンピューターに実行させるためのプログラム）が記憶される。
【符号の説明】
【０１３７】
ＩＦ  インターフェース部、ＯＢ  検査対象物、ＰＲ  処理部、ＣＡ  撮像部、
２０  ネットワーク、３０  ロボット、１００  処理装置、１１０  情報取得部、
１２０  処理部、３００  ロボット機構、３１０  アーム、３１１，３１３  関節、
３１５，３１７  フレーム、３２０  アーム、３５０  制御部、
４００  ベースユニット部、５００  撮像部、６００  インターフェース部、
６１０  操作部、６２０  表示部、７００  サーバー
【図１】
2015085493.tif 000003
【図２】
2015085493.tif 000004
【図３】
2015085493.tif 000005
【図４】
2015085493.tif 000006
【図５】
2015085493.tif 000007
【図６】
2015085493.tif 000008
【図７】
2015085493.tif 000009
【図８】
2015085493.tif 000010
【図１０】
2015085493.tif 000011
【図１１】
2015085493.tif 000012
【図１２】
2015085493.tif 000013
【図１４】
2015085493.tif 000014
【図１５】
2015085493.tif 000015
【図１６】
2015085493.tif 000016
【図１９】
2015085493.tif 000017
【図２０】
2015085493.tif 000018
【図２１】
2015085493.tif 000019
【図９】
2015085493.tif 000020
【図１３】
2015085493.tif 000021
【図１７】
2015085493.tif 000022
【図１８】
2015085493.tif 000023
【図２２】
2015085493.tif 000024