Main Content

Simulink でモデル化されたプラントを使用したオンライン推定

Simulink® でモデル化されたプラントがある場合、モデル線形化器または frestimate コマンドを使用して、モデルを変更せずに周波数応答の推定を実行することができます。Frequency Response Estimator ブロックは、推定実験をモデルに直接組み込んで、モデルの実行中に推定を行うことのできる代替方法です。この方法は、物理プラントのオンライン推定のためにブロックを展開する予定がある場合に特に役立ちます。展開前に、推定アルゴリズムと実験パラメーターをプラントの Simulink モデルに対してテストすることで、オンライン推定がプラントにとって安全であることを確認できます。

Simulink でのオンライン推定のワークフロー

以下の手順は、Simulink でモデル化されたプラントについて周波数応答のオンライン推定を行うワークフローの、一般的な概要です。

  1. モデルに Frequency Response Estimator ブロックを組み込みます。

  2. 推定実験の開始と終了のタイミングを制御する start/stop 信号を構成します。

  3. 推定を行う周波数などの実験パラメーターを構成します。

  4. モデルを実行します。start/stop 信号を使用して推定実験を開始します。実験を開始すると、ブロックがテスト信号を挿入してプラントの応答を測定します。実験を終了すると、推定された周波数応答を調べることができます。

手順 1. Frequency Response Estimator のモデルへの組み込み

次の図は、Frequency Response Estimator ブロックを閉ループ制御システムに組み込む 1 つの方法を示しています。この構成では、コントローラーとプラントの間にブロックを挿入します。

制御信号は Frequency Response Estimator ブロックの u 端子に接続しています。u + Δu 端子はプラントの入力に接続しています。推定プロセスを開始する前、ブロックは摂動を加えずに制御信号を u から u + Δu へ直接渡します。この状態では、ブロックはシステムの動作に影響しません (推定のための望ましい操作点へとプラントを駆動する定数ソースに u を接続することにより、周波数応答の推定を開ループ構成で実行できます。ただし、リアルタイム推定では特に、閉ループ構成の使用をお勧めします。閉ループ構成では、挿入された外乱を抑えて安全なプラント動作を維持するようにコントローラーが機能します)。

start/stop 信号は、推定プロセスの開始と終了のタイミングを制御します (手順 2. Start/Stop 信号の構成を参照)。プラントが望ましい操作点で定常状態にあるときに実験を開始します。start/stop 信号が正の場合、ブロックは u + Δu にテスト信号を挿入し、y で応答を測定します。ブロックは、推定された周波数応答を計算して frd 端子に返します。

例については、シミュレーション中の周波数応答のオンライン推定を参照してください。

摂動信号のみの適用

既定の構成ではブロックをコントローラーとプラントの間に挿入することが必要です。制御信号に自分で摂動信号を加えるには、Frequency Response Estimator ブロックのパラメーターで [出力信号の構成][摂動のみ] に設定します。この構成では、端子 Δu において、ブロックの出力に摂動信号のみが含まれます。次のブロック線図のように、たとえば Sum ブロックを使用して、この摂動信号をプラントに挿入します。

この構成では Frequency Response Estimator が閉ループの一部ではないため、ループ構成を中断せずにオプションでコメント アウトすることができます。

手順 2. Start/Stop 信号の構成

周波数応答の推定実験を開始または終了するには、start/stop 端子で信号を使用します。実験が実行中でない場合、ブロックは摂動信号を生成しません。この状態では、ブロックはプラントの動作に影響しません。ブロックが start/stop 端子で立ち上がりまたは立ち下がり信号を受け取ると、それぞれに対し、周波数応答の推定実験は開始または終了します。手順 1. Frequency Response Estimator のモデルへの組み込みで示したシステムでは、互い違いのステップ信号により実験の開始と終了が行われます。実験の開始時間と終了時間を制御するために、アプリケーションに適したその他のロジックを構成することができます。たとえば、Signal Editor ブロックを使用して start/stop 信号を構成し、1 回のシミュレーション実行で複数の実験を行うことができます。

ブロックは、推奨される実験の長さをブロック パラメーターの [実験の長さ] セクションで指定します。通常、立ち上がり信号と立ち下がり信号の間に少なくともこれと同じ時間をもたせて start/stop 信号を構成します。また、実験が終了する前にシミュレーションが終了してしまわないことも確認しなければなりません。推奨される実験の長さをブロックが決定する方法の詳細については、Frequency Response Estimator ブロックのリファレンス ページを参照してください。

手順 3. 実験パラメーターの設定

周波数応答の推定実験では、Frequency Response Estimation ブロックの [周波数] パラメーター (または w 端子) に指定された周波数で正弦波信号を挿入します。[振幅] パラメーターを使用して (または amp 端子で) 摂動の振幅を指定します。

ブロックは、摂動を各周波数で別々に適用 (sinestream モード) するか、同時に適用 (重ね合わせモード) することができます。使用するモードを指定するには、[実験モード] パラメーターを設定します。

  • [Sinestream] モード — 摂動を 1 周波数ずつ適用します。sinestream モードは、重ね合わせモードに比べてより正確な場合があり、より広範な周波数を受け入れることができます。

  • 重ね合わせ — すべての周波数を含む重ね合わせ信号として、摂動を一度に適用します。一般に、推定実験は重ね合わせモードの方が高速です。

摂動の適用時にシステムが整定するのを待つ時間の長さと、推定のために応答を測定する時間の長さをブロックに指示するパラメーターの指定もできます。2 つの信号タイプとその相対的な長所の詳細については、Frequency Response Estimator ブロックのリファレンス ページにある [実験モード] パラメーターの説明を参照してください。

手順 4. モデルの実行と推定された周波数応答の検証

推定実験のためのパラメーターをすべて構成した後、モデルを実行します。ブロックにより指定された推奨される実験の長さに基づいて、推定実験が完了するのに十分な時間にわたりモデルを実行します。[ボード線図の表示] を選択した場合、ブロックは実験中に、推定された周波数応答を可視化するボード線図を生成します。

実験中、ブロックは推定された周波数応答を frd 端子で更新します。この端子の信号は、[周波数] で指定された周波数ごとに 1 つの値をもつベクトルです。To Workspace ブロックを使用して MATLAB® ワークスペースにこの信号を書き込むか、Simulink データ ログを使用してワークスペースに Simulink.SimulationData.Dataset オブジェクトとしてデータを書き込むことができます。ログに記録された値は、実験中に周波数応答が収束することを示しています。最も意味のある値は、実験が終了するときの値です。そのため、最後の値を除いてすべての値を破棄することができます。

周波数応答のオンライン推定を実行するように構成されたモデルの例は、シミュレーション中の周波数応答のオンライン推定を参照してください。

参考

関連するトピック