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

What is the time offset computation for? #56

Open VRichardJP opened 3 weeks ago

VRichardJP commented 3 weeks ago

Hello,

I am not sure I understand the idea behind the following snippet:

https://github.com/vectr-ucla/direct_lidar_inertial_odometry/blob/5c8c36030cdd1309f85f8969591f0053e91e2ba1/src/dlio/odom.cc#L661-L671

If the LIDAR scan header stamp S and the scan point stamps (0, 1, 2...) are far away, for example something like this:

----- timeline ----->
S..........0.1.2.3.4.

Then all the timestamps are modified like this:

----------->
S.0.1.2.3.4.

This corrected timestamp is used to synchronize the points with the IMU data.

I have 2 questions regarding this logic:

  1. are there any sensor for which the scan header stamp is not the first point?
  2. what about the synchronization with IMU messages? if the point stamps are shifted, then the synchronization with the IMU stamp won't be correct anymore.

Wouldn't it make more sense to simply adjust the scan header stamp S, i.e.:

----- timeline ----->
.........S.0.1.2.3.4.