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:
@@ -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;
|
||||
|
||||
Reference in New Issue
Block a user