该示例示出了如何使用MU-分析和综合工具在鲁棒控制工具箱™。它描述了一种用于飞行器的横向方向轴线的鲁棒控制器的供电的方法来在着陆过程中的设计。用于一个角度的攻的10.5度,获得飞机的线性化模型和空速的140节。
下图是闭环系统的框图。该图包括标称飞机模型、控制器K
,以及元素捕捉模型不确定性和性能目标(详见下节)。
图1:飞机横轴鲁棒控制设计
设计的目标是使飞机有效地响应飞行员的侧杆和方向舵踏板输入。性能规范包括:
从侧杆解耦响应p_cmd
对侧倾刚度p
从方向舵踏板beta_cmd
到侧滑角β
。侧杆和方向舵踏板的最大偏转为+/- 1英寸。
从横向棒飞机处理质量(HQ)响应于侧倾率p
应该匹配一阶响应。
HQ_p = 5.0 * tf(2.0,[1 2.0]);步骤(HQ_p)、标题(“从横向棒侧倾率(处理质量)所需的响应”)
图2:从横向棒侧倾率所需的响应。
飞机操纵质量从方向舵踏板到侧滑角度的反应β
应该匹配阻尼二阶响应。
HQ_beta = -2.5 * TF(1.25 ^ 2,[1 2.5 1.25 ^ 2]);步骤(HQ_beta),标题(“从舵踏板侧滑角(处理质量)所需的响应”)
图3:从舵踏板侧滑角所需的响应。
稳定器致动器具有+/- 20度和+/- 50度/ S于他们的偏转角和偏转速率限制。方向舵的致动器具有+/- 30度和+/- 60度/秒的偏转角和速率的限制。
三种测量信号(滚转率)p
,横摆角速度r
和横向加速度YAC
)通过第二阶的抗混叠过滤器过滤:
频率= 12.5 * (2*pi);% 12.5赫兹ζ= 0.5;yaw_filt = tf(freq^2,[12 *zeta*freq freq^2]);lat_filt = tf(freq^2,[1 2*zeta*freq ^2]);频率= 4.1 * (2*pi);%4.1赫兹ζ电= 0.7;roll_filt = TF(频率^ 2,[1 2 *ζ电*频率频率^ 2]);AAFilters =追加(roll_filt,yaw_filt,lat_filt);
h -∞设计算法寻求最小的最大闭环增益跨频率(h -∞范数)。要应用这些工具,我们必须首先重新定义设计规范,作为闭环增益的约束。我们使用权重函数跨频率“标准化”规范,并平等地衡量每个需求。
我们可以用权重函数表示设计规范如下:
为了捕获对致动器偏转幅度和速度的限制,选择一个对角线,恒定的重量W_act
中,对应于稳定剂和方向舵偏转率和偏转角的限制。
W_act = ss(诊断接头([1/50,1/20,1/60,1/30]));
使用一个3x3的对角线,高通滤波器W_n
在侧倾率传感器噪音,横摆率和横向加速度信道的频内容模型。
W_n = append(0.025,特遣部队(0.0125 * [1],[100]),0.025);clf bodemag (W_n(2, 2))、标题(“传感器噪声功率作为频率的函数”)
图4:传感器噪声功率作为频率的函数的
从侧面坚持到p
和方向舵踏板β
是否符合操作质量目标HQ_p
和HQ_beta
。这是一个模型匹配的目标:最小化的差(峰值增益)的期望的和实际的闭环传输函数之间。性能在0.002弧度/秒以下0.002弧度有限的,由于在模型中的右半平面零,正弦曲线,以便精确跟踪/ s是不可能的。因此,我们将重量带通滤波器的第一处理质量规范W_p
强调0.06和30弧度/秒之间的频率范围。
W_p = TF([0.05 2.9 105.93 6.17 0.16],[1 9.19 30.80 18.83 3.95]);CLF,bodemag(W_p),标题(《搬运重量质量规范》)
图5:重量在搬运质量规格上。
同样,选择W_beta = 2 * W_p
第二次处理质量规范
W_beta = 2 * W_p;
在这里,我们按比例的权重W_act
,W_n
,W_p
,W_beta
所以所有外部输入和所有加权输出之间的闭环增益在所有频率上都小于1。
导频可以命令飞机的与所述横向棒和方向舵脚蹬横向方向响应。该机具有以下特点:
两个控制输入:差动稳定器偏转delta_stab
角度和方向舵偏转delta_rud
在度。
三种测量输出:滚压率p
在度/秒,横摆率r
在每秒和横向加速度YAC
在g的。
一个计算输出:侧滑角β
。
标称的横向模型LateralAxis
有四个州:
横向速度v
偏航率r
滚转率p
侧倾角φ
这些变量通过状态空间方程联系起来:
哪里x = [v;r;p;φ)
,U = [delta_stab;delta_rud]
,Y = [β;p;r;YAC]
。
负载LateralAxisModelLateralAxis
LateralAxis = = v r p vφ-0.116 -227.3 43.02 31.63 0.00265 -0.259 -0.1445 0.1853 0 pφ-0.02114 0.6703 -1.365 0 0 1 0 B = delta_stab delta_rud vφ0.0622 - 0.1013 -0.04666 - 0.003644 -0.005252 - -0.01121 r p 0 0 C = v r p phi beta 0.2469 0 0 0 r p 57.3 0 0 0 0 0 0 yac -0.002827 -0.007877 0.05106 0 D = 57.3 delta_stab delta_rudβ0 0 r p 0 0 0 0 yac 0.002886 - 0.002273连续时间状态空间模型。
完整的机身模型还包括执行器模型如
和A_R
。所述致动器输出的是其各自的偏转速率和角度。执行器率被用于惩罚操纵消耗。
A_S = [tf([25 0],[1 25]);特遣部队(25、25 [1])];现代。OutputName = {“stab_rate”,“stab_angle”};A_R = A_S;A_R.OutputName = {“rud_rate”,'rud_angle'};
名义模型仅仅是接近真实飞机的行为。要占未建模动态,你可以引入一个相对的概念或可乘不确定性W_IN * Delta_G
在植物输入处,误差动态变化Delta_G
具有增益小于1跨越频率,并且加权函数W_in
反映频率范围,其中模型是或多或少的准确。在高频时,通常会有更多的建模错误W_in
是高通。
%的标准化误差动态Delta_G = ultidyn(“Delta_G”(2 - 2),'界', 1.0);%误差动力学的频率整形W_1 = TF(2.0 * [1 4],[1160]);W_2 = TF(1.5 * [1 20],[1 200]);W_IN =追加(W_1,W_2);bodemag(W_1,“- - -”,W_2,“——”)标题(“上标称模型相对误差作为频率的函数”)图例(“稳定器”,“舵”,“位置”,“西北”);
图6:标称飞机模型作为频率函数的相对误差。
现在,我们有量化的模型误差,我们可以建立相应的虚线框在图7(如图1相同)的飞机动态不确定模型:
图7:飞机动力学。
使用连接
功能标称机体模型相结合LateralAxis
,致动器模型如
和A_R
,以及建模错误描述W_IN * Delta_G
变成一个单一的不确定模型Plant_unc
映射[delta_stab;delta_rud]
致执行机构和工厂输出:
%具有建模不确定性的驱动器模型A_R Act_unc = append(现代)*(眼(2)+ W_in * Delta_G);Act_unc。InputName = {“delta_stab”,“delta_rud”};%标称飞机动态Plant_nom = LateralAxis;Plant_nom.InputName = {“stab_angle”,'rud_angle'};%连接两个子系统输入= {“delta_stab”,“delta_rud”};输出=[现代。y;A_R。y;Plant_nom.y];Plant_unc =连接(Plant_nom Act_unc、输入、输出);
这产生一个不确定状态空间(USS)模型Plant_unc
飞机:
Plant_unc
Plant_unc =不确定连续时间状态空间模型与8个输出,2个输入,8个状态。该模型不确定性由以下部分组成:Delta_G:不确定的2x2 LTI,峰值增益= 1,1出现输入“Plant_unc.NominalValue”看到标称值,“得到(Plant_unc)”可以看到所有的属性,而“Plant_unc.Uncertainty“与不确定因素的相互作用。
我们可以通过对未建模动力学的随机采样来分析建模不确定性的影响Delta_G
并绘制出名义和扰动的响应时间(蒙特卡罗分析)。例如,对于差分稳定剂通道中,不确定性权重W_1
在低频率下,模型误差为5%,在93 rad/sec后,误差增加到100%,如下图所示。
%随机抽取10个样本Plant_unc_sampl = usample (Plant_unc 10);查看从差稳定器到贝塔的响应图('位置'[100100560500])次要情节(211),步骤(Plant_unc.Nominal(5、1),'R +', Plant_unc_sampl(5、1)'B-',10)图例(“名义”,“不安”)副区(212),bodemag(Plant_unc.Nominal(5,1),'R +', Plant_unc_sampl(5、1)'B-'{0.001,1e3})图例(“名义”,“不安”)
图8:阶跃响应和波德图。
接着设计一个鲁棒达到规范要求的控制器,其中鲁棒方法对于任何受扰动的飞机模型都要符合建模误差界W_in
。
首先,我们建立一个开环模型OLIC
将外部输入信号映射到与性能相关的输出,如下所示。
图9:将外部输入信号映射到与性能相关的输出的开环模型。
为了构建该模型,开始与闭环系统的框图,删除控制器块K,和使用连接
计算所需的型号。如前所述,连接由标记的每个块的输入和输出的指定。
图10:框图建设开环模式。
%标签块I / OAAFilters。u = {“p”,“r”,'YAC'};AAFilters。y =“AAFilt”;W_n.u =“噪音”;W_n.y ='Wn的';HQ_p.u =“p_cmd”;HQ_p。y ='HQ_p';HQ_beta。u ='beta_cmd';HQ_beta.y =“HQ_beta”;W_p.u =“e_p”;W_p。y =“z_p”;W_beta。u =“e_beta”;W_beta。y ='z_beta';W_act。u =[A_S.y ; A_R.y]; W_act.y =“z_act”;指定和结Sum1 = sumblk ('%MEAS = AAFilt为+ Wn', {'p_meas','r_meas','yac_meas'});SUM2 = sumblk('e_p = HQ_p - P');SUM3 = sumblk('e_beta = HQ_beta - beta');%连接一切由于奥利奇=连接(Plant_unc AAFilters W_n, HQ_p, HQ_beta,...W_p、W_beta W_act、Sum1 Sum2, Sum3,...{“噪音”,“p_cmd”,'beta_cmd',“delta_stab”,“delta_rud”},...{“z_p”,'z_beta',“z_act”,“p_cmd”,'beta_cmd','p_meas','r_meas','yac_meas'});
这就产生了不确定状态空间模型
OLIC
OLIC =不确定连续时间状态空间模型与11个输出,7个输入,26点的状态。该模型不确定性由以下部分组成:Delta_G:不确定的2x2 LTI,峰值增益= 1,1出现输入“OLIC.NominalValue”看到标称值,“得到(OLIC)”可以看到所有的属性,而“OLIC.Uncertainty“与不确定因素的相互作用。
回想一下,通过构建的加权函数,控制器满足规格每当闭环增益是在所有频率小于1并且对于所有I / O的方向。先设计的H∞控制器,对于标称飞机模型的闭环增益最小化:
nmeas = 5;测量次数%nctrls = 2;控制次数%[kinf,〜,gamma_inf] = hinfsyn(OLIC.NominalValue,nmeas,nctrls);gamma_inf
gamma_inf = 0.9700
在这里hinfsyn
计算一个控制器kinf
这使得闭环增益保持在1以下,所以规格可以满足名义飞机模型。
接下来,执行一个mu合成,看看在考虑建模错误(不确定性)的情况下是否能够严格满足规格要求Delta_G
)。使用命令musyn
以执行的合成和用途musynOptions
设置用于MU-分析的频率网格。
FMU = LOGSPACE(-2,2,60);选择= musynOptions('FrequencyGrid',FMU);[KMU,CLperf] = musyn(OLIC,nmeas,nctrls,优化);
D-K迭代总结:健壮的性能符合秩序——Iter K步峰μ适合D 1 5.097 3.487 3.488 12 2 20 3 1.31 1.292 1.312 1.243 1.243 1.692 12 4 16 5 1.223 1.223 1.55 1.692 1.543 1.544 12 6 20 7 1.294 1.292 1.308 1.534 1.464 1.465 12最好实现健壮的性能:1.22
CLperf
CLperf = 1.2227
这里最好的控制器高雄医学大学
对于指定的模型不确定性,不能将闭环增益保持在1以下,说明对于所考虑的飞机模型家族,规格可以接近但不能完全满足。
比较了h -∞控制器的性能和鲁棒性kinf
和μ控制器高雄医学大学
。回想一下,当闭环增益小于1对于每个频率的性能规格来实现的。使用融通
功能紧密围绕每个控制器的循环:
clinf =融通(齐上,kinf);clmu =融通(齐上,kmu);
什么是最坏情况下的性能(在闭环增益方面)每个控制器的供界建模误差W_in
?该wcgain
命令帮助您直接回答这个困难的问题,而不需要广泛的网格和模拟。
%计算最坏情况下增益作为频率的函数选择= wcOptions (“VaryFrequency”,“上”);%计算最坏情况下的增益(作为频率的函数),用于kinf[mginf, wcuinf infoinf] = wcgain (clinf,选择);%计算kmu的最坏情况增益[mgmu,wcumu,infomu] = wcgain(clmu,优化);
现在,您可以比较每个控制器的名义和最坏情况下的性能:
CLF副区(211)F = infoinf.Frequency;GNOM =西格玛(clinf.NominalValue,F);: semilogx (f, gnom (1),“r”中,f,infoinf.Bounds(:,2),'B');标题(“kinf的性能分析”)包含(的频率(rad /秒)) ylabel (“闭环增益”);xlim((1)依照1 e2))传说(“名义上的植物”,'最糟糕的情况',“位置”,“西北”);子图(212)f = infomu.Frequency;gnom =σ(clmu.NominalValue f);: semilogx (f, gnom (1),“r”f infomu.Bounds (:, 2),'B');标题(“为高雄医学大学性能分析”)包含(的频率(rad /秒)) ylabel (“闭环增益”);xlim((1)依照1 e2))传说(“名义上的植物”,'最糟糕的情况',“位置”,'西南');
第一个图显示,当h -∞控制器kinf
符合标称系统模型的性能规格,其性能急剧恶化(峰值增益接近15),我们的建模误差范围内的一些扰动模型。
与此相反,控制器亩高雄医学大学
相比于当有标称系统性能略差kinf
,但对于所有受干扰的模型(最坏情况下增益接近1.25),它都能始终如一地保持这种性能。mu控制器因此更健壮的到建模误差。
为了进一步测试亩控制器的鲁棒性高雄医学大学
在时域中,您可以比较名义和最坏情况闭环模型的时间响应与理想的“处理质量”响应。为此,首先构建“真正的”闭环模型CLSIM
所有加权函数和HQ参考模型已被删除:
kmu。u ={“p_cmd”,'beta_cmd','p_meas','r_meas','yac_meas'};kmu。y ={“delta_stab”,“delta_rud”};AAFilters.y = {'p_meas','r_meas','yac_meas'};CLSIM =连接(Plant_unc(5:端,:),AAFilters,KMU,{“p_cmd”,'beta_cmd'},{“p”,“β”});
接下来,创建测试信号u_stick
和u_pedal
如下图所示
时间= 0:0.02:15;u_stick =(时间> = 9&时间<12);u_pedal =(时间> = 1&时间<4) - (时间> = 4&时间<7);CLF副区(211),曲线图(时间,u_stick),轴([0 14 -2 2]),标题(“侧杆命令”)副区(212),曲线图(时间,u_pedal),轴([0 14 -2 2]),标题(“舵踏板命令”)
您现在可以计算和绘制对测试命令的理想、名义和最坏情况的响应u_stick
和u_pedal
。
%的理想行为IdealResp =追加(HQ_p,HQ_beta);IdealResp.y = {“p”,“β”};%最坏响应WCResp = usubs(CLSIM,wcumu);%比较反应CLF lsim(IdealResp,'G',CLSIM.NominalValue,“r”,WCResp,”乙:“[u_stick;u_pedal],时间)图例('理想',“标称”,'忐忑',“位置”,“东南”);标题('闭环响应与mu控制器KMU')
闭环响应是几乎相同的名义和最坏情况的闭环系统。请注意,飞机的滚转率响应最初很好地跟踪滚转率命令,然后离开该命令。这是由于飞机模型右半平面零点在0.024 rad/s。