カルマンフィルターのチェーン


9

私のチームは、屋外環境で自律的に移動するロボットを構築しています。最近、統合された新しいIMU / GPSセンサーを入手しました。このセンサーは、チップ上で拡張カルマンフィルター処理を実行しているようです。ピッチ、ロール、ヨー、北、東、下の速度、緯度と経度が表示されます。

ただし、ホイールにはいくつかのエンコーダーが取り付けられており、線形および角速度を提供します。この新しいIMU / GPSセンサーを入手する前に、独自のEKFを作成して、エンコーダーやその他の低コストセンサーを使用して状態を推定しました。この新しいセンサーのオンチップフィルターを使用するだけでなく、エンコーダーをミックスに組み込みます。

フィルターのチェーンに問題はありますか?つまり、エンコーダから読み取ったデータをEKFの更新として使用するのと同じように、IMU / GPSセンサーのオンチップEKFの出力を独自のEKFの更新として使用します。それは私には理にかなっているように見えますが、この場合通常何が行われるべきか疑問に思っていました。


修正/見積もりをEKFの「ブラックボックス」にフィードバックできますか?
ダミアン

@Damienいいえ、それを行う方法はないようです。
Robz 2013年

回答:


4

INS / GPSを最初のEKFの出力の更新として使用できます。これは実際には連鎖ではなく、INS / GPSからの追加情報に基づいて推定値を調整するだけです。

次の関数があるとします。

xt+1|t、 = EKF_PREDICT(、、)、状態、共分散、および制御入力(によって推定)入力。Pt+1|txtPtutxPut

そして

xt+1|t+1、 = EKF_UPDATE(、、)。 Pt+1|t+1xt+1|tPt+1|tx^t+1

センサーからの推定値はです。次のようなものがあります。x^t+1

x^t+1gps=f(GPS)

x^t+1map=f(map)

x^t+1ins=f(INS)

ロボットの状態を推定する他のすべての方法など。したがって、これらすべてのセンサーに対して関数EKF_UPDATEを実行するだけで十分です。

ループは次のようになります。

ずっとt

  • してみましょうポーズの現在の走行距離計測/動推定すること、およびその推定上のノイズです。utRu

  • xt+1|t、 = EKF_PREDICT(、、、)Pt+1|txtPtutRu

  • すべてのセンサー、S

    • ましょうそのセンサから姿勢の推定値であること、及び、その推定上のノイズでありますx^t+1SRS

    • xt+1|t+1、 = EKF_UPDATE(、、)。 Pt+1|t+1xt+1|tPt+1|tx^t+1,RS

    • 終わり

  • 終わり

注意点は次のとおりです。

  • EKFを使用しているため、推定値が更新の順序とは無関係であるという保証はありません。つまり、INSを実行してからGPSを実行した場合、GPSを実行してからINSを実行して更新した場合とは、推定結果が異なる場合があります。これは通常大したことではありませんが、フィルターは大幅に多くの調整を必要とします。

  • INSにはバイアスとドリフトがあり、長期的な信頼性に影響を与える可能性があることに注意してください。GPSはあなたを助けることができる多くのことをここに。ほとんどの文献は、INSのバイアスとドリフトを同時に推定しています。

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