PID算法的原理和公式
@(PID)
PID算法原理
- P:即Proportion,输入偏差乘以比例常数
- I:即Integral,对输入偏差进行积分运算
- D:即Derivative,对输入偏差进行微分运算
输入偏差=读取值与设定值(理想值)的偏差
理论上来说PID的三个增益应始终为正。
P(Proportion)表示比例系数,这里举无人机中的PID进行理解,当无人机的测量出自身位置与目标位置存在差距时,P在这时候就等于将无人机拉回到目标位置的动力,当P太小时,“动力不足”,无人机就无法回到我们想要它到达的位置,而当P太大时,“动力过多”,当无人机回到目标位置时,无法及时的固定住位置就被“多余的动力”带着又偏移了轨道,然后不断的执行P的操作,这就形成了无人机在目标点位置附近不断的“震荡”,P越大,“震荡”的频率也就越大。D(Differentiation)表示微分,通常用于计算无人机运动的速度。正如上述我们说的,如果P过大时,无人机因为会不断的产生震荡而无法稳定在目标位置,面对这样的情况,D的作用就大大的体现出来。D在此时的作用就相当于缓冲力(与速度方向相反),D越大时,缓冲力越大,就相当于一个震荡的物体从空气中掉入液体中,因为液体的密度比空气大,所以物体受到的缓冲力相比于在空气中的缓冲力更大,震动的幅度就大大的缩小,所以物体能更快的稳定下来。
I(Integration )表示积分,具体作用时对外界干扰或者系统存在的误差进行纠正,以确保输出的准确性。
- 参数整定口诀:
参数整定找最佳, 从小到大顺序查。
先是比例后积分, 最后再把微分加。
曲线振荡很频繁, 比例度盘要放大。
曲线漂浮绕大弯, 比例度盘往小扳。
曲线偏离回复慢, 积分时间往下降。
曲线波动周期长, 积分时间再加长。
曲线振荡频率快, 先把微分降下来。
动差大来波动慢, 微分时间应加长。
理想曲线两个波, 前高后低四比一。
一看二调多分析, 调节质量不会低。
PID公式
连续PID
离散PID
- 位置式:
- 增量式
P I D = U k + K P ∗ 【 E ( k ) − E ( k − 1 ) 】 + K I ∗ E ( k ) + K D ∗ 【 E ( k ) − 2 E ( k − 1 ) + E ( k − 2 ) PID=Uk+KP*【E(k)-E(k-1)】+KI*E(k)+KD*【E(k)-2E(k-1)+E(k-2) PID=Uk+KP∗【E(k)−E(k−1)】+KI∗E(k)+KD∗【E(k)−2E(k−1)+E(k−2)
增量型 PID,是对位置型 PID 取增量,这时控制器输出的是相邻两次采样时刻所计算的位置值之差,得到的结果是增量,即在上一次的控制量的基础上需要增加(负值意味减少)控制量 - 分立式
此实现具有两个显著的优点:
- 由于在输出计算时考虑了先前的输出值,因此通过将当前开环输出值分配给第一个,控制器可以从开环条件无缝启动。
- 从连续控制器设计中获得的PID增益在其离散表示中仍然有效(如果使用足够快的采样周期)。
参考文档:
- https://blog.youkuaiyun.com/qq_36720691/article/details/97252418
- https://blog.youkuaiyun.com/qq_36720691/article/details/97252418
- https://thingsdaq.org/2022/04/07/digital-pid-controller/