鲁棒控制(Ⅰ)—LMI处理方法

本文介绍了H∞控制理论的基本概念,包括H∞范数与H2范数的意义,以及如何使用Matlab中的hinflmi和hinfsyn命令设计H∞控制器。通过实例演示了如何计算控制器参数,验证闭环系统的稳定性和性能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

系统的H∞范数对应于bode图中幅值曲线的峰值,而系统的H2范数则对应于bode图中幅值曲线下方的面积。
H∞范数不超过一个上界,H2范数尽可能小,以保证系统对于不确定性具有鲁棒稳定性,并表现出更好的性能。
在状态反馈情况下,闭环系统的H∞性能并不能通过增加控制器的阶数来加以改进,因此,系统的H∞状态反馈控制器,总是能够选择一个静态控制律。
Matlab中计算Hinf最优控制器命令为:hinfsyn 或者 hinflmi。
连续系统控制器求解举例:

% hinflmi
clear;clc;
A = [0];
B = [1 2];
C = [1;-1];
D = [0 0;1 0];
P = ltisys(A,B,C,D);
% 计算性能指标,和最优控制器K的系统矩阵
[gopt,K] = hinflmi(P,[1,1])
% 计算控制器K的状态空间实现
[Ak,Bk,Ck,Dk] = ltiss(K)
% 如果要求满足Hoo性能gama<10的一个次优Hoo控制器,输入为:
% [g,K] = hinflmi(P,[1,1],10)
% 可以求出满足线性矩阵不等式矩阵X = y1,Y = x1
% [g,k,x1,x2,y1,y2] = hinflmi(P,[1,1],10);

%得到控制器矩阵K之后,计算闭环系统:
clsys = slft(P,K)
% 检测系统闭环稳定性,spol返回系统的闭环极点
spol(clsys)
% 从外部扰动w到被调输出z的闭环系统的RMS增益为:
norminf(clsys)
% 绘制闭环响应曲线
splot(clsys,'bo');
splot(clsys,'st');
% hinfsyn
Gp = ss(A,B,C,D);
[Kp,CL,gamma] = hinfsyn(Gp,1,1);
% CL相当于闭环之后的系统,也可以用下面语句求闭环系统
Gpc = lft(Gp,Kp);
step(CL)
% 闭环系统的奇异值图,以确定最大奇异值不超过gamma
sigma(CL,ss(gamma))
% 限制gamma的范围
ncont = 1; 
nmeas = 1; 
gamRange = [1.4 1.6];
[K,CL,gamma,info] = hinfsyn(Gp,nmeas,ncont,'GMIN',1.4,'GMAX',1.6)
step(CL)
% 如果尝试获得任何控制器都无法达到的性能水平,则会通知目标太小,
% 并返回空控制器和闭环系统。

为以下控制对象设计混合灵敏度控制器
在这里插入图片描述
Hinf控制器设计的关键是构建动态系统模型,系统模型具有以下形式:
在这里插入图片描述
如果P是具有不确定或可调控制设计块的广义状态空间模型,则hinfsyn将使用这些元素的标称值或当前值。
H∞控制的一种应用是直接对控制系统的闭环奇异值图进行整形。在此类应用中,可以通过加权函数(环路整形滤波器)来扩充控制对象的输入和输出,这些加权函数表示希望H∞控制器满足的控制目标。控制对象必须是能控和能观的。
默认情况下,hinfsyn会自动想控制对象中添加额外的干扰或者误差,以确保满足对P12,P21的限制,称为正则化。
CL是下面结构的闭环传递函数,也可以由CL = lft(P,K)得到。
在这里插入图片描述

算法:求解下述线性矩阵不等式:
在这里插入图片描述
hinfsyn提供了状态反馈增益和观测器增益,可以使用它们以观测器形式表达控制器。控制器K的观测器形式为:(其中Kx,Kw,Lx,Lu可以有info结构体得到)
在这里插入图片描述

% 定义控制对象,权重函数
s = zpk('s');
G = (s-1)/(s+1);
W1 = 0.1*(s+100)/(100*s+1); 
W2 = 0.1; 
W3 = [];
P = augw(G,W1,W2,W3);
% 控制器综合
[K,CL,gamma] = hinfsyn(P,1,1);
gamma
% 检查闭环奇异值
sigma(CL,ss(gamma))
### 回答1: H∞控制是一种基于最优控制的理论, 目前已经成为强大的控制工具。其具有抗干扰、鲁棒性好的优点。在控制器设计中,H∞控制器满足一定的性能指标,可以最大限度地减少非线性和系统扰动,在系统稳定性和性能之间实现良好的平衡。而MATLAB是一种工具,用于解决科学和工程问题。因为H∞控制器设计需要进行大量的计算和仿真工作,因此MATLAB是最常用的分析和绘图工具。 在MATLAB中,可以使用Robust Control Toolbox来实现H∞控制器的设计和分析。必须输入控制器设计的频率响应数据,即带权强度函数,以及各种性能限制。该工具箱可以自动计算控制器的权重参数,生成控制器,并且对系统进行分析,包括时域和频域响应等。此外,可以采用SISOTOOLS、GFTOOL等MATLAB工具箱来进行H∞控制器的设计和仿真等工作。SISOTOOLS用于研究线性控制系统设计问题,提供频域和时域分析,系统校准以及图形工具。而GFTOOL可以对系统的幅度、相位、极点和零点进行分析,同时生成bode、nyquist等图像。 总之,在MATLAB中实现H∞控制器的设计和分析相对简单,方便实用,而且具有高度的可移植性和灵活性。随着计算机科学的迅速发展,H∞控制在实际应用中的应用越来越普遍。 ### 回答2: HⅠ控制是一种现代控制理论,旨在优化控制器在系统受到不确定性、噪声和干扰影响时的性能表现。该方法使用复平面上的H无穷范数来衡量系统的鲁棒性能,并通过设计控制器来最小化此范数。 在MATLAB中,可以使用Control System Toolbox中的hinf函数来进行H无穷控制器的设计和分析。hinf函数使用的是线性矩阵不等式(LMI)的方法,它将系统的鲁棒性能转化为可以执行的矩阵形式,从而允许使用最优化算法进行控制器设计。 MATLAB中的hinf函数还可以绘制不同频率下系统的灵敏度和互补灵敏度图,以帮助分析控制器的性能。此外,hinf函数还可以使用KYP引理来确定系统的输入输出行为及其与外部干扰的关系。 总之,MATLAB中的H无穷控制器设计和分析工具可以提供一种有效的方法来优化系统的鲁棒性能,并通过绘图来可视化控制器的性能表现。对于控制工程师和系统设计师来说是非常重要的工具。
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值