Main Content

受動性目標

目的

制御システム調整器を使用しているときに、特定の入力/出力マップの受動性を適用します。

説明

受動性目標は特定の信号の位置間に伝達関数の応答の受動性を適用します。すべての I/O 軌跡 (u(t),y(t)) が次を満たす場合、システムは "受動的" です。

0Ty(t)Tu(t)dt>0,

すべての T > 0 について上記が成り立つとします。同様に、周波数応答が正の実数の場合、つまりすべての ω > 0 について次が成り立つ場合、システムは受動的です。

G(jω)+G(jω)H>0

受動性目標は次が適用される制約を作成します。

0Ty(t)Tu(t)dt>ν0Tu(t)Tu(t)dt+ρ0Ty(t)Ty(t)dt,

すべての T > 0 について上記が成り立つとします。全体の受動性条件を適用するには、最小入力受動性インデックス (ν) と最小出力受動性インデックス (ρ) をゼロにセットします。入力または出力に受動性の超過を適用するには、ν または ρ を正の値に設定します。受動性の不足を許容するには、ν または ρ を負の値に設定します。これらのインデックスの詳細については、受動性および受動性インデックスについてを参照してください。

制御システム調整器のプロットの影付き領域は、調整目標が満たされない周波数領域を表しています。プロットにはアルゴリズムで説明されているインデックスの値が示されます。

作成

制御システム調整器[調整] タブで、[新規目標][受動性目標] を選択します。

コマンド ラインにおける同等の操作

コマンド ラインで制御システムを調整する場合、TuningGoal.Passivity を使用して受動性制約を指定します。

I/O 伝達選択

ダイアログ ボックスのこのセクションを使用して、調整目標が制約する伝達関数の入力と出力を指定します。また、調整目標を評価するためにループを開く位置を指定します。

  • 入力信号の指定

    調整目標によって制約される伝達関数への入力として、モデル内の信号の位置を 1 つ以上選択します。SISO 応答を制約するには、単一値の入力信号を選択します。たとえば、'u' という名前の位置から 'y' という名前の位置にゲインを制約するには、 [信号をリストに追加] をクリックして 'u' を選択します。MIMO 応答の受動性を制約するには、複数の信号またはベクトル値の信号を選択します。

  • 出力信号の指定

    調整目標によって制約される伝達関数の出力として、モデル内の信号の位置を 1 つ以上選択します。SISO 応答を制約するには、単一値の出力信号を選択します。たとえば、'u' という名前の位置から 'y' という名前の位置にゲインを制約するには、 [信号をリストに追加] をクリックして 'y' を選択します。MIMO 応答の受動性を制約するには、複数の信号またはベクトル値の信号を選択します。

  • 次の開ループの入力/出力ゲインの計算

    この調整目標を評価するために、フィードバック ループを開くモデル内の信号の位置を 1 つ以上選択します。調整目標は、特定した位置でフィードバック ループを開くことにより作成される開ループの構成に対して評価されます。たとえば、'x' という名前の位置が開始点の調整目標を評価するには、 [信号をリストに追加] をクリックして、'x' を選択します。

ヒント

Simulink® モデル内で選択された任意の信号を強調表示するには、 をクリックします。入力リストまたは出力リストから信号を削除するには、 をクリックします。複数の信号を選択した場合、 および を使用してそれらの信号を並べ替えることができます。調整目標のために信号の位置を指定する方法の詳細については、対話型調整の目標の指定を参照してください。

オプション

ダイアログ ボックスのこのセクションを使用して、受動性目標の追加の特性を指定します。

  • 最小入力受動性インデックス

    テキスト ボックスに ν のターゲット値を入力します。指定した入力の受動性の超過を適用するには、ν > 0 を設定します。受動性の不足を許容するには、ν < 0 を設定します。既定では、受動性目標によって ν = 0 (入力で受動的であり、受動性の超過を必要としない) が適用されます。

  • 最小出力受動性インデックス

    テキスト ボックスに ρ のターゲット値を入力します。指定した出力の受動性の超過を適用するには、ρ > 0 を設定します。受動性の不足を許容するには、ρ < 0 を設定します。既定では、受動性目標によって ρ = 0 (出力で受動的であり、受動性の超過を必要としない) が適用されます。

  • 周波数範囲の目標を適用

    調整目標の適用を特定の周波数帯域に制限します。周波数帯域をモデルの周波数単位で表した形式 [min,max] の行ベクトルとして指定します。たとえば、1 ~ 100 rad/s のみに適用される調整目標を作成する場合は、[1,100] と入力します。既定では、調整目標は連続時間の場合はすべての周波数、離散時間の場合はナイキスト周波数以下の周波数に適用されます。

  • 目標を適用

    たとえば、Simulink モデルを異なる操作点またはブロックパラメーター値で線形化することによって得られるモデルの配列などの複数のモデルを同時に調整している場合、このオプションを使用します。既定では、アクティブな調整目標がすべてのモデルに適用されます。調整要件を配列内の一部のモデルに適用するには、[モデルのみ] を選択します。次に目標を適用するモデルの配列インデックスを入力します。たとえば、モデル配列の中の 2 番目、3 番目、4 番目のモデルに調整目標を適用する必要があると仮定します。要件の適用を制限するには、[モデルのみ] テキスト ボックスに 2:4 と入力します。

    複数モデルの調整の詳細については、Robust Tuning Approaches (Robust Control Toolbox)を参照してください。

アルゴリズム

制御システムを調整するときに、各調整目標は正規化されたスカラー値 f(x) に変換されます。ここで x は、制御システムの自由 (調整可能な) パラメーターのベクトルです。その後、ソフトウェアはパラメーター値を調整して f(x) を最小化するか、調整目標が厳密な制約値の場合、f(x) が 1 より小さくなるようにします。

[受動性目標] では、指定した入力から出力への閉ループ伝達関数 G(s,x) の場合、f(x) は次のようになります。

f(x)=R1+R/Rmax,Rmax=106.

R は、次で表されるセクターの相対的なセクター インデックス [G(s,x); I] です (getSectorIndex を参照)。

Q=(2ρII2ν),

ここで、ρ はダイアログ ボックスで指定する最小出力受動性インデックスで、ν は最小入力受動性インデックスです。Rmax は 106 で固定され、R が非常に大きくなることで発生する数値誤差を回避するために含まれます。

この調整目標は、伝達関数 G + I に暗黙的な最小位相制約を課します。G + I の伝達零点は、この調整目標の "安定ダイナミクス" です。[最小 decay 率][最大固有振動数] の調整オプションは、これらの暗黙的に制約されるダイナミクスの下限と上限を制御します。最適化が既定の制限を満たしていない場合、または既定の制限が他の要件と競合している場合、[調整] タブで [調整オプション] を使用して既定の設定を変更します。

関連するトピック