Skip to content

feat(ansible): add the CARLA 0.10 Town10HD_Opt map to demo_artifacts - #7308

Merged
xmfcx merged 3 commits into
autowarefoundation:mainfrom
hakuturu583:feat/ansible-carla-ue5-maps
Sep 9, 2026
Merged

feat(ansible): add the CARLA 0.10 Town10HD_Opt map to demo_artifacts#7308
xmfcx merged 3 commits into
autowarefoundation:mainfrom
hakuturu583:feat/ansible-carla-ue5-maps

Conversation

@hakuturu583

Copy link
Copy Markdown
Contributor

Description

The Autoware maps published alongside the CARLA towns were recorded on CARLA 0.9. CARLA 0.10 re-authored those towns in Unreal Engine 5, so the published point clouds no longer describe the world a vehicle drives in, and NDT scores a confident match on geometry that has moved. AutowareFoundation/carla-ue5-maps carries point clouds recorded from 0.10 itself, one directory per world, starting with Town10HD_Opt.

This adds that download to demo_artifacts, joining the hf loop the Kashiwanoha map already runs in — as #7301 anticipated ("the next map dataset is one more loop entry"). Two changes make room for it:

  • Filters are per entry. The --exclude "*.mp4" that dropped the Kashiwanoha demo video was hardcoded; entries now carry include/exclude pattern lists. This dataset drops the preview renders and every world but Town10HD_Opt.
  • dest is relative to autoware_data, not maps. The dataset already namespaces its worlds under autoware_maps/, and hf download preserves the repo-relative path, so this entry points dest at maps itself and unpacks into maps/autoware_maps/Town10HD_Opt/ rather than claiming a directory of its own. That is the layout the dataset card documents, and the directory basename is the world name CARLA loads, matching the map_path convention the CARLA demo already uses.

The Kashiwanoha download is unchanged — same argv before and after.

The dataset carries no tag yet, so the revision is the commit that published Town10HD_Opt (682ddd4).

Resulting layout:

~/autoware_data/maps/autoware_maps/Town10HD_Opt
├── lanelet2_map.osm          # read by Autoware
├── map_projector_info.yaml   # read by Autoware
└── pointcloud_map.pcd        # read by Autoware, for localization

Adding a world later is one more include pattern.

How was this PR tested?

  • Rendered the templated hf command through Ansible's own Jinja (ansible-playbook over the task's loop and loop_control) and compared the argv after shlex splitting. The map-carla-kashiwanoha invocation is byte-identical to main; the new one is:

    hf download AutowareFoundation/carla-ue5-maps --repo-type dataset \
      --revision 682ddd48b4cf305507646cb2f2e563bbedac4c2e \
      --include "autoware_maps/Town10HD_Opt/*" \
      --local-dir "$HOME/autoware_data/maps"
  • Ran that command for real against a scratch --local-dir. It fetches exactly the three map files at the pinned revision, no preview renders:

    Fetching 3 files: 100%|██████████| 3/3 [00:04<00:00,  1.47s/it]
    
          22  maps/autoware_maps/Town10HD_Opt/map_projector_info.yaml
     2248269  maps/autoware_maps/Town10HD_Opt/lanelet2_map.osm
    22220444  maps/autoware_maps/Town10HD_Opt/pointcloud_map.pcd

    map_projector_info.yaml is projector_type: Local, and the point cloud header reports the 1 851 689 points the dataset card states.

  • pre-commit run --files ansible/roles/demo_artifacts/{tasks/main.yaml,README.md} passes (yamllint, prettier, markdownlint, check-yaml).

Not exercised: a full ansible-playbook autoware.dev_env.install_dev_env --tags demo_artifacts run — demo_artifacts is never-tagged and not covered by health-check-ansible, so the role was verified at the task level as above rather than end to end.

🤖 Generated with Claude Code

https://claude.ai/code/session_01Lb99yovCQZVXT47PYzAjXJ

@github-actions

github-actions Bot commented Sep 7, 2026

Copy link
Copy Markdown

Thank you for contributing to the Autoware project!

🚧 If your pull request is in progress, switch it to draft mode.

Please ensure:

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: c078bb7625

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread ansible/roles/demo_artifacts/README.md
@hakuturu583
hakuturu583 marked this pull request as draft September 7, 2026 03:44
@hakuturu583 hakuturu583 added the run:health-check Run health-check label Sep 7, 2026
@hakuturu583
hakuturu583 marked this pull request as ready for review September 7, 2026 03:59
@xmfcx

xmfcx commented Sep 7, 2026

Copy link
Copy Markdown
Contributor

I thought you were going to include kashiwanoha map in this pack. And remove the kashiwanoha entry. Did you change your mind?

@hakuturu583

Copy link
Copy Markdown
Contributor Author

I thought you were going to include kashiwanoha map in this pack. And remove the kashiwanoha entry. Did you change your mind?

No change of mind — the plan is still to fold Kashiwanoha into carla-ue5-maps and drop the map-carla-kashiwanoha entry. It just isn’t ready yet.
What exists for the UE5 Kashiwanoha today is only the .xodr. The lanelet2 map and the point cloud recorded against the UE5 world haven’t been built yet, so there is nothing to put in carla-ue5-maps for it — a Kashiwanoha directory there would be missing exactly the two files Autoware reads for localization.
Once those are ready I’ll publish the whole set — .xodr, .fbx, lanelet2 map and point cloud — together as one Kashiwanoha entry in AutowareFoundation/carla-ue5-maps, and then remove the map-carla-kashiwanoha entry here so there is a single dataset again. Until that lands the existing entry has to stay, because the current CARLA demo (docker/examples/demos/carla/, pinned to 0.9.16) is using it.
So this PR is just the first world of the pack; the Kashiwanoha migration follows in its own PR.

Atrium Coding Agent and others added 2 commits September 8, 2026 10:29
The Autoware maps published alongside the CARLA towns were recorded on CARLA
0.9. CARLA 0.10 re-authored those towns in Unreal Engine 5, so the published
point clouds no longer describe the world a vehicle drives in, and NDT matches
against them are wrong wherever the geometry moved. The
AutowareFoundation/carla-ue5-maps dataset carries point clouds recorded from
0.10 itself, one directory per world, starting with Town10HD_Opt.

The download joins the hf loop the Kashiwanoha map already runs in, as that
commit anticipated. Two changes make room for it: the filters are per entry
now, because this dataset drops preview renders and unwanted worlds rather
than a video, and dest is relative to autoware_data instead of maps, because
the dataset already namespaces its worlds under autoware_maps/ and hf keeps
that prefix - so it unpacks into maps/ rather than claiming a directory of its
own. The Kashiwanoha download is byte-identical after the change.

The dataset carries no tag yet, so the revision is the commit that published
Town10HD_Opt.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Lb99yovCQZVXT47PYzAjXJ
Signed-off-by: Atrium Coding Agent <agent@atrium.local>
The role's README linked the CARLA demo and said the towns are used "on CARLA
0.10", but that demo pins 0.9.16 for both the simulator image and the Python
API. A reader who followed the link and set map_path to Town10HD_Opt would pair
a 0.10 point cloud with 0.9 town geometry - the mismatch the same paragraph
warns about, only in the other direction.

Drop the claim, and add a section to the demo README that says what raising the
pin would take: there is no CARLA 0.10 client wheel on PyPI or in the 0.10.0
release, and autoware_carla_interface is still on the 0.9 pedal map and vehicle
catalogue. The simulator image carlasim/carla:0.10.0 does exist, so it is the
client and the bridge that are missing, not the server.

The maps are still downloaded unconditionally - 24 MB of data published ahead of
the runtime that reads it is cheaper to have than to gate.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Lb99yovCQZVXT47PYzAjXJ
Signed-off-by: Atrium Coding Agent <agent@atrium.local>
@xmfcx
xmfcx force-pushed the feat/ansible-carla-ue5-maps branch from b507fb4 to e0c4980 Compare September 8, 2026 07:29
@xmfcx
xmfcx merged commit 79446c0 into autowarefoundation:main Sep 9, 2026
20 checks passed
Comment on lines +27 to +28
│ ├── autoware_maps/
│ │ └── Town10HD_Opt/

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I realized that this is wrong after merging it, @hakuturu583 -san could you fix it?

Suggested change
│ ├── autoware_maps/
│ │ └── Town10HD_Opt/
│ ├── Town10HD_Opt

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

run:health-check Run health-check

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants