柔性梁中的鲁棒振动控制

该示例显示了如何强大地调整控制器以减少柔性光束中的振动。该示例由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%的不确定性。为了构建柔性光束的不确定模型,使用尿尿对象指定阻尼和自然频率的不确定性范围。为了简化,我们假设所有模式都具有相同的阻尼因子 ζ

% 阻尼因子Zeta =尿尿('Zeta',0.002,'范围',[0.0002,0.02]);%自然频率w1 =尿尿('w1',18.95,'百分'20);W2 =尿尿('w2',118.76,'百分'20);W3 =尿尿('W3',332.54,'百分'20);W4 =尿尿('w4',651.66,'百分'20);W5 =尿尿('w5',1077.2,'百分'20);w6 =尿尿('w6',1609.2,'百分'20);

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

alpha = [9.72E-4 0.0122 0.0012 -0.0583 -0.0013 0.1199];G = TF(α(1),[1 2 * Zeta * W1 W1 ^ 2])+ TF(α(2),[1 2 * Zeta * W2 W2 ^ 2])+......TF(α(3),[1 2 * Zeta * W3 W3 ^ 2])+ TF(α(4),[1 2 * Zeta * W4 W4 ^ 2])+......TF(α(5),[1 2 * Zeta * W5 W5 ^ 2])+ TF(α(6),[1 2 * Zeta * W6 W6 ^ 2]);g.InputName ='UG';g.outputname ='是';

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

RNG(0),BODE(G,{1E0,1E4}),网格标题('不确定光束模型'

强大的LQG控制

LQG控制是用于主动振动控制的天然配方。和Systune.,您不仅限于全阶最佳LQG控制器,可以调整任何订单的控制器。这里例如,让我们调整第6阶的状态空间控制器(植物顺序的一半)。

c = TunableSS('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'},{'是''U'});

注意CL0.取决于可调控制器C和不确定的阻尼和自然频率。

CL0.
CL0 =具有2个输出,2个输入,18个状态的广义连续时间状态空间模型,以及以下块: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:不确定真实,标称= 1.08e + 03,可变性= [ -20,20]%,3个出现W6:不确定真实,标称= 1.61e + 03,变异性= [-20,20]%,3发生Zeta:不确定真实,标称= 0.002,范围= [0.0002,0.02],6出现类型“ss(cl0)”以查看当前值,“get(cl0)”查看所有属性,以及“cl0.blocks”以与块交互。

使用LQG标准作为控制目标。此调整目标允许您指定噪声CoviRACE和性能变量上的权重。

r = tuninggoal.lqg({'D''n'},{'是''U'},诊断([1,1e-10]),诊断([11e-12]));

现在调整控制器C为了在整个不确定性范围内最小化LQG成本。

[CL,FSOFT,〜,INFO] = SYSTUNE(CL0,R);
软:[5.63E-05,INF],硬:[-inf,INF],迭代= 75软:[6.26E-05,0.000121],硬:[-inf,-inf],迭代= 114软:[6.96E-05,7.36E-05],硬:[-INF,-INF],迭代= 120软:[7.19E-05,7.19E-05],硬:[-inf,-inf],迭代=46 Final:Soft = 7.19e-05,硬= -inf,迭代= 355

验证

比较来自的开放和闭环Bode响应 D. y 对于20个不确定参数的随机选择值。注意控制器如何在BODE响应中剪切前三个峰值。

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

接下来将开放和闭环响应绘制到脉冲干扰 D. 。对于可读性,开环响应仅针对标称植物绘制。

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

最后,Systune.还提供了对阻尼和自然频率值的最坏情况组合的洞察。此信息可在输出参数中使用信息

wcu = info.wcpert.
WCU =.3×1结构数组与字段:W1 W2 W3 W4 W5 W6 Zeta

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

脉冲(USUB(TDY,WCU),5)标题(“对冲动障碍的最坏情况响应d”

相关例子

更多关于