From a51ce62996387d423786aa6d21245dcb921b6bc3 Mon Sep 17 00:00:00 2001 From: myperworld Date: Mon, 6 Oct 2025 16:05:37 +0800 Subject: [PATCH] Signed-off-by: myperworld --- v1.1/Shibo-main-TOMMY/src/main.cpp | 9 +-------- 1 file changed, 1 insertion(+), 8 deletions(-) diff --git a/v1.1/Shibo-main-TOMMY/src/main.cpp b/v1.1/Shibo-main-TOMMY/src/main.cpp index 5b51aa7..5726c24 100644 --- a/v1.1/Shibo-main-TOMMY/src/main.cpp +++ b/v1.1/Shibo-main-TOMMY/src/main.cpp @@ -87,20 +87,15 @@ const CRGB breathColor = CRGB::Blue; // 呼吸灯固定颜色:蓝色 #define pi 3.1415927 // 舵机位置限制参数 -#define SERVO_DEAD_ZONE 5 // 设置死区阈值 最小更新间隔(ms) #define LEG_HEIGHT_BASE 20 //20 腿部默认高度基准值,值越小,机身越高, 实测范围 -10(最高),52(最低) #define SERVO0_MIN 2048 // 舵机1最低位置,大腿与小腿碰到一起, 从小车正面看右手边舵机 #define SERVO1_MIN 2048 // 舵机2最低位置,大腿与小腿碰到一起, 从小车正面看左手边舵机 #define SERVO0_MAX (2048 + 12 + 8.4 * (35 + 10)) // 2438 舵机1最高 #define SERVO1_MAX (2048 - 12 - 8.4 * (35 + 10)) // 1658 舵机2最高 -// int SERVO0_ADJUEST = -50; // 舵机1位置偏移量, 正数升高,负数降低 -// int SERVO1_ADJUEST = 0; // 舵机2位置偏移量,正数降低, 负数升高 float leg_position_add = 0; // roll轴平衡控制量 int left_height; int right_height; float LegHeightDiff = 0; // 左右腿高度差 -int lastPosition0 = SERVO0_MIN; -int lastPosition1 = SERVO1_MIN; // 舵机运动参数 byte ID[2] = {1, 2}; @@ -108,7 +103,6 @@ s16 Position[2]; u16 Speed[2]; byte ACC[2]; - // 腿部高度逻辑 // #define LEG_HEIGHT_BASE 20 # 固定值 // float LegHeightDiff ; # 根据前后转向运动时,智能计算两腿高度差 @@ -929,9 +923,8 @@ void yaw_loop() // 增加灯光效果 updateBreathLED(abs(wrobot.joyx)); // 传入joyx绝对值,控制呼吸节奏 - }else{ - yaw_angle_control_coeff = map( abs(wrobot.joyx), 0, 100, 1.0, 1.5); } + float yaw_angle_control = pid_yaw_angle(yaw_target) * yaw_angle_control_coeff; // 限制yaw_angle_control上限,避免超压(按电机7.4V反推,设为12较合适) yaw_angle_control = constrain(yaw_angle_control, -12.0f, 12.0f);