7状态误差卡尔曼滤波器(erkf : error-state kalman filter)概述在使用卡尔曼滤波器做姿态估计(attitude estimation)中,很大一部分都采用不是直接将系统姿态角作为卡尔曼滤波的状态,而是将姿态角的积分误差和角速度计的误差作为系统状态。
将角速度计的输出弥补上估计出的角速度计误差,然后对其积分,得到姿态角的估计,再弥补上姿态角的误差估计。整个的流程图大概如下面的图,引用自intertial head-tracker sensor fusion by a complementary separate-bias kalman filter
ps: 要强调的是,各种卡尔曼滤波的形式多种多样,同时各种符号的定义也都并不完全一致,这也是入门卡尔曼滤波比较难的地方,有时候找资料都不知道怎么找。这也是写这篇文章的目的,提供一个基础的脉络给卡尔曼滤波的初学者。因此这里给出的erkf只是形式之一,主要是引用自论文extended kalman filter vs. error state kalman filter for aircraft attitude estimation
状态误差的递推公式首先,我们令表示时间连续形式的状态向量。其相对于时间的导数为
在等号的右边输入里加入微小扰动,同时,根据泰勒展开将函数展开
则
将上式使用离散形式表达
于是,有了状态误差的递推公式,我们就可以像卡尔曼滤波一样推导预测和更新过程
预测过程与直接对系统状态做卡尔曼滤波稍有不同,使用误差状态的卡尔曼滤波在计算姿态角的时候可以看成三步:
在卡尔曼滤波系统外使用积分算出此时的系统状态使用卡尔曼滤波算出此时系统状态的误差将积分出来的系统状态弥补上卡尔曼滤波计算出误差系统状态计算上式只是一个公式化表达,其实就是将上一时刻的状态,在加上这一时间段状态的变化量。姿态估计中,状态的变化量通常是角速度计的输出乘以时间间隔。
状态误差方程及预测方程状态误差方程
由公式(4-1)可以得到状态误差的方程为
其中,是过程噪声,协方差矩阵为
预测方程
类似于普通卡尔曼滤波,预测方程为
测量方程及更新方程这里我们直接将使用其余传感器如加速度计、磁力计计算出的姿态作为系统的测量量。在这里先记得,加速度计根据输出的夹角可以计算出角,由磁力计可以计算出角即可。当然,也可以采用其他能够直接输出系统姿态角的传感器作为测量值。
测量方程
其中,是测量噪声,协方差矩阵为
更新方程
这里要执行两步更新
先更新对状态误差的估计更新状态的估计(即把状态误差弥补到)
补充在上面的推导中,将我们的目标变量,即系统的姿态角作为外部一个单独的积分计算,但是实际上更多的做法是将姿态角和角速度的偏差直接放在状态向量中进行计算。然后对每一时刻的角速度偏差应用到角速度计的输出,再将其作为系统输入应用到状态方程。
也就是像概述中的图示那样。但是其实各种卡尔曼滤波的建模方式都不一样,error-state kalman filter和complimentarty kalman filter也没有严格的定义。所以索性这一章节当作对状态误差的理解和推导,在下面的互补卡尔曼滤波给出一种似乎是应用更广泛的卡尔曼滤波器。
未来工业平板电脑将如何推进
基于S3C2440A的SD卡文件系统的设计与实现
一份关于全球技术招聘和技能的年度分析报告
FORESEE发布首款PCIe Gen 4×4 SSD,XP2100读取性能可达5300MB/s
带加速度计的地震探测器
卡尔曼滤波的变种有哪些?3
关于意法半导体新推出高精度高带宽运算放大器的运用
区块链的价值归宿是比特币吗
小功率、小音箱、小空间获得饱满宽广声音的方法
机器视觉基础颜色模型和拍照中的术语详细资料概述
NB/笔记本电池深度充放电未必是好事
一年上市16款手机 魅族为何疯狂开“演唱会”?
【经验】展会结束后跟进客户最佳方案
Magik Eye展示Invertible Light™技术 为大众带来3D传感的变革
苹果M1 Mac 连接外置超宽显示器不支持部分分辨率
大规模天线阵列中检测主动窃听的具体方案
Snap推出Snapchat应用程序 消费者可在眼镜捕捉的视频中添加AR叠加效果
电池充电方法、技巧与注意事项大全
PYNQ 基于Zynq架构添加了对python的支持
直通乌镇 | 美食流带你打卡2020“互联网之光”博览会