请教控制算法
DiffNick = MesswertNick - (StickNick - GPS_Nick); // 当前值-期望值
if(IntegralFaktor) SummeNick += IntegralNick * IntegralFaktor - (StickNick - GPS_Nick); // I-Anteil bei Winkelregelung
elseSummeNick += DiffNick; // I-Anteil bei HH
if(SummeNick >16000) SummeNick =16000;//限幅
if(SummeNick < -16000) SummeNick = -16000;
pd_ergebnis = DiffNick + Ki * SummeNick; // PI-Regler f黵 Nick//
// Motor Vorn
tmp_int = (long)((long)Parameter_DynamicStability * (long)(GasMischanteil + abs(GierMischanteil)/2)) / 64;
if(pd_ergebnis >tmp_int) pd_ergebnis =tmp_int; //限幅
if(pd_ergebnis < -tmp_int) pd_ergebnis = -tmp_int;
motorwert = GasMischanteil + pd_ergebnis + GierMischanteil;
这段代码着实不解,不知道这属于什么控制,PIorPD?
在这段代码值之前,已经有了如下的代码:
//从角度(陀螺积分)和角速度(陀螺仪信号)中,计算控制反馈,PI控制了
if(Looping_Nick) MesswertNick = MesswertNick * GyroFaktor;
else MesswertNick = IntegralNick * IntegralFaktor + MesswertNick * GyroFaktor;
if(Looping_Roll) MesswertRoll = MesswertRoll * GyroFaktor;
else MesswertRoll = IntegralRoll * IntegralFaktor + MesswertRoll * GyroFaktor;
MesswertGier = MesswertGier * (2 * GyroFaktor) + Integral_Gier * IntegralFaktor / 2;
望大神帮忙解读一下第一段代码,若是第二段代码我的理解也有误,望指正。
还有高度调节控制部分,也希望高手指点指点~~~ 望高人指点呀!!!!!
页:
[1]