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-04-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
  • lanelet2 maps auto-generated from SLAM trajectories
  • end-to-end autonomous driving on self-made maps (AWSIM + Autoware)
  • a non-GPL default workflow

Out of scope for the public path:

  • Autoware planning/localization bringup beyond the provided demo scripts
  • GPL-only frontend or backend components in the default workflow

Why This Repo

  • non-GPL default path: graph_based_slam, scanmatcher, RKO-LIO, DLIO, and optional FAST_GICP
  • 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
  • AWSIM → lidarslam → Autoware autonomous driving pipeline with one-command demo
  • lanelet2 auto-generation from SLAM trajectories (multi-segment with shared boundary nodes)
  • 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
  • GPL-free Scan Context place recognition is available in graph_based_slam
  • optional MIT-licensed 3D-BBS loop-candidate verification can be built from the vendored Thirdparty/3d_bbs source and remains disabled at runtime by default
  • report helpers cover benchmarks, GNSS, cleanup, dynamic filtering, place recognition, and submission bundles

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

AWSIM Autonomous Driving Pipeline

AWSIM simulator data can flow through lidarslam into pointcloud_map, generated lanelet2, and Autoware driving demos. Start with:

bash scripts/test_awsim_setup.sh
bash scripts/run_awsim_selfmade_map_demo.sh

For map packaging, lanelet2 generation, and terminal-by-terminal bringup, see AWSIM Autonomous Driving Tutorial.

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

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-04-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
  • lanelet2 maps auto-generated from SLAM trajectories
  • end-to-end autonomous driving on self-made maps (AWSIM + Autoware)
  • a non-GPL default workflow

Out of scope for the public path:

  • Autoware planning/localization bringup beyond the provided demo scripts
  • GPL-only frontend or backend components in the default workflow

Why This Repo

  • non-GPL default path: graph_based_slam, scanmatcher, RKO-LIO, DLIO, and optional FAST_GICP
  • 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
  • AWSIM → lidarslam → Autoware autonomous driving pipeline with one-command demo
  • lanelet2 auto-generation from SLAM trajectories (multi-segment with shared boundary nodes)
  • 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
  • GPL-free Scan Context place recognition is available in graph_based_slam
  • optional MIT-licensed 3D-BBS loop-candidate verification can be built from the vendored Thirdparty/3d_bbs source and remains disabled at runtime by default
  • report helpers cover benchmarks, GNSS, cleanup, dynamic filtering, place recognition, and submission bundles

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

AWSIM Autonomous Driving Pipeline

AWSIM simulator data can flow through lidarslam into pointcloud_map, generated lanelet2, and Autoware driving demos. Start with:

bash scripts/test_awsim_setup.sh
bash scripts/run_awsim_selfmade_map_demo.sh

For map packaging, lanelet2 generation, and terminal-by-terminal bringup, see AWSIM Autonomous Driving Tutorial.

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

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-04-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
  • lanelet2 maps auto-generated from SLAM trajectories
  • end-to-end autonomous driving on self-made maps (AWSIM + Autoware)
  • a non-GPL default workflow

Out of scope for the public path:

  • Autoware planning/localization bringup beyond the provided demo scripts
  • GPL-only frontend or backend components in the default workflow

Why This Repo

  • non-GPL default path: graph_based_slam, scanmatcher, RKO-LIO, DLIO, and optional FAST_GICP
  • 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
  • AWSIM → lidarslam → Autoware autonomous driving pipeline with one-command demo
  • lanelet2 auto-generation from SLAM trajectories (multi-segment with shared boundary nodes)
  • 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
  • GPL-free Scan Context place recognition is available in graph_based_slam
  • optional MIT-licensed 3D-BBS loop-candidate verification can be built from the vendored Thirdparty/3d_bbs source and remains disabled at runtime by default
  • report helpers cover benchmarks, GNSS, cleanup, dynamic filtering, place recognition, and submission bundles

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

AWSIM Autonomous Driving Pipeline

AWSIM simulator data can flow through lidarslam into pointcloud_map, generated lanelet2, and Autoware driving demos. Start with:

bash scripts/test_awsim_setup.sh
bash scripts/run_awsim_selfmade_map_demo.sh

For map packaging, lanelet2 generation, and terminal-by-terminal bringup, see AWSIM Autonomous Driving Tutorial.

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

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-04-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
  • lanelet2 maps auto-generated from SLAM trajectories
  • end-to-end autonomous driving on self-made maps (AWSIM + Autoware)
  • a non-GPL default workflow

Out of scope for the public path:

  • Autoware planning/localization bringup beyond the provided demo scripts
  • GPL-only frontend or backend components in the default workflow

Why This Repo

  • non-GPL default path: graph_based_slam, scanmatcher, RKO-LIO, DLIO, and optional FAST_GICP
  • 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
  • AWSIM → lidarslam → Autoware autonomous driving pipeline with one-command demo
  • lanelet2 auto-generation from SLAM trajectories (multi-segment with shared boundary nodes)
  • 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
  • GPL-free Scan Context place recognition is available in graph_based_slam
  • optional MIT-licensed 3D-BBS loop-candidate verification can be built from the vendored Thirdparty/3d_bbs source and remains disabled at runtime by default
  • report helpers cover benchmarks, GNSS, cleanup, dynamic filtering, place recognition, and submission bundles

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

AWSIM Autonomous Driving Pipeline

AWSIM simulator data can flow through lidarslam into pointcloud_map, generated lanelet2, and Autoware driving demos. Start with:

bash scripts/test_awsim_setup.sh
bash scripts/run_awsim_selfmade_map_demo.sh

For map packaging, lanelet2 generation, and terminal-by-terminal bringup, see AWSIM Autonomous Driving Tutorial.

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

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-04-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
  • lanelet2 maps auto-generated from SLAM trajectories
  • end-to-end autonomous driving on self-made maps (AWSIM + Autoware)
  • a non-GPL default workflow

Out of scope for the public path:

  • Autoware planning/localization bringup beyond the provided demo scripts
  • GPL-only frontend or backend components in the default workflow

Why This Repo

  • non-GPL default path: graph_based_slam, scanmatcher, RKO-LIO, DLIO, and optional FAST_GICP
  • 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
  • AWSIM → lidarslam → Autoware autonomous driving pipeline with one-command demo
  • lanelet2 auto-generation from SLAM trajectories (multi-segment with shared boundary nodes)
  • 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
  • GPL-free Scan Context place recognition is available in graph_based_slam
  • optional MIT-licensed 3D-BBS loop-candidate verification can be built from the vendored Thirdparty/3d_bbs source and remains disabled at runtime by default
  • report helpers cover benchmarks, GNSS, cleanup, dynamic filtering, place recognition, and submission bundles

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

AWSIM Autonomous Driving Pipeline

AWSIM simulator data can flow through lidarslam into pointcloud_map, generated lanelet2, and Autoware driving demos. Start with:

bash scripts/test_awsim_setup.sh
bash scripts/run_awsim_selfmade_map_demo.sh

For map packaging, lanelet2 generation, and terminal-by-terminal bringup, see AWSIM Autonomous Driving Tutorial.

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

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-04-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
  • lanelet2 maps auto-generated from SLAM trajectories
  • end-to-end autonomous driving on self-made maps (AWSIM + Autoware)
  • a non-GPL default workflow

Out of scope for the public path:

  • Autoware planning/localization bringup beyond the provided demo scripts
  • GPL-only frontend or backend components in the default workflow

Why This Repo

  • non-GPL default path: graph_based_slam, scanmatcher, RKO-LIO, DLIO, and optional FAST_GICP
  • 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
  • AWSIM → lidarslam → Autoware autonomous driving pipeline with one-command demo
  • lanelet2 auto-generation from SLAM trajectories (multi-segment with shared boundary nodes)
  • 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
  • GPL-free Scan Context place recognition is available in graph_based_slam
  • optional MIT-licensed 3D-BBS loop-candidate verification can be built from the vendored Thirdparty/3d_bbs source and remains disabled at runtime by default
  • report helpers cover benchmarks, GNSS, cleanup, dynamic filtering, place recognition, and submission bundles

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

AWSIM Autonomous Driving Pipeline

AWSIM simulator data can flow through lidarslam into pointcloud_map, generated lanelet2, and Autoware driving demos. Start with:

bash scripts/test_awsim_setup.sh
bash scripts/run_awsim_selfmade_map_demo.sh

For map packaging, lanelet2 generation, and terminal-by-terminal bringup, see AWSIM Autonomous Driving Tutorial.

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

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-04-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
  • lanelet2 maps auto-generated from SLAM trajectories
  • end-to-end autonomous driving on self-made maps (AWSIM + Autoware)
  • a non-GPL default workflow

Out of scope for the public path:

  • Autoware planning/localization bringup beyond the provided demo scripts
  • GPL-only frontend or backend components in the default workflow

Why This Repo

  • non-GPL default path: graph_based_slam, scanmatcher, RKO-LIO, DLIO, and optional FAST_GICP
  • 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
  • AWSIM → lidarslam → Autoware autonomous driving pipeline with one-command demo
  • lanelet2 auto-generation from SLAM trajectories (multi-segment with shared boundary nodes)
  • 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
  • GPL-free Scan Context place recognition is available in graph_based_slam
  • optional MIT-licensed 3D-BBS loop-candidate verification can be built from the vendored Thirdparty/3d_bbs source and remains disabled at runtime by default
  • report helpers cover benchmarks, GNSS, cleanup, dynamic filtering, place recognition, and submission bundles

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

AWSIM Autonomous Driving Pipeline

AWSIM simulator data can flow through lidarslam into pointcloud_map, generated lanelet2, and Autoware driving demos. Start with:

bash scripts/test_awsim_setup.sh
bash scripts/run_awsim_selfmade_map_demo.sh

For map packaging, lanelet2 generation, and terminal-by-terminal bringup, see AWSIM Autonomous Driving Tutorial.

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

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-04-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
  • lanelet2 maps auto-generated from SLAM trajectories
  • end-to-end autonomous driving on self-made maps (AWSIM + Autoware)
  • a non-GPL default workflow

Out of scope for the public path:

  • Autoware planning/localization bringup beyond the provided demo scripts
  • GPL-only frontend or backend components in the default workflow

Why This Repo

  • non-GPL default path: graph_based_slam, scanmatcher, RKO-LIO, DLIO, and optional FAST_GICP
  • 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
  • AWSIM → lidarslam → Autoware autonomous driving pipeline with one-command demo
  • lanelet2 auto-generation from SLAM trajectories (multi-segment with shared boundary nodes)
  • 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
  • GPL-free Scan Context place recognition is available in graph_based_slam
  • optional MIT-licensed 3D-BBS loop-candidate verification can be built from the vendored Thirdparty/3d_bbs source and remains disabled at runtime by default
  • report helpers cover benchmarks, GNSS, cleanup, dynamic filtering, place recognition, and submission bundles

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

AWSIM Autonomous Driving Pipeline

AWSIM simulator data can flow through lidarslam into pointcloud_map, generated lanelet2, and Autoware driving demos. Start with:

bash scripts/test_awsim_setup.sh
bash scripts/run_awsim_selfmade_map_demo.sh

For map packaging, lanelet2 generation, and terminal-by-terminal bringup, see AWSIM Autonomous Driving Tutorial.

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

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-04-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
  • lanelet2 maps auto-generated from SLAM trajectories
  • end-to-end autonomous driving on self-made maps (AWSIM + Autoware)
  • a non-GPL default workflow

Out of scope for the public path:

  • Autoware planning/localization bringup beyond the provided demo scripts
  • GPL-only frontend or backend components in the default workflow

Why This Repo

  • non-GPL default path: graph_based_slam, scanmatcher, RKO-LIO, DLIO, and optional FAST_GICP
  • 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
  • AWSIM → lidarslam → Autoware autonomous driving pipeline with one-command demo
  • lanelet2 auto-generation from SLAM trajectories (multi-segment with shared boundary nodes)
  • 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
  • GPL-free Scan Context place recognition is available in graph_based_slam
  • optional MIT-licensed 3D-BBS loop-candidate verification can be built from the vendored Thirdparty/3d_bbs source and remains disabled at runtime by default
  • report helpers cover benchmarks, GNSS, cleanup, dynamic filtering, place recognition, and submission bundles

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

AWSIM Autonomous Driving Pipeline

AWSIM simulator data can flow through lidarslam into pointcloud_map, generated lanelet2, and Autoware driving demos. Start with:

bash scripts/test_awsim_setup.sh
bash scripts/run_awsim_selfmade_map_demo.sh

For map packaging, lanelet2 generation, and terminal-by-terminal bringup, see AWSIM Autonomous Driving Tutorial.

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

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)