pid是我学习的第一个控制算法,是最基础的也是最重要的控制算法。
通过输入系统当前的实际值和系统期望到达的目标值,输出和误差相关的一个数量值,一般作为发送给电机的电流值或电压值,通过闭环实时改变反馈,实现对系统的控制效果。
pid的输出由三个方面组成,首先是比例控制proportion,p值与误差直接正相关,误差大了就增强反馈,误差小了就减弱反馈,是一个简单却有效的负反馈控制器。
其次是积分控制integrate,我们从系统运行初始就对误差进行累积,i值与误差累加和正相关,加入这一部分是考虑到这样一种情况,当纯p控制到系统很接近误差值的时候,相应的输出值也变得很小,而系统本身存在功率损耗,如电机存在阻尼,此时二者达到平衡,实际值和目标值仍不相等,但控制器的输出值却为零了,这种状态称为稳态误差,i部分输出的加入就是解决这一问题的,在p控制以外输出误差累积值。
最后是微分控制differential,记录下用于上次计算的系统误差值,求出误差的误差,即误差的变化率。这一项输出依据误差的误差进行控制,相当于起到了一个预测计算的作用,有助于加快系统响应,优化曲线。
在实际应用中,考虑到积分项的相对不可控,我们通常加入积分限幅和总输出限幅的设计。
标签:误差,控制器,输出,系统,控制算法,pid
From: https://www.cnblogs.com/tc769394/p/17390491.html