This commit is contained in:
2026-03-27 23:32:15 +08:00
parent 38258ca6e5
commit 65325d78c8
2 changed files with 8 additions and 8 deletions

View File

@@ -13,9 +13,9 @@
#define LADRC_CONTROL_DT_S 0.01f #define LADRC_CONTROL_DT_S 0.01f
#define LADRC_RPM_FILTER_ALPHA 0.30f #define LADRC_RPM_FILTER_ALPHA 0.30f
#define LADRC_DEFAULT_WC 25.0f #define LADRC_DEFAULT_WC 12.0f
#define LADRC_DEFAULT_WO 60.0f #define LADRC_DEFAULT_WO 25.0f
#define LADRC_DEFAULT_B0 0.20f #define LADRC_DEFAULT_B0 0.40f
#define LADRC_DEFAULT_OUT_MAX 1000.0f #define LADRC_DEFAULT_OUT_MAX 1000.0f
/* ================== 内部辅助函数 ================== */ /* ================== 内部辅助函数 ================== */

View File

@@ -156,7 +156,7 @@ void Set_Motor_Output(Motor_ID_t id, int16_t control_out)
hw_command = -hw_command; hw_command = -hw_command;
} }
forward = (hw_command >= 0); forward = (hw_command < 0);
pwm_val = Motor_ClampAbsToPwm(hw_command); pwm_val = Motor_ClampAbsToPwm(hw_command);
switch (id) switch (id)
@@ -261,10 +261,10 @@ void Motor_Update_RPM(float dt_s)
s_last_count[MOTOR_RR] = curr_count_rr; s_last_count[MOTOR_RR] = curr_count_rr;
/* 左侧输入镜像修正:让“车体前进”统一表现为正脉冲 / 正 RPM。 */ /* 左侧输入镜像修正:让“车体前进”统一表现为正脉冲 / 正 RPM。 */
// delta[MOTOR_FL] = (int16_t)(-delta[MOTOR_FL]); delta[MOTOR_FL] = (int16_t)(-delta[MOTOR_FL]);
// delta[MOTOR_RL] = (int16_t)(-delta[MOTOR_RL]); delta[MOTOR_RL] = (int16_t)(-delta[MOTOR_RL]);
delta[MOTOR_FR] = (int16_t)(-delta[MOTOR_FR]); // delta[MOTOR_FR] = (int16_t)(-delta[MOTOR_FR]);
delta[MOTOR_RR] = (int16_t)(-delta[MOTOR_RR]); // delta[MOTOR_RR] = (int16_t)(-delta[MOTOR_RR]);
/* 用 32 位内部累加,避免偶发高速度时 16 位回绕。 */ /* 用 32 位内部累加,避免偶发高速度时 16 位回绕。 */
s_odom_acc_ticks[MOTOR_FL] += delta[MOTOR_FL]; s_odom_acc_ticks[MOTOR_FL] += delta[MOTOR_FL];
s_odom_acc_ticks[MOTOR_RL] += delta[MOTOR_RL]; s_odom_acc_ticks[MOTOR_RL] += delta[MOTOR_RL];