rvp-group / mad-icp

Minimal, robust, accurate and real-time LiDAR odometry
BSD 3-Clause "New" or "Revised" License
169 stars 6 forks source link

about deskew #2

Closed chengwei0427 closed 1 month ago

chengwei0427 commented 2 months ago

Hi, @digiamm

I wonder why not use the time inside the laser for distortion correction here? Many types of lasers contain time information channels in the data output. And in my tests, setting deskew to true causes some lo results to be worse.

digiamm commented 2 months ago

Hi, @chengwei0427. Thanks for pointing out this. You all right, our deskewing is based on constant motion assumption (as usually done in robotics) and azimutal-segmentation. This has been done to accomplish mechanical LiDARs independently from their model. Indeed, as you mentioned, this has limitations. We can talk about some way to put together this additional information. We are always happy to improve!

chengwei0427 commented 2 months ago

Hi, @digiamm Thanks for your patient response. In practice, we often come across different types of lidar, such as semi-solid lidar like livox or mechanical lidar like velodyne, which all provide timestamp information for each point, maybe we can use them. For example, when parsing data, synchronously parse time information, a simple example in my project like this. Now it support velodyne, robosense, ouster and pandar, with some code changes [pass the time information into the deskew function], livox can be supported.

digiamm commented 2 months ago

You all right, but sometimes you don't find this information (especially in older LiDARs), that's why we generalized to the simplest solution. However, in the near future, we plan to develop some bridges and small specializations for different sensors. With this current release, we mainly focused on existing SLAM benchmarks. We like your solution anyway!