Skip to main content

Autoware CARLA Scenario

A CARLA scenario testing framework for Autoware. Drives an Autoware ego vehicle through configurable scenarios in the CARLA simulator, evaluates pass/fail conditions tick-by-tick, and produces JSON results plus a trajectory log of the run.

It is typically run against OpenDRIVE maps produced by the convert CLI of autoware_lanelet2_to_opendrive, but does not depend on it: the Lanelet2 and OpenDRIVE maps are loaded as two independent coordinate systems, related only through CARLA world coordinates.

Features

  • Automated scenario execution against CARLA UE5 (0.10.0 and ue5-dev), through the statically typed typesafe_carla client.
  • Hydra-composed configurations for map, server, ego, entities, and scenario.
  • Glob-pattern batch execution of multiple scenarios in a single CARLA session.
  • Condition system: timing, collisions, traffic signals, speed/standstill, lane/area position, waypoint crossing, plus logical (And/Or/Not), latching (Sticky), and persistent combinators.
  • Action system: turns, lane changes, traffic-light state, on-demand camera attachment.
  • Pluggable traffic backends: CARLA's TrafficManager by default, traffic=none for an empty road, or a traffic simulator of your own through an entry point.
  • Coordinate transforms between Lanelet2, OpenDRIVE, and CARLA world frames.
  • Hydra lanelet_constraint sweeper plugin for parametric map-driven sweeps (resolvable without CARLA).
  • FastAPI + Uvicorn web viewer for browsing results and triggering runs.
  • A trajectory log of every run (actors, lights, map, the ego's plan, conditions, verdict; JSON Schema in the package), which the autoware_carla_scenario_rerun package (convert / convert_dir) turns into a Rerun recording to see the run, beside CARLA's native recording.
  • scenario-setup downloads CARLA's nightly build, which the runner then launches by itself.
  • pytest integration via CarlaScenarioFixture (auto-skips when there is no CARLA to launch).

Installation

Python 3.10 to 3.14 (>=3.10,<3.15, the interpreters CI tests), Linux x86_64 or aarch64 (CARLA's server itself is x86_64 only; see installation). Install via the workspace root:

# From the repository root
uv sync --dev

The CARLA client is typesafe_carla (typesafe-carla on PyPI), a plain dependency — no extra to request — imported as import typesafe_carla.carla as carla. Its PyPI wheel carries the CPython package prebuilt, so the sync above compiles nothing (installation has the cases that build it instead). The official carla wheels, and CARLA 0.9.16 (UE4), are no longer supported. CARLA's simulator binary itself is downloaded by uv run scenario-setup (the nightly build, into ~/.autoware_carla_scenario/bin/carla); see the quick start.

Quick usage

The package provides these CLI entry points:

Command Framework Purpose
scenario Hydra Run autonomous-driving scenario tests in CARLA
scenario-setup argparse Download CARLA (the nightly build) for scenario to launch
detect-no-3d-model argparse Detect lanelets without a matching 3D ground model in CARLA
viewer FastAPI + Uvicorn Web UI for browsing and monitoring scenario results

Run a scenario

Uses a CARLA server already listening on the configured host/port, or launches one: CARLA_EXECUTABLE, else the one scenario-setup installed.

# Single scenario
uv run scenario scenario=intersection_passing/straight

# Batch run via glob pattern (sequential, single CARLA session)
uv run scenario scenario='intersection_passing/*'

# Other built-in scenarios
uv run scenario scenario=lane_change/left
uv run scenario scenario=temporary_stop/temporary_stop
uv run scenario scenario=traffic_light_compliance/traffic_light_compliance

Results (JSON and the trajectory log) are written under the configured output directory and can be inspected interactively via:

uv run viewer

Detect missing 3D models

For diagnosing lanelets that do not project onto a CARLA ground mesh:

uv run detect-no-3d-model --map /path/to/map.xodr

Documentation

Full guides live under docs/ and are served by MkDocs:

Metadata

Release files for autoware-carla-scenario 15.4.3

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for autoware-carla-scenario 15.4.3
File Size Uploaded
autoware_carla_scenario-15.4.3.tar.gz 1.2 MB Details

Built distribution (wheel)

Table of built distributions (wheels) for autoware-carla-scenario 15.4.3
File Interpreter ABI Platform
autoware_carla_scenario-15.4.3-py3-none-any.whl Python 3 none any Details

Total release size: 2.6 MB

Release files / autoware_carla_scenario-15.4.3.tar.gz

Download URL autoware_carla_scenario-15.4.3.tar.gz
Size 1.2 MB
Tags Source
SHA-256 checksum
How to use checksums
cbb5bdf832f25faa3628b72f828893bfd5eb1d4a89685faaf640c6ac1dc5ba7e
BLAKE2b-256 checksum
How to use checksums
21532466d33ace76fccde2999dd12cffdca1c59c65e8c354896655561157448f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 19, 2026.

Transparency log

Release files / autoware_carla_scenario-15.4.3-py3-none-any.whl

Download URL autoware_carla_scenario-15.4.3-py3-none-any.whl
Size 1.4 MB
Tags Python 3
SHA-256 checksum
How to use checksums
2bf1c05cc17c2dab6c47dc374a2a9182facb1d193dc92700d678c8b388436950
BLAKE2b-256 checksum
How to use checksums
a6e980f6bd5af614c4bf288a3329d084242b7978c31618405900f816232c86e7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 19, 2026.

Transparency log

Release history Release notifications | RSS feed

15.5.1

2 release files

15.5.0

2 release files

This release

15.4.3 This release

2 release files

15.4.2

2 release files

15.4.1

2 release files

15.4.0

2 release files

15.3.0

2 release files

15.2.4

2 release files

15.2.3

2 release files

15.2.2

2 release files

15.2.1

2 release files

15.2.0

2 release files

15.1.0

2 release files

15.0.0

2 release files

14.7.1

2 release files

14.7.0

2 release files

14.6.0

2 release files

14.5.3

2 release files

14.5.2

2 release files

14.5.1

2 release files

14.5.0

2 release files

14.4.2

2 release files

14.4.1

2 release files

14.4.0

2 release files

14.3.0

2 release files

14.2.3

2 release files

14.2.2

2 release files

14.2.1

2 release files

14.2.0

2 release files

14.1.1

2 release files

14.1.0

2 release files

14.0.0

2 release files

13.1.1

2 release files

13.1.0

2 release files

13.0.0

2 release files

12.9.1

2 release files

12.9.0

2 release files

12.8.2

2 release files

12.8.1

2 release files

12.8.0

2 release files

12.7.5

2 release files

12.7.4

2 release files

12.7.3

2 release files

12.7.2

2 release files

12.7.1

2 release files

12.7.0

2 release files

12.6.4

2 release files

12.6.3

2 release files

12.6.2

2 release files

12.6.1

2 release files

12.6.0

2 release files

12.5.2

2 release files

12.5.1

2 release files

12.5.0

2 release files

12.4.2

2 release files

12.4.1

2 release files

12.4.0

2 release files

12.3.3

2 release files

12.3.2

2 release files

12.3.1

2 release files

12.3.0

2 release files

12.2.3

2 release files

12.2.2

2 release files

12.2.1

2 release files

12.2.0

2 release files

12.1.0

2 release files

12.0.1

2 release files

12.0.0

2 release files

11.2.0

2 release files

11.1.1

2 release files

11.1.0

2 release files

11.0.0

2 release files

10.9.0

2 release files

10.8.1

2 release files

10.8.0

2 release files

10.7.0

2 release files

10.6.1

2 release files

10.6.0

2 release files

10.5.4

2 release files

10.5.3

2 release files

10.5.2

2 release files

10.5.1

2 release files

10.5.0

2 release files

10.4.6

2 release files

10.4.5

2 release files

10.4.4

2 release files

10.4.3

2 release files

10.4.2

2 release files

10.4.1

2 release files

10.4.0

2 release files

10.3.3

2 release files

10.3.2

2 release files

10.3.1

2 release files

10.3.0

2 release files

10.2.2

2 release files

10.2.1

2 release files

10.2.0

2 release files

10.1.2

2 release files

10.1.1

2 release files

10.1.0

2 release files

10.0.9

2 release files

10.0.8

2 release files

10.0.7

2 release files

10.0.6

2 release files

10.0.5

2 release files

10.0.4

2 release files

10.0.3

2 release files

10.0.2

2 release files

10.0.1

2 release files

10.0.0

2 release files

9.3.0

2 release files

9.2.0

2 release files

9.1.2

2 release files

9.1.1

2 release files

9.1.0

2 release files

9.0.0

2 release files

8.0.0

2 release files

7.5.13

2 release files

7.5.12

2 release files

7.5.10

2 release files

7.5.9

2 release files

7.5.8

2 release files

7.5.7

2 release files

7.5.6

2 release files

7.5.5

2 release files

7.5.4

2 release files

7.5.3

2 release files

7.5.2

2 release files

7.5.1

2 release files

7.5.0

2 release files

7.4.0

2 release files

7.3.1

2 release files

7.3.0

2 release files

7.2.0

2 release files

7.1.0

2 release files

7.0.0

2 release files

6.0.0

2 release files

5.8.0

2 release files

5.7.0

2 release files

5.6.0

2 release files

5.5.0

2 release files

5.4.0

2 release files

5.3.0

2 release files

5.2.0

2 release files

5.1.0

2 release files

5.0.0

2 release files

4.1.1

2 release files

4.1.0

2 release files

4.0.1

2 release files

4.0.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page