时间:2025-04-07 22:48
人气:
作者:admin

位置式PID公式

增量式PID公式
PID适用范围: 线性时不变低阶(二阶及以下)控制系统,当然可以通过一些优化来一定程度上解决非线性和将高阶系统简化至二阶以下
u(k) = P * error_now + I * error_sum + D *(error_now- error_last)
三个参数的简单理解
三个环节的作用
∆u(k) = u(k) - u(k-1) = P * [e(k) - e(k-1)] + I * e(k) + D * [e(k) - 2e(k-1) + e(k-2)]
u(k) = u(k - 1) + ∆u(k)
串级PID的参数整定一般遵循从内到外,先整定内环PID的参数,再整定外环PID的参数


为了增强PID的控制效果衍生很多的PID,常见的有如下:
积分分离 或 积分限幅:当系统启动或结束时这种目标值短时间大幅变化时(例如小车启动),系统会有很大的偏差(error),会导致积分项过度积累,造成较大的超调和长时间波动。
所以针对这种目标值短时间大幅变化的场景,我们可以使用积分分离或者积分限幅对PID进行优化
积分分离,当error过大时,积分项(I)设置为0,其他情况才使用积分项进行运算
积分限幅,对积分项(I)的值做一个上限(防止过冲)或下限(消除积分死区)
消除积分死区:当设置的目标输出(如:pwm输出)离散区间过小时,PID计算时error可能会出现小于0(死区)的情况,导致积分项失效
两种解决方法:
变速PID: 动态改变积分项,偏差越大,积分越慢,反之则越快。
不完全微分: 一般作为error反馈的传感器会出现高频噪声,而我们的离散微分项 (error(k) - error(k-1)) 就很容易受到高频噪声的干扰,所以我们需要使用滤波算法(一阶低通滤波器)来对微分项进行滤波,消除高频干扰
不完全微分: 消除高频干扰,不完全微分项公式 [D * ((1-a) * error(k) - a * error(k-1))],通过修改a来修改截止频率,由公式易得,a越大,截止频率越小,低通滤波效果越好
微分先行PID: 只对被控量微分,不对误差(error)微分,适合于给定值频繁变化的场合,避免给定值变化时可能引起的振荡
引入反馈时,由于传感器的输出往往带有高频噪声或者温漂导致输出失真,需要对输出值进行滤波
常用的滤波算法有
一阶低通滤波(常用于微分项),即不完全微分
卡尔曼滤波(常用于IMU)
均值滤波
等等
手撕PID(带死区、积分分离、不完全微分)_pid死区程序-CSDN博客
史上最详细的PID教程——理解PID原理及优化算法_串级pid为什么可以减小稳定时间-CSDN博客
匿名飞控TI版_PID部分,串级PID,微分先行,前馈控制_pid前馈控制量的确定-CSDN博客
干货 | 到底什么是串级PID?-电子头条-EEWORLD电子工程世界
【串级PID】浅谈串级PID作用及意义——快速理解串级PID结构优势(附图)-CSDN博客