舵机pid方案采取分段控制,分为两段直道pid和弯道pid,通过实际测试,刚刚使用这个方案速度就能达到,直道2.7,弯道2.1,没有使用刹车系统
部分代码如下
if(curve_flag) //弯道识别标志
{
curve_flag = 0;
//弯道pid参数
kp = 7.6524;
kd = 3.88259;
//电机差速系数
k = 0.0016525;
pwm_duty=(int)(kp*error+kd*(error-last_error));
speed_contorl(2.1 + k*pwm_duty, 2.1 - k*pwm_duty,PID_ON);
}
else
{
//直道识别(不是弯道就是直道,弯道识别高)
//直道pid
kp = 1.524;
kd = 0.98259;
//电机差速系数
k = 0.0016525;
pwm_duty=(int)(kp*error+kd*(error-last_error));
speed_contorl(2.8 + k*pwm_duty, 2.8 - k*pwm_duty,PID_ON);
}