主要内容

このページの翻訳は最新ではありません。ここをクリックして,英語の最新版を参照してください。

looptune

slTunerインターフェイスを使用して金宝appのMIMOフィードバックループを調整

説明

gam信息) = looptune (st0控制测量wcは,slTunerインターフェイスst0に関連付けられている仿金宝app真软件®モデルの制御システムの自由パラメーターを調整し,次の目標を達成します。

  • 帯域幅——各ループが周波数範囲wcに収まるゲイン交差周波数

  • 性能,WCより低い周波数における積分動作

  • ロバスト性-wcを超える周波数における適切な安定余裕とゲインのロールオフ

控制测量は,目標の適用対象となるコントローラーの出力信号と測定信号をそれぞれ指定します。は更新されたslTunerインターフェイスであり,gamは目標達成度を示し,信息は各最適化実行の詳細を示します。

調整は,st0Tsプロパティで指定されるサンプル時間で実行されます。調整アルゴリズムの詳細については,アルゴリズムを参照してください。

gam信息) = looptune (st0控制测量wcreq1,…,reqNは1つ以上の調整目標オブジェクト要求的事情によって指定された追加の目標を満たすようフィードバックループを調整します。wcに関連付けられている既定のループ整形目標を省略するには,wcを削除してください。安定余裕の目標は有効なまま維持される点に留意してください。

gam信息) = looptune (___选择は,さらに,ターゲットゲイン余裕,ターゲット位相余裕,実行回数,調整アルゴリズムの計算オプションなどのオプションを指定します。looptuneOptionsを使用して选择を作成します。

选择RandomStartsプロパティを使用して実行回数を複数回に指定している場合,looptuneは,ターゲットの目的値1を達成するために必要な回数しか実行されません。すべての調整目標を正規化して、最大値が 1 のときにすべての設計目標が達成されたことを意味するようにしてください。

すべて折りたたむ

rct_engine_speedモデルのPIDコントローラーを調整して,指定された帯域幅を達成します。

金宝app仿真软件モデルを開きます。

mdl =“rct_engine_speed”;open_system (mdl);

モデルのslTunerインターフェイスを作成します。

st0 = slTuner (mdl,PID控制器的);

PIDコントローラーの出力uを,解析ポイントとしてst0に追加します。

addPoint (st0“u”);

1次の特性に基づくと,閉ループ応答が5秒未満で整定するためには交差周波数が1 rad / sを超える必要があります。そのため,目標とする0分贝交差周波数として1 rad / sを使用し,PIDループを調整します。

wc = 1;圣= looptune (st0,“u”“速度”、wc);
最终:峰值增益= 0.979,迭代次数= 4已实现目标增益值TargetGain=1。

looptuneの呼び出しでは,“u”が制御信号を指定し,“速度”が測定信号を指定します。

調整後の応答と初期応答を比較します。

stepplot (getIOTransfer (st0,“Ref”“速度”), getIOTransfer(圣“Ref”“速度”));传奇(“初始”“速度”);

調整ブロックの値を表示します。

showTunable (st)
Block 1: rct_engine_speed/PID Controller = 1 s Kp + Ki *——+ Kd * -------- s Tf*s+1 with Kp = 0.000619, Ki = 0.00303, Kd = 0.000168, Tf = 0.01

調整した値を仿金宝app真软件モデルに書き戻すには,writeBlockValueを使用します。

入力引数

すべて折りたたむ

金宝app仿真软件でモデル化された制御システムを調整するためのインターフェイス。slTunerインターフェイスとして指定します。

コントローラーの出力の名前。次のいずれかで指定します。

  • 文字ベクトル-st0の解析ポイント1点の名前。

    名前全体もしくはst0の他の解析ポイントから一意に該当ポイントを識別できる部分的な名前を指定できます。

    たとえば,“u”とします。

  • 文字ベクトルの细胞配列——複数の解析ポイント名。

    たとえば,{' u ', ' y '}とします。

測定信号の名前。次のいずれかで指定します。

  • 文字ベクトル-st0の解析ポイント1点の名前。

    名前全体もしくはst0の他の解析ポイントから一意に該当ポイントを識別できる部分的な名前を指定できます。

    たとえば,“u”とします。

  • 文字ベクトルの细胞配列——複数の解析ポイント名。

    たとえば,{' u ', ' y '}とします。

ターゲット交差領域。次のいずれかで指定します。

  • [wcmin, wcmax]- - - - - -looptuneは,開ループゲインがターゲット交差領域内で0分贝に交差するよう,制御システム内のすべてのループを調整しようと試みます。

  • 正のスカラー——ターゲット交差領域を,(wc / 10 ^ 0.1, wc * 10 ^ 0.1]またはwc+ / - 0.1十年で指定。

wcは,動作時間単位,つまりモデルの時間単位で指定します。

設計目標。1つ以上のTuningGoalオブジェクトで指定します。

指定できる設計目標の完全なリストについては,調整目標を参照してください。

調整アルゴリズムのオプション。looptuneOptionsを使用して作成されたオプションセットとして指定します。

使用できるオプションは,次のとおりです。

  • 自由パラメーターの乱数の初期値から始める,追加の最適化の実行回数

  • 最適化を終了する許容誤差

  • 並行処理使用のフラグ

  • ターゲットゲイン余裕とターゲット位相余裕の指定

出力引数

すべて折りたたむ

調整インターフェイス。slTunerインターフェイスとして返されます。

調整のすべての制約条件に対する充足度を示すパラメーター。スカラーで返されます。

値がgam < = 1の場合は,すべての目標が満たされていることを示しています。値がgam > > 1の場合は,少なくとも1つの要件が満たされていないことを示します。loopviewを使用して,調整結果を可視化し,達成されていない要件を特定します。

最良の結果を得るには,looptuneOptionsRandomStartオプションを使用して,最小化が複数回実行されるようにします。RandomStartに整数値N > 0を設定すると,looptuneは,ランダムに選択したパラメーター値から始めて,最適化をN回余分に実行します。それぞれの実行ごとにgamを検証すれば,設計目標を満たす最適化結果を特定するのに役立ちます。

各最適化実行の詳細情報。次のフィールドをもつ構造体として返されます。

最適な入力スケーリングと出力スケーリング。状態空間モデルとして返されます。

スケーリングされたプラントは\ G *迪吗によって指定されます。

調整に使用される設計目標。TuningGoal要件オブジェクトのベクトルとして返されます。

各最適化実行の詳細情報。構造体として返されます。詳細については,アルゴリズムを参照してください。

运行の内容は,looptuneで実行されたsystuneへの呼び出しの信息出力です。运行のフィールドの詳細については,systuneのリファレンスページにある信息出力引数の説明を参照してください。

詳細

すべて折りたたむ

調整ブロック

slTunerインターフェイスで使用される“調整ブロック”は,金宝app仿真软件モデル内のブロックのうち,調整目標を満たすためにパラメーター調整を行うブロックを示します。ゲイン,伝達関数,状態空間モデルなどの線形要素を表現する仿金宝app真软件ブロックは,ほとんどが調整可能です(調整がサポートされているブロックの完全なリストは,調整された仿金宝app真软件ブロックをパラメーター化する方法を参照してください)。また、子系统ブロックやs函数ブロックなど,より複雑なブロックも,等価の調整可能な線形モデルを指定することで調整可能です。

調整ブロックのパラメーターを調整するには,systuneなどの調整コマンドを使用します。

slTunerインターフェイスを作成する際に,調整ブロック(たとえば,C1C2)を指定しなければなりません。

圣= slTuner (“scdcascade”,{“C1”C2的})

addBlockおよびremoveBlockにより,調整ブロックのリストを変更できます。

調整ブロックを対話的に操作するには,以下を使用します。

アルゴリズム

looptuneは,ターゲット帯域幅、性能目標,追加の設計目標をH最適化問題として表現する重み付け関数に自動変換します。変換後、looptunesystuneを使用して,Hノルムが最小となるように調整可能なパラメーターを最適化します。

最適化アルゴリズムの詳細については,[1]を参照してください。

looptuneは,[2]のアルゴリズムとSLICOTライブラリの構造維持固有値ソルバーを使用して,Hノルムを計算します。SLICOTライブラリの詳細については,http://slicot.orgを参照してください。

参照

[1] P. Apkarian和D. Noll,“非光滑h -∞合成”。自动化学报,Vol. 51, no . 1, 2006, pp. 71-86。

A. Bruisma, N.A.和M. Steinbuch, "A Fast Algorithm to Compute the H传递函数矩阵的范数,”系统控制通讯,14(1990),第287-293页。

拡張機能

R2014aで導入