Skip to content
ROS 2 LiDAR SLAM

Turn a LiDAR bag into an Autoware-compatible pointcloud map.

lidarslam_ros2 pairs the RKO-LIO frontend with the graph_based_slam backend, then writes a validated pointcloud_map/ and map_projector_info.yaml.

RKO-LIO frontend graph_based_slam backend Autoware-compatible output

New here? The Docker one-liner needs no ROS 2 workspace.

Live map building on a handheld outdoor walk, coloured by when each part was mapped

Pick your path

Quick start

mkdir -p "$PWD/lidarslam_output"
docker run --rm \
  -e LIDARSLAM_HOST_UID="$(id -u)" \
  -e LIDARSLAM_HOST_GID="$(id -g)" \
  -v "$PWD/lidarslam_output:/lidarslam_ws/output" \
  ghcr.io/rsasaki0109/lidar_slam_ros2:v0.10.0-humble

On Ubuntu 24.04 use v0.10.0-jazzy. The map lands in lidarslam_output/mid360_demo.

# Read-only preflight: no network, no files written.
lidarslam-map doctor /path/to/rosbag2

# Map once the doctor prints the exact start command.
lidarslam-map start /path/to/rosbag2 --output-dir "$PWD/output/my_map"
git clone --recursive https://github.com/rsasaki0109/lidar_slam_ros2.git
cd lidar_slam_ros2
bash scripts/source_quickstart.sh --dry-run

What you get

A run produces a portable map bundle that Autoware tooling can load directly:

output/my_map/
├── pointcloud_map/            # tiled PCD map
├── map_projector_info.yaml    # local map projection
└── ...                        # trajectory, config, and verification reports

Open the result in the browser-first Autoware Foxglove path or read the Autoware-Compatible Map Authoring guide.

Learn more

At a glance

Area Current public position
Main path RKO-LIO + graph_based_slam
Map output pointcloud_map/ + map_projector_info.yaml
Long-loop evidence MID360
Ground-truth benchmark NTU VIRAL tnp_01

Project