Main Content

定常状態の操作点の計算

動的システムの "操作点" は、ある特定時点でのモデルについて、初期状態とルートレベルの入力信号を指定します。操作点の詳細については、操作点についてを参照してください。

定常状態の操作点を見つけるために、最適化ベースの探索またはシミュレーションのスナップショットを使用できます。

定常状態の操作点探索 (平衡化)

数値最適化手法を使用して、仕様を満たす定常状態の操作点 (平衡操作点) を計算できます。その結果得られる操作点は、平衡状態の値と、対応するモデルの入力レベルから構成されます。操作点探索が正常に行われると、真の定常状態の解にきわめて近い操作点が見つかります。

操作点の状態およびそれに対応するモデルの入出力信号のレベルについて知識がある場合は、最適化ベースの探索を使用してください。この知識を使用して、平衡状態における次の変数について初期推定や制約を指定できます。

  • 初期状態の値

  • 平衡の状態

  • 状態の値、入力レベル、および出力レベルの上限または下限

  • 既知 (固定) の状態の値、入力レベル、または出力レベル

以下を指定することで最適化に "過度の制約を適用する" と、操作点探索が定常状態の操作点に収束しない場合があります。

  • 定常状態の操作点の値に、目的の定常状態の操作点からかけ離れた初期推定を指定

  • 平衡状態で適合しない入力、出力、または状態の制約を指定

最適化アルゴリズムの設定を指定して、操作点探索の精度を制御することができます。

シミュレーションのスナップショットによる定常状態の操作点

定常状態の操作点は、モデルが定常状態の条件に達するまでシミュレートすることによって計算できます。これを行うには、目的とする定常状態の操作点の近くにシミュレーションの初期条件を指定します。

定常状態に到達するまでシミュレーションに要する時間が十分短い場合は、シミュレーションのスナップショットを使用します。このアルゴリズムでは、シミュレーションが定常状態に到達すると、操作点の値が抽出されます。

次のように指定すると、シミュレーションベースの計算で精度の高い操作点結果が得られません。

  • モデルが定常状態に移行するための十分な長さのないシミュレーション時間。

  • モデルを真の平衡状態には導かない初期条件。

通常は、シミュレーションのスナップショットと最適化ベースの探索とを組み合わせることで、操作点についての結果が向上します。たとえば、モデルが定常状態の近傍に達するまでシミュレーションを行い、結果として得たシミュレーションのスナップショットを使用して、最適化ベースの探索の初期条件を定義します。

メモ

Simulink® モデルに内部状態がある場合は、シミュレーションのスナップショットから計算した操作点でモデルを線形化しないでください。代わりに、シミュレーションのスナップショットを使用するか、最適化ベースの探索から取得した操作点でモデルを線形化してください。詳細については、内部状態表現をもつブロックの処理を参照してください。

定常状態になければならないモデルの状態

定常状態の操作点を計算する際、すべての状態が平衡になる必要はありません。振子は、すべての状態が定常状態である操作点を検出できるシステムの一例です。しかし、システムのタイプによっては、すべての状態が平衡になる操作点が存在しない可能性があります。そのような場合、アプリケーションでは操作点のすべての状態が平衡になる必要はありません。

たとえば、次の状態をもつクルーズ コントロール アプリケーション用に自動車モデルを作成するとします。

  • 車両の位置と速度

  • エンジンへの燃料および空気の流量

一定の走行速度での自動車の動作を調べることが目標だとすると、速度、空気流量、および燃料流量が定常状態になる操作点が必要です。しかし、車両は一定の速度で移動しているので、車両の位置は定常状態ではありません。位置はクルーズ コントロールの動作に大きな影響を与えないので、定常状態の位置変数がなくてもクルーズ コントロール アプリケーションに支障はありません。この場合、すべての状態が平衡になるように要求して、操作点の最適化探索に過度の制約を課す必要はありません。

航空宇宙システムでさまざまな操縦が行われている航空機のダイナミクスを分析する場合にも、それと同様の状況が発生します。

操作点探索ツールの選択

Simulink Control Design™ では、コマンド ラインでプログラムを使用するか、2 つのアプリのいずれかを使用した対話形式で、Simulink モデルの操作点を探索できます。

探索ツール使用時
findop
  • プログラムによる操作点の計算

  • 仕様からの操作点の計算

  • シミュレーションのスナップショットでの操作点の検出

  • 複数の仕様に対する操作点のバッチ計算

  • パラメーターの変化に対する操作点のバッチ計算

定常状態マネージャー
  • 対話形式による操作点の計算

  • 仕様からの操作点の計算

  • 仕様に対する操作点探索結果の検証

  • シミュレーションのスナップショットでの操作点の検出

  • 操作点を計算するための MATLAB® コードを生成する (このコードはバッチ計算に再利用可能)

モデル線形化器
  • 対話形式による線形化コンテキスト内での操作点の検出

  • 仕様からの操作点の計算

  • シミュレーションのスナップショットでの操作点の検出

Simulink Control DesignSimulink を使用した平衡化の比較

Simulink には、定常状態の操作点探索に用いる trim コマンドがあります。しかし、最適化ベースの操作点探索を実行する際は、trim の使用に比べて Simulink Control Designfindop にはいくつかの利点があります。

 Simulink Control Design の操作点探索Simulink の操作点探索
ユーザー インターフェイスありなし — trim のみ使用可能。
複数の最適化手法ありなし — 1 つの最適化手法のみ
上限および下限を使用して状態、入力、および出力の変数の制限ありなし
ルート モデルの出力端子に接続されていないブロックの出力値の指定ありなし
離散状態のモデルに関する定常状態の操作点ありなし
モデル参照のサポートありなし
Simscape™ Multibody™ との統合ありなし

参考

|

関連するトピック