Multi-Variable Feedback Control Analysis and Design
项目介绍
本项目基于 Sigurd Skogestad 与 Ian Postlethwaite 合著的经典教材《Multivariable Feedback Control: Analysis and Design》开发,通过 MATLAB 完整实现了一套多变量(MIMO)控制系统的分析与设计流程。
核心案例选用了书中经典的 LV-构型蒸馏塔模型(Distillation Column)。该系统是一个双输入双输出(2x2)系统,具有高条件数和强方向性的特点,是验证鲁棒控制算法的理想对象。项目代码不仅涵盖了基础的开环特性分析,还深入实现了以 H-infinity 和 Mu 综合为核心的现代鲁棒控制策略,并辅以 LMI 求解和模型降阶技术,展示了从理论建模到控制器设计的完整工程链路。
功能特性
- 多变量系统建模:建立具有特定时间常数的 MIMO 传递函数矩阵模型,定义标准输入输出(回流 L、蒸汽流 V 及对应的组分浓度)。
- 频域特性分析:通过奇异值分解(SVD)和相对增益阵(RGA)分析系统的方向性、增益边界及输入输出配对交互作用。
- H-infinity 鲁棒控制设计:基于混合灵敏度问题(Mixed Sensitivity),设计 H-infinity 控制器以平衡性能、控制做功及鲁棒性。
- 结构不确定性与 Mu 分析:引入参数不确定性模型,利用结构奇异值(Structured Singular Value, $mu$)评估系统的鲁棒稳定性(Robust Stability)。
- 线性矩阵不等式(LMI)设计:演示利用 LMI 工具箱求解状态反馈增益矩阵,实现基于 Lyapunov 稳定性的极点配置。
- 模型降阶:基于平衡截断法(Balanced Truncation)和 Hankel 奇异值分析系统状态能量,实现模型阶次约减。
- 闭环时域仿真:在设定点跟踪场景下,验证控制器的动态响应性能及控制量约束情况。
系统要求
- MATLAB R2018b 或更高版本
- Control System Toolbox(控制系统工具箱)
- Robust Control Toolbox(鲁棒控制工具箱)
- LMI Control Toolbox(线性矩阵不等式控制工具箱 - 若版本较旧可能集成于鲁棒工具箱中)
核心算法与实现逻辑
主程序代码严格按照控制理论的逻辑流程组织,具体实现细节如下:
1. 系统定义与建模
程序首先定义了 Skogestad 描述的蒸馏塔物理模型。构建了标称传递函数矩阵 $G(s)$,设定时间常数为 75 分钟。该模型捕捉了系统的高条件数特性,为后续的鲁棒性挑战奠定基础。
2. 多变量系统开环分析
- 奇异值分解 (SVD):计算并绘制系统及频率变化的奇异值曲线(Sigma Plot),直观展示系统的最大增益和最小增益方向,评估系统的可控性方向。
- 相对增益阵 (RGA):
* 计算稳态(零频)下的 RGA 矩阵,用于判断输入输出通道的最佳配对方案及交互程度。
* 计算 RGA 数(RGA Number)随频率的变化曲线,用于量化系统在不同频段下的对角优势程度,RGA 数越小表示交互作用越弱。
3. H-infinity 混合灵敏度控制设计
该模块利用 $S/KS/T$ 混合灵敏度架构进行控制器合成:
*
性能加权 ($W_p$):设计为低通滤波器形式,以确保低频段的高增益,从而实现良好的稳态误差消除及约 0.05 rad/min 的带宽。
*
控制加权 ($W_u$):设定为常数矩阵,用于限制控制动作的幅度,防止执行器饱和。
*
鲁棒性加权 ($W_t$):设计为高通滤波器形式,模拟高频段随频率增加而增大的乘性不确定性。
- 控制器合成:调用
mixsyn 函数,针对广义对象自动求解满足无穷范数指标最优的控制器 $K_{hinf}$。 - 频域验证:闭环后,绘制灵敏度函数 $S$ 和补灵敏度函数 $T$ 的奇异值曲线,并与性能加权 $1/W_p$ 的倒数进行对比,验证频域性能指标是否达成。
4. 鲁棒性 Mu (Structured Singular Value) 分析
为了评估模型参数变化下的系统稳定性:
- 不确定性建模:使用
ureal 对象为两个输入通道分别添加 20% 的乘性不确定性,构建不确定对象模型 $G_{unc}$。 - 鲁棒稳定性计算:构建闭环系统,并利用
robuststab 函数计算鲁棒稳定性裕度,分析导致系统失稳的最小扰动边界。 - 包络线仿真:计算并绘制不确定性闭环系统的阶跃响应包络图,直观展示在最坏情况下的系统动态范围。
5. 线性矩阵不等式 (LMI) 状态反馈设计
该部分展示了基于 LMI 的现代控制设计方法:
- 提取系统的状态空间矩阵 ($A, B, C, D$)。
- 定义 LMI 变量:对称正定矩阵 $P$ 和矩阵 $Y$。
- 构建矩阵不等式:$A P + P A^T + B Y + Y^T B^T + 2alpha P < 0$,其中 $alpha$ 用于指定极点配置的区域(即保证闭环极点位于实部小于 $-alpha$ 的区域)。
- 利用 LMI 求解器
feasp 验证可行性,并从中解析出状态反馈增益矩阵 $K = Y P^{-1}$。
6. 模型降阶
- 利用
balreal 函数计算系统的平衡实现。 - 绘制 Hankel 奇异值柱状图,通过状态能量的大小判断哪些状态对系统输入输出行为贡献最大。
- 代码演示了基于
modred 的截断法,展示如何去除弱能控/弱能观的状态以简化模型。
7. 闭环时域仿真
- 构建设定点跟踪场景(参考输入为阶跃信号)。
- 利用
lsim 函数对 H-infinity 控制下的闭环系统进行线性仿真。 - 分别绘制输出响应(馏出液与底部成分)和控制输入(回流与蒸汽流),评估调节时间、超调量及控制量的平滑度。
8. Mu-Plot 分析图
- 详细计算并绘制结构奇异值 $mu$ 的频域曲线。
- 结合
mussv 和相关绘图工具,可视化鲁棒稳定性边界。$mu$ 值小于 1 意味着系统在设定的不确定性范围内保持稳定。
使用方法
- 启动 MATLAB 并设置工作路径至项目文件夹。
- 直接运行主脚本文件。
- 程序将自动依次执行上述所有分析步骤。
- 控制台窗口将输出 RGA 矩阵、Gamma 优化值、鲁棒稳定性报告及 LMI 求解状态。
- 系统将生成多个 Figure 窗口,分别展示:
* Figure 1: 开环奇异值与 RGA 分析。
* Figure 2: 用于模型降阶的 Hankel 奇异值分布。
* Figure 3: 闭环时域阶跃响应及控制量变化。
* Figure 4: 鲁棒稳定性 $mu$ 分析图或阶跃响应包络。