Skip to content

lidarslam_ros2 v0.5.0

The "real ground truth" release. Every headline number on the README is now backed by an independent reference, and the whole bag-to-Autoware-map path is one command on every entry point — source build, beginner runner, or the prebuilt Docker image.

Highlights

Total-station ground truth on Livox MID-360 (RTK-SLAM dataset)

All four sequences of the public RTK-SLAM dataset (CC-BY 4.0, Livox MID-360, geodetic total-station checkpoints) are measured and wired into the release gate:

Sequence Env APE RMSE Gate
Construction Hall 2 indoor 0.154 m (median 0.061) blocking, pass ≤ 0.30
Construction Hall 1 indoor (hard) 0.403 m (median 0.263) blocking, pass ≤ 0.55
Stadtgarten 2 outdoor park 0.835 m (median 0.327) report-only
Stadtgarten 1 outdoor park, 1 km 1.666 m (median 1.511) report-only

The former GLIM cross-validation gate is demoted to a report-only regression canary — cross-validation measures agreement, not accuracy. The outdoor result comes from a dedicated outdoor preset (configs/mid360_robot/rko_lio_rtk_slam_mid360_outdoor.yaml, double_downsample: false; 3.9 m → 0.835 m). Methodology: docs/research/rtkslam-total-station-gt-methodology.md.

One-command map authoring, everywhere

  • Docker: docker run --rm -v "$PWD/lidarslam_output:/lidarslam_ws/output" ghcr.io/rsasaki0109/lidar_slam_ros2:humble — pulls a public MID-360 bag and produces the Autoware-ready map headless. The image is published on every develop push.
  • Your own bag: bash scripts/run_autoware_map_beginner.sh /path/to/rosbag2.
  • The bundle is complete now: pointcloud_map/ tiles + map_projector_info.yaml + auto-generated lanelet2_map.osm (best-effort, with an end-of-run bundle summary).

Deterministic loop scheduling (v0.4 carry-in)

Opt-in deterministic_loop_scheduling (default off) replaces latest-only wall-clock loop-candidate scheduling with a deterministic catch-up over unqueried submaps. Off by default; byte-identical behaviour when off.

Photoreal map deliverables

The README hero GIF rides the full 60 m RTK-SLAM Construction Hall loop through the camera-colored point-cloud map (occlusion-aware robust colorization), rendered with the in-repo flythrough tool. The optional 3DGS pipeline (gsplat, Apache-2.0) is documented end-to-end in docs/3dgs-map-tutorial.md.

Binary release prep (rosdistro)

Versions aligned at 0.5.0 across VERSION and the four core packages, SPDX BSD-2-Clause license tags, per-package CHANGELOG.rst, and a bloom runbook at docs/rosdistro-release.md (dependency analysis: ndt_omp_ros2 fork releases first; rko_lio is runtime-optional and not a blocker).

Reproduce

bash scripts/run_default_ci_checks.sh
bash scripts/run_release_readiness_checks.sh --fail-on-profiles
bash scripts/run_rko_lio_graph_benchmark.sh

Compatibility

  • ROS 2 Humble (Ubuntu 22.04) and Jazzy (Ubuntu 24.04), CI matrix on both.
  • No GPL components on the default workflow (BSD-2-Clause / MIT / Apache-2.0).
  • Message definitions (lidarslam_msgs) unchanged since 0.2.x.