APRIL-ZJU / lidar_IMU_calib

[IROS 2020] Targetless Calibration of LiDAR-IMU System Based on Continuous-time Batch Estimation
GNU General Public License v3.0
942 stars 224 forks source link

Understanding the Undistortion Process #19

Open SubMishMar opened 3 years ago

SubMishMar commented 3 years ago

First of all, thanks for this awesome open source package.

https://github.com/APRIL-ZJU/lidar_IMU_calib/blob/4c75b8d2f60fb22d9b8ee99c7d4e32b53781a787/include/core/scan_undistortion.h#L107-L159

I am trying to understand the cloud un-distortion process referenced above. It looks like, in the code you iterate through the entire point cloud in order to deskew it. Basically, you obtain the time stamp of each point and try to determine the IMU pose associated with it and then using the best estimate of the extrinsic calibration you deskew the point cloud. This is what I understand, please correct me if I am wrong.

My question is, doesn't it make the system very slow when you iterate through the entire point cloud? For instance, I am using a 128 channel lidar with 200,000 points and when I try to iterate through the entire pointcloud, it really takes a long time. Please let me know what you think about it and suggest me some ways in which I can undistort faster.

Thanks!