喷气式客机的容错控制

这个例子展示了如何对植物的多个操作模式调的固定结构控制器。

背景

这与在电梯和副翼执行器客机经受断电容错飞行控制例如交易。飞行控制系统必须保持在两个标称操作,并且其中一些致动器不再对控制表面损伤有效由于降解条件下的稳定性和满足性能和舒适性的要求。阵风必须在所有条件下得到缓解。此应用程序有时也被称为可靠的控制因为飞机的安全,必须在极端飞行条件下进行维护。

飞机模型

该控制系统在Simulink模型。万博1manbetx

让addpath(完整文件(matlabroot,'例子''控制''主要'))%添加的示例数据open_system('faultTolerantAircraft'

飞行器被建模为具有以下的状态变量的刚性第六阶状态空间系统(单元是速度英里和度/ s的角速率):

  • U:X-体轴速度

  • 瓦特:Z-体轴速度

  • 问:俯仰率

  • ν:Y型体轴速度

  • 电话号码:滚转速率

  • R:偏航率

状态向量是可用于控制以及飞行路径的坡度角速率亩(度/秒),攻击α(度)的角度,和侧滑角β(度)。控制输入​​是在正确的电梯的偏转,离开电梯,右副翼,左副翼,方向舵和。所有变形为度。电梯对称分组,以产生迎角。副翼被分组抗对称地产生滚动运动。这导致3个控制动作Simulink模型,如图所示。万博1manbetx

该控制器由在内部循环状态反馈控制和外环MIMO积分作用。增益矩阵Kx的是3×3和3×6,分别,所以控制器具有27个的可调参数。

执行器故障

我们使用9X5矩阵来编码标称模式和致动器的各种故障模式。每行对应于一个飞行状态,零指示相应偏转表面的中断。

OutageCases = [...1 1 1 1 1;...%标称运行模式0 1 1 1 1;...%右边的电梯停运1 0 1 1 1;...离开%停运电梯1 1 0 1 1;...%右副翼停运1 1 1 0 1;...%左侧副翼停运1 0 0 1 1;...向左%升降舵和右副翼停运0 1 0 1 1;...%右边的电梯,右副翼停运0 1 1 0 1;...%右边的电梯和左侧副翼停运1 0 1 0 1;...离开%和电梯左侧副翼停运]。

设计要求

控制器应:

  1. 提供在标称工作模式中μ,α良好的跟踪性能,和β与所述三个轴中的适当的去耦

  2. 10英里每小时阵风的存在保持性能

  3. 极限稳定性和性能退化器停运的脸。

为了表达第一个要求,你可以使用LQG般的成本函数惩罚综合跟踪误差Ë和控制工作ü

$$ J = lim_【T \ RIGHTARROW \ infty}ë\左({1 \超过T】\ INT_0 ^ T \ | W_eÊ\ | ^ 2 + \ | W_u U \ | ^ 2 dt的\右)。$$

对角线的权重$ W_e $$ W_u $对于交易的响应速度和控制力度,在其他重点强调某些渠道为主调旋钮。使用WeightedVariance要求表达这个成本函数,并放松性能重量$ W_e $由停电情况下的一个因素2。

我们= DIAG([10 20 15]);吴=眼(3);%标称跟踪要求SoftNom = TuningGoal.WeightedVariance('设定点'{'E''U'},blkdiag(我们,武)[]);SoftNom.Models = 1;%标称模型对于停运情况%跟踪要求SoftOut = TuningGoal.WeightedVariance('设定点'{'E''U'},blkdiag(我们/ 2,吴),[]);SoftOut.Models = 2:9;%中断情形

对于阵风减轻,限制误差信号的方差Ë由于白噪声WG驱动阵风模型。再次使用较严格的要求,对于停电的情况。

%标称阵风减缓需求HardNom = TuningGoal.Variance('WG''E',0.02);HardNom.Models = 1;对于停运情况%阵风减缓需求HardOut = TuningGoal.Variance('WG''E',0.1);HardOut.Models = 2:9;

控制器整的名义飞行

阵风速度为10英里到初始化控制器的可调谐状态反馈和集成商的收益。

GustSpeed = 10;淇=眼(3);KX =零(3,6);

使用slTuner界面来设置优化任务。列出,待调整的块,并指定通过改变九个飞行条件停运变量在Simulink模型。万博1manbetx因为你只能改变标量参数slTuner独立地指定由的每个条目所采取的值停运向量。

OutageData =结构(...'名称'{'中断(1)''中断(2)''中断(3)''断电(4)''停运(5)'},...'值',mat2cell(OutageCases,9,[1 1 1 1 1]));ST0 = slTuner('faultTolerantAircraft'{“文”'Kx的'},OutageData);

systune调整控制器增益受名义要求。对待阵风减缓的硬约束。

[ST,fSoft,gHard] = systune(ST0,SoftNom,HardNom);
决赛:软= 22.6,硬= 0.99944,迭代= 299

检索增益值和模拟到步骤命令的响应μ,α,β对于名义和退化的飞行条件。所有的模拟包括阵风的影响,而红色曲线是标称响应。

淇= getBlockValue(ST,“文”);的Ki = Ki.d;KX = getBlockValue(ST,'Kx的');KX = Kx.d;%银行角度设定模拟plotResponses(OutageCases,1,0,0);

角%的攻设定模拟plotResponses(OutageCases,0,1,0);

%侧滑角设定值模拟plotResponses(OutageCases,0,0,1);

标称反应是好的,但在面临停运器性能的恶化是不可接受的。

控制器整的飞行受损

为了提高可靠性,重新调整控制器的增益,以满足标称系统的额定要求以及为所有八个停运场景宽松的要求。

[ST,fSoft,gHard] = systune(ST0,[SoftNom; SoftOut],[HardNom; HardOut]);
决赛:软= 25.7,硬= 0.99969,迭代= 519

最佳性能(LQG成本的平方根附加$ J $)仅比标称的调整(26对23)略差。检索增益值并重新运行模拟(红色曲线是标称响应)。

淇= getBlockValue(ST,“文”);的Ki = Ki.d;KX = getBlockValue(ST,'Kx的');KX = Kx.d;%银行角度设定模拟plotResponses(OutageCases,1,0,0);

角%的攻设定模拟plotResponses(OutageCases,0,1,0);

%侧滑角设定值模拟plotResponses(OutageCases,0,0,1);

现在控制器提供了在这个例子中考虑的所有停运的情况可接受的性能。该设计可以通过添加规格如最小稳定性裕度和增益限制,以免致动器速率饱和进一步细化。

rmpath(完整文件(matlabroot,'例子''控制''主要'))%删除例如数据

也可以看看

|||

相关话题