カルマンフィルターは、ノイズの多い測定値からシステムの状況を推定します。システムの挙動を数学的にモデル化し、決して完璧ではないセンサーデータを組み合わせることで、モデル単独またはセンサー単独よりも優れた推定値が得られます。
ルドルフ・カルマンは1960年にこのアルゴリズムを発表した。アポロ計画の航法コンピュータに採用され、それ以来、ほぼすべての誘導システムに搭載されている。ロボットはこのアルゴリズムを用いて、車輪オドメトリ、IMU、GPS、ライダーのデータを統合し、単一の位置推定値を算出する。ドローンはこのアルゴリズムを用いて、加速度計とジャイロスコープのデータを組み合わせて、安定した姿勢を維持する。
カルマンフィルターの仕組み
- 予測:モデルを使用して次の状態を推定します。
- 更新:センサーの測定値を使用して予測を修正します。
- ゲイン:予測値と測定値に、それぞれの不確実性による重み付けを行う。
- 共分散:推定値の不確実性を追跡します。
- 反復:各タイムステップで繰り返す。
このフィルタは、線形システムとガウスノイズを前提としています。実際のシステムは非線形であることが多く、そのため拡張カルマンフィルタや無香料カルマンフィルタが存在します。これらは、現在の推定値を中心にモデルを線形化します。カルマンフィルタは魔法ではありません。不完全な情報を組み合わせるための原理に基づいた方法です。不適切なモデルや不適切なセンサーデータを与えると、不適切な推定値が生成されます。しかし、モデルとセンサーが適切な場合、非常に効果的です。ロボット工学において最も重要なアルゴリズムの1つです。
Comments
No comments yet. Be the first to share a thought.
Leave a comment