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.1.0

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.1.0
File Size Uploaded
autoware_carla_scenario-15.1.0.tar.gz 1.1 MB Details

Built distribution (wheel)

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

Total release size: 2.4 MB

Release files / autoware_carla_scenario-15.1.0.tar.gz

Download URL autoware_carla_scenario-15.1.0.tar.gz
Size 1.1 MB
Tags Source
SHA-256 checksum
How to use checksums
18a401d44c06eebca0f26db57b6ce503fd0b506b6e4688c3ff09d482bc17543b
BLAKE2b-256 checksum
How to use checksums
2c092dc7a633114a60fd3ba339d6347f18c8f4c21fa3ea6f27f377cf28a68a04
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 18, 2026.

Transparency log

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

Download URL autoware_carla_scenario-15.1.0-py3-none-any.whl
Size 1.3 MB
Tags Python 3
SHA-256 checksum
How to use checksums
5dfcf795e445db246e2972fee97116cdccd4ce303c310a79bc811f5a34f1823c
BLAKE2b-256 checksum
How to use checksums
6b7a6ca1807a1d1384a9e1f69d678bc3a070daa84cf0715ec7626e174b3e7457
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 18, 2026.

Transparency log

Release history Release notifications | RSS feed

15.2.2

2 release files

15.2.1

2 release files

15.2.0

2 release files

This release

15.1.0 This release

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