mode: site
vehicle_id: replace_with_real_vehicle_id

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

vehicle_agent:
  type: real_vehicle_agent
  vendor_interface: replace_with_can_plc_sdk_or_controller
  external_pose_transport: wifi6
  internal_ackermann_command_topic: /vehicle/replace_with_real_vehicle_id/internal/ackermann_cmd
  internal_state_topic: /vehicle/replace_with_real_vehicle_id/internal/state
  internal_health_topic: /vehicle/replace_with_real_vehicle_id/internal/health
  internal_time_sync_topic: /vehicle/replace_with_real_vehicle_id/internal/time_sync_status
  wheel_base_m: measured_on_site
  max_steering_angle_rad: measured_on_site

vehicle_sensor_agent:
  type: real_vehicle_sensor_agent
  front_camera_sensor_id: replace_with_front_camera_id
  down_camera_sensor_id: replace_with_down_camera_id
  lidar_3d_sensor_id: replace_with_lidar_3d_id
  lidar_2d_sensor_id: replace_with_lidar_2d_id
  imu_sensor_id: replace_with_imu_id
  sensor_data_transport: wifi6
  sensor_link_status_topic: /vehicle/replace_with_real_vehicle_id/internal/sensor_link_status

external_pose_bridge:
  type: external_pose_wifi6_bridge
  source_topic: replace_with_external_truth_ros_topic
  reference_source_name: replace_with_external_truth_source
  max_hz: 30.0

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

frames:
  map: workshop
  base_link: rear_axle_center

targets:
  down_camera_charuco:
    square_size_m: measured_on_site
    squares_x: measured_on_site
    squares_y: measured_on_site
  lidar_2d_corner_bay:
    measured_planes: required

safety:
  max_speed_mps: 0.1
  command_timeout_sec: 1.0
  stop_on_disconnect: true
  emergency_stop_required: true
