从网上看了很多卡尔曼滤波的帖子,大多讲贝叶斯公式,讲过程推导,看的头都大了,确实概率论没学好,这两天看了b站的视频对卡尔曼滤波有了简单的了解,只有皮毛。
本质:预测与观测分配权重,更新状态量使得不确定度最小
什么意思呢,比如一个小车(都用这个例子,简单吧),状态量是X(x,v),其中x表示位置,v表示速度,假设为匀速模型,那么下一时刻的位置和速度可以进行估计(预测值),如果通过gps进行观测,可以获得小车的位置x(观测值,观测和预测可以是不同维度),那么信谁的呢?通过卡尔曼滤波可以分配两者的权重,谁的不确定度小,谁的权重就大,这个不确定度通过协方差矩阵来表示。
过程
对于导航或者目标追踪任务,对其进行建模,就是经常见到的运动和观测模型
xt=Ft∗xt−1+Bt∗ut+wt
zt=Ht∗xt+vt
其中wt是0均值,方差为Rt的高斯随机变量噪声,vt是0均值,方差为Qt的高斯噪声。
那么对于预测和更新的公式如下,其中Pt−为协方差矩阵的预测,所有带上表“-”的是预测值,不带的是优化后的值,整个使用过程就是通过模型先预测,在通过传感器的观测对先验值进行更新。如果是离散的情况,把下标改成就好。
推导
先留下了,概率论没学好,推起来太费劲,先学会用吧
强烈推荐
,讲得通透啊
例子
以室內溫度檢測爲例(這個輸入法服了,每次開機都是繁體)
根据经验判断房间的温度是恒定的,但是经验不是完全可信的,存在偏差(高斯噪声)。另外可以在房间里放一个温度计,当然温度计也是存在偏差的,我们要做的就是根据经验温度和测量温度在各自噪声下计算实际温度。
下图为结果,其中蓝色为随机生成的温度,可认为是观测,红色是卡尔曼滤波后的温度,直观上看滤波后的温度更加的平滑
GitHub - xiaoxueshengyao/ke_test
参考
从放弃到精通!卡尔曼滤波从理论到实践~_哔哩哔哩_bilibili
SLAM学习笔记----卡尔曼滤波详解_YOULANSHENGMENG的博客-CSDN博客_卡尔曼滤波
Kalman Filter 卡尔曼滤波 · Sika
DR_CAN的个人空间_哔哩哔哩_Bilibili