-
Notifications
You must be signed in to change notification settings - Fork 493
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
IEKF协方差矩阵的投影问题 #138
Comments
同样发现这个问题了, 第三章eskf代码就是采用dx_, 到第8章代码就是用的R_.inverse() * start_R.从公式看确实是第8章代码有问题,在迭代的时候也是采用的R_.inverse() * start_R也是有问题的 |
并且最后一步应该也是有问题的,更新完对P重新投影的时候,应该是切空间k->k+1的投影,而代码里面是0->k+1时刻的投影。所以迭代收敛完成的时候fast_lio里面直接是忽略掉这一步也是有道理的,此时的值非常小。 |
这算是一个trick。 |
I think it should be the transformation from the 0th iteration to the kth iteration, rather than the transformation from the kth to the (k+1)th iteration. You can refer to the paper 'Notes on Kalman Filter (KF, EKF, ESKF, IEKF, IESKF)', which provides a detailed introduction to the theory of IESKF. |
《自动驾驶与机器人中的SLAM技术》书上的是 dx,也就是k到k+1的投影; @dongbo19 您好,想问一下 'Notes on Kalman Filter (KF, EKF, ESKF, IEKF, IESKF)' 书中何处指明 “it should be the transformation from the 0th iteration to the kth iteration” 呢?希望指明一下方向。我看到的是最后甚至都没有整体(cc @gaoxiang12 ) |
slam_in_autonomous_driving/src/ch8/lio-iekf/iekf.hpp
Line 254 in fe9c79b
在update P那一步,$\theta$ 而不该是
cov_ = (Mat18T::Identity() - Qk * HTVH) * Pk
用得是上一步迭代(最后一个线性化点)后的协方差矩阵Pk
,那么project P中计算 dtheta时应该用最后一次dx_
里的(R_.inverse() * start_R).log()
?我觉得应该为:
否则和公式3.61相反了。
希望高博能看到,哈哈
The text was updated successfully, but these errors were encountered: