feat: AWSIM autonomous driving pipeline#133
Open
rsasaki0109 wants to merge 9 commits intodevelopfrom
Open
Conversation
Add end-to-end pipeline for creating pointcloud maps with lidarslam from AWSIM simulator data, generating lanelet2 maps from trajectories, and running autonomous driving with Autoware. New scripts: - simple_lanelet2_generator.py: TUM trajectory → lanelet2 OSM - run_awsim_autoware_demo.sh: sample map AWSIM demo - run_awsim_selfmade_map_demo.sh: self-made map autonomous driving - test_awsim_setup.sh: AWSIM + Autoware setup verification - download_autoware_artifacts.sh: Autoware ML model download - record_screen.sh: screen recording utility New docs: - docs/awsim-autonomous-driving-tutorial.md: full pipeline tutorial - CLAUDE.md: project instructions for AI assistants
Autoware's route planner requires multiple lanelets with shared boundary nodes to build a routing graph. Update build_osm() to split the trajectory into segments (default 25 points each) and share end/start nodes between adjacent lanelets. Add --segment-length CLI option.
New prepare_autoware_map_from_graph_slam.sh script handles: - g2o → TUM trajectory extraction with AWSIM coordinate transform - Grid PCD merging with LZF decompression and coordinate transform - Lanelet2 generation via simple_lanelet2_generator.py - map_projector_info.yaml generation Reads ego position and yaw from AWSIM config.json automatically.
Add bash -n validation for all new AWSIM/Autoware scripts. Add inline unit test for simple_lanelet2_generator covering: - TUM read, spline smoothing, boundary offset - Multi-segment lanelet2 generation with shared boundary nodes - OSM XML structure validation
…_slam.sh The original prepare_autoware_map_from_graph_slam.sh (copy + verify) had existing tests. Restore it and add the new AWSIM coordinate transform pipeline as build_autoware_map_from_slam.sh instead.
- Add AWSIM pipeline section with quick start commands - Update scope to include lanelet2 generation and AWSIM pipeline - Add AWSIM tutorial link to docs section - Highlight lanelet2 auto-generation and one-command demo in Why This Repo
193179b to
b8af9ae
Compare
a67ea11 to
6c830cf
Compare
b8af9ae to
07ca2ac
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
simple_lanelet2_generator.pyを追加prepare_autoware_map_from_graph_slam.shを追加New scripts
simple_lanelet2_generator.pyprepare_autoware_map_from_graph_slam.shrun_awsim_autoware_demo.shrun_awsim_selfmade_map_demo.shtest_awsim_setup.shdownload_autoware_artifacts.shrecord_screen.shKey technical decisions
map_projector_info.yamlusesprojector_type: localfor coordinate mappingTest plan
simple_lanelet2_generator.pytested with NTU VIRAL public dataprepare_autoware_map_from_graph_slam.shtested with AWSIM Shinjuku data