No version for distro humble showing github. Known supported distros are highlighted in the buttons above.

Repository Summary

Description
Checkout URI https://github.com/rsasaki0109/lidarslam_ros2.git
VCS Type git
VCS Version develop
Last Updated 2026-03-30
Dev Status UNKNOWN
Released UNRELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Packages

Name Version
graph_based_slam 0.2.2
lidarslam 0.2.2
lidarslam_msgs 0.2.2
scanmatcher 0.2.2

README

lidarslam_ros2

ROS 2 LiDAR SLAM focused on non-GPL pointcloud-map authoring, benchmarking, and compatibility with Autoware pointcloud-map workflows.

Status: develop tracks the current v2 alpha line. For the latest tagged public beta, see v0.2.2 Release Notes.

The recommended public path in this repository is:

  • frontend: RKO-LIO
  • backend: graph_based_slam
  • output: Autoware-compatible pointcloud_map/ and map_projector_info.yaml

This is the path exercised in the public quickstart, benchmark flow, and release/readiness gate.

Scope

This repository is for people who want:

  • ROS 2 LiDAR SLAM with loop closure
  • pointcloud maps that Autoware can load
  • a non-GPL default workflow

Out of scope for the public path:

  • lanelet2_map.osm generation
  • Autoware planning/localization bringup
  • GPL-only frontend or backend components in the default workflow

Why This Repo

  • non-GPL default path: graph_based_slam (BSD-2-Clause), scanmatcher (project-local), RKO-LIO (MIT), DLIO (MIT), FAST_GICP (BSD-3-Clause)
  • pointcloud-map authoring is treated as a first-class workflow, not just a side-effect of odometry
  • Autoware pointcloud-map flow is exercised end-to-end
  • default benchmark path is tracked on NTU VIRAL
  • current long-loop evidence is tracked on MID360
  • optional GNSS georeferencing writes map_projector_info.yaml
  • GNSS edges can use covariance-based weighting, with RTK-like fixes inferred from low horizontal covariance
  • GPL-free Scan Context place recognition is available in graph_based_slam
  • experimental submap-BEV and SOLiD descriptors can be benchmarked without adding GPL dependencies
  • optional dynamic-object filtering can clean the saved pointcloud_map/ at /map_save time without changing live odometry
  • dynamic-filter reports now track both point reduction and coarse tile-footprint preservation
  • packet-based Applanix IMU deskew support exists for real open data, but it remains experimental and off by default in the Leo Drive packet path
  • the Leo Drive classic path now has a dedicated benchmark-suite entrypoint and report
  • place-recognition and dynamic-filter comparisons both have report generators with tracked artifacts
  • a focused map-authoring report can summarize benchmark, GNSS, cleanup, and classic-path evidence in one place
  • a submission-bundle helper can package maps, metrics, trajectories, logs, and reports in a repeatable layout

Install

Clone with submodules and install dependencies:

cd ~/ros2_ws/src
git clone --recursive https://github.com/rsasaki0109/lidarslam_ros2.git
cd ..
rosdep install --from-paths src --ignore-src -r -y

If you already cloned without submodules:

git -C src/lidarslam_ros2 submodule update --init --recursive

Build the workspace:

colcon build --symlink-install --cmake-args -DCMAKE_BUILD_TYPE=Release

Quickstart

# local checks
bash scripts/run_default_ci_checks.sh

# fixed public quickstart
bash scripts/download_ntu_viral_tnp01.sh
bash scripts/run_autoware_quickstart.sh

# arbitrary rosbag2
bash scripts/run_autoware_map_beginner.sh /path/to/rosbag2

Point-Cloud Map Example

Autoware-compatible browser proof built from a live /map/pointcloud_map: the rendered map comes from Autoware map loaders, map verify is PASS, and GNSS runs emit LocalCartesian. Autoware-compatible proof Save-time dynamic-object filtering on Leo Drive bag6 cuts saved points by about 50% while keeping verification PASS. Dynamic-object filter summary

Docs

File truncated at 100 lines see the full file

CONTRIBUTING

Contributing

Thanks for contributing to lidarslam_ros2.

This repository is trying to be a practical default for ROS 2 LiDAR SLAM and Autoware pointcloud-map generation. Contributions are most useful when they are easy to reproduce, easy to compare, and clearly scoped.

What To Send

Useful contributions include:

  • bug fixes in the default permissive workflow
  • Autoware pointcloud-map integration fixes
  • benchmark results with reproducible commands and artifacts
  • parameter improvements backed by logs and trajectory metrics
  • documentation improvements that reduce setup time

Default Workflow Policy

The default and recommended workflow in this repository is permissive-license only. Contributions that change the default path should preserve that property.

Current default path:

  • RKO-LIO + graph_based_slam
  • local Scan Context implementation
  • Autoware-compatible pointcloud map output

Research frontends with other licenses can still be discussed, but they should not silently become the default path.

Autoware Naming And Trademark Guidance

Keep Autoware references descriptive.

Preferred wording:

  • Autoware-compatible pointcloud map
  • pointcloud-map workflow for Autoware
  • works with Autoware
  • built on Autoware

Avoid branding this repository or a derived product as if it were an official Autoware product or a Foundation-approved distribution.

Avoid wording such as:

  • Autoware-ready as a product tag line
  • official Autoware
  • Autoware <product-name>
  • certified by Autoware
  • endorsed by the Autoware Foundation

If in doubt, prefer compatibility language over product-name language.

Before Opening An Issue

Please collect the smallest reproducible case you can.

For Autoware-related reports, include:

  • exact map bundle path or a minimal reproduction bundle
  • map_projector_info.yaml
  • result of python3 scripts/verify_autoware_map.py <pointcloud_map_dir>
  • exact command used to stage or view the map
  • whether GNSS was enabled

For benchmark-related reports, include:

  • bag or dataset name
  • exact command line
  • param file path
  • metrics.json
  • ape_corrected_vs_gt.txt and ape_raw_vs_gt.txt when available
  • logs needed to understand failures or regressions

For code changes that touch the default workflow:

bash scripts/run_default_ci_checks.sh

For benchmark/reporting changes:

bash scripts/run_release_readiness_checks.sh --skip-default-ci --ape-threshold 0.10

For Autoware pointcloud-map changes:

bash scripts/run_autoware_quickstart.sh

Benchmark Result Submissions

If you want to contribute benchmark results, prefer opening the benchmark report

File truncated at 100 lines see the full file

# Contributing Thanks for contributing to `lidarslam_ros2`. This repository is trying to be a practical default for ROS 2 LiDAR SLAM and Autoware pointcloud-map generation. Contributions are most useful when they are easy to reproduce, easy to compare, and clearly scoped. ## What To Send Useful contributions include: - bug fixes in the default permissive workflow - Autoware pointcloud-map integration fixes - benchmark results with reproducible commands and artifacts - parameter improvements backed by logs and trajectory metrics - documentation improvements that reduce setup time ## Default Workflow Policy The default and recommended workflow in this repository is permissive-license only. Contributions that change the default path should preserve that property. Current default path: - `RKO-LIO + graph_based_slam` - local Scan Context implementation - Autoware-compatible pointcloud map output Research frontends with other licenses can still be discussed, but they should not silently become the default path. ## Autoware Naming And Trademark Guidance Keep Autoware references descriptive. Preferred wording: - `Autoware-compatible pointcloud map` - `pointcloud-map workflow for Autoware` - `works with Autoware` - `built on Autoware` Avoid branding this repository or a derived product as if it were an official Autoware product or a Foundation-approved distribution. Avoid wording such as: - `Autoware-ready` as a product tag line - `official Autoware` - `Autoware ` - `certified by Autoware` - `endorsed by the Autoware Foundation` If in doubt, prefer compatibility language over product-name language. ## Before Opening An Issue Please collect the smallest reproducible case you can. For Autoware-related reports, include: - exact map bundle path or a minimal reproduction bundle - `map_projector_info.yaml` - result of `python3 scripts/verify_autoware_map.py ` - exact command used to stage or view the map - whether GNSS was enabled For benchmark-related reports, include: - bag or dataset name - exact command line - param file path - `metrics.json` - `ape_corrected_vs_gt.txt` and `ape_raw_vs_gt.txt` when available - logs needed to understand failures or regressions ## Recommended Local Checks For code changes that touch the default workflow: ```bash bash scripts/run_default_ci_checks.sh ``` For benchmark/reporting changes: ```bash bash scripts/run_release_readiness_checks.sh --skip-default-ci --ape-threshold 0.10 ``` For Autoware pointcloud-map changes: ```bash bash scripts/run_autoware_quickstart.sh ``` ## Benchmark Result Submissions If you want to contribute benchmark results, prefer opening the benchmark report File truncated at 100 lines [see the full file](https://github.com/rsasaki0109/lidarslam_ros2/tree/develop/CONTRIBUTING.md)
No version for distro jazzy showing github. Known supported distros are highlighted in the buttons above.

Repository Summary

Description
Checkout URI https://github.com/rsasaki0109/lidarslam_ros2.git
VCS Type git
VCS Version develop
Last Updated 2026-03-30
Dev Status UNKNOWN
Released UNRELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Packages

Name Version
graph_based_slam 0.2.2
lidarslam 0.2.2
lidarslam_msgs 0.2.2
scanmatcher 0.2.2

README

lidarslam_ros2

ROS 2 LiDAR SLAM focused on non-GPL pointcloud-map authoring, benchmarking, and compatibility with Autoware pointcloud-map workflows.

Status: develop tracks the current v2 alpha line. For the latest tagged public beta, see v0.2.2 Release Notes.

The recommended public path in this repository is:

  • frontend: RKO-LIO
  • backend: graph_based_slam
  • output: Autoware-compatible pointcloud_map/ and map_projector_info.yaml

This is the path exercised in the public quickstart, benchmark flow, and release/readiness gate.

Scope

This repository is for people who want:

  • ROS 2 LiDAR SLAM with loop closure
  • pointcloud maps that Autoware can load
  • a non-GPL default workflow

Out of scope for the public path:

  • lanelet2_map.osm generation
  • Autoware planning/localization bringup
  • GPL-only frontend or backend components in the default workflow

Why This Repo

  • non-GPL default path: graph_based_slam (BSD-2-Clause), scanmatcher (project-local), RKO-LIO (MIT), DLIO (MIT), FAST_GICP (BSD-3-Clause)
  • pointcloud-map authoring is treated as a first-class workflow, not just a side-effect of odometry
  • Autoware pointcloud-map flow is exercised end-to-end
  • default benchmark path is tracked on NTU VIRAL
  • current long-loop evidence is tracked on MID360
  • optional GNSS georeferencing writes map_projector_info.yaml
  • GNSS edges can use covariance-based weighting, with RTK-like fixes inferred from low horizontal covariance
  • GPL-free Scan Context place recognition is available in graph_based_slam
  • experimental submap-BEV and SOLiD descriptors can be benchmarked without adding GPL dependencies
  • optional dynamic-object filtering can clean the saved pointcloud_map/ at /map_save time without changing live odometry
  • dynamic-filter reports now track both point reduction and coarse tile-footprint preservation
  • packet-based Applanix IMU deskew support exists for real open data, but it remains experimental and off by default in the Leo Drive packet path
  • the Leo Drive classic path now has a dedicated benchmark-suite entrypoint and report
  • place-recognition and dynamic-filter comparisons both have report generators with tracked artifacts
  • a focused map-authoring report can summarize benchmark, GNSS, cleanup, and classic-path evidence in one place
  • a submission-bundle helper can package maps, metrics, trajectories, logs, and reports in a repeatable layout

Install

Clone with submodules and install dependencies:

cd ~/ros2_ws/src
git clone --recursive https://github.com/rsasaki0109/lidarslam_ros2.git
cd ..
rosdep install --from-paths src --ignore-src -r -y

If you already cloned without submodules:

git -C src/lidarslam_ros2 submodule update --init --recursive

Build the workspace:

colcon build --symlink-install --cmake-args -DCMAKE_BUILD_TYPE=Release

Quickstart

# local checks
bash scripts/run_default_ci_checks.sh

# fixed public quickstart
bash scripts/download_ntu_viral_tnp01.sh
bash scripts/run_autoware_quickstart.sh

# arbitrary rosbag2
bash scripts/run_autoware_map_beginner.sh /path/to/rosbag2

Point-Cloud Map Example

Autoware-compatible browser proof built from a live /map/pointcloud_map: the rendered map comes from Autoware map loaders, map verify is PASS, and GNSS runs emit LocalCartesian. Autoware-compatible proof Save-time dynamic-object filtering on Leo Drive bag6 cuts saved points by about 50% while keeping verification PASS. Dynamic-object filter summary

Docs

File truncated at 100 lines see the full file

CONTRIBUTING

Contributing

Thanks for contributing to lidarslam_ros2.

This repository is trying to be a practical default for ROS 2 LiDAR SLAM and Autoware pointcloud-map generation. Contributions are most useful when they are easy to reproduce, easy to compare, and clearly scoped.

What To Send

Useful contributions include:

  • bug fixes in the default permissive workflow
  • Autoware pointcloud-map integration fixes
  • benchmark results with reproducible commands and artifacts
  • parameter improvements backed by logs and trajectory metrics
  • documentation improvements that reduce setup time

Default Workflow Policy

The default and recommended workflow in this repository is permissive-license only. Contributions that change the default path should preserve that property.

Current default path:

  • RKO-LIO + graph_based_slam
  • local Scan Context implementation
  • Autoware-compatible pointcloud map output

Research frontends with other licenses can still be discussed, but they should not silently become the default path.

Autoware Naming And Trademark Guidance

Keep Autoware references descriptive.

Preferred wording:

  • Autoware-compatible pointcloud map
  • pointcloud-map workflow for Autoware
  • works with Autoware
  • built on Autoware

Avoid branding this repository or a derived product as if it were an official Autoware product or a Foundation-approved distribution.

Avoid wording such as:

  • Autoware-ready as a product tag line
  • official Autoware
  • Autoware <product-name>
  • certified by Autoware
  • endorsed by the Autoware Foundation

If in doubt, prefer compatibility language over product-name language.

Before Opening An Issue

Please collect the smallest reproducible case you can.

For Autoware-related reports, include:

  • exact map bundle path or a minimal reproduction bundle
  • map_projector_info.yaml
  • result of python3 scripts/verify_autoware_map.py <pointcloud_map_dir>
  • exact command used to stage or view the map
  • whether GNSS was enabled

For benchmark-related reports, include:

  • bag or dataset name
  • exact command line
  • param file path
  • metrics.json
  • ape_corrected_vs_gt.txt and ape_raw_vs_gt.txt when available
  • logs needed to understand failures or regressions

For code changes that touch the default workflow:

bash scripts/run_default_ci_checks.sh

For benchmark/reporting changes:

bash scripts/run_release_readiness_checks.sh --skip-default-ci --ape-threshold 0.10

For Autoware pointcloud-map changes:

bash scripts/run_autoware_quickstart.sh

Benchmark Result Submissions

If you want to contribute benchmark results, prefer opening the benchmark report

File truncated at 100 lines see the full file

# Contributing Thanks for contributing to `lidarslam_ros2`. This repository is trying to be a practical default for ROS 2 LiDAR SLAM and Autoware pointcloud-map generation. Contributions are most useful when they are easy to reproduce, easy to compare, and clearly scoped. ## What To Send Useful contributions include: - bug fixes in the default permissive workflow - Autoware pointcloud-map integration fixes - benchmark results with reproducible commands and artifacts - parameter improvements backed by logs and trajectory metrics - documentation improvements that reduce setup time ## Default Workflow Policy The default and recommended workflow in this repository is permissive-license only. Contributions that change the default path should preserve that property. Current default path: - `RKO-LIO + graph_based_slam` - local Scan Context implementation - Autoware-compatible pointcloud map output Research frontends with other licenses can still be discussed, but they should not silently become the default path. ## Autoware Naming And Trademark Guidance Keep Autoware references descriptive. Preferred wording: - `Autoware-compatible pointcloud map` - `pointcloud-map workflow for Autoware` - `works with Autoware` - `built on Autoware` Avoid branding this repository or a derived product as if it were an official Autoware product or a Foundation-approved distribution. Avoid wording such as: - `Autoware-ready` as a product tag line - `official Autoware` - `Autoware ` - `certified by Autoware` - `endorsed by the Autoware Foundation` If in doubt, prefer compatibility language over product-name language. ## Before Opening An Issue Please collect the smallest reproducible case you can. For Autoware-related reports, include: - exact map bundle path or a minimal reproduction bundle - `map_projector_info.yaml` - result of `python3 scripts/verify_autoware_map.py ` - exact command used to stage or view the map - whether GNSS was enabled For benchmark-related reports, include: - bag or dataset name - exact command line - param file path - `metrics.json` - `ape_corrected_vs_gt.txt` and `ape_raw_vs_gt.txt` when available - logs needed to understand failures or regressions ## Recommended Local Checks For code changes that touch the default workflow: ```bash bash scripts/run_default_ci_checks.sh ``` For benchmark/reporting changes: ```bash bash scripts/run_release_readiness_checks.sh --skip-default-ci --ape-threshold 0.10 ``` For Autoware pointcloud-map changes: ```bash bash scripts/run_autoware_quickstart.sh ``` ## Benchmark Result Submissions If you want to contribute benchmark results, prefer opening the benchmark report File truncated at 100 lines [see the full file](https://github.com/rsasaki0109/lidarslam_ros2/tree/develop/CONTRIBUTING.md)
No version for distro kilted showing github. Known supported distros are highlighted in the buttons above.

Repository Summary

Description
Checkout URI https://github.com/rsasaki0109/lidarslam_ros2.git
VCS Type git
VCS Version develop
Last Updated 2026-03-30
Dev Status UNKNOWN
Released UNRELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Packages

Name Version
graph_based_slam 0.2.2
lidarslam 0.2.2
lidarslam_msgs 0.2.2
scanmatcher 0.2.2

README

lidarslam_ros2

ROS 2 LiDAR SLAM focused on non-GPL pointcloud-map authoring, benchmarking, and compatibility with Autoware pointcloud-map workflows.

Status: develop tracks the current v2 alpha line. For the latest tagged public beta, see v0.2.2 Release Notes.

The recommended public path in this repository is:

  • frontend: RKO-LIO
  • backend: graph_based_slam
  • output: Autoware-compatible pointcloud_map/ and map_projector_info.yaml

This is the path exercised in the public quickstart, benchmark flow, and release/readiness gate.

Scope

This repository is for people who want:

  • ROS 2 LiDAR SLAM with loop closure
  • pointcloud maps that Autoware can load
  • a non-GPL default workflow

Out of scope for the public path:

  • lanelet2_map.osm generation
  • Autoware planning/localization bringup
  • GPL-only frontend or backend components in the default workflow

Why This Repo

  • non-GPL default path: graph_based_slam (BSD-2-Clause), scanmatcher (project-local), RKO-LIO (MIT), DLIO (MIT), FAST_GICP (BSD-3-Clause)
  • pointcloud-map authoring is treated as a first-class workflow, not just a side-effect of odometry
  • Autoware pointcloud-map flow is exercised end-to-end
  • default benchmark path is tracked on NTU VIRAL
  • current long-loop evidence is tracked on MID360
  • optional GNSS georeferencing writes map_projector_info.yaml
  • GNSS edges can use covariance-based weighting, with RTK-like fixes inferred from low horizontal covariance
  • GPL-free Scan Context place recognition is available in graph_based_slam
  • experimental submap-BEV and SOLiD descriptors can be benchmarked without adding GPL dependencies
  • optional dynamic-object filtering can clean the saved pointcloud_map/ at /map_save time without changing live odometry
  • dynamic-filter reports now track both point reduction and coarse tile-footprint preservation
  • packet-based Applanix IMU deskew support exists for real open data, but it remains experimental and off by default in the Leo Drive packet path
  • the Leo Drive classic path now has a dedicated benchmark-suite entrypoint and report
  • place-recognition and dynamic-filter comparisons both have report generators with tracked artifacts
  • a focused map-authoring report can summarize benchmark, GNSS, cleanup, and classic-path evidence in one place
  • a submission-bundle helper can package maps, metrics, trajectories, logs, and reports in a repeatable layout

Install

Clone with submodules and install dependencies:

cd ~/ros2_ws/src
git clone --recursive https://github.com/rsasaki0109/lidarslam_ros2.git
cd ..
rosdep install --from-paths src --ignore-src -r -y

If you already cloned without submodules:

git -C src/lidarslam_ros2 submodule update --init --recursive

Build the workspace:

colcon build --symlink-install --cmake-args -DCMAKE_BUILD_TYPE=Release

Quickstart

# local checks
bash scripts/run_default_ci_checks.sh

# fixed public quickstart
bash scripts/download_ntu_viral_tnp01.sh
bash scripts/run_autoware_quickstart.sh

# arbitrary rosbag2
bash scripts/run_autoware_map_beginner.sh /path/to/rosbag2

Point-Cloud Map Example

Autoware-compatible browser proof built from a live /map/pointcloud_map: the rendered map comes from Autoware map loaders, map verify is PASS, and GNSS runs emit LocalCartesian. Autoware-compatible proof Save-time dynamic-object filtering on Leo Drive bag6 cuts saved points by about 50% while keeping verification PASS. Dynamic-object filter summary

Docs

File truncated at 100 lines see the full file

CONTRIBUTING

Contributing

Thanks for contributing to lidarslam_ros2.

This repository is trying to be a practical default for ROS 2 LiDAR SLAM and Autoware pointcloud-map generation. Contributions are most useful when they are easy to reproduce, easy to compare, and clearly scoped.

What To Send

Useful contributions include:

  • bug fixes in the default permissive workflow
  • Autoware pointcloud-map integration fixes
  • benchmark results with reproducible commands and artifacts
  • parameter improvements backed by logs and trajectory metrics
  • documentation improvements that reduce setup time

Default Workflow Policy

The default and recommended workflow in this repository is permissive-license only. Contributions that change the default path should preserve that property.

Current default path:

  • RKO-LIO + graph_based_slam
  • local Scan Context implementation
  • Autoware-compatible pointcloud map output

Research frontends with other licenses can still be discussed, but they should not silently become the default path.

Autoware Naming And Trademark Guidance

Keep Autoware references descriptive.

Preferred wording:

  • Autoware-compatible pointcloud map
  • pointcloud-map workflow for Autoware
  • works with Autoware
  • built on Autoware

Avoid branding this repository or a derived product as if it were an official Autoware product or a Foundation-approved distribution.

Avoid wording such as:

  • Autoware-ready as a product tag line
  • official Autoware
  • Autoware <product-name>
  • certified by Autoware
  • endorsed by the Autoware Foundation

If in doubt, prefer compatibility language over product-name language.

Before Opening An Issue

Please collect the smallest reproducible case you can.

For Autoware-related reports, include:

  • exact map bundle path or a minimal reproduction bundle
  • map_projector_info.yaml
  • result of python3 scripts/verify_autoware_map.py <pointcloud_map_dir>
  • exact command used to stage or view the map
  • whether GNSS was enabled

For benchmark-related reports, include:

  • bag or dataset name
  • exact command line
  • param file path
  • metrics.json
  • ape_corrected_vs_gt.txt and ape_raw_vs_gt.txt when available
  • logs needed to understand failures or regressions

For code changes that touch the default workflow:

bash scripts/run_default_ci_checks.sh

For benchmark/reporting changes:

bash scripts/run_release_readiness_checks.sh --skip-default-ci --ape-threshold 0.10

For Autoware pointcloud-map changes:

bash scripts/run_autoware_quickstart.sh

Benchmark Result Submissions

If you want to contribute benchmark results, prefer opening the benchmark report

File truncated at 100 lines see the full file

# Contributing Thanks for contributing to `lidarslam_ros2`. This repository is trying to be a practical default for ROS 2 LiDAR SLAM and Autoware pointcloud-map generation. Contributions are most useful when they are easy to reproduce, easy to compare, and clearly scoped. ## What To Send Useful contributions include: - bug fixes in the default permissive workflow - Autoware pointcloud-map integration fixes - benchmark results with reproducible commands and artifacts - parameter improvements backed by logs and trajectory metrics - documentation improvements that reduce setup time ## Default Workflow Policy The default and recommended workflow in this repository is permissive-license only. Contributions that change the default path should preserve that property. Current default path: - `RKO-LIO + graph_based_slam` - local Scan Context implementation - Autoware-compatible pointcloud map output Research frontends with other licenses can still be discussed, but they should not silently become the default path. ## Autoware Naming And Trademark Guidance Keep Autoware references descriptive. Preferred wording: - `Autoware-compatible pointcloud map` - `pointcloud-map workflow for Autoware` - `works with Autoware` - `built on Autoware` Avoid branding this repository or a derived product as if it were an official Autoware product or a Foundation-approved distribution. Avoid wording such as: - `Autoware-ready` as a product tag line - `official Autoware` - `Autoware ` - `certified by Autoware` - `endorsed by the Autoware Foundation` If in doubt, prefer compatibility language over product-name language. ## Before Opening An Issue Please collect the smallest reproducible case you can. For Autoware-related reports, include: - exact map bundle path or a minimal reproduction bundle - `map_projector_info.yaml` - result of `python3 scripts/verify_autoware_map.py ` - exact command used to stage or view the map - whether GNSS was enabled For benchmark-related reports, include: - bag or dataset name - exact command line - param file path - `metrics.json` - `ape_corrected_vs_gt.txt` and `ape_raw_vs_gt.txt` when available - logs needed to understand failures or regressions ## Recommended Local Checks For code changes that touch the default workflow: ```bash bash scripts/run_default_ci_checks.sh ``` For benchmark/reporting changes: ```bash bash scripts/run_release_readiness_checks.sh --skip-default-ci --ape-threshold 0.10 ``` For Autoware pointcloud-map changes: ```bash bash scripts/run_autoware_quickstart.sh ``` ## Benchmark Result Submissions If you want to contribute benchmark results, prefer opening the benchmark report File truncated at 100 lines [see the full file](https://github.com/rsasaki0109/lidarslam_ros2/tree/develop/CONTRIBUTING.md)
No version for distro rolling showing github. Known supported distros are highlighted in the buttons above.

Repository Summary

Description
Checkout URI https://github.com/rsasaki0109/lidarslam_ros2.git
VCS Type git
VCS Version develop
Last Updated 2026-03-30
Dev Status UNKNOWN
Released UNRELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Packages

Name Version
graph_based_slam 0.2.2
lidarslam 0.2.2
lidarslam_msgs 0.2.2
scanmatcher 0.2.2

README

lidarslam_ros2

ROS 2 LiDAR SLAM focused on non-GPL pointcloud-map authoring, benchmarking, and compatibility with Autoware pointcloud-map workflows.

Status: develop tracks the current v2 alpha line. For the latest tagged public beta, see v0.2.2 Release Notes.

The recommended public path in this repository is:

  • frontend: RKO-LIO
  • backend: graph_based_slam
  • output: Autoware-compatible pointcloud_map/ and map_projector_info.yaml

This is the path exercised in the public quickstart, benchmark flow, and release/readiness gate.

Scope

This repository is for people who want:

  • ROS 2 LiDAR SLAM with loop closure
  • pointcloud maps that Autoware can load
  • a non-GPL default workflow

Out of scope for the public path:

  • lanelet2_map.osm generation
  • Autoware planning/localization bringup
  • GPL-only frontend or backend components in the default workflow

Why This Repo

  • non-GPL default path: graph_based_slam (BSD-2-Clause), scanmatcher (project-local), RKO-LIO (MIT), DLIO (MIT), FAST_GICP (BSD-3-Clause)
  • pointcloud-map authoring is treated as a first-class workflow, not just a side-effect of odometry
  • Autoware pointcloud-map flow is exercised end-to-end
  • default benchmark path is tracked on NTU VIRAL
  • current long-loop evidence is tracked on MID360
  • optional GNSS georeferencing writes map_projector_info.yaml
  • GNSS edges can use covariance-based weighting, with RTK-like fixes inferred from low horizontal covariance
  • GPL-free Scan Context place recognition is available in graph_based_slam
  • experimental submap-BEV and SOLiD descriptors can be benchmarked without adding GPL dependencies
  • optional dynamic-object filtering can clean the saved pointcloud_map/ at /map_save time without changing live odometry
  • dynamic-filter reports now track both point reduction and coarse tile-footprint preservation
  • packet-based Applanix IMU deskew support exists for real open data, but it remains experimental and off by default in the Leo Drive packet path
  • the Leo Drive classic path now has a dedicated benchmark-suite entrypoint and report
  • place-recognition and dynamic-filter comparisons both have report generators with tracked artifacts
  • a focused map-authoring report can summarize benchmark, GNSS, cleanup, and classic-path evidence in one place
  • a submission-bundle helper can package maps, metrics, trajectories, logs, and reports in a repeatable layout

Install

Clone with submodules and install dependencies:

cd ~/ros2_ws/src
git clone --recursive https://github.com/rsasaki0109/lidarslam_ros2.git
cd ..
rosdep install --from-paths src --ignore-src -r -y

If you already cloned without submodules:

git -C src/lidarslam_ros2 submodule update --init --recursive

Build the workspace:

colcon build --symlink-install --cmake-args -DCMAKE_BUILD_TYPE=Release

Quickstart

# local checks
bash scripts/run_default_ci_checks.sh

# fixed public quickstart
bash scripts/download_ntu_viral_tnp01.sh
bash scripts/run_autoware_quickstart.sh

# arbitrary rosbag2
bash scripts/run_autoware_map_beginner.sh /path/to/rosbag2

Point-Cloud Map Example

Autoware-compatible browser proof built from a live /map/pointcloud_map: the rendered map comes from Autoware map loaders, map verify is PASS, and GNSS runs emit LocalCartesian. Autoware-compatible proof Save-time dynamic-object filtering on Leo Drive bag6 cuts saved points by about 50% while keeping verification PASS. Dynamic-object filter summary

Docs

File truncated at 100 lines see the full file

CONTRIBUTING

Contributing

Thanks for contributing to lidarslam_ros2.

This repository is trying to be a practical default for ROS 2 LiDAR SLAM and Autoware pointcloud-map generation. Contributions are most useful when they are easy to reproduce, easy to compare, and clearly scoped.

What To Send

Useful contributions include:

  • bug fixes in the default permissive workflow
  • Autoware pointcloud-map integration fixes
  • benchmark results with reproducible commands and artifacts
  • parameter improvements backed by logs and trajectory metrics
  • documentation improvements that reduce setup time

Default Workflow Policy

The default and recommended workflow in this repository is permissive-license only. Contributions that change the default path should preserve that property.

Current default path:

  • RKO-LIO + graph_based_slam
  • local Scan Context implementation
  • Autoware-compatible pointcloud map output

Research frontends with other licenses can still be discussed, but they should not silently become the default path.

Autoware Naming And Trademark Guidance

Keep Autoware references descriptive.

Preferred wording:

  • Autoware-compatible pointcloud map
  • pointcloud-map workflow for Autoware
  • works with Autoware
  • built on Autoware

Avoid branding this repository or a derived product as if it were an official Autoware product or a Foundation-approved distribution.

Avoid wording such as:

  • Autoware-ready as a product tag line
  • official Autoware
  • Autoware <product-name>
  • certified by Autoware
  • endorsed by the Autoware Foundation

If in doubt, prefer compatibility language over product-name language.

Before Opening An Issue

Please collect the smallest reproducible case you can.

For Autoware-related reports, include:

  • exact map bundle path or a minimal reproduction bundle
  • map_projector_info.yaml
  • result of python3 scripts/verify_autoware_map.py <pointcloud_map_dir>
  • exact command used to stage or view the map
  • whether GNSS was enabled

For benchmark-related reports, include:

  • bag or dataset name
  • exact command line
  • param file path
  • metrics.json
  • ape_corrected_vs_gt.txt and ape_raw_vs_gt.txt when available
  • logs needed to understand failures or regressions

For code changes that touch the default workflow:

bash scripts/run_default_ci_checks.sh

For benchmark/reporting changes:

bash scripts/run_release_readiness_checks.sh --skip-default-ci --ape-threshold 0.10

For Autoware pointcloud-map changes:

bash scripts/run_autoware_quickstart.sh

Benchmark Result Submissions

If you want to contribute benchmark results, prefer opening the benchmark report

File truncated at 100 lines see the full file

# Contributing Thanks for contributing to `lidarslam_ros2`. This repository is trying to be a practical default for ROS 2 LiDAR SLAM and Autoware pointcloud-map generation. Contributions are most useful when they are easy to reproduce, easy to compare, and clearly scoped. ## What To Send Useful contributions include: - bug fixes in the default permissive workflow - Autoware pointcloud-map integration fixes - benchmark results with reproducible commands and artifacts - parameter improvements backed by logs and trajectory metrics - documentation improvements that reduce setup time ## Default Workflow Policy The default and recommended workflow in this repository is permissive-license only. Contributions that change the default path should preserve that property. Current default path: - `RKO-LIO + graph_based_slam` - local Scan Context implementation - Autoware-compatible pointcloud map output Research frontends with other licenses can still be discussed, but they should not silently become the default path. ## Autoware Naming And Trademark Guidance Keep Autoware references descriptive. Preferred wording: - `Autoware-compatible pointcloud map` - `pointcloud-map workflow for Autoware` - `works with Autoware` - `built on Autoware` Avoid branding this repository or a derived product as if it were an official Autoware product or a Foundation-approved distribution. Avoid wording such as: - `Autoware-ready` as a product tag line - `official Autoware` - `Autoware ` - `certified by Autoware` - `endorsed by the Autoware Foundation` If in doubt, prefer compatibility language over product-name language. ## Before Opening An Issue Please collect the smallest reproducible case you can. For Autoware-related reports, include: - exact map bundle path or a minimal reproduction bundle - `map_projector_info.yaml` - result of `python3 scripts/verify_autoware_map.py ` - exact command used to stage or view the map - whether GNSS was enabled For benchmark-related reports, include: - bag or dataset name - exact command line - param file path - `metrics.json` - `ape_corrected_vs_gt.txt` and `ape_raw_vs_gt.txt` when available - logs needed to understand failures or regressions ## Recommended Local Checks For code changes that touch the default workflow: ```bash bash scripts/run_default_ci_checks.sh ``` For benchmark/reporting changes: ```bash bash scripts/run_release_readiness_checks.sh --skip-default-ci --ape-threshold 0.10 ``` For Autoware pointcloud-map changes: ```bash bash scripts/run_autoware_quickstart.sh ``` ## Benchmark Result Submissions If you want to contribute benchmark results, prefer opening the benchmark report File truncated at 100 lines [see the full file](https://github.com/rsasaki0109/lidarslam_ros2/tree/develop/CONTRIBUTING.md)

Repository Summary

Description
Checkout URI https://github.com/rsasaki0109/lidarslam_ros2.git
VCS Type git
VCS Version develop
Last Updated 2026-03-30
Dev Status UNKNOWN
Released UNRELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Packages

Name Version
graph_based_slam 0.2.2
lidarslam 0.2.2
lidarslam_msgs 0.2.2
scanmatcher 0.2.2

README

lidarslam_ros2

ROS 2 LiDAR SLAM focused on non-GPL pointcloud-map authoring, benchmarking, and compatibility with Autoware pointcloud-map workflows.

Status: develop tracks the current v2 alpha line. For the latest tagged public beta, see v0.2.2 Release Notes.

The recommended public path in this repository is:

  • frontend: RKO-LIO
  • backend: graph_based_slam
  • output: Autoware-compatible pointcloud_map/ and map_projector_info.yaml

This is the path exercised in the public quickstart, benchmark flow, and release/readiness gate.

Scope

This repository is for people who want:

  • ROS 2 LiDAR SLAM with loop closure
  • pointcloud maps that Autoware can load
  • a non-GPL default workflow

Out of scope for the public path:

  • lanelet2_map.osm generation
  • Autoware planning/localization bringup
  • GPL-only frontend or backend components in the default workflow

Why This Repo

  • non-GPL default path: graph_based_slam (BSD-2-Clause), scanmatcher (project-local), RKO-LIO (MIT), DLIO (MIT), FAST_GICP (BSD-3-Clause)
  • pointcloud-map authoring is treated as a first-class workflow, not just a side-effect of odometry
  • Autoware pointcloud-map flow is exercised end-to-end
  • default benchmark path is tracked on NTU VIRAL
  • current long-loop evidence is tracked on MID360
  • optional GNSS georeferencing writes map_projector_info.yaml
  • GNSS edges can use covariance-based weighting, with RTK-like fixes inferred from low horizontal covariance
  • GPL-free Scan Context place recognition is available in graph_based_slam
  • experimental submap-BEV and SOLiD descriptors can be benchmarked without adding GPL dependencies
  • optional dynamic-object filtering can clean the saved pointcloud_map/ at /map_save time without changing live odometry
  • dynamic-filter reports now track both point reduction and coarse tile-footprint preservation
  • packet-based Applanix IMU deskew support exists for real open data, but it remains experimental and off by default in the Leo Drive packet path
  • the Leo Drive classic path now has a dedicated benchmark-suite entrypoint and report
  • place-recognition and dynamic-filter comparisons both have report generators with tracked artifacts
  • a focused map-authoring report can summarize benchmark, GNSS, cleanup, and classic-path evidence in one place
  • a submission-bundle helper can package maps, metrics, trajectories, logs, and reports in a repeatable layout

Install

Clone with submodules and install dependencies:

cd ~/ros2_ws/src
git clone --recursive https://github.com/rsasaki0109/lidarslam_ros2.git
cd ..
rosdep install --from-paths src --ignore-src -r -y

If you already cloned without submodules:

git -C src/lidarslam_ros2 submodule update --init --recursive

Build the workspace:

colcon build --symlink-install --cmake-args -DCMAKE_BUILD_TYPE=Release

Quickstart

# local checks
bash scripts/run_default_ci_checks.sh

# fixed public quickstart
bash scripts/download_ntu_viral_tnp01.sh
bash scripts/run_autoware_quickstart.sh

# arbitrary rosbag2
bash scripts/run_autoware_map_beginner.sh /path/to/rosbag2

Point-Cloud Map Example

Autoware-compatible browser proof built from a live /map/pointcloud_map: the rendered map comes from Autoware map loaders, map verify is PASS, and GNSS runs emit LocalCartesian. Autoware-compatible proof Save-time dynamic-object filtering on Leo Drive bag6 cuts saved points by about 50% while keeping verification PASS. Dynamic-object filter summary

Docs

File truncated at 100 lines see the full file

CONTRIBUTING

Contributing

Thanks for contributing to lidarslam_ros2.

This repository is trying to be a practical default for ROS 2 LiDAR SLAM and Autoware pointcloud-map generation. Contributions are most useful when they are easy to reproduce, easy to compare, and clearly scoped.

What To Send

Useful contributions include:

  • bug fixes in the default permissive workflow
  • Autoware pointcloud-map integration fixes
  • benchmark results with reproducible commands and artifacts
  • parameter improvements backed by logs and trajectory metrics
  • documentation improvements that reduce setup time

Default Workflow Policy

The default and recommended workflow in this repository is permissive-license only. Contributions that change the default path should preserve that property.

Current default path:

  • RKO-LIO + graph_based_slam
  • local Scan Context implementation
  • Autoware-compatible pointcloud map output

Research frontends with other licenses can still be discussed, but they should not silently become the default path.

Autoware Naming And Trademark Guidance

Keep Autoware references descriptive.

Preferred wording:

  • Autoware-compatible pointcloud map
  • pointcloud-map workflow for Autoware
  • works with Autoware
  • built on Autoware

Avoid branding this repository or a derived product as if it were an official Autoware product or a Foundation-approved distribution.

Avoid wording such as:

  • Autoware-ready as a product tag line
  • official Autoware
  • Autoware <product-name>
  • certified by Autoware
  • endorsed by the Autoware Foundation

If in doubt, prefer compatibility language over product-name language.

Before Opening An Issue

Please collect the smallest reproducible case you can.

For Autoware-related reports, include:

  • exact map bundle path or a minimal reproduction bundle
  • map_projector_info.yaml
  • result of python3 scripts/verify_autoware_map.py <pointcloud_map_dir>
  • exact command used to stage or view the map
  • whether GNSS was enabled

For benchmark-related reports, include:

  • bag or dataset name
  • exact command line
  • param file path
  • metrics.json
  • ape_corrected_vs_gt.txt and ape_raw_vs_gt.txt when available
  • logs needed to understand failures or regressions

For code changes that touch the default workflow:

bash scripts/run_default_ci_checks.sh

For benchmark/reporting changes:

bash scripts/run_release_readiness_checks.sh --skip-default-ci --ape-threshold 0.10

For Autoware pointcloud-map changes:

bash scripts/run_autoware_quickstart.sh

Benchmark Result Submissions

If you want to contribute benchmark results, prefer opening the benchmark report

File truncated at 100 lines see the full file

# Contributing Thanks for contributing to `lidarslam_ros2`. This repository is trying to be a practical default for ROS 2 LiDAR SLAM and Autoware pointcloud-map generation. Contributions are most useful when they are easy to reproduce, easy to compare, and clearly scoped. ## What To Send Useful contributions include: - bug fixes in the default permissive workflow - Autoware pointcloud-map integration fixes - benchmark results with reproducible commands and artifacts - parameter improvements backed by logs and trajectory metrics - documentation improvements that reduce setup time ## Default Workflow Policy The default and recommended workflow in this repository is permissive-license only. Contributions that change the default path should preserve that property. Current default path: - `RKO-LIO + graph_based_slam` - local Scan Context implementation - Autoware-compatible pointcloud map output Research frontends with other licenses can still be discussed, but they should not silently become the default path. ## Autoware Naming And Trademark Guidance Keep Autoware references descriptive. Preferred wording: - `Autoware-compatible pointcloud map` - `pointcloud-map workflow for Autoware` - `works with Autoware` - `built on Autoware` Avoid branding this repository or a derived product as if it were an official Autoware product or a Foundation-approved distribution. Avoid wording such as: - `Autoware-ready` as a product tag line - `official Autoware` - `Autoware ` - `certified by Autoware` - `endorsed by the Autoware Foundation` If in doubt, prefer compatibility language over product-name language. ## Before Opening An Issue Please collect the smallest reproducible case you can. For Autoware-related reports, include: - exact map bundle path or a minimal reproduction bundle - `map_projector_info.yaml` - result of `python3 scripts/verify_autoware_map.py ` - exact command used to stage or view the map - whether GNSS was enabled For benchmark-related reports, include: - bag or dataset name - exact command line - param file path - `metrics.json` - `ape_corrected_vs_gt.txt` and `ape_raw_vs_gt.txt` when available - logs needed to understand failures or regressions ## Recommended Local Checks For code changes that touch the default workflow: ```bash bash scripts/run_default_ci_checks.sh ``` For benchmark/reporting changes: ```bash bash scripts/run_release_readiness_checks.sh --skip-default-ci --ape-threshold 0.10 ``` For Autoware pointcloud-map changes: ```bash bash scripts/run_autoware_quickstart.sh ``` ## Benchmark Result Submissions If you want to contribute benchmark results, prefer opening the benchmark report File truncated at 100 lines [see the full file](https://github.com/rsasaki0109/lidarslam_ros2/tree/develop/CONTRIBUTING.md)
No version for distro galactic showing github. Known supported distros are highlighted in the buttons above.

Repository Summary

Description
Checkout URI https://github.com/rsasaki0109/lidarslam_ros2.git
VCS Type git
VCS Version develop
Last Updated 2026-03-30
Dev Status UNKNOWN
Released UNRELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Packages

Name Version
graph_based_slam 0.2.2
lidarslam 0.2.2
lidarslam_msgs 0.2.2
scanmatcher 0.2.2

README

lidarslam_ros2

ROS 2 LiDAR SLAM focused on non-GPL pointcloud-map authoring, benchmarking, and compatibility with Autoware pointcloud-map workflows.

Status: develop tracks the current v2 alpha line. For the latest tagged public beta, see v0.2.2 Release Notes.

The recommended public path in this repository is:

  • frontend: RKO-LIO
  • backend: graph_based_slam
  • output: Autoware-compatible pointcloud_map/ and map_projector_info.yaml

This is the path exercised in the public quickstart, benchmark flow, and release/readiness gate.

Scope

This repository is for people who want:

  • ROS 2 LiDAR SLAM with loop closure
  • pointcloud maps that Autoware can load
  • a non-GPL default workflow

Out of scope for the public path:

  • lanelet2_map.osm generation
  • Autoware planning/localization bringup
  • GPL-only frontend or backend components in the default workflow

Why This Repo

  • non-GPL default path: graph_based_slam (BSD-2-Clause), scanmatcher (project-local), RKO-LIO (MIT), DLIO (MIT), FAST_GICP (BSD-3-Clause)
  • pointcloud-map authoring is treated as a first-class workflow, not just a side-effect of odometry
  • Autoware pointcloud-map flow is exercised end-to-end
  • default benchmark path is tracked on NTU VIRAL
  • current long-loop evidence is tracked on MID360
  • optional GNSS georeferencing writes map_projector_info.yaml
  • GNSS edges can use covariance-based weighting, with RTK-like fixes inferred from low horizontal covariance
  • GPL-free Scan Context place recognition is available in graph_based_slam
  • experimental submap-BEV and SOLiD descriptors can be benchmarked without adding GPL dependencies
  • optional dynamic-object filtering can clean the saved pointcloud_map/ at /map_save time without changing live odometry
  • dynamic-filter reports now track both point reduction and coarse tile-footprint preservation
  • packet-based Applanix IMU deskew support exists for real open data, but it remains experimental and off by default in the Leo Drive packet path
  • the Leo Drive classic path now has a dedicated benchmark-suite entrypoint and report
  • place-recognition and dynamic-filter comparisons both have report generators with tracked artifacts
  • a focused map-authoring report can summarize benchmark, GNSS, cleanup, and classic-path evidence in one place
  • a submission-bundle helper can package maps, metrics, trajectories, logs, and reports in a repeatable layout

Install

Clone with submodules and install dependencies:

cd ~/ros2_ws/src
git clone --recursive https://github.com/rsasaki0109/lidarslam_ros2.git
cd ..
rosdep install --from-paths src --ignore-src -r -y

If you already cloned without submodules:

git -C src/lidarslam_ros2 submodule update --init --recursive

Build the workspace:

colcon build --symlink-install --cmake-args -DCMAKE_BUILD_TYPE=Release

Quickstart

# local checks
bash scripts/run_default_ci_checks.sh

# fixed public quickstart
bash scripts/download_ntu_viral_tnp01.sh
bash scripts/run_autoware_quickstart.sh

# arbitrary rosbag2
bash scripts/run_autoware_map_beginner.sh /path/to/rosbag2

Point-Cloud Map Example

Autoware-compatible browser proof built from a live /map/pointcloud_map: the rendered map comes from Autoware map loaders, map verify is PASS, and GNSS runs emit LocalCartesian. Autoware-compatible proof Save-time dynamic-object filtering on Leo Drive bag6 cuts saved points by about 50% while keeping verification PASS. Dynamic-object filter summary

Docs

File truncated at 100 lines see the full file

CONTRIBUTING

Contributing

Thanks for contributing to lidarslam_ros2.

This repository is trying to be a practical default for ROS 2 LiDAR SLAM and Autoware pointcloud-map generation. Contributions are most useful when they are easy to reproduce, easy to compare, and clearly scoped.

What To Send

Useful contributions include:

  • bug fixes in the default permissive workflow
  • Autoware pointcloud-map integration fixes
  • benchmark results with reproducible commands and artifacts
  • parameter improvements backed by logs and trajectory metrics
  • documentation improvements that reduce setup time

Default Workflow Policy

The default and recommended workflow in this repository is permissive-license only. Contributions that change the default path should preserve that property.

Current default path:

  • RKO-LIO + graph_based_slam
  • local Scan Context implementation
  • Autoware-compatible pointcloud map output

Research frontends with other licenses can still be discussed, but they should not silently become the default path.

Autoware Naming And Trademark Guidance

Keep Autoware references descriptive.

Preferred wording:

  • Autoware-compatible pointcloud map
  • pointcloud-map workflow for Autoware
  • works with Autoware
  • built on Autoware

Avoid branding this repository or a derived product as if it were an official Autoware product or a Foundation-approved distribution.

Avoid wording such as:

  • Autoware-ready as a product tag line
  • official Autoware
  • Autoware <product-name>
  • certified by Autoware
  • endorsed by the Autoware Foundation

If in doubt, prefer compatibility language over product-name language.

Before Opening An Issue

Please collect the smallest reproducible case you can.

For Autoware-related reports, include:

  • exact map bundle path or a minimal reproduction bundle
  • map_projector_info.yaml
  • result of python3 scripts/verify_autoware_map.py <pointcloud_map_dir>
  • exact command used to stage or view the map
  • whether GNSS was enabled

For benchmark-related reports, include:

  • bag or dataset name
  • exact command line
  • param file path
  • metrics.json
  • ape_corrected_vs_gt.txt and ape_raw_vs_gt.txt when available
  • logs needed to understand failures or regressions

For code changes that touch the default workflow:

bash scripts/run_default_ci_checks.sh

For benchmark/reporting changes:

bash scripts/run_release_readiness_checks.sh --skip-default-ci --ape-threshold 0.10

For Autoware pointcloud-map changes:

bash scripts/run_autoware_quickstart.sh

Benchmark Result Submissions

If you want to contribute benchmark results, prefer opening the benchmark report

File truncated at 100 lines see the full file

# Contributing Thanks for contributing to `lidarslam_ros2`. This repository is trying to be a practical default for ROS 2 LiDAR SLAM and Autoware pointcloud-map generation. Contributions are most useful when they are easy to reproduce, easy to compare, and clearly scoped. ## What To Send Useful contributions include: - bug fixes in the default permissive workflow - Autoware pointcloud-map integration fixes - benchmark results with reproducible commands and artifacts - parameter improvements backed by logs and trajectory metrics - documentation improvements that reduce setup time ## Default Workflow Policy The default and recommended workflow in this repository is permissive-license only. Contributions that change the default path should preserve that property. Current default path: - `RKO-LIO + graph_based_slam` - local Scan Context implementation - Autoware-compatible pointcloud map output Research frontends with other licenses can still be discussed, but they should not silently become the default path. ## Autoware Naming And Trademark Guidance Keep Autoware references descriptive. Preferred wording: - `Autoware-compatible pointcloud map` - `pointcloud-map workflow for Autoware` - `works with Autoware` - `built on Autoware` Avoid branding this repository or a derived product as if it were an official Autoware product or a Foundation-approved distribution. Avoid wording such as: - `Autoware-ready` as a product tag line - `official Autoware` - `Autoware ` - `certified by Autoware` - `endorsed by the Autoware Foundation` If in doubt, prefer compatibility language over product-name language. ## Before Opening An Issue Please collect the smallest reproducible case you can. For Autoware-related reports, include: - exact map bundle path or a minimal reproduction bundle - `map_projector_info.yaml` - result of `python3 scripts/verify_autoware_map.py ` - exact command used to stage or view the map - whether GNSS was enabled For benchmark-related reports, include: - bag or dataset name - exact command line - param file path - `metrics.json` - `ape_corrected_vs_gt.txt` and `ape_raw_vs_gt.txt` when available - logs needed to understand failures or regressions ## Recommended Local Checks For code changes that touch the default workflow: ```bash bash scripts/run_default_ci_checks.sh ``` For benchmark/reporting changes: ```bash bash scripts/run_release_readiness_checks.sh --skip-default-ci --ape-threshold 0.10 ``` For Autoware pointcloud-map changes: ```bash bash scripts/run_autoware_quickstart.sh ``` ## Benchmark Result Submissions If you want to contribute benchmark results, prefer opening the benchmark report File truncated at 100 lines [see the full file](https://github.com/rsasaki0109/lidarslam_ros2/tree/develop/CONTRIBUTING.md)
No version for distro iron showing github. Known supported distros are highlighted in the buttons above.

Repository Summary

Description
Checkout URI https://github.com/rsasaki0109/lidarslam_ros2.git
VCS Type git
VCS Version develop
Last Updated 2026-03-30
Dev Status UNKNOWN
Released UNRELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Packages

Name Version
graph_based_slam 0.2.2
lidarslam 0.2.2
lidarslam_msgs 0.2.2
scanmatcher 0.2.2

README

lidarslam_ros2

ROS 2 LiDAR SLAM focused on non-GPL pointcloud-map authoring, benchmarking, and compatibility with Autoware pointcloud-map workflows.

Status: develop tracks the current v2 alpha line. For the latest tagged public beta, see v0.2.2 Release Notes.

The recommended public path in this repository is:

  • frontend: RKO-LIO
  • backend: graph_based_slam
  • output: Autoware-compatible pointcloud_map/ and map_projector_info.yaml

This is the path exercised in the public quickstart, benchmark flow, and release/readiness gate.

Scope

This repository is for people who want:

  • ROS 2 LiDAR SLAM with loop closure
  • pointcloud maps that Autoware can load
  • a non-GPL default workflow

Out of scope for the public path:

  • lanelet2_map.osm generation
  • Autoware planning/localization bringup
  • GPL-only frontend or backend components in the default workflow

Why This Repo

  • non-GPL default path: graph_based_slam (BSD-2-Clause), scanmatcher (project-local), RKO-LIO (MIT), DLIO (MIT), FAST_GICP (BSD-3-Clause)
  • pointcloud-map authoring is treated as a first-class workflow, not just a side-effect of odometry
  • Autoware pointcloud-map flow is exercised end-to-end
  • default benchmark path is tracked on NTU VIRAL
  • current long-loop evidence is tracked on MID360
  • optional GNSS georeferencing writes map_projector_info.yaml
  • GNSS edges can use covariance-based weighting, with RTK-like fixes inferred from low horizontal covariance
  • GPL-free Scan Context place recognition is available in graph_based_slam
  • experimental submap-BEV and SOLiD descriptors can be benchmarked without adding GPL dependencies
  • optional dynamic-object filtering can clean the saved pointcloud_map/ at /map_save time without changing live odometry
  • dynamic-filter reports now track both point reduction and coarse tile-footprint preservation
  • packet-based Applanix IMU deskew support exists for real open data, but it remains experimental and off by default in the Leo Drive packet path
  • the Leo Drive classic path now has a dedicated benchmark-suite entrypoint and report
  • place-recognition and dynamic-filter comparisons both have report generators with tracked artifacts
  • a focused map-authoring report can summarize benchmark, GNSS, cleanup, and classic-path evidence in one place
  • a submission-bundle helper can package maps, metrics, trajectories, logs, and reports in a repeatable layout

Install

Clone with submodules and install dependencies:

cd ~/ros2_ws/src
git clone --recursive https://github.com/rsasaki0109/lidarslam_ros2.git
cd ..
rosdep install --from-paths src --ignore-src -r -y

If you already cloned without submodules:

git -C src/lidarslam_ros2 submodule update --init --recursive

Build the workspace:

colcon build --symlink-install --cmake-args -DCMAKE_BUILD_TYPE=Release

Quickstart

# local checks
bash scripts/run_default_ci_checks.sh

# fixed public quickstart
bash scripts/download_ntu_viral_tnp01.sh
bash scripts/run_autoware_quickstart.sh

# arbitrary rosbag2
bash scripts/run_autoware_map_beginner.sh /path/to/rosbag2

Point-Cloud Map Example

Autoware-compatible browser proof built from a live /map/pointcloud_map: the rendered map comes from Autoware map loaders, map verify is PASS, and GNSS runs emit LocalCartesian. Autoware-compatible proof Save-time dynamic-object filtering on Leo Drive bag6 cuts saved points by about 50% while keeping verification PASS. Dynamic-object filter summary

Docs

File truncated at 100 lines see the full file

CONTRIBUTING

Contributing

Thanks for contributing to lidarslam_ros2.

This repository is trying to be a practical default for ROS 2 LiDAR SLAM and Autoware pointcloud-map generation. Contributions are most useful when they are easy to reproduce, easy to compare, and clearly scoped.

What To Send

Useful contributions include:

  • bug fixes in the default permissive workflow
  • Autoware pointcloud-map integration fixes
  • benchmark results with reproducible commands and artifacts
  • parameter improvements backed by logs and trajectory metrics
  • documentation improvements that reduce setup time

Default Workflow Policy

The default and recommended workflow in this repository is permissive-license only. Contributions that change the default path should preserve that property.

Current default path:

  • RKO-LIO + graph_based_slam
  • local Scan Context implementation
  • Autoware-compatible pointcloud map output

Research frontends with other licenses can still be discussed, but they should not silently become the default path.

Autoware Naming And Trademark Guidance

Keep Autoware references descriptive.

Preferred wording:

  • Autoware-compatible pointcloud map
  • pointcloud-map workflow for Autoware
  • works with Autoware
  • built on Autoware

Avoid branding this repository or a derived product as if it were an official Autoware product or a Foundation-approved distribution.

Avoid wording such as:

  • Autoware-ready as a product tag line
  • official Autoware
  • Autoware <product-name>
  • certified by Autoware
  • endorsed by the Autoware Foundation

If in doubt, prefer compatibility language over product-name language.

Before Opening An Issue

Please collect the smallest reproducible case you can.

For Autoware-related reports, include:

  • exact map bundle path or a minimal reproduction bundle
  • map_projector_info.yaml
  • result of python3 scripts/verify_autoware_map.py <pointcloud_map_dir>
  • exact command used to stage or view the map
  • whether GNSS was enabled

For benchmark-related reports, include:

  • bag or dataset name
  • exact command line
  • param file path
  • metrics.json
  • ape_corrected_vs_gt.txt and ape_raw_vs_gt.txt when available
  • logs needed to understand failures or regressions

For code changes that touch the default workflow:

bash scripts/run_default_ci_checks.sh

For benchmark/reporting changes:

bash scripts/run_release_readiness_checks.sh --skip-default-ci --ape-threshold 0.10

For Autoware pointcloud-map changes:

bash scripts/run_autoware_quickstart.sh

Benchmark Result Submissions

If you want to contribute benchmark results, prefer opening the benchmark report

File truncated at 100 lines see the full file

# Contributing Thanks for contributing to `lidarslam_ros2`. This repository is trying to be a practical default for ROS 2 LiDAR SLAM and Autoware pointcloud-map generation. Contributions are most useful when they are easy to reproduce, easy to compare, and clearly scoped. ## What To Send Useful contributions include: - bug fixes in the default permissive workflow - Autoware pointcloud-map integration fixes - benchmark results with reproducible commands and artifacts - parameter improvements backed by logs and trajectory metrics - documentation improvements that reduce setup time ## Default Workflow Policy The default and recommended workflow in this repository is permissive-license only. Contributions that change the default path should preserve that property. Current default path: - `RKO-LIO + graph_based_slam` - local Scan Context implementation - Autoware-compatible pointcloud map output Research frontends with other licenses can still be discussed, but they should not silently become the default path. ## Autoware Naming And Trademark Guidance Keep Autoware references descriptive. Preferred wording: - `Autoware-compatible pointcloud map` - `pointcloud-map workflow for Autoware` - `works with Autoware` - `built on Autoware` Avoid branding this repository or a derived product as if it were an official Autoware product or a Foundation-approved distribution. Avoid wording such as: - `Autoware-ready` as a product tag line - `official Autoware` - `Autoware ` - `certified by Autoware` - `endorsed by the Autoware Foundation` If in doubt, prefer compatibility language over product-name language. ## Before Opening An Issue Please collect the smallest reproducible case you can. For Autoware-related reports, include: - exact map bundle path or a minimal reproduction bundle - `map_projector_info.yaml` - result of `python3 scripts/verify_autoware_map.py ` - exact command used to stage or view the map - whether GNSS was enabled For benchmark-related reports, include: - bag or dataset name - exact command line - param file path - `metrics.json` - `ape_corrected_vs_gt.txt` and `ape_raw_vs_gt.txt` when available - logs needed to understand failures or regressions ## Recommended Local Checks For code changes that touch the default workflow: ```bash bash scripts/run_default_ci_checks.sh ``` For benchmark/reporting changes: ```bash bash scripts/run_release_readiness_checks.sh --skip-default-ci --ape-threshold 0.10 ``` For Autoware pointcloud-map changes: ```bash bash scripts/run_autoware_quickstart.sh ``` ## Benchmark Result Submissions If you want to contribute benchmark results, prefer opening the benchmark report File truncated at 100 lines [see the full file](https://github.com/rsasaki0109/lidarslam_ros2/tree/develop/CONTRIBUTING.md)
No version for distro melodic showing github. Known supported distros are highlighted in the buttons above.

Repository Summary

Description
Checkout URI https://github.com/rsasaki0109/lidarslam_ros2.git
VCS Type git
VCS Version develop
Last Updated 2026-03-30
Dev Status UNKNOWN
Released UNRELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Packages

Name Version
graph_based_slam 0.2.2
lidarslam 0.2.2
lidarslam_msgs 0.2.2
scanmatcher 0.2.2

README

lidarslam_ros2

ROS 2 LiDAR SLAM focused on non-GPL pointcloud-map authoring, benchmarking, and compatibility with Autoware pointcloud-map workflows.

Status: develop tracks the current v2 alpha line. For the latest tagged public beta, see v0.2.2 Release Notes.

The recommended public path in this repository is:

  • frontend: RKO-LIO
  • backend: graph_based_slam
  • output: Autoware-compatible pointcloud_map/ and map_projector_info.yaml

This is the path exercised in the public quickstart, benchmark flow, and release/readiness gate.

Scope

This repository is for people who want:

  • ROS 2 LiDAR SLAM with loop closure
  • pointcloud maps that Autoware can load
  • a non-GPL default workflow

Out of scope for the public path:

  • lanelet2_map.osm generation
  • Autoware planning/localization bringup
  • GPL-only frontend or backend components in the default workflow

Why This Repo

  • non-GPL default path: graph_based_slam (BSD-2-Clause), scanmatcher (project-local), RKO-LIO (MIT), DLIO (MIT), FAST_GICP (BSD-3-Clause)
  • pointcloud-map authoring is treated as a first-class workflow, not just a side-effect of odometry
  • Autoware pointcloud-map flow is exercised end-to-end
  • default benchmark path is tracked on NTU VIRAL
  • current long-loop evidence is tracked on MID360
  • optional GNSS georeferencing writes map_projector_info.yaml
  • GNSS edges can use covariance-based weighting, with RTK-like fixes inferred from low horizontal covariance
  • GPL-free Scan Context place recognition is available in graph_based_slam
  • experimental submap-BEV and SOLiD descriptors can be benchmarked without adding GPL dependencies
  • optional dynamic-object filtering can clean the saved pointcloud_map/ at /map_save time without changing live odometry
  • dynamic-filter reports now track both point reduction and coarse tile-footprint preservation
  • packet-based Applanix IMU deskew support exists for real open data, but it remains experimental and off by default in the Leo Drive packet path
  • the Leo Drive classic path now has a dedicated benchmark-suite entrypoint and report
  • place-recognition and dynamic-filter comparisons both have report generators with tracked artifacts
  • a focused map-authoring report can summarize benchmark, GNSS, cleanup, and classic-path evidence in one place
  • a submission-bundle helper can package maps, metrics, trajectories, logs, and reports in a repeatable layout

Install

Clone with submodules and install dependencies:

cd ~/ros2_ws/src
git clone --recursive https://github.com/rsasaki0109/lidarslam_ros2.git
cd ..
rosdep install --from-paths src --ignore-src -r -y

If you already cloned without submodules:

git -C src/lidarslam_ros2 submodule update --init --recursive

Build the workspace:

colcon build --symlink-install --cmake-args -DCMAKE_BUILD_TYPE=Release

Quickstart

# local checks
bash scripts/run_default_ci_checks.sh

# fixed public quickstart
bash scripts/download_ntu_viral_tnp01.sh
bash scripts/run_autoware_quickstart.sh

# arbitrary rosbag2
bash scripts/run_autoware_map_beginner.sh /path/to/rosbag2

Point-Cloud Map Example

Autoware-compatible browser proof built from a live /map/pointcloud_map: the rendered map comes from Autoware map loaders, map verify is PASS, and GNSS runs emit LocalCartesian. Autoware-compatible proof Save-time dynamic-object filtering on Leo Drive bag6 cuts saved points by about 50% while keeping verification PASS. Dynamic-object filter summary

Docs

File truncated at 100 lines see the full file

CONTRIBUTING

Contributing

Thanks for contributing to lidarslam_ros2.

This repository is trying to be a practical default for ROS 2 LiDAR SLAM and Autoware pointcloud-map generation. Contributions are most useful when they are easy to reproduce, easy to compare, and clearly scoped.

What To Send

Useful contributions include:

  • bug fixes in the default permissive workflow
  • Autoware pointcloud-map integration fixes
  • benchmark results with reproducible commands and artifacts
  • parameter improvements backed by logs and trajectory metrics
  • documentation improvements that reduce setup time

Default Workflow Policy

The default and recommended workflow in this repository is permissive-license only. Contributions that change the default path should preserve that property.

Current default path:

  • RKO-LIO + graph_based_slam
  • local Scan Context implementation
  • Autoware-compatible pointcloud map output

Research frontends with other licenses can still be discussed, but they should not silently become the default path.

Autoware Naming And Trademark Guidance

Keep Autoware references descriptive.

Preferred wording:

  • Autoware-compatible pointcloud map
  • pointcloud-map workflow for Autoware
  • works with Autoware
  • built on Autoware

Avoid branding this repository or a derived product as if it were an official Autoware product or a Foundation-approved distribution.

Avoid wording such as:

  • Autoware-ready as a product tag line
  • official Autoware
  • Autoware <product-name>
  • certified by Autoware
  • endorsed by the Autoware Foundation

If in doubt, prefer compatibility language over product-name language.

Before Opening An Issue

Please collect the smallest reproducible case you can.

For Autoware-related reports, include:

  • exact map bundle path or a minimal reproduction bundle
  • map_projector_info.yaml
  • result of python3 scripts/verify_autoware_map.py <pointcloud_map_dir>
  • exact command used to stage or view the map
  • whether GNSS was enabled

For benchmark-related reports, include:

  • bag or dataset name
  • exact command line
  • param file path
  • metrics.json
  • ape_corrected_vs_gt.txt and ape_raw_vs_gt.txt when available
  • logs needed to understand failures or regressions

For code changes that touch the default workflow:

bash scripts/run_default_ci_checks.sh

For benchmark/reporting changes:

bash scripts/run_release_readiness_checks.sh --skip-default-ci --ape-threshold 0.10

For Autoware pointcloud-map changes:

bash scripts/run_autoware_quickstart.sh

Benchmark Result Submissions

If you want to contribute benchmark results, prefer opening the benchmark report

File truncated at 100 lines see the full file

# Contributing Thanks for contributing to `lidarslam_ros2`. This repository is trying to be a practical default for ROS 2 LiDAR SLAM and Autoware pointcloud-map generation. Contributions are most useful when they are easy to reproduce, easy to compare, and clearly scoped. ## What To Send Useful contributions include: - bug fixes in the default permissive workflow - Autoware pointcloud-map integration fixes - benchmark results with reproducible commands and artifacts - parameter improvements backed by logs and trajectory metrics - documentation improvements that reduce setup time ## Default Workflow Policy The default and recommended workflow in this repository is permissive-license only. Contributions that change the default path should preserve that property. Current default path: - `RKO-LIO + graph_based_slam` - local Scan Context implementation - Autoware-compatible pointcloud map output Research frontends with other licenses can still be discussed, but they should not silently become the default path. ## Autoware Naming And Trademark Guidance Keep Autoware references descriptive. Preferred wording: - `Autoware-compatible pointcloud map` - `pointcloud-map workflow for Autoware` - `works with Autoware` - `built on Autoware` Avoid branding this repository or a derived product as if it were an official Autoware product or a Foundation-approved distribution. Avoid wording such as: - `Autoware-ready` as a product tag line - `official Autoware` - `Autoware ` - `certified by Autoware` - `endorsed by the Autoware Foundation` If in doubt, prefer compatibility language over product-name language. ## Before Opening An Issue Please collect the smallest reproducible case you can. For Autoware-related reports, include: - exact map bundle path or a minimal reproduction bundle - `map_projector_info.yaml` - result of `python3 scripts/verify_autoware_map.py ` - exact command used to stage or view the map - whether GNSS was enabled For benchmark-related reports, include: - bag or dataset name - exact command line - param file path - `metrics.json` - `ape_corrected_vs_gt.txt` and `ape_raw_vs_gt.txt` when available - logs needed to understand failures or regressions ## Recommended Local Checks For code changes that touch the default workflow: ```bash bash scripts/run_default_ci_checks.sh ``` For benchmark/reporting changes: ```bash bash scripts/run_release_readiness_checks.sh --skip-default-ci --ape-threshold 0.10 ``` For Autoware pointcloud-map changes: ```bash bash scripts/run_autoware_quickstart.sh ``` ## Benchmark Result Submissions If you want to contribute benchmark results, prefer opening the benchmark report File truncated at 100 lines [see the full file](https://github.com/rsasaki0109/lidarslam_ros2/tree/develop/CONTRIBUTING.md)
No version for distro noetic showing github. Known supported distros are highlighted in the buttons above.

Repository Summary

Description
Checkout URI https://github.com/rsasaki0109/lidarslam_ros2.git
VCS Type git
VCS Version develop
Last Updated 2026-03-30
Dev Status UNKNOWN
Released UNRELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Packages

Name Version
graph_based_slam 0.2.2
lidarslam 0.2.2
lidarslam_msgs 0.2.2
scanmatcher 0.2.2

README

lidarslam_ros2

ROS 2 LiDAR SLAM focused on non-GPL pointcloud-map authoring, benchmarking, and compatibility with Autoware pointcloud-map workflows.

Status: develop tracks the current v2 alpha line. For the latest tagged public beta, see v0.2.2 Release Notes.

The recommended public path in this repository is:

  • frontend: RKO-LIO
  • backend: graph_based_slam
  • output: Autoware-compatible pointcloud_map/ and map_projector_info.yaml

This is the path exercised in the public quickstart, benchmark flow, and release/readiness gate.

Scope

This repository is for people who want:

  • ROS 2 LiDAR SLAM with loop closure
  • pointcloud maps that Autoware can load
  • a non-GPL default workflow

Out of scope for the public path:

  • lanelet2_map.osm generation
  • Autoware planning/localization bringup
  • GPL-only frontend or backend components in the default workflow

Why This Repo

  • non-GPL default path: graph_based_slam (BSD-2-Clause), scanmatcher (project-local), RKO-LIO (MIT), DLIO (MIT), FAST_GICP (BSD-3-Clause)
  • pointcloud-map authoring is treated as a first-class workflow, not just a side-effect of odometry
  • Autoware pointcloud-map flow is exercised end-to-end
  • default benchmark path is tracked on NTU VIRAL
  • current long-loop evidence is tracked on MID360
  • optional GNSS georeferencing writes map_projector_info.yaml
  • GNSS edges can use covariance-based weighting, with RTK-like fixes inferred from low horizontal covariance
  • GPL-free Scan Context place recognition is available in graph_based_slam
  • experimental submap-BEV and SOLiD descriptors can be benchmarked without adding GPL dependencies
  • optional dynamic-object filtering can clean the saved pointcloud_map/ at /map_save time without changing live odometry
  • dynamic-filter reports now track both point reduction and coarse tile-footprint preservation
  • packet-based Applanix IMU deskew support exists for real open data, but it remains experimental and off by default in the Leo Drive packet path
  • the Leo Drive classic path now has a dedicated benchmark-suite entrypoint and report
  • place-recognition and dynamic-filter comparisons both have report generators with tracked artifacts
  • a focused map-authoring report can summarize benchmark, GNSS, cleanup, and classic-path evidence in one place
  • a submission-bundle helper can package maps, metrics, trajectories, logs, and reports in a repeatable layout

Install

Clone with submodules and install dependencies:

cd ~/ros2_ws/src
git clone --recursive https://github.com/rsasaki0109/lidarslam_ros2.git
cd ..
rosdep install --from-paths src --ignore-src -r -y

If you already cloned without submodules:

git -C src/lidarslam_ros2 submodule update --init --recursive

Build the workspace:

colcon build --symlink-install --cmake-args -DCMAKE_BUILD_TYPE=Release

Quickstart

# local checks
bash scripts/run_default_ci_checks.sh

# fixed public quickstart
bash scripts/download_ntu_viral_tnp01.sh
bash scripts/run_autoware_quickstart.sh

# arbitrary rosbag2
bash scripts/run_autoware_map_beginner.sh /path/to/rosbag2

Point-Cloud Map Example

Autoware-compatible browser proof built from a live /map/pointcloud_map: the rendered map comes from Autoware map loaders, map verify is PASS, and GNSS runs emit LocalCartesian. Autoware-compatible proof Save-time dynamic-object filtering on Leo Drive bag6 cuts saved points by about 50% while keeping verification PASS. Dynamic-object filter summary

Docs

File truncated at 100 lines see the full file

CONTRIBUTING

Contributing

Thanks for contributing to lidarslam_ros2.

This repository is trying to be a practical default for ROS 2 LiDAR SLAM and Autoware pointcloud-map generation. Contributions are most useful when they are easy to reproduce, easy to compare, and clearly scoped.

What To Send

Useful contributions include:

  • bug fixes in the default permissive workflow
  • Autoware pointcloud-map integration fixes
  • benchmark results with reproducible commands and artifacts
  • parameter improvements backed by logs and trajectory metrics
  • documentation improvements that reduce setup time

Default Workflow Policy

The default and recommended workflow in this repository is permissive-license only. Contributions that change the default path should preserve that property.

Current default path:

  • RKO-LIO + graph_based_slam
  • local Scan Context implementation
  • Autoware-compatible pointcloud map output

Research frontends with other licenses can still be discussed, but they should not silently become the default path.

Autoware Naming And Trademark Guidance

Keep Autoware references descriptive.

Preferred wording:

  • Autoware-compatible pointcloud map
  • pointcloud-map workflow for Autoware
  • works with Autoware
  • built on Autoware

Avoid branding this repository or a derived product as if it were an official Autoware product or a Foundation-approved distribution.

Avoid wording such as:

  • Autoware-ready as a product tag line
  • official Autoware
  • Autoware <product-name>
  • certified by Autoware
  • endorsed by the Autoware Foundation

If in doubt, prefer compatibility language over product-name language.

Before Opening An Issue

Please collect the smallest reproducible case you can.

For Autoware-related reports, include:

  • exact map bundle path or a minimal reproduction bundle
  • map_projector_info.yaml
  • result of python3 scripts/verify_autoware_map.py <pointcloud_map_dir>
  • exact command used to stage or view the map
  • whether GNSS was enabled

For benchmark-related reports, include:

  • bag or dataset name
  • exact command line
  • param file path
  • metrics.json
  • ape_corrected_vs_gt.txt and ape_raw_vs_gt.txt when available
  • logs needed to understand failures or regressions

For code changes that touch the default workflow:

bash scripts/run_default_ci_checks.sh

For benchmark/reporting changes:

bash scripts/run_release_readiness_checks.sh --skip-default-ci --ape-threshold 0.10

For Autoware pointcloud-map changes:

bash scripts/run_autoware_quickstart.sh

Benchmark Result Submissions

If you want to contribute benchmark results, prefer opening the benchmark report

File truncated at 100 lines see the full file

# Contributing Thanks for contributing to `lidarslam_ros2`. This repository is trying to be a practical default for ROS 2 LiDAR SLAM and Autoware pointcloud-map generation. Contributions are most useful when they are easy to reproduce, easy to compare, and clearly scoped. ## What To Send Useful contributions include: - bug fixes in the default permissive workflow - Autoware pointcloud-map integration fixes - benchmark results with reproducible commands and artifacts - parameter improvements backed by logs and trajectory metrics - documentation improvements that reduce setup time ## Default Workflow Policy The default and recommended workflow in this repository is permissive-license only. Contributions that change the default path should preserve that property. Current default path: - `RKO-LIO + graph_based_slam` - local Scan Context implementation - Autoware-compatible pointcloud map output Research frontends with other licenses can still be discussed, but they should not silently become the default path. ## Autoware Naming And Trademark Guidance Keep Autoware references descriptive. Preferred wording: - `Autoware-compatible pointcloud map` - `pointcloud-map workflow for Autoware` - `works with Autoware` - `built on Autoware` Avoid branding this repository or a derived product as if it were an official Autoware product or a Foundation-approved distribution. Avoid wording such as: - `Autoware-ready` as a product tag line - `official Autoware` - `Autoware ` - `certified by Autoware` - `endorsed by the Autoware Foundation` If in doubt, prefer compatibility language over product-name language. ## Before Opening An Issue Please collect the smallest reproducible case you can. For Autoware-related reports, include: - exact map bundle path or a minimal reproduction bundle - `map_projector_info.yaml` - result of `python3 scripts/verify_autoware_map.py ` - exact command used to stage or view the map - whether GNSS was enabled For benchmark-related reports, include: - bag or dataset name - exact command line - param file path - `metrics.json` - `ape_corrected_vs_gt.txt` and `ape_raw_vs_gt.txt` when available - logs needed to understand failures or regressions ## Recommended Local Checks For code changes that touch the default workflow: ```bash bash scripts/run_default_ci_checks.sh ``` For benchmark/reporting changes: ```bash bash scripts/run_release_readiness_checks.sh --skip-default-ci --ape-threshold 0.10 ``` For Autoware pointcloud-map changes: ```bash bash scripts/run_autoware_quickstart.sh ``` ## Benchmark Result Submissions If you want to contribute benchmark results, prefer opening the benchmark report File truncated at 100 lines [see the full file](https://github.com/rsasaki0109/lidarslam_ros2/tree/develop/CONTRIBUTING.md)