カルマンフィルター-「派生」測定を処理する最適な方法


13

すなわち、状態変数として位置(p)と速度(v)があり、pの低周波測定を行うと、これは間接的にvに関する情報も提供します(pの微分なので)。そのような関係を処理する最良の方法は何ですか?

A)更新手順では、pを測定したとだけ言って、vを修正するためにフィルタリングプロセスと累積状態共分散行列(P)に依存する必要がありますか?

B)pの測定の更新ステップの後または前に、測定されたpと(比較的大きい)デルタ時間を使用してvの高分散予測を行う「余分な」予測ステップを作成する必要がありますか?

C)更新/測定のステップで、pvの両方を測定し、それらの相互依存性に関する情報を測定共分散行列(R)に何らかの方法でエンコードしたと言う必要がありますか?


もう少し背景を説明するために、問題に遭遇した特定の状況を以下に示します。

私は物体の位置(p)を推定したいシステムで作業しており、加速度(a)を頻繁に測定し、pの頻度の低いノイズ測定を行っています。

私は現在、拡張カルマンフィルターでこれを行うコードベースで作業しています。このコードベースでは、状態変数pおよびvとして保持されます。加速度測定のたびに「予測」ステップを実行し、測定されたaとデルタ時間を使用して、新しいpvを統合および予測します。次に、(まれな)p測定ごとに「更新」/「測定」ステップを実行します。

問題はこれです-私は時々aの高エラー測定値を取得、それは非常に誤ったvをもたらします。明らかに、aのさらなる測定はこれを決して修正しませんが、pの測定はこれを取り除くべきです。そして、実際、これは起こるように見えます...しかし、非常にゆっくりです。

このシステムでpvに影響する唯一の方法は、共分散行列P(つまり、上からの方法A)を介することだけであるため、これは部分的にはあると考えていました。pvの間のこの関係に関する知識をモデルに組み込んで、pの測定がvをより速く修正するためのより良い方法があるかどうか疑問に思っていました。

ありがとう!


1
a

2
pvpk+1=pk+vkt

回答:


3

理想的な世界では、正しいモデルがあり、それを使用します。
あなたの場合、モデルは完全ではありません。
ただし、提案する手順は、プロセスに関する知識に基づいています-動的モデルマトリックスを使用してプロセス方程式に組み込む必要があります。

  1. F行列を与えられた古典的で正しい方法は、あなたの知識に従って正しく構築されます。

  2. Fk=FjFjkQR

  3. Vを測定しない場合は、何らかの方法で「推定」する必要があります。それでも定義上、あなたのケースがカルマンのフィルターを使用してカルマンの仮定に該当する場合、最良の結果が得られます。

全体として、「クラシック」に固執します。

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