tank_driver:
  ros__parameters:
    # Serial interface
    serial_port: /dev/ttyUSB_tank
    baud_rate: 115200

    # Drive mode: "tracked" | "4wd" | "2wd"
    # tracked — tank kinematics with track-slip compensation (default)
    # 4wd     — skid-steer, 4 ESC channels, no slip compensation
    # 2wd     — standard diff-drive, 2 ESC channels, no slip compensation
    drive_mode: tracked

    # Physical parameters
    track_width: 0.30         # left↔right track centre distance (m)
    wheelbase: 0.32           # front↔rear sprocket distance (m) — for reference

    # Speed limits
    max_speed_ms: 1.5         # m/s at full ESC deflection
    max_linear_vel: 1.0       # clamp on cmd_vel linear.x (m/s)
    max_angular_vel: 2.5      # clamp on cmd_vel angular.z (rad/s)

    # Track slip compensation (tracked mode only)
    # 0.0 = no slip (rigid wheel / high-traction surface)
    # 0.1 = light slip (rubber tracks on concrete)
    # 0.3 = moderate slip (rubber tracks on grass/gravel)  ← default
    # 0.5 = heavy slip (metal tracks on mud)
    slip_factor: 0.3

    # ESC PWM settings
    pwm_neutral_us: 1500      # neutral/brake pulse width (µs)
    pwm_range_us: 500         # half-range from neutral → [1000..2000] µs

    # Timing
    watchdog_timeout_s: 0.3   # deadman: shorter than rover for tracked safety
    heartbeat_period_s: 0.2
    control_rate: 50.0        # Hz
