(57)【要約】【課題】学習時と異なる姿勢で検査部品を撮影する場合においても、安定的に組み付け成否の判定を行う。【解決手段】情報処理装置であって、第１の部品および第１の部品が組み付けられた第２の部品を含む画像に基づいて、第１の部品および第２の部品の各位置姿勢を推定する位置姿勢推定部と、第１の部品および第２の部品の各位置姿勢に基づいて、組み付けの状態を評価するための評価値を算出する評価値算出部と、評価値に基づいて組み付けの成否を判定する成否判定部とを備える。【選択図】  図１
2015114722.tif 000002
【特許請求の範囲】
【請求項１】
第１の部品および前記第１の部品が組み付けられた第２の部品を含む画像に基づいて、前記第１の部品および前記第２の部品の各位置姿勢を推定する位置姿勢推定手段と、
前記第１の部品および前記第２の部品の各位置姿勢に基づいて、組み付けの状態を評価するための評価値を算出する評価値算出手段と、
前記評価値に基づいて前記組み付けの成否を判定する成否判定手段と
を備えることを特徴とする情報処理装置。
【請求項２】
前記第１の部品の形状モデルおよび前記第２の部品の形状モデルを入力する形状モデル入力手段をさらに備え、
前記位置姿勢推定手段は、前記画像と、前記第１の部品の形状モデルおよび前記第２の部品の形状モデルとに基づいて、前記各位置姿勢を推定することを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記評価値の許容値を設定する許容値設定手段をさらに備え、
前記成否判定手段は、前記評価値と前記許容値との比較に基づいて前記組み付けの成否を判定することを特徴とする請求項１または２に記載の情報処理装置。
【請求項４】
前記許容値設定手段は、前記第１の部品の形状モデルおよび前記第２の部品の形状モデルから前記第１の部品および前記第２の部品が接触する接触部位の公差情報を取得し、前記公差情報に基づいて前記許容値を設定することを特徴とする請求項３に記載の情報処理装置。
【請求項５】
前記評価値算出手段は、前記第１の部品および第２の部品の相対的な位置姿勢に基づいて、前記第１の部品および第２の部品の各形状モデルにおける着目部位間の距離を算出し、当該距離に基づいて前記評価値を算出することを特徴とする請求項１乃至４の何れか１項に記載の情報処理装置。
【請求項６】
前記評価値算出手段は、前記第１の部品および前記第２の部品の相対的な位置姿勢と、予め保持された組み付け成功状態の部品間位置姿勢との差に基づいて、前記評価値を算出することを特徴とする請求項１乃至４の何れか１項に記載の情報処理装置。
【請求項７】
前記許容値設定手段は、組み付け成功状態の前記第１の部品および第２の部品が撮影された画像に基づいて算出された評価値に基づいて前記許容値を設定することを特徴とする請求項３に記載の情報処理装置。
【請求項８】
前記位置姿勢推定手段は、前記画像と、前記第１の部品の形状モデルおよび前記第２の部品の形状モデルとを対応付けてマッチングすることにより、前記各位置姿勢を推定することを特徴とする請求項１に記載の情報処理装置。
【請求項９】
前記画像は、濃淡画像および距離画像の少なくとも一方を含むことを特徴とする請求項１乃至８の何れか１項に記載の情報処理装置。
【請求項１０】
第１の部品および前記第１の部品が組み付けられた第２の部品を含む画像に基づいて前記第１の部品または前記第２の部品の一方の位置姿勢を推定し、前記一方の位置姿勢と予め保持された組み付け成功状態の位置姿勢とに基づいて他方の位置姿勢を算出する位置姿勢推定手段と、
前記他方の位置姿勢に対応する部品の形状モデルと前記画像に基づいて、組み付けの状態を評価するための評価値を算出する評価値算出手段と、
前記評価値に基づいて前記組み付けの成否を判定する成否判定手段と
を備えることを特徴とする情報処理装置。
【請求項１１】
第１の部品および前記第１の部品が組み付けられた第２の部品を含む画像に基づいて、前記第１の部品および前記第２の部品を含む組み付け済部品の位置姿勢を推定する位置姿勢推定手段と、
前記組み付け済部品の形状モデルと前記画像とに基づいて、組み付けの状態を評価するための評価値を算出する評価値算出手段と、
前記評価値に基づいて前記組み付けの成否を判定する成否判定手段と
を備えることを特徴とする情報処理装置。
【請求項１２】
請求項１乃至１１の何れか１項に記載の情報処理装置と、
前記組み付けの成否判定の結果に基づいて組み付け動作を制御する制御手段と
を備えることを特徴とする情報処理システム。
【請求項１３】
情報処理装置の制御方法であって、
位置姿勢推定手段が、第１の部品および前記第１の部品が組み付けられた第２の部品を含む画像に基づいて、前記第１の部品および前記第２の部品の各位置姿勢を推定する工程と、
評価値算出手段が、前記第１の部品および前記第２の部品の各位置姿勢に基づいて、組み付けの状態を評価するための評価値を算出する工程と、
成否判定手段が、前記評価値に基づいて前記組み付けの成否を判定する工程と
を有することを特徴とする情報処理装置の制御方法。
【請求項１４】
請求項１３に記載の情報処理装置の制御方法の各工程をコンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、情報処理装置の制御方法、情報処理システムおよびプログラムに関し、特に、対象部品を把持して被組付け部品の所定位置へ組付ける動作の成否を判定する技術に関する。
【背景技術】
【０００２】
近年のロボット技術の発展とともに、工業製品の組立のようなこれまで人間が行っていた複雑なタスクをロボットが代わりに行うようになりつつある。このようなロボットでは、ハンドなどのエンドエフェクタによって部品をピックして組み付けを行う。ロボットによる部品ピックやその後の組み付け作業では、ハンド機構による部品把持時の部品位置姿勢のずれや正常でない部品の混入等の原因により部品組み付けに失敗することがある。そのため、部品を組み付けた後に、正常に組み付けが行われたかどうかを確認する部品組み付け後検査が必要になる。この組み付け後検査としては、これまでは、組み付け作業者の目視による検査が一般的であった。しかし、近年は、この自動化を目的とした取り組みが行われ始めている。
【０００３】
特許文献１では、予め、組み付ける部品の基準となるマスタ画像を複数撮影し、部品を実際に組み付ける際の実画像を複数撮影し、各マスタ画像と各実画像との相関値をそれぞれ求め、各相関値に基づいて部品の組み付けの良否を判定する方法が開示されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開2008-170331号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、特許文献１に記載の技術では、学習時にあらかじめ撮影したマスタ画像と撮影画像とを２次元画像上で比較することで成否判定を行うため、学習時と違う姿勢で検査部品を撮影した場合には適切な判定を行うことができないという課題がある。
【０００６】
本発明は、以上の課題を鑑みてなされたものであり、学習時と異なる姿勢で検査部品を撮影する場合においても安定的に組み付け成否の判定を行えるようにすることを目的とする。
【課題を解決するための手段】
【０００７】
上記の目的を達成する本発明に係る情報処理装置は、
第１の部品および前記第１の部品が組み付けられた第２の部品を含む画像に基づいて、前記第１の部品および前記第２の部品の各位置姿勢を推定する位置姿勢推定手段と、
前記第１の部品および前記第２の部品の各位置姿勢に基づいて、組み付けの状態を評価するための評価値を算出する評価値算出手段と、
前記評価値に基づいて前記組み付けの成否を判定する成否判定手段と
を備えることを特徴とする。
【発明の効果】
【０００８】
本発明によれば、学習時と異なる姿勢で検査部品を撮影する場合においても、安定的に組み付け成否の判定を行うことが可能になる。
【図面の簡単な説明】
【０００９】
【図１】本発明の一実施形態に係る情報処理装置の構成を示す図。
【図２】本発明の一実施形態に係る組み付け成否判定対象となる、組み付け元部品および組み付け先部品の一例を示す図。
【図３】本発明の一実施形態に係る3次元形状モデルの構成要素を説明する図。
【図４】本発明の一実施形態に係る3次元形状モデル中に設定される組み付け接触部位の設定を説明する図。
【図５】本発明の一実施形態に係る情報処理装置が実施する組み付け検査の処理手順を示すフローチャート。
【図６】本発明の一実施形態に係る情報処理装置が実施する組み付け検査における、組み付け元部品および組み付け先部品の位置姿勢推定処理の手順を示すフローチャート。
【図７】本発明の一実施形態に係る組み付け検査における、組み付け成否を判定するための評価値算出の処理手順を示すフローチャート。
【図８】本発明の一実施形態に係るロボットシステムの構成例を示す図。
【発明を実施するための形態】
【００１０】
以下、添付図面を参照して、本発明の好適な実施形態について詳細に説明する。
【００１１】
（第１実施形態：両部品の着目部位間の距離を組み付け評価値として使用）
＜１．処理の概要＞
本実施形態では、情報処理装置を、組み付け工程において２部品間の組み付けが正常に行われたかを判定する組み付け後検査手法に適用した場合について説明する。
【００１２】
本実施形態における組み付け後検査の対象としては、図２（ｃ）に一例を示すような２部品から構成される組み付け済み部品７０を想定する。組み付け済み部品７０は、図２（ａ）に示すようなロボットハンドにより把持・移動される組み付け元部品５０と、当該組み付け元部品５０を組み付ける相手となる図２（ｂ）に示すような組み付け先部品６０とを含んでいる。本実施形態における組み付け後検査とは、組み付け済み部品７０の撮影画像に基づいて、適切に組み付けが行われているか否かを判定することである。具体的には、組み付け元部品５０と組み付け先部品６０とが接触する部位が、所定範囲よりもずれている場合に失敗と判定し、所定範囲内に収まっている場合に成功と判定する。また、本実施形態で述べる「位置姿勢」とは、組み付け先部品または組み付け元部品と当該部品を撮影するカメラとの位置姿勢の関係のことを意味する。
【００１３】
以下、本実施形態における組み付け後検査の処理の概要を簡単に述べる。組み付け後検査処理では、まず、組み付け元部品５０および組み付け先部品６０の３次元形状モデルを用意する。３次元形状モデルには、図４中の斜線に示すように、組み付け時に接触面となる部位が、着目部位として設定されているものとする。そして、この３次元形状モデルと、組み付け済みの検査対象部品が撮影された画像とに基づいて、組み付け先部品６０および組み付け元部品５０の３次元的な位置姿勢を算出する。次に、それぞれの３次元位置姿勢と３次元形状モデルとに基づいて、組み付け先部品６０および組み付け元部品５０の着目部位間の３次元距離を算出する。この距離が０に近いほど、組み付けのずれが少ないと判定することができるため、着目部位間の３次元距離を「組み付け評価値」として使用する。そして、当該組み付け評価値を、あらかじめ設定しておいた組み付け評価値の閾値と比較することで、組み付け成否を判定する。
【００１４】
このように、組み付けられた２部品の位置姿勢を撮影画像から推定し、２部品の接触面間の3次元距離を推定することで組み付け成否を判定する。そのため、あらかじめ正解画像を撮影しておく必要がなく、かつ、自由な姿勢から観察して組み付け成否を判定することが可能になる。また、組み付け接触面間の3次元距離を評価値に用いるため、組み付け成否判定の精度を容易に変更することが可能である。すなわち、組み付け精度の要求が厳しい場合は、閾値を厳しく設定し、要求がゆるい場合は、閾値を易しく設定するなどにより、容易に調整することが可能である。
【００１５】
以下の説明では、組み付けられた２部品間の３次元的な位置姿勢の差に基づいて組み付け評価値を算出し、当該算出した組み付け評価値に基づいて組み付け成否判定を行う処理について詳細を述べる。
【００１６】
＜２．情報処理装置の構成＞
まずは図１を参照して、本実施形態に係る情報処理装置１の構成例を説明する。情報処理装置１は、３次元形状モデル入力部１１０と、画像入力部１２０と、位置姿勢推定部１３０と、組み付け評価値算出部１４０と、組み付け許容値設定部１５０と、組み付け成否判定部１６０とを備えている。
【００１７】
３次元形状モデル入力部１１０は、組み付け元部品の形状を表す３次元形状モデル１０と、組み付け先部品の形状を表す３次元形状モデル２０とを入力する。本実施形態では、図３に示す３次元形状モデルは、図３（ｂ）のような、３次元位置と３次元法線方向とから構成される物体表面上の局所的な３次元平面情報（以後、「局所面特徴」と称する）と、図３（ａ）のような、３次元位置と３次元線分方向とから構成される物体輪郭上の局所的な３次元線分情報（以後、「局所線特徴」と称する）によって構成されるものとする。なお、単に幾何特徴と称した場合は、局所面特徴と局所線特徴との両方を指すものとする。
【００１８】
ただし、３次元形状モデルとして保持する形状情報は、対象形状を表す３次元的な幾何情報であれば良く、表現形式に特に制限はない。例えば、単純な３次元点の集合や、稜線を表す３次元ラインの集合、３次元点３点で構成される面および線の集合で表されるポリゴン形式の形状情報など、他の表現形式で表しても良い。また、図４中で、３次元形状モデル１０および２０の太枠線および斜線部分に示されるように、組み付け工程において接触面となる部位を、着目部位として定義する。そして、着目部位に属する局所面特徴と局所線特徴とを参照できるように設定されているものとする。３次元形状モデル１０および２０は、３次元形状モデル入力部１１０に保存されており、位置姿勢推定部１３０に入力される。
【００１９】
２次元画像撮影装置３０は、通常の２次元画像を撮影するカメラである。撮影される２次元画像は濃淡画像であってもよいしカラー画像であってもよい。本実施形態では、２次元画像撮影装置３０は濃淡画像を出力する。２次元画像撮影装置３０が撮影する画像は画像入力部１２０を介して情報処理装置１に入力される。カメラの焦点距離や主点位置、レンズ歪みパラメータなどの内部パラメータは、使用する機器の仕様を参照するか、または、[Ｒ．  Ｙ．  Ｔｓａｉ，  "Ａ  ｖｅｒｓａｔｉｌｅ  ｃａｍｅｒａ  ｃａｌｉｂｒａｔｉｏｎ  ｔｅｃｈｎｉｑｕｅ  ｆｏｒ  ｈｉｇｈ−ａｃｃｕｒａｃｙ  ３Ｄ  ｍａｃｈｉｎｅ  ｖｉｓｉｏｎ  ｍｅｔｒｏｌｏｇｙ  ｕｓｉｎｇ  ｏｆｆ−ｔｈｅ−ｓｈｅｌｆ  ＴＶ  ｃａｍｅｒａｓ  ａｎｄ  ｌｅｎｓｅｓ，  "  ＩＥＥＥ  Ｊｏｕｒｎａｌ  ｏｆ  Ｒｏｂｏｔｉｃｓ  ａｎｄ  Ａｕｔｏｍａｔｉｏｎ，  ｖｏｌ．ＲＡ−３，  ｎｏ．４，  １９８７．]で開示される方法によって事前にキャリブレーションしておく。
【００２０】
距離画像撮影装置４０は、計測対象である物体表面上の点の３次元情報を計測する。距離画像撮影装置４０として距離画像を出力する距離センサを用いる。距離画像は、各画素が奥行きの情報を持つ画像である。本実施形態では、距離センサとして、波長の異なる色ＩＤを付与したマルチスリットラインを対象に照射し、その反射光をカメラで撮影して三角測量によって距離計測を行うワンショットアクティブ式のものを利用する。しかしながら、距離センサはこれに限るものではなく、光の飛行時間を利用するＴｉｍｅ−ｏｆ−ｆｌｉｇｈｔ方式であってもよい。また、ステレオカメラが撮影する画像から三角測量によって各画素の奥行きを計算するパッシブ式であってもよい。その他、距離画像を計測するものであればいかなるものであっても本発明の本質を損なうものではない。
【００２１】
距離画像撮影装置４０が計測した距離画像は、画像入力部１２０を介して情報処理装置１に入力される。また、距離画像撮影装置４０と２次元画像撮影装置３０との光軸は一致しており、２次元画像撮影装置３０が出力する濃淡画像の各画素と、距離画像撮影装置が出力する距離画像の各画素との対応関係は既知であるものとする。しかしながら、本発明の適用は、濃淡画像と距離画像とが同一の視点である場合に限るものではない。
【００２２】
例えば、濃淡画像を撮影する撮影装置と、距離画像を撮影する撮影装置とが別の位置姿勢にあり、濃淡画像と距離画像とをそれぞれ別の視点から撮影しても良い。この場合は、撮影装置間の相対的な位置姿勢は既知であるとして、距離画像中の３次元点群を濃淡画像に投影することにより、濃淡画像と距離画像の対応を取る。同一の物体を撮影する撮影装置間の相対的な位置姿勢が既知であり、その画像間の対応が計算できる限り、撮影装置の位置関係に特に制限はない。
【００２３】
位置姿勢推定部１３０は、２次元画像撮影装置３０及び距離画像撮影装置４０により撮影された濃淡画像及び距離画像と、３次元形状モデル入力部１１０により保持された３次元形状モデル１０および３次元形状モデル２０とに基づいて、組み付け元部品および組み付け先部品の両部品の位置姿勢を推定する。処理の詳細については後述する。
【００２４】
組み付け評価値算出部１４０は、位置姿勢推定部１３０により推定された位置姿勢情報に基づいて、組み付け評価値を算出する。本実施形態では、３次元形状モデル１０および３次元形状モデル２０の着目部位間の３次元距離を組み付け評価値として算出する。具体的には、両部品の着目部位に所属する局所面特徴間で最近傍となるペアを算出し、最近傍となる局所面特徴間の３次元距離を算出、最近傍ペア中の最大値を組み付け評価値として算出する。なお、組み付け評価値として算出する値は、以上に述べた方法に限るものでなく、組み付け元部品と組み付け先部品との着目部位間の空間的なずれの大きさに応じて増減する値であれば何でも良く、計算方法および表現に特に制限はない。例えば、着目部位をポリゴンモデルで表現する場合は、その構成要素である３角メッシュ間の距離を組み付け評価値としてもよい。組み付け評価値算出の処理の詳細については後述する。
【００２５】
組み付け許容値設定部１５０は、組み付け評価値算出部１４０が算出する評価値に対する、失敗と成功とを判定するための閾値を設定する。閾値としては、ユーザの精度要求に応じて任意の精度を設定すればよく、厳しく判定する場合は小さく、大まかに判定する場合は大きく閾値を設定すればよい。例えば、組み付けの精度を300[μm]まで抑えたい場合は、組み付け許容値を300[μm]と設定すればよい。このようにすることで、組み付け接触面間の距離が300[μm]以上にずれた場合には、組み付け失敗と判定することが可能である。
【００２６】
また、組み付け元部品５０および組み付け先部品６０のＣＡＤモデルまたは設計図面があり、各部位の公差情報が取得できる場合は、公差情報に基づいて組み付け評価値を設定してもよい。具体的には、正しく組み付けが行われている場合は組み付け元部品５０および組み付け先部品６０の組み付け接触面のズレ量は組み付け接触部位毎の公差の和の範囲に収まっているはずという考えの下、両部品の組み付け接触部位の公差の和を、組み付け評価値の閾値として設定する。
【００２７】
また、情報処理装置１に組み付け評価値の閾値を設定するためのユーザインタフェースを備えて、ユーザ操作によって閾値の設定を受け付けてもよい。組み付け評価値の閾値を設定する方法に特に制限はなく、任意の基準・任意の方法で閾値を設定しても特に問題はない。本実施形態では、組み付け元部品５０および組み付け先部品６０の公差情報から組み付け評価値の閾値を設定するものとする。閾値設定処理の詳細については後述する。
【００２８】
組み付け成否判定部１６０は、組み付け評価値算出部１４０により算出された組み付け評価値と、組み付け許容値設定部１５０により設定された組み付け評価値の閾値とに基づいて、組み付けに成功したか失敗したかを判定する。判定処理の詳細については後述する。
【００２９】
以上が、情報処理装置１の構成の一例についての説明である。なお、情報処理装置１には、コンピュータが内蔵されている。コンピュータには、ＣＰＵ等の主制御部、ＲＯＭ(Read Only Memory)、ＲＡＭ(Random Access Memory)、ＨＤＤ（Hard Disk Drive）等の記憶部が具備される。また、コンピュータにはその他、ボタンやディスプレイ又はタッチパネル等の入出力部、ネットワークカード等の通信手段等も具備されていてもよい。なお、これら各構成部は、バス等により接続され、主制御部が記憶部に記憶されたプログラムを読み出して実行することで制御される。
【００３０】
＜３．情報処理装置が実施する組み付け成否判定処理＞
次に、本実施形態における組み付け成否判定の処理手順について説明する。図５は、本実施形態に係る情報処理装置が実施する組み付け成否判定の処理手順を示すフローチャートである。
【００３１】
（ステップＳ１０００）
まず、ステップＳ１０００において、組み付け許容値設定部１５０は、組み付け評価値の閾値を設定する。組み付け元部品５０の設計図面またはＣＡＤモデルから、３次元形状モデル１０の組み付け接触部位に対応する部位の公差情報を全て参照し、部位中の公差の最悪値を組み付け元部品５０の公差として取得する。次に、組み付け先部品６０の設計図面またはＣＡＤモデルから、３次元形状モデル２０の組み付け接触部位に対応する部位の公差情報を全て参照し、部位中の公差の最悪値を組み付け先部品６０の公差として取得する。そして、取得した公差情報の和を組み付け評価値の閾値として設定する。組み付け許容値の設定が終了したら、ステップＳ１０００の処理を終了し、ステップＳ１１００に進む。
【００３２】
（ステップＳ１１００）
ステップＳ１１００において、画像入力部１２０は、２部品が組み付けられた状態の検査対象部品の濃淡画像および距離画像を入力する。まず、２次元画像撮影装置３０から濃淡画像を取得する。同様に、距離画像撮影装置４０から距離画像を取得する。本実施形態では、距離画像には距離画像撮影装置４０から計測対象物体の表面までの距離が格納されているものとする。前述のように、２次元画像撮影装置３０と距離画像撮影装置４０との光軸は一致しているため、濃淡画像の各画素と距離画像の各画素との対応は既知である。濃淡画像および距離画像の入力が終了したら、ステップＳ１１００の処理を終了し、ステップＳ１２００に進む。
【００３３】
（ステップＳ１２００）
次に、ステップＳ１２００において、位置姿勢推定部１３０は、ステップＳ１１００において入力された濃淡画像及び距離画像と、３次元形状モデル１０および２０との対応付けを行い、対応付けた結果に基づいて組み付け先部品および組み付け元部品の位置姿勢を推定する。以下、図６のフローチャートを参照して、ステップＳ１２００における位置姿勢推定処理について詳述する。
【００３４】
[ステップＳ１２１０]
まず、ステップＳ１２１０において、位置姿勢推定部１３０は、２次元画像撮影装置３０と距離画像撮影装置４０からなる撮影装置に対する組み付け元部品と組み付け先部品の位置及び姿勢の概略値を入力する。本実施形態では、物体が置かれているおおよその位置や姿勢があらかじめわかっているものとして、その値を概略値として用いる。
【００３５】
しかしながら、位置及び姿勢の概略値の設定方法はこれに限るものではない。例えば、位置姿勢推定部１３０は時間軸方向に連続して計測を行うものとして、前回（前時刻）の計測値を概略の位置及び姿勢として用いるものとしてもよい。また、過去の位置及び姿勢の計測に基づいて物体の速度や角速度を時系列フィルタにより推定し、過去の位置及び姿勢と推定された速度・加速度から現在の位置及び姿勢を予測したものでもよい。また、様々な姿勢で撮影した対象物体の画像をテンプレートとして保持しておき、入力する画像に対してテンプレートマッチングを行うことによって、対象物体の大まかな位置と姿勢を推定してもよい。
【００３６】
あるいは、他のセンサによる物体の位置及び姿勢の計測が可能である場合には、該センサによる出力値を位置及び姿勢の概略値として用いてもよい。センサは、例えばトランスミッタが発する磁界を、物体に装着するレシーバで検出することにより位置及び姿勢を計測する磁気式センサであってもよい。また、物体上に配置されたマーカをシーンに固定されたカメラによって撮影することにより位置及び姿勢を計測する光学式センサであってもよい。その他、６自由度の位置及び姿勢を計測するセンサであればいかなるセンサであってもよい。
【００３７】
[ステップＳ１２２０]
次に、ステップＳ１２２０において、位置姿勢推定部１３０は、ステップＳ１２１０において入力された、組み付け元部品と組み付け先部品との概略位置姿勢に基づいて、ステップＳ１１００において計測された距離画像中の３次元点群と、３次元形状モデル１０および３次元形状モデル２０との対応付けを行う。それぞれの物体の概略位置姿勢と校正済みの距離画像撮影装置４０の内部パラメータとを用いて、３次元形状モデルを構成する各局所面特徴を距離画像上に投影する。そして、投影した各局所面特徴に対応する距離画像上の距離点を、各面に対応する３次元点として保持する。
【００３８】
このとき、３次元形状モデル１０と３次元形状モデル２０とが画像上で重なりオクルージョンが発生している場合は、オクルージョン領域の推定を行い、オクルージョン領域における対応付けを抑制してもよい。具体的には、３次元形状モデル１０と３次元形状モデル２０との概略位置姿勢に基づいて、両モデルの相対位置関係を算出し、撮影機器に対する３次元形状モデル間の前後判定を行う。これにより、大まかにオクルージョン領域を推定し、オクルージョンが発生している領域ではモデルと画像との対応付けを抑制することで処理を行う。
【００３９】
[ステップＳ１２３０]
次に、ステップＳ１２３０において、位置姿勢推定部１３０は、濃淡画像上のエッジと３次元形状モデルとの対応付けを行う。ステップＳ１２２０と同様に、それぞれの物体の概略位置姿勢と校正済みの２次元画像撮影装置３０の内部パラメータとを用いて３次元形状モデルを構成する局所線特徴を画像へ投影し、画像上で検出されたエッジと３次元形状モデル中の局所線特徴とを対応付ける。エッジが各局所線特徴に対応して複数検出された場合には、複数検出されたエッジのうち、投影された局所線特徴に対して画像上で最も近いエッジを対応付ける。
【００４０】
[ステップＳ１２４０]
次に、ステップＳ１２４０において、位置姿勢推定部１３０は、ステップＳ１２３０で検出した３次元形状モデル中の各線分に対応する濃淡画像上のエッジと、ステップＳ１２２０で算出した３次元形状モデル中の各面に対応する距離画像中の３次元点との対応データに基づいて、組み付け先部品および組み付け元部品の位置姿勢を算出する。本ステップでは、算出した対応データに基づいて、計測データと３次元形状モデルとの間の誤差が最小になるように、線形連立方程式を解くことで、位置姿勢の更新を行う。
【００４１】
ここで、画像上の距離と３次元空間中での距離とでは尺度が異なるため、単純に連立方程式を解くだけでは計測データのどちらか一方に寄与率が偏ってしまう可能性がある。そのため、本実施形態では、[立野，小竹，内山，"ビンピッキングのための距離・濃淡画像を最ゆうに統合する高精度高安定なモデルフィッティング手法"，電子情報通信学会論文誌D， 情報・システム J９４-D（８）， １４１０−１４２２， ２０１１．]に示すような最尤推定に基づく最適化を行うことで、尺度を合わせた位置姿勢推定を行う。
【００４２】
最尤推定に基づく位置姿勢推定方法に関しては、本発明の本質に関わる話ではないため、詳細な処理の記述は省略する。詳細は上述の文献を参照されたい。なお、計測対象物体の位置及び姿勢の算出方法は、上述の最尤推定に基づく手法に限るものでなく、例えば、Levenberg-Marquardt法による繰り返し演算を行ってもよいし、よりシンプルな方法である最急降下法によって行ってもよい。また、共役勾配法やICCG法など、他の非線形最適化計算手法を用いてもよい。
【００４３】
[ステップＳ１２５０]
次に、ステップＳ１２５０において、位置姿勢推定部１３０は、ステップＳ１２４０で更新した位置姿勢が、収束しているか否か、すなわち、さらに反復計算を必要とするか否かの判定を行う。具体的には、補正値がほぼ０である場合や、誤差ベクトルの二乗和の補正前と補正後との差がほぼ０である場合に収束したと判定する。収束していなければ（Ｓ１２５０；ＮＯ）、ステップＳ１１２０に戻り、更新した位置姿勢を用いて、再度位置姿勢推定処理を行う。収束していると判断した場合は（Ｓ１２５０；ＹＥＳ）、この処理は終了し、撮影装置と計測対象物体間の相対的な位置姿勢の最終的な推定値が決定される。
【００４４】
（ステップＳ１３００）
次に、ステップＳ１３００において、組み付け評価値算出部１４０は、３次元形状モデル１０および２０と、ステップＳ１２００で推定された、それぞれの位置姿勢とに基づいて、組み付け評価値を算出する。以下、図７のフローチャートを参照して、ステップＳ１３００における組み付け評価値算出処理について詳述する。
【００４５】
[ステップＳ１３１０]
まず、ステップＳ１３１０において、組み付け評価値算出部１４０は、ステップＳ１２００で推定された組み付け元部品５０の位置姿勢と組み付け先部品６０の位置姿勢とに基づいて、両部品間の相対的な位置姿勢を算出する。
【００４６】
[ステップＳ１３２０]
次に、ステップＳ１３２０において、組み付け評価値算出部１４０は、モデル間の相対的な位置姿勢に基づいて、３次元形状モデル１０の着目部位に属する局所面特徴と、３次元形状モデル２０の着目部位に属する局所面特徴との間で最近傍となるペアの算出を行う。法線付き３次元点間の最近傍対応付けの方法としては、例えば、[大石岳史，中澤篤志，池内克史， "インデックス画像を用いた複数距離画像の高速同時位置あわせ、" 電子情報通信学会論文誌， Vol．J89-D No．3， pp．513-521，Mar．2006．]等の距離画像位置合わせにおける対応付け方法を用いればよい。
【００４７】
[ステップＳ１３３０]
次に、ステップＳ１３３０において、組み付け評価値算出部１４０は、局所面特徴の最近傍ペア間の距離を算出する。３次元形状モデル１０の局所面特徴の点位置をPa (Pax、 Pay、 Paz)、法線方向をNa (Nax、 Nay、 Naz)、３次元形状モデル２０の局所面特徴の点位置をPb (Pbx、 Pby、 Pbz)とすると、局所面特徴の局所平面間の距離dは以下の式で計算できる。
【００４８】
【数１】
2015114722.tif 000003
【００４９】
対応付けされたペア全てからdを算出し、その中で最大距離となるdを、組み付け評価値として算出する。
【００５０】
以上の組み付け評価値の算出が終了したら、ステップＳ１３３０の処理を終了し、ステップＳ１４００に進む。
【００５１】
（ステップＳ１４００）
次に、ステップＳ１４００において、組み付け成否判定部１６０は、ステップＳ１３００で算出した組み付け評価値と、ステップＳ１０００において設定された組み付け評価値の閾値とに基づいて、組み付けに成功したか失敗したかを判定する。ステップＳ１３００で算出された組み付け評価値が、設定した閾値よりも下回っている場合は組み付けが成功したと判定し、閾値を超える場合は組み付けに失敗したと判定する。組み付け成否の判定が終了したら、この処理は終了し、組み付け成否が最終的に判定される。
【００５２】
以上説明したように、本実施形態では、検査対象の組み付け済み部品の撮影画像から推定した、組み付け元部品と組み付け先部品との３次元位置姿勢に基づいて、組み付け接触部位間の３次元距離を組み付け評価値として算出し、当該組み付け評価値とあらかじめ設定した組み付け評価値の閾値とを比較することで、組み付け成否を判定する。
【００５３】
本実施形態によれば、２部品間の接触面の３次元距離に基づいて判定するため、あらかじめ正解画像を撮影する必要なく、かつ自由な姿勢から観察して組み付け成否を判定することが可能になる。また、観察視点に関わらない統一的な値として、組み付け成否判定の厳しさを調整できるという利点がある。
【００５４】
このように本実施形態によれば、学習時と異なる姿勢で検査部品を撮影するような場合においても、安定的に組み付け成否の判別を行うことが可能になる。また、あらかじめ学習としてマスタ画像を撮影することなく、組み付け成否の判別を行うことが可能になる。
【００５５】
（第２実施形態：情報処理装置の適用事例）
本発明に係る情報処理装置１の好適な適用事例としては、図８に示すように、２次元画像撮影装置３０および距離画像撮影装置４０により得られる２次元画像と距離画像とに基づいて、産業用のロボット９０により組み付けられた組み付け済み部品７０の組み付け成否判定を行う利用例があげられる。以下、図８を参照して、本発明の一実施形態である情報処理装置１の適用例を説明する。
【００５６】
図８は、情報処理装置１、ロボット９０を用いて部品組み付け処理を行うロボットシステムの構成例を示す。ロボット９０は、制御部として機能するロボットコントローラ８０により制御され、指令された位置に手先を移動させ物体の把持・組み付け処理などを行うロボットである。組み付け済み部品７０は、組み付け元部品と組み付け先部品とにより構成される。２次元画像撮影装置３０は通常の２次元画像を撮影するカメラであり、距離画像撮影装置４０は物体表面までの距離を計測する距離センサであり、産業用ロボットアームの手先等の被計測物体を撮影できる位置に設置される。
【００５７】
情報処理装置１は、２次元画像撮影装置３０および距離画像撮影装置４０から得られる２次元画像と距離画像とに基づいて、組み付け済み部品７０を構成する組み付け元部品および組み付け先部品の位置姿勢を推定する。そして、推定した位置姿勢に基づいて、組み付け済み部品が組み付けに失敗しているか否かの判定を行う。組み付けに失敗している場合は、組み付け済み部品を工程から除外するように組み付け済み部品を把持・移動させるようにロボットを制御する。なお、組み付け失敗に対する処理としては、上述の方法以外にも、工程を停止させる、警告を発する、改めて組み付けを行うなどの別の処理を行っても良く、処理の選択に特に制限はない。
【００５８】
このように、情報処理装置と、当該情報処理装置による組み付けの成否判定の結果に基づいて組み付け動作を制御する制御部（ロボットコントローラ）と備えた情報処理システム（ロボットシステム）に本発明を適用できる。なお、制御部（ロボットコントローラ）を情報処理装置に含めて一体的に構成してもよい。
【００５９】
以上説明したように、本実施形態によれば、ロボットシステムにおいて、組み付け済み部品が正しく組み付けられているか否かを判定することが可能となり、組み付けに失敗した部品を正常な工程に流れないように除外することが可能になる。
【００６０】
[変形例１]（組み付け評価値算出のバリエーション：位置姿勢差）
上述の実施形態では、３次元形状モデル１０と３次元形状モデル２０との接触部位から算出される組み付け評価値に基づいて組み付け成否を判定していた。しかし、組み付け評価値の算出手法は、これに限るものではない。例えば、組み付け先部品と組み付け元部品との３次元位置姿勢の差に基づいて、組み付け評価値を算出してもよい。この場合、あらかじめ、組み付け先部品６０と組み付け元部品５０とが正しく組み付けられた場合の部品間位置姿勢を理想値として算出しておく。また、組み付け許容値としてあらかじめ２部品間の３次元位置の差と３次元角度差の許容値を閾値として設定しておく。そして、検査対象となる画像から、組み付け先部品と組み付け元部品との部品間位置姿勢を算出し、部品間位置姿勢の理想値との差を算出する。算出した位置差と角度差それぞれが、設定した閾値以下か否かによって組み付けの成否を判定する。このとき、成否の判定方法としては、位置差と角度差の両方をチェックする方法に限るものでなく、位置差のみ、角度差のみから、成否を判定してもよい。
【００６１】
以上説明したように、組み付け先部品と組み付け元部品間との位置姿勢から、組み付け評価値を算出することで、３次元形状モデルの接触部位の情報を設定することなく、組み付け成否を判定することが可能である。
【００６２】
[変形例２]（組み付け評価値算出のバリエーション：部品間理想値による画像上残差）
上述の実施形態では、３次元形状モデル１０と３次元形状モデル２０との接触部位の３次元距離に基づいて算出した組み付け評価値に基づいて、組み付け成否を判定していた。しかし、組み付け評価値の算出手法は、これに限るものではない。例えば、組み付けが正しく行われた状態を仮定した３次元モデル形状を用意して、撮影画像と３次元形状モデルとの差、すなわち、画像上での残差から組み付け評価値を算出してもよい。この場合、あらかじめ、組み付け先部品６０と組み付け元部品５０とが正しく組み付けられた場合の部品間位置姿勢を、部品間位置姿勢の理想値として与えておくものとする。
【００６３】
まずステップＳ１２００の位置姿勢推定処理において、３次元形状モデル１０または３次元形状モデル２０のどちらかの位置姿勢を推定する。そして、推定していない方のモデルの位置姿勢を、推定した方のモデルの位置姿勢情報とあらかじめ算出した部品間位置姿勢理想値を用いて算出する。次に、理想値を用いて位置姿勢を算出した方の３次元モデルと距離画像とに基づいて、３次元形状モデルの各面と距離画像中の３次元点との残差を算出する。
【００６４】
組み付け元部品５０と組み付け先部品６０とが正しく組みあがっている場合は、部品間位置姿勢の理想値と実際値とが一致するため、距離画像上の部品像と３次元モデルとの残差は小さくなる。一方、正しく組みあがっていない場合は、部品間位置姿勢が実際値と理想値とで異なることによって、残差は大きな値として観測される。そこで、３次元形状モデルと画像との残差の中央値を、組み付け評価値として算出する。そして、算出した組み付け評価値を用いることによって、ステップＳ１４００での組み付け成否判定を行う。
【００６５】
なお、この場合は、ステップＳ１２００の段階で、組み付け評価値算出を終えるため、ステップＳ１３００のモデル間差異に基づく組み付け評価値算出処理は行わない。また、組み付け評価値として計量する残差やその統計量の計算は、３次元形状モデルと撮影画像との差が検出できる限り、計算方式に特に制限はない。
【００６６】
このように変形例２では、第１の部品（組み付け元部品５０）および当該第１の部品が組み付けられた第２の部品（組み付け先部品６０）を含む画像に基づいて第１の部品または第２の部品の一方の位置姿勢を推定する。そして、一方の位置姿勢と予め保持された組み付け成功状態の位置姿勢とに基づいて他方の位置姿勢を算出する。算出された他方の位置姿勢に対応する部品の形状モデルと画像とに基づいて、組み付けの状態を評価するための評価値を算出する。さらに、当該評価値に基づいて組み付けの成否を判定する。
【００６７】
以上説明したように、組み付け先部品６０または組み付け元部品５０の位置姿勢を画像から算出し、組み付けが正しく行われた成功状態を仮定した３次元モデル形状と、撮影画像との差を算出することで、組み付け先部品と組み付け元部品の両方の位置姿勢を推定することなく、組み付け成否を判定することが可能である。
【００６８】
[変形例３]（組み付け評価値算出のバリエーション：組み付け済み部品の画像上残差）
上述の変形例では、組み付け元部品５０と組み付け先部品６０との３次元形状モデルと、それらが正しく組みあがった場合の部品間位置姿勢の理想値とを用いて、組み付け評価値の算出を行っていた。しかし、組み付け元部品５０と組み付け先部品６０の３次元形状モデルを用いるのではなく、組み付け済み部品７０の３次元形状モデル１つを用いて判定を行ってもよい。この場合、組み付け済み部品７０の３次元形状モデル中に、組み付け成否の判定の際に着目する部位をあらかじめ指定しておく。着目部位としては、例えば、組み付け接触部位近辺などが好適である。ただし、着目部位としては、モデル全体やごく一部の部位のみを用いてもよく、組み付け成否を正しく判定できる限り、着目部位の設定に特に制限はない。
【００６９】
基本的な処理の流れは上述の変形例と同様である。まず、ステップＳ１２００において、位置姿勢推定部１３０が組み付け済み部品７０の位置姿勢を推定する。そして、３次元形状モデル中での着目部位に属する各面と距離画像中の３次元点との残差を算出する。正しく組みあがっている場合は、組み付け済み部品７０の３次元形状モデルと、実際の画像上の像とが一致するため、ここでの残差も小さくなる。この残差の中央値を、組み付け評価値として用いて、組み付け成否判定を行う。
【００７０】
このように変形例３では、第１の部品（組み付け元部品５０）および当該第１の部品が組み付けられた第２の部品（組み付け先部品６０）を含む画像に基づいて、第１の部品および第２の部品を含む組み付け済部品の位置姿勢を推定する。そして、組み付け済部品の形状モデルと画像とに基づいて、組み付けの状態を評価するための評価値を算出する。さらに、当該評価値に基づいて組み付けの成否を判定する。
【００７１】
以上説明したように、組み付け済み部品７０の３次元形状モデルのみを用いて成否判定を行うことで、１つの３次元形状モデルを保持、位置姿勢推定するのみで、組み付け成否を判定することが可能となる。
【００７２】
［変形例４］（組み付け許容値自動設定方法：正確画像入力による学習ベース手法）
上述の実施形態では、組み付け評価値の閾値となる組み付け許容値は、あらかじめユーザが手動で設定するものとしていた。しかしながら、組み付け許容値は固定値を与える方式のみに限るものではない。例えば、あらかじめ与えられた正解画像を手掛かりにして、組み付け許容値を自動的に設定してもよい。この場合、組み付け許容値自動設定処理としては以下のような処理が考えられる。
【００７３】
まず、あらかじめ、組み付け先部品と組み付け元部品が正しく組み付けされた部品を撮影した正解画像を用意する。そして、正解画像に対しステップＳ１１００からステップＳ１３００までの処理を行い、正解画像に対して算出された組み立て評価値を組み付け評価値の閾値として設定する。このとき、算出された組み付け評価値をそのまま設定するのではなく、一定のバイアスを加え、組み付け成否判定の厳しさを調整してもよい。
【００７４】
以上の処理を行うことで、ユーザがあらかじめ組み付け許容値を設定する必要なく、組み付け判定を行うことが可能となる。このとき、特許文献１の手法と異なり、正解画像と同じ視点から検査対象の画像を撮影するという制約はなく、自由な視点から検査対象を撮影して、判定を行うことができるという利点がある。
【００７５】
［変形例５］（マッチングにより位置姿勢推定してもよい。）
上述の実施形態・変形例では、画像および幾何特徴の対応付けに基づく位置姿勢推定手法として、非線形最小二乗法を用いる例を述べた。しかしながら、本発明の情報処理装置における検査対象物体の位置姿勢推定手法としては、上述の方式に限るものではない。例えば、３次元形状モデルと画像との対応付けに基づくマッチングにより位置姿勢を算出してもよい。すなわち、概略の位置及び姿勢を中心に一定範囲において６自由度の値が網羅的にカバーできるように多数の位置及び姿勢を生成し、それぞれの位置及び姿勢において観測できる幾何特徴と濃淡画像及び距離画像とのマッチング度を評価することで、組み付け元部品５０および組み付け先部品６０の位置及び姿勢を算出してもよい。
【００７６】
具体的には、まず、探索する位置及び姿勢の生成として、概略として入力された位置及び姿勢の値を中心に位置及び姿勢６自由度全組み合わせの値を生成する。このとき、網羅的に生成する位置の最大幅・ステップ幅、および、姿勢の最大幅・ステップ幅の設定に関しては特に制限はない。本変形例では、位置の最大幅は、組み付け元部品５０および組み付け先部品６０のサイズと同等に、姿勢の最大幅は９０度にして、位置のステップ幅は１[mm]、姿勢のステップ幅は１[度]として、探索する位置及び姿勢を生成する。
【００７７】
次に、生成した位置及び姿勢ごとに、その位置姿勢において観測される幾何特徴と、距離画像中の３次元点群と濃淡画像上のエッジとの対応付けを行う。そして、距離画像中の３次元点群と局所面特徴、濃淡画像上のエッジと局所線特徴との距離を、マッチング度を表す評価値として算出する。以上の処理を、生成した全ての位置及び姿勢に対して行うことで最も評価値が高い位置及び姿勢の値を探索する。そして、もっとも評価値が高い位置及び姿勢を、組み付け元部品５０および組み付け先部品６０の位置姿勢として出力する。そして、算出した位置姿勢を用いて、ステップＳ１３００において組み付け評価値を算出し、組み付け成否判定を行う。
【００７８】
以上説明したように、組み付け検査を行うために利用する部品の位置姿勢を推定する方式としては、最小二乗法に基づく手法に限るものでない。組み付け先部品および組み付け元部品の位置姿勢を算出できる限り算出方法に特に制限は無く、いかなる方式を用いてもよい。
【００７９】
［変形例６］（距離画像のみ、濃淡画像のみでも良い）
上述の実施形態では、濃淡画像と距離画像を撮影する場合について説明していた。しかし、本発明に係る情報処理装置は、濃淡画像と距離画像を両方撮影する場合に限るものではない。例えば、距離画像のみが撮影される場合でも本発明の情報処理装置を適用できる。この場合、本変形例における情報処理装置は、図１の構成から２次元画像撮影装置３０を除外した構成となる。また、位置姿勢推定処理に関しては、ステップＳ１１００における濃淡画像の入力処理が無くなり、ステップＳ１２３０における濃淡画像と局所線特徴との対応付け処理がなくなる以外、上述の実施形態と変更はない。
【００８０】
同様に濃淡画像のみが撮影される場合においても、本発明に係る情報処理装置を適用できる。この場合、図１の構成から距離画像撮影装置４０を除外した構成となり、ステップＳ１１００における距離画像の入力処理が無くなり、ステップＳ１２２０における距離画像と幾何特徴との対応付け処理がなくなる以外、上述の実施形態と変更はない。このようにして算出した位置姿勢を用いて、ステップＳ１３００において組み付け評価値を算出し、組み付け成否判定を行う。
【００８１】
以上説明したように、濃淡画像と距離画像が両方得られる場合に限るものでなく、どちらか片方の画像が得られる限り、本発明に係る情報処理装置を適用することが可能である。
【００８２】
[各実施形態及び変形例の効果]
第１実施形態によれば、２部品間の接触面の３次元距離に基づいて判定を行うことで、あらかじめ正解画像を撮影する必要なく、かつ自由な姿勢から観察して組み付け成否を判定することが可能となる。また、観察視点に関わらない統一的な値として、組み付け成否判定の厳しさを容易に調整できるという利点がある。
【００８３】
第２実施形態では、本発明の情報処理装置の適用により、ロボットシステムが、組み付け済み部品が正しく組み付けられているか否かを判定することで、組み付けに失敗した部品が正常な工程に流れないように制御することができる。
【００８４】
第１の変形例によれば、組み付け先部品６０と組み付け元部品５０間の位置姿勢から、組み付け評価値を算出することで、３次元形状モデルの接触部位の情報を設定することなく、組み付け成否を判定することが可能となる。 
第２の変形例によれば、組み付け先部品６０または組み付け元部品５０の位置姿勢を画像から算出し、組み付けが正しく行われた状態を仮定した３次元モデル形状と、撮影画像との差を算出することで、組み付け先部品と組み付け元部品の両方の位置姿勢を推定することなく、組み付け成否を判定することが可能となる。
【００８５】
第３の変形例によれば、組み付け済み部品７０の３次元形状モデルのみを用いて成否判定を行うことで、１つの３次元形状モデルを保持、位置姿勢推定するのみで、組み付け成否を判定することが可能となる。
【００８６】
第４の変形例によれば、正しく組み付けが行われた部品を撮影した正解画像を用意し、正解画像から算出した組み付け評価値に基づいて、組み付け成否を判定する閾値を設定することで、人があらかじめ組み付け許容値を設定する必要なく組み付け判定を行うことを可能にした。このとき、特許文献１の手法と異なり、正解画像と同じ視点から検査対象の画像を撮影するという制約はなく、自由な視点から検査対象を撮影して、判定を行うことができるという利点がある。
【００８７】
第５の変形例によれば、部品の位置姿勢を推定する方式として、３次元形状モデルと画像との対応付けに基づくマッチングにより算出した位置姿勢を用いて、組み付け評価値の算出を行うことができる。
【００８８】
第６の変形例によれば、濃淡画像または距離画像のみを用いて位置姿勢推定を行うことで、どちらか片方の画像のみが得られるような場合においても、組み付け成否判定を実行することができる
［その他の変形例］
本発明の説明を通して、組み付け元部品５０および組み付け先部品６０の３次元モデル情報として、局所面特徴と局所線特徴により構成されたモデルを例に説明した。しかし、３次元形状モデルとしては他の表現方式を用いても良い。例えば、３点と３辺および１面により構成されるポリゴンの集合として、３次元形状モデルを表現してもよいし、単純な３次元点の集合として３次元形状を表現してもよい。また陰関数の組み合わせによりパラメトリックに３次元形状を表現する方法を用いてもよい。組み付け先部品６０または組み付け元部品５０の形状に即する限り、３次元形状モデルの表現方法に特に制限はない。
【００８９】
２次元画像撮影装置３０は、濃淡画像を出力するカメラに限るものではなく、対象像が得られる限り他の方式でもよい。例えば、濃淡画像であってもよいしカラー画像であってもよい。
【００９０】
距離画像撮影装置４０は、波長の異なる色ＩＤを付与したマルチスリットラインを対象に照射し、その反射光をカメラで撮影して三角測量によって距離計測を行うワンショットアクティブ方式の装置に限るものではなく、他の方式のものでもよい。例えば、ステレオカメラが撮影する画像から三角測量によって各画素の奥行きを計算するパッシブ式であってもよい。また、パターン投光用のプロジェクタは液晶プロジェクタに限るものではなく、パターン光の投影ができる限り他の方式のものでもよい。例えば、ＤＭＤ（デジタルミラーデバイス）やＬＣＯＳを用いたプロジェクタであってもよい。
【００９１】
位置姿勢決定において、組み付け先部品６０または組み付け元部品５０の位置姿勢の算出方法はＧａｕｓｓ−Ｎｅｗｔｏｎ法に限るものではない。例えば、より計算がロバストであるＬｅｖｅｎｂｅｒｇ−Ｍａｒｑｕａｒｄｔ法によって行ってもよいし、よりシンプルな方法である最急降下法によって行ってもよい。また、共役勾配法やＩＣＣＧ法など、他の非線形最適化計算手法を用いてもよい。また、最適化計算ベースの位置姿勢推定以外にも、概略の位置及び姿勢を中心に一定範囲において６自由度の値が網羅的にカバーできるように多数の位置及び姿勢を生成し、それぞれの位置及び姿勢において観測できる幾何特徴と濃淡画像及び距離画像とのマッチング具合を評価することで、位置姿勢の推定を行ってもよい。
【００９２】
位置姿勢決定においては、濃淡画像と距離画像を同時に利用して位置姿勢を推定する例を説明したが、本発明は濃淡画像のみ、距離画像のみを用いて位置姿勢推定を行う場合においても同様に適用可能である． 
組み付け評価値の算出は、３次元形状モデル１０および３次元形状モデル２０の着目部位間の3次元距離を組み付け評価値として算出する例を示したが、他の方法により組み付け評価値を算出してもよい。例えば、３次元形状モデル１０および３次元形状モデル２０の相対位置姿勢の理想値と観測値との差を、組み付け評価値として利用してもよいし、３次元形状モデルと撮影画像との残差に基づいて組み付け評価値を計算してもよい。組み付け元部品５０と組み付け先部品６０との組み付け部分のズレ量に応じて変動する値である限り、いかなる方式で算出した値を組み付け評価値として用いても良く、特に制限はない。
【００９３】
組み付け許容値の設定において、組み付け評価値の閾値として、組み付け元部品５０および組み付け先部品６０の設計図面またはＣＡＤモデルから参照できる公差情報に基づいて算出した値を設定する例を示したが、これに限るものではない。例えば、ユーザが閾値を入力できるインタフェースを設けユーザに設定してもらう、あるいは、あらかじめ正しく組み付けられた結果を撮影した正解画像を入力し、正解画像から閾値を算出するなどを行ってもよい。
【００９４】
（その他の実施形態）
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【図１】
2015114722.tif 000004
【図２】
2015114722.tif 000005
【図３】
2015114722.tif 000006
【図４】
2015114722.tif 000007
【図５】
2015114722.tif 000008
【図６】
2015114722.tif 000009
【図７】
2015114722.tif 000010
【図８】
2015114722.tif 000011