最新のリリースでは,このページがまだ翻訳されていません。このページの最新版は英语でご覧になれます。

ジェット旅客机のフォールトトレラント制御

この例では,プラントの复数の操作モードの固定构造コントローラーを调整する方法について说明します。

背景

この例では,ジェット旅客机の升降舵および补助翼アクチュエータが停止した场合のフォールトトレラント飞行制御について说明します。飞行制御システムは,ノミナルな运航状况と,一部のアクチュエータがコントロールサーフェス损失により机能しなくなった劣化条件の両方において安定性を维持し,性能要件および快适性要件を満たさなければなりません。突风はすべての条件で軽减されなければなりません。この适用例は,极端な飞行条件下で航空机の安全性を维持しなければならないため “信頼制御”と呼ばれることがあります。

航空机モデル

制御システムはS金宝appimulink中でモデル化されます。

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

航空机は,次の状态変数(速度の単位は英里,角速度の単位は度/秒)をもつ厳格な6次状态空间システムとしてモデル化されます。

  • U:Xボディ轴速度

  • 女:žボディ轴速度

  • 问:ピッチレート

  • 五:Ÿボディ轴速度

  • 电话号码:ロールレート

  • R:ヨーレート

状态ベクトルに加え,飞行経路のバンク角レート亩(度/秒),迎角α(度)および横滑り角β(度)も制御できます。制御入力は,右侧の升降舵,左侧の升降舵,右侧の补助翼,左侧の补助翼および方向舵の偏向角です。すべての偏向角は度数で表されます。升降舵は対称的にグループ化されて迎角を生成します。补助翼は非対照的にグループ化されてロール运动を生成します。これにより,金宝appSimulink的モデルに示される3つの制御动作が生じます。

コントローラーは,内侧のループの状态フィードバック制御と外侧のループのMIMO积分动作で构成されます。ゲイン行列およびKx的はそれぞれ3行3列と3行6列であるため,コントローラーには27个の调整可能なパラメーターがあります。

アクチュエータの故障

9行5列の行列を使用してノミナルモードとさまざまなアクチュエータの故障モードを符号化します。各行は1つの飞行条件を表し,0は対応する偏向表面の停止を示します。

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. 3つの轴が适切に分离されたノミナル运航モードにおける,μ,α,βによる适切な追従性能の提供

  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インターフェイスを使用して调整タスクを设定します。调整対象のブロックをリストし,金宝appSimulink的モデルで変数停运を変化させて9つの飞行条件を指定します。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.99981,迭代= 286

ゲイン値を取得し,飞行のノミナル条件と劣化条件に対​​するμ,α,βでのステップコマンドへの応答をシミュレートします。すべてのシミュレーションには突风效果が含まれ,赤い曲线がノミナル応答です。

淇= 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);

ノミナル応答は良好ですが,アクチュエータの停止が生じた场合の性能低下は许容されません。

障害の発生した飞行でのコントローラーの调整

信頼性を向上させるためには,ノミナルプラントのノミナル要件および8つのすべての停止シナリオの缓和要件に合わせてコントローラーゲインを再调整します。

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

最适性能(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,'例子''控制''主要'))%删除例如数据

参考

|||

关连するトピック