PRBonn / kiss-icp

A LiDAR odometry pipeline that just works
https://www.ipb.uni-bonn.de/wp-content/papercite-data/pdf/vizzo2023ral.pdf
MIT License
1.5k stars 303 forks source link

Best way to use Kiss-ICP with multi lidar #313

Closed ClementLeBihan closed 4 months ago

ClementLeBihan commented 4 months ago

Hi, Kiss-ICP works incredibly well on our single lidar dataset. We're trying to test it with multi lidar dataset. To do it, we found a way to merge the topics into a single one, and alternate msg between each lidars. It works pretty well, but the Ego Motion Compensation (a.k.a DeSkew) doesn't work as it takes the two previous poses to deskew the pointcloud. Have you already found a solution to do Kiss-ICP on multi lidars with deskew ? As our LiDAR takes 100ms to do a scan, we sould take two previous poses with 100ms difference ...

What do you recommand ?

Thank by advance ! Clément

tizianoGuadagnino commented 4 months ago

Hi @ClementLeBihan, our deskewing module is meant for a single LiDAR, as we motion compensate in the local frame. It is impossible to deskew the aggregated cloud from multiple LiDARs (I really cannot think about how the math will work). You guys can deskew each scan individually and then aggregate the result afterward so that the point cloud is consistent. We are not planning to support this feature any time soon, but if you need help, we can have a look ;)

ClementLeBihan commented 4 months ago

Alright thanks ! If both LiDAR PointCloud are expressed in the same frame and registered separately, the descew module only need to descew scan by scan so in my point of view it's the same algorithm than single lidar, but the poses parameters need to be changed. I'll test some things and come back to you :) Clément