使用离散扩展卡尔曼滤波器(EKF)的可观察性


11

我建立了(几个)离散扩展卡尔曼滤波器(EKF)。我正在构建的系统模型具有9个状态和10个观察值。我看到除一个州外,大多数州都在融合。除了1-2的EKF状态估计之外,所有其他函数似乎都在漂移。由于EKF依赖于所有收敛的状态,因此在偏离之后,其余状态是非常错误的。

如何检查EKF的可观察性?我是否只是简单地检查测量雅可比行列的等级,看看它是否小于测量雅可比行列的最大等级?

在我的模拟中添加更多的测量值之后,我可以使事情收敛。但是,关于可观察性的问题仍然存在!

问题:

地面真实性和EKF估计图可在此处找到或参见下文。

笔记:

  • 该模型在时间步长400-600之间是非常非线性的,因此某些状态存在一定差异
  • 图/状态6似乎有所不同
  • 请忽略图8/9的“传感器读数”图

我尝试过的事情:

  • 我知道对于线性状态空间系统,您可以使用Cayley Hamilton定理来检查可观察性。
  • 我试图检查创新/测量残差e,所有创新都收敛为0
  • 我也测试了不同的输入,它们似乎并没有影响发散状态的收敛。
  • 我对EKF进行了调优,但没有任何收敛迹象
  • 另一个输入信号的图形或参见下文
  • 与同事交谈后,他建议我调查另一个问题,该问题可能是线性依赖于两个状态的观测值,例如y = x1 + x2。可以满足相同条件的值有无数y,但是可观察性难道也不能解决这个问题吗?

请让我知道我还有什么可以提供的。


地面真实情况和EKF估计图:
单击图像可查看大图

图像 图片b 图片c 图像d 图像e 图片f 图像g 图像h 形象我


附加输入信号:
单击图像可查看大图

图像m 图像n 图像o 图像p 图片q 影像r 图片 图像t 形象你


我看到该站点引用了rank(O) = [H; HA...] = n。唯一的问题是sin( x(3) )状态3的正弦或正弦。我是否x(3)将其线性化并视为A矩阵的一部分?我会在早上对此进行尝试并向您汇报。cwrucutter.wordpress.com/2012/11/12/...
krisdestruction

@ChrisMuller是的,我想将图像嵌入到问题中,但是我认为它不适用于多个图像(相册)。感谢标签更新。我检查了上面的链接,但不知道是否应该线性化它。
krisdestruction

1
我很确定没有。您可以通过制作gif来做到这一点,但这可能会让人头疼,具体取决于您最初生成绘图的方式。
克里斯·穆勒

@ChrisMueller全部来自Matlab,我只是在OS X中拍摄了图表的屏幕截图
。– krisdestruction

1
可以内嵌图像,但是需要一些工作。我进行了编辑,将图像从imgur链接中分离出来,并设置了图像,以便您可以单击以查看较大的图像。

Answers:


1

在线性离散卡尔曼滤波器上使用此参考,似乎可以应用标准的可观察性模型。即,对于定义为

xk+1=Axk+Bukyk=Cxk+Duk,

如果是完整等级,则系统是可观察到的,其中定义为:MobsMobs

Mobs=[CCACAn1]

[CCACAn1]x0=[y0y1yn1].

EKF只是线性卡​​尔曼滤波器,其中Jacobian值对应于,,,。通过使用EKF,我假设您的状态运动学可以线性化,因此EKF的可观察性应遵循与上述相同的公式。ABCD


@grfrazee没意识到我可以使用嵌入式乳胶-感谢您的编辑!
deeroh

没问题。这是Engineering.SE的一个漂亮功能。
grfrazee

刚刚更新了格式以删除乳胶图像。再次感谢!
deeroh
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.