主要内容

基于Mu综合的飞机横轴控制

此示例演示如何使用鲁棒控制工具箱中的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[12.51.25^2]);步骤(HQ_beta),标题(“从方向舵踏板到侧滑角的期望响应(操纵质量)”

图3:方向舵踏板对侧滑角的期望响应。

  • 稳定器执行器的偏转角度和偏转率有+/-20度和+/-50度/秒的限制。方向舵执行器的偏转角度和偏转率有+/-30度和+/-60度/秒的限制。

  • 三测信号(滚转率)p,横摆率r,以及横向加速度yac)通过二阶抗锯齿过滤器进行过滤:

Freq = 12.5 * (2*pi);% 12.5赫兹ζ= 0.5;ya_filt = tf(freq^2,[1 2*zeta*freq freq^2]);Lat_filt = tf(freq^2,[1 2*zeta*freq freq^2]);Freq = 4.1 * (2*pi);%4.1赫兹zeta=0.7;滚动过滤=tf(频率^2,[12*zeta*频率^2]);AAFilters=append(滚动过滤、偏航过滤、横向过滤);

从规格到加权函数

h -∞设计算法寻求最小化跨频率的最大闭环增益(h -∞范数)。为了应用这些工具,我们必须首先重铸设计规范作为闭环增益的约束。我们使用加权函数通过频率对规格进行“标准化”,并对每个需求进行同等的权重。

我们可以用权重函数表示设计规格如下:

  • 为了捕获驱动器偏转幅度和速率的限制,选择一个对角线,恒定的重量W_act,对应于稳定器和方向舵偏转率和偏转角限制。

W_act = ss(诊断接头([1/50,1/20,1/60,1/30]));
  • 使用3x3对角高通滤波器沃恩对横滚率、横摆率和横向加速度通道中传感器噪声的频率内容进行建模。

W_n = append(0.025,特遣部队(0.0125 * [1],[100]),0.025);clf bodemag (W_n(2, 2))、标题(“传感器噪声功率与频率的函数关系”

图4:传感器噪声功率与频率的函数关系

  • 从侧杆到p从舵踏板到β是否符合处理质量目标总部HQ_β.这是一个模型匹配目标:最小化差异(峰值增益)在期望和实际闭环传递函数之间。由于模型中的右半平面零点为0.002 rad/s,性能受到限制,因此不可能精确跟踪低于0.002 rad/s的正弦波。因此,我们将使用带通滤波器对第一个处理质量规范进行加权W_p这强调了0.06和30 rad/sec之间的频率范围。

W_p=tf([0.05 2.9 105.93 6.17 0.16],[19.19 30.80 18.83 3.95]);clf,bodemag(W_p),标题(“搬运重量质量规格”

图5:重量在处理质量规格上。

  • 同样,选择W_β=2*W_p为第二处理质量规范

W_β=2*W_p;

这里我们缩放权重W_act沃恩W_p,W_beta所以所有外部输入和加权输出之间的闭环增益在所有频率上都小于1。

标称飞机模型

飞行员可以通过横向操纵杆和方向舵踏板来控制飞机的横向方向响应。该飞机具有以下特点:

  • 两个控制输入:微分稳定器偏转三角洲刺在度,和方向舵偏转delta_rud在度。

  • 三测输出:滚转速率p以度/秒为单位,横摆率r在deg/s,和横向加速度yac在g的。

  • 一个计算输出:侧滑角β

标称横向方向模型外侧轴有四个州:

  • 横向速度v

  • 偏航率r

  • 滚转率p

  • 滚转角φ

这些变量由状态空间方程关联:

x ˙ 一个 x + B u y C x + D u

在哪里x = [v;r;p;φ)u=[delta_stab;delta_rud],y=[beta;p;r;yac]

负载LateralAxisModel外侧轴
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 p 0 0 r0 0 yac 0.002886 0.002273 Continuous-time state-space model.

完整的机身模型还包括执行机构模型美国A\u 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”“鲁德角”};

解释建模错误

标称模型仅近似真实的飞机行为。为了考虑未建模的动力学,可以引入相对项或乘性不确定性W_in*Delta_G在工厂输入,其中的错误动力学德尔塔各频率的增益小于1,且加权函数W_in反映了模型在其中或多或少准确的频率范围。在高频率下通常会有更多的建模错误W_in这是通行证。

%归一化误差动力学Delta_G=ultidyn(“Delta_G”(2 - 2),“绑定”, 1.0);%误差动力学的频率整形w_1=tf(2.0*[1 4],[1 160]);w_2=tf(1.5*[1 20],[1 200]);w_in=append(w_1,w_2);bodemag(w_1,“- - -”,w_2,“——”)头衔(“作为频率函数的标称模型的相对误差”)传奇(“稳定器”“舵”“位置”“西北”);

图6:标称飞机模型的相对误差与频率的关系。

建立飞机动力学的不确定模型

现在我们已经量化了建模误差,我们可以建立一个与图7中虚线框对应的飞机动力学不确定模型(与图1相同):

图7:飞机动力学。

使用连接用于组合标称机身模型的功能外侧轴,执行器型号美国A\u 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=侧向轴;Plant_nom.InputName={“stab_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”查看标称值,“get(Plant_unc)”查看所有属性,以及“Plant_unc.Un确定性”与不确定因素相互作用。

分析建模错误如何影响开环响应

我们可以通过选取未建模动力学的随机样本来分析建模不确定性的影响德尔塔以及绘制标称和扰动时间响应(蒙特卡罗分析)。例如,对于微分稳定器通道,不确定度权重w_1这意味着在低频率下的建模误差为5%,在93 rad/sec之后增加到100%,如下图所示。

随机抽取10个样本Plant_unc_sampl = usample (Plant_unc 10);查看微分稳定剂对beta的反应图(“位置”[100100560500])次要情节(211),步骤(Plant_unc.Nominal(5、1),“r+”, Plant_unc_sampl(5、1)“b-”(10)图例(“名义”“不安”)子标段(212),bodemag(电厂标称(5,1)),“r+”, Plant_unc_sampl(5、1)“b-”{0.001, 1 e3})传说(“名义”“不安”

图8:阶跃响应和伯德图。

横向控制器的设计

继续设计一个控制器,鲁棒性达到规范,其中鲁棒性意味着任何扰动飞机模型与建模误差界限一致W_in

首先,我们建立一个开环模型奥里奇将外部输入信号映射到与性能相关的输出,如下所示。

图9:将外部输入信号映射到与性能相关的输出的开环模型。

要构建此模型,请从闭环系统的框图开始,删除控制器块K,然后使用连接如前所述,通过标记每个块的输入和输出来指定连接性。

图10:构建开环模型的框图。

%标记块I/OAAFilters。u = {“p”“r”“雅克”};AAFilters。y =“AAFilt”;W_n.u=“噪音”;W_n。y =“Wn”; 总部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=具有11个输出、7个输入、26个状态的不确定连续时间-状态-空间模型。模型不确定性由以下模块组成:Delta_G:不确定2x2 LTI,峰值增益=1,1次出现类型“OLIC.NominalValue”查看标称值,“get(OLIC)”查看所有属性,以及“OLIC.Understance”与不确定因素相互作用。

回想一下,通过构造加权函数,当闭环增益在所有频率和所有I/O方向小于1时,控制器满足规范要求。首先设计一个H无穷大控制器,使标称飞机模型的闭环增益最小化:

nmeas=5;测量次数%nctrls=2;%控件数量[kinf,~,gamma_inf]=hinfsyn(OLIC.NominalValue,nmeas,nctrls);伽马射线
伽马单位inf=0.9700

在这里辛夫辛计算一个控制器基夫这使闭环增益低于1,因此规格可以满足名义飞机模型。

接下来,在考虑建模错误(不确定性)的情况下,执行一个mu-synthesis,看看是否能够健壮地满足规范德尔塔).使用命令musyn进行合成和使用musynOptions设置用于mu分析的频率网格。

fmu=日志空间(-2,2,60);opt=多个选项(“频率网格”,fmu);[kmu,CLperf]=musyn(OLIC,nmeas,nctrls,opt);
D-K迭代总结:----------------------------------------------------------------- 强劲的性能符合订单  ----------------------------------------------------------------- Iter K步峰μ适合D 1 5.097 3.487 3.488 12 2 20 3 1.31 1.292 1.312 1.242 1.242 1.693 12 4 16 5 1.223 1.223 1.551 1.693 1.544 1.545 12 6 20 7 12 1.278 1.277 1.308 1.533 1.464 1.465实现的最佳健壮性能:1.22
CLperf
CLperf=1.2226

这里是最好的控制器kmu对于指定的模型不确定性,不能保持闭环增益低于1,这表明在考虑的飞机模型家族中,规格可以接近但不是完全满足。

控制器的频域比较

比较了h -∞控制器的性能和鲁棒性基夫和μ控制器kmu。回想一下,性能规格是在每个频率的闭环增益小于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=INF.Frequency;gnom=sigma(clinf.NominalValue,f);semilogx(f,gnom(1,:),“r”,f,infoinf.Bounds(:,2),“b”);头衔(“kinf的性能分析”)包含(的频率(rad /秒)) ylabel (“闭环增益”);xlim((1)依照1 e2))传说(“名义上的植物”“最坏情况”“位置”“西北”);subplot(212) f = infomu.Frequency;gnom =σ(clmu.NominalValue f);: semilogx (f, gnom (1),“r”f infomu.Bounds (:, 2),“b”);头衔(“kmu的性能分析”)包含(的频率(rad /秒)) ylabel (“闭环增益”);xlim((1)依照1 e2))传说(“名义上的植物”“最坏情况”“位置”“西南”);

第一个图显示,当h -∞控制器基夫满足标称电厂模型的性能规格,在我们的建模误差范围内,对于某些扰动模型,其性能可能会急剧恶化(峰值增益接近15)。

相反,mu控制器kmu与其他设备相比,标称设备的性能稍差基夫,但对于所有受扰动模型,它都能保持这种性能(最坏情况增益接近1.25)。因此mu控制器是更多的健壮的建模错误。

鲁棒控制器的时域验证

为了进一步测试mu控制器的鲁棒性kmu在时域,您可以比较名义和最坏情况闭环模型的时间响应与理想的“处理质量”响应。要做到这一点,首先构建“真正的”闭环模型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=连接(设备unc(5:结束,:)、AAFilters、kmu、{“p_cmd”“beta_cmd”},{“p”“β”});

接下来,创建测试信号u_sticku_pedal如下所示

时间=0:0.02:15;u_杆=(时间>=9,时间<12);u_踏板=(时间>=1,时间<4)-(时间>=4,时间<7);clf子图(211),绘图(时间,u_杆),轴([0 14-2 2]),标题(“侧杆命令”)子地块(212),绘图(时间,u_踏板),轴([014-22]),标题(“方向舵踏板指令”

现在,您可以计算和绘制测试命令的理想、名义和最差情况响应u_sticku_pedal

%的理想行为IdealResp=append(HQ\u p,HQ\u beta);IdealResp.y={“p”“β”};%最坏响应WCResp=usubs(CLSIM、wcumu);%比较反应clf lsim(理想响应,“g”,CLSIM.NominalValue,“r”,WCResp,”乙:“,[u_杆;u_踏板],时间)图例(“理想的”“名义上的”“心烦意乱”“位置”“东南”);头衔(“带有mu控制器KMU的闭环响应”

对于标称和最坏情况的闭环系统,闭环响应几乎是相同的。请注意,飞机的滚转率响应在开始时很好地跟踪滚转率命令,然后偏离该命令。这是由于飞机模型中的右半平面零在0.024 rad/sec。

另请参阅

|

相关的话题