(57)【要約】【課題】照明等によって発生する影（オクルージョン）の影響を考慮し、高精度に対象物体の位置姿勢を計測する。【解決手段】情報処理装置は、第一の位置姿勢で、対象物体に関する二次元情報もしくは三次元情報を取得するセンサ手段と、第一の位置姿勢でセンサ手段により取得された二次元情報もしくは三次元情報に基づいて、複数の視点から前記対象物体を見たときの、当該対象物体が遮蔽される隠れ領域をそれぞれ算出する算出手段と、算出手段で算出した隠れ領域に基づいて、対象物体の位置姿勢を計測するための三次元情報を取得可能なセンサ手段の位置姿勢として、第一の位置姿勢とは異なる第二の位置姿勢を決定する決定手段と、を備える。【選択図】      図１
2016099257.tif 000002
【特許請求の範囲】
【請求項１】
第一の位置姿勢で、対象物体に関する二次元情報もしくは三次元情報を取得するセンサ手段と、
前記第一の位置姿勢で前記センサ手段により取得された二次元情報もしくは三次元情報に基づいて、複数の視点から前記対象物体を見たときの、当該対象物体が遮蔽される隠れ領域をそれぞれ算出する算出手段と、
前記算出手段で算出した隠れ領域に基づいて、前記対象物体の位置姿勢を計測するための三次元情報を取得可能なセンサ手段の位置姿勢として、前記第一の位置姿勢とは異なる第二の位置姿勢を決定する決定手段と、を備えることを特徴とする情報処理装置。
【請求項２】
前記決定手段は、
前記算出手段で算出した隠れ領域が最小となる前記視点の位置情報に基づいて、前記センサ手段の第二の位置姿勢を決定することを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記決定手段は、
前記算出手段で算出した前記対象物体の特徴部分に関する隠れ領域が最小となる前記視点の位置情報に基づいて、前記センサ手段の第二の位置姿勢を決定することを特徴とする請求項１または２に記載の情報処理装置。
【請求項４】
前記決定手段で決定した第二の位置姿勢まで前記センサ手段を移動する移動手段と、
前記第二の位置姿勢を有する前記センサ手段で取得した三次元情報を、前記算出手段による隠れ領域の算出に用い、前記決定手段による前記第二の位置姿勢の再決定を行う処理を、既定の条件を満足するまで繰り返す繰り返し手段と、をさらに備えることを特徴とする請求項１〜３のいずれか１項に記載の情報処理装置。
【請求項５】
前記既定の条件は、前記算出手段で算出した隠れ領域の大きさが閾値以下となることであることを特徴とする請求項４に記載の情報処理装置。
【請求項６】
前記既定の条件は、前記移動手段による前記センサ手段の移動量が閾値以下となることであることを特徴とする請求項４に記載の情報処理装置。
【請求項７】
前記センサ手段で取得した前記二次元情報もしくは三次元情報に基づいて、前記対象物体に対して隠れ領域を発生させている障害物を特定する特定手段と、
前記算出手段で算出した隠れ領域の大きさが閾値を上回っているとき、前記特定手段で特定した障害物を、前記隠れ領域の大きさが小さくなる位置に移動する第二の移動手段と、を備えることを特徴とする請求項１〜６のいずれか１項に記載の情報処理装置。
【請求項８】
前記センサ手段は、
パターンを投影する投影手段と、
前記投影手段が投影したパターンを異なる視点から撮像する撮像手段と、を備え、
三角測量の原理で前記対象物体に関する三次元情報を取得することを特徴とする請求項１〜７のいずれか１項に記載の情報処理装置。
【請求項９】
前記センサ手段は、
視野の少なくとも一部が重複する複数の撮像手段を備え、
三角測量の原理で前記対象物体に関する三次元情報を取得することを特徴とする請求項１〜７のいずれか１項に記載の情報処理装置。
【請求項１０】
前記第一の位置姿勢で二次元情報もしくは三次元情報を取得する前記センサ手段は、前記第二の位置姿勢で三次元情報を取得する前記センサ手段と同一のセンサ手段であることを特徴とする請求項１〜９のいずれか１項に記載の情報処理装置。
【請求項１１】
前記第一の位置姿勢で二次元情報もしくは三次元情報を取得する前記センサ手段は、前記第二の位置姿勢で三次元情報を取得する前記センサ手段とは異なるセンサ手段であることを特徴とする請求項１〜９のいずれか１項に記載の情報処理装置。
【請求項１２】
前記センサ手段は、前記対象物体に対して作業を実行するロボットに装着されていることを特徴とする請求項１〜１１のいずれか１項に記載の情報処理装置。
【請求項１３】
前記第二の位置姿勢を有するセンサ手段で取得した三次元情報に基づいて、前記対象物体の位置姿勢を計測する計測手段と、
前記計測手段で計測した前記対象物体の位置姿勢に基づいて、前記ロボットの前記対象物体に対する作業を制御する制御手段と、をさらに備えることを特徴とする請求項１〜１２のいずれか１項に記載の情報処理装置。
【請求項１４】
第一の位置姿勢で、センサ手段により対象物体に関する二次元情報もしくは三次元情報を取得するステップと、
前記第一の位置姿勢で前記センサ手段により取得された二次元情報もしくは三次元情報に基づいて、複数の視点から前記対象物体を見たときの、当該対象物体が遮蔽される隠れ領域をそれぞれ算出するステップと、
算出した隠れ領域に基づいて、前記対象物体の位置姿勢を計測するための三次元情報を取得可能なセンサ手段の位置姿勢として、前記第一の位置姿勢とは異なる第二の位置姿勢を決定するステップと、を含むことを特徴とする情報処理方法。
【請求項１５】
対象物体に対して作業を実行するロボットと、
前記請求項１〜１３のいずれか１項に記載の情報処理装置と、を備えることを特徴とするロボットシステム。
【請求項１６】
コンピュータを、前記請求項１〜１３のいずれか１項に記載の情報処理装置の各手段として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、対象物体の三次元位置姿勢を求める情報処理装置及び情報処理方法に関する。
【背景技術】
【０００２】
近年のロボット技術の発展とともに、工業製品の組立のようなこれまで人間が行っていた複雑なタスクをロボットが代わりに行うようになりつつある。このようなロボットは、ハンドなどのエンドエフェクタによって部品をピッキングして組立を行う。従来、ピッキングするための部品の供給は、パーツフィーダと呼ばれる部品１つ１つを並べて供給するための装置を利用したり、パレット（箱）に部品を様々な姿勢で山積みしたりすることによって行われている。
【０００３】
パーツフィーダを利用する場合は、部品１つ１つの位置姿勢が予め決まった状態で供給されるため、ロボットによるピッキングは比較的容易に行われる。しかしながら、パーツフィーダ装置を用意するためのコストが余計にかかる。また、部品の形状に合わせて異なるパーツフィーダを用意しなければならない。一方、部品を山積みにして供給する場合は、パレットに部品を置くだけでよいためコスト増を回避することができる。さらに、近年の少量多品種生産の傾向を受けて、様々な部品へ素早く対応することができる山積み供給に注目が集まっている。
このような動向の中、二次元カメラや三次元計測装置と部品認識との組み合わせによるピッキング作業システムの開発が行われている。
【０００４】
対象物体の位置姿勢を認識するための認識装置として、特許文献１に記載の技術がある。ここでは、先ず、パレットの上方に設置されたカメラにより複数の対象物体全体を撮影し、撮影した画像上での二次元位置を求める。次に、カメラから１つの対象物体までの直線を求め、ロボットの手先部に搭載したセンサがその直線上に来るようにロボットを動かす。そして当該センサによって対象物体の位置姿勢を計測する。このように全体を撮影するカメラと、計測範囲は狭いが精度よく位置姿勢を検出することができるセンサとを組み合わせて段階的に処理することで、対象物体を高精度かつ高速に計測するようにしている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特許第３５５６５８９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
上記特許文献１に記載の認識装置では、必ずパレットの上方に設置されたカメラと対象物体とを結ぶ直線上で、ロボットの手先部に搭載したセンサによる三次元計測を行う。そのため、対象物体が向いている方向によっては、必ずしも計測しやすい状態にはならない。例えば、対象物体に計測用の照明光を当てる場合、対象物体が向いている方向によっては照明光によって発生する影がカメラに映り込む。また、上記の影以外にも、手前にある障害物が背後にある対象物体を隠して見えないようにしてしまう状態が発生し得る。このようなオクルージョンが発生すると、画像処理を行う際の妨げになるため位置姿勢の計測が困難になる。
そこで、本発明は、オクルージョンが発生し得る状況下においても、当該オクルージョンの影響を考慮し、高精度に対象物体の位置姿勢を計測することを目的とする。
【課題を解決するための手段】
【０００７】
上記課題を解決するために、本発明に係る情報処理装置の一態様は、第一の位置姿勢で、対象物体に関する二次元情報もしくは三次元情報を取得するセンサ手段と、前記第一の位置姿勢で前記センサ手段により取得された二次元情報もしくは三次元情報に基づいて、複数の視点から前記対象物体を見たときの、当該対象物体が遮蔽される隠れ領域をそれぞれ算出する算出手段と、前記算出手段で算出した隠れ領域に基づいて、前記対象物体の位置姿勢を計測するための三次元情報を取得可能なセンサ手段の位置姿勢として、前記第一の位置姿勢とは異なる第二の位置姿勢を決定する決定手段と、を備えることを特徴とする。
【発明の効果】
【０００８】
本発明によれば、オクルージョンが発生し得る状況下においても、当該オクルージョンの影響を考慮し、高精度に対象物体の位置姿勢を計測することができる。
【図面の簡単な説明】
【０００９】
【図１】第一の実施形態の情報処理装置を備えるロボットシステムの一例を示す構成図である。
【図２】センサ部の構成例を示す図である。
【図３】プロジェクタから投射するパターン光の一例である。
【図４】三次元形状モデル（頂点）を説明する図である。
【図５】三次元形状モデル（頂点）を説明する図である。
【図６】三次元形状モデル（辺）を説明する図である。
【図７】三次元形状モデル（辺）を説明する図である。
【図８】三次元形状モデル（面）を説明する図である。
【図９】三次元形状モデル（面）を説明する図である。
【図１０】オクルージョンの発生状況の一例を示す図である。
【図１１】画像処理部で実行する三次元位置計測処理手順の一例を示すフローチャートである。
【図１２】第二の位置姿勢決定処理手順の一例を示すフローチャートである。
【図１３】候補位置姿勢の設定方法について説明する図である。
【図１４】候補位置姿勢の設定方法について説明する図である。
【図１５】第一の計測位置での撮影状態を示す図である。
【図１６】第二の計測位置での撮影状態を示す図である。
【図１７】第二の実施形態における対象物体の把持状態を示す図である。
【図１８】対象物体の特徴部分における隠れ領域を示す図である。
【図１９】第三の実施形態における情報処理装置を備えるロボットシステムの一例を示す構成図である。
【図２０】第四の実施形態における情報処理装置を備えるロボットシステムの一例を示す構成図である。
【図２１】情報処理装置のハードウェア構成例を示す図である。
【発明を実施するための形態】
【００１０】
以下、添付図面を参照して、本発明を実施するための好適な形態について詳細に説明する。
なお、以下に説明する実施の形態は、本発明の実現手段としての一例であり、本発明が適用される装置の構成や各種条件によって適宜修正又は変更されるべきものであり、本発明は以下の実施の形態に限定されるものではない。
【００１１】
（第一の実施形態）
図１は、第一の実施形態における情報処理装置を備えるロボットシステム１００の構成例を示す図である。
ロボットシステム１００は、ロボット１０と、情報処理部２０と、を備える。
ロボット１０は、例えば多関節ロボットであり、アームの先端部（手先部）には、センサ部１１が姿勢を変更可能に取り付けられている。センサ部１１は、ロボット１０の手先部付近にある物体を撮影し、画像データを情報処理部２０に出力する。
【００１２】
また、ロボット１０は、センサ部１１の位置姿勢、すなわち、ロボット１０の手先部の位置及びセンサ部１１の姿勢を変更可能な位置姿勢変更機構１２を備える。位置姿勢変更機構１２は、ロボット１０の各関節の角度を変更することで当該ロボット１０の手先部の位置やセンサ部１１の姿勢を変更する。ここで、位置姿勢変更機構１２は、電動モータによって駆動されてもよいし、油圧や空気圧等の流体圧で作動するアクチュエータによって駆動されてもよい。この位置姿勢変更機構１２は、情報処理部２０が備える後述するロボットコントローラ部２２０からの制御指令を受けて駆動される。
【００１３】
さらに、ロボット１０の手先部には、エンドエフェクタ１３が取り付けられている。エンドエフェクタ１３は、ロボット１０のワークの種類に応じた作業を実現するためのツールであり、例えばロボットハンド等である。当該ロボットハンドとしては、モータ駆動可能なチャック機構を有し物体を把持可能なハンドや、空気圧で物体を吸着する吸着パッドを用いたハンド等を用いることができる。なお、エンドエフェクタ１３は、アームに対して着脱可能に取り付けられており、ワークの種類に応じて交換可能である。
なお、センサ部１１の位置姿勢、ロボット１０やハンド１３の位置や軌道、ロボット１０のアームとセンサ部１１との相対位置姿勢のキャリブレーション作業は、予め所定の手法により行われているものとする。
【００１４】
また、ロボット１０は、多関節ロボットに限定されるものではなく、数値制御（Numerical Control：ＮＣ）可能な可動式の機械であってもよい。
情報処理装置２０は、センサ部１１で撮影された被計測対象物３０の二次元画像を入力し、その画像データをもとに所定の画像処理を実行して位置姿勢変更機構１２及びハンド１３を駆動制御する。
被計測対象物３０は、複数の対象物体３１が様々な姿勢でパレット３２に山積みされたものである。対象物体３１は、例えば、工業製品を構成する部品である。この対象物体３１の素材は、プラスチック、金属、ビニールなど、いずれの素材であってもよい。
【００１５】
パレット３２は、対象物体３１を収容する箱であり、素材や形状には特に制約はない。但し、作りやすさの観点からは、例えば、素材はプラスチックや紙、形状は立方体や直方体にすることが好ましい。また、パレット３２の大きさにも制約はないが、センサ部１１による撮影可能範囲内に収まる大きさであることが好ましい。
情報処理装置２０は、センサ部１１で撮影された二次元画像をもとに対象物体３１の三次元位置姿勢を計測し、その計測結果に基づいて、ロボット１０を駆動制御し、当該ロボット１０による対象物体３１のピッキング作業を行う。
【００１６】
次に、センサ部１１の構成について具体的に説明する。
センサ部１１は、図２に示すように、プロジェクタ（投影手段）１１１とカメラ（撮像手段）１１２とを備え、三角測量の原理を用いて対象物体３１に関する三次元情報（距離画像や三次元点群データ）を取得する。
プロジェクタ１１１は、対象物体３１に対してパターン光を投射し、カメラ１１２は、当該パターン光が投射された対象物体３１の二次元画像を撮影する。センサ部１１は、カメラ１１２で撮影した画像データを情報処理部２０に出力する。パターン光としては、空間符号化法の幅の異なる複数の縞模様パターンや、複数の線パターンなどを利用することができる。
【００１７】
図３は、プロジェクタ１１１から投射するパターン光の一例である。
図３に示すパターン光２０１〜２０３は、明暗のスリットを交互に配した縞パターンを有するパターン光である。なお、ここでは、３ｂｉｔのグレイコードによる縞パターンを示しているが、３ｂｉｔに限定されるものではない。Ｎｂｉｔの空間符号化を行う場合には、スリット光パターンはＮ枚となる。
ここで、光パターン２０２は、光パターン２０１に対して空間解像度が２倍になっている縞パターン光である。同様に、光パターン２０３は、光パターン２０２に対して空間解像度が２倍になっている縞パターン光である。情報処理部２０は、センサ部１１から入力された画像データをもとに撮像範囲を８分割し、対象物体１３１を認識する。
なお、パターン光は、二次元的なパターンやランダムドットのようなパターンでもよい。また、センサ部１１は、回折格子と照明とカメラとから構成されていてもよい。この場合は、回折格子と照明とにより対象物体にパターン光を投射し、カメラによりパターンを撮影すればよい。
【００１８】
プロジェクタ１１１とカメラ１１２との配置は、アクティブステレオ法等による三次元計測が可能な配置とする。すなわち、アクティブステレオ法等による三次元計測が可能とするためには、計測用のパターン光の計測線の方向に対して垂直な方向に視差を取る必要がある。そのため、プロジェクタ１１１とカメラ１１２との位置は、視差の影響により必ず視線方向のずれが生じる。カメラ１１２の視野とプロジェクタ１１１の投影範囲とが重なった領域内に対象物体３１が入ることで三次元計測が可能となる。
【００１９】
次に、情報処理部２０の構成について具体的に説明する。
情報処理部２０は、例えばパーソナルコンピューター（ＰＣ）に搭載されており、図１に示すように、画像処理部２１０と、ロボットコントローラ部２１０と、を備える。
画像処理部２１０は、第一の位置姿勢を有するセンサ部１１が取得した対象物体３１の三次元情報を取得し、当該三次元情報をもとに対象物体３１の位置姿勢を計測する。次に、画像処理部２１０は、対象物体３１の位置姿勢情報をもとにセンサ部１１の第二の位置姿勢を決定し、ロボットコントローラ部２２０はセンサ部１１を第二の位置姿勢に移動する。そして、画像処理部２１０は、第二の位置姿勢を有するセンサ部１１が取得した対象物体３１の三次元情報を取得し、当該三次元情報をもとに対象物体３１の位置姿勢を計測する。その後は、既定の条件を満足するまで、第二の位置姿勢を第一の位置姿勢として設定し直し、上記の処理を繰り返してもよい。
【００２０】
このように、本ロボットシステム１００では、対象物体３１の三次元位置姿勢計測を複数回行う。このとき、画像処理部２１０は、センサ部１１の第二の位置姿勢を、対象物体３１の三次元位置姿勢計測を効率良く行うことができる位置姿勢に設定する。これにより、三次元情報を取得する回数を繰り返す毎に、対象物体３１に対する詳細な三次元位置姿勢計測結果を得るようにする。
【００２１】
以下、画像処理部２１０及びロボットコントローラ部２１０を構成する各部について詳細に説明する。
画像処理部２１０は、センサ情報取得部２１１と、モデル情報保持部２１２と、三次元位置姿勢計測部２１３と、オクルージョン推定部２１４と、センサ位置姿勢決定部２１５と、を備える。また、ロボットコントローラ部２１０は、ロボット作業指示部２２１と、ロボット制御部２２２と、を備える。
センサ情報取得部２１１は、センサ部１１が出力する二次元画像を取得し、取得した二次元画像を三次元位置姿勢計測部２１３に出力する。
モデル情報保持部２１２は、後述する三次元位置姿勢計測部２１３で対象物体３１の位置姿勢を計測するために利用されるモデル情報を保持する。モデル情報としては、三次元ＣＡＤに基づく三次元幾何モデルや、実際の対象物体３１もしくは対象物体３１を模した三次元幾何モデルを予め定められた複数の視点から見た参照画像モデル等が挙げられる。
【００２２】
上記三次元幾何モデルは、三次元ＣＡＤソフトで取り扱うことができるＣＡＤモデルそのもの、もしくは三次元ＣＡＤモデルをコンピュータグラフィックス分野で使われる複数のポリゴン要素に変換したものである。本実施形態では、ポリゴン要素を利用した場合について説明する。
三次元幾何モデルは、図４〜図９に示すように、点、線、面といった構成要素からなる。ここで、図４〜図９は、いずれも同じ三次元幾何モデルを示している。図４及び図５は三次元幾何モデルの各頂点を示し、図６及び図７は三次元幾何モデルの各辺となる線を示し、図８及び図９は三次元幾何モデルの各面を示す。三次元幾何モデルには、図９に示すように、三次元幾何モデルを構成する面の法線データが含まれている。
【００２３】
上記参照画像モデルは、複数の二次元画像からなるデータである。実写画像に基づく参照画像モデルは、対象物体３１を中心にして様々な方向からカメラで撮影を行って得た画像から作成する。撮影を行うためにやぐらを組んでカメラを複数配置してもよいし、人が手でカメラを持って撮影してもよいし、ロボットに装着したカメラでロボットを動かしながら撮影を行ってもよい。このように、様々な方法で撮影を行ってもよいが、撮影したときのカメラと対象物体３１との相対位置姿勢を求め、撮影画像と併せて記憶しておくものとする。当該相対位置姿勢は、やぐらに複数のカメラを配置したときは、やぐらの形状から求めることができる。また、人が手でカメラを持つ場合は、カメラに位置姿勢センサを装着して求めることができる。さらに、ロボットに装着したカメラで撮影するときは、ロボットの制御情報を利用して求めることができる。
【００２４】
対象物体３１を模した三次元幾何モデルに基づく参照画像モデルは、ＣＡＤモデルの中心から、頂点が等しい距離になるジオデシック・ドーム（Geodesic Dome）を設定し、ジオデシック・ドームの頂点からＣＡＤモデルの中心を向いてみたときの画像を用いる。ジオデシック・ドームの頂点は複数あり、隣り合ったそれぞれの頂点は同じ距離となる。ある頂点を基準位置として、他の頂点との相対的な関係を元にどの方向から見たかを画像と共に記憶しておく。ここでは、ジオデシック・ドームの各頂点から中心を観察したときの画像を参照画像モデルとする。なお、参照画像モデルは輝度画像でもよいし距離画像でもよい。
【００２５】
また、対象物体３１が１種類と予め分かっている場合は、その種類のモデル情報だけ保存する。一方、複数種類の対象物体３１を扱う場合は、複数のモデル情報を保存しておき、利用時に切り替える。
三次元位置姿勢計測部２１３は、センサ情報取得部２１１から出力された二次元画像を解析したデータと、モデル情報保持部２１２が保持しているモデル情報とを利用し、対象物体３１の位置姿勢を求める。このとき、三次元位置姿勢計測部２１３は、複数の対象物体３１の位置姿勢情報と、複数の対象物体３１のうちロボット１０による把持対象となる１つの対象物体３１（計測対象物体３１１）の位置姿勢情報とを算出する。そして、三次元位置姿勢計測部２１３は、求めた位置姿勢情報をオクルージョン推定部２１３に出力する。
【００２６】
上記モデル情報として三次元幾何モデルを利用する場合は、三次元幾何モデルから抽出した表面の点群データと、センサ情報取得部２１１から出力された二次元のパターン画像から抽出した距離点群との対応付けを行うことで対象物体３１の位置姿勢を求める。
パターン画像から距離点群を求めるには、空間符号化法、光切断法などの技術を用いればよい。求めた距離点群とモデル情報とを利用して対象物体３１の位置姿勢を求めるために、本実施形態では、例えばＩＣＰ（Iterative Closest Point）法を用い、対象物体３１の位置姿勢を反復演算によって繰り返し補正する。なお、対象物体３１の位置姿勢を求めるための手法はＩＣＰ法に限定されるものではない。
【００２７】
モデル情報として参照画像モデルを利用する場合は、参照画像モデルをテンプレートとしたテンプレートマッチングにより最も一致する参照画像を求め、その参照画像に対応付けられた対象物体３１との位置姿勢情報に基づいて対象物体３１の位置姿勢を求める。
オクルージョン推定部２１４は、三次元位置姿勢計測部２１３で得られた複数の対象物体３１の位置姿勢情報を用い、パレット３２内の計測対象物体３１１を更に詳細に撮影するためのセンサ部１１の位置姿勢（第二の位置姿勢）を決定する。このとき、複数の候補位置姿勢を作成し、各候補位置姿勢で撮影したときのオクルージョンの発生状況をシミュレーションする。そして、そのシミュレーション結果をもとに、最適な第二の位置姿勢を決定する。
【００２８】
ここで、オクルージョンとは、例えばステレオ法を用いた距離計測手法を行う際に、カメラ１１２とプロジェクタ１１１との視差と計測対象物体の配置との関係により、計測対象物体がプロジェクタ１１１によって捉えることができなくなる状態のことをいう。プロジェクタ１１１から投射したパターン投影光の影が計測対象物体に掛かる場合などがこれに該当する。また、このオクルージョンの発生により、プロジェクタ１１１によって捉えることができなくなった領域（計測対象物体が遮蔽された領域）のことを、隠れ領域（オクルージョン領域）という。
【００２９】
図１０は、オクルージョンの発生状況の一例を示す図である。
センサ部１１を、プロジェクタ１１１及びカメラ１１２が図１０に示す位置姿勢となるように配置し、プロジェクタ１１１から計測対象物体３１１へ向けて投射したパターン光をカメラ１１２によって撮影する場合について説明する。この場合、プロジェクタ１１１から投射したパターン光は、計測対象物体３１１近傍に配置された障害物３１２によって影となり、計測対象物体３１１に照射されない。そのため、カメラ１１２は、プロジェクタ１１１のパターン投影光を撮影することはできない。このとき発生する影の領域３０１が隠れ領域である。
ここで、障害物３１２は、例えば、計測対象物体３１１以外の対象物体３１である。この図１０では、障害物３１２は計測対象物体３１１と同一形状であるが、垂直に立った状態で配置されていたものとしている。
【００３０】
隠れ領域３０１の量は、オクルージョン量３０２として観測される。図１０では平面図であるため、オクルージョン量３０２の直線の長さが隠れ領域３０１の量に相当する。但し、実際には、オクルージョン量３０２は、三次元モデルでのレンダリング法により面積として観測されるため、総面積量によってオクルージョン量３０２が算出される。
オクルージョンの発生は、対象物体３１の位置姿勢とセンサ部１１の位置姿勢によって決まる。そのため、既存のコンピュータグラフィックス技術を用いることで、センサ部１１が任意の位置姿勢を取った場合の撮影画像の状態の予測を行うことができる。
そこで、オクルージョン推定部２１４は、複数の対象物体３１の位置姿勢情報、パレット３２の位置姿勢情報、光源（プロジェクタ１１１）の情報、及びセンサ部１１の位置姿勢情報を用いてレンダリングを行う。レンダリング技法には、レイトレーシング法などを用いることができる。
【００３１】
オクルージョン推定部２１４は、複数の視点からそれぞれ計測対象物体３１１を見たときの、当該計測対象物体３１１が遮蔽される隠れ領域をそれぞれ算出する。すなわち、オクルージョン推定部２１４は、センサ部１１の位置姿勢の候補を複数設定し、それぞれの位置姿勢のときのオクルージョン量を推定する。
センサ位置姿勢決定部２１５は、オクルージョン推定部２１４で推定した各候補位置姿勢でのオクルージョン量に基づいて、センサ部１１の第二の位置姿勢を決定する。本実施形態では、オクルージョン量が最小となる候補位置姿勢を、第二の位置姿勢として決定する。そして、センサ位置姿勢決定部２１５は、決定したセンサ部１１の位置姿勢情報をロボットコントローラ部２２０のロボット作業指示部２２１へ出力する。
【００３２】
ロボット作業指示部２２１は、三次元位置姿勢計測部２１３や、センサ位置姿勢決定部２１５の計測結果に基づいて、ロボット１０に対する作業を指示する情報（作業指示情報）を設定する。例えば、ロボット作業指示部２２１は、センサ部１１を所定の位置まで移動するような作業指示情報や、センサ部１１を所定の姿勢とするような作業指示情報を設定する。また、ロボット作業指示部２２１は、対象物体３１を把持または吸着できる位置にハンド１３を移動させ、把持または吸着作業を実行するような作業指示情報を設定する。なお、ロボット１０の作業は移動、把持、吸着に限られるものではなく、対象物体３１の外観検査など、他の作業も含むことは言うまでもない。
ロボット制御部２２２は、ロボット作業指示部２２１で設定した作業指示情報を受けて、ロボット１０の制御を行う。
【００３３】
次に、情報処理部２０で実行する情報処理手順について詳細に説明する。
図１１は、情報処理部２０で実行する情報処理手順を示すフローチャートである。
先ずステップＳ１で、情報処理部２０は、ロボット制御部２２２によりロボット１０を駆動制御し、予め設定された第一の位置姿勢にセンサ部１１を移動する。ここで、第一の位置姿勢は、山積みされた対象物体３１をパレット３２の上方から撮影でき、且つパレット３２の全体を撮影できる位置姿勢とする。なお、センサ部１１の位置姿勢とロボット１０の座標系との相対的な位置関係は、予めキャリブレーション作業を実施して求まっているものとする。
【００３４】
次にステップＳ２では、情報処理部２０は、第一の位置姿勢でカメラ１１２が対象物体３１を撮影した二次元画像を、センサ情報取得部２１１によって取得し、ステップＳ３に移行する。
ステップＳ３では、情報処理部２０は、ステップＳ２で取得した二次元画像をもとに、三次元位置姿勢計測部２１３で対象物体３１の三次元位置姿勢を計測する。そして、情報処理部２０は、複数ある対象物体３１のうちの１つをピッキング作業の把持候補として選択する。選出する基準は、部品のＣＡＤモデルのフィッティング時の誤差の推定値等から決定することができる。
【００３５】
以下、フィッティングアルゴリズムについて説明する。
対象物体３１の位置姿勢を求めるために、モデル情報保持部２１２が保持しているモデル情報を参照し、対象物体３１の画像と当該モデル情報とのマッチングを行う。
モデル情報として三次元幾何モデルを利用する場合は、上述したように、三次元幾何モデルの表面の点群と、センサ情報取得部２１１から出力されたパターン画像から求めた距離画像点群との対応付けを行うことで対象物体の位置姿勢を求める。パターン画像から距離点群を求めるには、空間符号化法、光切断法などの技術を用いればよい。三次元幾何モデルの点群と距離画像点群との対応付けを行うために、ここではＩＣＰ法を用いる。
【００３６】
先ず、３次元幾何モデルの表面点群をＰとする。
Ｐ＝｛ｐ1，ｐ2，…，ｐNp｝  ………（１）
また、距離画像点群をＡとする。
Ａ＝｛ａ1，ａ2，…，ａNa｝  ………（２）
三次元幾何モデルの表面点群Ｐを変換して距離点群Ａに位置合わせする。点群Ｐの各点Ｐiに距離が最も近い点群Ａの点をｂi∈Ａとしたとき、下記（３）式の誤差関数を定義できる。ここで、Ｒとｔは、それぞれ姿勢パラメータと移動ベクトルである。
【００３７】
【数１】
2016099257.tif 000003
【００３８】
誤差関数Ｅを小さくするＲとｔを求め、下記（４）式による補正を行う。
Ｐ←ＲＰ＋ｔ  ………（４）
Ｐの収束判定を行い、収束していれば終了し、そうでなければ繰り返し補正計算を行う。収束判定では、Ｐがほとんど変化しないことをもって収束したと判定する。このように収束するまで繰り返すことで、位置姿勢を算出できる。
モデル情報として参照画像モデルを利用する場合は、参照画像モデルをテンプレートとしたテンプレートマッチングにより最も一致する参照画像を求め、その参照画像に対応付けられた対象物体との位置姿勢情報を元に対象物体の位置姿勢を求める。参照画像の距離値をＧ（ｉ，ｊ）、パターン画像から求めた距離画像の距離値をＤ（ｉ，ｊ）として、参照画像をｍ×ｎ画素の画像としたとき、一致度Ｕは下記（５）式で求めることができる。
【００３９】
【数２】
2016099257.tif 000004
【００４０】
以上により、複数の対象物体３１の位置姿勢と、ピッキング候補である対象物体３１の位置姿勢とを求める。
次にステップＳ４では、情報処理部２０は、ピッキング候補である対象物体３１に対するフィッティング誤差が予め設定した一定値以下であるか否かを判定する。ここでは、上記（５）式で求められる一致度Ｕが閾値以下であるか否かを判定する。
そして、一致度Ｕが閾値を超えている場合には、フィッティング誤差量が大きいため、対象物体３１の三次元計測のための再撮影が必要であると判断してステップＳ５に移行する。一方、一致度Ｕが閾値以下である場合には、フィッティングが問題なく成功しており、対象物体３１の再撮影は必要ないと判断して後述するステップＳ１２に移行する。
ステップＳ５では、情報処理部２０は、第一の位置姿勢での三次元計測結果をもとに、対象物体３１をより詳細に撮影するためのセンサ部１１（カメラ１１２）の位置である第二の計測位置を決定する。
【００４１】
例えば、センサ部１１を、カメラ１１２の光軸とプロジェクタ１１１の光軸とを含む面内で、対象物体３１を中心に第一の位置姿勢から所定角度回転させた位置を、第二の計測位置とする。例えば、カメラ１１２で撮影した画像中の対象物体３１部分に白とびが発生しない位置を、第二の計測位置として決定してもよい。また、カメラ１１２の光軸方向とプロジェクタ１１１の光軸方向とがなす角の二等分方向と、対象物体３１の面の法線方向とが所定の角度以上（例えば１０度以上）ずれている位置を、第二の計測位置として決定してもよい。さらに、三次元幾何モデルや参照画像モデルに予め計測するのに適切なセンサ部１１の位置姿勢を登録しておき、これを第二の計測位置として決定してもよい。
【００４２】
次にステップＳ６では、情報処理部２０は、図１２に示す第二の位置姿勢決定処理を実施により、第二の計測位置でのセンサ部１１の姿勢である第二の位置姿勢を決定する。ここで、第二の位置姿勢は、第二の計測位置でオクルージョン量の総量が最小となる姿勢とする。以下、第二の位置姿勢決定処理について具体的に説明する。
図１２に示すように、先ずステップＳ６１で、情報処理部２０は、上記のステップＳ２で求めた複数の対象物体３１の位置姿勢情報と、ピッキング候補の対象物体３１の位置姿勢情報とを取得する。また、情報処理部２０は、モデル情報保持部２１２が保持しているモデル情報を取得する。さらに、情報処理部２０は、センサ部１１のパレット３２に対する位置姿勢情報やセンサ部１１のキャリブレーション情報を取得する。
【００４３】
次にステップＳ６２で、情報処理部２０は、第二の位置姿勢の候補である姿勢候補を複数作成する。ここでは、図１３に示すように、例えばカメラ１１２のレンズの中心を通りレンズ面と直交する方向を撮影視線方向Ｚと定義し、当該撮影視線方向Ｚを軸として、カメラ１１２を中心にプロジェクタ１１１を回転させた位置を姿勢候補とする。より具体的には、図１４に示すように、カメラ１１２を中心にプロジェクタ１１１を２π／ｎ［ｒａｄ］ずつ回転させた位置を、それぞれ姿勢候補とする。ここで、上記ｎは、処理量と精度とから任意の値を決めるものとする。このように、ステップＳ６２では、ｎ個の姿勢候補を作成する。
【００４４】
次にステップＳ６３では、情報処理部２０は、ステップＳ６２で作成したｎ個の姿勢候補につき、上述したオクルージョン量評価手法を用いて、それぞれのオクルージョン量を算出する。
次にステップＳ６４では、情報処理部２０は、各姿勢候補のオクルージョン量を比較し、オクルージョン量が最小となる姿勢候補を第二の位置姿勢として選択する。
図１１に戻って、ステップＳ７では、情報処理部２０は、ロボット制御部２２２によりロボット１０を駆動制御し、上記のステップＳ６で決定した第二の位置姿勢にセンサ部１１を移動する。
【００４５】
次にステップＳ８では、情報処理部２０は、第二の位置姿勢でカメラ１１２が対象物体３１を撮影した二次元画像を、センサ情報取得部２１１によって取得し、ステップＳ９に移行する。
ステップＳ９では、情報処理部２０は、ステップＳ８で取得した二次元画像をもとに、上述したステップＳ３と同様の処理により、三次元位置姿勢計測部２１３で対象物体３１の三次元位置姿勢を計測する。なお、第二の位置姿勢は、周辺の障害物の配置状態を考慮した配置であるため、このステップＳ９では、オクルージョン量が少ない三次元計測が可能となる。そのため、ピッキング候補の対象物体３１の位置姿勢を比較的精度良く求めることができる。
【００４６】
次にステップＳ１０では、情報処理部２０は、三次元位置姿勢計測を繰り返すか否かを判定する。ここでは、例えば、ステップＳ９の計測結果をもとに、ピッキング候補である対象物体３１に対するフィッティング誤差が予め設定した一定値以下であるか否かを判定する。すなわち、上記（５）式で求められる一致度Ｕが閾値以下であるか否かを判定する。そして、フィッティング誤差が一定値を上回っている場合には、対象物体３１のピッキングが困難であり、再度、対象物体３１の三次元位置姿勢計測を繰り返す必要がある（繰り返し計測が必要である）と判断し、ステップＳ１１に移行する。
ステップＳ１１では、情報処理部２０は、上記ステップＳ６で決定した第二の位置姿勢を第一の位置姿勢として再設定し、上記ステップＳ５に戻る。すなわち、上記ステップＳ６で決定した第二の位置姿勢での計測結果をもとに、新たな第二の位置姿勢を決定し、新たな第二の位置姿勢で三次元位置姿勢計測を実施する。
【００４７】
一方、上記ステップＳ１０で、フィッティング誤差が一定値以下であると判断した場合には、対象物体３１のピッキングが可能であると判断してステップＳ１２に移行する。
なお、ステップＳ１０では、繰り返し計測の終了判定として、フィッティング誤差が一定値以下であるか否かを判定する場合について説明したが、例えば、第二の位置姿勢でのオクルージョン量（隠れ領域の大きさ）が閾値以下である場合や、第一の位置姿勢と第二の位置姿勢との差である位置姿勢変化量（センサ部１１の移動量）が閾値以下である場合に、繰り返し計測を終了すると判断してもよい。
【００４８】
ステップＳ１２では、情報処理部２０は、ロボット制御部２２２によりロボット１０を駆動制御し、ピッキング候補の対象物体３１に対する作業を指示する。すなわち、ロボット１０が対象物体３１を把持するハンド１３を有する場合には、ロボット制御部２２２がロボット１０に対して対象物体３１を把持するよう指示する。また、ロボット１０が対象物体３１を吸着するハンド１３を有する場合には、ロボット制御部２２２がロボット１０に対して対象物体３１を吸着するよう指示する。
【００４９】
次にステップＳ１３では、情報処理部２０は、ロボット１０による作業を終了するか否かを判定する。ここでは、例えば、オペレータからの終了指示があったか否かを判定する。そして、終了指示がなければ上記ステップＳ１に戻り、終了指示があれば処理を終了する。
なお、図１１に示す処理は、例えばオペレータが図示しない緊急停止ボタンを押すことにより強制的に終了することもできる。
なお、図１において、センサ部１１はセンサ手段の一例に相当し、位置姿勢変更機構１２は移動手段の一例に相当する。また、三次元位置姿勢計測部２１３は計測手段の一例に相当し、オクルージョン推定部２１４は算出手段の一例に相当し、センサ位置姿勢決定部２１５は決定手段の一例に相当する。さらに、ロボットコントローラ部２２０は制御手段の一例に相当する。また、図１１において、ステップＳ１０は繰り返し手段の一例に相当する。
【００５０】
以上のように、本実施形態では、プロジェクタ（投影手段）１１１とカメラ（撮像手段）１１２とを備えるセンサ部１１を用いて、対象物体３１の三次元位置姿勢計測を複数回行う。その際、先ず、図１５に示すように、第一の位置姿勢Ｐ１で複数の対象物体３１に関する三次元情報を取得し、複数の対象物体３１のうちピッキング候補となる対象物体（計測対象物体）３１１やその周辺の障害物３１２の三次元位置姿勢計測を行う。そして、その三次元位置姿勢計測結果に基づいて、第二の計測位置を決定する。この第二の計測位置は、センサ部１１を、対象物体３１１を中心にプロジェクタ１１１の光軸とカメラ１１２の光軸とを含む面内で所定角度回転させた位置であり、例えば図１０に示す位置に決定されたものとする。
【００５１】
しかしながら、図１０に示す状態では、プロジェクタ１１１から対象物体３１１を観察した場合、当該対象物体３１１は障害物３１２の後ろに隠れる。つまり、プロジェクタ１１１のパターン投影光は、障害物３１２によって遮蔽され、対象物体３１１に照射されない。このように、図１０に示す位置姿勢ではオクルージョンが発生し、カメラ１１２はプロジェクタ１１１のパターン投影光を撮影することができない。
このように、センサ部１１と対象物体３１１との相対的な姿勢関係によって、プロジェクタ１１１のパターン照明光による想定外のオクルージョンが発生すると、その領域では三次元位置姿勢計測が不可能になる。
【００５２】
そこで、本実施形態では、複数の視点からプロジェクタ１１１によって対象物体３１１を見たときの、当該対象物体３１１が遮蔽される隠れ領域をそれぞれ算出する。そして、算出した隠れ領域の大きさ（オクルージョン量）に基づいて、三次元計測に適したセンサ部１１の第二の位置姿勢を決定し、当該第二の位置姿勢にて対象物体３１１の三次元計測を行うようにする。
このように、対象物体３１１に対する隠れ領域を考慮してセンサ部１１の第二の位置姿勢を決定するので、第二の位置姿勢を有するセンサ部１１によって対象物体３１１に関する適切な三次元情報を取得することができる。そのため、オクルージョンの発生により対象物体３１１の位置姿勢（三次元形状）の計測精度が低下するのを抑制し、適切な三次元計測が可能となる。
【００５３】
このとき、第二の計測位置において、カメラ１１２の視線方向を軸とし、カメラ１１２を中心にプロジェクタ１１１を回転させて第二の位置姿勢を決定してもよい。具体的には、カメラ１１２を中心にプロジェクタ１１１を２π／ｎ［ｒａｄ］ずつ回転させたｎ個の姿勢候補について、それぞれオクルージョン量を推定し、第二の位置姿勢を決定することができる。これにより、比較的簡易に第二の位置姿勢の候補を作成することができ、容易にオクルージョンの発生状況をシミュレーションすることができる。
【００５４】
図１６に示すように、カメラ１１２の座標（位置）が図１０と同じであっても、プロジェクタ１１１の配置（姿勢）が適切であると、障害物３１２によって発生する隠れ領域３０１が対象物体３１１に掛かることはない。そのため、この図１６に示す位置姿勢では、対象物体３１１に投影されるプロジェクタ１１１のパターン投影光はオクルージョンの影響を受けることなくすべてカメラ１１２で観測することができる。
したがって、各姿勢候補のオクルージョン量が最小となる位置姿勢を検索する評価処理を行い、オクルージョン量が最小となる姿勢をセンサ部１１の位置姿勢の最適値である第二の位置姿勢として決定することが好ましい。そして、その第二の位置姿勢で対象物体３１１の三次元情報を取得し、三次元位置姿勢計測を行う。
このように、障害物３１２とセンサ部１１との幾何的配置によって発生する隠れ領域３０１のオクルージョン量３０２が最小になるようにセンサ部１１の第二の位置姿勢を決定するので、対象物体３１１の三次元位置姿勢計測を精度良く行うことができる。
【００５５】
また、この三次元位置姿勢計測は、規定の条件を満足するまで繰り返し実行することが好ましい。このとき、オクルージョン量が閾値以下となったり、第一の位置姿勢と第二の位置姿勢との差（センサ部１１の移動量）が閾値以下となったりした場合に、三次元位置姿勢計測の繰り返しを終了する。これにより、三次元情報を取得する回数を繰り返す毎に、対象物体に対する詳細な三次元位置姿勢計測結果を得ることができる。
そして、上記のように高精度に計測した対象物体３１１の位置姿勢に基づいて、ロボット１０の対象物体３１１への作業（例えば、把持や吸着）を制御するので、ロボット１０による上記作業の失敗を抑制し、効率的な作業を実現することができる。
【００５６】
（第二の実施形態）
次に、本発明の第二の実施形態について説明する。
この第二の実施形態は、対象物体３１内の形状に起因する微小オクルージョンを考慮して最適な位置姿勢を特定することで、第二の位置姿勢を決定するようにしたものである。
図１７は、第二の実施形態における対象物体３１の形状を示す図である。この図１７に示すように、対象物体３１は、ロボット１０のハンド１３によって把持される把持部３１ａを備える。この把持部３１ａは、対象物体３１の特徴部分である。
【００５７】
対象物体３１が図１７に示すように把持部３１ａを有する形状であると、把持部３１ａの接続部周辺にオクルージョンが発生する可能性がある。その例を図１８に示す。
センサ部１１の位置姿勢が図１８に示す状態にあり、カメラ１１２によってピッキング候補である対象物体３１１を撮影する場合、障害物３１２によるオクルージョンは発生しないものの、把持部３１１ａによって発生するオクルージョンが対象物体３１１上に発生する。このように、把持部３１１ａ周辺にオクルージョンが発生すると、ロボット１０が把持を行うときの場所の特定精度が低下してしまう。
【００５８】
そこで、本実施形態では、上述した第一の実施形態において実施した障害物３１２による隠れ領域を最小化するセンサ部１１の位置姿勢決定手法を、特徴部分である把持部３１１ａ周辺の隠れ領域３０１に適用する。すなわち、特徴部分である把持部３１１ａに関する隠れ領域３０１の大きさ（オクルージョン量）が最小となる位置姿勢を、第二の位置姿勢として決定する。
なお、第一の実施形態で示される障害物３１２による隠れ領域のオクルージョン量最小化のためのセンサ部１１の位置姿勢最適化手法と、第二の実施形態で示される把持部３１１ａ周辺の隠れ領域のオクルージョン量最小化のためのセンサ部１１の位置姿勢最適化手法とは、順次行ってもよいし、可能であれば同時に行ってもよい。
【００５９】
以上により、対象物体３１の形状に起因する微小オクルージョンに関して最適な位置姿勢を特定することができる。したがって、センサ部１１の第二の位置姿勢を適切に決定し、撮影精度を向上することが可能となる。このように、対象物体３１内の形状に起因する微小オクルージョン量を少なくすると、特徴部分である把持部３１１ａ周辺のオクルージョン量を低減させることが可能となり、ロボット１０が把持を行うときの場所の特定の精度が高まる。
また、把持部３１１ａのような局所的な形状は、画像処理（ＳＩＦＴ法、Ｈａｒｒｉｓ法、Ｃａｎｎｙ法など）において特徴量を持つ場合が多い。そのため、これらの画像特徴量が高くなる個所周辺のオクルージョン量が低減することは、モデルフィッティング等の処理においても精度向上が期待できる。
【００６０】
（第二の実施形態の変形例）
上記第二の実施形態においては、ロボット１０による作業として把持や吸着の例を挙げたが、把持を行う場合は、対象物体を把持する箇所（Ｎ本指のハンドであればＮ箇所のスペース）の位置姿勢を特に精度良く求めるようにしてもよい。また、吸着を行う場合は、対象物体を吸着する箇所（安定的な面）の位置姿勢を特に精度良く求めるようにしてもよい。この場合、把持する箇所、吸着する箇所の周囲に存在する特徴的な箇所を利用して上記第二の実施形態で述べた方法を利用する。
【００６１】
（第三の実施形態）
次に、本発明の第三の実施形態について説明する。
この第三の実施形態は、上述した第一及び第二の実施形態において、１台のセンサ部１１を第一の位置姿勢と第二の位置姿勢とに移動して対象物体３１の三次元情報を取得しているのに対し、センサ部を２台設置するようにしたものである。
図１９は、第三の実施形態におけるロボットシステム１００の構成例を示す図である。
本実施形態におけるロボットシステム１００は、図１に示すロボットシステム１００にセンサ部１４を追加したことを除いては、図１のロボットシステム１００と同様の構成を有する。したがって、ここでは構成の異なる部分を中心に説明する。
【００６２】
センサ部１４は、センサ部１１と同様にプロジェクタとカメラとを備え、対象物体３１に関する３次元情報を取得し、取得した３次元情報を画像処理部２１０のセンサ情報取得部２１１に出力する。センサ部１４は、上述した第一及び第二の実施形態における第一の位置姿勢で配置されている。
画像処理部２０は、第一の位置姿勢にあるセンサ部１４で取得した二次元画像に基づいて、対象物体３１の三次元位置姿勢計測を行う。そして、画像処理部２１０は、その三次元位置姿勢計測結果に基づいて、オクルージョン量の算出等を行い、その結果を用いてセンサ１１の最適な位置姿勢（第二の位置姿勢）を決定する。
【００６３】
このように、第一の位置姿勢で三次元情報を取得するセンサ部を、第二の位置姿勢で三次元情報を取得するセンサ部とは異なるセンサ部とする。センサ部１４とセンサ部１１の２台を用いて対象物体３１の三次元位置姿勢計測を行うことで、効率良く三次元情報を取得することができる。
なお、センサ部１４は、距離の算出や推定が可能な構成であれば、カメラのみを備え二次元情報を取得するセンサ部であってもよい。すなわち、第一の位置姿勢で取得する対象物体３１に関する情報は二次元情報であってもよい。この場合にも、センサ部１４で取得した二次元画像を解析したデータと、モデル情報保持部２１２が保持しているモデル情報とを利用して対象物体３１の位置姿勢を求めることができる。
【００６４】
その際、モデル情報として三次元幾何モデルを利用する場合は、三次元幾何モデルの辺である線と、上記に次元画像から抽出したエッジ成分との対応付けを行うことにより対象物体３１の位置姿勢を求めればよい。例えば、二次元画像に三次元幾何モデルが当てはまるように、対象物体３１の位置姿勢の概略値を反復演算によって繰り返し補正する。
モデル情報として参照画像モデルを利用する場合は、参照画像モデルをテンプレートとしたテンプレートマッチングにより最も一致する参照画像を求め、その参照画像に対応付けられた対象物体３１の位置姿勢情報に基づいて対象物体３１の位置姿勢を求めればよい。
【００６５】
（第四の実施形態）
次に、本発明の第四の実施形態について説明する。
この第四の実施形態は、対象物体に対してオクルージョンを発生させている障害物を特定し、隠れ領域を低減するようにしたものである。
図２０は、第四の実施形態におけるロボットシステム１００の構成例を示す図である。
本実施形態におけるロボットシステム１００は、図１に示すロボットシステム１００に障害物認識部２１６を追加した構成を有する。
【００６６】
障害物認識部２１６は、オクルージョン推定部２１４で推定したｎ個の姿勢候補でのオクルージョン量に基づいて、ピッキング候補を変更するか否かを判断する。具体的には、ｎ姿勢分のオクルージョン量が、いずれも予め設定した閾値以上である場合に、ピッキング候補を変更すると判断する。この場合、複数の対象物体３１の位置姿勢情報に基づいて、オクルージョン発生の原因（障害物）となっている対象物体３１を特定し、特定対象物体３１を新たなピッキング候補として設定する。
したがって、その後は、新たなピッキング候補（障害物）の三次元位置姿勢計測を行い、当該障害物のピッキングを行うことになる。
【００６７】
このように、本実施形態では、オクルージョンを発生させている障害物を特定し、当初ピッキング候補として選択していた対象物体をピックアップする前に、障害物を取り除く処理を行う。これにより、当初ピッキング候補として選択していた対象物体における隠れ領域を低減することができ、当該対象物体の三次元位置姿勢計測を精度良く行うことができる。
なお、ここでは、対象物体に対してオクルージョンを発生させている障害物を取り除く場合について説明したが、当該障害物を、対象物体に関する隠れ領域が小さくなる位置に移動させてもよい。図２０における障害物認識部２１６は特定手段の一例に相当する。
【００６８】
（情報処理部２０のハードウェア構成）
図２１は、情報処理部２０のハードウェア構成の一例である。
情報処理部２０は、ＣＰＵ２１と、ＲＯＭ２２と、ＲＡＭ２３と、外部メモリ２４と、入力部２５と、表示部２６と、通信Ｉ／Ｆ２７と、システムバス２８とを備える。
ＣＰＵ２１は、情報処理部２０における動作を統括的に制御するものであり、システムバス２８を介して、各構成部（２２〜２７）を制御する。
ＲＯＭ２２は、ＣＰＵ２１が処理を実行するために必要な制御プログラム等を記憶する不揮発性メモリである。なお、当該プログラムは、外部メモリ２４や着脱可能な記憶媒体（不図示）に記憶されていてもよい。
【００６９】
ＲＡＭ２３は、ＣＰＵ２１の主メモリ、ワークエリア等として機能する。すなわち、ＣＰＵ２１は、処理の実行に際してＲＯＭ２２から必要なプログラム等をＲＡＭ２３にロードし、当該プログラム等を実行することで各種の機能動作を実現する。
外部メモリ２４は、例えば、ＣＰＵ２１がプログラムを用いた処理を行う際に必要な各種データや各種情報等を記憶している。また、外部メモリ２４には、例えば、ＣＰＵ２１がプログラム等を用いた処理を行うことにより得られた各種データや各種情報等が記憶される。この外部メモリ１４は、上記のモデル情報保持部２１２を備える。
【００７０】
入力部２５は、例えばキーボードやマウス等により構成され、オペレータが入力部２５を介して当該情報処理部２０に指示を与えることができるようになっている。
表示部２６は、液晶ディスプレイ（ＬＣＤ）等のモニタで構成される。
通信Ｉ／Ｆ２７は、外部装置と通信するためのインターフェースである。
システムバス２８は、ＣＰＵ２１、ＲＯＭ２２、ＲＡＭ２３、外部メモリ２４、入力部２５、表示部２６及び通信Ｉ／Ｆ２７を通信可能に接続する。
上述した第一から第四の実施形態における情報処理部２０の各部の機能は、ＣＰＵ２１がＲＯＭ２２もしくは外部メモリ２４に記憶されたプログラムを実行することで実現される。
【００７１】
（変形例）
上記各実施形態においては、センサ部１１を、プロジェクタ（投影手段）１１１とカメラ（撮像手段）１１２とを有するセンサとする場合について説明したが、三角測量の原理を用いて対象物体３１に関する三次元情報を取得可能な構成であればよく、例えば、視野の少なくとも一部が重複する複数のカメラ（撮像手段）を有するセンサ部であってもよい。この場合にも、複数のカメラの視差の影響により発生するオクルージョンを考慮してセンサ部の位置姿勢を決定することで、適切な三次元計測が可能となる。
【００７２】
また、上記各実施形態においては、センサ部１１の位置姿勢を変更する手段としてロボット１０を用いる場合について説明したが、位置姿勢変更手段はロボット１０に限らない。例えば、直動ステージと回転ステージとを組み合わせた機構部にセンサ部１１を搭載し、ステージの制御によって位置姿勢を変更してもよい。このように、対象物体に対して作業を行うロボット１０とは別に，位置姿勢変更手段を設けてもよい。
さらに、上記各実施形態においては、センサ部１１で撮影した画像を画像処理部２１０で処理する場合について説明したが、センサ部１１内に画像処理機構を持たせて画像処理した結果を出力するようにしてもよい。
【００７３】
（その他の実施形態）
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【符号の説明】
【００７４】
１０…ロボット、１１…センサ部、１１１…プロジェクタ、１１２…カメラ、１２…位置姿勢変更機構、１３…ハンド、２０…情報処理部、２１０…画像処理部、２１１…センサ情報取得部、２１２…モデル情報保持部、２１３…三次元位置姿勢計測部、２１４…オクルージョン推定部、２１５…センサ位置姿勢決定部、２１６…障害物認識部、２２０…ロボットコントローラ部、２２１…ロボット作業指示部、２２２…ロボット制御部、３０…被計測対象物、３１…対象物体、３２…パレット
【図１】
2016099257.tif 000005
【図２】
2016099257.tif 000006
【図３】
2016099257.tif 000007
【図４】
2016099257.tif 000008
【図５】
2016099257.tif 000009
【図６】
2016099257.tif 000010
【図７】
2016099257.tif 000011
【図８】
2016099257.tif 000012
【図９】
2016099257.tif 000013
【図１０】
2016099257.tif 000014
【図１１】
2016099257.tif 000015
【図１２】
2016099257.tif 000016
【図１３】
2016099257.tif 000017
【図１４】
2016099257.tif 000018
【図１５】
2016099257.tif 000019
【図１６】
2016099257.tif 000020
【図１７】
2016099257.tif 000021
【図１８】
2016099257.tif 000022
【図１９】
2016099257.tif 000023
【図２０】
2016099257.tif 000024
【図２１】
2016099257.tif 000025