/******************************************************************************* * File Name : motion_config.h * Description : Tunable parameters for mower motion controller * Created on : 2025-11-22 *******************************************************************************/ #ifndef FML_MOTION_CONFIG_H_ #define FML_MOTION_CONFIG_H_ #include "HIDO_TypeDef.h" /* 控制回路期望频率 (Hz) */ #define MC_CFG_CONTROL_HZ (75.0f) /* 最大前进 / 后退速度 (m/s) */ #define MC_CFG_MAX_FORWARD_MPS (0.60f) #define MC_CFG_MAX_REVERSE_MPS (0.20f) /* 转向角速度上限 (rad/s) */ #define MC_CFG_MAX_TURN_RATE_RAD (0.80f) /* 巡航基础速度与最低跟随速度 (m/s) */ #define MC_CFG_BASE_SPEED_MPS (0.45f) #define MC_CFG_MIN_FOLLOW_SPEED_MPS (0.08f) /* Pure pursuit lookahead 范围 (m) */ #define MC_CFG_LOOKAHEAD_MIN_M (0.35f) #define MC_CFG_LOOKAHEAD_MAX_M (1.20f) /* 起点/终点距离与航向容差 (m / rad) */ #define MC_CFG_START_POS_TOL_M (0.25f) #define MC_CFG_START_HEADING_TOL_RAD (0.20f) #define MC_CFG_GOAL_TOL_M (0.30f) /* 控制增益:航向 P/D、横向 P,以及误差→降速的比例 */ #define MC_CFG_HEADING_KP (1.6f) #define MC_CFG_HEADING_KD (0.25f) #define MC_CFG_XTRACK_KP (-1.0f) #define MC_CFG_HEADING_SPEED_SCALE (0.60f) #define MC_CFG_XTRACK_SPEED_SCALE (0.40f) /* GGA 原点经纬高(deg/m),供 ENU 转换使用 */ #define MC_CFG_ORIGIN_LAT_DEG (39.831706) #define MC_CFG_ORIGIN_LON_DEG (116.279282) #define MC_CFG_ORIGIN_ALT_M (4) /* PWM 中值与 span,用于 forward/turn → 脉宽映射 */ #define MC_CFG_PWM_CENTER_US (1500U) #define MC_CFG_PWM_SPAN_US (500U) /******************************************************************************* * 校准参数(基于实测数据,日期:2025-12-05) * 前向速度模型:v = MC_CFG_FORWARD_K × (1500 - pwm) + MC_CFG_FORWARD_BIAS * 说明:1000 PWM = 最大前进,1500 PWM = 停止,2000 PWM = 最大后退 *******************************************************************************/ #define MC_CFG_FORWARD_K (0.00196f) // 速度系数 (m/s per PWM) #define MC_CFG_FORWARD_BIAS (-0.077f) // 速度偏置 (m/s) #define MC_CFG_FORWARD_DEADZONE_PWM (40) // 前进死区阈值 /* 转向角速度模型:ω = MC_CFG_STEERING_K × (1500 - pwm) for left/right */ #define MC_CFG_STEERING_K_LEFT (0.00206f) // 左转系数 (rad/s per PWM, 1000 PWM -> ~1.03 rad/s -> ~59 deg/s) #define MC_CFG_STEERING_K_RIGHT (0.00201f) // 右转系数 (rad/s per PWM, 2000 PWM -> ~1.00 rad/s -> ~57 deg/s) #define MC_CFG_STEERING_TRIM (10) // 转向补偿值(修正左偏) /* 基于校准数据更新速度限制 */ #undef MC_CFG_MAX_FORWARD_MPS #define MC_CFG_MAX_FORWARD_MPS (0.56f) // 实测最大前进速度 (1000 PWM) #endif /* FML_MOTION_CONFIG_H */