卡尔曼滤波的基本原理可以参考:
我们都知道卡尔曼滤波在噪声和量测噪声为不相关、零期望的白噪声,且是线性系统,初始时刻的状态估计是无偏的条件下,才能保持无偏的特性。而具有无偏特性的卡尔曼滤波算法是有解的,可以计算出最终的定位位置。也称可观的。
要理解可观性,我们需要先看看带有输入误差的卡尔曼滤波。
现实是存在很多非线性的运动,以及未知的测量和运动误差。这样一来传统的线性卡尔曼滤波就显得太过理想了。我们需要调整下它的实现:
假设运动观测模型如下:
预测:
观测:
标记*为后验
现在需要对这个模型考虑误差,先考虑未知的输入偏差U
带有误差的卡尔曼:
为了有效抑制偏差,我们必须知道偏差的精确值。但在大多数情况下,并不能得到偏差的精确值。因此,我们一边估计状态,一边估计偏差。将误差考虑进最后的输出,所以我们构建增广矩阵:
未知的输入偏差:
相应的运动观测方程调整:
现在要考虑的就是卡尔曼滤波对有偏差输入的模型能否收敛,也就是有没有唯一值。可观的意思就是有唯一解,无观就是误解或有无数解。具体的判断无观性的推导就不说了,比较复杂,只需要记住一个结论:
解存在唯一解的条件为:增广后的能观性矩阵满秩
设没有输入偏差的能观性矩阵:
有输入偏差的矩阵:
rank(O) = N, rank(B')= U, 要想可观,必须满足rank(O') = N+U。
看个机器人学的课后习题加深下理解:
习题5.1:
A=1,B=1,C=1
可得增广系统可观测
评论(0)
您还未登录,请登录后发表或查看评论