説明

物体に対するプローブの姿勢を、該プローブを用いて該物体をプロービングすることによって求めるための方法およびシステム

【課題】物体に対するプローブの姿勢を、プローブを用いて物体をプロービングすることによって求めるためのシステム及び方法を提供する。
【解決手段】ラオ・ブラックウェル化パーティクルフィルタリングを使用して姿勢の確率を求めるステップであって、姿勢のロケーションの確率が前記パーティクルのロケーション212によって表され、姿勢の配向の確率が、各パーティクルのロケーションを条件とするパーティクルの配向にわたるガウス分布215によって表され、姿勢の確率が特定の姿勢の周りに集中するまで、後続のプロービングごとに実行されるステップと、特定の姿勢に基づいて物体に対するプローブの姿勢を推定するステップとを含む。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、包括的には産業用ロボット工学に関し、より詳細には、産業用ロボット工学における確率的位置同定のための、プロービングに基づく方法に関する。
【背景技術】
【0002】
自動ロボット組立てを含む、多数の産業用ロボット工学用途は、ロボットのアームを、物体又は環境に対して所望の姿勢にナビゲートすることを必要とする。この問題は、多くの場合に、針状のプローブが孔を含み得る物体と単一の接点を有すると共に物体に対するプローブの初期姿勢が未知であるペグインホール問題として定式化される。物体に対するプローブの姿勢は、6自由度(6−DOF)を有し、プローブの位置における3−DOFの不確定性、及び物体に対するプローブの配向の3−DOFの不確定性を含む。初期姿勢不確定性は、6−DOF全てにおいて所望の正確度を大幅に超える場合がある。
【0003】
いくつかの従来の方法は、プロービング及びパーティクルに基づくモンテカルロ位置同定を使用して、ロボットのペグインホール問題を解決する。たとえば、1つの方法は、ロックアンドキーアセンブリにプロービング及びパーティクルフィルタリングを使用する位置同定を説明している。この方法は、まず、全ての(x,y)においてプローブを用いて物体を高密度にプロービングして接触位置(x,y,z)を取得し、接触配置空間マップを生成する。この接触配置空間マップは、プローブが物体と接触する全ての取り得る姿勢を記述する。この高密度プロービングの前処理ステップの後、この方法は、プローブを用いて物体を連続してプロービングすることによって、該連続的なプロービングから取得される接触位置を観測値として使用して、パーティクルフィルタリングを行う。観測尤度は、接触配置空間マップを使用して評価される。
【0004】
別の方法は、同様に、網羅的な前処理ステップを説明しており、物体と複数の接点を有し得るプローブを用いて物体を高密度にプロービングし、プローブに接続された力トルクセンサーを使用して力トルクマップを生成する。力トルクマップは、プローブと物体との間に接触が存在する全ての取り得る姿勢における接触力及び接触トルクを含む。この方法は、コンピューター支援設計(CAD)モデルから直接力トルクマップを推定することも説明している。しかしながら、推定される力トルクマップは、プロービングによって得られるマップほど正確ではない。高密度プロービングによって事前に得られた力トルクマップを使用して、パーティクルフィルタリングを連続プロービングと共に使用して力トルク観測値をそのマップにマッチングする。この方法は、カメラからの観測値もオプションで組み込む。
【0005】
しかしながら、上述した方法は、6−DOF全部の位置同定にはあまり適していない。なぜなら、標準的なパーティクルフィルタリングに必要とされるパーティクルの数は、探索空間の次元数と共にほぼ指数関数的に増大するためである。これらの方法は、最大6自由度(6−DOF)の不確定性に関して説明されているが、実際にはこれらの方法は、不確定性がx、y並進においてしか存在しない2−DOF空間のような、より低い次元の探索空間における位置同定にしか使用されない。
【0006】
したがって、プローブと物体との間の姿勢が最大6自由度(6−DOF)を有する、該姿勢を効率的に求めることができる方法を有することが望ましい。また、高密度プロービングの前処理ステップなしで物体のCADモデルから直接求めることができると共に、マップ内の不確定性の変動するレベル、及びCADモデルと物体との間の不一致を考慮することができるマップ表現を有することが望ましい。
【発明の概要】
【発明が解決しようとする課題】
【0007】
本発明の目的は、物体に対するプローブの姿勢を、該プローブを用いて該物体をプロービングすることによって求めるための方法を提供することである。
【0008】
本発明のさらなる目的は、たとえば製造及び測定の誤差から生じる、物体のモデルと物体の測定値との間の差異を扱うことができる方法を提供することである。
【課題を解決するための手段】
【0009】
本発明の実施の形態は、プローブの6−DOF姿勢の推定に適用されるパーティクルフィルタリングが、計算的に困難であるが、6−DOF姿勢を2つの部分、すなわち3−DOFロケーション及び3−DOF配向に因数分解することができ、それによってプローブの推定される配向が該プローブの推定されるロケーションによって決まると共に、該配向をそのロケーションに基づいてカルマンフィルタリングを使用して更新することができるるという認識に基づく。この認識に基づいて、6−DOFパーティクルフィルタリングは、各パーティクルのロケーションを条件とする3−DOFパーティクルフィルタリング及び3−DOFカルマンフィルタリングに低減される。この結果、より効率的な計算となる。そのような因数分解の理論的枠組みは、ラオ・ブラックウェル化パーティクルフィルタリングとして既知である。
【0010】
本発明の1つの実施の形態は、物体に対するプローブの姿勢を、該プローブを用いて該物体をプロービングすることによって求めるための方法であって、前記姿勢は該姿勢のロケーション及び該姿勢の配向を含み、各前記プロービングの結果、前記プローブと前記物体との間の接点がもたらされ、それによって各該接点において前記姿勢が推定され、該方法は、前記プローブと前記物体との間の前記姿勢の確率をパーティクルのセットによって表すステップであって、前記姿勢の前記ロケーションの確率が各前記パーティクルのロケーションによって表され、前記姿勢の前記配向の確率が、各前記パーティクルの前記ロケーションを条件とする、該パーティクルの配向にわたるガウス分布によって表される、表すステップと、前記接点から次の接点への前記プローブの動きに従って各前記パーティクルを次のロケーションに再配置するステップであって、該動きは前記プロービングによって生じる、再配置するステップと、各前記パーティクルの重要度重みを、該パーティクルの前記次のロケーション、該パーティクルの前記配向の前記確率、及び前記物体のマップモデルに基づいて求めるステップであって、該重要度重みは、前記パーティクルが前記接点を表す確率である、求めるステップと、各前記パーティクルの前記次のロケーションを条件とするカルマンフィルタリングを使用して、前記パーティクルのセット内の各前記パーティクルの前記配向の前記確率を更新するステップと、前記パーティクルのセット内の前記パーティクルが特定の姿勢の周りに集中するまで前記再配置すること、前記求めること、及び前記更新することを繰り返すステップと、前記特定の姿勢に基づいて前記物体に対する前記プローブの前記姿勢を求めるステップとを含み、該方法の前記ステップはプロセッサによって実行される、方法を開示する。
【0011】
また、この実施の形態の1つの変形形態は、物体モデル及び不確定性モデルに基づいてマップモデルを求め、不確定性モデルは、前記物体モデルの各特徴に不確定性関数を割り当てることによって求められ、該特徴は面、エッジ、又は頂点である。
【0012】
別の実施の形態は、物体に対するプローブの姿勢を、該プローブを用いて該物体をプロービングすることによって求めるための方法であって、ラオ・ブラックウェル化パーティクルフィルタリングを使用して前記姿勢の確率を求めるステップであって、該姿勢のロケーションの確率が各前記パーティクルのロケーションによって表され、前記姿勢の配向の確率が、各前記パーティクルの前記ロケーションを条件とする、該パーティクルの前記配向にわたるガウス分布によって表され、該求めることは、前記姿勢の前記確率が特定の姿勢の周りに集中するまで、後続のプロービングごとに実行される、求めるステップと、前記特定の姿勢に基づいて前記物体に対する前記プローブの前記姿勢を推定するステップと、を含む、方法を開示する。
【0013】
さらに別の実施の形態は、物体に対するプローブの姿勢を、該プローブを用いて該物体をプロービングすることによって求めるように構成されるシステムであって、前記姿勢は該姿勢のロケーション及び該姿勢の配向を含み、各前記プロービングの結果、前記プローブと前記物体との間の接点がもたらされ、それによって各該接点において前記姿勢が推定され、該システムは、前記物体に対する前記姿勢の確率をパーティクルのセットによって表す手段であって、前記姿勢の前記ロケーションの確率が各前記パーティクルのロケーションによって表され、前記姿勢の前記配向の確率が、各前記パーティクルの前記ロケーションを条件とする、該パーティクルの配向にわたるガウス分布によって表される、表す手段と、前記プロビーングの接点から次のプロービングの接点への前記プローブの動きに従って各前記パーティクルを次のロケーションに再配置する手段であって、該動きは前記プロービングによって生じる、再配置する手段と、各前記パーティクルの重要度重みを、該パーティクルの前記次のロケーション、該パーティクルの前記配向の前記確率、及び前記物体のマップモデルに基づいて求める手段であって、該重要度重みは、前記パーティクルが前記物体に対する前記プローブの前記姿勢を表す確率である、求める手段と、各前記パーティクルの前記次のロケーションを条件とするカルマンフィルタリングを使用して、前記パーティクルのセット内の各前記パーティクルの前記配向の前記確率を更新する手段と、前記パーティクルのセット内の前記パーティクルが特定の姿勢の周りに集中するまで前記再配置すること、前記求めること、及び前記更新することを繰り返す手段と、前記特定の姿勢に基づいて前記物体に対する前記プローブの前記姿勢を求める手段とを含み、前記方法の前記ステップはプロセッサによって実行される、システムを開示する。
【図面の簡単な説明】
【0014】
【図1】本発明の実施形態による、プローブと物体との間の姿勢を求めるためのシステム及び方法の概略図である。
【図2】本発明の実施形態による、プローブと物体との間の姿勢を求めるための方法のブロック図である。
【図3】本発明の実施形態による、確率的依存関係の概略図である。
【図4】本発明の実施形態による、物体座標系とベース座標系との間の座標変換の概略図である。
【図5】本発明の実施形態によるマップモデルの概略図である。
【図6】本発明の実施形態による、ラオ・ブラックウェル化パーティクルフィルタリングを用いた、プローブと物体との間の姿勢の確率を求めるための擬似コードである。
【発明を実施するための形態】
【0015】
図1は、物体120に対するプローブ110の姿勢150を、該プローブを用いて該物体をプロービングすることによってを求めるためのシステム100及び方法200を示している。本発明の様々な実施形態において、プローブは、タッチプローブ又はタッチレスプローブであり、たとえば電気プローブ、機械プローブ、光プローブ、又はレーザープローブである。各プロービングによってプローブと物体との間の接点115が求められ、各接点において姿勢が推定される。たとえば、1つの実施形態では、プローブは針状の形状を有する機械プローブであり、各接点は、プローブが物体に触れる点である。代替的な実施形態では、プローブはタッチレスプローブであり、各接点は、該タッチレスプローブによって求められる物体の表面上のロケーションである。
【0016】
物体に対するプローブの姿勢が求められると、産業プロセスにおいてその姿勢を使用することができる。産業プロセスには、物体を持ち上げること、物体を位置決めすること、部品を物体と嵌合すること、物体に対するロボットの姿勢を求めること、ロボット座標系を較正すること、又は物体に対し、溶射ガン、アーク溶接機、ドリル、若しくは研磨機のような道具を使用することが含まれ得る。
【0017】
物体は、CADモデルのような、物体の3次元(3D)モデル125に基づいて求められるマップモデル500、及び以下でより詳細に説明される不確定性モデル510によって表される。本システムは、本発明の実施形態に従って方法200のステップを実行するプロセッサ140も備える。プロセッサは、当該技術分野において既知の入力/出力インターフェース及びメモリを備える。
【0018】
プローブは、物体の近傍に位置決めされるが、物体に対する該プローブの姿勢は未知であり、姿勢のロケーション、及び姿勢の配向を含む、最大6自由度(6−DOF)の不確定性を有する。通常、姿勢のロケーション及び配向はそれぞれ3次元であるが、いくつかの実施形態では、姿勢のロケーション及び/又は配向は、3−DOF未満の不確定性を有する。
【0019】
1つの実施形態では、プロービングは、プローブを保持するロボットアーム160を再位置決めし、該プローブを、該プローブと物体との間の接触を検出するまで物体の一般方向に動かし、ロボット座標系における接点のロケーション130を測定することによって達成される。様々な実施形態において、ロボットのアームの内蔵機能及びエンコーダーによって、ロボットアームのコンプライアンス制御によって、かつ/又は、カメラ、タッチセンサー、若しくは力センサーのような外部センサーによって、接触のロケーションが検出及び測定される。
【0020】
本発明の実施形態は、プローブの6−DOF姿勢の推定に適用されるパーティクルフィルタリングは計算的に困難であるが、該6−DOF姿勢を2つの部分、すなわち3−DOFロケーション及び3−DOF配向に因数分解することができ、それによってプローブの配向が該プローブのロケーションに依存すると共に、該配向をそのロケーションに基づいてカルマンフィルタリングを使用して更新することができるという認識に基づく。この認識に基づいて、6−DOFパーティクルフィルタリングは3−DOFパーティクルフィルタリング及び3−DOFカルマンフィルタリングに変形される。この結果、より効率的な計算となる。そのような因数分解の理論的枠組みは、ラオ・ブラックウェル化パーティクルフィルタリングとして既知である。
【0021】
図2は、本発明の実施形態による方法200のブロック図を示している。上述した認識によれば、プローブと物体との間の相対姿勢は、ラオ・ブラックウェル化パーティクルフィルターを使用して求められる。ラオ・ブラックウェル化パーティクルフィルターにおいて、ロケーション(3−DOF並進)にわたる確率分布はパーティクルを用いて表され、すなわち各パーティクルはロケーションに関する特定の仮説を表し、配向(3−DOF回転)にわたる分布は、パーティクルのロケーションを条件とする、パーティクルごとのガウス分布によって近似される。この因数分解は、フィルタリングの効率を大幅に改善し、結果として、従来のパーティクルフィルタリングと比較して、必要とされるパーティクルの数が数桁削減される。
【0022】
したがって、物体に対するプローブの姿勢の確率はパーティクルのセットによって表され(210)、姿勢のロケーションの確率は、各パーティクルのロケーション212によって表され、姿勢の配向の確率は、パーティクルのロケーションを条件とする、パーティクルごとの配向にわたるガウス分布215によって表される。
【0023】
後続のプロービング220ごとに、プローブの動き225が得られ、該動きに従って各パーティクルのロケーションが次のロケーション235に更新され(230)、該パーティクルの次のロケーション、各パーティクルの配向にわたるガウス分布、及び物体のマップモデル500に基づいて各パーティクルの重要度重み255が更新される(250)。ここで、重要度重みは、パーティクルのロケーションが接点115を表し、パーティクルの配向分布が物体に対するプローブの配向を表す確率である。また、パーティクルの次のロケーションを条件とするカルマンフィルタリング245、たとえば拡張カルマンフィルタリング(EKF)を使用して、各パーティクルの配向にわたるガウス分布215が更新される(240)。EKFは、パーティクルの次のロケーションを条件とする配向にわたる確率分布の次の推定値258を生成する。
【0024】
パーティクルのセット210内のパーティクルが特定の姿勢の周りに集中している(270)とき、物体に対するプローブの姿勢150は、その特定の姿勢に基づいて、たとえばパーティクルのロケーション及び配向の平均をとることによって求められる。そうでない場合、方法200の再位置決めステップ、プロービングステップ、及び更新ステップが繰り返される。
【0025】
1つの実施形態では、パーティクルの更新されたセット及び重要度重みを後続のプロービングに使用するか、又は各パーティクルの重要度重みに比例する確率を用いてパーティクルのセットを再サンプリングする(260)かの決定265が行われる。パーティクルのセットが再サンプリングされる場合、高い確率で、低い重要度重みを有するパーティクルがセット210から除去され、高い重要度重みを有するパーティクルがセットにおいて複数回表される。
【0026】
1つの実施形態では、物体のマップモデルは、プロービングされている物体のモデル、たとえばコンピューター支援設計(CAD)モデル、及び該CADモデルの不確定性に関する任意の事前の知識を表す不確定性モデルに基づいて生成される。不確定性モデルは、物体の異なる特徴に関する不確定性を組み込む。したがって、マップモデルは確率マップモデルである。
【0027】
本発明の実施形態によるマップモデルの使用は、実際の測定がCADモデルに一致しない状況において有利である。そのような差異は、スリッピング及びセンサーの不正確性のような様々な要因に起因する測定誤差、並びに物体のCADモデルと該物体の実際の形状との間の差異から生じ得る。
【0028】
確率的依存関係
物体に対するプローブの姿勢は、(s,θ)として表される。ここで、s=(x,y,z)はプローブと物体との間の相対位置であり、θ=(α,β,γ)はプローブと物体との間の相対配向である。角度(α,β,γ)は、(x,y,z)軸のそれぞれを中心とした回転の角度として規定される。
【0029】
図3は、方法200において使用される確率的依存関係のグラフィックモデルを示している。各接点から次の接点までのプローブの動きのシーケンス310(該動きは時刻1からtまで、各プロービングによって生じる)は、u1:t={u,...,u}として規定され、ここで、uは、時刻i−1における接点から時刻iにおける接点までの動きを表す。接触イベントのシーケンス330はz0:t={z,...,z}として規定される。本実施形態は、物体に対するプローブの姿勢の確率を、
【0030】
【数1】

【0031】
に従って因数分解する。
【0032】
したがって、各パーティクルは、接点の位置のシーケンスS0:t320及びプローブと物体との間の配向にわたるガウス分布340を表す。ガウス分布は平均μ及び共分散行列Σによって表される。
【0033】
通常、接触イベントはバイナリ、すなわちZ∈{1,0}であり、ここで、時点tにおいてプローブが位置sにおいて物体と接触している場合、Z=1であり、そうでない場合、Z=0である。しかしながら、接点は、プロービングごとに、該接点が感知されるとき、すなわちZ=1である時点でしか測定されない。したがって、明確にするために、p(z=1)を省略表現p(z)を使用して表すことによって、確率の表記を簡略化する。
【0034】
座標変換
図4は、物体に対して固定した物体座標系410と、ロボット座標系に対して固定したベース座標系420、すなわちロボットのアーム(図示せず)の基準系との間の座標変換を示している。いくつかの実施形態では、ロボット座標系とベース座標系との間の変換は、回転を伴わない並進であり、それによって、プローブの動きは、ベース座標系において、ロボット座標系における並進と同じ並進によって表される。
【0035】
ベース座標系における、時刻tにおけるプローブの位置は、Sとして規定される。物体座標系における、時刻tにおけるプローブの位置は、Sとして規定される。ベース座標系及び物体座標系は、プローブの初期位置S440を中心とした3D回転430θによって関係付けられる。このため、プローブの初期位置は、ベース座標系及び物体座標系の双方において同じである。しかしながら、2つの座標系間の配向差異θは未知である。
【0036】
マップモデル460及び測定確率は、物体座標系において規定される。時刻t=0において、ベース座標系及び物体座標系は同一である。時刻t=1において、プローブの動き445の後、ベース座標系に対する物体座標系の回転に対応して、各パーティクルの配向にわたるガウス分布が更新される。
【0037】
動き
後続の各プロービングは、プローブを1つの接点から別の接点まで動かす。各接点について、ロボットアームの内部エンコーダーから、ロボット座標系におけるプローブの位置を取得することができる。時刻t−1から時刻tまでのプローブの動きは、ロボット座標系及びベース座標系において同一である。動きuを使用して、ベース座標系における各パーティクルの位置が、
【0038】
【数2】

【0039】
に従って位置St−1から次の位置sに更新される。ここで、N(μ,Σ)は、平均μ及び共分散行列Σを有する多変量正規(ガウス)分布を表し、σ、σ、σは、ロボットの動きの誤差又はロボットのアームのエンコーダーから取得された値における誤差に起因する雑音をモデル化している。
【0040】
いくつかの実施形態は、実際のロボット動き誤差及びエンコーダー誤差よりも大きいσ、σ、σの値を使用して、パーティクル欠乏(deprivation)を考慮する。ここで、パーティクルのうちのいずれも初期接触位置の完全に正確な推定を有しないため、動きモデルにおける雑音によって、パーティクルフィルターがこの不正確性を経時的に補償することが可能になる。
【0041】
物体座標系における時刻tにおけるプローブの位置Sは、配向θ=(α,β,γ)を使用する回転行列Rに基づいて求められる。回転行列Rは、
【0042】
【数3】

【0043】
に従って求められる。ここで、Sαはsinαの省略表現であり、Cαはcosαの省略表現である。
【0044】
したがって、物体座標における時刻tにおけるプローブの位置は、
【0045】
【数4】

【0046】
に従って求められる。
【0047】
マップモデル
本発明のいくつかの実施形態は、物体の測定モデルが、物体モデル設計及び測定の不確定性、たとえば物体モデルと物体の実際の形状との間の差異、並びに測定ツール及び測定手順の不完全性を反映するべきであるという認識に基づく。たとえば、プローブの先端は、とがった針状である代わりに、丸みを有するか又は幅広である場合があり、それによって測定誤差がもたらされる。したがって、本発明者らは、面(平面)、エッジ(線)、及び頂点(点)のような、モデルの全ての特徴について求められる不確定性のパラメーターを求めると共に、該パラメーターをマップモデル内に含める。
【0048】
図5は、本発明の実施形態による、マップモデル500の1つの例を示している。物体のマップは、物体モデル125及び不確定性モデル510から求められる。いくつかの実施形態では、物体モデルは物体のCADモデルから生成される。物体モデルは、物体の形状の特徴f520、たとえば、頂点、エッジ、及び三角形の面を含む。たとえば、図5に示すように、特徴f、f、fは頂点又はエッジを表し、特徴f及びfはエッジ又は面を表す。
【0049】
異なる実施形態では、不確定性モデルは、広範にわたる確率フィールド又はエネルギー関数を使用して定式化される。たとえば、1つの実施形態では、不確定性モデルは、接点115と物体モデルの特徴520との間の距離545のガウス確率密度関数を使用して定式化される。マップモデルは、物体モデルの異なる特徴に、異なる不確定性値を割り当てることができる。これによって、ユーザーが特定の産業的設定又は製造プロセスの知識をマップモデルに組み込むことが可能になる。
【0050】
測定不確定性は、不確定性モデル510を形成する。特徴fごとに(ここでk={1,...,K})、特徴の測定不確定性の標準偏差がσ540として規定される。1つの実施形態では、平面の交差部におけるエッジ及び頂点のような、その法線が互いに大きな角度を形成する特徴には、より大きな不確定性が割り当てられる。たとえば、この実施形態の1つの変形形態では、各エッジ/頂点の境界となる面の全ての可能な対の法線間の最大角度が求められ、最大角度の値に基づいて不確定性が割り当てられる。
【0051】
測定確率は、物体モデルと、物体座標における接点S530との間の距離545に基づいて求められる。接点から各特徴fへの距離がd(S,f)として規定される。この実施形態の1つの変形形態において、関数dは、接点Sと特徴fとの間のユークリッド距離を計算する。対応する平面又は線に対する接点の垂直射影が面又はエッジ内にある場合、該面又は該エッジへの距離が求められる。
【0052】
接点ごとに、全ての特徴に対する距離が求められ、対応する標準偏差で正規化された最小の距離を有する特徴が接触特徴として選択される。このように、接触特徴のインデックスk
【0053】
【数5】

【0054】
に従って求められる。
【0055】
1つの実施形態では、距離測定値hは、物体座標においてSの関数として表されるか、又はベース座標において位置s及び配向θの関数として表され、以下となる。
【0056】
【数6】

【0057】
パーティクルごとの時刻tにおける測定確率が、距離測定値に基づいて
【0058】
【数7】

【0059】
に従って求められる。
【0060】
表記N(x;μ,Σ)は、変数xにわたる、平均μ及び共分散行列Σの多変量正規(ガウス)分布を表す。
【0061】
ラオ・ブラックウェル化パーティクルフィルタリング
図6は、ラオ・ブラックウェル化パーティクルフィルタリングを使用して、物体に対するプローブの姿勢の確率を求めるための擬似コードを示している。ここで、姿勢のロケーションの確率は、各パーティクルのロケーションによって表され、姿勢の配向の確率は、パーティクルのロケーションを条件とする、各パーティクルの配向にわたるガウス分布によって表される。
【0062】
プロービングごとに、時刻tにおいて、各パーティクルjがプローブと物体との間の接点の位置S[j]、及び配向にわたる正規分布
【0063】
【数8】

【0064】
に関連付けられる。
【0065】
初期化
方法200は、最大初期(x,y)不確定性によって境されるベース座標における位置(x,y)にわたる一様分布からJ個のパーティクルをサンプリングする。1つの実施形態では、初期パーティクル位置S[j]=(x,y,z)がマップモデルの表面上に設定されるように、パーティクルjごとのz座標の初期値が求められる。パーティクルごとに、配向θにわたるガウス分布が平均μ[j]=0及び初期不確定性を表す対角共分散行列Σ[j]で初期化される。
【0066】
プロービングごとのパーティクル更新
時刻tにおけるパーティクルのセットはXとして規定される。ロボットアームがプローブを1つの接点から次の接点に動かすとき、各パーティクルの位置j={1,...,J}は、ロボットアームエンコーダーから取得されるベース座標における動きu、及びロボットが接触を検出するという観測zに基づいて更新される。各パーティクルの次の位置に基づいて、パーティクルごとの配向θにわたる分布が更新される。
【0067】
位置更新
時刻tにおけるパーティクルjの次の位置S[j]は、式(2)を使用して、パーティクルの位置St−1[j]及び動きuに基づいて
【0068】
【数9】

【0069】
に従って求められる。
【0070】
配向更新
ベース座標におけるパーティクルの次の位置S[j]、及びプローブと物体との間に接触が存在したという観測zに基づいて、配向θにわたる、パーティクルごとの事後分布が、EKFを使用して求められる。1つの実施形態は、測定確率を、配向の関数として表し、その測定確率を、θ=μt−1[j]、すなわち前回のプロービング後に求められたパーティクルの配向の分布の平均を中心に線形化する。
【0071】
測定確率を、θ=μt−1[j]を中心に線形化するために、平均値及び式(4)に基づいて、
【0072】
【数10】

【0073】
に従って、物体座標系における各パーティクルの予測位置
【0074】
【数11】

【0075】
が求められる。
【0076】
予測パーティクル位置
【0077】
【数12】

【0078】
を使用して、式(5)に従って接触特徴のインデックスkが求められる。
【0079】
接触特徴
【0080】
【数13】

【0081】
に対して規定された測定確率(7)を使用して、角度にわたって事後確率を更新する。これは(1)の右辺の第2の因数である。
【0082】
したがって、事後確率は以下のようにさらに因数分解される。
【0083】
【数14】

【0084】
式(10)を使用して、配向の事後確率をガウス分布として近似する。1つの実施形態は、
【0085】
【数15】

【0086】
に従って、θ=μt−1[j]を中心に測定関数を線形化することによってEKFを使用する。ここで、
【0087】
【数16】

【0088】
は予測位置
【0089】
【数17】

【0090】
において求められる距離測定値であり、H[j]は、
【0091】
【数18】

【0092】
に従って求められる、配向θに対する距離測定のヤコビ行列式である。
【0093】
次に、標準EKF測定更新規則を使用して、
【0094】
【数19】

【0095】
に従って、配向にわたる事後分布が計算される。
【0096】
重要度重み更新及び再サンプリング
各時刻tにおいて、各パーティクルjの重要度重みw[j]が、該パーティクルの前回の重要度重みwt−1[j]及び測定確率から求められる。本発明の1つの実施形態では、重要度重みは、
【0097】
【数20】

【0098】
に従って、パーティクルの配向にわたって測定確率を周辺化することによって更新される。
【0099】
したがって、
【0100】
【数21】

【0101】
であり、ここで、
【0102】
【数22】

【0103】
である。
【0104】
パーティクルの多様性を妥当なレベルに保つために、1つの実施形態は、プロービングごとに、
【0105】
【数23】

【0106】
に従って、パーティクルの有効数Jeffを推定する。
【0107】
effがパーティクルのセット内のパーティクルの数に基づいて求められる閾値未満である、たとえばJeff<J/2である場合、パーティクルは、パーティクルの重みw[j]に比例する確率を用いて再サンプリングされる(260)。再サンプリング後、全てのパティクル重みはw[j]=1/Jに再設定される。
【0108】
時刻tにおいてパーティクルが再サンプリングされない場合、たとえばJeff≧J/2である場合、式(17)に従って求められた重要度重みを有する全てのパーティクルがパーティクルのセット210内に保持される。
【0109】
1つの実施形態では、初期状態において、比較的多くの数のパーティクルセットがセット210内で使用される。しかしながら、方法200を数回反復した後、位置同定に必要とされるパーティクルの数が減少する。パーティクルの数は、所定の数Jminに達するまで各再サンプルにおいて低減される。この実施形態の1つの変形形態は、再サンプリングの前にパーティクルの数JがJminより大きい場合、パーティクルの現在の数の半分のみを再サンプリングすることによって、セット内のパーティクルの数を半分に低減する。
【0110】
集中
本発明の実施形態は、パーティクルのセット内のパーティクルが、特定の姿勢の周りに集中するまで、該パーティクルのセットのプロービング及び再サンプリングを反復する。1つの実施形態では、物体座標系におけるパーティクルの位置の重み付けされた平均値及び重み付けされた共分散に基づいて、
【0111】
【数24】

【0112】
及び
【0113】
【数25】

【0114】
に従って集中が求められる。ここで、S0[j]は式(4)を使用して
【0115】
【数26】

【0116】
に従って求められる。
【0117】
プロービングは、共分散行列Ψのトレースが所定の閾値未満になり、パーティクル位置間の不確定性が小さいことを示すまで繰り返される。この収束状態が達成されると、姿勢の推定位置が、セット内に残っている全てのパーティクルの位置の重み付けされた平均に基づいて求められる。姿勢の推定配向は、パーティクルの平均配向の重み付けされた平均に基づいて求められる。
【0118】
求められた姿勢を、後続の産業プロセスに直接使用することができる。求められた姿勢を、反復型最近接点のような、全ての接点を同時に使用することによってコスト関数を最小にする姿勢推定アルゴリズムの初期推定として使用することによって、姿勢をさらに精緻化することができる。
【0119】
本発明を好ましい実施形態の例として説明してきたが、本発明の精神及び範囲内で様々な他の適応及び変更を行うことができることは理解されたい。したがって、添付の特許請求の範囲の目的は、本発明の真の精神及び範囲内に入るすべての変形及び変更を包含することである。

【特許請求の範囲】
【請求項1】
物体に対するプローブの姿勢を、該プローブを用いて該物体をプロービングすることによって求めるための方法であって、前記姿勢は該姿勢のロケーション及び該姿勢の配向を含み、各前記プロービングは、前記プローブと前記物体との間の接点を求め、それによって各該接点において前記姿勢が推定され、該方法は、
前記プローブと前記物体との間の前記姿勢の確率をパーティクルのセットによって表すステップであって、前記姿勢の前記ロケーションの確率が各前記パーティクルのロケーションによって表され、前記姿勢の前記配向の確率が、各前記パーティクルの前記ロケーションを条件とする、該パーティクルの配向にわたるガウス分布によって表される、表すステップと、
前記接点から次の接点への前記プローブの動きに従って各前記パーティクルを次のロケーションに再配置するステップであって、該動きは前記プロービングによって生じる、再配置するステップと、
各前記パーティクルの重要度重みを、該パーティクルの前記次のロケーション、該パーティクルの前記配向の前記確率、及び前記物体のマップモデルに基づいて求めるステップであって、該重要度重みは、前記パーティクルが前記物体に対する前記プローブの前記姿勢を表す確率である、求めるステップと、
各前記パーティクルの前記次のロケーションを条件とするカルマンフィルタリングを使用して、前記パーティクルのセット内の各前記パーティクルの前記配向の前記確率を更新するステップと、
前記パーティクルのセット内の前記パーティクルが特定の姿勢の周りに集中するまで前記再配置すること、前記求めること、及び前記更新することを繰り返すステップと、
前記特定の姿勢に基づいて前記物体に対する前記プローブの前記姿勢を求めるステップと、
を含み、該方法の前記ステップはプロセッサによって実行される、方法。
【請求項2】
物体モデル及び不確定性モデルに基づいて前記マップモデルを求めることをさらに含む、請求項1に記載の方法。
【請求項3】
前記物体モデルの各特徴に不確定性関数を割り当てることによって前記不確定性モデルを求めることであって、該特徴は面、エッジ、又は頂点である、求めることをさらに含む、請求項2に記載の方法。
【請求項4】
前記物体モデルの各前記特徴に関して、前記接点と前記特徴との間の距離のガウス確率密度関数として不確定性関数を定義することをさらに含む、請求項3に記載の方法。
【請求項5】
時刻tにおける接触イベントの観測確率を、
【数1】

に従って決定することをさらに含み、ここで、p(・)は確率関数であり、Sは前記パーティクルの位置を表し、θは前記パーティクルの配向を表し、zは時刻tにおける前記プローブと前記物体との間の接触の観測値であり、hは距離測定値であり、kは接触特徴
【数2】

のインデックスであり、
【数3】

は前記接触特徴の前記不確定性関数の分散であり、N(x;μ,σ)は、変数xにわたる、平均μ及び分散σを有するガウス分布である確率密度関数を表す、請求項4に記載の方法。
【請求項6】
前記物体モデルの近傍の特徴の対間の角度に基づいて各前記特徴の前記不確定性関数を求めることをさらに含む、請求項4に記載の方法。
【請求項7】
前記更新の後、各前記パーティクルの前記重要度重みに基づいて前記パーティクルのセットを再サンプリングすることをさらに含む、請求項1に記載の方法。
【請求項8】
前記パーティクルのセット内の前記パーティクルの全てを単一のベース座標系に表すこと、
前記パーティクルのセット内の前記パーティクルごとの物体座標系を定義することであって、前記ベース座標系と各前記パーティクルの前記物体座標系との間の回転が各該パーティクルの前記姿勢の前記配向に対応し、前記回転の中心が該パーティクルの該姿勢の初期ロケーションである、定義すること、
前記ベース座標系において前記プローブの前記動きを表現すること、及び
前記物体座標系において前記マップモデルを表現すること、
をさらに含む、請求項1に記載の方法。
【請求項9】
前記プロービングは、ロボットのアームによって前記プローブを再位置決めし、該プローブを、該プローブと前記物体との間の接触を検出するまで前記物体の一般方向に動かすことによって達成され、前記方法は、
前記ロボットの前記アームのエンコーダーから前記接点の位置を受信することをさらに含む、請求項1に記載の方法。
【請求項10】
前記再位置決めは、ランダムに、又はロケーションの所定のシーケンスに基づいて、又は前記パーティクルのセットにおける前記パーティクルの前記ロケーション及び前記配向に基づいて実行される、請求項9に記載の方法。
【請求項11】
前記パーティクルのセット内のパーティクルの有効数を求めること、及び
前記有効数が閾値未満の場合、各前記パーティクルの前記重要度重みに基づいて前記パーティクルのセットを再サンプリングすることであって、前記閾値は前記パーティクルのセット内のパーティクルの数に基づいて求められる、再サンプリングすることをさらに含む、請求項7に記載の方法。
【請求項12】
前記パーティクルの前記次のロケーションを、
【数4】

に従って求めることをさらに含み、ここで、St−1[j]は時刻t−1におけるパーティクルjの前記ロケーションであり、S[j]はパーティクルjの前記次のロケーションであり、uは、時刻t−1における前記プロービングの前記接点から、時刻tにおける前記プロービングの前記接点への前記動きを表す、請求項1に記載の方法。
【請求項13】
パーティクルjの前記姿勢の前記配向にわたる前記ガウス分布の前記パラメーターを、
【数5】

に従って更新することをさらに含み、ここで、μt−1[j]は時刻t−1におけるパーティクルjの前記ガウス分布の平均であり、μ[j]はパーティクルjの次のガウス分布の平均であり、Σt−1[j]は時刻t−1におけるパーティクルjの前記ガウス分布の共分散行列であり、Σ[j]はパーティクルjの前記次のガウス分布の共分散行列であり、
【数6】

は、接触特徴のインデックスkを使用した、パーティクルjの予測位置における距離測定値であり、
【数7】

であり、ここで
【数8】

は前記接触特徴のインデックスkの不確定性測定値である、請求項1に記載の方法。
【請求項14】
パーティクルjの時刻tにおける前記重要度重みw[j]を、
【数9】

に従って求めることをさらに含み、ここで、
【数10】

である、請求項13に記載の方法。
【請求項15】
前記パーティクルのセット内の前記パーティクルが前記特定の姿勢の周りに集中するか否かを、前記物体座標系における前記パーティクルの前記ロケーションの共分散行列のトレースを所定の閾値と比較することによって求めることをさらに含む、請求項1に記載の方法。
【請求項16】
前記接点を前記検出することは、前記ロボットアームの内蔵の衝撃検出機能、該ロボットアームのコンプライアンス制御、及び外部センサーのうちの少なくとも1つを使用して達成される、請求項9に記載の方法。
【請求項17】
前記物体に対する前記プローブの前記姿勢が産業プロセスにおいて使用される、請求項1に記載の方法。
【請求項18】
前記産業プロセスは、前記物体を持ち上げること、前記物体を位置決めすること、部品を前記物体と嵌合すること、前記物体に対するロボットの姿勢を求めること、前記物体に対し道具を使用すること、又はロボット座標系を較正することのうちの少なくとも1つを含む、請求項17に記載の方法。
【請求項19】
物体に対するプローブの姿勢を、該プローブを用いて該物体をプロービングすることによって求めるための方法であって、
ラオ・ブラックウェル化パーティクルフィルタリングを使用して前記姿勢の確率を求めるステップであって、該姿勢のロケーションの確率が各前記パーティクルのロケーションによって表され、前記姿勢の配向の確率が、各前記パーティクルの前記ロケーションを条件とする、該パーティクルの前記配向にわたるガウス分布によって表され、該求めることは、前記姿勢の前記確率が特定の姿勢の周りに集中するまで、後続のプロービングごとに実行される、求めるステップと、
前記特定の姿勢に基づいて前記物体に対する前記プローブの前記姿勢を推定するステップと、
を含む、方法。
【請求項20】
前記求めることは、
前記接点から次の接点への前記プローブの動きに従って各前記パーティクルを次のロケーションに再配置することであって、該動きは前記プロービングによって生じる、再配置すること、
各前記パーティクルの重要度重みを、該パーティクルの前記次のロケーション、該パーティクルの前記配向の前記確率、及び前記物体のマップモデルに基づいて求めることであって、該重要度重みは、前記パーティクルが前記接点を表す確率である、求めること、及び
各前記パーティクルの前記次のロケーションを条件とするカルマンフィルタリングを使用して、前記パーティクルのセット内の各前記パーティクルの前記配向の前記確率を更新すること、
をさらに含む、請求項19に記載の方法。
【請求項21】
物体モデル及び不確定性モデルに基づいて前記マップモデルを求めることをさらに含む、請求項20に記載の方法。
【請求項22】
前記更新することの後に、各前記パーティクルの前記重要度重みに基づいて前記パーティクルのセットを再サンプリングすることをさらに含む、請求項20に記載の方法。
【請求項23】
物体に対するプローブの姿勢を、該プローブを用いて該物体をプロービングすることによって求めるためのシステムであって、前記姿勢は該姿勢のロケーション及び該姿勢の配向を含み、各前記プロービングの結果、前記プローブと前記物体との間の接点がもたらされ、それによって各該接点において前記姿勢が推定され、該システムは、
前記物体に対する前記姿勢の確率をパーティクルのセットによって表す手段であって、前記姿勢の前記ロケーションの確率が各前記パーティクルのロケーションによって表され、前記姿勢の前記配向の確率が、各前記パーティクルの前記ロケーションを条件とする、該パーティクルの配向にわたるガウス分布によって表される、表す手段と、
前記接点から次の接点への前記プローブの動きに従って各前記パーティクルを次のロケーションに再配置する手段であって、該動きは前記プロービングによって生じる、再配置する手段と、
各前記パーティクルの重要度重みを、該パーティクルの前記次のロケーション、該パーティクルの前記配向の前記確率、及び前記物体のマップモデルに基づいて求める手段であって、該重要度重みは、前記パーティクルが前記接点を表す確率である、求める手段と、
各前記パーティクルの前記次のロケーションを条件とするカルマンフィルタリングを使用して、前記パーティクルのセット内の各前記パーティクルの前記配向の前記確率を更新する手段と、
前記パーティクルのセット内の前記パーティクルが特定の姿勢の周りに集中するまで前記再配置すること、前記求めること、及び前記更新することを繰り返す手段と、
前記特定の姿勢に基づいて前記物体に対する前記プローブの前記姿勢を求める手段と、
を含み、前記方法の前記ステップはプロセッサによって実行される、システム。
【請求項24】
物体モデル及び不確定性モデルに基づいて前記マップモデルを求める手段をさらに備える、請求項23に記載のシステム。
【請求項25】
前記更新すること及び前記反復することの間に、各前記パーティクルの前記重要度重みに基づいて前記パーティクルのセットを再サンプリングする手段をさらに備える、請求項23に記載のシステム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate


【公開番号】特開2011−221008(P2011−221008A)
【公開日】平成23年11月4日(2011.11.4)
【国際特許分類】
【外国語出願】
【出願番号】特願2011−52794(P2011−52794)
【出願日】平成23年3月10日(2011.3.10)
【出願人】(597067574)ミツビシ・エレクトリック・リサーチ・ラボラトリーズ・インコーポレイテッド (484)
【住所又は居所原語表記】201 BROADWAY, CAMBRIDGE, MASSACHUSETTS 02139, U.S.A.
【Fターム(参考)】