From 987d7c9b6858d653793b94fc661b6410bc588c97 Mon Sep 17 00:00:00 2001 From: kai <1797003616@qq.com> Date: Thu, 9 May 2024 21:25:41 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A4=8D=E4=BD=8D=E5=92=8C=E6=80=A5=E5=81=9C?= =?UTF-8?q?=E6=A8=A1=E5=BC=8F=E4=B8=8B=E7=9B=AE=E6=A0=87=E9=80=9F=E5=BA=A6?= =?UTF-8?q?=E7=BD=AE0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- application/chassis/balance.c | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/application/chassis/balance.c b/application/chassis/balance.c index d8fbb2e..55218c7 100644 --- a/application/chassis/balance.c +++ b/application/chassis/balance.c @@ -113,7 +113,7 @@ void BalanceInit() // 腿长控制 PID_Init_Config_s leg_length_pid_conf = { .Kp = 1200, - .Kd = 200, + .Kd = 300, .Ki = 0, .MaxOut = 60, .DeadBand = 0.0001f, @@ -126,7 +126,7 @@ void BalanceInit() // roll轴补偿 PID_Init_Config_s roll_compensate_pid_conf = { .Kp = 0.0008f, - .Kd = 0.0001f, + .Kd = 0.0002f, .Ki = 0.0f, .MaxOut = 0.05, .DeadBand = 0.001f, @@ -162,7 +162,7 @@ void BalanceInit() // 抗劈叉 PID_Init_Config_s anti_crash_pid_conf = { .Kp = 15, - .Kd = 1, + .Kd = 2, .Ki = 0.0, .MaxOut = 30, .DeadBand = 0.001f, @@ -227,6 +227,8 @@ static void ResetChassis() { EnableAllMotor(); // 打开全部电机,关节复位到起始角度,驱动电机响应速度输入以从墙角或固连中脱身 + // 目标速度置0 + chassis.target_v = 0; // 复位时清空距离和腿长积累量,保证顺利站起 chassis.dist = chassis.target_dist = 0; l_side.target_len = r_side.target_len = 0.12; @@ -279,6 +281,8 @@ static void WokingStateSet() } else if (chassis_cmd_recv.chassis_mode == CHASSIS_ZERO_FORCE) // 未收到遥控器和云台指令底盘进入急停 { + // 目标速度置0 + chassis.target_v = 0; // 清空腿长和距离 l_side.target_len = r_side.target_len = 0.12; chassis.dist = chassis.target_dist = 0;