fix: 修复IMU采样频率不匹配导致yaw角积分偏小4倍的问题

根因:imu_init(200) 声明200Hz,但imu_update实际在50Hz任务中调用,
Mahony积分dt差4倍,导致转90度只测出22度。
修复:imu_update移至10ms任务(100Hz),传感器采集与控制频率对齐。

同时将任务周期全部参数化:
- Task.h 统一定义 TASK_10MS/20MS/50MS_FREQ_HZ
- 各子系统init改为传入频率(Hz),内部算周期(dt)
- PIT定时器周期由存储的dt自动计算,消除硬编码
This commit is contained in:
2026-06-07 20:10:05 +08:00
parent 49b0dc637c
commit 7260fe9fba
4 changed files with 70 additions and 32 deletions
+3
View File
@@ -158,6 +158,9 @@ void SwitchToAutoMode()
//设定基础直行速度
motor_speed_base=AUTO_MODE_BASE_SPEED;
//清理子任务标志
position_turn_right_90_runing=0;
/* 开启控制任务 */
motor_control_task_enable=1;
angle_control_task_enable=1;