Scenarios

Scenario JSON files keep map size, terrain profile, obstacle definitions, benchmark seeds, semantic tags, and recommended vehicle settings outside runtime code.

Scenario files

File

Use case

Notes

Static_Map.json

Static obstacle navigation

Baseline map for planning, sensing checks, and deterministic experiments.

Dynamic_Map.json

Dynamic interaction

Useful for moving-agent and obstacle-avoidance experiments.

NarrowMap.json

Narrow passage mapping

Canyon-like traversal and local mapping.

PaleMap.json

Alternative map profile

Visual and navigation variation for regression checks.

Map actions

Action

Payload

Result

set_scenario

{scenario, seed}

Regenerates the map by scenario name.

generate_map

{scenario?, seed?}

Generates a named or default procedural terrain.

get_map_info

{}

Returns dimensions, path points, scenario name, and map metadata.

get_terrain_grid

{cell_size, inflation_radius, include_static_obstacles, include_dynamic_agents}

Returns occupancy and class grids for planners.

Dynamic agents

Dynamic AUV-like agents are managed separately from static obstacle geometry so planners can distinguish fixed map structure from moving targets.

API

Purpose

spawn_agent(config)

Create a dynamic proxy AUV or obstacle agent.

move_agent(id, position)

Teleport or reposition an existing dynamic agent.

set_agent_velocity(id, velocity)

Drive a proxy agent with an external velocity vector.

configure_acoustic_comm(...)

Configure underwater communication latency, bandwidth, range, and packet drop rate.

Agent schema fields

Every scenario declares an agents array. The main AUV entry is metadata for the physical vehicle already present in the scene; non-main entries can be spawned by the scenario loader.

Field

Purpose

schema_version

Version of the agent definition format.

agent_name

Stable runtime identifier such as auv/main or target_01.

agent_type

Logical role such as main_auv or proxy_auv.

is_main_agent

true for the scene-owned physical AUV; false for dynamic proxy agents.

profile

Vehicle profile or runtime profile name.

location / rotation

Initial pose fields.

control_scheme

One of force_3d, body_force_3d, thrusters, external_velocity, waypoint_pid, body_wrench_6dof, body_velocity_6dof, or custom_dynamics_6dof.

sensors

Sensor names or sensor declaration dictionaries.

metadata

Role, semantic label, tags, and experiment-specific annotations.