1. 系统、状态、输入和输出
控制理论首先要区分系统内部怎样演化、我们能操纵什么、我们能测到什么。状态 x 是这样一组最小变量:给定当前 x 和未来输入,就足以确定未来系统演化;输入 u 是控制器可以直接改变的量;输出 y 是传感器或任务真正暴露出来的量。三者不一定相同,因此控制器经常需要控制“无法直接测量”的状态。
关键要点
- 状态不等于传感器读数;即使某状态测不到,也可能是预测动态不可缺少的内部变量。
- 模型可以是连续/离散、线性/非线性、确定性/随机性。
- 反馈意味着控制动作依赖当前测量或估计状态,因此能够在线纠正扰动和模型误差。
2. 连续与离散状态空间模型
线性时不变(LTI)连续系统写成 ẋ=Ax+Bu, y=Cx+Du。A 描述内部状态之间如何相互作用,B 描述输入如何进入状态,C 描述输出测量哪些状态组合,D 表示输入是否直接影响输出。离散系统则为 x_{k+1}=Ax_k+Bu_k, y_k=Cx_k+Du_k。数字控制器最终通常工作在离散模型上。
关键要点
- 当 u=0 时,A 的特征值决定系统自然模态。
- 不同状态空间坐标可以表示同一个输入输出传递函数。
- 通过可逆坐标变换可以改变状态表示,但不会改变系统的物理输入输出行为。
3. 平衡点与线性化
真实系统往往是非线性的 ẋ=f(x,u)。平衡点 (x*,u*) 满足 f(x*,u*)=0,也就是在该输入下状态保持不变。对平衡点附近的小偏差 δx=x−x*、δu=u−u* 做一阶 Taylor 展开,可得到线性近似,A 与 B 就是对应 Jacobian。之后使用线性控制理论分析的是“工作点附近的局部行为”。
关键要点
- 线性化是局部近似,状态偏离工作点过大时模型可能失效。
- 轨迹跟踪中可沿参考轨迹不断线性化,得到线性时变模型。
- 讨论非线性系统局部稳定性之前,必须明确是围绕哪个平衡点。
4. 自然响应、特征值与系统模态
对于无输入线性系统 ẋ=Ax,解为 x(t)=e^{At}x(0)。A 的特征值决定每个系统模态是增长、衰减还是振荡。连续时间中,e^{λt} 在 Re(λ)<0 时衰减;离散时间中,λ^k 在 |λ|<1 时衰减。复共轭特征值对应振荡模态,其实部或模长决定衰减速度。
关键要点
- 特征向量描述模态方向,特征值描述该模态随时间如何变化。
- 连续系统中,实部更负的极点衰减更快;靠近虚轴的极点衰减慢。
- 即使所有特征值稳定,高度 non-normal 的系统仍可能出现显著瞬态放大。
5. 稳定性与 Lyapunov 分析
稳定性研究的是:系统从平衡点附近出发后会怎样。Lyapunov 稳定要求轨迹一直留在附近;渐近稳定还要求最终收敛到平衡点。Lyapunov 函数 V(x) 可以理解为广义“能量”:若 V 在平衡点外为正,并且沿系统轨迹持续下降,则可以证明稳定。对 LTI 系统,常用二次型 V=x^TPx,并得到 Lyapunov 方程或矩阵不等式。
关键要点
- 连续 LTI 系统中,A Hurwitz 等价于:对任意 Q≻0,都存在 P≻0 满足 A^TP+PA=−Q。
- Lyapunov 方法可推广到非线性系统,而且不需要显式求出系统轨迹。
- 稳定不等于性能好:一个稳定控制器仍可能过慢、振荡大或能耗很高。
6. 可控性
可控性问的是:输入有没有足够的“控制权限”,把状态沿所有独立方向驱动。对 n 维 LTI 系统,构造可控矩阵 𝒞=[B,AB,…,A^{n−1}B];若 rank(𝒞)=n,则理想线性模型中所有状态方向都可被输入影响。如果某个模态不可控,那么无论怎样设计状态反馈,都无法任意移动该模态的极点。
关键要点
- 可控性是 (A,B) 的结构性质,与具体选择哪个反馈增益无关。
- 可控性不只有“可/不可”的二值问题:理论可控但 Gramian 很差的模态可能需要巨大控制能量。
- 可控 Gramian 可进一步衡量不同状态方向到底有多难驱动。
7. 可观性
可观性是可控性的对偶问题:能否根据一段时间内的输出测量重构内部状态?对 n 维 LTI 系统,构造 𝒪=[C;CA;…;CA^{n−1}],若 rank(𝒪)=n,则所有状态方向都可被输出推断。尤其危险的是“不可观的非稳定模态”,因为它可能不断发散,但传感器看不出来。
关键要点
- 可观性由系统动态 A 与传感器布局 C 共同决定。
- Detectability 比完全可观更弱:允许存在不可观模态,只要这些模态本身是稳定的。
- 实际估计效果还受噪声和数值条件影响,不能只看 rank 是否满秩。
8. 状态反馈与极点配置
采用状态反馈 u=−Kx 后,闭环动态变为 ẋ=(A−BK)x。若 (A,B) 可控,就可以设计 K 把闭环极点放到希望的位置。极点配置能直接调节衰减速度和振荡特征,但它并没有显式优化控制能量或鲁棒性;把极点放得过快,可能需要不现实的大输入。
关键要点
- 极点配置是先指定希望的动态,再求 K;LQR 则先指定性能代价,由优化结果决定闭环极点。
- 多输入系统中,实现同一组闭环极点的 K 可能并不唯一。
- 执行器饱和会破坏理想线性闭环模型,必须单独考虑饱和和 anti-windup 等问题。
9. LQR:最优状态反馈
线性二次调节器(LQR)通过最小化无限时域二次代价来自动选择状态反馈。Q 惩罚不希望出现的状态偏差,R 惩罚控制能耗。连续时间中求解代数 Riccati 方程得到 P,再计算 K=R^{-1}B^TP。在 stabilizable/detectable 等条件下,得到的反馈能够稳定系统,并以优化方式平衡“状态收敛快”和“控制不能太大”。
关键要点
- 提高 Q 中某状态权重通常会更积极抑制该状态,但耦合系统中它与闭环极点并不是一一对应。
- 增大 R 会抑制控制输入,通常使响应更保守、更慢。
- LQR 默认全状态可用;与 Kalman filter 结合并满足相应假设时,就形成经典 LQG。
10. 状态观测器与 Kalman 滤波
当 x 不能直接测量时,状态观测器会在内部运行一份模型预测,并利用输出残差 y−C x̂ 对估计进行纠正。Luenberger observer 使用固定增益 L;Kalman filter 则根据过程噪声协方差 Q_w 和测量噪声协方差 R_v 计算增益,在经典线性高斯假设下得到最小方差线性估计。
关键要点
- 观测器极点配置与控制器极点配置互为对偶;可观性允许任意配置观测误差极点。
- Kalman filter 中,假设过程噪声更大时更信测量;假设测量噪声更大时更信模型。
- 非线性系统中常见 EKF、UKF;更一般的非高斯场景可用 particle filter,但代价更高。
11. 分离原理、参考跟踪与积分作用
对满足条件的线性系统,可以把控制器和观测器分开设计:只要 A−BK 与 A−LC 都稳定,基于状态估计的闭环也可稳定,这就是分离原理。需要注意,稳定到 0 与跟踪非零参考并不是同一问题。为了消除恒定扰动或模型失配导致的稳态误差,常采用参考前馈、状态增广或积分作用。
关键要点
- 积分控制把累计跟踪误差增广为状态,在增广系统可控等条件下可消除恒定稳态误差。
- 前馈根据模型计算维持参考所需的名义输入,反馈再负责纠正偏差。
- “前馈 + 反馈”的思想同样存在于 tracking MPC 中。
12. 一套真正可用的控制系统设计流程
一套可靠流程是:明确状态/输入/输出和工作点 → 推导或辨识模型 → 必要时离散化 → 检查稳定性、可控性、可观性 → 选择 pole placement、LQR 或 MPC 等反馈方法 → 若状态不可测则设计 observer → 在约束、噪声和模型失配下仿真 → 最后才上真实系统并调参。每个理论检查回答的问题不同,不能因为一次仿真“看起来能跑”就跳过。
关键要点
- 先问“系统是否可稳定”,再问“哪个 K 最好”。
- 在假设状态反馈可实现之前,先检查状态是否可观/可检测。
- 若线性系统、二次性能且约束不关键,LQR 往往够用;若显式约束或未来参考信息很重要,MPC 更合适。
这一节要记住
看完这篇后,你应该能面对一组 (A,B,C) 判断和解释稳定性、可控性、可观性,设计基础状态反馈和观测器,并理解 LQR、Kalman filter 与 MPC 在同一控制理论框架中的位置。