扩展卡尔曼数据融合 python 卡尔曼融合算法
转载
- 不要被复杂公式吓到,按下面的步骤一步一步来,每个概念都学清楚,卡尔曼并不难理解
- 学习卡尔曼,需要先了解几个基础知识
- 测不准定律:比如说我们要测量一个电压,需要借助传感器,但是传感器无法给出真实的电压,都会有或多或少的误差,这个误差究竟是多少,传感器不会告诉我们,因为传感器也不知道误差是多少,但人们可以通过反复侧,去推测其中误差是多少。比如说,传感器给出测试电压为U,我们人为将U拆分为两部分:实际电压,误差。即:U测=U实际+w误差。w就是一个统计量。
- 高斯分布(正态分布),网上资料很多,概念很容易理解:一段时间内的误差是可以抵消。绝大部分采样误差都是符合高斯分布的。上述测不准定律中说的w就符合高斯分布。
- 平均值滤波:常用的平均值滤波,利用了测不准定律和高斯分布。比如一个电压,假定在T时间内不变,我们在T时间内反复高速的测量了N次(N很多),则:U电压=E(U测)/N,E为加和。展开U电压=E(U测)/N=(E(u实际)+E(U误差))/N。而E(U误差)趋近于0,则平均值后的电压,趋近于真实电压。
- 限制:读者可能看出来了3所述更适合测静止或者说不变的状态。
- 不可能完全不变定律:世界上,没有任何一个事物是完全不变的。宏观上,比如发电厂发出的电压,受发电机转速、负载耗电量变化,是不停调整的。微观上,玻璃杯内部的分子、原子、电子,也是在运动的。唯一不变的就是在不停的变。
- 卡尔曼的意义:根据当前状态,预测下一状态。这句话先不用理解,先往下看,回头自然会理解。
- 线性代数,先把b站这10集都看懂。也可以先看下述第4部分“方差、标准差、协方差”,但是强烈建议先看线性代数,否则对方差与标准差的理解可能会停留在:标准差是方差的开平方。方差和标准差的深入理解则会不够
- 【熟肉】线性代数的本质 - 01 - 向量究竟是什么?_哔哩哔哩_bilibili
- 方差、标准差、协方差
- 方差:可以简要理解为两个误差向量所围成的平面(有点线性代数的思想在里面),误差散布围成的平面
- 标准差:方差开根号,“误差”与“平均值”的距离(差)。
- 协方差:两个变量(向量)之间的关系。上述方差和标准差都是描述一个变量的,协方差是计算多个变量的。比如,汽车的下一时刻的位置(position),和当前时刻的速度(v)、加速度(a)等等都有关系。协方差就是描述:pva的关系的。
- 融合算法:在比如,自动驾驶汽车的定位,要考虑:gps位置(rtk位置)、惯性传感器数据(加速度、角速度)、四个轮速数据、摄像头数据、地图数据、方向盘转角,综合计算上述变量来获得汽车位置,实则是在计算上述变量的协方差,并去估算下一时刻汽车的位置。用多个数据去获得一个目标值,可以简要理解为,这就是融合,所谓的传感器融合算法。
- 英文的简介
- How a Kalman filter works, in pictures | Bzarg
- 看上面的文章时,要动笔推公式
- 上述的都看完了,相信应该模模糊糊的懂了卡尔曼滤波
- 看下matlab对卡尔曼的介绍,巩固下
- Part 1_ 为什么使用卡尔马滤波器?_哔哩哔哩_bilibili
- 实践一下:转载
- 【MATLAB】卡尔曼滤波器的原理及仿真(初学者专用)_非线性光学元件的博客-卡尔曼滤波器框图
本文章为转载内容,我们尊重原作者对文章享有的著作权。如有内容错误或侵权问题,欢迎原作者联系我们进行内容更正或删除文章。