Main Content

このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。

Active Disturbance Rejection Control

不明なダイナミクスおよび外乱があるプラント用のコントローラーを設計する

R2022b 以降

  • Active Disturbance Rejection Control block

ライブラリ:
Simulink Control Design / Adaptive Control

説明

Active Disturbance Rejection Control ブロックを使用すると、不明なダイナミクスおよび内部と外部の外乱があるプラント用にアクティブな外乱の抑制の制御 (ADRC) を設計できます。ADRC は、プラント ダイナミクスの近似のみを必要とするモデルに依存しない制御手法であり、ロバストな外乱の抑制を提供するコントローラーを設計します。

このブロックは、不明なダイナミクスと外乱をプラントの拡張状態としてモデル化するとともに、既知のシステム ダイナミクスの 1 次または 2 次のモデル近似を使用します。通常、動作範囲内のプラントの開ループ ステップ応答からこの次数を決定します。

  • 1 次近似 — y˙(t)=b0u(t)+f(t)

  • 2 次近似 — y¨(t)=b0u(t)+f(t)

ここで

  • y(t) はプラント出力です。

  • u(t) は入力信号です。

  • b0 は臨界ゲインです。これは、入力 u(t) に対するプラント応答を記述する推定ゲインです。

  • f(t) は外乱の合計です。これには、不明なダイナミクスおよびその他の外乱が含まれます。

ブロックは拡張状態オブザーバー (ESO) を使用して f(t) を推定し、モデル近似の既知の部分に対する推定された外乱の影響を低減することで、外乱の抑制制御を実装します。ADRC を調整するには、適切な時間領域、モデル タイプ、臨界ゲイン、コントローラーとオブザーバーの帯域幅、および初期条件を設定します。

詳細については、アクティブな外乱の抑制の制御を参照してください。

端子

入力

すべて展開する

制御対象システムが追従する基準信号を提供します。

プラントの出力信号を提供します。

出力

すべて展開する

制御入力信号をプラント入力に接続します。

拡張状態オブザーバーからのプラント モデルの推定拡張状態。

[モデル タイプ][1 次] の場合、[xhat] は長さが 2 のベクトルであり、推定状態は y^ および f^(t) です。

[モデル タイプ][2 次] の場合、[xhat] は長さが 3 のベクトルであり、推定状態は y^y˙^、および f^(t) です。

依存関係

この出力端子を有効にするには、[推定拡張状態] パラメーターを選択します。

パラメーター

すべて展開する

[パラメーター] タブ

コントローラーの時間領域を指定します。

[離散時間] を選択する場合、[サンプル時間] パラメーターを使用してサンプル時間を指定します。

プログラムでの使用

ブロック パラメーター: 'time_domain'
型: 文字ベクトル
値: 'discrete-time' | 'continuous-time'
既定: 'discrete-time'

離散時間コントローラーのサンプル時間の値を指定します。

依存関係

このパラメーターを有効にするには、[時間領域] パラメーターを [離散時間] に設定します。

プログラムでの使用

ブロック パラメーター: 'Ts'
型: 文字ベクトル
値: 有限の正のスカラー
既定: '0.01'

プラントのモデル タイプを以下のいずれかとして指定します。

  • 1 次 — プラントに 1 次動的システムの動作が見られる場合、このオプションを選択します。

  • 2 次 — プラントに 2 次動的システムの動作が見られる場合、このオプションを選択します。

プログラムでの使用

ブロック パラメーター: 'model_type'
型: 文字ベクトル
値: 'first-order' | 'second-order'
既定: 'first-order'

モデルの動作を記述する臨界ゲイン b0 を指定します。

プログラムでの使用

ブロック パラメーター: 'b0'
型: 文字ベクトル
値: 有限の非ゼロのスカラー
既定: '1'

コントローラーの帯域幅を指定します。このパラメーターによって、コントローラーの応答速度が決定されます。一般的に、高速な応答ほど、必要なコントローラーの帯域幅が大きくなります。

プログラムでの使用

ブロック パラメーター: 'wc'
型: 文字ベクトル
値: 有限の正のスカラー
既定: '1'

オブザーバーの帯域幅を指定します。一般的に、これはコントローラーの帯域幅の 5 ~ 10 倍に設定して、オブザーバーがコントローラーよりも迅速に収束するようにします。

プログラムでの使用

ブロック パラメーター: 'wo'
型: 文字ベクトル
値: 有限の正のスカラー
既定: '10'

[ブロック] タブ

拡張状態オブザーバーの初期状態の値を、長さ n のスカラーまたはベクトルとして指定します。

[モデル タイプ][1 次] の場合、n は 2 です。それ以外の場合、n は 3 です。

プログラムでの使用

ブロック パラメーター: 'x0'
型: 文字ベクトル
値: 有限のスカラー | ベクトル
既定: '0'

ブロック出力を指定された飽和制限に制限するためのオプション。[上限] パラメーターと [下限] パラメーターを使用して、出力の飽和制限を指定します。

プログラムでの使用

ブロック パラメーター: 'ulim_checkbox'
型: 文字ベクトル
値: 'off' | 'on'
既定: 'off'

ブロック出力の上限を指定します。ブロック出力がこの値を上回る場合、この値で保持されます。

依存関係

このパラメーターを有効にするには、[出力を制限 (u)] パラメーターを選択します。

プログラムでの使用

ブロック パラメーター: 'umax'
型: 文字ベクトル
値: スカラー
既定: 'inf'

ブロック出力の下限を指定します。ブロック出力がこの値を下回る場合、この値で保持されます。

依存関係

このパラメーターを有効にするには、[出力を制限 (u)] パラメーターを選択します。

プログラムでの使用

ブロック パラメーター: 'umin'
型: 文字ベクトル
値: スカラー
既定: '–inf'

拡張状態オブザーバーから状態を出力するためのオプション。

[モデル タイプ][1 次] の場合、ブロックは y^ および f^(t) を出力します。

[モデル タイプ][2 次] の場合、ブロックは y^y˙^、および f^(t) を出力します。

プログラムでの使用

ブロック パラメーター: 'xhat_checkbox'
型: 文字ベクトル
値: 'off' | 'on'
既定: 'off'

拡張機能

C/C++ コード生成
Simulink® Coder™ を使用して C および C++ コードを生成します。

バージョン履歴

R2022b で導入

すべて展開する