2. 鲁棒控制基础:H∞与μ综合理论回顾

说实话,每次带新人做项目,我最头疼的就是解释鲁棒控制。很多人觉得这东西太数学、太抽象。但我干了十几年控制工程,可以负责任地告诉你——搞不定鲁棒性,你的控制器就是个纸老虎

今天咱们不扯虚的。我就结合自己踩过的坑,把H∞和μ综合这两个核心工具给你讲透。嗯,准备好了吗?

2.1 为什么需要鲁棒控制?

先问个问题:你设计的控制器,在仿真里跑得漂漂亮亮,一上实物就抖成筛子。遇到过没?

我遇到过,而且不止一次。记得有个伺服电机项目,模型参数明明标定得很准,结果温度一变化,电机惯量变了10%,系统直接失稳。那次教训让我明白——模型永远只是近似,不确定性才是常态

鲁棒控制要解决的,就是这个问题。它不追求模型完全精确,而是保证:只要实际系统在某个“不确定范围”内,控制器就能稳定工作

核心思想: 用“最坏情况”下的性能指标,换取对模型误差的容忍度。

2.2 H∞控制:从频域角度看鲁棒性

H∞控制,说白了就是抑制“最坏扰动”的增益。你想想看,一个系统对外部扰动的响应,总有一个最大放大倍数。H∞要做的,就是把这个最大倍数压到最小。

2.2.1 标准H∞问题

标准框架长这样:

输入 w (扰动)  →  [ 被控对象 P ]  →  输出 z (性能)
输入 u (控制)  →  [ 控制器 K ]   →  输出 y (测量)

数学上,我们要找控制器K,使得从w到z的闭环传递函数Tzw满足:

|| T_zw ||_∞ < γ

这里的γ就是性能指标。γ越小,抑制扰动能力越强。我个人习惯取γ=1作为基准,然后根据实际调试情况微调。

2.2.2 加权函数的选择——实战经验

很多教材讲到这里就停了。但我要告诉你,加权函数才是H∞设计的灵魂。我在项目中吃过亏,一开始随便选了个低通滤波器当加权,结果控制器高频段增益太大,执行器直接饱和。

我的经验是:

  • 性能加权Ws:通常选低通,压低低频扰动。转折频率选在系统带宽附近。
  • 控制加权Wu:通常选高通,限制高频控制动作。防止执行器抖得太厉害。
  • 鲁棒加权WT:反映模型不确定性。我一般用乘性不确定性模型,高频段权重加大。
避坑指南: 我曾经把W_s的增益设得太大,结果控制器为了抑制低频扰动,高频段疯狂输出,系统反而振荡了。记住:性能与鲁棒性永远在博弈

2.3 μ综合:处理结构化不确定性

H∞有个局限——它把所有不确定性都当成“一块”来处理。但实际中,不确定性是有结构的。比如,某个参数变化±20%,另一个参数变化±10%,它们互不影响。

这时候,就要请出μ综合了。

2.3.1 结构奇异值μ

μ综合的核心是结构奇异值。它比H∞更精细,能区分不同来源的不确定性。数学定义我就不啰嗦了,你记住一句话:

μ值 < 1,意味着系统对所有结构化的不确定性都能保持稳定。

我在做飞行器控制时,遇到过气动参数在大攻角下剧烈变化。用H∞设计,保守性太大,性能损失严重。换成μ综合后,控制器明显“聪明”了——它知道哪些参数变化是独立的,不用对所有不确定性都“一刀切”。

2.3.2 D-K迭代法

μ综合的求解,工程上常用D-K迭代。说白了就是反复做两件事:

  1. D步:固定控制器,找最优的尺度变换矩阵D,让μ值最小化。
  2. K步:固定D,求解一个标准的H∞问题,更新控制器。

迭代到μ值小于1,或者不再下降为止。

注意: D-K迭代不保证收敛到全局最优。我建议你多试几个初始值,看看结果是否一致。另外,迭代次数一般控制在10次以内,多了意义不大。

2.4 知识体系总览

下面这张图,是我自己总结的鲁棒控制核心逻辑。你看一眼,心里就有谱了:

鲁棒控制知识体系 问题:模型不确定性 非结构化不确定性 结构化不确定性 H∞控制:抑制最坏扰动增益 μ综合:处理结构化不确定性 加权函数选择 · 混合灵敏度 D-K迭代 · 结构奇异值μ 目标:鲁棒稳定 + 鲁棒性能

2.5 实战中的选择建议

说了这么多,到底什么时候用H∞,什么时候用μ综合?我根据自己的项目经验,给你个参考:

场景 推荐方法 理由
模型误差范围明确,且为单一来源 H∞控制 设计简单,计算量小,工程实现方便
多个参数独立变化,且变化范围已知 μ综合 能利用结构信息,降低保守性
实时性要求高(如无人机飞控) H∞(固定阶) μ综合迭代计算量大,实时性差
安全关键系统(如核电站) μ综合 鲁棒性验证更严格,μ值分析更可靠
我的习惯: 先用H∞快速得到一个可用的控制器,再用μ分析检查鲁棒裕度。如果μ值偏大,再切换到μ综合精细调优。这样效率最高。

2.6 一个简单的H∞设计示例

光说不练假把式。我给你看个实际代码片段。这是用MATLAB做的一个H∞控制器设计,对象是个二阶系统:

% 被控对象:二阶系统
s = tf('s');
G = 1 / (s^2 + 0.5*s + 1);

% 加权函数
W1 = 0.1 * (s+10) / (s+0.01);  % 性能加权
W2 = 0.1;                       % 控制加权

% 构建增广对象
P = augw(G, W1, W2);

% H∞综合
[K, CL, gamma] = hinfsyn(P, 1, 1);

% 检查结果
disp(['最优γ值: ', num2str(gamma)]);

你看,核心代码就这么几行。但我要提醒你——加权函数W1和W2的选取,才是真正的功夫。我刚开始做的时候,gamma值怎么调都降不下来。后来发现是W1的转折频率选错了,跟系统带宽不匹配。改完之后,gamma直接从2.3降到了0.8。

注意: hinfsyn返回的γ值如果大于1,说明性能指标没达到。这时候别急着调控制器,先检查加权函数是否合理。

2.7 小结

好了,这一章的内容就这些。总结一下:

  • H∞控制:处理非结构化不确定性,用加权函数刻画性能需求。设计直观,工程应用广。
  • μ综合:处理结构化不确定性,用D-K迭代求解。精度高,但计算量大。
  • 实战要点:加权函数是灵魂,μ分析是检验工具。别迷信理论最优,要结合工程实际。

说实话,鲁棒控制这东西,光看书是学不会的。我建议你找个实际系统,哪怕是个简单的电机,动手做一遍H∞和μ综合的设计流程。踩几个坑,你就真正理解了。


专注资料整理