PID算法介绍
在过程控制中,按偏差的比例(P)、积分(I)和微分(D)进行控制的PID控制器(亦称PID调节器)是应用最为广泛的一种自动控制器。它具有原理简单,易于实现,适用面广,控制参数相互独立,参数的选定比较简单等优点;而且在理论上可以证明,对于过程控制的典型对象──“一阶滞后+纯滞后”与“二阶滞后+纯滞后”的控制对象,PID控制器是一种最优控制。
位置式 PID 算法
- e(k): 用户设定的值(目标值) - 控制对象的当前的状态值
- 比例P : e(k)
- 积分I : ∑e(i) 误差的累加
- 微分D : e(k) - e(k-1) 这次误差-上次误差
P算法讲解
P算法的意思是比例,如果我们只通过调节比例来达到我们预期的输出结果,这种就是P算法。例如当小车处于起点时,距离终点是100米。此时当前状态(u)是0米,误差(e)是100M。假设Kp为0.1,通过P公式计算出来的是速度,那么当前速度就是10M/s,此时执行器给小车一个10M/s的速度,在很小的时间内执行完后反馈回当前的状态(即当前距离终点的距离)。如此循环反复,不断更新小车的速度,不断获取最新的小车状态,那么等小车到终点的时候,速度也恰好为0M/s。
PI算法讲解
I算法的意思是每次误差的累加,如果我们在原有的P算法基础上添加上I算法,那么我们得到的就是PI算法。PI算法是加P的计算结果以及I的计算结果累加,最后输入到执行器中。例如当无人机位于地面上时,如果想要飞到高于地面100米时悬停,我们需要为它提供对应的升力(升力在这里可以用电机的转速来代替)。在本例子中,当前状态(u)是0米,误差(e)是100米。假设Kp为0.1,P公式算出是10rpm,I公式算出是100rpm,一共得到110rpm。将转速交给执行器,无人机的电机转速改变,飞行高度上上升,更新当前飞行高度。如此循环反复利用公式计算,最终无人机也能正确悬停在对应的高度。
PID算法讲解
D算法的意思是俩次误差的差值乘Kd,这是一个负数。这是为了避免在PI算法的基础上,通过公式得到了一个很大的值,导致初始值过大而带来的不稳定性。通过D算法我们可以根据需要适当的减小初始值的大小。根据需要,我们调节三个可变参数的值,最终实现我们需要的一个稳定的状态。
PID优化方法
抗积分饱和
如果系统总是存在统一的方向偏差,就可能无限累加而进行饱和,极大影响系统性能
所谓积分饱和就是指系统存在一个方向的偏差,PID控制器的输出由于积分作用的不断累加而扩大,从而导致控制器输出不断增大超出正常范围进入饱和区。当系统出现反响的偏差时,需要首先从饱和区退出,而不能对反向的偏差进行快速的响应。
- 积分分离或者称为去积分算法,其基本思路是当被控量与设定值偏差较大时,取消积分作用;当被控量接近给定值时,引入积分控制,以消除静差,提高精度。
- 积分限幅,将积分累计量限制上下限,避免积分累计量超过限制值;
- 微分先行,微分控制作用是与偏差的变化速度成正比的,不论设定值或测量值的突然变化,微分控制作用十分猛烈。因此,采用通常的PD或PID控制算法时,设定值的调整必须比较和缓。为了不受这种限制,可以只对测量值起微分作用,而测量值一般是不会突然变化的