PID函数是什么,怎么用?

PID函数是什么,怎么用?

1 个赞

简单来说PID是指按偏差的比例(P)、积分(I)和微分(D)进行控制的一种算法,具体定义可查询百度和维基百科等各类文档。VEX项目中常用于对电机进行更精准的控制,此处以V5电机控制为例简单说明:如果电机目标角度值t=3600度,电机从0度开始运动,在一个单位时间内电机转动的角度值为t1,则电机此时距离目标角度的偏差∆t = t - t1,电机的速度设为s, 那么s=Kp * ∆t ,此处Kp为一个比例常量,需要通过不断调试确定最终值(也就是取值由自己测试决定),该公式即为P(比例)控制,即通过电机运行过程中随着与目标角度值的偏差不断变化,电机速度也会随之变化,最终实现电机准确到达3600度,电机停止。实际应用中,P控制不一定就能控制到足够精准,此时就需要相应增加I(积分)控制,甚至D(微分)控制,因此,实际应用时并不是比例(P)、积分(I)和微分(D)一定都要有而是根据具体应用场景灵活使用。I(积分)控制,即针对每次偏差的累积值=∆t1+∆t2+…+∆t(i)进行控制, D(微分)控制,即针对当前偏差和上一次偏差的差值=∆t(i)-∆t(i-1)进行控制,完整PID表达式即为s=Kp * ∆t + Ki * (∆t1+∆t2+…+∆t(i)) + Kd * (∆t(i)-∆t(i-1)).表达式中Kp,Ki,Kd即为对应的比例,积分,微分常量,需要通过不断测试调整确认最终值,实现最佳的控制效果。
关于PID的内容较多,VEX英文论坛也有很多应用实例,有很好的演示和讨论内容,以下链接供参考:

3 个赞