跳转至

经典控制理论基础

控制理论的核心问题:如何让一个系统的输出 稳定、快速、准确 地跟踪你想要的目标值。


一、为什么需要控制理论

假设你要让一个电机转到 90°:

  • 开环(没有反馈):给一个固定电压,希望它转到 90°——但负载变了、温度变了、摩擦变了,实际角度可能是 85° 或 95°。
  • 闭环(有反馈):装一个编码器实时读取角度,不到 90° 就继续给电压,超过了就反向修正。

控制理论就是研究如何设计这个"修正策略",使得系统又快又稳又准。


二、系统建模

2.1 微分方程到传递函数

任何物理系统都可以用微分方程描述。例如一个弹簧-阻尼系统:

\[ m\ddot{x} + c\dot{x} + kx = F(t) \]

对两边做拉普拉斯变换(假设零初始条件),将微分方程变为代数方程:

\[ (ms^2 + cs + k)X(s) = F(s) \]

传递函数就是输出与输入的比值:

\[ G(s) = \frac{X(s)}{F(s)} = \frac{1}{ms^2 + cs + k} \]

为什么用拉普拉斯变换?

拉普拉斯变换把微分方程变成了多项式除法,极大简化了分析。\(s\) 域中,微分变乘法、积分变除法,系统的串联变成传递函数相乘。

2.2 零点与极点

传递函数可以写成分子/分母的因式分解形式:

\[ G(s) = K \frac{(s - z_1)(s - z_2)\cdots}{(s - p_1)(s - p_2)\cdots} \]
概念 定义 物理意义
零点 \(z_i\) 分子 = 0 的根 某些频率的输入被"消除"
极点 \(p_i\) 分母 = 0 的根 决定系统的自然响应模式
增益 \(K\) 常数因子 整体放大倍数

极点决定稳定性

  • 极点全部在 \(s\) 平面左半平面(实部 < 0)→ 系统稳定
  • 有任何极点在右半平面(实部 > 0)→ 系统不稳定(输出发散)
  • 极点在虚轴上 → 系统临界稳定(等幅振荡)

2.3 典型系统响应

一阶系统

\[ G(s) = \frac{1}{\tau s + 1} \]

阶跃响应为指数趋近,时间常数 \(\tau\) 决定响应速度。\(t = 3\tau\) 时到达 95%,\(t = 5\tau\) 时到达 99%。

二阶系统

\[ G(s) = \frac{\omega_n^2}{s^2 + 2\zeta\omega_n s + \omega_n^2} \]
参数 名称 影响
\(\omega_n\) 自然频率 响应快慢
\(\zeta\) 阻尼比 振荡程度
阻尼比范围 响应类型 描述
\(\zeta = 0\) 无阻尼 等幅振荡,永不衰减
\(0 < \zeta < 1\) 欠阻尼 有振荡但逐渐衰减(最常见)
\(\zeta = 1\) 临界阻尼 最快无振荡到达终值
\(\zeta > 1\) 过阻尼 无振荡但很慢

工程常用区间

大多数控制系统设计目标是 \(\zeta \in [0.4, 0.8]\),兼顾响应速度和超调量。\(\zeta = 0.707\) 是经典的"最优"阻尼比(超调约 4.3%)。


三、稳定性分析

3.1 闭环稳定性

对于闭环系统,闭环传递函数为:

\[ T(s) = \frac{C(s)G(s)}{1 + C(s)G(s)H(s)} \]

稳定性由闭环极点(即 \(1 + C(s)G(s)H(s) = 0\) 的根)决定。

3.2 劳斯判据(Routh Criterion)

不需要求解特征方程的根,直接从特征多项式系数构造 Routh 表,通过第一列符号变化次数判断右半平面极点个数。

Routh 表构造

特征方程 \(s^3 + 2s^2 + 3s + 4 = 0\),Routh 表:

\(s^3\) 1 3
\(s^2\) 2 4
\(s^1\) \(\frac{2 \times 3 - 1 \times 4}{2} = 1\) 0
\(s^0\) 4

第一列 [1, 2, 1, 4] 无符号变化 → 无右半平面极点 → 稳定

3.3 频域分析:Bode 图

Bode 图是控制工程师最常用的工具之一,用频率作为横轴:

  • 幅值图\(20\log_{10}|G(j\omega)|\),纵轴单位 dB
  • 相位图\(\angle G(j\omega)\),纵轴单位度

两个关键频率:

指标 定义 物理意义
增益裕度 \(G_m\) 相位 = −180° 时,幅值距 0 dB 的距离 系统还能放大多少倍才不稳定
相位裕度 \(\phi_m\) 幅值 = 0 dB 时,相位距 −180° 的距离 系统还能延迟多少相位才不稳定

经验设计指标

  • 增益裕度 \(G_m > 6\) dB
  • 相位裕度 \(\phi_m \in [30°, 60°]\)

这两个指标越大,系统鲁棒性越好(但响应可能变慢)。


四、稳态误差

即使系统稳定了,输出也不一定能精确等于目标值。稳态误差 \(e_{ss}\) 就是系统稳定后剩余的误差。

系统类型

开环传递函数在原点的极点个数决定了系统类型

\[ G(s) = \frac{K \cdot (\text{零点因子})}{s^N \cdot (\text{其余极点因子})} \]

\(N\) 为原点极点个数,称为 \(N\) 型系统

输入信号 0 型系统 1 型系统 2 型系统
阶跃 \(\frac{1}{s}\) \(\frac{1}{1+K_p}\) 0 0
斜坡 \(\frac{1}{s^2}\) \(\infty\) \(\frac{1}{K_v}\) 0
加速度 \(\frac{1}{s^3}\) \(\infty\) \(\infty\) \(\frac{1}{K_a}\)

直觉理解

  • 系统中每多一个积分环节(原点极点),就能"消除"一种更高阶输入的稳态误差
  • 这就是 PID 中 I(积分) 项消除稳态误差的数学本质

五、状态空间表示

除了传递函数(单输入单输出的"黑盒"描述),还有一种更通用的建模方法——状态空间

\[ \dot{\mathbf{x}} = A\mathbf{x} + B\mathbf{u} \]
\[ \mathbf{y} = C\mathbf{x} + D\mathbf{u} \]
符号 含义 维度
\(\mathbf{x}\) 状态向量 \(n \times 1\)
\(\mathbf{u}\) 输入向量 \(m \times 1\)
\(\mathbf{y}\) 输出向量 \(p \times 1\)
\(A\) 系统矩阵 \(n \times n\)
\(B\) 输入矩阵 \(n \times m\)
\(C\) 输出矩阵 \(p \times n\)
\(D\) 前馈矩阵 \(p \times m\)

传递函数 vs 状态空间

传递函数 状态空间
适用范围 线性时不变、SISO 线性/非线性、MIMO
信息量 仅输入-输出关系 包含内部状态
可控可观 不方便判断 直接判断
计算机实现 不方便 矩阵运算友好

六、小结

graph TB
    MODEL["系统建模"] --> TF["传递函数 G(s)"]
    MODEL --> SS["状态空间 (A,B,C,D)"]
    TF --> ZP["零极点分析"]
    ZP --> STAB["稳定性判据"]
    STAB --> ROUTH["Routh 判据"]
    STAB --> BODE["Bode 图<br>增益/相位裕度"]
    TF --> ERR["稳态误差分析"]
    ERR --> TYPE["系统类型<br>0/1/2 型"]
    STAB --> DESIGN["控制器设计"]
    DESIGN --> PID["PID 控制器"]

经典控制理论给了我们分析和设计控制系统的数学工具。接下来就要进入最实用的控制器——PID