Surge Speed Controller (ATC_SPEED_*)
Signal rates: verify from bin2mat.py output | GPS limited by GPS1_RATE_MS (default 200 ms = 5 Hz)
RC Throttle Stick [−1, +1]
× CRUISE_SPEED [m/s per unit stick]
ATC_ACCEL_MAX (cmd accel limit, m/s²)
LPF: ATC_SPEED_FLTT (target speed filter, Hz)
−
LPF: ATC_SPEED_FLTE (error filter, Hz)
PID Controller FF : ATC_SPEED_FF P : ATC_SPEED_P I : ATC_SPEED_I IMAX: ATC_SPEED_IMAX D : ATC_SPEED_D LPF: ATC_SPEED_FLTD
CRUISE_THROTTLE (throttle baseline FF)
USV Surge Dynamics (thruster + hull)
Log: PIDA message (Throttle / Speed PID) Fields: Tar, Act, Err, P, I, D, FF, DFF, Dmod, SRate, Flags Output: P + I + D + FF (no Out field) Rate: ~25 Hz
THR_DesSpeed
THR msg, ~25 Hz
RCOU_C3 (PWM)
RCOU msg, ~25 Hz
GPS_Spd | GPS msg, 5 Hz
Yaw-Rate Controller (ATC_STR_RAT_*)
RC Steering Stick [−1, +1]
× ACRO_TURN_RATE [deg/s per unit stick]
ATC_STR_ACC_MAX (cmd accel limit, deg/s²)
LPF: ATC_STR_RAT_FLTT (target rate filter, Hz)
−
LPF: ATC_STR_RAT_FLTE (error filter, Hz)
PID Controller FF : ATC_STR_RAT_FF P : ATC_STR_RAT_P I : ATC_STR_RAT_I IMAX: ATC_STR_RAT_IMAX D : ATC_STR_RAT_D LPF: ATC_STR_RAT_FLTD
USV Yaw Dynamics (rudder + hull)
Log: PIDS message (Steering / Yaw-Rate PID) Fields: Tar, Act, Err, P, I, D, FF, DFF, Dmod, SRate, Flags Output: P + I + D + FF (no Out field) Rate: ~25 Hz
STER_DesTurnRate
STER msg, ~25 Hz
RCOU_C1 (PWM)
RCOU msg, ~25 Hz
STER_TurnRate | STER msg, ~25 Hz