PID控制器之父Minorsky:1922年论文如何奠定现代自动控制基石
2026/9/17 11:13:04 网站建设 项目流程

你大概也听过一个说法:自动驾驶、无人机悬停、保温箱温度控制,这些完全不同的场景里,真正干活的都是同一个老熟人——PID控制器。比例、积分、微分三个词,在控制工程师这里几乎是天命。但要说这个算法是怎么诞生的,很多人只知道一个模糊的“上世纪有人提出来的”,撑死了再补一句“1922年”。如果再往下问一句:到底是谁、在什么背景下把它想明白的?大部分人就会卡壳。

答案是Nicolas Minorsky,一个在船舶自动操舵领域摸爬滚打多年的俄裔工程师和数学家。要说他是PID控制器之父,不是某个协会颁给他的头衔,而是控制技术史在梳理脉络时,几乎绕不开的名字。这篇文章我想从他那段历史出发,讲清楚三件事:他当年到底在解决什么问题;那篇1922年的经典论文为什么被后世反复引用;以及这套百年前的思想,在今天为什么还统治着90%的工业控制回路。如果你正在学自动控制、做嵌入式算法调试,或者单纯好奇“一个算法是怎么长大的”,这篇应该能给你点不一样的东西。

1. 一场关于“船自己走直线”的较量,逼出了现代控制理论的第一块砖

Minorsky的工作背景很有意思:他不是坐在实验室里凭空想公式,而是直接面对一个非常要命的工程难题——大船在风浪里怎么保持航向。

1.1 为什么自动操舵突然成了刚需

今天的船有GPS、有陀螺仪、有各种传感器,但在二十世纪初,人类对“自动控制”的需求几乎全部来自一个场景:军舰和大型商船需要长时间直线航行。

有人可能会问:船不是本来就能走直线吗?还真不是。海流、侧风、波浪冲击都会让船头持续偏离航向,而船体本身又是个巨大的惯性系统——你打一下舵,船不会立刻响应,要等好几秒甚至十几秒才开始转头;等它转了,你又得赶紧回舵,否则就会朝另一边偏。这就是经典的欠阻尼振荡。

当时的解决办法是人工操舵。舵手看着罗经,发现偏了就打舵修正。问题是人有反应时间,也有疲劳度。风浪大的时候,舵手在一班岗里要连续修正上百次,稍微慢半拍船就开始走S形,航程凭空多出好几个百分点。对于要横跨大洋的商船和需要精确编队作战的海军来说,这是不能接受的损失。

所以在那段时期,很多工程师都在琢磨同一个问题:能不能让机器替人操舵?

1.2 Minorsky面对的真正困难:为什么“有反馈”不等于“稳定”

当时最成功的自动舵方案,是Elmer Sperry搞出来的陀螺自动驾驶仪。陀螺仪给出航向偏差信号,再带动舵机去打舵。看起来很简单:船偏左了,舵就往右打,这不就自动纠正了吗?

问题是,这种直觉式的“纠正”很容易变成振荡。打舵太猛,船被纠正过头,又偏向另一边,于是系统变成永不停歇的左右摇摆。这在控制理论里叫临界稳定或发散振荡,具体表现就是船走不出直线,反而走出一个诡异的蛇形。

Minorsky的厉害之处在于,他没有继续走“换个更好的陀螺”、“换个更好的舵机”这种机械改良路线,而是把整个系统抓到一个数学框架里:船的偏航角是状态量,舵角是输入量,海流波浪是扰动项,然后把闭环系统用微分方程描述出来,再用稳定性判据去分析“什么样的控制律能收敛”。

一旦进入这个框架,问题就变得清晰了:一个只和当前误差成正比的简单反馈,天然地会跟你较劲——它总是反应滞后,总是在“已经偏了”之后才开始干活,所以只能抑制缓慢漂移,对付不了快速振荡和持续性偏差。

这段思路后来被凝练成一句大白话:你不能只告诉船“你偏了多少”,还得告诉它“你现在往什么方向偏、偏了多久”。这三个信息,正好对应了PID里的三项。

2. 1922年论文的三层拆解:比例、积分、微分各管什么

1922年,Minorsky在《Journal of the American Society of Naval Engineers》上发表了那篇著名论文《Directional stability of automatically steered bodies》。论文内容很多,但后世人记住的核心,是他把控制作用明确拆成了三个分量,并分析各自的效果和缺陷。

在现代代码里,这个控制律长这样:

u(t) = Kp * e(t) + Ki * ∫e(τ)dτ + Kd * de(t)/dt

u是输出,e是误差。看懂这一行,就等于看懂了Minorsky当年搭起来的骨架。

2.1 比例项:纠偏差,也制造摇摆

比例项的意思最简单:误差越大,输出越大。船偏了两度,舵就打两度的量;偏了五度,舵就打五度的量。

直觉上这没问题,但Minorsky通过分析指出,纯比例控制有个天生缺陷:它总是“事后纠偏”,而且增益越高,系统越倾向于振荡。原因是相位滞后——你检测到误差的时刻,船还在继续往偏的方向走,你按此刻误差打下去的舵,对这个时刻本身是偏大的,于是矫枉过正。

用开车类比就是:你发现车往左偏了,然后非常用力地往右打方向盘,但方向盘打好之后车还要继续往左飘一会儿,最后变成向右偏。越用力,摆得越厉害。比例增益Kp就是那个“用力程度”。

2.2 微分项:用趋势给系统“踩刹车”

既然比例项只看到了“现在”,那“未来”该怎么管?Minorsky给出的答案是:看误差的变化趋势。如果误差在快速减小,说明船正在主动回正,这时候就应该减少控制输出,免得又冲到另一头去。这就是微分项的作用。

微分项在数学上就是误差对时间的导数。它像一个阻尼器,给系统提供“刹车”的感觉。没有它,系统是弹簧;有了它,系统才变成有减震的悬挂。Minorsky特别强调,微分作用对抑制振荡至关重要,而且它能让你把比例增益调得更高而不至于发散。

不过这里有个很现实的代价,也是后来每个调PID的人都踩过的坑:微分项对噪声极其敏感。传感器只要有一点高频抖动,导数就会放大出来,变成控制量上的剧烈波动。所以很多工业现场会专门加滤波,或者干脆用近似D去做。这个坏脾气,实际上从Minorsky开始就注定了。

2.3 积分项:解决那个最容易被忽略的“静态误差”

比例和微分能处理动态过程,但有个问题它们解决不了:如果船因为侧风、水流等原因,存在一个持续性的不对称扰动,你要维持航向就必须一直给一个不平衡的舵角。但纯比例控制下,系统只会在“舵角不够”和“舵角过头”之间找一个妥协点,最终的结局往往是船停在了一个离理想航向还有一两度的位置,怎么都回不去。这个残留的偏差,就叫静态误差。

积分项就是为此而生的。它会把误差积累起来,哪怕误差很小,只要存在,积分就会越来越大,最终逼着舵角持续增加,直到把那个残余偏差抹平。在自动控制的历史上,这是被普遍认为最关键的一步——比例和微分本质上在改善“怎么回去”的问题,积分解决的是“为什么不回去”的问题。

当然,积分也不是没代价。对误差积分意味着系统有了“记忆”,如果误差长期存在,积分项会不断累积,最后让控制量饱和——这就是后来工程里人人头疼的积分饱和问题。Minorsky的论文里其实已经隐约点出了这个风险,只是当时没有人把它作为一个独立课题来研究。

2.4 三种控制作用的现代对照表

控制项看的信息直观作用典型代价现代调参提示
比例P当前误差主推动作,快速响应增益过高易振荡先只调P,找到临界振荡点
积分I误差的累计消除静态误差积分饱和、超调最后加,能小则小
微分D误差的变化趋势阻尼、抑制超调放大噪声谨慎加,配合滤波器

3. 为什么“father”这个头衔落在Minorsky头上,而不是Sperry头上

这里有个绕不开的比较:既然Sperry已经做出了能用的自动舵,为什么控制理论史的教科书偏偏把“PID之父”的地位给了Minorsky?

3.1 Sperry的陀螺自动舵:一台能用的机器

Elmer Sperry是一个非常典型的发明家,他在1910年代就提交了自动舵的系列专利,造出来的陀螺自动驾驶仪也在海军舰船上得到了实际应用。甚至到二战时期,船上大量装备的“Metal Mike”自动舵仍然是Sperry那套东西的延续。

但Sperry的工作方式,本质上是“边做边试”:陀螺仪怎么装、继电器怎么接、舵角怎么受控,全是围绕机电装置的性能去调整。他知道这么做能用,但回答不了“为什么这么调稳定性就好”“参数在什么范围内系统会发散”这类问题。他手里有一台好用的机器,但没有一套可以迁移到其他对象的理论。

3.2 Minorsky做得更系统:把“能用”变成“可理解”

Minorsky的工作方式完全不同。他先把船的动力学、舵机特性和控制律全部写成数学方程,然后直接讨论微分方程解的稳定性,把“什么样的参数组合能保证收敛”变成一个可以用判据检验的问题。他做的已经不是“发明一台舵机”,而是“发明一种分析自动控制问题的方法”。

更重要的是,他没有停留在只对某个特定船型有效的层面,而是给出了一个通用的控制律结构——三个作用按需组合。这个结构不依赖具体的机械装置,也不依赖具体的被控对象,你今天用它在直流电机上做转速环,明天用它在四轴上做姿态环,后天用它在一台化工反应釜上做温度控制,都能成立。这种“通用性”,才是Minorsky最厉害的地方。

3.3 教科书里的传承路径:从1922到今天的引用链

控制学界对“谁是创始人”的判断,很大程度上是靠文献传承来确立的。Minorsky那篇1922年的论文发表之后,被后来各种控制理论著作反复引用,尤其是自动舵、自动驾驶仪、伺服系统方面的早期论文,绕不开这篇文献。到了四五十年代,随着维纳等人的控制论框架逐步成型,Minorsky的论文被追认为PID控制理论的奠基性文献,他的照片和工作经历也大量出现在控制史研究论文里。

所以“father of the PID controller”这个说法,不是某天某个机构一纸公文认定的,而是控制研究者们在回溯文献时形成的共识:如果说Sperry让人类看到了“机器可以自动纠偏”的可能性,那Minorsky则让人类真正理解了“自动纠偏为什么有效”。两者一个偏向制造,一个偏向理论。后者在技术史上的位置,天然更适合“之父”这种头衔。

4. 从纸面公式到工业现场:PID的百年进化

Minorsky提出PID之后,这套思想并没有立刻就在工业界普及。真正的爆发,要等技术载体跟上。

4.1 机械、气动、模拟电子:第一波PID调节器

最早期的PID控制器不是代码,而是机械或气动装置。凸轮、弹簧、液气组合、浮球,各种机构都在试图实现比例、积分、微分三个动作。那个年代想实现微分项,靠的是一个机械阻尼器或者专门的充气缓冲结构;想实现积分项,就得靠一个慢慢积累压力的气容或液容。

到了电子管和模拟运放时代,PID开始变成运算放大器电路里的几个电阻电容组合。那时在工业现场维护一台PID调节器的工程师,手上必备一把螺丝刀和一张参数对照表。今天我们在代码里改三个浮点数就能完成的事,当年是硬件工程师蹲在机柜前面焊电阻换电容。

这段历史留下的最重要遗产,是把“三个控制项”的思想固定成了工程语言。直到今天,哪怕是最先进的DCS系统,操作员在HMI上看的还是P、I、D三个可以分别设定的参数,这是百年不变的界面。

4.2 Ziegler-Nichols把整定变成了工程习惯

如果说Minorsky解决了“控制器长什么样”的问题,那1942年的Ziegler-Nichols方法就是解决了“参数怎么定”的问题。他们提出了两种经典整定方法:阶跃响应法和临界比例度法。

其中临界比例度法特别有意思:把积分和微分全关掉,只留比例项,然后一点点调大Kp,直到底层回路开始等幅振荡。记录下当时的增益和振荡周期,再查一组经验公式换算Kp、Ki、Kd。这套方法看似粗糙,但在当年没有仿真软件的年代,几乎是唯一能系统化给出初始参数的手段。

即使在今天,用仿真工具做整定已经非常方便,很多老工程师调完数模还是习惯先用临界比例度法跑一遍拿到初始值,再做微调。某种意义上,他们用的是1942年的流程,而流程图背后的思想还是1922年的框架。

4.3 数字时代:PID仍然是90%控制回路的基石

到了数字控制时代,PID从模拟电路变成了一个极其简单的离散化算法。C语言里十几行代码就能写完一个位置式或增量式PID。它便宜、高效、可解释性极强,一个嵌入式工程师在片子上跑200Hz的PID循环,占用资源几乎可以忽略不计。

这带来一个看起来很反直觉的结果:控制理论年年出新,模型预测控制、线性二次型调节器、滑模控制、自适应控制,一个比一个高级,但工业界超过90%的控制回路仍然在用PID及其变体。为什么?因为PID不需要精确的数学模型,又能覆盖绝大多数被控对象的行为特征,调试人员也熟悉它。

MPC之类的先进控制不是不好,而是它需要高保真模型、需要足够强的算力、需要专门的工程师维护,在单回路控制里这些成本常常超过收益。PID则相反,它用一个简单、鲁棒、可解释的逻辑,拿下了绝大多数“够用就好”的工程场景。

5. 除了历史知识,Minorsky的方法论对今天的工程师还有用

最后这部分,我想抛开技术细节,谈一点对工程的看法。

5.1 先建模再设计:当年没有仿真软件,反而逼出了深度思考

Minorsky在1922年写那篇论文的时候,没有示波器、没有Bode图工具、更没有MATLAB/Simulink,他连解微分方程都基本靠手算。这种条件其实极度苛刻,但也逼出了一个很重要的习惯:先把物理对象写成方程,再在方程层面思考问题。

现在很多工程师做控制系统,习惯性地打开仿真软件拖几个模块,参数靠乱试,波形不对就换一组数。这种做法当然快,但缺少一个步骤:对系统本身建立清晰的理解。被控对象是几阶系统?主导极点大概在哪?哪些物理机制决定了我看到的现象?这些问题在代码里很难直接得到答案,但在草稿纸的方程里反而很清晰。

我从多次项目调试里得到的一个体会是:仿真工具是用来验证想法的,不是用来替代思考的。碰到调不通的回路,先退回到那个“手工推导时代”的状态,把对象的动态特性写出来,往往比盲目改参数更快。

5.2 实验数据与理论推导要互相校核

Minorsky的论文并不只是纸上谈兵。他在分析船舶稳定性的时候,大量参考了当时实船试验和船模试验的数据,用它们来验证自己推导的稳定性结论。这种“理论和实验互相校核”的作风,在一个没有现代仿真环境的年代,是相当难得的。

今天的我们拥有更好的工具,却经常出现另一个问题:仿真模型和实际系统差距过大,理论分析做完就完,结果一上真机全线崩溃。Minorsky的方法论提醒我们,理论工作应该以实验问题为出发点,最后又回到实验数据去验证。具体到PID调参,就是仿真里找到的Kp/Ki/Kd只能当起点,必须到设备上做阶跃响应测试、抗扰动测试,再回来修正模型——这个闭环在任何时代都不会过时。

5.3 老论文里的问题意识,往往比最新工具更有价值

写这篇文章的过程,我自己也重新去翻了上世纪初期的一些文献。一个很深的感受是:技术迭代的速度确实快,但很多问题的底层逻辑几十年都没有变。Minorsky当年写的“比例控制增益过高会引起振荡”“积分作用能消除静态偏差”“微分对噪声敏感”,今天依然是每个调PID的人首先要面对的三个经典命题。

对于控制工程师来说,能从历史文献里学到的,不一定是某个具体公式或代码,而是那种“把模糊的工程直觉变成清晰数学结构”的思维方式。在系统越来越复杂的当下,这种把问题拎清楚、抽象出关键变量的能力,反而成了稀缺技能。

Minorsky留给后世的,不只是PID控制器之父这个头衔,更是一个工程研究的范本:选一个真实的困难问题,用数学把它结构化,让结论可以迁移到其他领域。每次在项目里遇到“说不出原因但就是不对”的问题,我总会想起他那篇1922年的论文——一个多世纪前没有仿真工具的人都能靠一支笔推导出全世界的控制逻辑,今天轮到我们面对新问题的时候,至少应该先把笔拿起来,把方程写下来。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询