vectr-ucla / direct_lidar_odometry

[IEEE RA-L & ICRA'22] A lightweight and computationally-efficient frontend LiDAR odometry solution with consistent and accurate localization.
MIT License
814 stars 168 forks source link

Parameter Tuning Suggestions #27

Closed Pamphlett closed 1 year ago

Pamphlett commented 1 year ago

Hi Kenny,

Thanks for your great work! I am now using DLO as the frontend of my slam system and observed some performance drops in some open-space data sets (e.g., KITTI 00). I guess it could be the problem of parameter tuning as I assume the current parameter set is mainly designed for the DARPA Subterranean Challenge. So, could you give me some hint on how to better tune the parameters (especially the sub-mapping-related) for a better adaptation in such environments?

kennyjchen commented 1 year ago

Hi @Pamphlett -- thanks for your interest in our work (and cute cat btw)!

In general, larger spaces can rely on keyframes for much longer periods of time than smaller spaces (e.g., around a corner or in the smaller caves we saw in SubT). The reasoning is that, in smaller spaces, environmental features can change much more frequently and therefore you need to update your map (and therefore submap) a lot faster in order to keep up with the feature changes. In contrast, in larger spaces (e.g., autonomous driving outdoors such as KITTI), features don't change as often, so keyframes can be relied on longer for more computational efficiency and accuracy. (Note that I'm using "features" here as a general term for how the environment looks; DLO doesn't do any feature extraction.)

We tried encoding this notion of adaptive keyframing in the form of our "spaciousness" metric (as seen in the paper and in the code here). These values worked well for the SubT challenge (where we saw a lot of changing environments in the same run), but they haven't been tuned for KITTI.

However, I just ran KITTI 00 with DLO and saw good results after playing around with some parameters. Try the following:

Alternatively, you can play around with how our spaciousness metric scales keyframing here if you need to keep environmental adaptation on.

Let me know if that helps!

Pamphlett commented 1 year ago

Hi Kenny,

Thanks for your insightful reasoning and very useful suggestions! They actually worked very well and I now got a globally consistent (almost) mapping result here. (Semantics are added here for visualization only)

image

Thanks for loving this cute cat haha. I got this picture years ago when traveling in Sevilla 😆

Feel free to close this and thank you again for your help!

kennyjchen commented 1 year ago

That looks great! Thanks for sharing, and let me know if you have any other questions :^)