minwoo0611 / MA-LIO

Asynchronous Multiple LiDAR-Inertial Odometry using Point-wise Inter-LiDAR Uncertainty Propagation
GNU General Public License v2.0
287 stars 36 forks source link

How to disable extrinsic estimation on translation but keep the estimation on rotation? #10

Closed zzxxtt closed 11 months ago

zzxxtt commented 11 months ago

Hello, thank you for the great work. When using ma-lio I found one problem, the extrinsic estimation on translation is not so accurate. translation can different from groundtruth CAD for 5cm or more. But I still want to estimation rotation extrinsic for small install error. Anyways to do this?

minwoo0611 commented 11 months ago

@zzxxtt

Thank you for your interest and inquiry about MA-LIO. Theoretically, there is nothing wrong with the calibration method, but it is true that there are some translation inaccuracies for some systems when used in practice.

Anyway, if you want to use extrinsic calibration only for the Rotation part as you like, you can set the Jacobian for translation to 0.

It will be solved by modifying the part in as below. From ekfom_data.h_x.block<1, 3>(i, 6 + 3 * (lid_num + lid_idx)) << VEC_FROM_ARRAY(C); to ekfom_data.h_x.block<1, 3>(i, 6 + 3 * (lid_num + lid_idx)) << 0, 0, 0;

If you need any additional help, please feel free to ask.

zzxxtt commented 11 months ago

It works, thank you very much