gisbi-kim / SC-LIO-SAM

LiDAR-inertial SLAM: Scan Context + LIO-SAM
619 stars 174 forks source link

Loop closure fails on reverse direction #14

Closed hooram closed 2 years ago

hooram commented 2 years ago

Setup description:

Data was collected in a heavily wooded residential park. Sensors are mounted on top of a Unitree A1 quadruped. The lidar is VLP16, and the IMU data was collected from the ZED2i stereo camera at ~400Hz. The robot walked for ~700 seconds at around 3 km/h in a big loop. The robot returns to the starting point, but in the reverse direction.

  <link name="zed2i_imu_link"> </link>
  <joint name="imu_joint" type="fixed">
    <parent link="chassis_link" />
    <child link="zed2i_imu_link" />
    <origin xyz="0 0 0" rpy="0 0 0" />
  </joint>

Relevant parameter changes:

imuAccNoise: 2.6041145078644853e-02
imuGyrNoise: 2.1821507338697734e-03
imuAccBiasN: 8.4845638189648962e-04
imuGyrBiasN: 4.2469972559493066e-05

extrinsicRot: [1, 0, 0,
                0, 1, 0,
                0, 0, 1]
extrinsicRPY: [1, 0, 0,
                0, 1, 0,
                0, 0, 1]

z_tollerance: 1               # meters
rotation_tollerance: 0.01     # robot platform is a quadruped (unitree a1), and 
                              # with sensors on top, the body leans forward while walking. 
                              # Without this line, the produced map isn't flat.

Problem Description

Video: https://www.youtube.com/watch?v=i9tzco-p2Zs

Video was recorded with data playback x5.

At around 2:10, the robot returns to the starting position from the reverse direction, and the loop does not close. I tried tweaking the "Loop closure" parameters in the config file to no avail.

Do you have any suggestion on what parameters to tweak, etc?

I saw that at the bottom of the readme, one of the todo items seems be related to this. Is there any update on that? I hope at the very least this data can be helpful in that regard.

wangchen-1994 commented 2 years ago

hi,i had a similar problem, did you finally solve the problem?