センサーデータにフィルタリングを適用する必要があるのはどの段階ですか?


8

センサーから生の値を取得した後、または生の値を使用可能なデータに変換した後、フィルタリング(カルマン/ローパス)を行いますか?それは重要ですか?もしそうなら、なぜですか?

例:IMUから生の値を取得した後にフィルターするか、生の値を使用可能なデータに変換した後にフィルターします。飛行力学パラメータ。

回答:


1

KFは、すべてのセンサー入力とセンサーの相関に基づいてロボットの姿勢を推定します。コンパスデータに対してEKFを実行する場合、コンパスの読み取り値どの程度であるかを判断するためにロボットのポーズが本当に必要になります。それがなければ、ローパスフィルタリングになります(KFのような確率的フィルターは使用しません)。

すべてを同じフレームに入れる前にフィルタリングすると、フィルタリングどの情報をフィルタリングする必要があるのか​​わかりません。「使用可能」の意味が正確にはわからないので、すべてのセンサーデータをロボットの座標フレームに変換したと思います。その場合、すべてのセンサー測定値を1つのEKFに直接入力できるため、フィルタリングは非常に簡単です。実際、これは私がよく知っているフィルタリングを行う「通常の」方法です。

:IMUがロボットに接続されているとします。IMUは、ロボットのポーズの推定に使用されます。IMUがロボットの動きについて何かを伝えている限り、どの単位を使用してもかまいません。次に、IMU の相互関係を使用して、コンパスや走行距離計など、動きを測定する他の物に使用できます。それがKFの目的です。KFは、バンドパスフィルターなどのセンサーフィルターではありません

ここに非常に関連する答えがあります


私はあなたの答えを理解するのに苦労しています。生の値をIMUからオイラー角に変換する必要があるとしましょう。変換する前に生データをフィルタリングする必要がありますか?正しい?

IMUがロボットに接続されているとしましょう。IMUはロボットのポーズを推定します。IMUがロボットの動きについて何かを伝えている限り、どの単位を使用してもかまいません。次に、IMU の相互関係を使用して、コンパスや走行距離計など、動きを測定する他のことを行うことができます。それがKFの目的です。KFは、バンドパスフィルターなどのセンサーフィルターではありません
Josh Vander Hook

ああ!すばらしい答えジョシュ!:) 分かりました。ありがとうございました!

0

生データをフィルタリングします。

ほとんどのノイズとエラーを(うまくいけば)取り除きます。通常、生データはそれほど役に立ちません。

ジャイロはドリフトし、コンパスには多くのノイズがあります。カルマンは両方を削除できます。


1
カルマンは、ロボットのポーズでセンサーの読み取りを調整してから、ロボットのポーズを更新します。ロボットのポーズを知らずにセンサーデータだけをフィルタリングすることはできません。それ以外の場合は、データを平滑化するだけです。スムージングフィルタリングですが、カルマンフィルタリングはスムージングではありません
Josh Vander Hook
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.