看群上很多朋友不了解PID算法,我以前做过平衡车,也算是对PID有一定的了解
以我的理解分享给大家,如果有不对的地方,欢迎各位的指正,三人行,必有我师,共同学习!!
这是我做的平衡车,使用了PID算法,PID完全是我从零开始调整的
PID整定:
以上是个人的理解,下面摘抄一段MWC飞控的PID说明(naze32的始祖就是mwc)
P - 纠正飞行姿态回到初始平衡位置的力量大小
P值过高,在飞行器回中时,会修正过量,使飞行器需要再次反向修正补偿,这会导致飞行器来回晃动直到重新平衡
或者持续晃动并增大幅度直到失去平衡
P值过低,飞行器将会开始偏移,飞行器变得不稳定,当方向改变时,修正的力度变的更小
特技飞行:需要略高的P值
普通飞行:需要略低的P值
I值 - 对初始偏差值进行采样和取平均值的时间周期长度
增大I,会增加稳定保持在平衡位置的能力和减小漂移,但同时会降低回中的反应速度
(降低P的效果)
减小I,会增快对变化的反应速度,但同时会增大漂移和降低保持平衡的能力
(增加P的效果)
特技飞行:需要略低的I值
普通飞行:需要略高的I值
D值 - 飞行器回到平衡的速度
增大D值(即减小数值),更快的回中速度,同时增加修正过量和抖动的几率
(增加P值的效果)
减小D值,回中速度会变慢,同时导致回中过程的抖动(不同于修正过量的抖动)
(降低P值的效果)
特技飞行:增大D(即减小数字)
普通飞行:减小D(即增大数字)
|