Closed kylelee2023 closed 1 year ago
你好,在学习代码过程中,关于运动补偿部分有个小问题。在
IMU_Processing.hpp
文件418行:[1] V3D P_compensate = state_inout.rot_end.transpose() * (R_i * P_i + T_ei);
而在
fast lio2
中325行的处理为:[2] V3D P_compensate = imu_state.offset_R_L_I.conjugate() * (imu_state.rot.conjugate() * (R_i * (imu_state.offset_R_L_I * P_i + imu_state.offset_T_L_I) + T_ei) - imu_state.offset_T_L_I);
通过公式推导,将激光系下的Pi点通过外参和相对运动关系投影到扫描结束时刻的过程,和
fast lio2
中的实现公式[2]一致。但是对于公式[1]的实现不太理解,有几个问题:
- 在进行补偿过程中为什么没有涉及激光到imu的旋转外参,只涉及了平移外参?
- state_inout中平移和旋转状态变量是表示激光系到世界系的运动,还是IMU系到世界系的关系?看论文中xk表示激光到世界的运动,但是看
IMU_Processing.hpp
状态传播的公式又感觉是imu系的状态变量?最后感谢LiDAR_IMU_Init的工作,学习到了很多,希望您可以抽出宝贵时间答疑解惑,谢谢。
感谢您的指正,此处是代码中遗留的bug,新的版本已经修复。
你好,在学习代码过程中,关于运动补偿部分有个小问题。在
IMU_Processing.hpp
文件418行:而在
fast lio2
中325行的处理为:通过公式推导,将激光系下的Pi点通过外参和相对运动关系投影到扫描结束时刻的过程,和
fast lio2
中的实现公式[2]一致。但是对于公式[1]的实现不太理解,有几个问题:IMU_Processing.hpp
状态传播的公式又感觉是imu系的状态变量?最后感谢LiDAR_IMU_Init的工作,学习到了很多,希望您可以抽出宝贵时间答疑解惑,谢谢。