Skip to content

Scenario Simulation#

Run predefined traffic scenarios with TIER IV Scenario Simulator. The deployment executes scenarios automatically and writes their results to the host.

Use the Kashiwanoha map

sample-map-planning is incompatible and causes invalid-map and MRM errors.

Setup#

Commands on this page are shown as installed by the release installer. From a source checkout, prefix them with ./ and run them from the repository root.

openadkit setup --verify

Activate the Docker group membership added by the installer before running Docker without sudo. Either log out and back in, or run:

newgrp docker

The entry point downloads the Kashiwanoha map automatically.

Configuration#

Put overrides in deployments/scenario-simulation/config.local.env:

Variable Purpose Default
SCENARIO Scenario path inside the container Bundled example
SCENARIO_HOST_DIR Host scenario directory deployments/scenario-simulation/scenarios
OUTPUT_HOST_PATH Host results directory deployments/scenario-simulation/output
SCENARIO_READY_TIMEOUT Autoware readiness timeout in seconds 300
MAP_PATH Host map directory ~/autoware_map/kashiwanoha_map

config.env stores those host paths as ./scenarios and ./output. Compose resolves them from deployments/scenario-simulation/, not the repository root.

For a custom scenario, place its YAML in deployments/scenario-simulation/scenarios (or another SCENARIO_HOST_DIR) and set, for example, SCENARIO=/scenarios/my-scenario.yaml. A custom map must provide matching MAP_PATH, LANELET2_MAP_FILE, and POINTCLOUD_MAP_FILE values.

Run#

openadkit run scenario-simulation
openadkit logs scenario-simulation --follow

Add --ros-distro jazzy to select Jazzy; Humble is the default.

Initialization takes about 90 seconds. The runner waits up to SCENARIO_READY_TIMEOUT, executes the scenario, and writes results to deployments/scenario-simulation/output unless OUTPUT_HOST_PATH is overridden.

Access the Visualizer#

Open your browser and navigate to:

https://localhost:6080/vnc.html

Use the default password openadkit. The connection uses a self-signed certificate; dismiss the browser privacy warning to continue.

Remote Access

The visualizer runs under network_mode: host, so ports: is ignored and the loopback bind (127.0.0.1:6080) lives in the visualizer entrypoint. To reach noVNC from another machine, either forward the port over SSH:

ssh -L 8080:localhost:6080 <user>@<host>
# then open https://localhost:8080/vnc.html

or put a TLS-terminating reverse proxy in front of 127.0.0.1:6080 and set a strong REMOTE_PASSWORD. For manifest-driven deployments, put it in ignored config.local.env; standalone deployments document their own environment handling. base/runtime.env is reserved for container ROS/DDS variables. Editing docker-compose.yaml to add a ports: mapping has no effect under host networking.

Stop and Recover#

openadkit stop scenario-simulation

Parameter overrides live in config/mrm_handler.param.yaml and config/default_adapi.param.yaml. To replace missing map data, run openadkit fetch scenario-simulation --force. For common issues, see Troubleshooting.