这个例子展示了如何调整控制器来减少柔性梁的振动。
图1描述了柔性梁的主动振动控制系统。
图1柔性梁的主动控制
在这种设置中,执行器传递力并配置速度传感器。我们可以根据控制输入对传递函数进行建模的速度使用有限元分析。只保留前六种模式,我们得到了该形式的植物模型
使用下列参数值。
%的参数ξ= 0.05;α= (0.09877,-0.309,-0.891,0.5878,0.7071,-0.8091);W = [1, 4, 9, 16, 25, 36];
得到的梁模型为是由
%梁模型G = tf(alpha(1)^2*[1,0],[1,2 *xi*w(1), w(1)^2]) +...Tf (alpha(2)^2*[1,0],[1,2 *xi*w(2), w(2)^2)) +...f(α (3)^2*[1,0],[1,2 *xi*w(3), w(3)^2]) +...Tf (alpha(4)^2*[1,0],[1,2 *xi*w(4), w(4)^2]) +...Tf (alpha(5)^2*[1,0],[1,2 *xi*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)
逻辑1
观察到的奈奎斯特曲线证实了这一点是正的真实。
尼奎斯特(G)
LQG控制是一种自然的主动振动控制方法。图2描述了LQG控制设置。的信号和分别为过程噪声和测量噪声。
图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 ', 1依照);QXU = M'*diag([1 1e-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标准以上是唯一的调优目标。LQG调优目标允许您直接指定性能权重和噪声协方差。
R1 = TuningGoal。LQG ({' d ',“n”},{“y”,“u”},诊断接头([1,1依照]),诊断接头([1 1 e - 3]));
现在调整控制器C
使LQG目标最小化.
[CL1, j - 1] = systune (CL0 R1);
Final: Soft = 0.478, Hard = -Inf, Iterations = 39
优化器找到一个二阶控制器.与最优值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)标题(‘对脉冲干扰的响应’)传说(“LQG最优”,“二阶LQG”)
我们使用波束的近似模型来设计这两个控制器。根据先验,并不能保证这些控制器在真实波束上表现良好。然而,我们知道光束是一个无源物理系统,并且无源系统的负反馈互连始终是稳定的。因此,如果是被动的,我们可以确信闭环系统是稳定的。
最优LQG控制器不是被动的。事实上,它的相对被动指数是无限的,因为甚至不是最小阶段。
getPassiveIndex (-CLQG)
ans =正
它的奈奎斯特图证实了这一点。
尼奎斯特(-CLQG)
使用systune
,您可以重新调整二阶控制器的附加要求应该是被动的。为此,为开环传递函数创建一个无源调谐目标yn
来u
(这是).使用“加权被动”目标来解释负号。
R2 = TuningGoal。WeightedPassivity ({“yn”},{“u”} 1 1);R2。机会=“u”;
现在重新调整闭环模型CL1
使LQG目标最小化受是被动的。注意被动的目标R2
现在指定为硬约束。
(这有点难度,J2, g) = systune (CL1、R1、R2);
Final:软= 0.478,硬= 1,迭代= 51
调谐器达到了同样的效果值与前面一样,同时强制被动性(硬约束小于1)。验证是被动的。
C2 = getBlockValue(这有点难度,“C”);passiveplot (c2)
对lqg最优控制器的改进在Nyquist图中最为明显。
尼奎斯特(-CLQG c2)传说(“LQG最优”,“二阶无源LQG”)
最后,比较来自来.
T2 = getIOTransfer(这有点难度,' d ',“y”);冲动(T0, T2, 5)标题(‘对脉冲干扰的响应’)传说(“LQG最优”,“二阶无源LQG”)
使用systune
,设计了具有近似最优LQG性能的二阶无源控制器。
systune
|TuningGoal。WeightedPassivity
|TuningGoal。LQG