Configuration#
This overview is a compact reference for all available Docker Compose profiles and .env variables. The basic workflow and concrete examples are described in Getting Started.
The recommended way to edit the configuration is the GUI. It exposes the same variables listed below, applies presets, validates the configuration, and writes valid changes back to .env:
docker compose up gui
Open http://localhost:8501 after the GUI has started.
Environment Variables#
Environment variables are key-value settings that configure the Docker Compose setup. Some of them are also passed into the containers, but their main role in this repository is to select profiles, maps, vehicles, scenarios, overrides, and optional runtime behavior without editing the Compose files directly.
All variables below can be set through the GUI or manually in .env.
Variable |
Purpose / Impact |
Typical Values |
|---|---|---|
|
Active service groups for simulation, testing, perception, and planning. |
|
|
Compose file chain. Examples override the standard |
|
|
Vehicle profile for sensor frames (URDF), parameters, and controller tuning. Mostly relevant for CARLA. |
|
|
Comma-separated list of CARLA sensor layout files to be used when spawning objects. SUMO does not use sensor layouts. |
|
|
Selected prebuilt map. Leave empty when using custom OpenDRIVE mode. |
CARLA: |
|
Ego spawn point, given as |
|
|
Custom OpenDRIVE ( |
|
|
Matching Lanelet2 |
|
|
GPS origin latitude for a custom lanelet map frame. Set together with |
|
|
GPS origin longitude for a custom lanelet map frame. Set together with |
|
|
Lets the stack automatically select and reload Lanelet2 map data for prebuilt maps. The GUI sets this automatically. |
|
|
OpenSCENARIO file for CARLA |
|
|
Enables ROS simulated time across the stack. Must stay |
|
|
Enables ROS tracing output for analysis. |
|
Service Profiles#
COMPOSE_PROFILES activates service groups from the included Docker Compose files. Pick one compatible value per group.
Group |
Profiles |
Compatibility / Effect |
|---|---|---|
Simulation |
|
Selects the simulation backend. CARLA supports the full stack; SUMO is lightweight and more restricted. |
Testing |
|
CARLA only. SUMO does not use a testing profile. Use |
Perception |
|
|
Planning |
|
CARLA and SUMO support |
Common examples:
COMPOSE_PROFILES=carla,random-testing,no-perception,planning
COMPOSE_PROFILES=carla,manual-testing,perception,planning
COMPOSE_PROFILES=sumo,no-perception,planning
Service Overview#
The following overview lists the Docker Compose services involved in OpenADSim and shows which profiles activate them. Services marked always have no profile assigned and therefore start with every configuration.
CARLA Simulation
Service |
Profiles |
Role |
|---|---|---|
|
|
Offscreen CARLA backend with custom |
|
|
DDS-to-Zenoh bridge for CARLA ROS topics |
|
|
ROS 2 bridge; loads |
|
|
Spawns ego vehicle and sensors from |
|
|
Generates stack-relevant ego, object, and map topics |
|
|
Maps CARLA outputs to |
|
|
Applies Ackermann control commands to the ego vehicle |
|
|
Manual teleoperation interface |
|
|
Publishes |
|
|
Adds random traffic and environment variation |
|
|
Interactive scenario execution in manual testing |
|
|
Batch scenario execution from |
SUMO Simulation
Service |
Profiles |
Role |
|---|---|---|
|
|
Generates |
|
|
Maps SUMO outputs to |
|
|
Publishes |
OpenADStack
Service |
Profiles |
Role |
|---|---|---|
|
always |
Zenoh router for ROS 2 communication |
|
always |
Publishes the vehicle URDF for |
|
always |
Serves Lanelet2 maps with |
|
|
Tracks object motion from fused perception objects |
|
|
Computes a Lanelet2 route from ego data |
|
|
Generates a reference trajectory from the enriched route |
|
|
Optimizes the final drivable trajectory |
|
|
Converts the optimized trajectory into Ackermann control commands |
Monitoring and Tooling
Service |
Profiles |
Role |
|---|---|---|
|
|
RViz visualization with the CARLA display configuration |
|
|
RViz visualization with the SUMO display configuration |
|
|
Records ROS bags of the executed scenarios |
|
|
Web-based configuration GUI on port 8501 |