vectr-ucla / direct_lidar_inertial_odometry

[IEEE ICRA'23] A new lightweight LiDAR-inertial odometry algorithm with a novel coarse-to-fine approach in constructing continuous-time trajectories for precise motion correction.
MIT License
521 stars 101 forks source link

Instant divergence despite no motion #28

Closed patripfr closed 7 months ago

patripfr commented 7 months ago

Hi, thanks for open-sourcing this great work :) I'm trying to run your approach on the 2021 Hilti Challenge Dataset using the livox lidar. I tried different sequences, the both IMUs (/alphasense/imu & /alphasense/imu_adis) as well as different extrinsics (z up, z down), but it always seems to diverge instantly, despite the sensor being static in the beginning of the scenes. I'm using the default parameters of DLIO, except of the adapted extrinsics. I also tried disabling deskewing, but it didnt show any effect.

I would appreciate any suggestions on what has to be changed to make it work. dlio_diverge

patripfr commented 7 months ago

The issue was that in the current version, the IMU accelerations are automatically scaled by gravity (which makes sense if the internal IMU of the livox is used). However, the sequence above does not provide the livox imu so I had to use another one, where the IMU values are not normalized by gravity. I added a PR to add a flag to select if the IMU values are normalized.

kennyjchen commented 7 months ago

Sorry for the late response — makes sense! Thanks for the PR.