柔性梁的振动控制
这个例子展示了如何调整控制器以减少柔性梁的振动。
柔性梁模型
图1描述了柔性梁的主动振动控制系统。
图1:柔性梁主动控制
在此设置中,执行器传递力与速度传感器进行了配置。我们可以从控制输入建立传递函数的模型相对于速度采用有限元分析。只保留前六种模式,我们就得到了该形式的植物模型
使用以下参数值。
%的参数α= (0.09877,-0.309,-0.891,0.5878,0.7071,-0.8091);W = [1,4,9,16,25,36];
得到的梁模型是由
%梁模型G = tf((1)²*[1,0],[1,2 *xi*w(1), w(1)²])+...Tf((2)²*[1,0],[1,2 *xi*w(2), w(2)²])+...Tf((3)²*[1,0],[1,2 *xi*w(3), w(3)²])+...Tf((4)²*[1,0],[1,2 *xi*w(4), w(4)²])+...Tf((5)²*[1,0],[1,2 *xi*w(5), w(5)²])+...Tf ((6)^2*[1,0],[1,2 *xi*w(6), w(6)^2]);G.InputName =uG的;G.OutputName =“y”;
通过这种传感器/执行器配置,光束是一个被动系统:
isPassive (G)
Ans =逻辑1
的Nyquist图证实了这一点是正实数。
尼奎斯特(G)
LQG控制器
LQG控制是振动主动控制的天然配方。LQG控制设置如图2所示。的信号而且分别是过程噪声和测量噪声。
图2:LQG控制结构
第一次使用lqg
为目标计算最优LQG控制器
带噪声方差:
[a,b,c,d] = ssdata(G);M = [c d; 0 (1,12) 1];% [y;u] = M * [x;u]QWV = blkdiag(b*b',1e-2);QXU = M'*diag([1 1e-3])*M;CLQG = lqg(ss(G),QXU,QWV);
lqg最优控制器CLQG
是复杂的,有12个状态和几个零。
大小(CLQG)
具有1个输出、1个输入和12个状态的状态空间模型。
bode(G,CLQG,{1e-2,1e3}),网格,图例(‘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 = connect(G,C,S1,S2,{' d ',“n”}, {“y”,“u”}, {“yn”,“u”});
使用LQG准则以上是唯一的调优目标。LQG调优目标允许您直接指定性能权重和噪声协方差。
R1 = TuningGoal。LQG ({' d ',“n”}, {“y”,“u”},诊断接头([1,1依照]),诊断接头([1 1 e - 3]));
现在调优控制器C
使LQG目标最小化.
[CL1,J1] = systune(CL0,R1);
最终:软= 0.478,硬= -Inf,迭代= 40
优化器找到一个二阶控制器.与最优的比较值CLQG
:
[~,Jopt] = evalGoal(R1,replaceBlock(CL0,“C”, CLQG))
Jopt = 0.4673
性能下降小于5%,并将控制器复杂度从12个状态降低到2个状态。进一步比较脉冲响应来对于两个控制器。这两种反应几乎完全相同。因此,您可以通过简单的二阶控制器获得接近最优的振动衰减。
T0 =反馈(G,CLQG,+1);T1 = getIOTransfer(CL1,' d ',“y”);冲动(T0, T1, 5)标题(“对脉冲干扰的反应d”)传说(“LQG最优”,“二阶LQG”)
无源LQG控制器
我们用一个近似的光束模型来设计这两个控制器。先验地,不能保证这些控制器将在真实的光束上表现良好。然而,我们知道光束是一个被动物理系统,并且被动系统的负反馈互连总是稳定的。因此,如果是被动的,我们可以确信闭环系统将是稳定的。
最优LQG控制器不是被动的。事实上,它的相对被动指数是无穷大的,因为甚至不是最小相。
getPassiveIndex (-CLQG)
ans = Inf
奈奎斯特的情节证实了这一点。
尼奎斯特(-CLQG)
使用systune
,您可以重新调优二阶控制器的附加要求应该是被动的。为此,为开环传递函数创建一个被动调优目标yn
来u
(这是).使用“WeightedPassivity”目标来解释负号。
R2 = TuningGoal。WeightedPassivity ({“yn”}, {“u”} 1 1);R2。机会=“u”;
现在重新调优闭环模型CL1
使LQG目标最小化受是被动的。注意被动式目标R2
现在指定为硬约束。
[CL2,J2,g] = systune(CL1,R1,R2);
最终:软= 0.478,硬= 1,迭代= 51
调谐器实现了同样的效果值,同时强制被动(硬约束小于1)。验证是被动的。
C2 = getBlockValue(CL2,“C”);passiveplot (c2)
对lqg -最优控制器的改进在Nyquist图中最为明显。
尼奎斯特(-CLQG c2)传说(“LQG最优”,二阶无源LQG)
最后,比较脉冲响应来.
T2 = getIOTransfer(CL2,' d ',“y”);冲动(T0, T2, 5)标题(“对脉冲干扰的反应d”)传说(“LQG最优”,二阶无源LQG)
使用systune
,你设计了一个二阶无源控制器,具有接近最优的LQG性能。
另请参阅
systune
|TuningGoal。WeightedPassivity
|TuningGoal。LQG