説明

情報処理装置及び情報処理方法

【課題】計測装置と計測対象物体との間の位置または/及び姿勢の関係があいまい性を含んだ場合であっても、高精度に物体の位置姿勢を計測できるようにする。
【解決手段】撮像時刻におけるロボットのモーション情報から、撮像装置と対象物体の位置姿勢移動量に変換して計測データとして位置姿勢更新に用いる。ロボットのモーション差分という確度の高い情報を計測データとして加えることにより、精度および安定性を向上させるようにする。また、撮像時刻の異なる距離画像と濃淡画像の幾何的関係を、ロボットアームの軌跡情報を用いて求めることで、両者の情報を同時に利用して位置姿勢推定を行うようにすることにより、全体のデータを同時に用いることを可能にする。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は情報処理装置及び情報処理方法に関し、特に、3次元形状が既知である物体の位置及び姿勢を計測するために用いて好適な技術に関する。
【背景技術】
【0002】
近年、これまで人間が行っていた工業製品の組立のような複雑なタスクをロボットが代わりに行うようになりつつある。ロボットによる工業製品の組立では、ハンドなどのエンドエフェクタによって部品を把持するために、部品とロボット(ハンド)との間の相対的な位置及び姿勢を高精度に計測する必要がある。高精度に物体の位置姿勢を計測できる技術として、カメラから得られる2次元画像(濃淡画像・カラー画像)と距離センサから得られる距離画像を同時に利用して位置姿勢を推定する技術が、以下に示す文献で開示されている。
【0003】
非特許文献1では、時系列的に入力される2次元画像と距離画像に対し、2次元画像上の特徴を奥行きが不定な3次元の点として扱う。そして、2次元画像上の特徴と3次元モデルとの誤差、距離画像中の3次元点と3次元モデルとの誤差が小さくなるように、カルマンフィルタを用いて物体の位置及び姿勢を更新する手法が開示されている。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2005−201824号公報
【非特許文献】
【0005】
【非特許文献1】Y. Hel‐Or and M. Werman, "Pose estimation by fusing noisy data of different dimensions, " IEEE Transactions on Pattern Analysis and Machine Intelligence, vol.17,no.2, pp.195−201, 1995.
【発明の概要】
【発明が解決しようとする課題】
【0006】
従来手法である2次元画像と距離画像を併用する物体位置姿勢推定技術は、撮像装置が自由運動することを想定した手法であるため、時系列的に入力される計測データ間の相対幾何関係は未知であるものとして推定を行っていた。そのため、撮像時刻間に撮像装置が大幅に移動するような場合には、安定性が損なわれる、または、推定精度が低下するなどの問題が発生していた。
【0007】
一方、ロボットアーム上に撮像装置を設置して当該装置を移動させながら物体を計測する場合。あるいは、ロボットアームが把持して移動している物体を固定した撮像装置で計測するような場合には、撮像時刻間における撮像装置または計測対象物体の移動を観測する情報として、ロボットのモーション情報を参照することが可能である。
【0008】
ロボットによるモーション情報は、ロボットの制御における繰り返し精度に基づく誤差やキャリブレーション精度に基づく誤差などの誤差要因を含みながらも、位置姿勢推定に利用する情報として確度の高い有用な情報である。しかし、従来手法では、ロボットのモーション情報が得られる場合においても、ロボットモーションを観測情報として有効に利用することはできなかった。
【0009】
また、単純にモーション情報を利用する方策としては、現状の概略位置姿勢に、モーション情報より得られた位置姿勢差分を加えるなどして位置姿勢を推定する技術として、例えば特許文献1にて提案されているモーションステレオと呼ばれる技術が公知としてある。
【0010】
しかし、前述したように、ロボットモーションの情報も一定のあいまい性を含んだ情報であるため、そのあいまい性を考慮した上で、位置姿勢の更新を行えることが望ましい。本発明は前述の問題点に鑑み、計測装置と計測対象物体との間の位置または/及び姿勢の関係があいまい性を含んだ場合であっても、高精度に物体の位置姿勢を計測できるようにすることを目的とする。
【課題を解決するための手段】
【0011】
本発明の情報処理装置は、撮像装置を用いて被測定物体の位置姿勢を推定する情報処理装置であって、被測定物体の幾何的特徴を表す3次元形状モデルのデータを保存する3次元形状モデル保存手段と、被測定物体を撮像した画像を取得する画像入力手段と、前記撮像装置と被測定物体との間の相対的な概略位置姿勢を入力する概略位置姿勢入力手段と、前記概略位置姿勢をもとにして、前記画像に対して前記3次元形状モデルを当てはめることで、前記概略位置姿勢を更新する第1の位置姿勢更新手段と、前記撮像装置が被測定物体を撮像した時刻、または前回の位置姿勢差分情報の取得時刻以降に、前記撮像装置または被測定物体が移動した位置姿勢差分量を算出して取得する位置姿勢差分情報入力手段と、前記概略位置姿勢をもとにして、前記位置姿勢差分量に基づいて、前記概略位置姿勢を更新する、第2の位置姿勢更新手段とを備えることを特徴とする。
【発明の効果】
【0012】
本発明によれば、2次元画像または距離画像の撮像間において計測対象物体または計測装置の移動に伴うロボットのモーション情報が得られる場合、2次元画像と距離画像に加え、撮像時刻間におけるロボットのモーション情報も観測情報として併用するようにした。これにより、高精度な対象物体の位置姿勢推定を行うことが可能となる。
【図面の簡単な説明】
【0013】
【図1】本発明の実施形態における情報処理装置の構成を示す図である。
【図2】ロボットアームと撮像装置、計測対象部品との関係を説明する図である。
【図3】位置姿勢推定方法の処理手順を示すフローチャートである。
【発明を実施するための形態】
【0014】
以下、添付図面を参照して本発明の好適な実施形態について詳細に説明する。
[第1の実施形態:ハンドアイロボット系による実施形態]
本実施形態では、本発明の情報処理装置を、図2(a)に示すような撮像装置が先端に装着されたロボットアームが移動しながら、固定された計測対象物体50を撮像するシーンにおいて、物体位置姿勢推定手法に適用した場合について説明する。
【0015】
本実施形態では、1回の計測は、濃淡画像撮像、距離画像撮像、ロボットモーションの取得という順番で行う。まず、画像(濃淡画像もしくは距離画像)の計測においては、取得される度に画像に対する3次元形状モデルの当てはめに基づく、計測対象物体(被測定物体)50の位置姿勢更新を行う。
【0016】
そして、ロボットアームが移動することによって発生する、撮像間における撮像装置の位置姿勢差分量をロボットアームのモーション情報から取得し、モーション情報に基づいた計測対象物体50の位置姿勢更新を行う。濃淡画像・距離画像の情報に加え、ロボットのモーションに基づく情報も用いて、計測対象物体50の位置姿勢の更新処理を行うことで、計測対象物体50の位置姿勢の推定を高精度に行う。
【0017】
図1は、本発明の実施形態に係わる情報処理装置1の構成の一例を示す図である。情報処理装置1は3次元形状モデル保存部110と、画像入力部120と、概略位置姿勢入力部130と、位置姿勢差分情報入力部140と、第1の位置姿勢更新部150、第2の位置姿勢更新部160とを具備して構成される。
【0018】
また、3次元形状モデル保存部110は、計測対象物体の幾何的特徴を表す3次元形状モデルのデータを保存し、第1の位置姿勢更新部150に接続されている。2次元画像撮像装置20は、画像入力部120に接続されている。距離画像撮像装置30は、画像入力部120に接続されている。ロボット40は、位置姿勢差分情報入力部140に接続されている。なお、本実施形態では、3次元形状モデル保存部110に保存された3次元形状モデルデータ10が、現実に撮像される計測対象物体50の形状に即していることが情報処理装置1を適用できる条件となる。
【0019】
次に、情報処理装置1を構成する各部について説明する。
3次元形状モデルデータ10(以下、3次元形状モデルと呼称する)は、計測対象となる物体(以下、計測対象物体50、又は単に物体と呼ぶ場合もある)の形状を表す3次元幾何情報である。3次元形状モデル10は、点の集合や各点を結んで構成される面の情報、面を構成する線分の情報によって定義される。3次元形状モデル10は、3次元形状モデル保存部110に保存され、第1の位置姿勢更新部150に入力される。
【0020】
2次元画像撮像装置20は、通常の2次元画像を撮影するカメラである。撮影される2次元画像は濃淡画像であってもよいしカラー画像であってもよい。本実施形態では2次元画像撮像装置20は濃淡画像を出力する。2次元画像撮像装置20が撮影する画像は画像入力部120を介して情報処理装置1に入力される。
【0021】
カメラの焦点距離や主点位置、レンズ歪みパラメータなどの内部パラメータは、使用する機器の仕様を参照するか、または、[R. Y. Tsai, "A versatile camera calibration technique for high−accuracy 3D machine vision metrology using off−the−shelf TV cameras and lenses, " IEEE Journal of Robotics and Automation, vol.RA−3, no.4, 1987.]で開示される方法によって事前にキャリブレーションしておく。
【0022】
距離画像撮像装置30は、計測対象である物体表面上の点の3次元情報を計測する距離データ計測部として機能するものであり、本実施形態においては、距離画像撮像装置30として距離画像を出力する距離センサを用いる。距離画像は、各画素が奥行きの情報を持つ画像である。本実施形態では、距離センサとしては、波長の異なる色IDを付与したマルチスリットラインを対象に照射、その反射光をカメラで撮像して三角測量によって距離計測を行うワンショットアクティブ式のものを利用する。
【0023】
しかしながら、距離センサはこれに限るものではなく、光の飛行時間を利用するTime−of−flight方式であってもよい。また、ステレオカメラが撮影する画像から三角測量によって各画素の奥行きを計算するパッシブ式であってもよい。その他、距離画像を計測するものであればいかなるものであっても本発明の本質を損なうものではない。
【0024】
距離画像撮像装置30が計測した距離画像は、画像入力部120を介して情報処理装置1に入力される。また、距離画像撮像装置30と2次元画像撮像装置20の光軸は一致しており、2次元画像撮像装置20が出力する濃淡画像の各画素と、距離画像撮像装置30が出力する距離画像の各画素の対応は既知であるとする。
【0025】
ロボット40は、回転または並進移動軸からなる可動軸を複数有し、2次元画像撮像装置20及び距離画像撮像装置30からなる撮像装置の位置姿勢を変更するための可動機器である。以下、2次元画像撮像装置20と距離画像撮像装置30を合わせた機器を撮像装置230と呼称する。本実施形態では、アーム先端に撮像装置を装着した、6軸の回転可動軸により構成される6自由度ロボットアームを用いる。
【0026】
ロボット40の6軸可動軸の情報は、位置姿勢差分情報入力部140を介して、情報処理装置1に入力される。アーム先端に装着された撮像装置230の、アーム先端から撮像装置230までの位置姿勢は、撮像装置230のオフセット位置姿勢としてあらかじめ算出しておき、以後変化しないものとして保持する。撮像装置230の位置姿勢は、アーム先端の位置姿勢からオフセット位置姿勢をかけることで算出できる。
【0027】
なお、ロボット40として用いる機器はこれに限るものではく、例えば、7軸回転軸を有する垂直多関節型ロボットであってもよいし、スカラ型ロボットやパラレルリンクロボットであってもよい。その他、回転または並進移動軸からなる可動軸を複数有し、モーション情報が取得できる限り、いかなる形式のロボットであってもよい。
【0028】
概略位置姿勢入力部130は、撮像装置230に対する物体の位置及び姿勢の概略値を入力する。本実施形態では、情報処理装置1は時間軸方向に連続して計測を行うものとして、前回(前時刻)の計測値を概略の位置及び姿勢として用いる。しかしながら、位置及び姿勢の概略値の入力方法はこれに限るものではない。
【0029】
例えば、様々な姿勢で撮像した対象物体の画像をテンプレートとして保持しておき、入力する画像に対してテンプレートマッチングを行うことによって、対象物体の大まかな位置と姿勢を推定してもよい。あるいは、他のセンサによる物体の位置及び姿勢の計測が可能である場合には、該センサによる出力値を位置及び姿勢の概略値として用いてもよい。
【0030】
センサは、例えばトランスミッタが発する磁界を物体に装着するレシーバで検出することにより位置及び姿勢を計測する磁気式センサであってもよい。また、物体上に配置されたマーカをシーンに固定されたカメラによって撮影することにより位置及び姿勢を計測する光学式センサであってもよい。その他、6自由度の位置及び姿勢を計測するセンサであればいかなるセンサであってもよい。また、物体の置かれているおおよその位置や姿勢があらかじめわかっている場合にはその値を概略値として用いる。
【0031】
位置姿勢差分情報入力部140は、2次元画像または距離画像の撮像時刻、または、ロボット40からの位置姿勢差分情報の取得時刻以降の間に、ロボット40が移動した位置姿勢差分量を入力する。本実施形態では、ロボット40内の制御モジュールからアーム先端の位置及び姿勢が直接取得できる場合を前提として、撮像時刻間のアーム先端位置姿勢の差分から位置姿勢差分量を算出する。
【0032】
しかしながら、撮像時刻間の撮像装置230の移動量を算出する方法は、これに限るものでない。例えば、ロボット40の可動軸に合わせて装着されたロータリーエンコーダから各軸回転量を取得する。そして、各軸回転量とロボット40のリンク長さから、順運動学計算によりアーム先端位置の位置及び姿勢を算出することにより、アーム先端に設置された撮像装置230の位置姿勢差分量を計算してもよい。撮像時刻間に移動するアーム先端の位置姿勢差分量が算出できる限り、いずれの手法でもよい。
【0033】
第1の位置姿勢更新部150では、2次元画像撮像装置20及び距離画像撮像装置30により撮像された濃淡画像または距離画像に対して、3次元形状モデル保存部110に保存された3次元形状モデル10を対応付ける。そして、得られた観測データを用いて、計測対象物体50の位置及び姿勢の概略値を基に、計測対象物体50の位置及び姿勢を更新する。第1の位置姿勢更新部150は、2次元画像による概略位置姿勢の更新と、距離画像による概略位置姿勢の更新とを交互に行う。処理の詳細については後述する。
【0034】
第2の位置姿勢更新部160では、第1の位置姿勢更新部150により更新された計測対象物体50の位置及び姿勢を基に、位置姿勢差分情報入力部140により取得された位置姿勢差分情報を用いて、計測対象物体50の位置及び姿勢を更新する。処理の詳細については後述する。
【0035】
以上が、情報処理装置1の構成の一例についての説明である。なお、情報処理装置1には、コンピュータが内蔵されている。コンピュータには、CPU等の主制御手段、ROM(Read Only Memory)、RAM(Random Access Memory)、HDD(Hard Disk Drive)等の記憶手段が具備される。また、コンピュータにはその他、ボタンやディスプレイ又はタッチパネル等の入出力手段、ネットワークカード等の通信手段等も具備されていてもよい。なお、これら各構成部は、バス等により接続され、主制御手段が記憶手段に記憶されたプログラムを実行することで制御される。
【0036】
次に、本実施形態における位置姿勢推定方法の処理手順について説明する。図3は、本実施形態における位置姿勢推定方法の処理手順を示すフローチャートである。
まず、S301では初期化を行う。初期化では、概略位置姿勢入力部130により、濃淡画像撮像時刻における撮像装置230と物体との相対的な位置姿勢の概略値を取得する。本実施形態では、前述したように、前の時刻において計測された位置及び姿勢を、計測対象物体50の概略位置姿勢として用いる。
【0037】
次に、S302では濃淡画像の撮像を行う。2次元画像撮像装置20から濃淡画像を撮像する。濃淡画像の撮像が終了したら、S302の処理を終了し、S303に進む。
S303では、第1の位置姿勢更新部150により、S301で入力された計測対象物体50の概略位置姿勢を元に、S302において入力された濃淡画像に対して、3次元形状モデル10が当てはまるように、計測対象物体50の位置姿勢の更新処理を行う。以下、S303における濃淡画像による位置姿勢更新処理について詳細を述べる。
【0038】
まず、計測対象物体50の概略位置姿勢に基づいて、S302において撮像された濃淡画像上のエッジと3次元形状モデル10との対応付けを行う。計測対象物体50の概略位置姿勢と校正済みの2次元画像撮像装置20の内部パラメータを用いて、3次元形状モデル10の各線分を画像へ投影し、画像上で検出されたエッジと、3次元形状モデル10とを対応付けする。エッジが、各制御点に対応して複数検出された場合には、複数検出されたエッジのうち、投影された線分に対して画像上で最も近いエッジを対応付ける。
【0039】
次に、算出した対応データに基づき、3次元形状モデル10中の各線分と濃淡画像上のエッジとの濃淡画像上の誤差が小さくなるように、計測対象物体50の概略位置姿勢を元に、位置姿勢の更新処理を行う。本ステップでは、先に算出した対応データに基づき、濃淡画像上に検出されたエッジの座標を観測データとして用いた拡張カルマンフィルタによるフィルタリング処理により、位置姿勢の更新を行う。以下、拡張カルマンフィルタに基づく計測対象物体50の位置姿勢更新処理について詳細を述べる。
【0040】
まず、カルマンフィルタの状態空間モデルは、次の状態の予測を行う状態遷移方程式と、状態と観測の関係を表す観測方程式からなる。ここで、本実施形態では、カルマンフィルタによる状態の推定を、フレーム内における対応データによる位置姿勢更新にのみ用いるものとし、フレーム間の時系列的フィルタリングは行わないものとして定式化を行う。計測対象物体50の状態には特定の運動モデルを仮定せず、静止モデルを適用し、状態ベクトルも位置及び姿勢の6自由度のみを保持する。まず、状態遷移方程式は以下の形で定義される。
【0041】
【数1】

【0042】
ここで、xiは状態ベクトル、Fは状態遷移行列、wはシステムノイズ、iはカルマンフィルタに入力する観測データ(濃淡画像上で検出されたエッジ)のインデックスを表す。システムノイズwの誤差共分散Σwは更新間において混入する想定外の誤差を表すパラメータであり、一般的にチューニングパラメータとなる。本実施形態では、システムノイズの共分散行列は、零行列として与えるものとする。次に、状態ベクトルは、以下の位置及び姿勢からなる6自由度で定義する。
【0043】
【数2】

【0044】
ここで、tx、ty、tzはそれぞれx軸、y軸、z軸方向の位置、wx、wy、wzはそれぞれx軸、y軸、z軸に沿った回転を表す。また、状態ベクトルは位置・姿勢のみを保持するため、状態遷移行列は単位行列になる。一方、観測方程式は、以下の形で定義される。
【0045】
【数3】

【0046】
ここで、yiは観測ベクトル(濃淡画像上で検出されたエッジの座標)、h(xi)は、xiの状態における画像による観測(すなわち、3次元形状モデル10の濃淡画像上への投影)を表す式、vは、観測ノイズを表す。観測ノイズの共分散行列Σvは観測ベクトルのあいまい性を定義するパラメータである。本ステップの場合、濃淡画像中に検出されたエッジ座標のあいまい性を表している。検出座標のあいまい性は、濃淡画像の撮像環境やエッジ検出方法に大きく影響されるパラメータである。本実施形態では、平均0、標準偏差0.5画素のノイズが乗るものとして観測ノイズの共分散行列Σvを定義する。
【0047】
拡張カルマンフィルタの処理では、以上に定義した状態遷移方程式と観測方程式に基づいて予測と更新を繰り返すことで、状態ベクトル(すなわち、計測対象物体50の位置姿勢)の更新を行う。以下、予測ステップと更新ステップの処理の詳細について、述べる。まず、予測ステップでは、状態ベクトルとその誤差共分散Piの予測を行う。状態ベクトルの予測は、以下の式により処理を行う。
【0048】
【数4】

【0049】
状態遷移行列が単位ベクトルのため、予測ステップにおいて状態ベクトルの値は変化しない。状態ベクトルの誤差共分散Piの予測処理は、先に定義したシステムノイズの誤差共分散Σwを用いて、以下の式で行う。
【0050】
【数5】

【0051】
ここで、予測処理の最初期の段階では、誤差共分散行列Piの初期値を与える必要がある。状態ベクトルの誤差共分散Piは、現在の状態ベクトルがどれだけあいまい性を持つかを表すパラメータであるため、その初期値の設定により、以後の観測データによる更新量が大きく左右されることになる。
【0052】
定性的には、誤差共分散が大きいと観測データによる更新が大きく、誤差共分散が小さいと観測データによる更新が小さく行われる。本実施形態では、誤差共分散の初期値P0の設定では、画像撮像間に発生する計測対象物体50の想定外のずれを考慮し、平均0、位置に関する標準偏差が計測対象物体50のサイズ10%、姿勢に関する標準偏差が10度の範囲であいまい性があるとして設定する。
【0053】
次に、更新ステップでは、観測データに基づく状態ベクトルとその誤差行分散の更新を行う。状態ベクトルの更新は以下の式により処理が行われる。
【0054】
【数6】

【0055】
Kiは観測データから算出される誤差にかかるカルマンゲインである。カルマンゲインは、先に定義した観測ノイズの共分散行列Σvを用いて、以下の式により算出する。
【0056】
【数7】

【0057】
ここで、Hは、画像による観測を表す式h(x)をxiにより偏微分したものであり、一般的には画像ヤコビアンと呼ばれる。画像による観測を表す式h(x)とエッジによる誤差計量方法及びエッジに基づく画像ヤコビアンの導出に関しては、本発明の本質に関わるものではないため、詳細な説明は省略する。処理の詳細については、[立野、小竹、内山、"実部品のビンピッキングのための距離・濃淡画像を最尤に統合する高精度高安定なモデルフィッティング手法"、第13回画像の認識・理解シンポジウム(MIRU2010)、OS5−1、2010]を参照されたい。また、状態ベクトルの誤差共分散行列の更新は以下の式により処理が行われる。
【0058】
【数8】

【0059】
以上に示す予測ステップと更新ステップの処理を、得られた観測データ(濃淡画像上で検出されたエッジ)の分だけ繰り返すことで、計測対象物体50の位置姿勢の更新を行う。全ての観測データによる更新処理が終了したら、S303の処理を終了し、S304に進む。
【0060】
S304では、距離画像撮像装置30からの距離画像の取得を行う。本実施形態では、距離画像は撮像装置230から計測対象物体50の表面までの距離が格納されているものとする。前述のように、2次元画像撮像装置20と距離画像撮像装置30の光軸は一致しているため、濃淡画像の各画素と距離画像の各画素の対応は既知である。
【0061】
次に、S305では、第1の位置姿勢更新部150により、S303で更新された計測対象物体50の位置姿勢を元に、S304において入力された距離画像に対して、3次元形状モデル10が当てはまるように、計測対象物体50の位置姿勢の更新処理を行う。以下、S305における距離画像による位置姿勢更新処理について詳細を述べる。
【0062】
まず、S303で更新された計測対象物体50の位置姿勢に基づいて、S304において計測された距離画像中の3次元点群と、3次元形状モデル10との対応付けを行う。計測対象物体50の位置姿勢と校正済みの距離画像撮像装置30の内部パラメータを用いて、3次元形状モデル10を構成する各面を、距離画像上に投影する。そして、投影した各面に対応する距離画像上の距離点群を、各面に対応する3次元点として保持する。
【0063】
次に、検出した対応データに基づき、3次元形状モデル10中の各面に対応する距離画像中の3次元点との3次元空間中の誤差が小さくなるように、S303で更新された計測対象物体50の位置姿勢を元に、位置姿勢の更新処理を行う。本ステップでは、検出した対応データに基づき、3次元モデル中の各面に対応した距離画像上の距離点の座標を観測データとして用いた拡張カルマンフィルタによるフィルタリング処理を行うことにより、位置姿勢の更新を行う。本ステップで用いる、状態ベクトルxjは、S303において更新に用いた状態ベクトルxiを継続して用いるものとする。
【0064】
一方、S304における位置姿勢推定後に計測対象物体50に未知のずれが発生することを考慮し、誤差共分散Pjに関しては、S303において記述した誤差共分散の初期化を行う。本処理に関する、処理の大枠は、S303と同様である。S303における処理との違いは、観測値の誤差共分散行列Σvと、観測を表す式h(x)、計測データの誤差計量方法及び計測データに基づく画像ヤコビアンの4点である。
【0065】
まず、観測ノイズの誤差共分散Σvは、距離画像中の距離点群の観測におけるあいまい性を表す。距離点群のあいまい性は、距離画像撮像装置30の距離撮像方式や撮像環境に大きく影響するパラメータである。本実施形態では、距離点群の観測値の誤差共分散Σvは、平均0、標準偏差1mmのノイズが乗るものとして設定する。
【0066】
また、h(x)は3次元空間中の観測を表す式に、観測データの誤差計量方法は、3次元点と3次元面に関する誤差計量に、画像ヤコビアンは、3次元面と点に基づく画像ヤコビアンに置き換えて処理を行う。
【0067】
以上に示すh(x)と誤差計量方法及び画像ヤコビアンの導出に関しては、本発明の本質に関わるものではないため、詳細な説明は省略する。処理の詳細については、[立野、小竹、内山、"実部品のビンピッキングのための距離・濃淡画像を最尤に統合する高精度高安定なモデルフィッティング手法"、第13回画像の認識・理解シンポジウム(MIRU2010)、OS5−1、2010]を参照されたい。S303と同様に、得られた観測データ(3次元形状モデル10中の各面に対応した距離画像上の距離点群)の分、予測ステップと更新ステップの処理を繰り返すことで、計測対象物体50の位置姿勢の更新を行う。全ての観測データによる更新処理が終了したら、S305の処理を終了し、S306に進む。
【0068】
S306では、位置姿勢差分情報入力部140から、S304における距離画像撮像以降に、撮像装置230が移動した位置姿勢差分量の算出を行う。まず、位置姿勢差分情報入力部140を介し、ロボット40内の制御モジュールからロボットアーム先端の位置姿勢を取得する。そして、ロボットアーム先端から撮像装置230までの位置姿勢オフセットをかけることで、S304における距離画像の撮像時刻と、現時刻(S306における時刻)の撮像装置230の位置姿勢を計算する。そして、両時刻における撮像装置230の位置姿勢の差分を求めることで、距離画像撮像時刻以降に撮像装置230が移動した位置姿勢差分量を算出する。
【0069】
次に、S307では、第2の位置姿勢更新部160により、S305で更新された計測対象物体50の位置姿勢を元に、S306において算出された位置姿勢差分量に基づいて、計測対象物体50の位置姿勢の更新処理を行う。以下、位置姿勢差分量に基づく位置姿勢更新処理について詳細を述べる。
【0070】
本ステップでは、S305で更新された計測対象物体50の位置姿勢を元に、S306において算出された位置姿勢差分量とそのあいまい性に基づいて、位置姿勢の更新処理を行う。まず、状態ベクトルxは、S303において更新に用いた状態ベクトルxjを継続して用いるものとする。
【0071】
一方、S306における位置姿勢推定後に計測対象物体50に未知のずれが発生することを考慮し、誤差共分散Pに関しては、S303において記述した誤差共分散の初期化を行う。本処理に関する、処理の流れの大枠は、S303と同様である。大きく異なる点としては、観測方程式が線形方程式になるという点である。本ステップにおける観測方程式は、以下の形で定義される。
【0072】
【数9】

【0073】
ここで、yは観測ベクトル(位置姿勢差分行列による更新結果の位置及び姿勢)、Hは観測行列(単位行列)、vは、観測ノイズを表す。ここでの観測ノイズの共分散Σvは、観測ベクトル(すなわち、S306において算出された位置姿勢差分量)のあいまい性を定義するパラメータである。本実施形態においては、ロボットアームの先端位置姿勢の差分として位置姿勢差分量を求めているため、そのあいまい性は、ロボットアームの先端位置姿勢のあいまい性と同義となる。
【0074】
ロボットアームの先端位置姿勢のあいまい性は、アーム剛性やギアのバックラッシュなどの機構的要因、モータの制御精度や機構的振動の抑制による影響などの制御的要因といった多様な要因によって発生する。定性的には、可動軸が多軸になるほど、可動軸の方向が同じ方向に重なるほど、そのあいまい性は高くなるといえる。
【0075】
本実施形態では、位置及び姿勢の6自由度空間において等方誤差が乗ることを想定し、位置姿勢差分量のあいまい性は、平均0、標準偏差は、位置姿勢差分量の1%の範囲であいまい性があるものとして設定する。また、本ステップにおける更新式は、S303及びS305と同様である(式6)、(式7)、(式8)。ただし、(式7)及び(式8)におけるHに関しては、画像ヤコビアンではなく、(式9)における観測行列をそのまま用いる。
【0076】
また、S303及びS305では、3次元形状モデル10に対応したエッジまたは距離点群の数だけ観測データがあったが、本ステップにおける観測データは、S306において算出された位置姿勢差分量のみである。そのため、1観測ベクトル分の予測ステップと更新ステップの処理を行って、計測対象物体50の位置姿勢の更新を行う。位置姿勢差分量に基づく更新処理が終了したら、S307の処理を終了し、S308に進む。
【0077】
S308では、S307で推定された位置姿勢に基づいて、ロボット40に制御指令値を出力する。本実施形態では、S304において推定する前の計測対象物体50の位置姿勢と、S307における推定後の計測対象物体50の位置姿勢との差分を、ロボット座標系に変換することによって、ロボット40に出力する制御指令値を計算する。そして、制御指令値をロボット40の制御モジュールに出力することで、ロボット40のアーム先端を計測対象物体50へと移動させるべく、操作を行う。ロボット40への制御指令値を出力したら、S308の処理を終了し、S309に進む。
【0078】
S309では、本位置姿勢推定処理の動作を終了する入力がなされたかどうかを判定する。入力された場合には終了し、入力されなかった場合にはS302に戻り、新たな画像を取得して再度位置姿勢算出を行う。
【0079】
前述したように、本実施形態では、2次元画像または距離画像の撮像間において計測対象物体50または計測装置の移動に伴うロボット40のモーション情報が得られる場合において、次のようにした。すなわち、2次元画像と距離画像に加え、撮像時刻間におけるロボット40のモーション情報も観測情報として併用するようにした。これにより、高精度な対象物体の位置姿勢推定を行うことを可能とした。
【0080】
[第1の変形例:観測データの取得順番は問わない例]
前述の実施形態では、観測データの取得順として、濃淡画像を撮影した後、距離画像を撮影し、その後、ロボット40のモーション情報を取得する事例について説明した。しかしながら、観測データの取得順は、特に制限があるものではなく、いずれの順に処理を行ってよい。
【0081】
例えば、まずロボット40のモーション情報を取得・位置姿勢更新した後に、距離画像の撮像と位置姿勢更新処理を行ってもよい。また、濃淡画像を撮像・位置姿勢更新後に、ロボット40のモーション情報を取得・位置姿勢更新を行うなどの順番に処理を行っても特に問題はない。観測データの取得と位置姿勢更新の順番に関しては、特に制限はなく、いずれの順番で処理を行ってもよい。
【0082】
[第2の変形例:濃淡画像または距離画像を用いた処理を省略してもよい例]
前述の実施形態では、濃淡画像と距離画像を両方撮像し、処理を行う場合について説明していた。しかし、本発明の情報処理装置は、濃淡画像と距離画像を両方撮影する場合に限るものではない。
【0083】
例えば、距離画像のみが撮像される、あるいは、濃淡画像が撮像される場合でも、本発明の情報処理装置を適用できる。この場合、前述の実施形態から、濃淡画像または距離画像に関する処理が省略されるのみで、処理自体に変更はない。また、前述の第1の変形例で述べたとおり、画像の撮像とロボットモーション情報の取得との順番も、特に制限されるものではない。ロボットモーション情報の取得と、濃淡画像あるいは距離画像の撮像処理を行う限り、濃淡画像または距離画像の取得を省略することに特に制限は無く、いずれの方法をとってもよい。
【0084】
[第3の変形例:撮像装置は固定、対象物体がロボットアームにより把持されて移動する場合の例]
前述の実施形態では、図2(a)に示したように、撮像装置230がロボットアーム先端に装着されて、ロボットアームの移動により撮像装置230の位置姿勢が変化する場面において、本発明の情報処理装置を適用する場合について説明した。しかし、本発明の情報処理装置の適用は、前述のケースに限るものでなく、例えば、図2(b)に示すように、撮像装置230は固定されており、ロボットアームによって把持された対象物体がアームの稼働に伴って移動する場合においても、同様に適用可能である。
【0085】
この場合、S306において、位置姿勢差分情報入力部140から取得する位置姿勢移動差分情報は、前述の実施形態においては撮像時刻間の撮像装置230の位置姿勢移動差分情報であった。これに対し、本ケースでは、撮像時刻間の計測対象物体50の位置姿勢差分情報となる。ただし、本情報処理装置が算出する位置姿勢は、撮像装置230と計測対象物体50との相対的な位置姿勢であるため、処理自体は、前述の実施形態と変わりは無い。以上のように、本発明による情報処理装置は、撮像装置230が移動し計測対象物体50が固定される場合でも、撮像装置230が固定され計測対象物体50が移動する場合でも、いずれの場合においても適用することは可能であり、特に制限は無い。
【0086】
[第4の変形例:位置姿勢推定処理は、カルマンフィルタに基づく手法に限らない例]
前述の実施形態では、観測データと概略位置姿勢に基づく位置姿勢の更新方法として、拡張カルマンフィルタ及びカルマンフィルタの枠組みに基づく処理を行っていた。しかし、位置姿勢更新処理の方法としてはこれに限るものではない。
【0087】
例えば、非線形方程式に適用可能な非線形時系列フィルタとして、パーティクルフィルタを用いて更新処理を行ってもよい。この場合、拡張カルマンフィルタのような観測方程式の線形化を行わず、代わりに、ある一定範囲内でパーティクルと呼ばれる状態ベクトルの仮説に基づくランダムサンプリングを行うことで、尤もらしい状態ベクトルの更新処理を行う。以上に示すように、計測対象物体50の位置姿勢を更新する手法としては、観測データとそのあいまい性に基づいて位置姿勢の更新処理が行える手法である限り、手法の選択に特に制限はなく、いずれでもよい。
【0088】
[第5の変形例(撮像装置移動量の取得はロボットのモーション情報に限らない例)]
前述の実施形態では、撮像時刻間に撮像装置230が移動した位置姿勢差分量を算出する方法として、撮像時刻間のロボット40のアーム先端位置姿勢の差分から位置姿勢差分量を算出する方法を述べた。しかし、撮像装置230の移動量を算出する手段はロボットのモーション情報を用いる方法に限るものでない。
【0089】
例えば、撮像装置230に、磁気センサや超音波センサなど6自由度の位置及び姿勢を計測する物理センサを取り付け、それらより撮像時刻間の位置姿勢差分量を算出してもよい。また、撮像間における撮像装置230の移動が、回転運動のみに限定できる場面であれば、撮像装置230にジャイロセンサを取り付け、その回転差分量のみを計測してもよい。撮像時刻間の撮像装置230の位置姿勢差分量が算出できる限り、いずれの方法を用いてもよく、手段・機器の選択に特に制限はない。
【0090】
[第6の変形例(ロボットによる対象物体操作を行う例)]
前述の実施形態では、ロボット40のアーム先端に装着された撮像装置により、固定された計測対象物体50の3次元位置姿勢の算出する方法について説明した。しかし、情報処理装置1は、対象物体の3次元位置姿勢の算出に限るものでなく、算出した位置姿勢を用いて、ロボット40により対象物体に対して作業を行ってもよい。
【0091】
例えば、ロボット40のアーム先端に対象物体を把持することが可能なエンドエフェクタを装着し、対象物体に対して把持作業を行ってもよい。この場合、エンドエフェクタとしては、モータ駆動可能なハンドを用いてもよいし、空気圧で対象物体を吸着する吸着パッドを用いてもよく、対象物体に対する作業に応じて適切に選択する限り、選択に制限は特にない。ロボットアームとエンドエフェクタとの相対位置姿勢のキャリブレーション作業は本実施形態の実施に先立って公知の技術によって予め行われているものとする。
【0092】
これによって、算出した計測対象物体の位置姿勢をパレットが置かれた空間に固定されたワークスペース座標系に変換することが可能になる。さらに、ワークスペース座標系で指定した位置姿勢にハンドが設定されるようにロボットを制御することが可能になる。エンドエフェクタによる対象物体に対する作業としては、先にあげた把持・吸着に限らず、計測対象物体50を他の物体へ組み付ける組付作業や対象物体の外観検査など、他の作業を行ってもよく、ロボット40による計測対象物体50への作業内容には、特に制限はない。
【0093】
(その他の実施形態)
また、本発明は、以下の処理を実行することによっても実現される。即ち、前述した実施形態の機能を実現するソフトウェア(コンピュータプログラム)を、ネットワーク又は各種のコンピュータ読み取り可能な記憶媒体を介してシステム或いは装置に供給する。そして、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)がプログラムを読み出して実行する処理である。
【符号の説明】
【0094】
1 情報処理装置、10 3次元形状モデルデータ、20 2次元画像撮像装置、30 距離画像撮像装置、40 ロボット、110 3次元形状モデル保存部、120 画像入力部、130 概略位置姿勢入力部、140 位置姿勢差分情報入力部、150 第1の位置姿勢更新部、160 第2の位置姿勢更新部

【特許請求の範囲】
【請求項1】
撮像装置を用いて被測定物体の位置姿勢を推定する情報処理装置であって、
前記被測定物体の幾何的特徴を表す3次元形状モデルのデータを保存する3次元形状モデル保存手段と、
前記被測定物体を撮像した画像を取得する画像入力手段と、
前記撮像装置と前記被測定物体との間の相対的な概略位置姿勢を入力する概略位置姿勢入力手段と、
前記概略位置姿勢をもとにして、前記画像に対して前記3次元形状モデルを当てはめることで、前記概略位置姿勢を更新する第1の位置姿勢更新手段と、
前記撮像装置が前記被測定物体を撮像した時刻、または前回の位置姿勢差分情報の取得時刻以降に、前記撮像装置または前記被測定物体が移動した位置姿勢差分量を算出して取得する位置姿勢差分情報入力手段と、
前記概略位置姿勢をもとにして、前記位置姿勢差分量に基づいて、前記概略位置姿勢を更新する、第2の位置姿勢更新手段と、
を備えることを特徴とする情報処理装置。
【請求項2】
前記画像入力手段は、2次元画像及び/または距離画像を取得し、前記第1の位置姿勢更新手段は、前記2次元画像及び/または前記距離画像に対して、前記3次元形状モデルを当てはめることで、前記概略位置姿勢を更新することを特徴とする請求項1に記載の情報処理装置。
【請求項3】
前記第1の位置姿勢更新手段は、前記2次元画像による概略位置姿勢の更新処理と、前記距離画像による概略位置姿勢の更新処理とを交互に行うことを特徴とする請求項2に記載の情報処理装置。
【請求項4】
前記第1の位置姿勢更新手段における前記概略位置姿勢の更新処理は、非線形時系列フィルタを用い、前記第2の位置姿勢更新手段における前記概略位置姿勢の更新処理は、線形または非線形時系列フィルタを用いることを特徴とする請求項1〜3の何れか1項に記載の情報処理装置。
【請求項5】
前記位置姿勢差分情報入力手段は、回転及び/または並進移動軸からなる可動軸を有するロボットの可動軸の情報より位置及び/または姿勢の差分量を取得することを特徴とする請求項1〜4の何れか1項に記載の情報処理装置。
【請求項6】
算出した被測定物体の位置姿勢に基づいて、回転及び/または並進移動軸からなる可動軸を有するロボットによって、被測定物体または撮像装置の位置及び/または姿勢を変更する位置姿勢操作手段
をさらに有することを特徴とする請求項1〜5の何れか1項に記載の情報処理装置。
【請求項7】
撮像装置を用いて被測定物体の位置姿勢を推定する情報処理方法であって、
前記被測定物体の幾何的特徴を表す3次元形状モデルのデータを保存する3次元形状モデル保存工程と、
前記被測定物体を撮像した画像を取得する画像入力工程と、
前記撮像装置と前記被測定物体との間の相対的な概略位置姿勢を入力する概略位置姿勢入力工程と、
前記概略位置姿勢をもとにして、前記画像に対して前記3次元形状モデルを当てはめることで、前記概略位置姿勢を更新する第1の位置姿勢更新工程と、
前記撮像装置が前記被測定物体を撮像した時刻、または前回の位置姿勢差分情報の取得時刻以降に、前記撮像装置または前記被測定物体が移動した位置姿勢差分量を算出して取得する位置姿勢差分情報入力工程と、
前記概略位置姿勢をもとにして、前記位置姿勢差分量に基づいて、前記概略位置姿勢を更新する、第2の位置姿勢更新工程と、
を備えることを特徴とする情報処理方法。
【請求項8】
撮像装置を用いて被測定物体の位置姿勢を推定する情報処理方法の各工程をコンピュータに実行させるプログラムであって、
前記被測定物体の幾何的特徴を表す3次元形状モデルのデータを保存する3次元形状モデル保存工程と、
前記被測定物体を撮像した画像を取得する画像入力工程と、
前記撮像装置と前記被測定物体との間の相対的な概略位置姿勢を入力する概略位置姿勢入力工程と、
前記概略位置姿勢をもとにして、前記画像に対して前記3次元形状モデルを当てはめることで、前記概略位置姿勢を更新する第1の位置姿勢更新工程と、
前記撮像装置が前記被測定物体を撮像した時刻、または前回の位置姿勢差分情報の取得時刻以降に、前記撮像装置または前記被測定物体が移動した位置姿勢差分量を算出して取得する位置姿勢差分情報入力工程と、
前記概略位置姿勢をもとにして、前記位置姿勢差分量に基づいて、前記概略位置姿勢を更新する、第2の位置姿勢更新工程とをコンピュータに実行させることを特徴とするプログラム。
【請求項9】
請求項8に記載のプログラムを記憶したことを特徴とするコンピュータ読み取り可能な記憶媒体。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate


【公開番号】特開2013−36987(P2013−36987A)
【公開日】平成25年2月21日(2013.2.21)
【国際特許分類】
【出願番号】特願2012−153754(P2012−153754)
【出願日】平成24年7月9日(2012.7.9)
【出願人】(000001007)キヤノン株式会社 (59,756)
【Fターム(参考)】