使用Sysic定义用于H-infinity控制的增强型工厂(鲁棒控制工具箱)

时间:2019-04-24 17:55:05

标签: matlab optimization robust

我一直在做一些关于鲁棒控制的教程。以前,我一直使用“ sysic”来定义用“ hinfsyn”控制的增强植物,但是,最近我遇到了“ augw”,在比较混合敏感度方案的结果时,我发现那里没有给出相同的结果

augmented plant for mixed sensitivity hinfsyn

问题是我必须在“ sysic”中错误地定义互连方案。

我提供了一个简单的示例来进行除魔:

G=ss(-1,2,3,4);   % plant to be controlled 
w0=10;     % desired closed-loop bandwidth
A=1/1000;  % desired disturbance attenuation inside bandwidth
M=2 ;      % desired bound on hinfnorm(S) & hinfnorm(T)
s=tf('s'); % Laplace transform variable 's'
W1=(s/M+w0)/(s+w0*A); % Sensitivity weight
W2=0.1;                % Empty control weight
W3=(s+w0/M)/(A*s+w0); % Complementary sensitivity weight

% check gamma for mixed sensitivity hinf
[K,CL,GAM,INFO]=mixsyn(G,W1,W2,W3);

% augmented plant method 1
systemnames = 'G W1 W2 W3';
inputvar = '[ r(1);u(1)]';
outputvar = '[W1;W2;W3;G]';
input_to_G = '[u]';
input_to_W1 = '[r-G]';
input_to_W2 = '[u]';
input_to_W3 = '[G-u]';
sysoutname = 'G';
cleanupsysic = 'yes';
sysic;
nmeas = 1; nu = 1; gmn=0.5; gmx=20000; tol = 0.1;

% augmented plant method 2
P = augw(G,W1,W2,W3);

% method 1
[K,Pcl,gam1 opt] = hinfsyn(G,1,1,'GMIN',gmn,'GMAX',gmx,'method','lmi');
% method 2
[K,Pcl,gam2 opt] = hinfsyn(P,1,1,'GMIN',gmn,'GMAX',gmx,'method','lmi');

我得到了伽玛值:

gam1 =

   1.0000e+03


gam2 =

    1.1183

我不确定我在这里缺少什么,因为我相信它们是等效的。任何建议表示赞赏!

1 个答案:

答案 0 :(得分:0)

使用sysic对增强植物的正确答案是:

% augmented plant method 1
systemnames = 'G W1 W2 W3';
inputvar = '[r;u]';
outputvar = '[W1;W2;W3;r-G]';
input_to_G = '[u]';
input_to_W1 = '[r-G]';
input_to_W2 = '[u]';
input_to_W3 = '[G]';
sysoutname = 'G0';
cleanupsysic = 'yes';
sysic;