2、线性系统理论基础:状态空间方程、能控性与能观性

好,咱们进入正题。这一章是后面所有观测器设计的基石。说白了,你如果不懂状态空间方程,后面那些卡尔曼滤波、龙伯格观测器,你根本玩不转。我当年刚接触电机控制时,也跳过这部分直接看观测器,结果一头雾水,又乖乖回来补课。

2.1 状态空间方程——系统的“内部画像”

咱们做电机控制,传统上喜欢用传递函数。传递函数看的是输入输出关系,像个黑盒子。但状态空间方程不一样,它把系统内部的状态变量全给你亮出来了。

一个连续线性时不变系统,标准写法是这样的:

dx/dt = A·x + B·u
y = C·x + D·u

这里:

  • x 是状态向量。比如电机的电流、转速、位置,这些都是状态。
  • u 是输入向量。比如你给的电压指令。
  • y 是输出向量。比如你传感器测到的电流值。
  • A 是系统矩阵。描述状态之间怎么互相影响。
  • B 是输入矩阵。描述输入怎么影响状态。
  • C 是输出矩阵。描述哪些状态能被你看到。
  • D 是前馈矩阵。大多数物理系统里它是0。

举个例子,一个直流电机的电枢回路:

状态变量:x = [i_a; ω]  (电枢电流、转速)
输入:u = V_a (电枢电压)
输出:y = i_a (只测电流)

A = [-R/L  -K_e/L;  K_t/J  -B/J]
B = [1/L; 0]
C = [1  0]

你看,A矩阵里 -R/L 是电流自衰减,-K_e/L 是反电动势对电流的影响。这些物理意义清清楚楚。我个人习惯,拿到一个新系统,第一件事就是把A、B、C矩阵写出来,心里就有底了。

小技巧: 写状态空间方程时,状态变量的选择不是唯一的。你可以选电流和转速,也可以选磁链和转矩。但选得好,后面的分析会省很多事。我建议选那些物理意义明确、容易测量的量。

2.2 能控性——你能“指挥”系统吗?

能控性,说白了就是:你能不能通过输入u,把系统从任意初始状态,拽到任意目标状态?

你想想看,如果你的电机堵转了,你还能不能通过电压指令让它转起来?如果能,那就是能控。如果不能,那就是失控了。

判断方法很简单,构造能控性矩阵:

Q_c = [B  A·B  A²·B  ...  Aⁿ⁻¹·B]

如果这个矩阵满秩(秩等于n,n是状态维数),那系统就是能控的。

我在项目中遇到过一件事。有一次设计一个双惯量系统的观测器,怎么调参数都不对。后来一算能控性矩阵,发现秩亏了。原来是我把两个惯量的位置都当成了状态,但输入只能作用在一个惯量上,另一个根本控不了。嗯,这就是典型的能控性不足。

注意: 能控性不足不代表系统不能用,只是有些状态你无法独立控制。比如你只能控制电机转速,但负载侧的转速你控制不了。这时候观测器设计就要小心了,你观测出来的状态可能无法通过反馈来修正。

2.3 能观性——你能“看到”系统吗?

能观性和能控性是对偶的。它问的是:通过一段时间的输出y和输入u,你能不能唯一确定系统的初始状态?

说白了,就是你的传感器够不够用。你只测了电流,能不能反推出转速?如果能,那转速就是能观的。

判断方法:构造能观性矩阵:

Q_o = [C;  C·A;  C·A²;  ...;  C·Aⁿ⁻¹]

满秩则能观。

我记得有一次做无速度传感器控制,只测电流,想观测转速。一开始模型建得挺漂亮,但仿真就是不对。一算能观性矩阵,发现在某些转速下矩阵接近奇异。这就是为什么无速度传感器控制在零速附近很难搞——能观性变差了。

核心结论: 能控性和能观性,是观测器设计的前提条件。如果系统不能观,你就算用再高级的观测器,也观测不出真实状态。如果系统不能控,你观测出来也没用,因为你控制不了它。

2.4 离散化——从连续到数字

咱们的控制器是数字的,跑在DSP或MCU上。所以连续的状态空间方程要离散化。

标准做法:

x(k+1) = A_d·x(k) + B_d·u(k)
y(k) = C·x(k) + D·u(k)

其中:

  • A_d = e^(A·T_s),T_s是采样周期
  • B_d = ∫₀ᵀˢ e^(A·τ) dτ · B

实际工程中,没人手算这个。Matlab里用 c2d(sys, Ts, 'zoh') 就行。我建议用零阶保持器(zoh)方法,因为它最符合实际——你在一个采样周期内保持输出电压不变。

避坑指南: 我曾经吃过亏,采样周期选太大,导致离散化后的A_d矩阵特征值跑到单位圆外去了。系统直接不稳定。所以采样周期一定要满足香农定理,一般取系统带宽的10倍以上。

2.5 能控性能观性与采样周期的关系

这里有个容易被忽略的点:连续系统能控能观,离散后不一定。

比如一个连续系统,采样周期选得不好,刚好在某个模态的振荡周期整数倍上,那这个模态在离散域里就看不到了。这就是所谓的“采样盲区”。

我建议:

  • 采样周期不要太大,避免丢失高频信息
  • 采样周期也不要太小,否则计算量太大,而且数值稳定性会变差
  • 一般取系统最小时间常数的1/5到1/10

好了,这一章的内容就这些。状态空间方程是工具,能控能观性是前提。后面讲观测器设计时,你会反复用到这些概念。下一章咱们就进入正题,讲龙伯格观测器——最经典的线性观测器。