PID是什么
PID:基于误差来消除误差的控制策略,就是“比例P(proportional)+积分I(integral)+微分D(derivative)”,是一种常见的“保持稳定”控制算法。
PID表达式:
比例P(proportional)+积分I(integral)+微分D(derivative)
现在——过去——将来
实例

使用比例控制(P)

r:希望输出 x:实际输出 e:误差(error)
在simulink中搭建如下:(取Kp=10)

仿真图像如下:

分析可得,如果需要蓝线趋近于黄线(即稳态误差为0、控制达到期望值),则需要Kp趋于+∞。
Kp=10000图像如图:可知蓝线无限接近于黄线

但在实际情况下,Kp不会趋于无穷大。故需要引入其他调整项。
使用比例积分控制(PI)

在simulink中搭建如下:(取Kp=1,Ki=9)

仿真图像如下:

实际情况下:可直接调用PID控制器模块:



该模块内置有许多功能,其中有个重要的功能则是PID TUNER(自动调参)。

可以通过自主调节或自动调节来改善系统的鲁棒性、响应时间快慢等等。
使用比例微分控制(PD)
对于二阶系统:


其推导与搭建过程与PI控制类似,simulink搭建系统如下:(取Kp=9,Ki=3)

仿真图像如下:

直接使用PID控制器模块同理。
而通常使用的时候直接选择PID即可,不需要使用的参数设置为0即可。

这里有一个点:

内置函数的微分项不是DS,使用时需要注意。(多引入了一个参数N,一般实际使用时也不会是单独一个DS)。
更多
我觉得百度搜到的这篇文章讲到了更多东西:一文搞懂PID控制算法 - 知乎 (zhihu.com)
在实际的PID调参过程中,考虑调整系数的顺序一般为P——I——D。
若想知道Kp,Ki,Kd三个参数对于系统的影响分别是什么,我觉得下图可以体现出来:

结语
本文仅为作者的学习记录。若想完全的弄明白PID的原理以及在matlab/simulink中的使用。
你需要学习《高等数学》《控制工程基础》(《自动控制原理》)等课程。
最后再再再次感谢b站up主:德狗追求独立的个人空间_哔哩哔哩_bilibili