回答:
あなたはないマイクロコントローラに直接、すべてのこれらのセンサを接続します。カルマンフィルターは、センサーとマイクロコントローラーの間を通るLRCフィルターのような電子フィルターではありません。カルマンフィルターは、マイクロコントローラー内のソフトウェアルーチンとして実装される数学フィルターです。
リストしたセンサーは、すべて更新されるたびにマイクロコントローラーに14または15の生の数値を与えます。
私が小さな飛行機を操縦するとき、私が本当に知りたいのは、その位置と方向、そしてそれが地上からどれだけ離れているか、つまり7つの数字です。
私はそれらの7つの数字を与えるものが必要です。
理想的には、制御ループを介して毎回これらの7つの数値の新しい推定値が必要です。安価なGPSから取得する1秒に1回の更新は、十分に高速ではありません。(クアッドコプターの出力、検出、計算、出力の更新ループはどの周波数で安定している必要がありますか? 1秒あたり50回でも十分な速度ではないことを教えてくれます)。
どういうわけか、私が持っている14個または15個の未加工の数字を、たまにしか更新されないものを、本当に欲しい7個の数字(の推定値)に減らす必要があります。
Joshが指摘したように、これらの生の数値を使用可能なデータに変換するアドホックな方法が数多くあります。15個の数字を7個の数字に変換するルーチンはすべて、「フィルター」として説明できます。
最適なフィルターを使用する必要はありません。ただし、何らかの種類のフィルターを使用します。つまり、持っている15個の生データを、本当に必要な7個の数字(の推定値)に変換するものです。
カルマンフィルタは、いくつかの条件では、「最適」フィルタ、私が本当にしたい7つの数字にその生データを変換する最良の方法です。
他の誰かがすでに書いてデバッグしたカルマンフィルターを使用する方が、他のフィルターを最初から作成してデバッグし、使用可能になるまでそれを追加し続けるよりも、あなたの側での作業が少なくなる場合があります。必然的に最適ではないことが判明します。
短い、わからない答えは「それなしで試してみてください」です。より良い答えは例です:加速度計が垂直から10度離れていると言っているが、ジャイロは垂直から離れて回転していないと言い、磁力計は北から30度のオフセットを報告しているが、ジャイロは32度と言っている場合。現在の見出しと傾きは何ですか?
おそらく、100万のアドホックな方法を思い付くでしょう。これらの方法は、ある例ではうまくいくように見えますが、他の例では失敗します。カルマンフィルター(このタスク用の拡張カルマンフィルター(EKF)!)は、これらの質問に答える厳密な方法を提供します。EKFの実績は非常に優れていますが、回答の品質はまだ調査中ですが、少なくとも誰もが回答が何であるかに同意するでしょう。
センサーデータはノイズが多い。フィルターを使用しない場合、飛行するのに十分安定していれば、車両は少なくとも不規則に動作します。カルマンフィルターなどを介したフィルター処理は、正しく行われるとノイズを減らし、安定性を向上させることができます。
カルマン・フィルタは、特に強力なフィルタです。システムのモデルと、システムとセンサーの両方のノイズモデルが必要です。次に、提供された状態推定値と任意の時点で適用された制御に基づいて、車両の状態を推定します。この推定状態は、センサーが報告する状態よりも正確です。
パーティクルフィルターも使用できます。パーティクルフィルターの基本的な紹介については、ロボット車のプログラミングに関するThrun教授のビデオをご覧ください。
http://www.youtube.com/watch?v=H0G1yslM5rc
http://www.youtube.com/watch?v=QgOUu2sUDzg
パーティクルフィルターはより堅牢で、EKFの実装中に一般的に発生するループクロージャエラーの確率がはるかに低くなります。
ビデオでは、粒子フィルターの機能について説明しています。
カルマンフィルターは、UAVで一般的に使用されるアルゴリズムであり、複数のセンサー測定値を融合して、UAVの位置および/または方向の「最適な」推定値を提供します。たとえば、カルマンフィルターは、加速度計、ジャイロ、磁力計の測定値と速度推定値を融合して、UAVのヨー、ピッチ、ロールを推定できます。
UAV状態推定で使用されるセンサーとアルゴリズムの詳細については、スタンドアロンの記事Fundamentals of Small Unmanned Aircraft Flightをお試しください。
この記事は、記述されたカルマンフィルターUAV状態推定アルゴリズムを実装する付属のMatlabコードにもリンクしています。