“Tightly coupled LIO” can mean two different things
There are two types of Lio:
- Factor-graph tightly coupled LIO (LIO-SAM), which is easier to extend with backend constraints. You optimize states using factors: - GPS factor - IMU Preintegration factor - lidar odom factor - prior factor - loop closure factor
- Filter-based tightly coupled LIO like FAST-LIO 2: - FAST-LIO fuses LiDAR feature points with IMU data using a tightly coupled iterated EKF. FAST-LIO2 directly registers raw points to the map and is designed for high-rate real-time odometry/mapping. (arXiv) - This is not primarily a backend factor graph system. It is more like: - IMU propagation - LiDAR residual update - iterated EKF - local map update - It’s great for real-time odometry - loop-closure/global backend is usually a separate layer.
Using IMU pre-integration, instead of optimizing this:
1
pose_i -> imu_1 -> imu_2 -> imu_3 -> ... -> imu_500 -> pose_j
you optimize this:
1
state_i -- preintegrated_imu_factor -- state_j
where each state usually contains:
- pose
- velocity
- imu_bias
IMU preintegration factors are easier to plug into existing optimization frameworks because they turn many high-rate IMU measurements into one compact factor between keyframes. GTSAM’s docs describe preintegrated IMU measurements as summarizing relative motion ΔR, Δp, Δv between two time steps and adding that summary as a single ImuFactor / ImuFactor2, instead of inserting every raw IMU measurement into the graph. (Borglab)
LIO-SAM combines backend + tightly coupled LIO and it is explicitly a tightly coupled LiDAR-inertial odometry via smoothing and mapping system. Its implementation has two factor-graph parts:
1
2
3
4
5
6
7
imuPreintegration.cpp:
IMU preintegration + lidar odometry factor
estimates pose, velocity, IMU bias
mapOptimization.cpp:
lidar odometry factor + GPS factor + loop closure
maintains global map/backend optimization
combine backend + tightly coupled LIO
1
2
3
4
front-end scan matching
+ IMU preintegration
+ factor graph backend
+ loop closure / GPS optional