本例介绍了如何设计一种MIMO LQG调节器来控制热轧钢梁的水平和垂直厚度。
图1和图2描述了通过滚动气缸压缩热钢梁的成形过程。
图1:圆柱梁整形。
图2:轧机机架。
所需的H形是由液压执行器定位的两对滚动气缸(每轴一个)压印的。两个气缸之间的间隙称为辊隙。目标是将x和y厚度保持在规定的公差范围内。厚度的变化主要是由于入射光束的厚度和硬度的变化(输入扰动)和滚动圆柱的偏心。
x轴或y轴的开环模型如图3所示。偏心扰动模型为白噪声w_e
驱动带通滤波器菲
.输入厚度扰动被建模为白噪声w_i
驱动低通滤波器Fi
.反馈控制是对抗这种干扰的必要手段。因为辊缝δ
不能测量靠近机架的轧制力f
用于反馈。
图3:开环模型。
滤波器的经验模型菲
而且Fi
x轴是
作动器和间隙力增益建模为
要构造图3中的开环模型,首先指定每个块:
Hx = tf(2.4e8, [1 72 90^2],“inputname”,“u_x”);Fex = tf([3e4 0], [1 0.125 6^2],“inputname”,“w_{前任}’);Fix = tf(1e4, [1 0.05],“inputname”,“w_{第九}’);Gx = 1e-6;
然后构造传递函数u,我们,wi
来f1, f2
使用连接和附加
如下。为了提高数值精度,在连接模型之前切换到状态空间表示:
T = append([ss(Hx) Fex],Fix);
最后,应用转换映射f1, f2
来△f
:
Px = [-gx gx;1 1] * T;Px。OutputName = {“x-gap”,“x-force”};
画出归一化扰动的频响幅度w_e
而且w_i
对输出:
bodemag(Px(:, [2 3]),{1e-2,1e2}),网格
注意峰值在6 rad/sec对应的(周期性)偏心扰动。
首先设计一个LQG调节器来衰减由于偏心和输入厚度扰动引起的厚度变化w_e
而且w_i
.LQG调节器生成执行器命令u = -K x_e,其中x_e是对工厂状态的估计。这一估计值来自于滚动力的可用测量值f
使用一种叫做“卡尔曼滤波器”的观测器。
图4: LQG控制结构。
使用lqry
来计算一个合适的状态反馈增益K。选择增益K来最小化该形式的代价函数
其中参数β
用于平衡性能和控制效果。为β
= 1e-4,您可以通过键入计算最佳增益
Pxdes = Px(“x-gap”,“u_x”);% transfer u_x -> x-gapKx = lqry(Pxdes,1,1e-4)
Kx = 0.0621 0.1315 0.0222 -0.0008 -0.0074
下一步,使用卡尔曼
设计了植物状态的卡尔曼估计器。将测量噪声协方差设置为1e4以限制高频增益:
Ex = kalman(Px(“x-force”眼睛:),(2),1 e4);
最后,使用lqgreg
组装LQG调节器Regx
从Kx
而且前女友
:
Regx = lqgreg(Ex,Kx);zpk (Regx)
ans =从输入“x-force”输出“u_x”:-0.012546 (+ 10.97)(s - 2.395) (s ^ 2 + 72 + 8100 ) ---------------------------------------------------------- ( s + 207.7) (s ^ 2 + 0.738 + 32.33) (s ^ 2 + 310.7 + 2.536 e04)输入组:名字通道输出测量1组:渠道控制1连续时间零/钢管/增益模型。
bode(Regx), grid, title(“LQG调节器”)
关闭如图4所示的调节回路:
clx =反馈(Px,Regx,1,2,+1);
注意,在这个命令中,+1表示lqgreg
计算一个正反馈补偿器。
您现在可以比较偏心和输入厚度扰动的开环和闭环响应:
2:3 bodemag (Px (1),“b”clx (2:3),“r”,{1e-1,1e2})“开环”,“闭环”)
波德图显示扰动效应衰减为20 dB。您可以通过模拟有和没有LQG调节器的扰动引起的厚度变化来确认这一点,如下所示:
Dt = 0.01;%模拟时间步长T = 0:dt:30;Wx =√(1/dt) * randn(2,长度(t));采样驱动噪声%h = lsimplot(Px(1,2:3),,“b”clx (2:3),“r”、天气、t);h.Input.Visible =“关闭”;传奇(“开环”,“闭环”)
你可以为y轴设计一个类似的LQG调节器。使用以下执行器、增益和扰动模型:
Hy = tf(7.8e8,[1 71 88^2],“inputname”,“u_y”);Fiy = tf(2e4,[1 0.05],“inputname”,“w_ {iy}’);Fey = tf([1e5 0],[1 0.19 9.4^2],“inputn”,“w_ {ey}’);Gy = 0.52 -6;
您可以通过输入来构造开环模型
Py = append([ss(Hy) Fey],Fiy);Py = [-gy gy;1 1] * Py;Py。OutputName = {“y-gap”“y-force”};
然后可以通过输入计算相应的LQG调节器
ky = lqry(Py(1,1),1,1e-4);Ey = kalman(Py(2,:),eye(2),1e4);Regy = lqgreg(Ey,ky);
假设x轴和y轴是解耦的,你可以使用这两个调节器独立控制两轴轧机。
单独处理每个轴是有效的,只要它们是相当去耦的。不幸的是,轧机在轴之间有一定的交叉耦合,因为沿x方向的力的增加会压缩材料,并导致沿y轴方向的力相对减少。
交叉耦合效应建模如图5所示,gxy=0.1, gyx=0.4。
图5:交叉耦合模型。
为了研究交叉耦合对解耦SISO环的影响,构建图5中的两轴模型,并使用之前设计的LQG调节器关闭x轴和y轴环:
Gxy = 0.1;Gyx = 0.4;P =追加(Px,Py);附加x轴和y轴模型P = P([1 3 2 4],[1 4 2 3 5 6]);重新排列输入和输出CC = [1 0 0 gyx*gx;...交叉耦合矩阵%0 1 gxy*gy 0;...0 0 1 -gyx;...0 0 -gxy 1];Pxy = CC * P;%交叉耦合模型Pxy。outputn = p.t outputn;clxy0 =反馈(Pxy,追加(Regx,Regy),1:2,3:4,+1);
现在,模拟两轴模型的x和y厚度间隙:
Wy =根号(1/dt) * randn(2,长度(t));% y轴扰动Wxy = [wx;王寅];h = lsimplot(Pxy(1:2,3:6),“b”clxy0(1:2三6),“r”wxy t);h.Input.Visible =“关闭”;传奇(“开环”,“闭环”)
注意沿x轴的高厚度变化。单独处理每个轴是不够的,您需要使用联合轴,MIMO设计来正确处理交叉耦合效应。
MIMO设计由一个使用两种力测量的调节器组成外汇
而且财政年度
为了计算执行器命令,u_x
而且u_y
.这个控制体系结构如图6所示。
图6: MIMO控制结构。
您可以使用与早期SISO设计完全相同的步骤为两轴模型设计MIMO LQG调节器。首先计算状态反馈增益,然后计算状态估计器,最后将这两个组件进行组装lqgreg
.执行以下命令:
Kxy = lqry(Pxy(1:2,1:2),眼(2),1e-4*眼(2));Exy = kalman(Pxy(3:4,:),眼(4),1e4*眼(2));Regxy = lqgreg(Exy,Kxy);
为了比较MIMO和多环SISO设计的性能,请关闭图6中的MIMO环路:
clxy =反馈(Pxy,Regxy,1:2,3:4,+1);
然后,模拟两轴模型的x和y厚度间隙:
h = lsimplot(Pxy(1:2,3:6),“b”clxy(1:2三6),“r”wxy t);h.Input.Visible =“关闭”;传奇(“开环”,“闭环”)
MIMO设计显示在x轴上没有性能损失,现在扰动衰减水平与每个单独轴获得的水平相匹配。当比较从输入扰动到厚度间隙的闭环响应的主要增益时,这种改进也很明显x-gap, y-gap
:
三6σ(clxy0 (1:2),“b”clxy(1:2三6),“r”,{1e-2,1e2})“两个SISO循环”,“那循环”)
请注意,MIMO调节器如何更好地保持增益在所有方向上都相同低。
如果您是Simulink®金宝app用户,请单击下面的链接打开一个配套的Simulink®模型,该模型实现了多环simo和MIMO控制体系结构。您可以使用此模型通过在模拟过程中切换设计来比较两种设计。