之前在编写程序的时候,发现PID算法在V5中很重要,于是就狠狠学习了一下,有点经验,在平台交流分享一些。
其实在IQ的一些校准中(例如巡线),我们PD用的还是很多的,微分环节本质是根据输出偏差的趋势(这一次的误差减上一次的误差),在偏差值变得更大之前在系统中引入修正信号,即让系统的响应速度更快,调节时间更小。通俗地来说,即在误差不进一步扩大前提前增大控制作用,改善控制效果,防止系统出现大规模的震荡情况,可以有效地改善系统的动态性能。D不能单独使用,必须和P共同使用。
完整的PID控制就是比例项、积分项、微分项的作用累加。具体就是通过自整定算法算出,也可以利用经验,试凑法得出。先比例,后积分,再微分。1.ki、kd取0,令kp从小到大变化,观察系统响应情况,直至系统达到目标的速度快,且出现超调(过量输出)为止。若此时系统的误差在规定范围内且已满足要求,那么只用pd(比例调节)即可。2.如果此时系统仍有静态误差且很大(马达内部有输出电压但是无法转动),此时需要引进ki,即加入积分作用,将ki由小变大,使积分作用逐渐增强(通常ki是一个很小的正数)。静态误差会逐渐减小至消除,甚至出现负数(过冲超过目标值),此时误差经过积分累加也会使得输出变为负数,马达反转,仍会回调。如若出现反复震荡现象,则需对积分的范围有所限制。超调量变大的话,也可以适当降低kp。3.当PI调节仍然达不到要求,可以引入kd,将kd由零逐渐增加,观察超调量和系统稳定性,kd大了容易使系统产生震荡,一般也是正小数。