H-infinity 鲁棒控制系统设计与仿真
项目介绍
本项目提供了一个基于 MATLAB 环境的 H-infinity 鲁棒控制设计完整流程示例。该系统旨在解决具有低阻尼特性、模型不确定性以及外部干扰的动态系统控制问题。通过频率域的加权函数设计,将控制性能需求(如稳态误差、带宽)与鲁棒稳定性要求(如模型摄动抑制、高频噪声衰减)转化为一个统一的数学优化问题,并利用现代控制理论中的 H-infinity 综合算法求解最优反馈控制器。
功能特性
- 多目标性能平衡:通过设置灵敏度加权函数 W1、控制量加权函数 W2 和补灵敏度加权函数 W3,在系统的跟踪精度、执行器限制与鲁棒稳定性之间实现最优权衡。
- 广义受控对象构建:利用状态空间方法整合标称模型与加权函数,构建包含外部参考输入、外界扰动及误差评估信号的广义受控对象(Generalized Plant)。
- 自动化控制器综合:基于最优控制理论,自动求解闭环系统最小 H-infinity 范数,生成鲁棒反馈控制器。
- 鲁棒性压力测试:系统内置了参数显著偏移的摄动模型,用于验证在系统物理参数发生变化(如惯性增加、增益衰减)时,控制器的稳定性与性能保持能力。
- 多维度仿真验证:提供频域(奇异值特性分析)与时域(步跃响应、脉冲扰动抑制)的全方位仿真数据展示。
使用方法- 确保计算机已安装 MATLAB 及其控制系统工具箱(Control System Toolbox)。
- 将核心程序脚本放置在 MATLAB 工作路径中。
- 运行控制脚本,程序将自动执行模型建立、权重设定、控制器求解及结果可视化流程。
- 观察控制台输出的 Gamma 值(Gamma < 1 通常表示满足性能设计要求)。
- 查看生成的频率分析图与时域响应图,评估控制器在标称系统及摄动系统下的表现。
系统要求
- 软件环境:MATLAB R2016b 或更高版本。
- 必备工具箱:Control System Toolbox。
- 硬件要求:标准桌面运行环境。
实现逻辑说明程序逻辑严格按照鲁棒控制设计的标准化步骤展开:
- 受控对象建模:首先定义一个二阶低阻尼标称模型(Nominal Plant),并将其从传递函数形式转换为状态空间模型,以保证后续矩阵计算的数值稳定性。
- 权函数设计:
*
W1 被设定为一个低通特性的传递函数,通过定义允许的稳态误差(A)和控制带宽(wb)来规范灵敏度函数 S 的形状。
*
W2 被设定为一个小常数,用于对控制能量进行惩罚,防止控制器输出过大导致执行器饱和。
*
W3 被设定为一个高通特性的传递函数,旨在在模型不确定性较大的高频段抑制补灵敏度函数 T。
- 构造广义受控对象:使用 augw 函数将标称模型与上述三个权函数连接。由此产生的广义受控对象 P 具有特定的输入输出结构,能够衡量误差信号、控制输入和被控输出。
- 求解控制器:调用 hinfsyn 函数。该函数采用代数黎卡提方程或 LMI 方法,计算使闭环系统从外部干扰到评估信号的 H-infinity 范数(Gamma 值)最小化的状态空间控制器 K。
- 系统集成与分析:
* 计算标称系统的开环增益 L、灵敏度函数 S 和补灵敏度函数 T。
* 构建摄动模型,其中对系统的频率和阻尼参数进行了 30% 到 50% 的偏移,用以模拟真实物理系统中的老化或环境变化。
- 结果可视化:
*
频域分析:绘制 S 和 T 的奇异值曲线,并将其与 1/W1、1/W3 的目标边界进行对比,验证是否实现了预定的性能要求。
*
时域分析:通过 step 函数对比标称与摄动系统的阶跃响应,观察超调量与调节时间。
*
抗扰动测试:使用 lsim 函数模拟在系统运行过程中(如 t=5s)加入外部脉冲扰动,观察系统消除扰动并恢复平衡的能力。
关键算法与细节分析
- 混合灵敏度设计(Mixed-Sensitivity Design):这是该系统的核心算法架构,通过同时最小化 [W1S; W2KS; W3T] 的范数,避免了由于单纯追求性能而导致的系统失稳问题。
- H-infinity 范数最小化:hinfsyn 函数的核心是搜索最优的 Gamma 值,确保闭环系统的最大增益在所有频率点下都处于受控状态。
- 广义状态空间(Augmented State-Space):通过将权函数的动态特性并入受控对象,控制器 K 不仅感知系统的物理输出,还“感知”了加权后的误差趋势,这使得生成的控制器具有内在的动态补偿能力。
- 鲁棒波动验证:代码中手动修改了受控对象的分子分母系数,这模拟了结构化的参数不确定性(Parametric Uncertainty),是评估 H-infinity 控制器实用性的核心手段。