オドメトリ運動モデルを使用した拡張カルマンフィルター


14

EKFローカリゼーションの予測ステップでは、線形化を実行し、(確率的ロボティクス[THRUN、BURGARD、FOX]ページ206で述べたように)速度運動モデルを使用するときのヤコビ行列を定義する必要があります。

[xyθ]=[xyθ]+[v^tω^t(sinθ+sin(θ+ω^tΔt))v^tω^t(cosθcos(θ+ω^tΔt))ω^tΔt]

として計算されます

GT=[10υtωt(cosμt1,θ+cos(μt1,θ+ωtΔt))01υtωt(sinμt1,θ+sin(μt1,θ+ωtΔt))001]

ロボットの動きが回転δ^rot1、平行移動δ^および2番目の回転δ^rot2?対応する方程式は次のとおりです。

[xyθ]=[xyθ]+[δ^cos(θ+δ^rot1)δ^sin(θ+δ^rot1)δ^rot1+δ^rot2]

その場合、ヤコビアンは

GT=[10δ^sin(θ+δ^rot1)01δ^cos(θ+δ^rot1)001]

移動ロボットのローカリゼーションに速度の代わりに走行距離測定運動モデルを使用することは良い習慣ですか?


私はあなたのd_y / d_theta用語はむしろマイナスよりも正であることを信じている(つまりは+ \帽子{\デルタ}のcos(θ+ \帽子{\デルタ} _ {ROT1})でなければなりません)
RCV

回答:


9

2つの質問をしました。私がそれらを解釈するとき、それらは:

  1. 拡張カルマンフィルター(EKF)で使用するために走行距離測定運動モデルを線形化する必要がありますか?
  2. 速度運動モデルの代わりに走行距離測定運動モデルを使用する方が良いでしょうか。

質問1については、短い答えは「はい」です。カルマンフィルター(KF)の保証は、線形システムにのみ適用されます。非線形システムに対するこれらの保証の一部を保持することを期待して、非線形システムを線形化します。実際、システムの非線形コンポーネント(つまり、運動モデルや観測モデル)を線形化することは、KFとEFKを区別するものです。

質問2について、Thrun博士は確率ロボティクスの132ページで、「[p]実際の経験では、オドメトリは依然として誤りであるが、通常は速度よりも正確であることを示唆している」と主張しています。しかし、私はこの声明を速度モデルに取って代わる議論として解釈しません。速度と走行距離の両方の情報がある場合は、一般に両方の情報源を使用することをお勧めします。


テイラーベースの線形化に代わる別の方法は、Unscented KFです:seas.harvard.edu/courses/cs281/papers/unscented.pdf
Alex Kreimer

2

私の経験では、あなたの最後の質問に対する答えは「はい」です。動的(速度)予測の代わりに走行距離計を使用したほうがずっと運が良かった。ただし、あなたが説明したモーションモデルは使用したことがありません(Thrunの本から)。代わりに、ここで説明したモデルを使用しまし


本では、モデルは運動学的問題として扱われているので、シミュレーション問題に適したモデルだと思います。
クロコ

2

最初の質問:「オドメトリーモーションモデルを使用するときに同じことが当てはまりますか?」に対する答えは「はい」です。

EKFはKFとほとんど同じですが、線形化ステップが追加されています。ここで線形化するのは、どのようなモデルであっても、モーションモデルです。

2番目の質問:「移動ロボットのローカリゼーションに速度の代わりに走行距離測定のモーションモデルを使用するのは良い習慣ですか?」:答えは「依存する」と思います。

速度情報を持つデータセットを使用しており、ローカリゼーションが目的に十分合っている場合は、おそらくそのモデルの単純さが優先されます。ロボットを直接制御し、走行距離情報にアクセスできる場合、より良い結果が得られる可能性があります。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.