μ综合分析 弹簧质量阻尼系统

考虑图1中的质量弹簧-阻尼器系统。弹簧k2和阻尼器b2分别连接到壁和质量m2上。质量块m2也通过弹簧k1和阻尼器b1连接到质量块m1。质量2受干扰力f2影响。该系统通过作用在质量m1上的力f1来控制。
我们的设计目标是使用控制力f1来减弱扰动f2对质量m2位置的影响。力f1不直接作用在质量m2上,而是通过弹簧刚度k1作用。因此,弹簧刚度k1的任何不确定性将使控制问题更加困难。控制问题表达为:
控制器测量质量m2的噪声位移并施加控制力f1。传感器噪声Wn被建模为常数0.001。
执行器命令在低频处的系数为0.1,在高频处的系数为10,截至频率为100 rad / s(滤波器Wu)。
扰动上的单位幅度一阶滤波器Wdist的极点为0.25 rad / s。
性能目标是将质量m2的干扰衰减到低于0.1 rad / s的80倍。
系统参数的标称值为m1 = 1,m2 = 2,k2 = 1,b1 = 0.05,b2 = 0.05和k1 = 2。
在这里插入图片描述

% 基本模型
Wn = tf(0.001);
Wu = 10*tf([1 10],[1 1000]); % or Wu = makeweight(0.1,100,10);;
Wdist = tf(0.25,[1 0.25],'inputname','dist','outputname','f2');
Wp = 80*tf(0.1,[1 0.1]);
m1 = 1;
m2 = 2;
k2 = 1;
b1 = 0.05;
b2 = 0.05;
% 弹簧刚度k1的值不确定。它的标称值为2,其值可以在1.22.8之间变化。
k1 = ureal('k1',2,'Range',[1.2 2.8]);
tau = ss(1,'InputDelay',0.06);
Wunmod = 2.6*tf([1 0],[1 40]);
bodemag(tau-1,Wunmod,logspace(0,3,200));
title('Multiplicative Time-Delay Error: Actual vs. Bound')
legend('Actual','Bound','Location','NorthWest')
% 以控制力f1和扰动f2为输入,构建对象的不确定状态空间模型。
a1c = [0 0 -1/m1  1/m2]'*k1;
a2c = [0 0  1/m1 -1/m2]'*k1 + [0 0 0 -k2/m2]';
a3c = [1 0 -b1/m1 b1/m2]';
a4c = [0 1 b1/m1 -(b1+b2)/m2]';
A  = [a1c a2c a3c a4c];
plant = ss(A,[0 0;0 0;1/m1 0;0 1/m2],[0 1 0 0],[0 0]);
plant.StateName = {'z1';'z2';'z1dot';'z2dot'};
plant.OutputName = {'z2'};
% 在第一个输入处添加未建模的延迟动态。
Delta = ultidyn('Delta',[1 1]);
plant = plant * append(1+Delta*Wunmod,1);
plant.InputName = {'f1','f2'};
% 为不确定性的20个样本值绘制从f1到z2的Bode响应。 k1值的不确定性会导致对象的固有频率发生波动。
bode(plant(1,1),{0.1,4})

使用以下结构进行控制器综合:
在这里插入图片描述

% 
% 控制器设计
%
% 互联系统
Wu.u = 'f1';  Wu.y = 'Wu';
Wp.u = 'z2';  Wp.y = 'Wp';
Wn.u = 'noise';  Wn.y = 'Wn';
S = sumblk('z2n = z2 + Wn');
IC = connect(plant,Wdist,Wu,Wp,Wn,S,{'dist','noise','f1'},{'Wp','Wu','z2n'});
% μ综合
[Kc,mu_c,infoc] = musyn(IC,1,1);
% 混合μ综合提升控制器性能
opt = musynOptions('MixedMU','on');
[Km,mu_m] = musyn(IC,1,1,opt);

% 性能对比
clf
% Note: Negative sign because interconnection in Fig 2 uses positive feedback
bode(-Kc*plant.NominalValue(1,1),'b',-Km*plant.NominalValue(1,1),'r',{1e-2,1e2})
grid
legend('P*Kc - complex mu loop gain','P*Km - mixed mu loop gain','location','SouthWest')

% 最坏情况分析
clpKc = lft(IC,Kc);
clpKm = lft(IC,Km);
[maxgainKc,badpertKc] = wcgain(clpKc);
maxgainKc
%
[maxgainKm,badpertKm] = wcgain(clpKm);
maxgainKm
% 控制器简化
K = tunableSS('K',5,1,1);  % 5th-order tunable state-space model
opt = musynOptions('MixedMU','on','MaxIter',20,'RandomStart',2);
rng(0), [CL,mu_f] = musyn(lft(IC,K),opt);
% 控制器比较
clf, bode(Km,getBlockValue(CL,'K'))
legend('Full order','5th order')

simulink仿真:
在这里插入图片描述

hinf_2_1.mlx
hinf_2_1_simulink.slx
“Robust mixed-mu synthesis performance for mass-spring system with stiffness uncertainty,” D. Barros, S. Fekri and M. Athans, 2005 Mediterranean Control Conference.
https://ww2.mathworks.cn/help/robust/ug/control-of-a-spring-mass-damper-system-using-mixed-mu-synthesis.html

  • 1
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值