
1. 从经典控制到鲁棒控制为什么我们需要H∞如果你是从经典控制理论比如PID、根轨迹、频域法一路学过来的那么第一次接触H∞控制时大概率会感到一阵眩晕。它不像PID那样直观也不像LQR那样有明确的二次型性能指标。它引入了一堆新的数学工具——范数、线性分式变换、Riccati方程、状态空间实现——看起来像是为了复杂而复杂。但请相信我H∞控制不是数学家们的自娱自乐。它解决的是一个在真实工程世界中经典控制理论常常“假装看不见”的核心痛点模型不确定性。回想一下你设计一个PID控制器的过程。你首先得有一个被控对象的数学模型可能是通过机理建模或者系统辨识得到的传递函数。然后你在这个“名义模型”上调整参数让阶跃响应超调小、调节时间快。一切看起来都很美好。然而当你把这个控制器装到真实的物理系统上时问题来了响应曲线和仿真对不上甚至系统变得不稳定。为什么会这样因为你的模型永远只是对现实世界的一个近似。这个近似误差就是模型不确定性。它可能来自参数摄动电机电阻、电感会随温度变化机械结构的质量、阻尼系数难以精确测量。未建模动态在高频段你忽略的传感器噪声、执行器饱和、结构谐振模态。工作点变化飞行器在不同高度和速度下气动参数截然不同化学反应器在不同温度和浓度下动力学特性也会改变。经典控制理论如频域校正也讲究“鲁棒性”比如留出足够的相位裕度和增益裕度。但这更像是一种经验性的“安全余量”缺乏系统性的量化分析和最优设计。换句话说你无法确切地知道你设计的这个留有60度相位裕度的控制器到底能容忍多大程度的模型误差。H∞控制正是为了系统性地、量化地解决这个问题而生的。它的核心思想可以概括为一句话设计一个控制器使得从外部干扰包括模型不确定性到我们关心的输出通常是跟踪误差或控制量的传递函数的“最大增益”即H∞范数最小化。这里的“最大增益”是在所有频率上取的。想象一下你的系统对不同频率的干扰信号放大能力不同。H∞范数就是找到那个被放大得最厉害的频率点并把这个放大倍数压到最小。这相当于给系统戴上了一副“均匀衰减”的眼镜确保在任何频率下干扰对系统性能的影响都不会超过某个上限。所以H∞控制器的设计目标非常明确在存在模型不确定性和外部干扰的情况下保证系统的稳定性和性能。它不是为了在理想模型下获得“最优”响应而是为了在最坏情况下的干扰和模型误差下依然能获得“可以接受”的性能。这种“最坏情况最优”的思想正是其强大鲁棒性的来源。2. H∞范数理解“最坏情况”放大器的度量尺要深入H∞控制必须彻底理解H∞范数。它不像我们熟悉的H2范数与信号能量相关常用于LQG控制H∞范数描述的是系统在频域上的“峰值增益”是衡量系统鲁棒性的天然标尺。2.1 从传递函数到奇异值Bode图对于一个稳定的线性时不变LTI多输入多输出MIMO系统其传递函数矩阵为 ( G(s) )。H∞范数定义为 [ |G|{\infty} \sup{\omega \in \mathbb{R}} \bar{\sigma}(G(j\omega)) ] 其中( \sup ) 是上确界可以简单理解为在所有频率 ( \omega ) 上取最大值。( \bar{\sigma}(\cdot) ) 表示矩阵的最大奇异值。( G(j\omega) ) 是频率响应矩阵。对于单输入单输出SISO系统传递函数是个标量 ( g(s) )最大奇异值退化为复数的模幅值。因此SISO系统的H∞范数就是其Bode幅频特性曲线的峰值 [ |g|{\infty} \sup{\omega} |g(j\omega)| ]一个关键的理解H∞范数衡量的是系统对“最坏情况”输入信号的放大能力。这个“最坏情况”输入信号是一个与系统频率响应特性“对齐”的正弦信号它能在特定频率下激发出系统最大的增益。注意计算连续时间系统的H∞范数通常需要求解一个哈密顿矩阵的特征值问题或者通过迭代算法如二分法在频率网格上搜索峰值。MATLAB中的norm(sys, inf)或hinfnorm(sys)函数封装了这些算法。2.2 一个直观的SISO例子低通滤波器假设我们有一个一阶低通滤波器( G(s) \frac{1}{s1} )。 它的频率响应幅值为( |G(j\omega)| \frac{1}{\sqrt{\omega^2 1}} )。 显然当 ( \omega 0 ) 时幅值最大为1。因此这个系统的H∞范数 ( |G|_{\infty} 1 )。这意味着任何频率的输入信号经过这个系统后其输出幅值最大不会超过输入幅值。如果这是一个从干扰 ( d ) 到输出 ( y ) 的通道( y G d )那么我们就说“干扰到输出的增益”不超过1。2.3 MIMO情形与方向性对于MIMO系统情况更有趣。奇异值Bode图会给出多条曲线最大奇异值 ( \bar{\sigma} )最小奇异值 ( \underline{\sigma} ) 等。H∞范数关注的是最上面的那条曲线( \bar{\sigma} )的峰值。这里体现了MIMO系统的方向性。最大奇异值 ( \bar{\sigma}(G(j\omega)) ) 对应的是在频率 ( \omega ) 下能使输出能量最大的那个特定输入方向。H∞范数就是所有频率上这些“最坏方向”增益的最大值。在控制中的意义当我们说“最小化从 ( w ) 到 ( z ) 的传递函数 ( T_{zw} ) 的H∞范数”时我们是在要求对于所有可能的外部输入信号 ( w )包括干扰和模型不确定性其对我们关心的输出 ( z )如跟踪误差的影响在最坏情况下的放大倍数要尽可能小。这直接对应了鲁棒稳定性和鲁棒性能。3. 标准H∞控制问题与广义被控对象H∞控制器的设计不是直接针对原始的被控对象 ( P(s) )而是通过一个巧妙的框架将稳定性、性能、鲁棒性等所有要求统一转化为一个“广义被控对象”的互联问题。3.1 广义被控对象的构建我们把所有信号分为四类外部输入 ( w ): 包括我们不想看到但无法控制的所有信号如参考指令、干扰、噪声、以及代表模型不确定性的虚拟信号。控制输入 ( u ): 控制器输出的、用于调节系统的信号。被控输出 ( z ): 我们真正关心、希望其“变小”的信号通常是跟踪误差、控制作用反映能耗、或者与不确定性相关的信号。设计目标就是最小化 ( w ) 到 ( z ) 的增益。测量输出 ( y ): 控制器实际能测量到的信号通常是传感器输出可能混有噪声。广义被控对象 ( G(s) ) 描述了这些信号之间的关系 [ \begin{bmatrix} z \ y \end{bmatrix} G(s) \begin{bmatrix} w \ u \end{bmatrix} \begin{bmatrix} G_{zw}(s) G_{zu}(s) \ G_{yw}(s) G_{yu}(s) \end{bmatrix} \begin{bmatrix} w \ u \end{bmatrix} ] 然后我们设计控制器 ( K(s) )使得 ( u K(s) y )。通过代数运算可以得到从外部输入 ( w ) 到被控输出 ( z ) 的闭环传递函数矩阵 [ T_{zw}(s) G_{zw} G_{zu}K(I - G_{yu}K)^{-1}G_{yw} ] 这个公式称为下线性分式变换。标准H∞优化问题就定义为寻找一个真或严格真的、使闭环系统内部稳定的控制器 ( K(s) )使得闭环传递函数 ( T_{zw}(s) ) 的H∞范数最小化 [ \min_{K \text{ stabilizing}} | T_{zw}(K) |{\infty} ] 通常我们寻求的是次优解找到一个控制器 ( K )使得 ( | T{zw} |_{\infty} \gamma )其中 ( \gamma ) 是一个给定的正数。然后通过迭代如γ迭代找到近似的最优 ( \gamma )。3.2 权函数工程要求的数学翻译如何把“跟踪要快”、“超调要小”、“控制量不能太大”、“抑制某个频段的干扰”这些模糊的工程语言塞进H∞框架里答案就是权函数。权函数是设计者手中的“调音旋钮”。我们通过给不同的信号通道加权来塑造闭环系统的频率特性。性能权函数 ( W_p(s) ): 加在被控输出 ( z )通常是跟踪误差 ( e )上。为了获得好的跟踪性能我们希望低频段增益小即对参考指令和低频干扰不敏感。因此( W_p(s) ) 通常是一个低通特性在低频有一个高增益实际上是倒数关系( z W_p e )我们希望 ( e ) 小就要求 ( W_p ) 在低频大使得 ( z ) 被放大从而在优化中被重点抑制。典型形式( W_p(s) \frac{s/M \omega_B}{s \omega_B A} )其中 ( A ) 是低频增益要求误差小于1/A( \omega_B ) 是带宽( M ) 是高频增益限制峰值。控制权函数 ( W_u(s) ): 加在控制输入 ( u ) 上。为了限制控制能量、避免执行器饱和我们希望高频控制量小。因此( W_u(s) ) 通常是一个高通特性在高频有一个高增益。典型形式一个高通滤波器或常数用于在特定频段惩罚控制动作。干扰/不确定性权函数 ( W_d(s), \Delta(s) ): 用于描述干扰的频谱特性或模型不确定性的范围和结构。例如如果知道干扰主要集中在中频就可以用带通特性的 ( W_d(s) ) 来描述。通过精心选择这些权函数并将它们与原始被控对象 ( P(s) ) 按一定结构连接起来我们就构建出了最终的广义被控对象 ( G(s) )。H∞控制器设计过程本质上就是在这些相互矛盾的权函数要求之间如性能vs鲁棒性快速性vs控制量限制寻找一个最优的折衷。4. 状态空间解法Riccati方程与DGKF公式H∞控制理论最漂亮也最实用的成果之一就是给出了标准问题在状态空间下的可解性条件并提供了控制器的显式构造公式。这主要归功于Doyle, Glover, Khargonekar和Francis在1989年发表的著名论文其结论常被称为DGKF公式。4.1 问题设定与假设考虑广义被控对象 ( G(s) ) 的一个状态空间实现 [ \dot{x} Ax B_1 w B_2 u \ z C_1 x D_{11} w D_{12} u \ y C_2 x D_{21} w D_{22} u ] 为了公式简洁和可解通常需要做一些标准假设例如( (A, B_2) ) 可稳( (C_2, A) ) 可检测保证输出反馈稳定化问题可解。( D_{12} ) 列满秩( D_{21} ) 行满秩保证控制输入和测量输出通道非奇异。一些频域秩条件用于保证正则性。这些假设在大多数物理系统中是自然满足的或者可以通过预处理满足。4.2 可解性条件与控制器构造对于给定的性能水平 ( \gamma 0 )存在一个控制器 ( K(s) ) 使得闭环系统内稳定且 ( | T_{zw} |{\infty} \gamma ) 的充分必要条件是满足以下两个Riccati不等式或等价地两个代数Riccati方程ARE的解 ( X{\infty} \geq 0 ) 和 ( Y_{\infty} \geq 0 ) 存在并且满足谱半径条件 ( \rho(X_{\infty}Y_{\infty}) \gamma^2 )。这两个Riccati方程分别与控制问题和估计问题相关控制Riccati方程(CARE): [ A^TX XA C_1^TC_1 X(\gamma^{-2}B_1B_1^T - B_2B_2^T)X 0 ] 它与LQR的Riccati方程很像但多了一项 ( \gamma^{-2}B_1B_1^T )这一项正体现了对干扰 ( w )通过 ( B_1 )的考虑。( \gamma ) 越小性能要求越高这一项的惩罚越大求解越困难。滤波Riccati方程(FARE): [ AY YA^T B_1B_1^T Y(\gamma^{-2}C_1^TC_1 - C_2^TC_2)Y 0 ] 它与Kalman滤波的Riccati方程类似多了一项 ( \gamma^{-2}C_1^TC_1 )。如果上述条件满足那么一个使得 ( | T_{zw} |{\infty} \gamma ) 的控制器可以由以下状态空间实现给出 [ \dot{\hat{x}} A\hat{x} B_1 \hat{w}^* B_2 u Z{\infty}L_{\infty}(y - C_2\hat{x} - D_{21}\hat{w}^*) \ u -K_{\infty}\hat{x} ] 其中( K_{\infty} B_2^T X_{\infty} ) 状态反馈增益( L_{\infty} Y_{\infty} C_2^T ) 观测器增益( Z_{\infty} (I - \gamma^{-2}Y_{\infty}X_{\infty})^{-1} )( \hat{w}^* \gamma^{-2}B_1^T X_{\infty} \hat{x} ) 是对最坏情况干扰 ( w ) 的估计这个控制器结构非常富有启发性它是一个基于最坏情况干扰估计的观测器状态反馈控制器。它既像LQG分离定理但又通过项 ( Z_{\infty} ) 和 ( \hat{w}^* ) 耦合在一起体现了H∞问题的非经典信息结构。4.3 实操中的γ迭代在实际使用中比如MATLAB的hinfsyn函数我们通常不知道最小的 ( \gamma )即最优性能水平 ( \gamma_{opt} )是多少。算法会执行一个γ迭代过程给定一个 ( \gamma ) 的猜测区间 ( [\gamma_{low}, \gamma_{high}] )。取中点 ( \gamma_{mid} (\gamma_{low} \gamma_{high})/2 )。尝试求解对应的Riccati方程检查可解性条件。如果可解则令 ( \gamma_{high} \gamma_{mid} )说明存在性能更好的控制器否则令 ( \gamma_{low} \gamma_{mid} )。重复步骤2-4直到区间长度小于预设容差。最终得到的 ( \gamma_{opt} ) 就是理论上的最小H∞范数对应的控制器就是次优H∞控制器。5. 混合灵敏度设计最经典实用的配置方案在众多H∞问题配置中S/KS/T 混合灵敏度问题无疑是最经典、最直观、工程上应用最广泛的一种。它直接针对反馈系统的三个核心传递函数进行整形。5.1 灵敏度函数S与补灵敏度函数T考虑标准的单位反馈系统其中 ( P ) 为被控对象( K ) 为控制器。灵敏度函数 ( S(s) ): ( S (I PK)^{-1} )。它描述了从参考输入 ( r ) 到跟踪误差 ( e ) 的传递函数( e S r )。同时它也等于从输出干扰 ( d_o ) 到输出 ( y ) 的传递函数。( S ) 决定了系统的跟踪性能和干扰抑制能力。我们希望 ( S ) 在低频段增益小好跟踪抑干扰在高频段可以大。补灵敏度函数 ( T(s) ): ( T I - S PK(IPK)^{-1} )。它描述了从参考输入 ( r ) 到输出 ( y ) 的传递函数( y T r )。同时它也等于从传感器噪声 ( n ) 到输出 ( y ) 的传递函数。更重要的是( T ) 决定了系统对乘性模型不确定性的鲁棒稳定性。我们希望 ( T ) 在高频段增益小抑制噪声增强鲁棒性在低频段接近1好跟踪。控制灵敏度函数 ( KS(s) ): ( KS K(IPK)^{-1} )。它描述了从参考输入 ( r ) 到控制输入 ( u ) 的传递函数( u KS r )。( KS ) 决定了控制器的输出能量和执行器活动。我们希望 ( KS ) 在整个频段特别是高频段增益不要太大以避免执行器饱和和高频抖动。这三个函数不是独立的它们满足一个非常重要的恒等式 [ S(s) T(s) I ] 这意味着你无法让 ( S ) 和 ( T ) 同时在所有频率上都小。这构成了反馈系统设计的一个根本性约束。5.2 混合灵敏度问题框架混合灵敏度问题的目标就是通过设计控制器 ( K )同时对 ( S )、( KS )、( T ) 进行加权约束。其广义被控对象结构如下图所示此处为描述不画图 外部输入 ( w [r, d_o, n]^T )参考、输出干扰、噪声。 被控输出 ( z [W_p e, W_u u, W_t y]^T [W_p S, W_u KS, W_t T] w )。 测量输出 ( y_m r - y n )通常情况。设计目标就是最小化从 ( w ) 到 ( z ) 的传递函数的H∞范数 [ | T_{zw} |{\infty} \left| \begin{bmatrix} W_p S \ W_u KS \ W_t T \end{bmatrix} \right|{\infty} 1 ] 注意这里通常将性能目标归一化为小于1。这意味着( |W_p S| 1 ) ( |S| 1/|W_p| )。由于 ( W_p ) 是低通低频大这迫使 ( S ) 在低频必须很小。( |W_u KS| 1 ) ( |KS| 1/|W_u| )。由于 ( W_u ) 可能是高通或常数这限制了控制能量。( |W_t T| 1 ) ( |T| 1/|W_t| )。由于 ( W_t ) 是高通高频大这迫使 ( T ) 在高频必须滚降。权函数选择的艺术( W_p(s) ): 选择其幅频特性的倒数为期望的灵敏度函数 ( S ) 的上界。低频增益高带宽 ( \omega_B ) 处穿越0dB高频增益低如 ( M2 )。( W_u(s) ): 一个小的常数如0.1或简单的高通用于限制控制带宽和幅值。( W_t(s) ): 选择其幅频特性的倒数为期望的补灵敏度函数 ( T ) 的上界。高频增益高通常其转折频率略高于 ( W_p ) 的带宽用于在高于带宽的频率段快速滚降 ( T )以提供鲁棒稳定裕度并抑制噪声。5.3 设计流程与MATLAB示例假设有一个二阶振荡对象( P(s) \frac{1}{s^2 0.1s 1} )。我们设计一个混合灵敏度H∞控制器。% 1. 定义被控对象 s tf(s); P 1/(s^2 0.1*s 1); % 2. 设计权函数 % 性能权函数 Wp: 要求低频跟踪误差 0.01 (40dB), 带宽约 1 rad/s, 高频峰值为2 Wp (s/1.414 1)/(s/100 1); % 简化形式实际可用 makeweight 函数 % 更精确的构造 % 低频增益 A 0.01, 带宽 wb 1, 高频峰值 M 2 % Wp (s/M wb) / (s wb*A); Wp (s/2 1) / (s 1*0.01); % 控制权函数 Wu: 简单常数限制控制量 Wu 0.1; % 鲁棒性/噪声权函数 Wt: 要求高频段T小转折频率设为5 rad/s Wt (s/5 1)/(s/50 0.01); % 分子使高频增益大分母使低频增益小 % 或 Wt (s wb) / (M*s wb*A) 形式其中高频段1/M小。 % 3. 构建广义被控对象P增广 % 混合灵敏度结构: z [Wp*e; Wu*u; Wt*y], w r, y_m r-y (假设无噪声) systemnames P Wp Wu Wt; inputvar [r]; outputvar [Wp; Wu; Wt]; input_to_P [u]; input_to_Wp [r-P]; % e r - y input_to_Wu [u]; input_to_Wt [P]; % y P*u sys_ic sysic; % 使用sysic命令连接需要鲁棒控制工具箱 % 更现代的方法是使用connect()函数或直接状态空间构建。 % 4. 求解H∞控制器 [K_hinf, ~, gamma] hinfsyn(sys_ic, 1, 1); % 1个测量输出1个控制输入 disp([Achieved H∞ norm γ , num2str(gamma)]); % 5. 分析闭环系统 T feedback(P*K_hinf, 1); S 1 - T; KS K_hinf*S; % 绘制加权灵敏度幅值图 figure; bodemag(Wp*S, r--, Wu*KS, g--, Wt*T, b--, ... {1e-2, 1e2}); grid on; legend(Wp*S, Wu*KS, Wt*T); title(Weighted Sensitivity Functions - Should be 1 (0 dB)); % 检查是否所有曲线都在0dB以下通过反复调整权函数参数( W_p ) 的带宽和低频增益( W_t ) 的转折频率观察加权灵敏度曲线是否全部被压到0dB以下以及最终闭环阶跃响应的性能是混合灵敏度设计的核心迭代过程。6. μ分析与综合处理结构不确定性的进阶工具标准的H∞控制虽然能处理“非结构化不确定性”用单一范数界描述的整体偏差但在面对明确知道结构的参数摄动或多块不确定性时可能显得保守。μ分析与综合正是为了更精细地处理这类“结构不确定性”而发展起来的工具。6.1 结构奇异值μ的概念考虑一个互联系统 ( M - \Delta )其中 ( M ) 是已知的稳定传递函数矩阵( \Delta ) 是结构化的不确定性块通常具有块对角形式 [ \Delta \text{diag}(\delta_1 I_{r1}, \delta_2 I_{r2}, ..., \Delta_1, \Delta_2, ...) ] 其中 ( \delta_i ) 是重复的标量不确定性如同一个参数在多个地方出现( \Delta_j ) 是满块的不确定性如未建模动态。每个不确定性块都有一个范数上界 ( \bar{\sigma}(\Delta) 1 )。系统鲁棒稳定的条件是对于所有满足结构的 ( \Delta )闭环系统都稳定。这等价于检查一个被称为结构奇异值的量 [ \mu_{\Delta}(M(j\omega)) \frac{1}{\min{\bar{\sigma}(\Delta) | \det(I - M\Delta)0, \Delta \in \mathbf{\Delta}}} ] 如果对于所有 ( \omega )都有 ( \mu_{\Delta}(M(j\omega)) 1 )那么系统对于所有范数小于1的结构化不确定性 ( \Delta ) 是鲁棒稳定的。μ与H∞的关系H∞范数 ( |M|{\infty} ) 对应于 ( \Delta ) 可以是任意满块矩阵时的情形。而μ则考虑了 ( \Delta ) 的特定结构。因此总有 ( \mu{\Delta}(M) \leq \bar{\sigma}(M) )。当不确定性具有已知结构时基于μ的判据比基于H∞范数的判据( |M|_{\infty} 1 )更不保守。6.2 μ分析与综合流程μ分析给定一个控制器 ( K ) 和标称对象 ( P )构建不确定闭环系统提取出 ( M - \Delta ) 结构。然后计算频率响应矩阵 ( M(j\omega) ) 在各个频率点的结构奇异值 ( \mu(\omega) )。绘制 ( \mu ) 曲线如果峰值 ( \mu_{max} 1 )则系统具备鲁棒稳定性如果 ( \mu_{max} ) 仅略大于1则系统接近失稳边界。μ分析是一个强大的分析验证工具。μ综合比μ分析更进一步它是一个设计工具。其目标是直接设计一个控制器 ( K )使得闭环系统的结构奇异值 ( \mu_{\Delta}(T_{zw}) ) 在所有频率上最小化或使其峰值小于1。这可以表述为一个 ( D - K ) 迭代问题固定缩放矩阵 ( D )用H∞优化方法求解控制器 ( K )。固定控制器 ( K )用凸优化方法求解最优的缩放矩阵 ( D )。迭代进行1和2直到收敛。μ综合得到的控制器能比标准的H∞控制器更好地利用不确定性的结构信息从而在保证同样鲁棒性水平的前提下可能获得更好的性能或者在同样性能要求下能容忍更大的不确定性。6.3 在MATLAB中的应用MATLAB的鲁棒控制工具箱提供了完整的μ分析与综合函数。% 假设已有标称对象P和定义好的不确定性块如ureal参数 % 1. 构建不确定对象 m ureal(m, 1, Range, [0.8, 1.2]); % 质量参数有20%不确定性 d ureal(d, 0.1, Range, [0.05, 0.15]); % 阻尼参数 P_unc tf(1, [m, d, 1]); % 不确定对象 % 2. 构建广义被控对象G连接性能权函数等同H∞设计 % 3. μ分析先设计一个初始控制器K0可以是H∞控制器 [K0, ~, ~] hinfsyn(G, ny, nu); CL lft(P_unc, K0); % 形成不确定闭环系统 % 计算鲁棒稳定性边界 [stabmarg, destabunc, info] robstab(CL); disp([鲁棒稳定裕度: , num2str(stabmarg.LowerBound)]); % 绘制μ上界 figure; omega logspace(-1, 2, 100); [mu_info] mussv(frd(CL, omega), blk); mu_lower mu_info.Response(:,1); mu_upper mu_info.Response(:,2); semilogx(omega, [mu_lower, mu_upper]); grid on; legend(μ下界, μ上界); title(鲁棒稳定性μ分析); % 4. μ综合如果分析结果不满足要求 [K_mu, cl_mu, info_mu] dksyn(G, ny, nu); % D-K迭代μ综合的计算量通常远大于H∞综合但对于处理复杂的多变量系统、同时存在参数摄动和动态不确定性的问题它是不可或缺的高级工具。7. 工程实现中的挑战与调参心得理论再完美最终都要落地到代码和硬件上。在实际工程中应用H∞控制会遇到一系列理论课上不会讲的挑战。7.1 控制器阶次过高问题无论是通过Riccati方程还是LMI求解得到的H∞控制器其阶次都等于广义被控对象 ( G(s) ) 的阶次。而 ( G(s) ) 包含了被控对象和所有权函数。如果被控对象本身是10阶再加上几个权函数通常至少2阶得到的控制器可能就是14阶或更高。高阶控制器的弊端实现复杂需要更多的计算资源对微处理器的要求高。数值敏感高阶系统更容易出现数值不稳定问题。可靠性阶次越高出现未建模的高频动态引发不稳定风险的可能性越大。解决方案模型降阶在综合控制器之前先对被控对象进行模型降阶如平衡截断、Hankel范数近似得到一个低阶的近似模型用于设计。控制器降阶先设计出高阶的H∞控制器再对其进行降阶。MATLAB中的reduce或balred函数可以用于此目的。关键是要在降阶后重新进行鲁棒性分析和性能验证确保降阶控制器没有破坏关键的稳定性和性能边界。固定结构H∞优化使用hinfstruct等工具直接针对一个预设的低阶控制器结构如PID、低阶超前滞后进行参数优化使其近似满足H∞性能指标。这牺牲了全局最优性但获得了极简的控制器结构。7.2 权函数选择的试错与经验权函数的选择是H∞设计中最具“艺术性”的部分没有一成不变的公式。以下是一些实用的调参心得从简单开始初始设计时权函数尽量简单。例如混合灵敏度中可以先设 ( W_u ) 为一个很小的常数如1e-3( W_t ) 先不接集中精力调 ( W_p ) 来获得期望的带宽和低频增益。性能达标后再引入 ( W_t ) 来整定鲁棒性最后用 ( W_u ) 限制控制量。性能与鲁棒性的权衡( W_p ) 的带宽和 ( W_t ) 的转折频率是跷跷板。提高 ( W_p ) 的带宽要求更快跟踪会迫使 ( T ) 在更宽频段内接近1这会牺牲高频段的鲁棒性。通常需要将 ( W_t ) 的转折频率设置为略高于 ( W_p ) 的带宽如1.5-2倍以提供一个平滑的过渡区。检查奇异值曲线设计完成后一定要绘制加权灵敏度函数 ( W_p S )、( W_u KS )、( W_t T ) 的奇异值Bode图。确保它们的峰值即H∞范数确实小于10dB。最理想的情况是这些曲线在0dB附近“均匀地”被推高这说明所有设计目标被平等地满足。如果某条曲线远低于0dB而另一条紧贴0dB说明设计存在冗余可以尝试收紧要求高的那个权函数放松要求低的那个以获得更平衡的性能。时域验证必不可少频域指标达标后必须进行时域仿真。观察阶跃响应的超调、调节时间、控制输入信号是否饱和、对脉冲干扰的抑制效果等。时域响应不理想时需要回到频域调整权函数。例如超调过大可能是因为 ( S ) 在穿越频率附近的峰值太高需要调整 ( W_p ) 的高频部分来压制这个峰值。7.3 离散化与数字实现连续时间设计的控制器最终需要在数字处理器上运行这就涉及到离散化。离散化方法优先使用c2d函数的tustin双线性变换或matched方法它们能保持频率响应的某些特性。避免使用zoh零阶保持因为它可能在高频段引入较大畸变。采样频率选择根据闭环系统期望的带宽 ( \omega_B )采样频率 ( \omega_s ) 应满足 ( \omega_s 10 \omega_B )最好能达到 ( 20 \omega_B ) 以上。H∞控制器可能具有较高的高频增益过低的采样率会导致混叠和性能严重下降。验证将离散化后的控制器代入离散时间模型进行仿真并与连续时间仿真结果对比。特别要关注在采样点之间的行为可通过更精细的仿真步长观察。7.4 当H∞无解时怎么办有时无论怎么调整权函数hinfsyn都返回“无法找到可行控制器”即γ迭代下界无法降到1以下。这通常意味着设计目标之间存在根本性冲突。检查设计目标是否过于严苛例如是否要求了过高的带宽同时又要极小的控制量是否在同一个频段既要求 ( S ) 小性能好又要求 ( T ) 小鲁棒性好根据 ( STI ) 的约束这在同一频率点是不可能的。你需要放松其中一个要求。检查被控对象是否本质困难对于非最小相位系统或具有严重时滞的系统其性能存在理论极限如Bode积分定理、Poisson积分约束。H∞控制也无法突破这些物理极限。你需要接受更低的性能指标或者考虑改变被控对象如增加执行器或传感器。尝试不同的问题构型混合灵敏度不是唯一的构型。对于干扰抑制问题可能更适合采用 ( G - K - S ) 构型对于模型跟随问题可能采用二自由度控制构型。换个思路可能柳暗花明。考虑μ综合如果问题是由于复杂的结构化不确定性导致的保守性尝试使用μ综合可能找到解。H∞控制是一个强大的工具箱但它不是魔术。它不能违背物理规律和数学约束。理解其背后的原理和限制才能将其有效地应用于工程实践。我的经验是将H∞控制视为一个系统性的“频率整形”工具用它来将模糊的工程需求转化为清晰的数学约束并在相互矛盾的目标中找到最佳平衡点。这个过程需要耐心、反复的迭代和对系统物理本质的深刻理解。