0

私はレッグ フォロワー ロボットを作成するように依頼されました (私は既に作成しました)。この課題の 2 番目の部分では、ロボットの追従プロセスを改善するためにカルマン フィルターを開発する必要があります。ロボットは、人からロボットまでの距離と角度を取得します (参照は絶対 xy 座標ではなく、ロボット自体であるため、相対角度です)。

この課題について、私は深刻な疑問を持っています。私が読んだすべて、カルマンフィルターについて見たすべてのサンプルは1次元(車の走行距離または建物から落ちる岩)であり、タスクに従って2次元で適用する必要があります。このようなカルマン フィルターを適用することは可能ですか?

カルマン フィルターを 2 次元で計算できる場合は、人が奇妙に (ランダムな動きで) 歩いているにもかかわらず、線形化された方法で足をたどることが求められていることを理解できます --> これについては疑問があります状態マトリックスの機能を確立する方法について、誰かがそれを行う方法を教えてください、またはこれに関する詳細情報をどこで見つけることができるか教えてください。

ありがとう。

4

1 に答える 1

1

さて、カルマンフィルターを読んでください。基本的に、それが行うことは、平均と分散を別々に使用して状態を推定することです。状態は好きなようにできます。州のローカル座標だけでなく、グローバル座標も持つことができます。

後者は確かに非線形システム ダイナミクスになることに注意してください。この場合、拡張カルマン フィルターを使用できます。より正確には、システム ダイナミクスを連続的に処理し、測定値を離散的に処理する連続-離散カルマン フィルターを使用できます。時間。

グローバル座標の例:

速度 v で前方に駆動できる小さな立方体の質量があると仮定します。状態 s がs = [v]線形モデルであるローカル座標のみでダイナミクスを単純にモデル化できます。

ただし、平面上のみを移動していると仮定すると、グローバル座標 x と y を組み込むこともできます。次に、あなたが持っているでしょうs = [x, y, phi, v]'phiもちろん、立方体はその方向に対して前方にしか移動できないため、現在の方向を追跡する必要があります。phi立方体の前方方向と - 軸の間の角度として定義しましょうx。言い換えればphi=0、立方体は x 軸に沿って移動し、立方体はphi=90°y 軸に沿って移動します。

グローバル座標を使用した非線形システム ダイナミクスは、次のように記述できます。

s_dot = [x_dot, y_dot, phi_dot, v_dot]' 

x_dot = cos(phi) * v
y_dot = sin(phi) * v
phi_dot = ...
v_dot = ... (Newton's Law)

EKF (拡張カルマン フィルター) 予測ステップでは、上記の (離散化された) 方程式を使用して、最初のステップで状態の平均を予測し、線形化 (および離散化) された方程式を分散の予測に使用します。

s状態ベクトルがどのように見えるかを決定するときは、次の 2 つの点に注意してください。

  • s = [v]グローバル座標推定を取得するために、私の線形の例を使用して、カルマン フィルターの外側で速度を積分したくなるかもしれません。これは機能しますが、分散ではなく状態の平均のみを統合するため、カルマン フィルターの優れた点が失われます。言い換えれば、グローバル座標の現在の不確実性が何であるかがわかりません。
  • カルマン フィルターの 2 番目のステップである測定または補正の更新では、センサー出力を状態の関数として記述できる必要があります。したがって、測定値を正しく表現できるように、表現に状態を追加する必要がある場合があります。測定値as z[k] = h(s[k], w[k])zガウスw分布のノイズ ベクトルです。
于 2015-04-09T09:05:23.987 に答える