这个例子展示了如何使用鲁棒控制工具箱™设计一个多输入,多输出控制器,通过塑造一个开环响应的增益跨频率。该方法应用于HIMAT飞机俯仰轴的控制。
我们展示了如何选择一个合适的目标环形状和使用loopsyn
函数来计算一个最优匹配目标回路形状的多变量控制器。
通常,循环塑造是两个潜在冲突目标之间的权衡。我们希望最大化开环增益以获得可能的最佳性能,但为了鲁棒性,我们需要将增益降至0dB以下,此时模型精度较差,高增益可能导致不稳定。在需要性能的情况下(通常在低频率),这需要一个良好的模型,而在模型通常较差的高频率时,则需要充分的衰减。增益越过0dB线的频率Wc称为交叉频率,标志着性能和鲁棒性要求之间的过渡。
图1:循环形成规范。
有几个指导方针选择目标环形状Gd
:
稳定鲁棒性:Gd
在高频率下应该有小于0dB的增益,其中工厂模型是如此之差,以至于相位误差可能接近180度。
性能:Gd
应该有高增益,你想要好的控制精度和良好的干扰抑制。
交叉和滚边:Gd
应该越过这两个频率区域之间的0dB线,并以-20到- 40db /decade的斜率滚过交叉频率Wc。
一个简单的目标环形状是
的交叉Wc
是期望阶跃响应上升时间的倒数。
为了便于说明,让我们使用一个在25000英尺和0.9马赫处裁剪的HiMAT飞机纵向动力学的六状态模型。飞机动力学是不稳定的,具有两个右半平面的phgoid模态。
图2:美国国家航空航天局HiMAT飞机
该模型有两个控制输入:
升降副翼偏转
鸭翼偏转
它也有两个测量输出:
攻角
螺旋角θ
该型号超过100 rad/sec就不可靠。机身弯曲模式和其他不确定因素导致模型和真实飞机之间的偏差高达20分贝(或1000%)超过频率100 rad/sec。
Ag = [-2.2567e-02 -3.6617e+01 -1.8897e+01 -3.2090e+01 3.2509e+00 -7.6257e-01;9.2572e-05 -1.8997e+00;1.2338e-02 1.1720e+01 -2.6316e+00 8.7582e-04 - 3.164e +01 2.2396e+01;00 1.0000e+00 0000;0000 -3.0000e+01 0;0000 000 -3.0000e+01];Bg = [0 0;0 0;0 0;0 0; 30 0; 0 30]; cg = [0 1 0 0 0 0; 0 0 0 1 0 0]; dg = [0 0; 0 0]; G = ss(ag,bg,cg,dg); G.InputName = {“设想”,“谣言”};G.OutputName = {“α”,“θ”};clf步骤(G)、标题(“HIMAT飞机的开环阶跃响应”)
我们的任务是控制α
和θ
通过发出适当的升降副翼和鸭翼命令。我们还希望通道之间的溢出最小——也就是说,alpha中的命令对theta的影响最小,反之亦然。
设计一个带有loopsyn
包括以下步骤:
第一步:观察植物的动态和反应
步骤2:指定所需的环形状Gd
步骤3:使用loopsyn
计算最优回路成形控制器
步骤4:分析形环L,闭环T,灵敏度S
步骤5:验证闭环响应符合您的规格。
在本例中,飞机模型G
有两个不稳定的右半平面phgoi模极。它有一个0,在左半平面上:
plant_poles =杆(G)
plant_poles =6×1复杂-5.6757 + 0.0000i 0.6898 + 0.2488i 0.6898 - 0.2488i 0.2578 + 0.0000i -30.0000 + 0.0000i -30.0000 + 0.0000i
plant_zeros = tzero (G)
plant_zeros = -0.0210
我们将使用σ
绘制最小和最大I/O增益作为频率的函数:
clfσ(G,‘g’, {.1,100});标题(飞机模型G(s)的奇异值图);
图4:飞机模型G(s)的奇异值图。
在本设计中,我们使用目标回路形状Gd(s)=8/s对应上升时间约为1/8=0.125秒。
s = zpk (“年代”);拉普拉斯变量sGd = 8 / s;σ(Gd,{。1 100})网格标题('目标环形状Gd(s)。')% create textarrow指向交叉频率Wc持有在;情节([8,35],[0,21],“k -”);图(8 0“kd”);情节([。1100年],[0 0],“k”);23岁的文本(3'交叉频率\omega_c = 8');持有从;
图5:目标回路形状Gd(s)。
现在,我们准备好设计一个h -∞控制器K
,使开环响应G(s)*K(s)的增益尽可能匹配目标环形状Gd(同时稳定飞机动力学)。
[K CL GAM] = loopsyn (G, Gd);GAM
GAM = 1.6447
的值GAM
约1.6表示目标环形状满足+/-4.3dB(使用20 * log10 (GAM)
= 4.3)。比较开环奇异值L = G * K
与目标环形状Gd
:
L = G * K;%形成补偿回路Lσ(Gd,“b”L,“r——”, {.1,100});网格传奇('Gd(目标回路形状)',“L(实际的环形形状)”);
图6:L与Gd的奇异值
接下来我们将比较开环转移L、闭环转移T和灵敏度函数S的增益。
T =反馈(L,眼(2));T.InputName = {“α命令”,“θ命令”};眼睛S = (2) - t;% SIGMA频率响应图σ(发票),“米”T‘g’L,“r——”Gd,“b”, Gd /联欢,”乙:“,...Gd *联欢,”乙:“,{.1,100})传说(1 / \σ(S)性能的,...‘\σ(T)的鲁棒性,...“\σ(L)开环”,...'\sigma(Gd)目标环形状',...“下午\σ(Gd) \ GAM (dB)”);把线变宽,字体变大%设置(findobj (gca、“类型”、“行”,“不是”,“颜色”,“b”),“线宽”,2);h = findobj (gca),“类型”,“行”,“不是”,“颜色”,“b”);集(h,“线宽”2);
图7:频率响应图。
最后,在这一步中,我们绘制闭环系统T的阶跃响应。
步骤(T, 8)标题(对alpha和theta阶跃命令的响应);
图8:对alpha和theta步长指令的响应。
我们的设计看起来不错。和的控制是相当解耦的,超调不到15%,峰值时间只有0.5秒。
我们刚刚设计了一个2输入2输出的控制器K
令人满意的性能。然而,这个控制器有相当高的顺序:
大小(K)
具有2个输出、2个输入和17个状态的状态空间模型。
我们现在可以使用模型简化算法来尽量简化这个控制器,同时保留它的性能特征。首先计算的Hankel奇异值K
为了理解有多少个控制器状态对控制律有有效的贡献:
hsv = hankelsv (K);semilogy (hsv,‘*……”网格)标题(' K的Hankel奇异值')包含(“秩序”)
图9:K的Hankel奇异值。
Hankel奇异值(HSV)测量平衡实现中各状态的相对能量K
.hsv在第10个状态之后开始急剧下降,所以试着计算K的10阶近似。
基米-雷克南=减少(K, 10);订单(Kr)
ans = 10
简化控制器基米-雷克南
第一个控制器的订单是10还是17K
.比较近似误差K-Kr
跨频率增益为K
.
σ(K,“b”K-Kr,r -。,{1的军医,1 e6})传说(“K”,“错误K-Kr”)
此图表明,近似误差相对较小,因此将闭环响应与原始和简化的控制器进行比较K
和基米-雷克南
.
Tr =反馈(G * Kr,眼(2));步骤(T)“b”、Tr、r -。8)标题(对alpha和theta阶跃命令的响应);传奇(“K”,“Kr”)
图11:对alpha和theta步长指令的响应。
这两个响应是难以区分的,所以简化的10阶控制器基米-雷克南
是好的替代品吗K
实施的目的。