卡尔曼滤波
文章平均质量分 86
qiguizhe
这个作者很懒,什么都没留下…
展开
-
mpu6050姿态解算与卡尔曼滤波(4)姿态解算
到这里我们就获得了线性化的状态方程和测量方程了,按照博客(2)http://t.csdnimg.cn/EYpJ7里标准卡尔曼滤波的公式即可进行滤波,即可获得融合陀螺和加速度计的姿态四元数了。尽管滤波器估计出的姿态中方位角是发散的,我们仍然可以取初始化时的方位角为0,这样滤波器估计出的方位角就是相对初始时的方位,在短时间内它仍是可信赖的信息。阵,由于初始方位角被设定为0,它是我们极其确定的一个值,因此。通常情况下,卡尔曼滤波器是收敛的,因此滤波器的初值。的初值应当被设置为很小,一般的可以取。原创 2024-04-17 22:53:59 · 1572 阅读 · 1 评论 -
mpu6050姿态解算与卡尔曼滤波(5)可应用于51单片机的卡尔曼滤波器
博客4中给出的滤波器状态维数为4维,测量量为3维,每次滤波需要做不少矩阵乘法和求逆运算。考虑应用场合可以对滤波器适当做一些简化,计算量会大大减小。选取状态为俯仰角和滚转角带来的问题是状态方程必须使用欧拉角微分方程,而欧拉角微分方程中包含三角函数计算,反而增加了计算量。首先,陀螺和加速度计融合只能保证俯仰和滚转角收敛,而且从测量方程来看,加速度计的测量只与俯仰和滚转角有关。这样一来状态和测量方程都变得十分简单,计算量也大大减小,应用在51这样的单片机上也能在10ms内完成姿态解算。对于测量方程,也可简化为。原创 2024-04-20 20:59:45 · 1194 阅读 · 0 评论 -
C++下扩展卡尔曼类(EKF)的实现
最初的卡尔曼滤波用于解决离散系统的滤波问题,然而工程中常遇到的滤波问题是连续系统产生的滤波问题。 卡尔曼滤波器具有如下形式的离散的状态方程: Xk+1=Ψk+1,kXk+Wk(1)X_{k+1}=\Psi_{k+1,k} X_{k}+W_{k} \tag{1} 但这只是一个高度简化的方程,更多的时候我们能获得的是关于连续系统的如下形式的方程: X˙=f(X)+W(2)\dot X=f(X原创 2018-01-05 11:59:46 · 9259 阅读 · 2 评论