mode: sim
vehicle_id: demo_agv_001

workshop_pc:
  gateway:
    vehicle_host: 127.0.0.1
    vehicle_port: 9000
    timeout_ms: 5000

vehicle_agent:
  type: isaac_vehicle_agent_sim
  bind_host: 0.0.0.0
  private_cmd_vel_topic: /vehicle/demo_agv_001/actuator/cmd_vel
  external_pose_topic: /isaac/external_localization/vehicle/pose
  external_pose_transport: wifi6_tcp
  chassis_telemetry_topic: /chassis/telemetry
  internal_ackermann_command_topic: /vehicle/demo_agv_001/internal/ackermann_cmd
  internal_state_topic: /vehicle/demo_agv_001/internal/state
  internal_health_topic: /vehicle/demo_agv_001/internal/health
  internal_time_sync_topic: /vehicle/demo_agv_001/internal/time_sync_status
  wheel_base_m: 0.80
  max_steering_angle_rad: 0.60
  internal_command_timeout_sec: 0.5

vehicle_sensor_agent:
  type: isaac_vehicle_sensor_agent_sim
  bind_host: 0.0.0.0
  front_camera_sensor_id: demo_front_camera
  down_camera_sensor_id: demo_down_camera
  lidar_3d_sensor_id: demo_lidar_3d
  lidar_2d_sensor_id: demo_lidar_2d
  imu_sensor_id: demo_imu
  front_camera_topic: /sensor/front_camera/image_raw
  down_camera_topic: /sensor/down_camera/image_raw
  lidar_3d_topic: /sensor/lidar_3d/pointcloud
  lidar_2d_topic: /sensor/lidar_2d/scan
  imu_topic: /sensor/imu/data
  sensor_link_status_topic: /vehicle/demo_agv_001/internal/sensor_link_status
  max_frame_payload_bytes: 262144

external_pose_bridge:
  type: external_pose_wifi6_bridge
  source_topic: /isaac/external_localization/vehicle/pose
  reference_source_name: isaac_external_truth
  max_hz: 30.0

workshop_sensor_ingest:
  type: workshop_sensor_ingest_sim
  publish_prefix: /workshop/vehicle_sensor
  poll_hz: 15.0
  max_payload_bytes: 4194304

isaac:
  scene_script: src/simulation/isaac_workshop_sim/scripts/build_calibration_room.py
  scene_manifest_path: .isaac_cache/workshop_scene_manifest.json
  cmd_vel_topic: /vehicle/demo_agv_001/actuator/cmd_vel

frames:
  map: workshop
  base_link: rear_axle_center

targets:
  down_camera_charuco:
    square_size_m: 0.09
    squares_x: 30
    squares_y: 10
  lidar_2d_corner_bay:
    reserved_for: lidar_2d_extrinsic

safety:
  max_speed_mps: 0.3
  command_timeout_sec: 1.0
  stop_on_disconnect: true
