LIO-SAM
- Software
- Navigation and mapping
- Library
A real-time lidar-inertial odometry package that fuses lidar scans, IMU data and optional GPS through factor-graph smoothing to estimate pose and build maps.
- Stale
Source on GitHub: github.com/TixiaoShan/LIO-SAM (opens in a new tab). Facts read at commit 0be1fbe (opens in a new tab).
Licenses
- Code
- BSD-3-Clause (opens in a new tab)
Read by Robotheca from LICENSE (opens in a new tab) (BSD-3-Clause) at commit 0be1fbe (opens in a new tab), on 16 Oct 2026.
- Commercial use
- Yes
Labels
- StaleNo commit in 12 months: the newest is from 17 Apr 2023.
What it does
- Runs a factor graph in mapOptimization that combines lidar odometry and GPS factors over the whole run.
- Runs a second factor graph in imuPreintegration that fuses IMU and lidar odometry and estimates IMU bias, giving odometry at IMU rate.
- Deskews point clouds using per-point timestamps and ring numbers from a mechanical lidar.
- Includes a proof-of-concept loop closure adapted from LeGO-LOAM, enabled through a parameter.
- Can use GPS odometry as an input, with thresholds for filtering readings and adding GPS factors.
- Provides a save_map service that writes the map to a PCD file at a chosen resolution.
Written by Robotheca from the project's README (opens in a new tab) at commit 0be1fbe.
Getting started
- Difficulty
- Advanced
- Hardware it needs, as the project states it
- Built for ROS1 (tested with Kinetic and Melodic, Noetic referenced in an issue); requires gtsam, a 9-axis IMU recommended at 200Hz or higher, and a mechanical lidar such as Velodyne, Ouster, or Livox Horizon with extrinsics configured. Docker image based on ROS Kinetic is provided. No computer or GP
- How to start
- The project's README (opens in a new tab)
Maintenance
- Status
- Stale: no commit in 12 months
- Newest commit
- 17 Apr 2023 on master
- Latest release
- None published on GitHub
Checked on GitHub on 16 Oct 2026.
Links
Robots on Robotheca that use it
No robot on Robotheca is linked to it yet. Links come from a robot's robot.yaml, from its dependency files read as text, or from Robotheca's editors.
Robotheca lists software as a reference: nothing is hosted or run here, and every fact links to where it was read.