Signed-off-by: myperworld <myperworld@126.com>

This commit is contained in:
myperworld committed 2025-10-06 16:05:37 +08:00
1 parent 44a44cf4a8
commit a51ce62996
1 file changed
+1 -8
+1 -8
View File
@@ -87,20 +87,15 @@ const CRGB breathColor = CRGB::Blue; // 呼吸灯固定颜色:蓝色
#define pi 3.1415927 #define pi 3.1415927
// 舵机位置限制参数 // 舵机位置限制参数
#define SERVO_DEAD_ZONE 5 // 设置死区阈值 最小更新间隔(ms)
#define LEG_HEIGHT_BASE 20 //20 腿部默认高度基准值,值越小,机身越高, 实测范围 -10(最高),52(最低) #define LEG_HEIGHT_BASE 20 //20 腿部默认高度基准值,值越小,机身越高, 实测范围 -10(最高),52(最低)
#define SERVO0_MIN 2048 // 舵机1最低位置,大腿与小腿碰到一起, 从小车正面看右手边舵机 #define SERVO0_MIN 2048 // 舵机1最低位置,大腿与小腿碰到一起, 从小车正面看右手边舵机
#define SERVO1_MIN 2048 // 舵机2最低位置,大腿与小腿碰到一起, 从小车正面看左手边舵机 #define SERVO1_MIN 2048 // 舵机2最低位置,大腿与小腿碰到一起, 从小车正面看左手边舵机
#define SERVO0_MAX (2048 + 12 + 8.4 * (35 + 10)) // 2438 舵机1最高 #define SERVO0_MAX (2048 + 12 + 8.4 * (35 + 10)) // 2438 舵机1最高
#define SERVO1_MAX (2048 - 12 - 8.4 * (35 + 10)) // 1658 舵机2最高 #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轴平衡控制量 float leg_position_add = 0; // roll轴平衡控制量
int left_height; int left_height;
int right_height; int right_height;
float LegHeightDiff = 0; // 左右腿高度差 float LegHeightDiff = 0; // 左右腿高度差
int lastPosition0 = SERVO0_MIN;
int lastPosition1 = SERVO1_MIN;
// 舵机运动参数 // 舵机运动参数
byte ID[2] = {1, 2}; byte ID[2] = {1, 2};
@@ -108,7 +103,6 @@ s16 Position[2];
u16 Speed[2]; u16 Speed[2];
byte ACC[2]; byte ACC[2];
// 腿部高度逻辑 // 腿部高度逻辑
// #define LEG_HEIGHT_BASE 20 # 固定值 // #define LEG_HEIGHT_BASE 20 # 固定值
// float LegHeightDiff ; # 根据前后转向运动时,智能计算两腿高度差 // float LegHeightDiff ; # 根据前后转向运动时,智能计算两腿高度差
@@ -929,9 +923,8 @@ void yaw_loop()
// 增加灯光效果 // 增加灯光效果
updateBreathLED(abs(wrobot.joyx)); // 传入joyx绝对值,控制呼吸节奏 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; float yaw_angle_control = pid_yaw_angle(yaw_target) * yaw_angle_control_coeff;
// 限制yaw_angle_control上限,避免超压(按电机7.4V反推,设为12较合适) // 限制yaw_angle_control上限,避免超压(按电机7.4V反推,设为12较合适)
yaw_angle_control = constrain(yaw_angle_control, -12.0f, 12.0f); yaw_angle_control = constrain(yaw_angle_control, -12.0f, 12.0f);