# saltybot_properties.yaml — SaltyBot robot dimensions
# Sourced from chassis/chassis_frame.scad and chassis/ASSEMBLY.md  (Rev A 2026-02-28)
# All values in SI units (meters, kilograms, radians).
# Update after physical measurement of the built robot.

robot:
  # ── Drivetrain ─────────────────────────────────────────────────────────────
  # WHEELBASE = 600mm (chassis_frame.scad)
  wheel_separation: 0.600      # m, lateral center-to-center between axles
  # 8-inch hoverboard hub motor: 203mm overall wheel+tire diameter / 2
  wheel_radius: 0.1015         # m
  # Hub motor housing width (measured, approx)
  wheel_width: 0.065           # m

  # ── Ground clearance / body height ─────────────────────────────────────────
  # AXLE_HEIGHT = 310mm (chassis_frame.scad) — axle CL above flat ground
  axle_height: 0.310           # m  (= base_footprint → base_link z-offset)

  # ── Main deck ──────────────────────────────────────────────────────────────
  # Deck: 640×220×6mm aluminum plate (chassis_frame.scad)
  deck_length: 0.640           # m (x-axis, fore-aft)
  deck_width:  0.220           # m (y-axis, lateral)
  deck_thickness: 0.006        # m  DECK_THICKNESS = 6mm

  # ── Stem ───────────────────────────────────────────────────────────────────
  # 38.1mm (1.5") EMT conduit, cut ~1050mm  (stem_battery_clamp.scad)
  stem_od:     0.0381          # m  STEM_OD = 38.1mm
  stem_height: 1.050           # m  nominal cut length

  # ── FC / IMU (MAMBA F722S) ──────────────────────────────────────────────────
  # fc_x = -50mm in SCAD (front = -X SCAD = +X ROS REP-105)
  # z = deck_thickness/2 + mounting_pad(3mm) + standoff(6mm) = 12mm
  imu_x:  0.050                # m  forward of base_link center
  imu_y:  0.000                # m
  imu_z:  0.012                # m  above base_link (pad + standoff)

  # ── Sensor head (top of stem) ───────────────────────────────────────────────
  # sensor_head.scad: ARM_R = 50mm, COL_H = 36mm
  sensor_head_arm_radius: 0.050   # m  ARM_R — radial arm length from stem CL
  sensor_head_collar_h:   0.036   # m  COL_H — collar height (RPLIDAR above ring)
  # IMX219 and RealSense tilt 10° nose-down (from sensor_head.scad note)
  camera_tilt_down_deg: 10        # degrees downward from horizontal

  # ── Mass estimates (for inertials / Gazebo) ─────────────────────────────────
  # TODO: update with scale measurements before simulation
  chassis_mass: 3.0            # kg  deck + frame + forks
  wheel_mass:   1.5            # kg  per wheel (hub motor)
  payload_mass: 2.5            # kg  Jetson + battery + electronics
