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.
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!