git404hub

what is lio-sam fr?

tixiaoshan/lio-sam — explained in plain English

Analysis updated 2026-06-26

4,737C++Audience · researcherComplexity · 5/5Setup · hard

tl;dr

A robotics software package that builds precise 3D maps in real time while tracking a robot's location, by combining lidar laser scans with motion sensor data in the ROS framework.

vibe map

mindmap
  root((LIO-SAM))
    What it does
      3D environment mapping
      Real-time localization
      Sensor fusion
    Sensors
      Lidar scanner
      9-axis IMU
      Velodyne support
      Ouster support
    Architecture
      Map refinement thread
      IMU-rate pose thread
    Setup
      ROS framework
      Manual calibration
      ROS2 branch available

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

what do people make with this?

VIBE 1

Build a 3D map of an outdoor environment using a lidar and IMU mounted on a wheeled robot

VIBE 2

Track the precise position and path of a drone or autonomous vehicle in real time

VIBE 3

Test the LIO-SAM algorithm on provided sample datasets before deploying on physical hardware

VIBE 4

Migrate to the ROS2 branch to integrate LIO-SAM into a newer robotics system

what's the stack?

C++ROSGTSAMOpenCV

how it stacks up fr

tixiaoshan/lio-samurho3d/urho3ddfranx/shadered
Stars4,7374,7324,749
LanguageC++C++C++
Setup difficultyhardhardeasy
Complexity5/53/53/5
Audienceresearcherdeveloperdeveloper

Figures from each repo's GitHub metadata at analysis time.

how do i run it?

Difficulty · hard time til it works · 1day+

Requires a compatible mechanical lidar with per-point timestamps, a 9-axis IMU, and manual sensor-to-sensor calibration before mapping works.

License not specified in the explanation, verify the repository before use in commercial projects.

in plain english

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.

prompts (copy fr)

prompt 1
Walk me through calibrating a Velodyne lidar and 9-axis IMU together to run LIO-SAM on my outdoor robot
prompt 2
Help me set up LIO-SAM with a sample ROS bag file to verify the mapping pipeline produces accurate trajectories
prompt 3
Explain the dual-thread architecture in LIO-SAM and how IMU preintegration keeps the pose estimate fresh between lidar scans
prompt 4
I'm getting drift in my LIO-SAM map after 100 meters, help me diagnose whether it's an IMU calibration or loop closure issue

Frequently asked questions

what is lio-sam fr?

A robotics software package that builds precise 3D maps in real time while tracking a robot's location, by combining lidar laser scans with motion sensor data in the ROS framework.

What language is lio-sam written in?

Mainly C++. The stack also includes C++, ROS, GTSAM.

What license does lio-sam use?

License not specified in the explanation, verify the repository before use in commercial projects.

How hard is lio-sam to set up?

Setup difficulty is rated hard, with roughly 1day+ to a first successful run.

Who is lio-sam for?

Mainly researcher.

peek the repo → explain another one

This repo across BitVibe Labs

double-check against the repo, no cap.