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.