mirror of
https://gitee.com/dlmu-cone/half-steering-basic-framework
synced 2026-10-23 17:42:20 +08:00
小陀螺家庭专业版
This commit is contained in:
@@ -87,9 +87,17 @@ void RobotCMDInit()
|
||||
static void CalcOffsetAngle()
|
||||
{
|
||||
static float last_offset_angle = 0;
|
||||
const float smooth_factor = 0.3f; // 平滑因子,0~1之间,值越大平滑效果越明显
|
||||
//const float smooth_factor = 0.3f; // 平滑因子,
|
||||
|
||||
const float deadband = 3.0f; // 死区值
|
||||
float smooth_factor;
|
||||
// 小陀螺模式下使用更大的平滑因子,让offset_angle更快跟随云台
|
||||
if (chassis_cmd_send.chassis_mode == CHASSIS_ROTATE) {
|
||||
smooth_factor = 0.9f; // 快速响应
|
||||
} else {
|
||||
smooth_factor = 0.3f; // 平滑过渡 0~1之间,值越大平滑效果越明显
|
||||
}
|
||||
|
||||
//const float deadband = 3.0f; // 死区值
|
||||
// 新增:跟踪模式变化,用于重置基准角度
|
||||
// static chassis_mode_e last_chassis_mode = CHASSIS_NO_FOLLOW;//
|
||||
//
|
||||
@@ -111,14 +119,14 @@ static void CalcOffsetAngle()
|
||||
else if (angle_diff < -180.0f)
|
||||
new_offset += 360.0f;
|
||||
/////
|
||||
// 应用死区
|
||||
if (fabs(new_offset) < deadband) {
|
||||
new_offset = 0.0f;
|
||||
} else if (new_offset > 0) {
|
||||
new_offset -= deadband;
|
||||
} else {
|
||||
new_offset += deadband;
|
||||
}//////
|
||||
// // 应用死区
|
||||
// if (fabs(new_offset) < deadband) {
|
||||
// new_offset = 0.0f;
|
||||
// } else if (new_offset > 0) {
|
||||
// new_offset -= deadband;
|
||||
// } else {
|
||||
// new_offset += deadband;
|
||||
// }//////
|
||||
chassis_cmd_send.offset_angle = last_offset_angle *(1.0f - smooth_factor) + new_offset * smooth_factor;
|
||||
last_offset_angle = chassis_cmd_send.offset_angle;
|
||||
// // 更新模式状态
|
||||
|
||||
Reference in New Issue
Block a user