Build a 3D map of an outdoor environment using a lidar and IMU mounted on a wheeled robot
Track the precise position and path of a drone or autonomous vehicle in real time
Test the LIO-SAM algorithm on provided sample datasets before deploying on physical hardware
Migrate to the ROS2 branch to integrate LIO-SAM into a newer robotics system
Requires a compatible mechanical lidar with per-point timestamps, a 9-axis IMU, and manual sensor-to-sensor calibration before mapping works.
LIO-SAM is a software package for building 3D maps of an environment in real time while simultaneously tracking where a robot or vehicle is located. It is designed for outdoor robots, autonomous vehicles, and drones, and it runs on a widely used robotics framework called ROS (Robot Operating System). The system works by combining data from two sensors: a lidar (a laser scanner that measures distances by bouncing pulses off nearby surfaces) and an IMU (a motion sensor that detects acceleration and rotation). By fusing these two data streams continuously, the system can produce a precise position estimate even at the high update rates that an IMU provides, while the lidar's geometry keeps the long-term map accurate. The package maintains two separate calculation processes running in parallel. One handles the ongoing map and refines position estimates over time. The other runs at the speed of the IMU, which can be up to 500 times per second, to keep the current pose estimate fresh. Together they allow the system to run up to ten times faster than real-time while still producing accurate maps and trajectories. Setting it up requires compatible hardware: a mechanical lidar that reports per-point timestamps and ring numbers, plus a 9-axis IMU. Some manual calibration is needed to align the two sensors to each other. The README provides detailed steps for this alignment, sample datasets for testing, and notes on common hardware combinations including Velodyne and Ouster lidar models. A ROS2 version is available on a separate branch for users on newer systems. This project comes from academic research and includes a companion paper describing the algorithm. The code is practical enough to run on physical robots, with examples using a Jackal wheeled robot and a handheld sensor rig.
← tixiaoshan on gitmyhub — every repo by this author, as a profile.
Verify against the repo before relying on details.