PID 控制:误差怎么变成力
WARNING
🧪 Beta公测版本提示:教程主体已完成,正在优化细节,欢迎大家提Issue反馈问题或建议。
要把质量-弹簧-阻尼拉到目标位置,不能只「给一个稳态力」就指望它乖乖停住。本章只讲:闭环反馈是什么、PID 三项各管什么、阶跃响应里超调与静差从哪来。状态空间见 状态空间,LQR 见 LQR。本篇属于 经典控制。
一、闭环:控制论的第一张图
开环是「算好输入,闭眼执行」。植物(plant)稍有模型误差、外力或初值,输出就会漂。闭环把输出
控制器

图解说明:左端参考
与反馈 在求和点相减得到 ;控制器 出 ,植物 出 ;虚线把 送回。比较 与 ,用误差驱动系统趋近期望。
传递函数写法
机器人关节伺服、ROS 2 里的跟踪、世界模型 里「预测再纠偏」,都是这张图的变体。
二、植物:质量-弹簧-阻尼
demo 的植物是二阶系统
改写成
即可逐步积分。经典控制常在频域画 Bode;这里用时域阶跃,是为了让「P / PD / PID 差在哪」一眼看得见。
三、PID:三路并行纠偏

图解说明:误差
分成三路:绿路比例 快;橙路积分累积过去误差,消静差;紫路微分看斜率,抑制超调。三路相加得 ,送进受控对象。
动画说明:同一质量-弹簧。纯 P 到不了
;PD 超调变小仍可能留差;PID 把残差积掉。参数与 demo 相同。
| 项 | 数学 | 直觉 | 典型副作用 |
|---|---|---|---|
| P | 现在差多少就推多猛 | 单靠 P,有弹簧/扰动时常留静差 | |
| I | 差得越久推得越狠 | 消静差;太大易振荡、积分饱和 | |
| D | 误差正在变大就提前刹 | 抑超调;对测量噪声敏感 |
调参不是定理:先 P 到能跟、再 D 压超调、最后 I 啃掉静差。同一组

图解说明:P 像弹簧看当下误差;I 像水箱积欠账;D 像阻尼器看变化快慢。底下是质量-弹簧小车追阶跃。
逐步推导:为什么纯 P 对带弹簧的植物会留静差(点击展开)
稳态时
只要
积分项:稳态若仍有
微分项不改变稳态(
对
demo 参数
四、代码在做什么
demo.py 用半隐式欧拉积分上述植物,对比四条轨迹:开环(

你会看到:开环靠植物自己晃到
五、小结
| 概念 | 一句话 |
|---|---|
| 闭环 | 用 |
| 植物 | 本章是 |
| P / I / D | 快响应 / 消静差 / 抑超调 |
| 阶跃 | 突然改 |
| 下游 | 伺服、飞行器、工艺回路;下一章进状态空间 |
📥 Code
| File | View | Download |
|---|---|---|
| demo.py | Open | Download |
| exercise.py | Open | Download |
参考
- Åström & Murray, Feedback Systems(反馈直觉极清楚)
- Ogata, Modern Control Engineering(PID 与二阶系统阶跃)