看了看代码 在直立速度计算的那块
speed_Start = angle * P_ANGLE + angle_dot * D_ANGLE ; //直立时所要的速度
这个里面虽然有P和D的参数但是貌似没找到PD处理的代码啊,难道是就这一句话就可以进行PD运算了么?
PID算法不该是类似于这样的么?
int IncPIDCalc(int NextPoint)
{
register int iError, iIncpid;
//当前误差
iError = sptr->SetPoint - NextPoint;
//增量计算
iIncpid = sptr-> roportion * iError //E[k]项
- sptr->Integral * sptr->LastError //E[k-1]项
+ sptr->Derivative * sptr-> revError; //E[k-2]项
//存储误差,用于下次计算
sptr-> revError = sptr->LastError;
sptr->LastError = iError;
//返回增量值
return(iIncpid);
}
还是说 speed_Start = angle * P_ANGLE + angle_dot * D_ANGLE ; 只是进行一个简单的运算呢?求教啊
   |