2. 不确定性的数学描述:参数不确定性、未建模动态、结构化与非结构化不确定性
好,咱们接着聊。上一章我们建立了鲁棒控制的基本概念,说白了就是「系统有误差,但控制器要扛得住」。那问题来了——这个「误差」到底长什么样?怎么用数学语言把它描述清楚?
我个人习惯,在开始设计控制器之前,先花点时间把不确定性「画」出来。你想想看,连敌人长什么样都不知道,怎么打仗?
这一章,我们就来拆解不确定性的几种典型形态。我会结合自己踩过的坑,把参数不确定性、未建模动态、结构化与非结构化不确定性这几个概念讲透。
2.1 参数不确定性:最直观的「数值漂移」
先说说最简单的。参数不确定性,说白了就是模型里的系数不准。
比如一个直流电机,你建模时用的电阻是 2Ω,但实际温度一上来,电阻可能变成 2.2Ω。或者一个弹簧,标称刚度是 100 N/m,用久了可能变成 95 N/m。这些都属于参数不确定性。
数学上怎么描述?通常写成这样:
实际参数 = 标称值 + 偏差
比如:R = R₀ + ΔR,其中 |ΔR| ≤ δ
或者用相对形式:
R = R₀ · (1 + δ_R),其中 |δ_R| ≤ 0.1
这里 δ_R 就是不确定性的「大小」,一般用百分比表示。比如 ±10% 的电阻变化。
关键点:参数不确定性只改变模型中的系数,不改变模型的结构。你的传递函数还是那个阶次,只是零极点位置在漂移。
我在项目中遇到过一件事。有一次调试一个液压伺服系统,模型里有个阻尼系数,手册上写的是 0.7。结果实际系统装好后,低频响应完全对不上。后来一查,阻尼系数实际在 0.4 到 1.2 之间变化。嗯,这就是典型的参数不确定性——你以为是常数,其实它在动。
2.2 未建模动态:你忽略的那些「高频细节」
参数不确定性还算老实,至少模型结构没变。但未建模动态就有点「阴险」了——它直接给你加了个你模型里没有的东西。
举个例子。你设计一个电机位置控制器,用的模型是二阶系统:
G(s) = K / (s² + 2ζωₙs + ωₙ²)
但实际电机轴上有个柔性联轴器,它会在高频引入一个谐振峰。你的模型里根本没这个谐振,这就是未建模动态。
数学上,未建模动态通常用乘性不确定性或加性不确定性来描述:
乘性不确定性:G_actual(s) = G_nominal(s) · (1 + Δ_m(s))
加性不确定性:G_actual(s) = G_nominal(s) + Δ_a(s)
其中 Δ_m(s) 或 Δ_a(s) 是一个稳定的、有界的传递函数,代表你「漏掉」的那部分动态。
我的经验:未建模动态通常在高频区域「冒出来」。所以设计控制器时,我习惯在 10 倍穿越频率以上留出足够的幅值裕度。说白了,就是给那些看不见的高频模式留点余地。
我曾经吃过一次亏。设计一个飞行器姿态控制器,模型只考虑了刚体模态。结果试飞时,机翼的弯曲模态被激励了,高频振荡差点把舵机烧了。从那以后,我每次都会问自己一句:「我模型里漏了什么?」
2.3 结构化 vs 非结构化不确定性
这两个概念,其实是上面两种不确定性的「组织方式」。
结构化不确定性
结构化不确定性,指的是你知道不确定性「长在哪个参数上」,只是不知道具体数值。
比如一个 RLC 电路,你知道不确定的是电阻 R 和电容 C,但电感 L 是精确的。这种「我知道哪里不准」的情况,就是结构化不确定性。
数学上,结构化不确定性通常用参数区间或参数摄动块来表示:
R ∈ [R_min, R_max]
C ∈ [C_min, C_max]
或者用 LFT(线性分式变换)把不确定性「抽出来」:
G(s) = F_u( M(s), Δ )
其中 Δ = diag(δ₁, δ₂, ..., δₙ)
这里的 Δ 是一个对角矩阵,每个 δᵢ 对应一个不确定参数。这种结构化的形式,在 μ 综合中非常有用。
非结构化不确定性
非结构化不确定性,说白了就是「我不知道具体哪里不准,但我知道整体误差有多大」。
比如你用一个低阶模型近似一个高阶系统,误差是分散在整个频率范围内的。你没法说「第 3 个极点不准」,只能说「整个传递函数有 ±3dB 的误差」。
非结构化不确定性通常用范数有界的形式:
‖Δ(s)‖∞ ≤ γ
或者用频率加权的形式:
‖W(s) · Δ(s)‖∞ ≤ 1
这里的 W(s) 是一个权重函数,用来描述不确定性在不同频率下的「大小」。
注意:非结构化不确定性虽然「模糊」,但处理起来反而更成熟。H∞ 控制理论就是专门对付这种不确定性的。我个人建议,如果对系统内部结构不太清楚,直接用非结构化模型更安全。
2.4 知识体系总览
说了这么多,我画了一张图,帮你把这几类不确定性的关系理清楚:
从这张图可以看得很清楚:参数不确定性通常对应结构化描述,未建模动态通常对应非结构化描述。但两者也有交叉——比如参数不确定性也可以用非结构化的范数界来近似,只是会保守一些。
2.5 实际工程中的选择策略
说了这么多理论,到底怎么选?我根据自己的经验,给几个实用建议:
| 场景 | 推荐的不确定性模型 | 理由 |
|---|---|---|
| 你知道哪些参数不准,且范围可测 | 结构化参数不确定性 | 精度高,不保守,适合 μ 综合 |
| 你只知道模型整体有误差,但来源不明 | 非结构化乘性不确定性 | 鲁棒性好,H∞ 控制的标准框架 |
| 高频动态被忽略,低频模型较准 | 频率加权非结构化不确定性 | 可以精确描述不同频段的误差大小 |
| 既有参数漂移,又有高频未建模动态 | 混合不确定性(结构化+非结构化) | 最接近实际,但分析复杂度高 |
避坑指南:我曾经在一个项目中,为了「精确」用了纯结构化模型,结果忽略了高频柔性模态,控制器在实际系统上振荡。后来换成混合不确定性模型,虽然保守了一点,但系统稳稳当当。我的建议是——如果对系统了解不够深,先用非结构化模型保底。
2.6 小结
这一章我们聊了不确定性的几种数学描述方式。说白了,参数不确定性是「数值不准」,未建模动态是「结构漏了」。结构化不确定性适合你知道「哪里不准」的情况,非结构化不确定性适合你只知道「整体误差多大」的情况。
嗯,这些概念是鲁棒控制的基石。下一章我们会把这些不确定性「塞进」控制系统的分析框架里,看看它们到底怎么影响稳定性。
公众号:蓝海资料掘金营,微信deep3321