简介:这是一份面向自动化、电气工程及其自动化、电子信息工程等专业学生的《自动控制原理》课程学习笔记,内容梳理自卢京潮教授的配套课程,适合课程学习与考研复习人群对照使用。笔记围绕控制系统基本概念、传递函数与状态空间建模、稳定性分析、控制系统性能指标、根轨迹法与频域分析、PID控制器设计以及现代控制理论等模块展开,较完整地覆盖了课程主线知识点。资源为PDF格式,共1个文件,压缩包约336.7MB,便于按章节查阅与打印。已有389人学习下载。笔记不局限于照搬课堂内容,还结合讲授思路对核心概念作了清晰整理,有利于快速建立整套知识框架,深入理解李雅普诺夫稳定性、状态反馈、观测器设计等难点,是一份可以反复研读的复习参考。
1. 自动控制原理笔记:为什么卢京潮这套课值得三刷四刷
很多自动化专业的学生都有同一种体验:卢京潮课上讲的时候觉得全都听懂了,合上笔记自己动手做题,面对根轨迹、奈奎斯特图照样发懵。《自动控制原理(卢京潮笔记)》这套资源之所以被一届届学生反复翻出来,是因为它把「建模—稳定性分析—性能指标—控制器设计」这条主线串得非常清楚,每个公式后面有推导逻辑,推导后面跟着典型例题。对自动化、电气工程及其自动化、电子信息工程专业的学生来说,它既能当学期中的跟课提纲,也能在期末和考研复习时当考点地图用。这篇笔记按卢京潮课程主线拆成六个模块,重点讲每一部分怎么理解、怎么套用、以及最容易被扣分的细节在哪。
2. 从传递函数到状态空间:建模这关过不了,后面全是空中楼阁
2.1 传递函数建模:结构图化简顺序与梅森公式的避错写法
自动控制原理的绝大多数题目,第一步都是把物理系统写成数学模型。卢京潮课程里最常用的描述方式是传递函数 G(s),由微分方程做拉氏变换得到。考试里很少直接给你一个现成的传递函数,更多是给结构图或者信号流图,让你自己化简求出闭环传递函数。
结构图化简的核心规则只有三条:串联环节相乘,并联环节相加,反馈回路用 G/(1+GH)。注意正反馈时分母变成 1-GH,符号反了整道题的传递函数就废了。我的习惯是先处理最内层的反馈回路,每化简掉一个回路,就重新画一张简化结构图,绝不原地涂改。涂改在练习本上看没问题,但在卷面上很容易把负号抄丢。
遇到前向通路多、交叉反馈多的结构图,我一般直接换成信号流图用梅森公式。梅森公式的分子是各前向通路增益与对应余因式的乘积之和,分母是 1 减去所有回路增益之和,再加上两两互不接触回路增益乘积之和,依次交替。最容易错的就是「互不接触」的定义:两条回路只要共用一个节点,就不能算互不接触。
| 化简方式 | 适用场景 | 风险点 |
|---|---|---|
| 结构图化简 | 嵌套回路清晰、环节少 | 嵌套多时容易漏项或错符号 |
| 梅森公式 | 前向通路多、交叉反馈多 | 互不接触回路容易数错 |
提示:考试时间紧张时,两种方法二选一即可。我一般优先梅森公式,虽然写起来长一点,但每一步都有明确的求和规则,不容易翻车。
这里插一个最常见的物理建模例子。质量-弹簧-阻尼系统,运动方程为 m·x'' + c·x' + k·x = f(t),对等式两边做拉氏变换,零初始条件下得到 G(s) = 1/(m·s² + c·s + k)。三个参数 m、c、k 直接对应二阶系统的等效质量、阻尼系数和刚度,做题时先写出这个标准分母,再去匹配 ζ 和 ωn,比死记公式稳得多。
2.2 状态空间建模:能控标准型的写法与系数对应关系
传递函数处理单输入单输出线性系统够用,但到多输入多输出、或者设计状态反馈控制的时候,必须换成状态空间描述。卢京潮课程后半部分讲状态空间,本质上是为现代控制理论铺路。
状态空间标准形式是 x' = Ax + Bu,y = Cx + Du。从传递函数化为状态空间的考试题,最常用的是能控标准型。设传递函数为
G(s) = (b0·s² + b1·s + b2) / (s³ + a1·s² + a2·s + a3)
分母已经化为首一多项式时,A 矩阵取友矩阵形式,B 矩阵是 [0;0;1],C 矩阵是分子系数按降幂排列。
这里有两处最容易错。第一,C 矩阵的系数顺序必须和 A 矩阵的状态变量定义对应,顺序写反属于低级但致命的错误。第二,分子系数 b0、b1、b2 直接写进 C 矩阵,不需要再除以分母首项系数,前提是分母已经是首一多项式。如果题目给的是非首一分母,必须先归一化再列写。
| 矩阵 | 内容 | 对应关系 |
|---|---|---|
| A | 友矩阵,最后一行是负的极点多项式系数 | 决定系统特征方程 |
| B | [0;0;1] | 输入只作用于最后一个状态变量 |
| C | 分子系数 [b2, b1, b0] | 决定输出怎样由状态组合而成 |
状态空间相比传递函数还有一个隐藏优势:能处理初始条件不为零的情况。传递函数默认零初始条件,而状态方程可以在求解时显式带上 x(0),这对后面理解状态观测器特别重要。笔记里这部分篇幅不大,但所有例题都在反复强调同一件事:先确认分母首一,再写 A、B、C,最后验算一次特征方程是否等于原分母。
2.3 建模阶段的量纲与符号约定:分母首一化为什么重要
做题时很多人在建模阶段就开始丢分,其实不是公式不会,而是符号约定没统一。卢京潮笔记里全程约定开环传递函数写为 K·(零点多项式)/(极点多项式),分母习惯化为首一。这个约定直接影响后面根轨迹的增益 K 和开环增益之间的换算。
我见过太多人在这一步栽跟头:用非首一分母去画根轨迹,画出来的起点和终点都对,但渐近线和分离点全偏。所以建模一结束,先检查分母是否首一,不是就先归一化,再进入稳定性分析。这个小习惯能省掉后面至少十分钟的排查时间,也能避免在考场上出现「算到一半发现根轨迹方程和劳斯表对应不上」的尴尬。
3. 稳定性分析的三条路径:劳斯判据、根轨迹与奈奎斯特怎么配合用
3.1 劳斯判据:先验证必要条件,再列劳斯表,特殊情况单独处理
劳斯判据是稳定性分析里计算量最小、性价比最高的一种方法,它不需要求解特征方程,只需要列出劳斯表,观察第一列符号变化次数就能判断右半平面极点数。
操作步骤拆开是三步:
- 写出闭环特征方程 D(s) = 0,先看一眼系数是否全部为正,不满足直接判不稳定,这一步能秒杀一批送分题。
- 按 sⁿ、sⁿ⁻¹ 降幂排前两行,依次计算后面每一行。
- 观察第一列符号变化次数,每变化一次就对应一个右半平面极点。
以三阶系统 D(s) = s³ + 2s² + 3s + 4 为例,劳斯表第一列依次是 1、2、1.5、4,符号没有变化,系统稳定。把常数项改成 -4,第一列会出现一次符号变化,立刻就能判断有一个右半平面极点。整个过程不需要解方程,五分钟内能做完。
劳斯表计算有两个经典特殊情况。第一列出现 0 时,用一个小正数 ε 替代后继续算,最后让 ε 趋于 0 判断符号。某一行全为 0 时,说明特征方程存在关于原点对称的根,需要用上一行构造辅助方程,求导后得到新行再继续。
注意:全零行不能被忽略,它意味着系统可能存在共轭虚轴根,对应系统临界稳定。考试题里这个点非常喜欢挖坑,具体处理方式放到第 5 章的避坑记录里细说。
3.2 根轨迹法:起点终点、渐近线与分离点的三个核对点
根轨迹描述开环增益 K 从 0 变到无穷时闭环极点的移动路径。卢京潮笔记里把画根轨迹的流程总结成一套固定套路:起点(开环极点)→ 终点(开环零点或无穷远)→ 实轴上的根轨迹 → 渐近线 → 分离点 → 与虚轴交点。
实轴上的根轨迹判断是关键的第一步:实轴上某一段右侧的实数零极点总数为奇数,则该段在根轨迹上。这个「奇数」规则是画图第一步,画错后面全错,判断时只数实数零极点,复数零极点不参与计数。
渐近线需要算两个量:与实轴的交点 σ = (Σ极点 - Σ零点)/(n - m),夹角 φ = (2k+1)π/(n - m)。这里的 k 取整数,直到凑满 n-m 条渐近线。分离点满足条件:Σ 1/(s - pᵢ) = Σ 1/(s - zᵢ),或者直接求 K 对 s 的导数为零。
| 绘制步骤 | 计算方法 | 常见错误 |
|---|---|---|
| 起点/终点 | 极点出发,零点或无穷远结束 | 极点数少于零点数时终点搞混 |
| 实轴段 | 右侧实数零极点总数为奇数 | 忘了排除复数零极点 |
| 渐近线 | 交点 σ、夹角 (2k+1)π/(n-m) | n-m 数错导致渐近线条数不对 |
| 分离点 | 对 K 求导为 0 或零极点距离方程 | 求出的点不在实轴根轨迹段上 |
求出分离点后必须反代回根轨迹方程验证,确认它确实在实轴根轨迹段上,这是很多人漏掉的验证步骤。根轨迹画完,还要能回答两个问题:系统在什么 K 值下临界稳定,什么 K 值区间内稳定。前者看根轨迹与虚轴交点,后者结合劳斯判据求临界增益 K,两边一夹就得到稳定区间。这套「根轨迹画图 + 劳斯求临界增益」的组合,是期末大题的标准玩法。
3.3 频域法:幅值裕度、相位裕度与交界的读取细节
频域分析法把传递函数里的 s 换成 jω,用开环频率特性判断闭环稳定性。奈奎斯特判据本质上是从开环 Nyquist 曲线绕 (-1, j0) 点的圈数判断闭环右半平面极点数。本科阶段更常用的是 Bode 图上的两个裕度指标。
相位裕度 γ = 180° + ∠G(jωc),其中 ωc 是穿越频率,即 |G(jωc)| = 1 的频率,对应对数幅频曲线穿越 0 dB 线的频率。幅值裕度通常写为 kg = -20lg|G(jωg)|,其中 ωg 是相位穿越频率,即 ∠G(jωg) = -180° 的频率。
工程上的经验值:相位裕度在 30°~60° 之间、幅值裕度大于 6 dB,系统的动态响应比较合适。相位裕度过小,超调大、振荡明显;幅值裕度过小,靠近临界稳定,参数一漂就可能不稳定。
Bode 图读裕度时,最容易错的是相频曲线跨过 -180° 不止一次的情况。如果系统有滞后环节或多个惯性环节,相频曲线可能多次穿越 -180°,这时候要选第一个使闭环稳定裕度最小的穿越点来读幅值裕度,而不是随便取一个。判断口诀:找相频曲线从上方往下穿过 -180° 的那个点,对应的幅值裕度才有工程意义。
4. 控制器设计与性能指标:PID 整定和串联校正在考场上怎么选
4.1 性能指标的互相牵扯:超调量、调节时间与稳态误差不能同时最优
二阶系统的时域指标是本科考试的高频考点。对标准二阶系统,传递函数分母写为 s² + 2ζωn s + ωn²,那么:
| 指标 | 公式 | 依赖参数 |
|---|---|---|
| 超调量 σ% | e^(-πζ/√(1-ζ²)) × 100% | 只由 ζ 决定 |
| 上升时间 tr | 约 π/ωd,ωd = ωn√(1-ζ²) | ζ 和 ωn |
| 调节时间 ts | 约 4/(ζωn)(2% 误差带)或 3/(ζωn)(5% 误差带) | ζ 和 ωn |
| 稳态误差 ess | 由型别和开环增益决定 | 与 ζ、ωn 无关 |
阻尼比 ζ 越小,超调越大、上升越快;ζ 过大,系统反应慢。ωn 增大能让各项时域指标整体变快,但会带来闭环带宽增大、对噪声更敏感的问题。稳态误差则由系统型别和开环增益决定,跟 ζ、ωn 没有直接关系。这就是典型的多目标矛盾:想超调小就得加大阻尼,想响应快就得压低阻尼,想稳态准就得加积分,但积分又会增加超调。
卢京潮笔记里强调过一个很容易忽略的点:时域指标公式都是在典型二阶系统零极点对消的前提下才成立。实际系统如果有额外的零点或极点,公式要打折扣。考试里如果题目明确说高阶系统可用主导极点近似,才可以直接套公式,否则先判断有没有零点和闭环主导极点靠得近的情况。
4.2 PID 参数整定:从临界增益法到工程试凑的完整路径
PID 控制器传递函数为 C(s) = Kp + Ki/s + Kd·s,三个参数各有分工:Kp 减小稳态误差、加快响应;Ki 消除稳态误差但增大超调;Kd 增大阻尼、抑制超调但对高频噪声敏感。
工程上最先可以上手的整定方法是 Ziegler-Nichols 临界增益法,步骤分三步:
- 只保留比例环节,把 Kp 从 0 逐渐增大,直到系统输出出现等幅振荡。
- 记录此时的临界增益 Ku 和振荡周期 Tu。
- 按下表查 P、PI、PID 三组参数。
| 控制器 | Kp | Ki | Kd |
|---|---|---|---|
| P | 0.5Ku | - | - |
| PI | 0.45Ku | Tu/1.2 | - |
| PID | 0.6Ku | Tu/2 | Tu/8 |
这个方法适用性很广,但有个前提:系统允许做临界振荡实验。考试题里给的是传递函数,可以用劳斯判据先算出临界增益 Ku,再配合根轨迹求振荡频率,就不需要真做实验。换句话说,临界增益法在考场上其实是一道「劳斯判据求 Ku + 查表」的综合题。
实际做仿真时,我习惯在临界增益法给出的参数基础上再微调:超调偏大就先降 Kp 或加 Kd,稳态误差消不掉就缓加 Ki,每改一次跑一次阶跃响应,看超调量和调节时间的变化。纯理论题里要注意区分,Ziegler-Nichols 给出的参数是针对单位反馈标准型,若系统本身带滤波器或其他环节,要先把系统化成标准形式再整定,否则查表结果套进去全是偏的。
4.3 串联校正:超前网络提相位裕度,滞后网络提稳态精度
串联校正是经典控制里最综合的考点。超前校正网络传函写成 Gc(s) = (1 + aTs)/(1 + Ts),其中 a > 1,它提供正的相角,把 Bode 图的中频段抬高,从而增大相位裕度和穿越频率。
超前校正的设计步骤一般是:先根据稳态精度要求确定开环增益,再用未校正系统的 Bode 图读出相位裕度,计算需要补偿的相角,然后确定超前网络的最大相角频率和参数 a、T。滞后校正的传函 Gc(s) = (1 + Ts)/(1 + bTs),b > 1,作用是在不显著改变相位裕度的前提下压低高频增益,从而减小稳态误差。
| 校正类型 | 主要作用 | 代价 | 适用场景 |
|---|---|---|---|
| 超前校正 | 增大相位裕度、提高穿越频率 | 高频增益变大,噪声敏感 | 快速性不足、相位裕度偏低 |
| 滞后校正 | 降低高频增益、改善稳态精度 | 穿越频率左移,响应变慢 | 稳态误差大、动态已达标 |
选型有一条简单的口诀:需要加大穿越频率、提高快速性时用超前;需要降稳态误差、又不希望牺牲太多稳定性时用滞后。滞后校正会让穿越频率左移,响应变慢,这与超前正好相反。很多同学在这里犯的典型错误是:一看到稳态误差大就无脑上滞后,结果算完发现相位裕度反而跌破了要求,因为滞后网络在中频段也引入了少量负相移,设计时必须留出 5°~12° 的余量,这块笔记里有专门标注,考前值得重点看。
5. 自动控制原理避坑记录:五个最容易丢分的细节
5.1 劳斯表第一列出现 0:直接判不稳定,临界稳定分全丢
现象:列劳斯表时第一列某一格为 0,有同学直接写「系统不稳定」,对答案发现系统其实是临界稳定或者条件稳定,整道判断题白给。
原因:0 既不是正也不是负,第一列的符号变化次数无法确定,不能直接下结论。这种情况在小阻尼系统和含积分环节的系统中很常见。
解决:把 0 替换成一个小正数 ε,继续计算后续所有行,最后让 ε 趋于 0,重新观察第一列每个符号的极限。若计算过程中某一行整行为 0,则用上一行构造辅助方程,对辅助方程求导得到系数填入新行,再继续。这套流程卢京潮笔记里讲得很细,考场上按顺序走不会乱。
5.2 根轨迹实轴段判断反了:右侧零极点总数数错
现象:实轴根轨迹画在错误区间,导致分离点、渐近线全部跟着错,后面求稳定 K 值区间也全废。
原因:判断条件记成「左侧零极点总数为奇数」,或者数的时候把复数零极点也算了进去。实际上只看实轴上某段右侧的实数零极点个数。
解决:对实轴上某一区间,数它右侧的所有实数零点和实数极点,总数为奇数则该段在根轨迹上;复数零极点在实轴上的投影不影响这个判断,直接忽略。画完实轴段后,顺手把每个区间的左右两侧零极点个数验算一遍,五秒钟的事能避免整道大题翻车。
5.3 稳态误差系数与输入类型没对应:斜坡输入套了位置误差系数
现象:输入为单位斜坡 r(t) = t 时,用 Kp = lim G(s) 计算稳态误差,算出无穷大,然后开始怀疑系统建模错了。
原因:位置误差系数 Kp 只对应阶跃输入,斜坡输入要用速度误差系数 Kv = lim s·G(s),抛物线输入用加速度误差系数 Ka = lim s²·G(s)。三个系数对应三种典型输入,不能混用。
解决:先判断系统型别 v,即开环传递函数中积分环节的个数。0 型系统对阶跃有有限稳态误差,对斜坡误差无穷大;1 型系统对阶跃误差为 0,对斜坡有有限误差;2 型系统对阶跃和斜坡误差都为 0,对抛物线有有限误差。背熟这张对应表,稳态误差题基本是送分。
5.4 Bode 图相位裕度读法:把 -180° 当成了相角的起点
现象:从 Bode 图读相位裕度,直接把相频曲线在穿越频率处的纵坐标值当成裕度,算出来一个很大的负值或者看起来不对的正值。
原因:相位裕度定义是 γ = 180° + ∠G(jωc),而不是直接读相频曲线的纵坐标。相频曲线的纵坐标本身已经是从 0° 开始往负方向转的角度,需要加上 180° 才能换算成裕度。
解决:先找到幅频曲线穿越 0 dB 线的频率 ωc,再在相频曲线上读出该频率对应的相位角 φ(ωc),计算 γ = 180° + φ(ωc)。若 φ(ωc) = -150°,则 γ = 30°,系统稳定但裕度偏小;若 φ(ωc) = -190°,则 γ = -10°,系统已经不稳定。每次读图都按「找 ωc → 读 φ → 加 180°」三步走。
5.5 PID 仿真里微分项失效:输出毛刺超调反而更大
现象:在 Simulink 或 Python control 里加 Kd 想抑制超调,结果输出出现高频毛刺,超调反而变大,整定过程进入玄学状态。
原因:微分项对误差信号的变化率敏感。仿真步长太大或者被控对象输出含噪声时,微分项的瞬时值会被放大,相当于给系统注入高频扰动,这时候 Kd 不是阻尼而是噪声放大器。
解决:先把仿真步长调小、确认被控对象信号是光滑的,再调 Kd。现实工程里用实际微分或低通滤波后的微分,一般不给纯微分环节。考试题里如果明确给纯 PID 传函,则按理想公式算;做题归做题,仿真归仿真,别把理想公式直接丢进带噪声的仿真里。这个区分做好了,能省下大量调参时间。
6. 考前冲刺:把笔记压缩成一页考点自检图
6.1 一页纸闭环与公式反代
考前一周我一般不再逐章看笔记,而是用「一页纸闭环」的方法过知识点。准备一张 A4 纸,按卢京潮笔记的章节顺序,把每个模块的公式和判断条件浓缩成关键词树:传递函数 → 结构图化简/梅森公式;稳定性 → 劳斯表/根轨迹/奈奎斯特;性能指标 → σ%、ts、ess;校正 → 超前/滞后/PID。合上笔记,凭记忆把这棵公式树默写出来,再翻开笔记逐项对照,漏掉的就是薄弱点。
默写完之后,再用代码验证一次最核心的二阶系统公式,确保不会记错。以 ζ = 0.5、ωn = 1 的标准二阶系统为例:
import control as ct import numpy as np wn = 1.0 zeta = 0.5 sys = ct.tf([wn**2], [1, 2*zeta*wn, wn**2]) t, y = ct.step_response(sys) sigma_sim = (max(y) - 1) * 100 sigma_theory = np.exp(-np.pi * zeta / np.sqrt(1 - zeta**2)) * 100 print(f"仿真超调量: {sigma_sim:.2f}%") print(f"理论超调量: {sigma_theory:.2f}%")参数说明:分母写成 s² + 2ζωn s + ωn²,分子取 ωn² 保证稳态输出为 1,这样超调量可以直接用百分比比较。ζ = 0.5、ωn = 1 时,理论超调量约为 16.3%,仿真跑出来的值应该非常接近。如果偏差超过 0.5 个百分点,基本是分母系数写错了,优先检查 2ζωn 那一项。
这个验证习惯是我当年复习时踩过坑才养成的。有一段时间我背超调量公式背得很熟,但从没想过用仿真去对一次,结果临考前一天帮同学调参数,发现算出来的超调量和实际曲线对不上,回去一查才发现 ζ 代入时分母的 2ζωn 系数记错了。从那以后,我每次考前都会把笔记里最核心的公式用仿真或题目反代验证一遍,确认它落在笔记的框架里,不凭感觉背。这套笔记我习惯直接拿来做默写底稿和公式反代的对照表,希望这个「一页纸闭环加公式反代」的方法也能帮到你。
本文还有配套的精品资源,点击获取