liangheming / iG-LIO_SAM_LC

iG-LIO with Loop Closure(PGO) and Online Re-Localize

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

The question about the Jacobian derivation in IESKF::update()?

Freeecode opened this issue · comments

Hi, thanks for sharing the work! I was checking the code and found some difference compared to ig-lio, especially in convariance update and constructing IMU prior constraint. For example, when constructing IMU prior constraint, the jacobian about current state in ig-lio is
image
while in your code is
image
and I checked the details in the paper and other paper:
image
and the problem also appear in convariance update, in ig-lio:
image
while in in your code :
image
if the LIO is ok, I think the jacobian maybe is approximately identity matrix.

Thank you for your careful inspection,you are right, I have really made a big mistake. it should be "Jr_inv", not "Jr";

a

Hi, the functions of convariance update are aslo different. I checked the formulation in ig-lio and I found that is similar to -Jl_inv:
image
about this question, do you have any ideas?

i think the author missed a transpose(), P_ = L.transpose() * temp * L

yes, in the ig-lio code, the author missed a transpose for L, and the computation of matrix L confused me, which is a derivation of state?

用中文吧,整个过程是我是清楚,就是在计算L矩阵时,我看需要计算雅克比矩阵,如下图所示
image
而在你的代码中,这部分也在计算雅克比矩阵
image
ig-lio中L的计算,这个雅克比的形式应该是Jl_inv,这个雅克比矩阵应该是对更新之前的位姿进行求导

最后一步是误差卡尔曼的修正过程,在《Quaternion kinematics for the error-state KF》 第64页的6.3节ESKF reset有直接的结论, IG LIO 的作者应该是用了这里的结论,但是这个雅可比其实误差状态对更新前误差的导数(文字描述还是有歧义,你直接看论文中的公式,或许会更好理解)

好的,谢谢!