feat: add autoware_lanelet2_map_merger package#410
Conversation
|
Thank you for contributing to the Autoware project! 🚧 If your pull request is in progress, switch it to draft mode. Please ensure:
|
There was a problem hiding this comment.
Pull request overview
Adds a new ROS 2 “map tool” package that merges a directory of divided Lanelet2 .osm files back into a single .osm, using a projector described by map_projector_info.yaml and preserving shared-point IDs to keep topology consistent.
Changes:
- Introduces
autoware_lanelet2_map_mergerlibrary + component node to discover, load, merge, and write Lanelet2 maps. - Adds launch/config + parameter JSON schema and README documentation.
- Adds a gtest that exercises merge/dedup and reload behavior.
Reviewed changes
Copilot reviewed 12 out of 12 changed files in this pull request and generated 7 comments.
Show a summary per file
| File | Description |
|---|---|
| map/autoware_lanelet2_map_merger/src/lanelet2_map_merger.cpp | Core discovery/load/merge/write implementation. |
| map/autoware_lanelet2_map_merger/src/lanelet2_map_merger.hpp | Merger class interface and state (loaded map lifetime). |
| map/autoware_lanelet2_map_merger/src/lanelet2_map_merger_node.cpp | One-shot ROS 2 node wrapper that runs the merger from parameters. |
| map/autoware_lanelet2_map_merger/src/lanelet2_map_merger_node.hpp | Node class declaration. |
| map/autoware_lanelet2_map_merger/src/local_projector.hpp | Minimal projector used for LOCAL projector-type handling. |
| map/autoware_lanelet2_map_merger/test/test_lanelet2_map_merger.cpp | Unit tests for merge/dedup + reload + non-crash behavior. |
| map/autoware_lanelet2_map_merger/CMakeLists.txt | Build/test targets and component registration. |
| map/autoware_lanelet2_map_merger/package.xml | Package metadata and dependencies. |
| map/autoware_lanelet2_map_merger/launch/lanelet2_map_merger.launch.xml | Launch entrypoint wiring parameters. |
| map/autoware_lanelet2_map_merger/config/lanelet2_map_merger.param.yaml | Default parameter file using launch substitutions. |
| map/autoware_lanelet2_map_merger/schema/lanelet2_map_merger.schema.json | Parameter schema for documentation/validation. |
| map/autoware_lanelet2_map_merger/README.md | Usage and behavior documentation. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Signed-off-by: Ryohsuke Mitsudome <ryohsuke.mitsudome@tier4.jp>
Signed-off-by: Ryohsuke Mitsudome <ryohsuke.mitsudome@tier4.jp>
Signed-off-by: Ryohsuke Mitsudome <ryohsuke.mitsudome@tier4.jp>
Signed-off-by: Ryohsuke Mitsudome <ryohsuke.mitsudome@tier4.jp>
Signed-off-by: Ryohsuke Mitsudome <ryohsuke.mitsudome@tier4.jp>
8a0b919 to
8e10f11
Compare
Codecov Report❌ Patch coverage is Additional details and impacted files@@ Coverage Diff @@
## main #410 +/- ##
========================================
+ Coverage 7.02% 7.08% +0.05%
========================================
Files 497 501 +4
Lines 32735 32818 +83
Branches 3736 3793 +57
========================================
+ Hits 2301 2325 +24
- Misses 29079 29100 +21
- Partials 1355 1393 +38
*This pull request uses carry forward flags. Click here to find out more. ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
Description
Part of autowarefoundation/autoware_core#887
Add a new
autoware_lanelet2_map_mergerpackage that merges a directory of divided Lanelet2 (.osm) map files into a single.osmfile.autoware_lanelet2_map_merger_nodewith launch file, parameter YAML, and JSON schema..osmfile in the input directory using the projector described inmap_projector_info.yaml(MGRS,LocalCartesianUTM,LocalCartesian, andTransverseMercatorare supported).lanelet2_map_loader(merge_lanelet2_maps), deduplicating points shared across maps by ID so successor/predecessor relationships are preserved, then writes the merged map withlanelet::write.How was this PR tested?
colcon build --packages-select autoware_lanelet2_map_merger.test_lanelet2_map_merger) viacolcon test.autoware_lanelet2_map_divideron a samplelanelet2_map.osmand then running this merger on its output, confirming the reconstructed map matches the original.Notes for reviewers
None.
Effects on system behavior
None.