修复上电云台正方向问题,以及初步调好了底盘跟随PID,以及小陀螺模式下的运动偏移问题。
This commit is contained in:
@@ -12,6 +12,8 @@
|
||||
#define PITCH_GM6020_POSITION_LOWER_LIMIT 3990 // Pitch 轴编码器值下限(云台抬起方向)
|
||||
#define PITCH_GM6020_POSITION_UPPER_LIMIT 2220 // Pitch 轴编码器值上限(云台压低方向)
|
||||
#define PITCH_GM6020_ENCODER_ZERO 3245 // Pitch 轴编码器零位
|
||||
#define YAW_GM6020_ENCODER_ZERO 4440 // Yaw 轴编码器零位(机械正前方,0~8191)
|
||||
#define CHASSIS_SPIN_FEEDFORWARD_K 0.008f // 小陀螺解算时延前馈补偿系数(s)
|
||||
|
||||
#define GIMBAL_FRICTION_WHEEL_SPEED 5500.0f // 摩擦轮转速(RPM)
|
||||
#define GIMBAL_RAMMER_SPEED -5400.0f// 拨弹盘转速(RPM,负向发射)
|
||||
@@ -31,16 +33,17 @@
|
||||
* (GIMBAL_YAW_DETECT 见下),无需人工猜;
|
||||
* - 单位:角度环 误差° -> 目标角速度°/s;速度环 误差°/s -> 电压。
|
||||
* 调参顺序:先速度环(点动不振荡),再位置环(刚性)——见移植 README §8.1 */
|
||||
#define GIMBAL_YAW_ANGLE_KP 15.0f // ° -> °/s:10° 误差给 150°/s
|
||||
#define GIMBAL_YAW_ANGLE_KP 20.0f // ° -> °/s:10° 误差给 150°/s
|
||||
#define GIMBAL_YAW_ANGLE_KI 0.0f
|
||||
#define GIMBAL_YAW_ANGLE_KD 0.0f // 速度环本身即微分,不再叠加
|
||||
#define GIMBAL_YAW_ANGLE_EK_DEADBAND 0.05f // 误差死区(°),QEKF 噪声小可用窄死区
|
||||
#define GIMBAL_YAW_ANGLE_OUT_LIMIT 360.0f // 目标角速度上限(°/s)
|
||||
|
||||
#define GIMBAL_YAW_SPEED_KP 60.0f // °/s -> 电压:100°/s 误差给 6000(约 24% 满电压)
|
||||
#define GIMBAL_YAW_SPEED_KP 85.0f // °/s -> 电压:100°/s 误差给 6000(约 24% 满电压)
|
||||
#define GIMBAL_YAW_SPEED_KI 0.0f // 稳定后可回填 0.5~2 消速度稳态差
|
||||
#define GIMBAL_YAW_SPEED_KD 0.0f // 陀螺速率反馈噪声小,先不用 D
|
||||
#define GIMBAL_YAW_SPEED_OUT_LIMIT 25000.0f// GM6020 电压限幅
|
||||
#define GIMBAL_YAW_SPIN_FEEDFORWARD_K 24.0f // 小陀螺底盘自旋解耦前馈系数(RPM->电压,通常15~35)
|
||||
|
||||
/* Yaw 装配符号自动检测:上电自检时给 Yaw 电机一个正向小电压脉冲,
|
||||
* 看陀螺 z 轴往哪边转——脉冲引起同向转动则符号 +1,反向则 -1。
|
||||
@@ -91,10 +94,10 @@
|
||||
* err = wrap180(云台yaw - 底盘yaw)
|
||||
* 不再依赖底盘侧 GM6020(0x205) 反馈,皮带虚位不在环内,无基准锁定时序坑。
|
||||
* 两板 INS 各自上电零点任意,但差值只随相对转动变化,天然正确 */
|
||||
#define CHASSIS_FOLLOW_KP 0.4f // w 量纲/°:10° 偏差给 w=4
|
||||
#define CHASSIS_FOLLOW_KP 0.4678f // w 量纲/°:10° 偏差给 w=4
|
||||
#define CHASSIS_FOLLOW_KI 0.0f // 调试期 0,同旧教训(积分残留)
|
||||
#define CHASSIS_FOLLOW_KD 0.0f
|
||||
#define CHASSIS_FOLLOW_OUT_LIMIT 4.0f // 输出限幅(介于慢/快陀螺之间)
|
||||
#define CHASSIS_FOLLOW_KD 24.452f
|
||||
#define CHASSIS_FOLLOW_OUT_LIMIT 5.5f // 输出限幅(介于慢/快陀螺之间)
|
||||
#define CHASSIS_FOLLOW_DEADBAND 1.0f // 误差死区(°)
|
||||
|
||||
/* 跟随符号全自动综合:云台自检(0x1A9 flags)下发编码器 tick 增向,
|
||||
@@ -125,10 +128,10 @@
|
||||
#define DEBUG_SHOOT_WITHOUT_REFEREE 1 // 1=无裁判系统时也允许开摩擦轮(台架调试用),比赛请改 0
|
||||
#define GIMBAL_RAMMER_INSTALLED 0 // 1=拨弹 M2006 已安装;0=暂缺,不参与掉线判定
|
||||
|
||||
/* 1=调试模式:把 CAN 掉线警告音替换成循环播放的旋律(台架调试时避免连续滴滴声
|
||||
* 干扰)。红灯常亮与其它灯语完全不变,仍能看出是哪台设备掉线;比赛请改 0。
|
||||
* 旋律音符表见 modules/BUZZER/buzzer.c 的 buzzer_melody[] */
|
||||
/* 1=把 CAN 掉线警告音替换成循环播放的旋律《你》(RM动画片尾曲),报警时播放;
|
||||
* 旋律音符表见 modules/dev/buzzer.c 的 buzzer_melody[] */
|
||||
#define DEBUG_BUZZER_MELODY 1
|
||||
#define BUZZER_MELODY_SPEED_DIV 1 // 旋律降速分频(默认1:每步100ms精准匹配原版带吐音断音节拍)
|
||||
|
||||
/* ============================ 掉线检测 ============================ */
|
||||
#define DEVICE_OFFLINE_TIME_MS 100 // CAN 设备/裁判系统掉线判定时间
|
||||
|
||||
Reference in New Issue
Block a user