主要内容

柔性梁中的鲁棒振动控制

这个例子展示了如何稳健性地调整控制器以减少柔性梁的振动。这个例子改编自G. Goodwin, S. Graebe和M. Salgado的“控制系统设计”。

柔性梁的不确定模型

图1描绘了用于柔性梁的有源振动控制系统。

图1:柔性光束的主动控制

在该设置中,传感器测量尖端位置 y T. 并且致动器是输送力的压电贴片 T. .我们可以根据控制输入对传递函数进行建模 提示位置 y 使用有限元分析。只保留前六种模式,我们得到了该形式的植物模型

G S. = σ. 一世 = 1 6. α 一世 S. 2 + 2 ζ 一世 ω 一世 S. + ω 一世 2

振幅的标称值如下 α 一世 和自然频率 ω 一世

α = 9. 7. 2 × 1 0. - 4. 0. 0. 1 2 2 0. 0. 0. 1 2 - 0. 0. 5. 8. 3. - 0. 0. 0. 1 3. 0. 1 1 9. 9.

ω = 1 8. 9. 5. 1 1 8. 7. 6. 3. 3. 2 5. 4. 6. 5. 1 6. 6. 1 0. 7. 7. 2 1 6. 0. 9. 2

阻尼因素 ζ 一世 通常是众所周知的,假设在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);

接下来将这些不确定系数与表达式结合在一起 G S.

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”

可视化不确定性对转移功能的影响 y .的波德功能自动显示20个不确定参数的随机选择值的响应。

RNG(0),BODE(G,{1E0,1E4}),网格标题(“不确定梁模型”

图中包含2个轴。从:uG到:y的轴1包含21个line类型的对象。该对象表示G. Axes 2包含21个类型为line的对象。这个对象表示G。

健壮的LQG控制

LQG控制是用于主动振动控制的天然配方。和Systune.,您不局限于一个全阶最优LQG控制器,可以调优任何阶的控制器。例如,让我们调优一个6阶状态空间控制器(工厂订单的一半)。

C =可调参数('C'、6、1,1);

LQG控制设置如图2所示。信号 D. N 分别是过程和测量噪声。

图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

验证

比较开环和闭环的波德响应 D. y 为20个随机选取的不确定参数值。注意控制器是如何在Bode响应中剪辑前三个峰值的。

tdy = getiotransfer(cl,'D'“y”);BODE(g,tdy,{1e0,1e4})标题(“从扰动位置转移到尖端位置”) 传奇('开环''闭环'

图中包含2个轴。具有标题的轴1:(1)到:Y包含42个类型的类型。这些对象表示开环,闭环。轴2包含42个类型的类型。这些对象表示开环,闭环。

接下来将开放和闭环响应绘制到脉冲干扰 D. .为便于阅读,只绘制了标称装置的开环响应。

脉冲(GetOminal(g),ty,5)标题('响应脉冲障碍D') 传奇('开环''闭环'

图中包含一个坐标轴。标题为From: In(1) To: y的轴包含22个line类型的对象。这些对象表示开环,闭环。

最后,Systune.还提供了深入了解阻尼和固有频率值的最坏情况组合。这个信息可以在输出参数中找到信息

wcu = info.wcpert.
WCU =10×1带有字段的结构数组:W1 w2 w3 w4 w5 w6 zeta

使用此数据绘制两个最坏情况场景的脉冲响应。

冲动(usubs(临时任务,WCU), 5)标题(“对冲动障碍的最坏情况响应d”

图中包含一个坐标轴。标题为From: d To: y的轴包含10个line类型的对象。这个对象表示untitled1。

相关例子

更多关于