发表于:2003-05-20 18:27:00
楼主
我是新手,现在做一个关于PID控制的东东,参考论坛里一位前辈的文章,自己写了个不完全微分的PID算法,可是我想也许会有问题,放上来请大家指正一下,有错误的话,希望各位前辈不吝键盘啊
float PID(float feedback, float point)
{
float Kp,Ki,Kd,Ka;
float dwerror,control;
static float error,sumerror,lastcontrol;
dwerror=point-feedback-error;
error=point-feedback;
sumerror+=error;
control=Kp*error+Ki*sumerror+Kd*dwerror+Ka*lastcontrol;
lastcontrol=control;
return control;
}
point为预期的目标值,feedback为反馈值,用的是位置式算法。
p.s:关于PID算法,我现在拿不准是用不完全微分的好,还是积分分离式的好,一并请前辈们赐教