テクノロジー

カルマンフィルタとは?

スマホは自分がどちらを向いているかを知り、ドローンは自分がどれだけ速く動いているかを知っています。それでも、どちらも誤差のないセンサーを持っているわけではありません。持っているのは、不完全なセンサーどうしを組み合わせる方法です。1960年に発表され、いまではスマホ、ドローン、自動車、宇宙機で働いている、カルマンフィルタです。

要点:カルマンフィルタは、位置や速度など、何かについての最善の推定を、それがどれだけ不確かかと一緒に保ち続けます。各ステップで、動きのモデルから物がどこにあるはずかを予測し、その予測を最新の測定値で補正します。そのとき、それぞれの情報源をどれだけ信頼できるかに応じて重みをつけます。R. E. Kalman が1960年にこの手法を発表し、その後まもなく、NASAエイムズ研究センターのエンジニアたちが、航空宇宙で実際に使える道具にしました。

どのセンサーも、それぞれのかたちで間違う

単独で正しいセンサーはありませんが、それぞれをその時々でどこまで信頼すればよいかがわかっていれば、組み合わせることで、どれか1つよりもずっとよい結果が得られます。それがフィルタの仕事です。

予測して、補正する

  1. 予測する。直前の推定と、物がどう動くかのモデルから、新しい状態を予測します。1m/sで動くドローンは、0.1秒後には10cm先にいます。予測はずれていくので、不確かさは大きくなります。
  2. 測る。センサーの値を読みます。
  3. 補正する。予測と測定値を混ぜ合わせます。その重みはカルマンゲインと呼ばれ、両者の不確かさから決まります。精度の高い測定値は推定を強く引き寄せ、ノイズの多い測定値は少ししか引き寄せません。不確かさは小さくなります。
  4. 繰り返す。これを1秒間に何回も行います。

Kalman の1960年の論文は、ほかの結果とあわせて、最善の推定の不確かさがどう変化していくかを表す方程式を導きました。フィルタそのものは、それ以上の計算をしなくても、この方程式から導かれます。

論文から宇宙機へ

McGee と Schmidt による1985年の NASA の報告書は、エイムズ研究センターの研究者たちが、Kalman の研究が発表されてまもなくそれを取り上げ、ある航空宇宙の応用に向けた実用的な道具につくり直した経緯を伝えています。彼らが線形でないシステムのために開発した版は、現在では拡張カルマンフィルタと呼ばれていますが、いまも単にカルマンフィルタと呼ばれることが少なくありません。航空機や宇宙機に積まれた小さなコンピューターでこれを動かすと数値計算上の問題が起き、それがフィルタの「平方根」形式と、飛行中の機上コンピューターでの初めてのテストにつながりました。

いま使われている場所

うまく働くために必要なもの

Alkyon の設計

Alkyon は、家の中を飛ぶコンパニオンとして私たちが構想しているコンセプトです。モーションセンサー、下向きのオプティカルフローセンサー、周囲の深度センサーから、自分の位置と速度を推定するよう設計しています。私たちのシミュレーションでは、この推定はすばやく届く必要があり、そのゆっくりとしたドリフトは、私たちの主な未解決の課題の1つです。地図がどう役立つかは、SLAMとはで説明しています。開発中のコンセプトで、ヨーロッパ向けのみです。屋内ドローンのナビゲーション(英語)。

出典(2026年11月4日閲覧):R. E. Kalman「a new approach to linear filtering and prediction problems」Journal of Basic Engineering、1960年。McGee、Schmidt「discovery of the Kalman filter as a practical tool for aerospace and industry」NASA、1985年。一般的な情報です。

よくある質問

カルマンフィルタは、簡単に言うと何をするのですか?

位置や速度など、何かについての最善の推定を、その推定がどれだけ不確かかと一緒に保ち続けます。動きのモデルから次の値を予測し、新しい測定値でその予測を補正します。そのとき、それぞれをどれだけ信頼できるかに応じて重みをつけます。

カルマンフィルタはどこで使われていますか?

不完全な複数のセンサーをリアルタイムで組み合わせる必要がある場所なら、どこでもです。自分の向きを割り出すスマホ、衛星測位の受信機、位置と速度を推定するドローンやロボット、自動車、航空機、宇宙機などです。