这个例子展示了如何稳健性地调整控制器以减少柔性梁的振动。这个例子改编自G. Goodwin, S. Graebe和M. Salgado的“控制系统设计”。
图1描绘了用于柔性梁的有源振动控制系统。
图1:柔性光束的主动控制
在该设置中,传感器测量尖端位置 并且致动器是输送力的压电贴片 .我们可以根据控制输入对传递函数进行建模 提示位置 使用有限元分析。只保留前六种模式,我们得到了该形式的植物模型
振幅的标称值如下 和自然频率 :
阻尼因素
通常是众所周知的,假设在0.0002和0.02之间。同样,只有众所周知,自然频率只是众所周知,并且我们在其位置假设20%的不确定性。为了构建柔性光束的不确定模型,使用尿素的
对象指定阻尼和自然频率的不确定性范围。为了简化,我们假设所有模式都具有相同的阻尼因子
.
%阻尼因子ζ=尿素的(“ζ”,0.002,'范围',[0.0002,0.02]);%固有频率w1 =尿尿(“w1”, 18.95,'百分', 20);W2 =尿尿(“那”, 118.76,'百分', 20);w3 =尿素的(w3的, 332.54,'百分', 20);w4 =尿素的(“w4”, 651.66,'百分', 20);W5 =尿尿(“w5”,1077.2,'百分', 20);将=尿素的(“将”,1609.2,'百分', 20);
接下来将这些不确定系数与表达式结合在一起 .
Alpha = [9.72e-4 0.0122 0.0012 -0.0583 -0.0013 0.1199];G =特遣部队(α(1),(1 2 *ζ* w1 w1 ^ 2]) +特遣部队(α(2),(1 2 *ζ* w2 w2 ^ 2]) +......特遣部队(α(3),[1 2 *ζ* w3 w3 ^ 2]) +特遣部队(α(4),(1 2 *ζ* w4 w4 ^ 2]) +......特遣部队(α(5),[1 2 *ζ* w5 w5 ^ 2]) +特遣部队(α(6),[1 2 *ζ*将将^ 2]);G.InputName ='UG';G.OutputName =“y”;
可视化不确定性对转移功能的影响
到
.的波德
功能自动显示20个不确定参数的随机选择值的响应。
RNG(0),BODE(G,{1E0,1E4}),网格标题(“不确定梁模型”)
LQG控制是用于主动振动控制的天然配方。和Systune.
,您不局限于一个全阶最优LQG控制器,可以调优任何阶的控制器。例如,让我们调优一个6阶状态空间控制器(工厂订单的一半)。
C =可调参数('C'、6、1,1);
LQG控制设置如图2所示。信号 和 分别是过程和测量噪声。
图2:LQG控制结构
构建图2中框图的闭环模型。
c.InputName =.'yn';C.OutputName ='U';s1 = sumblk('yn = y + n');s2 = sumblk('uG = u + d');cl0 = connect(g,c,s1,s2,{'D'那“n”},{“y”那'U'});
注意CL0.
取决于可调控制器C
以及不确定的阻尼和固有频率。
CL0.
C:可调1x1状态空间模型,6个状态,1次出现。w1:不确定真实,名义= 18.9,可变性=[-20,20]%,3个事件w2:不确定真实,名义= 119,可变性=[-20,20]%,3个事件w3:不确定真实,名义= 333,可变性=[-20,20]%,3个事件w4:不确定真实,名义= 652,可变性=[-20,20]%,3个事件w5:w6:不确定实数,名义= 1.61e+03,可变性=[-20,20]%,3次出现zeta:不确定实数,名义= 0.002,范围=[0.0002,0.02],6次出现ss(CL0)类型查看当前值,“得到(CL0)”查看所有属性,“CL0.”与积木互动。
使用LQG标准作为控制目标。此调整目标允许您指定噪声CoviRACE和性能变量上的权重。
R = TuningGoal。LQG ({'D'那“n”},{“y”那'U'},诊断接头([1,1平台以及]),诊断接头(1 e-12 [1]));
现在调整控制器C
在整个不确定范围内最小化LQG成本。
[~, CL, fSoft信息]= systune (CL0, R);
软:[5.63E-05,INF],硬:[-inf,INF],迭代= 72软:[6.13e-05,INF],硬:[-inf,INF],迭代= 97软:[6.47E-05,INF],硬:[-inf,INF],迭代= 65软:[7.76E-05,INF],硬:[-inf,INF],迭代= 86软:[7.76E-05,inf],硬:[-inf,inf],迭代= 88软:[7.76E-05,INF],硬:[-inf,INF],迭代= 43柔软:[7.77E-05,INF],硬:[-INF,INF],迭代= 79软:[7.8E-05,8.46E-05],硬:[-INF,-INF],迭代= 38软:[8.02E-05,8.85E-05],硬:[-inf,-inf],迭代= 117软:[8.22e-05,8.24e-05],硬:[-inf,-inf],迭代= 40软:[8.22e-05,8.22E-05],硬:[-INF,-INF],迭代= 25 Final:Soft = 8.22E-05,硬= -Inf,迭代= 750
比较开环和闭环的波德响应 到 为20个随机选取的不确定参数值。注意控制器是如何在Bode响应中剪辑前三个峰值的。
tdy = getiotransfer(cl,'D'那“y”);BODE(g,tdy,{1e0,1e4})标题(“从扰动位置转移到尖端位置”) 传奇('开环'那'闭环')
接下来将开放和闭环响应绘制到脉冲干扰 .为便于阅读,只绘制了标称装置的开环响应。
脉冲(GetOminal(g),ty,5)标题('响应脉冲障碍D') 传奇('开环'那'闭环')
最后,Systune.
还提供了深入了解阻尼和固有频率值的最坏情况组合。这个信息可以在输出参数中找到信息
.
wcu = info.wcpert.
WCU =10×1带有字段的结构数组:W1 w2 w3 w4 w5 w6 zeta
使用此数据绘制两个最坏情况场景的脉冲响应。
冲动(usubs(临时任务,WCU), 5)标题(“对冲动障碍的最坏情况响应d”)