オリジナルのカルマン・フィルタ(KF)、拡張カルマンフィルタ(EKF)と3つのカルマンフィルタ(UKF)との間の無香性の差?
オリジナル:https://www.zhihu.com/question/22714163/answer/87629897
線形ガウス場合のKF、非線形一次テイラー展開の一部である非線形ガウスためEKFは、このように高次項を無視して、誤差が大きい、UT UKFは、組合せのKF物に変換され、それ基本的な考え方は、非近い自体が容易の確率分布の非線形関数を閉じることです。後者の二つは、同じ問題にカルマン・ソリューションは、実際には、UKFの能力は非線形ガウスの範囲から飛び出した、それはまた、非ガウスの問題を解決することができますが、PFは、この点でより良い行うことができ、操作さまざまなアイデアです量が多いです。
1.KFは、線形フィルタ、多くの説明です。カルマンフィルタ状態推定線形積分多次元ベクトルを計算することと等価であることができる。2.それは非線形カルマンフィルタになる理論をフィルタリングすることは理論的枠組み均一ベイズから誘導されます。点は、確率密度関数の形で表されてもよいXのガウスの非線形関数です。あなたはガウス加重不可欠な多次元非線形関数を近似している必要がありますのでただし、閉形式解の統合は、解決が困難です。約2つの主要なカテゴリー:非線形関数近似ガウス確率密度関数を近似します。
微分多項式とカルマンDDF(例えばチェビシェフ多項式など)に基づいて、テーラー級数展開EKFの近似非線形関数、。
主トラックの存在または非存在の確率密度関数変換(UKF)を近似し、カルマン・ボリューム、中心差分カルマンフィルタ、あるいは共分散行列の分解は平方根カルマンフィルタ等に基づいて構成される。したがって、カルマン・フィルタは、事後密度メイク仮定次善の推定値です。粒子フィルタ、ガウシアン混合フィルタ、適応フィルタ格子点群及び事後確率密度を推定する最適ではないように、任意の仮定を行います。しかし、計算ビッグ。位置推定値更新は、データ1700の複数を更新する必要がある時間の間UKF + srcdkf状態、に基づいて画像。粒子の量を使用してフィルタ演算が大きければ......
図カルマンフィルタ、分かりやすいチュートリアルいます
オリジナル:https://zhuanlan.zhihu.com/p/39912633
著者:Bzarg
コンパイル:ボット
編集者注:カルマン・フィルタ(カルマンフィルタ)は、動的システムの状態で存在することができ、効率的な自己回帰フィルタは、不確実性の推定の多くの場合の情報の組み合わせである強力な、汎用性の高いですツール。その著者、ルドルフ.E。カルマンは、この方法では、アポロ計画の軌道を予測する問題を解決するのに役立つことが分かっNASAエイムズ研究センターを訪問し、中に、NASAは、アポロ宇宙船のナビゲーションシステムの後半でしたまた、このフィルタを使用していました。最後に、正しい月に向かって宇宙船は、人間の歴史の中で月面上の最初の着陸を完了しました。
この記事は、2015年の図の外国人ブロガーBzargによって書かれています。数年前の記事が、ダイナミックポジショニング、自動ナビゲーション、時系列モデル、衛星ナビゲーションが - カルマン・フィルタの適用範囲は非常に広いままです。だから、ソフトウェアエンジニアと機械学習技術者として、あなたは本当にカルマンフィルタにそれを理解できますか?
カルマン・フィルタとは何ですか?
このフィルタのために、私たちはほとんど、このような結論の下にすることができますように長い動的システムがあるとして、不確実な情報であり、カルマン・フィルタは、次の推測を行うためにどのようなシステムにすることができます。干渉ノイズ情報があっても、カルマン・フィルタは、通常、感知できない現象との相関関係を調べるために、何が起こったかを見つけることが良いです。
カルマンフィルタはよくシステムを変更することに適しているので、その利点、ならびにより小さなメモリフットプリント(直前の状態を保持する)、速いスピードは、リアルタイムおよび組込みシステムの問題のために理想的です。
あなたは(今少し良くあり)Googleのチュートリアルカルマンフィルタを持っていた場合、あなたは非常に怖いですチュートリアル関連するアルゴリズムがありますが、具体的にどのようなはっきりそう言いませんでした。実際には、カルマン・フィルタは、我々はそれで正しい方法を見れば、理解は非常に自然なことである、非常に簡単です。
この記事では、読者がちょうど基本的な確率論と行列の一般的な知識を持って、この概念を説明するために明確な、美しい映像と多くの色を使用します。
私たちは、カルマンフィルタで何をしますか?
のは、例を見てみましょう:あなたは森の中の周りの小さな散歩をすることができるロボットを、それがナビゲーションを実現するためには、ロボットがあなたの場所に位置しています知っている必要があります。
すなわち、ロボットが含まれる状態位置情報及び速度情報を有しています 。
注、この例では、位置及び速度の状態、すなわち、液体体積の水、自動車エンジン温度、タッチパッド上の指の位置、または他の任意のデータであってもよい他の問題に。
私たちの小さなロボットは、GPSを装備したセンサ 10メートルの精度の位置決め、。一般的にこの時点で、精度は十分に良いですが、我々はそれが、再び小さな点の位置決め誤差だロボットがこれほど少ないの数メートルを偏っている場合、すべての後、森は、ピットや急な斜面に満ちている願っていますが、それは可能性が山腹を展開しています。したがって、GPSによって提供される情報はまだ十分ではありません。
我々はまた、することができます予測する方法を移動するには、ロボットを:この時点で、それは常に障害物に遭遇することなく、1つの方向に移動された場合には、コントロールホイールモータにコマンドを送信します、そして、次の瞬間には、それがこのラインに付着し続けることができます。しかし、自分自身の状態のロボットは全知ではない:それは風に逆らって航海することができ、車輪がでこぼこの地形転がり落ち、スキッド......そう、車輪の回転数と実際の距離を表すものではありません。この距離は完璧ではないと予測に基づいて、移動しました。
この問題の下では、GPSは、状態に関するいくつかの情報を提供してくれますが、それは不正確で、間接的であり、私たちの予想は、ロボットの軌道に関する情報を提供するだけでなく、間接的、不正確な。
しかし、それは、我々は完全な予測を与えることができるかどうか、その根拠に得ることができるすべての情報だ、それが収集要約高いのロボットよりも、単一の予測精度は?カルマン・フィルタでは、この問題を解決することができます。
カルマンフィルタ問題ロボットの目
あるいは、上記の問題は、我々は状態を持っており、そのスピード、の場所:
私たちはどれだけ彼らの実際の値を知りませんが、速度と位置のいくつかの組み合わせを保持することができる、いくつかの組み合わせの可能性が高いです。
カルマン・フィルタは、2つの変数は、(この例では位置と速度である)であることが想定されるランダム、およびと一致するガウス分布。各変数が持つ平均値 ランダムに分布の中心であり、;分散があり 、不確実性の組合せの尺度を。
在上图中,位置和速度是不相关的,这意味着我们不能从一个变量推测另一个变量。
那么如果位置和速度相关呢?如下图所示,机器人前往特定位置的可能性取决于它拥有的速度。
这不难理解,如果基于旧位置估计新位置,我们会产生这两个结论:如果速度很快,机器人可能移动得更远,所以得到的位置会更远;如果速度很慢,机器人就走不了那么远。
这种关系对目标跟踪来说非常重要,因为它提供了更多信息:一个可以衡量可能性的标准。这就是卡尔曼滤波的目标:从不确定信息中挤出尽可能多的信息!
为了捕获这种相关性,我们用的是协方差矩阵。简而言之,矩阵的每个值是第 个变量和第 个变量之间的相关程度(由于矩阵是对称的, 和 的位置可以随便交换)。我们用 表示协方差矩阵,在这个例子中,就是 。
用矩阵描述问题
为了把以上关于状态的信息建模为高斯分布(图中色块),我们还需要 时的两个信息:最佳估计 (均值,也就是 ),协方差矩阵 。(虽然还是用了位置和速度两个变量,但只要和问题相关,卡尔曼滤波可以包含任意数量的变量)
接下来,我们要通过查看当前状态(k-1时)来预测下一个状态(k时)。这里我们查看的状态不是真值,但预测函数无视真假,可以给出新分布:
我们可以用矩阵 表示这个预测步骤:
它从原始预测中取每一点,并将其移动到新的预测位置。如果原始预测是正确的,系统就会移动到新位置。
这是怎么做到的?为什么我们可以用矩阵来预测机器人下一刻的位置和速度?下面是个简单公式:
换成矩阵形式:
这是一个预测矩阵,它能给出机器人的下一个状态,但目前我们还不知道协方差矩阵的更新方法。这也是我们要引出下面这个等式的原因:如果我们将分布中的每个点乘以矩阵A,那么它的协方差矩阵会发生什么变化
把这个式子和上面的最佳估计 结合,可得:
外部影响
但是,除了速度和位置,外因也会对系统造成影响。比如模拟火车运动,除了列车自驾系统,列车操作员可能会手动调速。在我们的机器人示例中,导航软件也可以发出停止指令。对于这些信息,我们把它作为一个向量 ,纳入预测系统作为修正。
假设油门设置和控制命令是已知的,我们知道火车的预期加速度 。根据运动学基本定理,我们可得:
把它转成矩阵形式:
是控制矩阵, 是控制向量。如果外部环境异常简单,我们可以忽略这部分内容,但是如果添加了外部影响后,模型的准确率还是上不去,这又是为什么呢?
外部不确定性
当一个国家只按照自己的步子发展时,它会自生自灭。当一个国家开始依赖外部力量发展时,只要这些外部力量是已知的,我们也能预测它的存亡。
但是,如果存在我们不知道的力量呢?当我们监控无人机时,它可能会受到风的影响;当我们跟踪轮式机器人时,它的轮胎可能会打滑,或者粗糙地面会降低它的移速。这些因素是难以掌握的,如果出现其中的任意一种情况,预测结果就难以保障。
这要求我们在每个预测步骤后再加上一些新的不确定性,来模拟和“世界”相关的所有不确定性:
如上图所示,加上外部不确定性后, 的每个预测状态都可能会移动到另一点,也就是蓝色的高斯分布会移动到紫色高斯分布的位置,并且具有协方差 。换句话说,我们把这些不确定影响视为协方差 的噪声。
这个紫色的高斯分布拥有和原分布相同的均值,但协方差不同。
我们在原式上加入 :
简而言之,这里:
是基于 和 校正后得到的预测。
是基于 和 得到的预测。
现在,有了这些概念介绍,我们可以把传感器数据输入其中。
通过测量来细化估计值
我们可能有好几个传感器,它们一起提供有关系统状态的信息。传感器的作用不是我们关心的重点,它可以读取位置,可以读取速度,重点是,它能告诉我们关于状态的间接信息——它是状态下产生的一组读数。
请注意,读数的规模和状态的规模不一定相同,所以我们把传感器读数矩阵设为 。
把这些分布转换为一般形式:
卡尔曼滤波的一大优点是擅长处理传感器噪声。换句话说,由于种种因素,传感器记录的信息其实是不准的,一个状态事实上可以产生多种读数。
我们将这种不确定性(即传感器噪声)的协方差设为 ,读数的分布均值设为 。
现在我们得到了两块高斯分布,一块围绕预测的均值,另一块围绕传感器读数。
如果要生成靠谱预测,模型必须调和这两个信息。也就是说,对于任何可能的读数 ,这两种方法预测的状态都有可能是准的,也都有可能是不准的。重点是我们怎么找到这两个准确率。
最简单的方法是两者相乘:
两块高斯分布相乘后,我们可以得到它们的重叠部分,这也是会出现最佳估计的区域。换个角度看,它看起来也符合高斯分布:
事实证明,当你把两个高斯分布和它们各自的均值和协方差矩阵相乘时,你会得到一个拥有独立均值和协方差矩阵的新高斯分布。最后剩下的问题就不难解决了:我们必须有一个公式来从旧的参数中获取这些新参数!
结合高斯
一次元、セット分散から見てみましょう 、平均 以下のように、標準の1次元ガウスベル型曲線の方程式は次のとおりです。
だから、それが2つのガウス曲線を乗じて?
一次元方程式を拡張するために応じて、この式は、得られます:
いくつかはあまりにも複雑されている場合、我々はkでそれを簡素化:
それは行列形式で次式を回すために、多次元空間である場合、これらは、一次元の内容です。
この行列は、 私たちが呼んでカルマンゲインを簡単に、!
それらを一緒に入れて
今まで、私たちは有用なマトリックス持っている ために便利なセンサーの測定値の分布予測 予測の分布を。セクションの行列の方程式にそれらを代入します:
したがって、カルマンゲインは次のようになります。
考えると そこにも含まれている 、我々はさらに式を簡素化するために見て:
最後に、 私たちの最善の見積りは、我々はそれが予想に別のラウンドをし続けることができます。
あなたに有益なうまくいけば、この記事!