$ \ overrightarrow x = \ begin {bmatrix} x \\ y \\ z \ end {bmatrix} $
这样
$ H \ overrightarrow x = \ begin {bmatrix} x \\ y \\ z \\ x \\ y \\ z \ end {bmatrix} $
两个传感器都读取机器人的精确位置。到目前为止是有意义的。问题是当我计算创新协方差时出现的
$ S_k = R + HP_ {k | k-1} H ^ T $
由于
$ HH ^ T = \ begin {bmatrix}
1&0&0&0&0&1 \\
0&1&0&1&0&0 \\
0 &0&1&0&1&0 \\
0&1&0&1&0&0 \\
0&0&1&0&1&0 \\
1&0&0&0&0&1 \\
\ end {bmatrix} $
然后,无论$ P $是什么,我都要结束$第一个传感器的x $创新与第二个传感器的$ z $创新相关,如果我解释的是这种直觉,这似乎是错误的。
从这里开始,我的增益矩阵($ K = P_ {k | k-1} H ^ T S_k ^ {-1} $)会做一些非常奇怪的事情(交换行和这样,当更新具有恒定测量值$ \ overrightarrow z = [1,0,0] $的静态系统($ A = I_3,B = [0] $)时,我最终得到的是预测状态$ \ hat x = [0,0,1] $。 />
我认为我对其中一个或多个步骤中的一些技术要点感到困惑。我要去哪里错了?
我想我可以将$ S_k $的非对角3x3块设置为0,因为我知道传感器是独立的,但是理论中是否有任何建议或包含此步骤的内容?
#1 楼
您确定$ HH ^ T $的表达式吗?我得到了
$$
1&0&0&1&0&0 \\
0&1&0&0&1&0 \\
0&0&1&0&0&1 \\
1&0&0&1&0&0 \\
0&1&0&0&1&0 \\
0&0&1&0&0&1
\ end {bmatrix}
$$
,这符合您的直觉。
评论
$ \ begingroup $
嗯...是的,你是对的。必须输入错误的表达式。显然是多次。下次我看到这种奇怪的东西时,我会手工解决。
$ \ endgroup $
–evenex_code
16年5月31日在15:26
评论
好问题。我从未见过像您那样重复执行状态变量的实现。而是,在将数据输入到EKF之前,许多文献将传感器融合逻辑细分为一个过程。 1982年,NASA使用这种方法进行传感器容错决策:ntrs.nasa.gov/archive/nasa/casi.ntrs.nasa.gov/19820017360.pdf这不是归结为两个测量值的加权平均值,而权重是协方差的倒数吗? (如此处所述)
是的,没有;如果用身份代替大多数变量,而忽略了预测协方差,那么卡尔曼滤波器的确可以归结为协方差加权平均值。但这实际上是这种想法的概括,它将观测协方差与当前估计协方差混合到一个称为“创新”的值中,以便与更新的状态估计协方差一起计算最佳测量加权平均值(即状态估计) 。在这种情况下,我使用一个人为设计的示例来建立解释此创新矩阵的直觉。