ドキュメンテーション

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

カスケードのマルチループ/複数補償器のフィードバック設計

この例では、Simulink Control Design を使用して 2 つのカスケード フィードバック ループを調整する方法を説明します。

モデルを開く

機体モデルを開き、少し時間をとってモデルを調べます。

open_system('scdairframectrl');

設計の概要

この例では、加速度コンポーネント (az) が最大立ち上がり時間 0.5 秒の基準信号を追跡するように、2 つのカスケード フィードバック ループを設計するプロセスを紹介します。この例のフィードバック ループ構造では、内側のフィードバック ループとして本体比 (q) を、外側のフィードバック ループとして加速度 (az) を、それぞれ使用します。

2 つのフィードバック コントローラーは次のとおりです。

  • scdairframectrl/q Control - 離散時間積分器および Gain ブロックが内側のループを安定化させます。

open_system('scdairframectrl/q Control')

  • scdairframectrl/az Control - 離散時間積分器、離散伝達関数および Gain ブロックが外側のループを安定化させます。

open_system('scdairframectrl/az Control')

マルチループ設計におけるループの分離

カスケード フィードバック システムの一般的な設計手順では、最初に内側のループを設計し、次に外側のループを設計します。制御システム デザイナーでは、両方のループを同時に設計することが可能です。既定では、マルチループのフィードバック システムを設計する際はループ間の結合の影響が考慮されます。しかし、2 つのフィードバック ループを同時に設計する場合、内側のループを調整するときに外側のループの影響を取り除かなければならないことがあります。この例では、外側のループ (az) の影響を取り除いたうえで、内側のフィードバック ループ (q) を設計します。ここでは制御システム デザイナーでフィードバック ループを分離する方法を説明します。

制御システム デザイナーを開く

この例では、制御システム デザイナーを使用してこのフィードバック システムの補償器を調整します。制御システム デザイナーを開くには、次を行います。

  • モデルの左下隅にあるサブシステムをダブルクリックして、事前に構成されている制御システム デザイナー セッションを起動します。

  • 次の手順に従って制御システム デザイナーを構成します。

新規設計の開始

手順 1 制御システム デザイナーを開くには、Simulink モデル ウィンドウで [解析]、[制御設計]、[制御システム デザイナー] を選択します。

手順 2 [アーキテクチャの編集] ダイアログ ボックスの [ブロック] タブで、調整する以下のブロックを選択します。

  • scdairframectrl/q Control/q Gain

  • scdairframectrl/az Control/az Gain

  • scdairframectrl/az Control/az DTF

[信号] タブで、Simulink モデルで定義されている解析ポイントが [位置] として自動的に追加されます。

  • 入力:scdairframectrl/Step az - 出力端子 1

  • 出力:scdairframectrl/Airframe Model - 出力端子 1

さらに、以下のループは開ループ設計のフィードバック ループ候補として自動的に認識され、[データ ブラウザー][応答] エリアに表示されます。

  • 出力端子 1 (scdairframectrl/az Control/az DTF) の開ループ

  • 出力端子 1 (scdairframectrl/az Control/az Gain) の開ループ

  • 出力端子 1 (scdairframectrl/q Control/q Gain) の開ループ

手順 3 以下の各応答についてグラフィカルなボード エディターを開きます。制御システム デザイナーで [調整法]、[ボード エディター] を選択します。次に、[編集する応答の選択] ドロップダウン リストから、対応する開ループ応答を選択します。

  • 出力端子 1 (scdairframectrl/az Control/az DTF) の開ループ

  • 出力端子 1 (scdairframectrl/q Control/q Gain) の開ループ

手順 4 フィードバック システムの閉ループ応答を表示するには、新規の入出力伝達関数の応答についてステップ プロットを作成します。[新規プロット]、[新規ステップ] を選択し、[プロットする応答の選択] ドロップダウン リストから [新規の入出力伝達の応答] を選択します。

  • 入力信号として scdairframectrl/Step az/1、出力信号として scdairframectrl/Airframe Model/1 をそれぞれ追加します。

外側のフィードバック ループの影響の排除

外側のループのボード エディター プロット [LoopTransfer_scdairframectrl_az_Control_az_DTF のボード エディター] で、振幅応答を上方にドラッグしてフィードバック ループのゲインを増加させます。内側のループのボード エディター プロット [LoopTransfer_scdairframectrl_q_Control_q_Gain のボード エディター] も変化します。変化の原因は、フィードバック ループ間の結合です。より体系的な方法としては、まず内側のフィードバック ループを、外側のループが開いている状態で設計します。

内側のループの設計時に外側のループの影響を取り除くには、内側のループの開ループ応答にループ開始点を追加します。

手順 1 [データ ブラウザー][応答] エリアで、内側のループ応答を右クリックして [選択を開く] を選択します。

手順 2 [開ループ伝達関数] ダイアログ ボックスで、ループ開始点として scdairframectrl/az Control/az DTF/1 を指定します。[OK] をクリックします。

手順 3 外側のループのボード エディター プロットで、振幅応答をドラッグしてゲインを増加させます。ループは分離されているので、内側のループのボード エディター プロットは変化しません。

これで、外側のループの影響がない、内側のループの設計を完了できます。また、内側のループの影響を考慮しながら同時に、外側のループを設計することもできます。

補償器の調整

制御システム デザイナーには、制御システムを調整する 4 つの方法が用意されています。

  • 開/閉ループ ボード線図、根軌跡またはニコルス線図の各エディター プロットを使用して、補償器の極、零点、ゲインをグラフィカルに調整する。[調整法] をクリックし、[グラフィカルな調整] の下でエディターを選択します。

  • 時間領域と周波数領域の両方の設計要件を使用して補償器のパラメーターを最適化する (Simulink Design Optimization™ ソフトウェアが必要)。[調整法] をクリックし、[最適化ベースの調整] を選択します。詳細については、「Engine Speed Controller Tuning」を参照してください。

  • 閉ループ時定数などのパラメーターに基づく自動調整を使用して、初期の補償器パラメーターを計算する。[調整法] をクリックし、[PID 調整][IMC 調整][ループ整形] (Robust Control Toolbox™ ソフトウェアが必要)、[LQG 合成] のいずれかを選択します。

設計の完了

以下の補償器パラメーターは設計要件を満たしています。

  • scdairframectrl/q Control/q Gain:

         K_q = 2.7717622
  • scdairframectrl/az Control/az Gain

         K_az = 0.00027507
  • scdairframectrl/az Control/az DTF

         Numerator = [100.109745 -99.109745]
         Denominator = [1 -0.88893]

閉ループ システムの応答は次に示すとおりです。

Simulink モデルの更新

補償器のパラメーターを Simulink モデルに書き込むには、[ブロックの更新] をクリックします。その後、非線形モデルで設計をテストできます。

bdclose('scdairframectrl')
この情報は役に立ちましたか?