主要内容

振动控制在弹性梁

这个例子展示了如何调优一个控制器减少柔性梁的振动。

对柔性梁的模型

图1描述了柔性梁的振动主动控制系统。

图1:主动控制的柔性梁

在此设置中,致动器传递的力你美元和速度传感器是并列的。我们可以从控制模型传递函数的输入你美元的速度y美元使用有限元分析。只保留第一个六个模式,我们获得的植物模型形式

$ $ G (s) = \ sum_ {i = 1} ^ 6 \压裂{\ alpha_i ^ 2 s} {^ 2 + 2 \ xi w_i年代+ w_i ^ 2} $ $

用以下参数值。

%的参数ξ= 0.05;α= (0.09877,-0.309,-0.891,0.5878,0.7071,-0.8091);w =(1、4、9、16、25日,36);

生成的梁模型G (s)美元是由

%梁模型G =特遣部队(α(1)^ 2 * (1,0),(1、2 * 11 * w (1), w (1) ^ 2)) +特遣部队(α(2)^ 2 * (1,0),(1、2 * 11 * w (2), w (2) ^ 2]) +特遣部队(α(3)^ 2 * (1,0),(1、2 * 11 * w (3), w (3) ^ 2]) +特遣部队(α(4)^ 2 * (1,0),(1、2 * 11 * w (4), w (4) ^ 2]) +特遣部队(α(5)^ 2 * (1,0),(1、2 * 11 * w (5), w (5) ^ 2]) +特遣部队(α(6)^ 2 * (1,0),(1、2 * 11 * w (6), w (6) ^ 2]);G。InputName =uG的;G。OutputName =“y”;

这个传感器/致动器配置,梁是一个被动的系统:

isPassive (G)
ans =逻辑1

这是通过观察证实,尼奎斯特图G美元是正的真实。

尼奎斯特(G)

LQG控制器

LQG控制是一种天然的配方主动振动控制。LQG控制设置如图2所示。的信号$ d $n美元分别是过程和测量噪声。

图2:LQG控制结构

第一次使用lqg计算最优为目标LQG控制器

$ $ J = \ lim_ E {T \ rightarrow \ infty} \离开(\ int_0 ^ T (y ^ 2 (T) + 0.001 & # xA; u ^ 2 (T) dt \右)$ $

噪声方差:

$ $ E (d (t) ^ 2) = 1, \四E (n ^ 2 (t)) = 0.01。$ $

[a, b, c, d] = ssdata (G);M = [c d; 0 (12) 1);% (y; u) = M * [x; u]QWV = blkdiag (b * b ', 1依照);QXU = M ' *诊断接头([1 1 e - 3]) * M;CLQG = lqg (ss (G)、QXU QWV);

LQG-optimal控制器CLQG是复杂的,有12个州和几个得分为零。

大小(CLQG)
1输出,状态空间模型1的输入,12个州。
波德(G, CLQG{1飞行,1 e3}),网格,传说(‘G’,“CLQG”)

使用通用的调谐器systune试图简化这个控制器。与systune你不限于全阶控制器和任何顺序可以调整控制器。例如,我们调一个二阶状态空间控制器。

C = ltiblock.ss (“C”、2、1、1);

建立一个闭环的模型框图如图2所示。

C。InputName =“yn”;C。OutputName =“u”;S1 = sumblk (“yn = y + n”);S2 = sumblk (' uG = u + d ');CL0 =连接(G、C、S1, S2, {' d ',“n”},{“y”,“u”},{“yn”,“u”});

使用LQG标准$ J $作为唯一的优化目标。LQG调优目标让你直接指定性能权重和噪声协方差。

R1 = TuningGoal.LQG ({' d ',“n”},{“y”,“u”},诊断接头([1,1依照]),诊断接头([1 1 e - 3]));

现在优化控制器CLQG最小化的目标$ J $

[CL1, j - 1] = systune (CL0 R1);
最后:软= 0.478,=无穷,迭代= 39

优化器发现一个二阶控制器J = 0.478美元。与最优$ J $CLQG:

[~,Jopt] = evalGoal (R1, replaceBlock (CL0,“C”,CLQG))
Jopt = 0.4673

性能下降小于5%,我们减少了控制器的复杂性从12到2。进一步的脉冲响应进行比较$ d $y美元两个控制器。这两个反应几乎是相同的。你可以因此获得算法用一个简单的二阶振动衰减控制器。

T0 =反馈(G, CLQG, + 1);T1 = getIOTransfer (CL1,' d ',“y”);冲动(T0, T1, 5)标题(脉冲扰动的响应d ')传说(“LQG最优”,“二阶LQG”)

被动LQG控制器

我们使用了一个近似的梁模型来设计这两个控制器。先天的,也不能保证这些控制器将执行真正的梁。然而,我们知道梁是一个被动的物理系统和被动的消极反馈互联系统总是稳定的。因此,如果- c (s)美元是被动的,我们可以相信,闭环系统是稳定的。

最优LQG控制器不是被动的。事实上,其相对被动的指数是无限的,因为1-CLQG美元甚至不是最小相位。

getPassiveIndex (-CLQG)
ans =正

这是确认的奈奎斯特图。

尼奎斯特(-CLQG)

使用systune,你可以调节肌体二阶控制器有额外的要求- c (s)美元应该是被动的。为此,创建一个被动的开环传递函数为优化目标ynu(这是C (s)美元)。使用“WeightedPassivity”目标占负号。

R2 = TuningGoal.WeightedPassivity ({“yn”},{“u”}1 1);R2。机会=“u”;

现在调节肌体闭环模型CL1LQG最小化的目标$ J $- c (s)美元是被动的。注意,被动的目标R2现在是指定为硬约束。

(这有点难度,J2, g) = systune (CL1、R1、R2);
最后:软= 0.478,= 1,迭代= 51

调谐器达到相同的$ J $值之前,而实施被动(硬约束小于1),验证- c (s)美元是被动的。

C2 = getBlockValue(这有点难度,“C”);passiveplot (c2)

LQG-optimal控制器的改进最为明显的奈奎斯特图。

尼奎斯特(-CLQG c2)传说(“LQG最优”,“二阶无源LQG”)

最后,比较的脉冲响应$ d $y美元

T2 = getIOTransfer(这有点难度,' d ',“y”);冲动(T0, T2, 5)标题(脉冲扰动的响应d ')传说(“LQG最优”,“二阶无源LQG”)

使用systune,你设计了一个二阶无源控制器算法LQG性能。

另请参阅

||

相关的话题