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 rerun extra turns into a Rerun recording as the run ends (rerun.enabled=true), 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.7.1

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.7.1
File Size Uploaded Provenance
autoware_carla_scenario-15.7.1.tar.gz 1.2 MB With provenance Details

Built distribution (wheel)

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

Total release size: 2.6 MB

Release files / autoware_carla_scenario-15.7.1.tar.gz

Download URL autoware_carla_scenario-15.7.1.tar.gz
Size 1.2 MB
Tags Source
SHA-256 checksum
How to use checksums
3ccd0a73bdb7293e26b677b1494f03084a20db2a164b4ca5ea3c2aecce976f68
BLAKE2b-256 checksum
How to use checksums
ef1d86cbda0fc2f23f98f481c14de10a7bf0281a5036732bb451496f59a43430
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.7.1-py3-none-any.whl

Download URL autoware_carla_scenario-15.7.1-py3-none-any.whl
Size 1.4 MB
Tags Python 3
SHA-256 checksum
How to use checksums
de8dda1a26efb972f8dd51d8b333b2f13b3c39150eaa3a19f83be99f93865de2
BLAKE2b-256 checksum
How to use checksums
f6c23ac55b4daa392f755a74ef8e79e82971ba5502c9c89e45ede8c06a7c98ad
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

Security for autoware-carla-scenario 15.7.1

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.

Full provenance

All 2 files in this release have been uploaded with provenance metadata.

Select from 2 files

Attestation for autoware_carla_scenario-15.7.1.tar.gz

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

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

Release history Release notifications | RSS feed

This release

15.7.1 This release

2 release files Full provenance

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