"対象物体に関する2次元情報もしくは3次元情報を第1の情報として取得する第1のセンサ手段と、前記第1の情報を解析して前記対象物体の位置姿勢を計測する第1の計測手段と、前記対象物体に対して作業を実行するロボットに装着されており、前記第1の計測手段による計測結果に応じて決定される位置姿勢で、前記対象物体に関する2次元情報もしくは3次元情報を第2の情報として取得する第2のセンサ手段と、前記第2の情報を解析して前記対象物体の位置姿勢を計測する第2の計測手段と、を備えることを特徴とする情報処理装置。前記第1の計測手段による計測結果に応じて、前記第2のセンサ手段が前記対象物体を撮影する際に前記対象物体へ投影される投影光の反射光が、前記第2のセンサ手段の撮影範囲に入らない位置姿勢を、前記第2のセンサ手段の位置姿勢として決定する決定手段をさらに備えることを特徴とする請求項1に記載の情報処理装置。前記第1の計測手段による計測結果に応じて、前記対象物体の特徴部分を計測可能な位置姿勢を、前記第2のセンサ手段の位置姿勢として決定する決定手段をさらに備えることを特徴とする請求項1に記載の情報処理装置。前記対象物体のモデル情報を保持するモデル情報保持手段をさらに備え、前記第1の計測手段は、前記第1の情報と前記モデル情報とをマッチングさせることにより、前記対象物体の位置姿勢を計測することを特徴とする請求項1乃至3の何れか1項に記載の情報処理装置。前記対象物体のモデル情報を保持するモデル情報保持手段をさらに備え、前記第2の計測手段は、前記第2の情報と前記モデル情報とをマッチングさせることにより、前記対象物体の位置姿勢を計測することを特徴とする請求項1乃至3の何れか1項に記載の情報処理装置。前記モデル情報は、CADデータに基づく3次元幾何モデル情報であることを特徴とする請求項4または5に記載の情報処理装置。前記モデル情報は、前記対象物体もしくはCADデータに基づく3次元幾何モデルを予め定められた複数の視点から観察した複数の参照画像情報であることを特徴とする請求項4または5に記載の情報処理装置。前記第2のセンサ手段の位置姿勢は、前記対象物体が複数種類ある場合、前記対象物体のそれぞれの種類に応じて決定されることを特徴とする請求項1乃至7の何れか1項に記載の情報処理装置。前記第2の計測手段により計測された前記対象物体の位置姿勢に基づいて、前記ロボットの前記対象物体に対する作業を制御するロボット制御手段をさらに備えることを特徴とする請求項1乃至8の何れか1項に記載の情報処理装置。前記第2の計測手段による計測結果または当該計測結果に応じて実行された前記ロボットによる作業結果を記憶する記憶手段をさらに備え、前記第2のセンサ手段の位置姿勢は、前記第2の計測手段による計測が失敗して計測結果が得られなかった位置姿勢または前記ロボットによる作業が失敗した位置姿勢を除外して決定されることを特徴とする請求項9に記載の情報処理装置。第1のセンサ手段と、第1の計測手段と、対象物体に対して作業を実行するロボットに装着されている第2のセンサ手段と、第2の計測手段とを備える情報処理装置の制御方法であって、前記第1のセンサ手段が、前記対象物体に関する2次元情報もしくは3次元情報を第1の情報として取得する第1のセンサ工程と、前記第1の計測手段が、前記第1の情報を解析して前記対象物体の位置姿勢を計測する第1の計測工程と、前記第2のセンサ手段が、前記第1の計測工程による計測結果に応じて決定される位置姿勢で、前記対象物体に関する2次元情報もしくは3次元情報を第2の情報として取得する第2のセンサ工程と、前記第2の計測手段が、前記第2の情報を解析して前記対象物体の位置姿勢を計測する第2の計測工程と、を有することを特徴とする情報処理装置の制御方法。請求項11に記載の情報処理装置の制御方法の各工程をコンピュータに実行させるためのプログラム。しかしながら、特許文献1による方法では、必ずパレットの上方に設置されたカメラと対象物体とを結ぶ直線上でロボットの手先部に搭載したセンサによる計測を行うことが決まっている。そのため対象物体が向いている方向によっては必ずしも計測しやすい状態にはならない。例えば対象物体には計測するための照明光を当てるが、対象物体が向いている方向によっては照明光が対象物体に反射してカメラに映り込んでしまう。想定外の照明反射光がカメラに映り込むと画像処理を行う際の妨げになるため位置姿勢の計測が困難になる。あるいは対象物体を計測する方向から対象物体の位置姿勢を特定する特徴部分が見えにくいように対象物体が置かれている場合は、精度よく位置姿勢を求めることが困難になる。上記の課題に鑑み、本発明は、対象物体がどのような方向を向いていても高精度かつ高速かつロバストに対象物体を計測することを目的とする。上記の目的を達成する本発明に係る情報処理装置は、対象物体に関する2次元情報もしくは3次元情報を第1の情報として取得する第1のセンサ手段と、前記第1の情報を解析して前記対象物体の位置姿勢を計測する第1の計測手段と、前記対象物体に対して作業を実行するロボットに装着されており、前記第1の計測手段による計測結果に応じて決定される位置姿勢で、前記対象物体に関する2次元情報もしくは3次元情報を第2の情報として取得する第2のセンサ手段と、前記第2の情報を解析して前記対象物体の位置姿勢を計測する第2の計測手段と、を備えることを特徴とする。本発明によれば、対象物体がどのような方向を向いていても高精度かつ高速かつロバストに対象物体を計測することができる。第1実施形態第1実施形態では、対象物体に関する2次元情報2次元画像を取得する第1のセンサ部カメラと、ロボットに装着されており対象物体の3次元情報を取得するための第2のセンサ部プロジェクタとカメラとを用いて対象物体の3次元位置姿勢計測を行う。具体的には、第1のセンサ部を用いて計測した結果に基づいて、計測を行うための第2のセンサ部のプロジェクタ照明反射光が第2のセンサ部のカメラに映り込まないように、ロボットに装着された第2のセンサ部の計測位置姿勢を設定する。カメラと対象物体との相対的な姿勢関係によっては想定外のプロジェクタ照明反射光がカメラに映り込み、画像処理の精度が低下する。画像処理の精度が低下すると3次元位置姿勢計測の精度も低下してしまう。そこで本実施形態では、3次元位置姿勢計測を精度よく行うために、プロジェクタ照明反射光がカメラに映り込まない位置姿勢で第2のセンサ部による計測を行う。図1を参照して、第1実施形態における情報処理装置の構成を説明する。同情報処理装置は、ロボット100と、第1のセンサ部101と、第2のセンサ部102と、画像処理部110と、ロボットコントローラ部120とを備える。画像処理部110は、第1のセンサ情報取得部111と、モデル情報保持部112と、第1の3次元位置姿勢計測部113と、センサ位置姿勢決定部114と、第2のセンサ情報取得部115と、第2の3次元位置姿勢計測部116とを備える。ロボットコントローラ部120は、ロボット作業指示部121と、ロボット制御部122とを備える。これらの構成によりパレット104内に山積みした対象物体103の三次元位置姿勢の計測を行い、その計測結果に基づいてロボット100によるピッキング作業を行う。以下、本実施形態における情報処理装置を構成する各部について説明する。ロボット100は、多関節ロボットであり、ロボットコントローラ部120からの制御命令を受けて稼働する。ロボット100の先端にはエンドエフェクタであるハンド105が装着されており、対象物体103に対する作業を行うことが可能である。本実施形態では、エンドエフェクタとして対象物体103を把持することが可能なチャック機構を持つハンドを用いる。エンドエフェクタにはモータ駆動可能なハンドを用いてもよいし、空気圧で対象物体103を吸着する吸着パッドを用いてもよい。センサ部101の位置姿勢、ロボット100やハンド105の位置や軌道、ロボット100のアームとセンサ部102との相対位置姿勢のキャリブレーション作業は処理の実施に先立って公知の技術によって予め行われているものとする。これによって、第1の3次元位置姿勢計測部113および第2の3次元位置姿勢計測部116で計測する位置姿勢を、パレットが置かれた空間に固定されたワークスペース座標系に変換することが可能になる。また、ワークスペース座標系で指定した位置姿勢にハンド105が設定されるようにロボット100を制御することが可能になる。センサ部101は、2次元画像第1の画像を撮影するカメラである。センサ部101は、パレット104の上方において第1の位置姿勢で固定的に配置され、山積みされた対象物体103の画像を撮影し、第1のセンサ情報取得部111に対して出力を行う。本実施形態では、センサ部101により撮影した画像は画像処理部110が処理するが、センサ部101内に画像処理機構を持たせて画像処理した結果を出力してもよい。センサ部101によって対象物体103の撮影を行う際には、対象物体103に対して不図示の照明による照明光投影光を当てる。この照明はセンサ部101の周りに配置されており、センサ部101が対象物体103の2次元画像を撮影するときに均一の照明環境下で撮影可能な状態にする。センサ部102は、小型プロジェクタと2次元画像第2の画像を撮影する小型カメラとから構成される。センサ部102は、ロボット100のハンド105部分の近くに固定的に装着されて、ロボット100の各関節の角度によって制御可能な第2の位置姿勢でエンドエフェクタ付近にあるものを計測する。センサ部102の小型プロジェクタと小型カメラとの相対的な位置関係は予めキャリブレーションにより求まっているものとする。本実施形態では、センサ部102で撮影した画像は画像処理部110で処理するが、センサ部102内に画像処理機構を持たせて画像処理した結果を出力してもよい。センサ部102の小型プロジェクタは、対象物体103に対してパターン光投影光を照射し、そのパターン光が投影された対象物体103をセンサ部102の小型カメラにより撮影し、第2のセンサ情報取得部115に対して出力する。パターン光としては、空間符号化法の幅の異なる複数の縞模様パターンや、複数の線パターンなどを利用する。2次元的なパターンやランダムドットのようなパターンでもよい。また、センサ部102は回折格子と照明とカメラから構成されてもよい。この場合は回折格子と照明により対象物体103にパターン光を投射し、カメラによりパターンを撮影する。撮影されたパターン画像は、第2のセンサ情報取得部115を経由して3次元位置姿勢計測部116にて三角測量の原理により距離を求めるために用いられる。対象物体103は、工業製品を構成する部品である。ロボット100によりピッキングされて製品に組み付けられる。素材は、プラスチック、金属、ビニールなど、様々なものを用いることができる。複数の対象物体103が様々な姿勢になるようにパレット104に山積みされている。パレット104は、対象物体103を入れるための箱である。パレットの素材に制約はないが、プラスチックや紙素材を用いることが多い。また形状にも制約はないが、作りやすさの点から立方体あるいは直方体にすることが多い。大きさにも制約はないが、通常はセンサ部101で計測可能な範囲内に収まるようにする。次に画像処理部110内の各構成について説明する。第1のセンサ情報取得部111は、センサ部101が撮影した2次元画像を取得する。取得した2次元画像を3次元位置姿勢計測部113に出力する。モデル情報保持部112は、3次元位置姿勢計測部113および3次元位置姿勢計測部116で対象物体103の位置姿勢を計測するために利用されるモデル情報を保持する。モデル情報の1つとして、3次元CADに基づく3次元幾何モデル情報があげられる。3次元幾何モデルは、3次元CADソフトで取り扱うことができるCADモデルそのもの、もしくは3次元CADモデルをComputerGraphics分野で使われる複数のポリゴン要素に変換したものである。本実施形態ではポリゴン要素を利用した場合について説明を行う。3次元幾何モデルは、図2に示すような点、線、面といった構成要素からなる。図2a乃至図2cはいずれも同じ3次元幾何モデルである。図2aおよび図2dは3次元幾何モデルの各頂点を示す。図2bおよび図2eは3次元幾何モデルの各辺となる線を示す。図2cおよび図2fは3次元幾何モデルの各面を示す。3次元幾何モデルには、図2fに示すように3次元幾何モデルを構成する面の法線データが含まれている。もう1つのモデル情報として、実際の対象物体103もしくは対象物体103を模した3次元幾何モデルを予め定められた複数の視点から観察した参照画像情報があげられる。参照画像情報としての参照画像モデルは、複数の2次元画像からなるデータである。実写画像に基づく参照画像モデルは、対象物体103を中心にして様々な方向からカメラで撮影を行って得た画像から作成する。撮影を行うためにやぐらを組んでカメラを複数配置してもよいし、人が手でカメラを持って撮影してもよいし、ロボットに装着したカメラでロボットを動かしながら撮影を行ってもよい。どの方法で撮影を行ってもよいが、撮影したときのカメラと対象物体103との相対位置姿勢を求め、撮影画像と合わせて記憶しておく。相対位置姿勢は、やぐらに複数のカメラを配置したときは、やぐらの形状から求めることができる。人が手でカメラを持つ場合はカメラに位置姿勢センサを装着して求めることができる。ロボットに装着したカメラで撮影するときはロボットの制御情報を利用して求めることができる。対象物体103を模した3次元幾何モデルに基づく参照画像モデルは、CADモデルの中心から、頂点が等しい距離になるGeodesicSphereを設定して、GeodesicSphereの頂点からCADモデルの中心を向いて観察したときの画像を用いる。GeodesicSphereの頂点は複数あり、隣り合ったそれぞれの頂点は同じ距離となる。ある頂点を基準位置として、他の頂点との相対的な関係に基づいてどの方向から観察したかを画像と共に記憶しておく。図3は、CADモデルとCADモデルを取り囲むGeodesicSphereとを示す。GeodesicSphereの各頂点から中心を観察したときの画像を参照画像モデルとする。なお、参照画像モデルは輝度画像でもよいし距離画像でもよい。対象物体103が1種類であると予め分かっている場合は、その種類のモデル情報だけ保存する。複数種類の対象物体103を扱うときは、複数のモデル情報を保存しておき、利用時に切り替える。3次元位置姿勢計測部113は、第1のセンサ情報取得部111から出力された2次元画像を解析したデータと、モデル情報保持部112が保持しているモデル情報とを利用して対象物体103の位置姿勢を求める第1の計測処理。求めた位置姿勢情報をセンサ位置姿勢決定部114に出力する。モデル情報として3次元幾何モデルを利用する場合は、3次元幾何モデルの辺である線と、第1のセンサ情報取得部111から出力された2次元画像から抽出したエッジ成分との対応付けを行うことにより対象物体103の位置姿勢を求める。本実施形態では、2次元画像に3次元幾何モデルが当てはまるように、対象物体103の位置姿勢の概略値を反復演算によって繰り返し補正する。モデル情報として参照画像モデルを利用する場合は、参照画像モデルをテンプレートとしたテンプレートマッチングにより最も一致する参照画像を求め、その参照画像に対応付けられた対象物体103の位置姿勢情報に基づいて対象物体103の位置姿勢を求める。センサ位置姿勢決定部114は、3次元位置姿勢計測部113により求めた対象物体103の位置姿勢に基づいて、第2のセンサ部102が対象物体103を計測する際の第2のセンサ部102の位置姿勢である第2の位置姿勢を求める。求めた位置姿勢情報をロボット作業指示部121に出力する。センサ部102が対象物体103を計測する際のセンサ部102の位置姿勢を求める方法については後述する。第2のセンサ情報取得部115は、センサ部102が撮影した2次元画像を取得する。センサ部102にはパターン光を照射する小型プロジェクタが備えられており、第2のセンサ情報取得部115はパターン光が照射された対象物体103の画像を取得する。取得した2次元画像を3次元位置姿勢計測部116に出力する。3次元位置姿勢計測部116は、第2のセンサ情報取得部115から出力された2次元画像を解析したデータと、モデル情報保持部112が保持しているモデル情報とを利用して対象物体103の位置姿勢を求める第2の計測処理。求めた位置姿勢情報をロボット作業指示部121に出力する。モデル情報として3次元幾何モデルを利用する場合は、3次元幾何モデルから抽出した表面の点群データと、第2のセンサ情報取得部115から出力された2次元のパターン画像から抽出した距離点群との対応付けを行うことで対象物体103の位置姿勢を求める。パターン画像から距離点群を求めるには、空間符号化法、光切断法などの公知技術を用いればよいため本実施形態では詳しく説明しない。求めた距離点群とモデル情報とを利用して対象物体103の位置姿勢を求めるために、本実施形態ではICPIterativeClosestPoint法を用いる。対象物体103の位置姿勢を反復演算によって繰り返し補正する。なお、対象物体103の位置姿勢を求めるための手法はICP法に限るものではない。モデル情報として参照画像モデルを利用する場合は、参照画像モデルをテンプレートとしたテンプレートマッチングにより最も一致する参照画像を求め、その参照画像に対応付けられた対象物体103との位置姿勢情報に基づいて対象物体103の位置姿勢を求める。次にロボットコントローラ部120内の各構成について説明する。ロボット作業指示部121は、センサ位置姿勢決定部114および3次元位置姿勢計測部116の計測結果に基づいて、ロボットに対する作業指示を行う。ロボット作業指示部121は、センサ位置姿勢決定部114からの出力に応じて、センサ部102が対象物体103を計測する第2の位置姿勢まで移動することを指示する。また3次元位置姿勢計測部116からの出力に応じて、対象物体103を把持や吸着できる位置にハンド105を移動させて把持や吸着を行う。ロボットの作業は移動、把持、吸着に限られるものではなく、対象物体103の外観検査など、他の作業も含むことは言うまでもない。さらに、ロボットも多関節ロボットではなくNC制御可能な可動式の機械でもよいことは言うまでもない。ロボット制御部122は、ロボット作業指示部121からの指示情報を受けて、ロボット100の制御を行う。図4のフローチャートを参照して、第1実施形態における情報処理装置の処理手順を説明する。ステップS401において、パレット104の上方において第1の位置姿勢で固定されたセンサ部101は、対象物体103の画像を撮影する。撮影した画像は第1のセンサ情報取得部111に出力される。センサ部101の位置姿勢は予めキャリブレーションで求まっているものとする。ステップS402において、3次元位置姿勢計測部113は、第1のセンサ情報取得部111が取得した対象物体103の画像から複数ある対象物体103のうち少なくとも1つの対象物体103の位置姿勢を計測する。対象物体103の位置姿勢を求めるために、モデル情報保持部112は保持しているモデル情報を出力して、3次元位置姿勢計測部113が対象物体103の画像とモデル情報とのマッチングを行う。モデル情報として3次元幾何モデルを利用する場合は、3次元幾何モデルの辺である線分と、第1のセンサ情報取得部111から出力された2次元画像から抽出したエッジ成分との対応付けを行うことにより対象物体103の位置姿勢を求める。本実施形態では、2次元画像に3次元幾何モデルが当てはまるように、非線形最適化手法の一つであるGauss-Newton法を用いて対象物体103の位置姿勢6次元ベクトルsで表すの概略値を反復演算によって繰り返し補正する。図5aおよび図5bを参照して、エッジ検出処理を説明する。何らかの方法例えばテンプレートマッチングにより得られた対象物体103の概略位置姿勢と、キャリブレーション済みのセンサ部101の内部パラメータとを用いて、3次元幾何モデルを構成する各線分の画像上への投影像を算出する。線分の投影像は画像上でも線分となる。次に、図5aに示されるように、画像上で等間隔になるように投影された線分501上に制御点502を設定し、制御点502ごとに、投影された線分501の法線方向503に1次元のエッジ504の検出を行う。エッジは画素値の濃度勾配505の極値として検出されるため、図5bに示すように、複数のエッジ506が検出されることがある。本実施形態では、検出されるエッジをすべて仮のエッジとして保持する。3次元幾何モデルの辺である線分と第1のセンサ情報取得部111から出力された2次元画像のエッジ成分との対応付けを行い、対象物体103の位置姿勢を求めるには、位置姿勢を算出するための係数行列と誤差ベクトルの算出を行う。ここで係数行列の各要素は、画像上での点と直線の距離を位置姿勢の関数とした時の、位置姿勢の各要素に関する1次の偏微分係数である。誤差ベクトルは、エッジについては投影された線分と検出されたエッジの画像上での符号付き距離である。ここで係数行列の導出について説明する。図6は、線分の投影像と検出されたエッジの関係を説明する図である。図6では、画像の水平方向、垂直方向をそれぞれu軸601、v軸602としている。ある制御点603投影された各線分を画像上で等間隔に分割した点の画像上での座標604をu0,v0、該制御点が所属する線分の画像上での傾きをu軸601に対する傾きθ605と表す。傾きθ605は、線分606の両端の三次元座標を対象物体103の位置姿勢を示す6次元ベクトルsに基づいて画像上に投影し、画像上での両端の座標を結んだ直線の傾きとして算出する。該線分606の画像上での法線ベクトルはsinθ,-cosθとなる。また、該制御点603の対応点607の画像上での座標608をu’,v’とする。ここで、対応点607の座標608u’,v’を通り、傾きがθ605である直線図6の破線上の点u,vは、式1のように表すことができる。ただし、θは定数であり、d=u’sinθ-v’cosθである。制御点603の画像上での位置は対象物体103の位置姿勢により変化する。また、対象物体103の位置姿勢の自由度は6自由度である。すなわちsは6次元ベクトルであり、対象物体103の位置を表す3つの要素と、姿勢を表す3つの要素からなる。姿勢を表す3つの要素は、例えばオイラー角による表現や、方向が原点を通る回転軸を表してノルムが回転角を表す三次元ベクトルなどによって表現される。位置姿勢により変化する点の画像上での座標u,vは、座標604u0,v0の近傍で1次のテイラー展開によって式2のように近似できる。但し△sii=1,2,,6は6次元ベクトルsの各成分の微小変化を表す。位置姿勢の概略値と実際の位置姿勢との差がそれほどないと仮定すると、正しい6次元ベクトルsによって得られる制御点の画像上での位置は式1が表す直線上にあると仮定できる。式2によって近似されるu、vを式1に代入することにより、式3が得られる。ただし、r=u0sinθ-v0cosθ定数である。式3は対応付けが行われたすべてのエッジについて立式することができる。なお、すべてのエッジについて立式せずに一部のエッジについてだけ立式してもよい。式3は6次元ベクトルsの各成分の微小変化△sii=1,2,,6についての方程式であるため、式4のような△siに関する線形連立方程式を立てることができる。ここで式4を式5のように表す。線形連立方程式の係数行列Jを算出するため偏微分係数の算出を行う。式5に基づいて、係数行列Jの一般化逆行列JTJ-1JTを用いて位置姿勢の補正値△sを最小二乗基準で求める。しかしながら、エッジには誤検出などによる外れ値が多いため、次に述べるようなロバスト推定手法を用いる。一般に、外れ値であるエッジでは、式4の右辺の誤差ベクトルの値が大きくなる。そこで、誤差の絶対値が大きい情報には小さな重みを与え、誤差が小さい情報には大きな重みを与える。重みは例えば式6に示すようなTukeyの関数により与える。ここでc1,c2は定数である。なお、重みを与える関数はTukeyの関数である必要はなく、例えばHuberの関数など、誤差が大きい情報には小さな重みを与え、誤差が小さい情報には大きな重みを与える関数であれば何れの関数であってもよい。各計測情報エッジまたは点群データに対応する重みをwiとする。ここで式7のように重み行列Wを定義する。重み行列Wは、対角成分以外はすべて0の正方行列であり、対角成分には重みwiが入る。この重み行列Wを用いて、式5を式8のように変形する。式8を式9のように解くことにより補正値△sを求める。算出された位置姿勢の補正値△sにより、位置姿勢の概略値を補正するs←s△s。6次元ベクトルsの収束判定を行い、収束していれば終了し、そうでなければ繰り返し算出を行う。収束判定では、補正値△sがほぼ0である場合や、誤差ベクトルの二乗和が補正前と補正後でほとんど変わらない場合に収束したと判定する。このように、収束するまで繰り返すことにより、位置姿勢を算出できる。なお、本実施形態では最適化手法としてGauss-Newton法を用いる方法について説明したが、より計算がロバストであるLevenberg-Marquardt法によって行ってもよいし、よりシンプルな方法である最急降下法によって行ってもよい。また、共役勾配法やICCG法など、他の非線形最適化計算手法を用いてもよい。一方、モデル情報として参照画像モデルを利用する場合は、参照画像モデルをテンプレートとしたテンプレートマッチングにより最も一致する参照画像を求め、その参照画像に対応付けられた対象物体103との位置姿勢情報を元に対象物体103の位置姿勢を求める。参照画像の輝度をTi,j、2次元画像の輝度をIi,jとして、参照画像をm×n画素の画像としたとき、一致度は式10により求めることができる。3次元位置姿勢計測部113で対象物体103の位置姿勢を求めたら、センサ位置姿勢決定部114に対象物体103の位置姿勢情報を出力する。ステップS403において、センサ位置姿勢決定部114は、ステップS402で求めた対象物体103の3次元位置姿勢に基づいて、センサ部102で対象物体103を計測する第2の位置姿勢を決定する。本実施形態では、対象物体103の計測を行うためのプロジェクタ照明の反射光がカメラに直接的に映り込まないように、ロボット100に装着したセンサ部102の位置姿勢を求める。センサ位置姿勢決定部114は、決定した位置姿勢をロボット作業指示部121に出力する。図7aおよび図7bは、センサ部により対象物体103を撮影した画像である。図7aはセンサ部101で撮影した画像である。図7bはセンサ部102で撮影した画像である。図7aにはパレット104に山積みされた多くの対象物体103が写っている。ステップS402で少なくとも1つの対象物体103の3次元位置姿勢が求まる。ここで説明上1つの対象物体103’の3次元位置姿勢が求まっているものとする。もちろん複数の対象物体103の3次元位置姿勢が求まっていて、そのうちの1つを対象物体103’として選択してもよいことは言うまでもない。図7aおよび図7bにおいて対象物体103’を点線で囲っている。これらの点線はあくまで対象物体103’がどれであるかを分かりやすく示すための点線であり、センサ部の撮影画像には映っていない。図7bは対象物体103’の詳細な3次元位置姿勢を計測するためにセンサ部102が撮影した画像である。図7bの画像はセンサ部101と対象物体103’とを直線で結んだ直線上にセンサ部102を配置して撮影した画像とする。すなわち従来技術である特許文献1に記載の方法によって撮影位置を決めているものとする。センサ部102の計測範囲はセンサ部101の計測範囲と比較して狭い。そのためセンサ部101による画像よりもセンサ部102による画像のほうが画面に占める対象物体103’の面積が大きい。詳細な3次元位置姿勢を計測するために本実施形態では空間符号化法を適用する。センサ部102に備わっている小型プロジェクタで幅の異なる複数の縞模様のパターン光を投射して小型カメラにより画像を取得する。図7bでは対象物体103’に縞模様のパターン光が投射されていることが分かる。縞模様パターンの縞模様は、対象物体の形状に合うようにその模様が変化し、変化したパターンが撮影される。画像は縞模様パターンの縞の幅を変えて複数枚撮影する。対象物体103’には、近い位置からセンサ部102のプロジェクタによる照明光が当たる。図7bのように対象物体103’のある面が、センサ部102のカメラの光軸方向とプロジェクタの光軸方向とがなす角の2等分方向に対して垂直に近い状態にあると、照明光が対象物体103’の当該面で正反射し、カメラに照明反射光が直接写り込む。より正確には、カメラの光軸方向とプロジェクタの光軸方向とがなす角の2等分方向と、対象物体103’の当該面の法線方向とがほぼ同じ方向のときに、プロジェクタ照明光が正反射して反射光がカメラに直接映り込む。そのため対象物体103’の当該面の画像部分は輝度が飽和状態となり画像に白とびが生じる。空間符号化法により3次元計測を行うには、縞模様パターンの黒い部分および白い部分に対応する領域の境界位置を精度よく求める必要がある。しかし対象物体103’が存在する画像領域で白とびが発生すると、白い領域が膨張して撮影されるため境界位置がずれて検出される。境界位置を精度よく求めることができなくなるので位置姿勢を精度よく求めることが難しくなる。また、従来技術である特許文献1ではロボットの手先部に搭載したセンサとしてラインセンサを用いている。ラインセンサを用いた場合でも、ラインパターン光が対象物体の面で正反射し、センサに反射光が直接写り込むと、正反射したラインの画像部分は膨張する。そのためライン位置を精度よく求めることが難しい。ライン位置を精度よく求めることができなくなるので位置姿勢を精度よく求めることが難しくなる。センサ位置姿勢決定部114は、ステップS403において、センサ部102のカメラの光軸方向とプロジェクタの光軸方向とがなす角の2等分方向と、対象物体103’を構成する面の法線との関係に基づいて、センサ部102で撮影する第2の位置姿勢を決定する。図8aおよび図8bは、センサ部102のプロジェクタと、カメラと、対象物体103’を構成する面との関係を説明する図である。図8aは、カメラの光軸方向とプロジェクタの光軸方向とがなす角の2等分方向と、対象物体103’の当該面の法線方向とがほぼ同じ方向になっている状態である。プロジェクタの光軸とカメラの光軸とが対象物体103’の面で正反射する形になっている。このような状態になると、プロジェクタのパターン光が対象物体103’の面で正反射してカメラに写り込む。結果として白とびが生じて画像処理により対象物体103’の3次元位置姿勢を検出することが難しくなる。なお、プロジェクタの光軸とカメラの光軸がセンサ部102の姿勢に対してわずかながら斜め方向なのは、プロジェクタの照射範囲と、カメラの撮影範囲とをなるべく重複させるためである。カメラの光軸とプロジェクタの光軸はそれぞれ図8に示す方向でなくてもよいことは言うまでもない。カメラの光軸が真下方向で、プロジェクタの光軸が反時計回り方向にさらに傾いた方向であってもよい。一方、図8bでは、対象物体103’の面がセンサ部102のカメラの光軸方向とプロジェクタの光軸方向とがなす角の2等分方向に対して角度をつけて斜めに傾いている。そのためプロジェクタの光が正反射してカメラに映り込むことはない。より正確には、カメラの光軸方向とプロジェクタの光軸方向とがなす角の2等分方向と、対象物体103’の当該面の法線方向とがずれているため、プロジェクタの光が正反射してカメラに写り込むことはない。結果として画像に白とびが生じることを抑え、画像処理により対象物体103’の3次元位置姿勢を検出することが容易になる。センサ部102はロボットに装着されているため、センサ部102の位置姿勢はロボットの制御情報から求めることができる。また対象物体103’の位置姿勢はステップS402で求まっており、かつモデルとして3次元幾何モデルを用いている場合は対象物体の面の法線も図2で説明した通り分かっている。ロボット制御情報と、ステップS402で求めた対象物体103’の位置姿勢と、対象物体103’の面の法線情報とを用いて、センサ部102のプロジェクタの光が正反射してカメラに映り込まないようにする。このときの姿勢をセンサ部102で計測を行う第2の位置姿勢の姿勢とする。具体的には以下の方法A、方法B、方法Cのいずれかの方法で実現する。<方法A>センサ部102のカメラの光軸方向とプロジェクタの光軸方向とがなす角の2等分方向をまず仮に鉛直下向きにして対象物体103’が存在する領域を撮影する。画像中の対象物体103’部分に白とびが発生していなければ、プロジェクタの照明が正反射してカメラに映り込んでいないと判断できる。白とびが発生しているかどうかの判定は画像の輝度を調べれば分かる。白とびが発生していなければそのときに対象物体103’を撮影しているセンサ部102の位置姿勢を第2の位置姿勢とする。画像中の対象物体103’部分に白とびが発生していればセンサ部102の姿勢を、対象物体103’の位置を中心にしてカメラおよびプロジェクタの光軸を含む面内で予め決めた角度例えば5度回転させる。白とびが発生しなくなったらそのときに対象物体103’を撮影しているセンサ部102の位置姿勢を第2の位置姿勢とする。回転させても白とびが発生しているときは、白とびが発生しなくなるまでさらに予め決めた角度回転させる。なお、センサ部102の姿勢回転は、カメラおよびプロジェクタの光軸を含む面に垂直な面内で回転させてもよいし、任意の向きに回転させてもよい。方法Aでは実際に撮影した画像に白とびが発生したかどうか判定するため、白とびが発生しない第2の位置姿勢を確実に決めることができる。<方法B>センサ部102の位置姿勢をシミュレーションする。センサ部102のカメラの光軸方向とプロジェクタの光軸方向とがなす角の2等分方向を鉛直下向きにして、対象物体103’が存在する領域を撮影する位置にセンサ部102を仮想的に配置する。対象物体103’の位置を中心にカメラおよびプロジェクタの光軸を含む面内で予め決めた角度例えば5度ずつセンサ部102を回転させる。カメラの光軸方向とプロジェクタの光軸方向とがなす角の2等分方向と、対象物体103’の面の法線方向とが所定の角度以上例えば10度以上ずれている位置を求め、その位置姿勢を第2の位置姿勢とする。第2の位置姿勢候補が複数あるときはセンサ部102の姿勢が鉛直下向きに近い位置姿勢を第2の位置姿勢とする。センサ部102の姿勢回転は、カメラおよびプロジェクタの光軸を含む面に垂直な面内で回転させてもよいし、任意の向きに回転させてもよい。方法Bではシミュレーションを行うため、ロボットを実際に動かして計測を繰り返すといった時間をかけずに第2の位置姿勢を決定することができる。<方法C>3次元幾何モデルや参照画像モデルに予め計測するのに適切なセンサ部102の位置姿勢を登録しておいてもよい。位置姿勢は複数登録してもよいし、範囲を定めて登録してもよい。現在のセンサ部102の位置姿勢から最も近い登録済みの位置姿勢を第2の位置姿勢とする。なお方法A~方法Cのいずれの場合においても、センサ部102と対象物体103’との間の距離は、センサ部102のカメラの焦点が合う距離範囲に基づいて決定する。カメラの焦点が合う距離範囲は、カメラの最短撮影距離と被写界深度とによって決まる。よってセンサ部102の位置は対象物体103’を中心とした一定距離範囲内となる。3次元幾何モデルは複数の面を持っているため、全ての面について白とびが発生しないようにセンサ部102で撮影する位置を決定するとよい。しかし3次元幾何モデルの形状によっては、全ての面について白とびが発生しないようにすることが難しい場合もある。その場合は、なるべく多くの複数の面で角度差が所定の閾値以上になるようにしてもよい。また、面積が小さい面は最終的な結果に与える影響がそれほど大きくないため、面積が小さい面については無視してもよい。計算量が減るためセンサ部102が計測を行う第2の位置姿勢を決定する速度が向上する。また、対象物体103’のうち、予めロボットハンドが把持もしくは吸着する部分を指定しておき、その付近以外の面は無視してもよい。ロボットハンドが把持もしくは吸着する周辺の位置姿勢を特に精度よく求めることで、ロボットによるピッキング作業をより精度よく行うことができる。また、センサ部102が対象物体103’を撮影する第2の位置姿勢は、3次元空間中に1箇所しかないわけではない。空間的な範囲で決められるため、その範囲の中で1箇所を選んで撮影すればよい。あるいは後に述べる方法を同時に適用して決まる位置姿勢を第2の位置姿勢として選んでもよい。モデルとして参照画像モデルを用いる場合は、それぞれの参照画像モデルについて対象物体103’の面の角度情報を関連付けておいて、センサ部102の位置姿勢と参照画像モデルに関連付けた角度情報とに基づいてセンサ部102で撮影する位置姿勢を決定する。角度情報の関連付けは、CADデータをモデル情報保持部112に読み込む事前準備の過程で事前準備のプログラムに行わせればよい。図9は、図7bとほぼ同じ領域を、センサ部102を数度右側に回転した位置姿勢から撮影した画像である。撮影位置姿勢は、本実施形態で説明したように、カメラの光軸方向とプロジェクタの光軸方向とがなす角の2等分方向と、対象物体103’の面の法線方向とが所定の角度以上ずれている位置を求めることで決定した。対象物体103’が白とびせずに写っているため、縞模様パターンの黒い部分および白い部分に対応する領域の境界位置を精度よく求めることができる。境界位置を精度よく求めることができるため、対象物体103’の位置姿勢を精度よく求めることが容易になる。なお対象物体の形状に基づいて第2の位置姿勢は変わるため、第2の位置姿勢は対象物体の種類によって変わる。ステップS404において、ロボット制御部122は、ステップS403で決定した第2の位置姿勢でセンサ部102が対象物体103’を撮影するようにロボット100を姿勢制御する。ステップS404では、まずステップS403で決定した位置姿勢情報をロボット作業指示部121がセンサ位置姿勢決定部114から受け取る。ロボット作業指示部121は、センサ位置姿勢決定部114が出力した情報に基づいて、センサ部102が対象物体103’を撮影するようにロボット100を動かすことを指示する。ロボット制御部122は、ロボット作業指示部121による指示に基づいてロボット100を制御する。ステップS405において、ロボット100に装着したセンサ部102は、対象物体103’の画像を撮影する。撮影した画像は第2のセンサ情報取得部115に出力される。ステップS406において、3次元位置姿勢計測部116は、第2のセンサ情報取得部115が取得した対象物体103’の画像を元に対象物体103’の位置姿勢を求める。対象物体103’の位置姿勢を求めるために、モデル情報保持部112は保持しているモデル情報を出力して、3次元位置姿勢計測部116が対象物体103’とモデル情報とのマッチングを行う。モデル情報として3次元幾何モデルを利用する場合は、3次元幾何モデルから抽出した表面の点群と、第2のセンサ情報取得部115から出力されたパターン画像から求めた距離画像点群との対応付けを行うことにより対象物体の位置姿勢を求める。パターン画像から距離点群を求めるには、空間符号化法、光切断法などの公知技術を用いればよいため本実施形態では詳しく説明しない。3次元幾何モデルの点群と距離画像点群との対応付けを行うために、本実施形態ではICPIterativeClosestPoint法を用いる。3次元幾何モデルの表面点群をPとし、距離画像点群をAとすると、PおよびAはそれぞれ式11および式12のように表すことができる。3次元幾何モデルの表面点群Pを変換して距離点群Aに位置合わせする。点群Pの各点piに距離が最も近い点群Aの点をbi∈Aとしたとき、式13の誤差関数を定義できる。ここで式13におけるRとtはそれぞれ姿勢パラメータと移動ベクトルである。誤差関数Eを小さくするRとtを求め、式14による補正を行う。誤差関数Eを小さくするRとtを求める方法については、非特許文献1に記載の方法を用いればよい。Pの収束判定を行い、収束していれば終了し、そうでなければ繰り返し補正計算を行う。収束判定では、Pがほとんど変化しないことをもって収束したと判定する。このように収束するまで繰り返すことで、位置姿勢を算出できる。モデル情報として参照画像モデルを利用する場合は、参照画像モデルをテンプレートとしたテンプレートマッチングにより最も一致する参照画像を求め、その参照画像に対応付けられた対象物体との位置姿勢情報に基づいて対象物体の位置姿勢を求める。参照画像の距離値をTi,j、パターン画像から求めた距離画像の距離値をIi,jとして、参照画像をm×n画素の画像としたとき、一致度は式15により求めることができる。3次元位置姿勢計測部116で対象物体103’の位置姿勢を求めたら、ロボット作業指示部121に対象物体103’の位置姿勢情報を出力する。なお、ステップS403で決定した第2の位置姿勢で撮影を行うため、パターン画像は図9のように白とびしていない画像となっている。そのため対象物体103’の位置姿勢を精度よく求めることができる。ステップS407において、ロボット作業指示部121は、3次元位置姿勢計測部116から受け取った対象物体103’の位置姿勢情報に基づいて、ロボット100に対する作業指示をロボット制御部122へ行う。ロボット100が対象物体103’を把持するハンドを備えていれば対象物体103’の把持を指示する。ロボット100が対象物体103’を吸着するパッドを備えていれば対象物体103’の吸着を指示する。ステップS408において、ロボット制御部122は、ステップS407でロボット作業指示部121により指示された指示内容を実行するようにロボット100に対して制御を行う。ロボット100が対象物体103’を把持する場合は、ロボット制御部122がロボット100に対して対象物体103’を把持する制御を行う。ロボット100が対象物体103’を吸着する場合は、ロボット制御部122がロボット100に対して対象物体103’を吸着する制御を行う。ステップS409において、ロボット制御部122は、ユーザから終了指示があったかどうかを判定する。ユーザからの終了指示があったと判定された場合S409;YES、処理を終了する。一方、ユーザからの終了指示がないと判定された場合S409;NO、ステップS401へ戻る。なお、ステップS409での終了判定を待たずに、ユーザが不図示の緊急停止ボタンを押すことによりフローを終了して全ての動作を停止してもよい。以上述べたように、第1実施形態では、対象物体に関する2次元情報2次元画像を取得する第1のセンサ部カメラと、ロボットに装着され対象物体の3次元情報を取得するための第2のセンサ部プロジェクタとカメラとを用いて対象物体の3次元位置姿勢計測を行う。第1のセンサ部を用いて計測した結果に基づいて、計測を行うための第2のセンサ部のプロジェクタ照明反射光が第2のセンサ部のカメラに映り込まないように、ロボットに装着された第2のセンサ部の計測位置姿勢を求める。これにより、対象物体がどのような方向を向いていても高精度かつ高速かつロバストに計測を行うことができる。変形例第1実施形態の変形例として、センサ部101は対象物体に関する3次元情報距離画像や3次元点群データを取得するセンサ部距離画像センサや3次元点群計測センサであってもよい。また、センサ部102も対象物体に関する3次元情報距離画像や3次元点群データを取得するセンサ部距離画像センサや3次元点群計測センサであってもよい。距離画像を取得するセンサ部としては、第2のセンサ部で利用するものと同様なプロジェクタとカメラからなる距離画像センサや、各画素までの奥行きを光伝播時間によって計測するTOF型の距離画像センサなどを用いることができる。また、2次元配列に並ぶ画像状の距離データになっていなくとも、まばらな点群として計測されている3次元点群データであってもよい。第1のセンサ情報取得部111および第2のセンサ情報取得部115は、それぞれセンサ部101、センサ部102から3次元情報距離画像や3次元点群データを取得し、3次元位置姿勢計測部113、116に出力する。3次元位置姿勢計測部113は、第1のセンサ情報取得部111から出力された3次元情報距離画像や3次元点群データとモデル情報保持部112から出力される3次元幾何モデルから抽出した表面の点群データとの対応付けを行うことで対象物体の位置姿勢を求める。3次元位置姿勢計測部116は、第2のセンサ情報取得部115から出力された3次元情報距離画像や3次元点群データとモデル情報保持部112から出力される3次元幾何モデルから抽出した表面の点群データとの対応付けを行うことで対象物体の位置姿勢を求める。3次元情報距離画像や3次元点群データとモデル情報とを利用して対象物体の位置姿勢を求めるために、ICPIterativeClosestPoint法を用いる。対象物体の位置姿勢を反復演算によって繰り返し補正する。なお、対象物体の位置姿勢を求めるための最適化手法はICP法に限るものではない。また、第1実施形態の変形例として、センサ部101は対象物体に関する2次元情報2次元画像もしくは3次元情報距離画像や3次元点群データあるいは両者を第1の情報として取得するセンサ部カメラと距離センサとの組み合わせであってもよい。また、センサ部102も対象物体に関する2次元情報2次元画像もしくは3次元情報距離画像や3次元点群データあるいは両者を第2の情報として取得するセンサ部カメラと距離センサとの組み合わせであってもよい。2次元画像とモデル情報との対応付け、および距離データとモデル情報との対応付けを同時に解く方法として特許文献2に記載の方法を適用することができる。また、第1実施形態の変形例として、センサ部102のプロジェクタはパターン光以外に全面を均一の輝度で照射することもできる。均一の輝度で照射することで通常の照明のように扱うことができる。この場合は、センサ部102の小型プロジェクタで均一輝度の光を対象物体に対して照明し、センサ部102の小型カメラにより2次元情報2次元画像を取得し、第2のセンサ情報取得部115に対して出力を行う。またセンサ部102は対象物体を均一の明るさで照らす照明と2次元画像を撮影するカメラでもよい。第2のセンサ情報取得部115は2次元画像を取得し、3次元位置姿勢計測部116に出力する。3次元位置姿勢計測部116は、2次元画像とモデル情報保持部112から出力されたモデル情報とを利用して対象物体の位置姿勢を計測する。位置姿勢を計測する方法は第1の実施形態における3次元位置姿勢計測部113、ステップS402と同様でよい。第2実施形態第1実施形態では、第1のセンサ部を用いて計測した結果に基づいて、計測を行うための第2のセンサ部のプロジェクタ照明反射光が第2のセンサ部のカメラに映り込まないように、ロボットに装着された第2のセンサ部の計測位置姿勢を設定した。第2実施形態では、第1のセンサ部を用いて計測した結果に基づいて、対象物体の特徴部分を計測可能にするように、ロボットに装着された第2のセンサ部の位置姿勢を設定する。第2実施形態における情報処理装置を構成する各処理部は、基本的に図1に示す第1実施形態と同じ構成である。ただし、対象物体103、モデル情報保持部112が保持するモデル情報、およびセンサ位置姿勢決定部114の処理内容が異なる。第2実施形態における情報処理装置の処理手順を示すフローチャートは、基本的に図4に示す第1の実施形態と同じ構成である。ただし、対象物体103、センサ部102で対象物体を撮影する位置姿勢を決定するステップS403の処理内容が異なる。本実施形態では、第1実施形態との差分構成のみ説明を行う。その他の構成は第1実施形態と同じものとする。第2実施形態では図1の対象物体103の代わりに図10aに示す対象物体103-2の計測を行う。図10aは、対象物体103-2がパレット104に山積みされている様子を示す。図10bは、1つの対象物体103-2の形状を示す。対象物体103-2は、直方体形状の上に特徴的な出っ張り部を特徴1001として有している。特徴1001は、例えば対象物体103-2を製品に組み付けるときのガイドとして利用されるものである。ここで述べる特徴的というのは、対象物体103-2の3次元位置姿勢を精度よく決定するのに寄与する情報が得られるという意味で用いている。図10cは、対象物体103-2のCADデータに基づいた3次元幾何モデルである。図2に示した3次元幾何モデルと同様に、点、線、面の情報を持っている。対象物体103-2は、特徴1001に対応するモデル特徴1002を持っている。第2実施形態では、3次元位置姿勢計測部113により計測したある対象物体103-2’の位置姿勢に基づき、センサ位置姿勢決定部114は、センサ部102が計測を行う際の位置姿勢を決定する。3次元位置姿勢計測部113で予め対象物体103-2’の位置姿勢を求めているため、対象物体103-2’に3次元幾何モデルをある程度の精度で位置合わせできている。センサ位置姿勢決定部114は、センサ部102によりモデル特徴1002に対応する特徴1001を計測可能な位置姿勢を第2の位置姿勢として決定する。特徴1001を計測可能な第2の位置姿勢でセンサ部102による位置姿勢計測を行うことで、モデルの特徴的な部分の位置合わせができるので、精度よく対象物体の位置姿勢を求めることができる。特徴1001を計測可能な第2の位置姿勢を求めるには、例えば以下の1~3のいずれかの方法で実現する。1モデル特徴1002の少なくとも1面を観察することが可能となる位置姿勢センサ部102で対象物体103-2’の特徴1001を3次元的に計測可能にするには、モデル特徴1002の少なくとも1面を観察できる位置姿勢を第2の位置姿勢として決定すればよい。ただし、より高精度に対象物体の位置姿勢を求めようとしたら3面以上観察できる位置であることが望ましい。このような第2の位置姿勢を求めるには、まずセンサ部102のカメラの光軸方向を仮に鉛直下向きにして対象物体103-2’が存在する領域を撮影する。モデル特徴1002の少なくとも1面を観察できていればそのときに対象物体103-2’を撮影しているセンサ部102の位置姿勢を第2の位置姿勢とする。モデル特徴1002の面を観察できていなければセンサ部102の姿勢を、対象物体103-2’の位置を中心にしてカメラおよびプロジェクタの光軸を含む面内で予め決めた角度例えば5度回転させる。モデル特徴1002の少なくとも1面を観察できたらそのときに対象物体103-2’を撮影しているセンサ部102の位置姿勢を第2の位置姿勢とする。なお、センサ部102の姿勢回転は、カメラおよびプロジェクタの光軸を含む面に垂直な面内で回転させてもよいし、任意の向きに回転させてもよい。予め決めた回数だけ回転させてもモデル特徴1002の面を観察できない時は対象物体103-2’の計測は一旦止めて、それ以外の対象物体を対象にしてもよいし、パレットを揺動させて対象物体の山積み状態を変化させてもよい。1の方法では対象物体103-2’の面が観察できるかどうかを、3次元幾何モデルを介して判定するため、特徴1001を計測可能な第2の位置姿勢を確実に決めることができる。なお、モデル特徴を手掛かりに第2の位置姿勢を決定するのは上でも説明したとおり対象物体103-2’に3次元幾何モデルをある程度の精度で位置合わせできているという前提があるためである。2モデル特徴1002の所定面に対してセンサ部102のカメラ光軸方向が90度未満となる位置姿勢センサ部102で対象物体103-2’の特徴1001を3次元的に計測可能にするには、例えば図10cにおけるモデル特徴1002の上面法線方向と、センサ部102のカメラ光軸方向との相対角度が、90度未満になるようにすればよい。相対角度を90度未満にすることで、特徴1001の少なくとも1面を計測することが可能になるので特徴1001を3次元的に計測可能になる。2の方法でも1と同様にまず仮にセンサ部102のカメラ光軸方向を鉛直下向きにして計測を行い、条件を満たさなければ所定の角度ずつ回転させていけばよい。なお、第1実施形態では相対角度を所定の角度以上にするよう第2の位置姿勢を求めていた。第1実施形態での範囲と第2の実施形態での範囲との共通範囲を求めて第2の位置姿勢を決定してもよい。33次元幾何モデルや参照画像モデルに予め計測するのに適切なセンサ部102の位置姿勢を登録しておいてもよい。位置姿勢は複数登録してもよいし、範囲で登録してもよい。現在のセンサ部102の位置姿勢から最も近い登録済みの位置姿勢を第2の位置姿勢とする。なお、3次元幾何モデルのモデル特徴は図10cに示すような立体的な特徴だけでなく、2次元的な幾何特徴線や円弧の組み合わせ、テクスチャなどや、1次元的な幾何特徴線、円弧や、点特徴でもよい。また、参照画像モデルを利用する場合は、3次元位置姿勢計測部113で計測した対象物体103-2’の位置姿勢に基づき、特徴部分をよりよく観察することができる相対位置姿勢の参照画像を選択して該参照画像を作成したときの位置姿勢を第2の位置姿勢とすればよい。第3実施形態第1の実施形態、第2の実施形態の変形として以下の実施形態を考えることができる。センサ部101とセンサ部102とを同じセンサ部で構成してもよい。具体的にはロボットに装着したセンサ部102にセンサ部101の役割も持たせることで実現する。まずセンサ部102がパレット104の上方の第1の位置姿勢で対象物体103を撮影するようロボットを制御する。センサ部102が第1の位置姿勢で対象物体103を撮影して第1の3次元位置姿勢計測部113で位置姿勢を計測したら、次に対象物体103を精度よく計測可能な第2の位置姿勢を決定する。第2の位置姿勢を決定する方法は第1実施形態、第2実施形態に記載した方法によって求める。ロボットを制御することでセンサ部102を第2の位置姿勢に移動したら、対象物体103の撮影を行い第2の3次元位置姿勢計測部116で位置姿勢の計測を行う。最後にロボット100のエンドエフェクタにより対象物体103を把持もしくは吸着する。また、対象物体103が鏡面反射成分を持つ物体である場合は、センサ部102のカメラの光軸方向とプロジェクタの光軸方向とがなす角の2等分方向と、対象物体103の面の法線方向とに基づいて反射が生じにくい位置を第2の位置姿勢として決定してもよい。また、対象物体103が曲面を含む物体である場合は、対象物体103を模した3次元幾何モデルを画像面に投影したとき、曲面部フィレット部がエッジとして見える視点位置姿勢を極力第2の位置姿勢とするのを避けてもよい。なぜなら曲面部は視点位置姿勢によってエッジの位置が不定になり、位置姿勢計測の精度が下がるためである。曲面部がエッジとして見える視点位置姿勢であるかどうかは、例えばカメラの光軸と対象物体の面の法線が90度近くになる面があるかどうかで判定する。曲面部がエッジとして見える視点位置姿勢を避けることで位置姿勢計測の精度をよくすることができる。また、第2の位置姿勢で位置姿勢計測して計測が失敗した場合例えば、計測結果が得られなかった場合や、第2の位置姿勢で計測した後に行うロボット作業で失敗した場合例えば、対象物体を把持、吸着できなかった場合は、その後似たような状況で失敗を繰り返す可能性がある。そこで失敗したとき計測結果や作業結果について対象物体に対する相対的な位置姿勢を記憶しておき、後の処理ではその位置姿勢を除外するようにしてもよい。失敗した時の状況を再現させないことでロバスト性を向上させることができる。また、ロボットによる作業として把持や吸着の例を挙げたが、把持を行う場合は対象物体を把持する箇所n本指のハンドであればn箇所のスペースの位置姿勢を特に精度よく求めるようにしてもよい。吸着を行う場合は対象物体を吸着する箇所安定的な面の位置姿勢を特に精度よく求めるようにしてもよい。把持する箇所、吸着する箇所の周囲に存在する特徴的な箇所を利用して第2実施形態で述べた方法を利用する。また、上記ではモデル情報保持部112に保持されたモデルを利用した位置姿勢計測について説明を行ったが、センサ部101および102をそれぞれステレオカメラで構成してステレオ計測により対象物体の位置姿勢計測を行ってもよい。また、上記の説明ではセンサ部102の位置姿勢を変更するためにロボットを用いたがロボットに限らない。例えば、直動ステージと回転ステージを組み合わせた機構部にセンサ部102を搭載して、ステージの制御によって位置姿勢を変更しても良い。対象物体を操作するロボットとは別に、位置姿勢変更部を設けても良い。その他の実施形態また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェアプログラムを、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータまたはCPUやMPU等がプログラムを読み出して実行する処理である。"