1. 课程导论与预备知识:状态空间模型回顾、能控性与能观性概念、现代控制理论框架

1.1 为什么我们要从状态空间讲起?

各位同学好,我是你们这门课的主讲。在正式开始之前,我想先聊聊我个人的一个体会。

很多搞控制的工程师,包括我早年刚入行的时候,都觉得经典控制理论(传递函数、根轨迹、波特图)已经够用了。直到我接手了一个四轴飞行器的姿态控制项目——那玩意儿是非线性的,多输入多输出,耦合得一塌糊涂。用传递函数去解耦?写到一半我自己都笑了。

所以,现代控制理论不是来替代经典控制的,它是来帮你解决经典控制搞不定的问题的。而状态空间模型,就是现代控制理论的“通用语言”。

核心观点: 状态空间模型描述的是系统内部的状态演化,而不仅仅是输入到输出的外部关系。你想想看,这就像你不仅要知道一个人吃了什么(输入),还要知道他体内的血糖、激素水平怎么变化(状态),才能准确预测他的反应(输出)。

1.2 状态空间模型回顾

我们先快速过一下标准形式。对于一个线性时不变系统(LTI),状态空间表达式长这样:

状态方程:  ẋ(t) = A x(t) + B u(t)
输出方程:  y(t) = C x(t) + D u(t)

这里:

  • x(t):状态向量,n维。它包含了系统内部最核心的信息。
  • u(t):输入向量,m维。你施加的控制量。
  • y(t):输出向量,p维。你能测量到的量。
  • A:系统矩阵,n×n。描述状态之间的动态关系。
  • B:输入矩阵,n×m。描述输入如何影响状态。
  • C:输出矩阵,p×n。描述状态如何映射到输出。
  • D:前馈矩阵,p×m。输入直接到输出的通道,很多系统里D=0。

我记得有一次调试一个电机伺服系统,我习惯性地把D矩阵忽略了,结果仿真和实测总是差一个常数偏移。查了半天才发现,那个系统的编码器读数确实有直接的前馈路径。嗯,这里要注意,D矩阵虽然经常是零,但别想当然。

1.3 能控性与能观性——这两个概念决定了你的控制器能不能设计出来

这两个概念,说白了就是回答两个问题:

  • 能控性: 你能不能通过输入u(t),把系统的状态x(t)从任意初始状态,在有限时间内拽到任意目标状态?
  • 能观性: 你能不能通过一段时间的输出y(t)测量值,反推出系统内部的状态x(t)到底是多少?

我见过不少工程师,上来就咔咔设计LQR控制器,结果仿真一跑,状态根本控不住。为什么?因为系统本身就不完全能控。你想想看,如果某个状态分量跟输入压根儿没有连接通道,你拿什么去控制它?

避坑指南: 我曾经在一个化工反应釜的温度控制项目里,花了三周设计了一个自抗扰控制器,结果现场调试时发现反应釜内部某点的温度根本观测不到——传感器装的位置不对,能观性矩阵秩亏了。从那以后,我养成了一个习惯:设计任何控制器之前,先算能控性和能观性矩阵的秩。这花不了5分钟,但能省下你几周的返工时间。

能控性判据(PBH判据)

对于连续LTI系统,系统完全能控的充要条件是:

rank([B, AB, A²B, ..., Aⁿ⁻¹B]) = n

其中n是状态向量的维数。这个矩阵叫能控性矩阵。如果它的秩等于n,说明所有状态都能被输入影响。

能观性判据

系统完全能观的充要条件是:

rank([C; CA; CA²; ...; CAⁿ⁻¹]) = n

这个矩阵叫能观性矩阵。如果它的秩等于n,说明所有状态都能从输出中重构出来。

注意: 能控性和能观性是两个独立的概念。一个系统可能能控但不能观,也可能能观但不能控,或者两者都满足(我们最喜欢的情况),或者两者都不满足。千万别混为一谈。

1.4 现代控制理论框架——我们这门课要讲什么?

为了让大家对后续内容有个整体印象,我画了一张框架图。这张图基本就是我们这门课30章的主线逻辑。

现代控制理论核心框架 系统建模 状态空间模型 系统分析 能控性 · 能观性 · 稳定性 控制器设计 状态反馈 状态观测器 Luenberger · Kalman 分离原理 控制器 + 观测器 = 独立设计 LQR / LQG 最优控制 鲁棒控制 H∞ · μ综合 自适应控制 MRAC · 自校正

从这张图你可以看到,我们这门课的逻辑非常清晰:

  1. 先建模——把物理系统写成状态空间形式。
  2. 再分析——判断系统能不能控、能不能观、稳不稳定。
  3. 再设计控制器——如果系统能控,我们就设计状态反馈控制器(比如极点配置、LQR)。
  4. 再设计观测器——如果状态不能直接测量(实际中大部分情况都是这样),我们就用观测器来估计状态。
  5. 分离原理——这是最妙的地方:控制器和观测器可以分开设计,合在一起仍然稳定。
  6. 最后是高级话题——LQG、鲁棒控制、自适应控制,这些都是在前面基础上的延伸。

我的建议: 初学者最容易犯的错误是跳过“系统分析”这一步,直接跳到控制器设计。我当年也干过这事,结果设计出来的控制器在仿真里跑得挺好,一上实物就炸了。后来才发现,系统有一个模态是既不能控也不能观的——那就是一个“隐形炸弹”。所以,请一定按顺序来,别跳步。

1.5 预备知识清单

在进入后续章节之前,我假设你已经掌握了以下内容。如果哪一项不太熟,建议先翻翻书:

知识点 具体要求 备注
线性代数 矩阵运算、特征值/特征向量、矩阵的秩、线性变换 这是基本功,跑不掉
微分方程 一阶/二阶常微分方程求解、拉普拉斯变换 状态方程本质就是微分方程组
经典控制 传递函数、稳定性判据、根轨迹、频域分析 理解经典控制有助于对比学习现代控制
MATLAB/Simulink 基本矩阵操作、tf/ss函数、step/impulse仿真 我会在课程中穿插代码示例

好了,第一章的导论就到这里。从下一章开始,我们会深入状态空间模型的每一个细节,然后一步步搭建起你的观测器与状态反馈控制的知识体系。


公众号:蓝海资料掘金营,微信deep3321