非常に基本的な質問ですが、私はEKF-SLAMのヤコビ行列を計算する理由を知りたいので、これを理解するのは難しいです。それは難しいが、私はそれを知りたい。誰かが私を助けてくれるのかどうか疑問に思っていました。なぜekf-slamのヤコビアンを計算するのですか
1
A
答えて
1
カルマンフィルタは線形システムで動作します。ステップは、2つの部分を並列に更新します。状態はx
であり、誤差共分散はP
です。線形システムでは、次にx
をFx
で予測します。 Fx
という正確な共分散をFPF^T
として計算することができます。非線形システムでは、x
をf(x)
として更新できますが、P
を更新するにはどうすればよいですか? 2つの人気の方法があります:EKFで
- は、我々は
x
でf()
の線形近似を選択し、通常の方法FPF^T
を使用します。 - UKFでは、共分散値が
P
のx
の分布の近似値を作成します。近似は、シグマポイントと呼ばれる一連の点です。次に、これらの状態を実際のf(sigma_point)
に伝播させ、結果の分布の分散を測定します。
あなたはEKF(ケース1)に関心があります。関数の良い線形近似とは何ですか?カーブをズームインすると、直線のように見え始めます。傾きは、その点の関数の微分値です。それが奇妙に聞こえる場合は、Taylor seriesをご覧ください。多変量の等価物はヤコビ行列と呼ばれます。そこで、f()
のヤコビアンをx
に評価すると、F
となります。今度はFx != f(x)
となりますが、x
への変更が小さい(私たちの近似F
があまり変更されないほど小さい)限り、それは問題ありません。
EKF近似の主な問題点は、近似を使用して測定ステップ後に分布を更新すると、結果として得られる共分散が低くなる傾向があることです。P
が低すぎます。これは、直線的な方法で補正 "仕事"のように動作します。実際の更新は線形近似からわずかに出発し、それほど良好ではありません。これらの少量の過信は、KFが反復するにつれて増加し、Q
に架空のプロセスノイズを加えることによって相殺されなければなりません。
関連する問題
- 1. scipy.optimize.minimize、制約とそれらのヤコビアンを一度に計算する
- 2. なぜSVMのマージンを計算するのですか?
- 3. なぜパーセントを計算できないのですか?
- 4. 計算結果が0になるのはなぜですか?
- 5. なぜ 'if'ステートメントを再計算しないのですか?
- 6. なぜ計算コードが機能しないのですか?
- 7. なぜPythonでの疎な行列計算が遅すぎるのですか
- 8. なぜ100の階乗をスカラーで計算できないのですか?
- 9. Googleスプレッドシートの計算式が自動的に再計算されないのはなぜですか?
- 10. なぜ非同期計算でプログラムが遅くなるのですか?
- 11. 計算式を含むPSeq.mapがハングアップするのはなぜですか?
- 12. 目的の計算で計算する
- 13. 私の計算がうまくいかないのはなぜですか?
- 14. 定数注釈パラメータを計算できないのはなぜですか?
- 15. Firefoxの計算でdivディメンションが正しくないのはなぜですか?
- 16. 私の置換計算機が小数を返すのはなぜですか?
- 17. Rと私の電卓はこの乗算を別々に計算するのはなぜですか?
- 18. SASSが計算を解決しないのはなぜですか?
- 19. なぜseq計算ビルダーは "let!"を許可しないのですか?
- 20. なぜHighStockのダニが不均等に計算されるのですか?
- 21. 私のライティング計算が間違っているのはなぜですか?
- 22. 計算にこのエラーが表示されるのはなぜですか?
- 23. なぜコンピュータビジョンは計算上困難ですか?
- 24. なぜ符号を計算し、再び絶対値で乗算するのですか?
- 25. BigDecimalの計算が機能しないのはなぜですか?
- 26. ブラウザで異なる動作をする計算式計算
- 27. e(e^x)のパワーを計算します。なぜn = 999ですか?
- 28. なぜPythonがマルチプロセッシングでいくつかの計算を事前に計算しようとしている
- 29. 私のAndroidアプリの最初の計算が遅いのはなぜですか?
- 30. JavaScriptで正確な計算を計算する