HViktorTsoi / PV-LIO

A probabilistic voxelmap-based LiDAR-Inertial Odometry.
GNU General Public License v2.0
351 stars 49 forks source link

Mapping result has noise points. #6

Open esolk opened 1 year ago

esolk commented 1 year ago

Greet job, I forked your project and add the function of saving result to PCD file. Then I tried this on my own dataset. The mapping runs great, even I dont have the precise extrinsic. Now I have 3 questions:

  1. The PCD file has some noise points. Where are they come from? Snipaste_2023-07-18_17-04-26

  2. Is it possible to add loop closure on this basis?

  3. There is a online extrinsic optimizing during mapping. Where can I get the final extrinsic arguments ?

HViktorTsoi commented 1 year ago

Hello!

  1. (1) Physically, there are several reasons that can cause noise, such as interference of multiple LiDARs, reflection from glass, and so on, please check your sensor setup. (2) Besides, while publishing the point cloud for visualization, we drop the points with very low intensities, https://github.com/HViktorTsoi/PV-LIO/blob/8ec4ab004ab17aa94119349c1a2df8559d2c8822/src/voxelMapping.cpp#L427 therefore the noisy points may be the remaining low-intensity points (but still higher than those we droped) . You may try not to drop the low-intensity points.

  2. Please see these repoes: https://github.com/gisbi-kim/FAST_LIO_SLAM https://github.com/hku-mars/STD https://github.com/hku-mars/HBA

  3. The extrinsic parameter are stored in the state of kf. You may access the rotation and translation part of the extrinsic parameter in voxelMapping.cpp with

    auto state = kf.get_x();
    state.offset_R_L_I; // rotation of IMU-LiDAR extrinsic
    state.offset_T_L_I; // translation of IMU-LiDAR extrinsic

    We are also planning to add feature that publishes the extrinsic parameter as pose msg.