メインコンテンツ

747 ジェット航空機のヨー ダンパーの設計

この例では、Control System Toolbox™ の古典制御設計機能を使用した、747® 航空機のヨー ダンパーの設計を示します。

この例では、巡航飛行中の航空機の簡略化された平衡モデルを使用します。このモデルは 2 つの入力 (ランナーおよび補助翼の偏向) と、次の 4 つの状態をもちます。

  • beta — 横滑り角

  • phi — バンク角

  • yaw — ヨー レート

  • roll — ロール レート

すべての角度と角速度の単位はそれぞれラジアンおよびラジアン/秒です。

平衡化モデルの ABC、および D 行列を指定し、状態空間モデル sys を作成します。

A = [-0.0558 -0.9968  0.0802 0.0415;
       0.598  -0.115 -0.0318      0;
       -3.05   0.388 -0.4650      0;
           0  0.0805       1      0];

B = [ 0.00729       0;
       -0.475 0.00775;
        0.153   0.143;
            0       0];

C = [0 1 0 0;
     0 0 0 1];

D = [0 0;
     0 0];

sys = ss(A,B,C,D);

入力、出力、および状態にラベルを付けます。

sys.InputName = ["rudder" "aileron"];
sys.OutputName = ["yaw rate" "bank angle"];
sys.StateName = ["beta" "yaw" "roll" "phi"];

このモデルは、"ダッチ ロール モード" に対応する減衰率の小さな極を 1 組もっています。極-零点プロットを使用して極を表示し、減衰および固有振動数の値をもつグリッドを表示します。

pzplot(sys)
grid on

MATLAB figure

この例の目標は、これらの 2 つの極の減衰を大きくするような補償器を設計することです。

可能な制御戦略を決定するには、まず開ループ解析を行います。インパルス応答は強い振動性を示しており、減衰率の小さなモードの存在を確認できます。

ip = impulseplot(sys);

MATLAB figure

20 秒というさらに短い時間枠での応答を検査します。

ip = impulseplot(sys,20);

MATLAB figure

補助翼の偏向角からバンク角への応答を表示します。このプロットのみを表示するには、プロットを右クリックして [I/O セレクター] を選択します。次に、[I/O セレクター] ダイアログ ボックスで [aileron] 列および [bank angle] 行の項目を選択します。

あるいは、チャート オブジェクト ip を変更して、最初の入力と最初の出力の表示を非表示にします。

ip.InputVisible(1) = "off";
ip.OutputVisible(1) = "off";

MATLAB figure

このプロットは、非ゼロ バンク角近傍で振動している航空機を示しています。これは、航空機は補助翼へのインパルス入力に応答して方向を変えていることを意味します。

一般に、ヨー ダンパーは検知出力としてヨー レートを、入力として方向舵を使用して設計されます。このモデルを元のシステムから抽出し、その周波数応答を確認します。

sys11 = sys("yaw","rudder");
bodeplot(sys11);

MATLAB figure

このプロットは、減衰率の小さなダッチ ロール モード (1 rad/s) の近傍で、方向舵がかなりの影響力をもっていることを示しています。

合理的な設計の目的は、固有振動数 wn < 1.0 rad/s のときに、減衰率 ζ > 0.35 を与えることです。最も簡単な補償器はゲインです。

根軌跡法を使用して、適切なフィードバック ゲイン値を選択します。

rlocusplot(sys11);

MATLAB figure

このプロットは負のフィードバックを前提としており、根軌跡の大部分が右半平面に存在します。

正のフィードバックに切り替えると、根軌跡は左半平面に配置されます。

rlocusplot(-sys11)

MATLAB figure

ゲイン値と減衰値を表示するには、青い曲線をクリックします。最も達成可能な閉ループ減衰は、k = 2.85 のゲインに対して約 0.45 です。

SISO フィードバック ループを閉じて、インパルス応答を確認します。feedback 関数は、既定では負のフィードバックを前提としているため、フィードバック ゲインを –k として指定します。

k = 2.85;
cl11 = feedback(sys11,-k);

impulseplot(sys11,"b--",cl11,"r")
legend("open-loop","closed-loop",Location="SouthEast");

MATLAB figure

閉ループ応答は良好です。

補助翼からの応答を確認するには、完全な MIMO モデルのループを閉じます。フィードバック ループには、プラントの入力 1 と出力 1 が含まれます。

cloop = feedback(sys,-k,1,1);
impulseplot(sys,"b--",cloop,"r",20)

MATLAB figure

ヨー レート応答は大きく減衰しています。

ただし、補助翼を移動すると、以下のプロットに示すように、システムは通常の航空機のようにバンクし続けなくなります。

impulseplot(cloop("bank angle","aileron"),"r",18)

MATLAB figure

この結果は、過度に安定化されたスパイラル モードによるものです。通常、スパイラル モードは非常に遅いので、補助翼の入力が継続的に得られなくても、機体をバンクさせながら方向転換できます。パイロットはこのような動作に慣れているので、このような通常の操作ができない設計は好みません。

ループを閉じたときにスパイラル モードが左半平面へさらに移動するのを防ぐには、次の式に示すウォッシュアウト フィルターを使用できます。

H(s)=kss+a

制御システム デザイナーを使用すると、パラメーター k および a をグラフィカルに調整して最適な組み合わせを見つけることができます。この例では、a = 0.2 を使用します。これは 5 秒の時定数に対応します。

a = 0.2 および k = 1 のウォッシュアウト フィルターを作成します。

H = zpk(0,-0.2,1);

ウォッシュアウト フィルターを直列で設計モデルに接続し、根軌跡を使用してフィルターのゲイン k を決定します。

oloop = H * (-sys11);
rlocusplot(oloop);
grid

MATLAB figure

最適な減衰は k = 2.34 に対して約 ζ = 0.305 となりました。フィルター ゲインを調整し、MIMO モデルのループを閉じて、インパルス応答を確認します。

k = 2.34;
wof = -k * H;
cloop = feedback(sys,wof,1,1);
impulseplot(sys,"b--",cloop,"r",20)

MATLAB figure

ウォッシュアウト フィルターは、通常のバンクおよび方向転換動作も復元しました。これは補助翼からバンク角へのインパルス応答を見ることで確認できます。

impulseplot(sys(2,2),"b--",cloop(2,2),"r",20)
legend("open-loop","closed-loop",Location="southeast");

MATLAB figure

仕様は完全に満たされていませんが、この設計では減衰を大幅に増加させる一方で、パイロットは航空機を通常どおりに操縦できます。

参考

関数

アプリ

トピック