コンテンツにスキップ

2自由度PID

2自由度制御系にPIDを使用したものを2自由度PIDと呼ぶ。 2自由度制御系とは目標値と状態量の2つの情報を扱って制御する制御系を指す。 単純なPID制御系にも目標値の入力と状態量の出力は存在するがPID制御器への入力はそれらの差分である偏差のみであるため自由度は1である。

2自由度制御系のブロック図

2自由度制御系はブロック図で考えた時にいくつかの型を取ることができる。

フィードフォワード型

入力に目標値と偏差を取る 2つのPIDの出力を足し合わせてシステムへの入力とする

\[ u_{ff} = K_{pff}r + K_{dff} s r \\ u_{fb} = K_{pfb}(r-y) + \frac{K_i}{s}(r-y) + K_{dfb}s(r-y) \\ u = u_{ff} + u_{fb} \]

フィードバック型

入力に偏差と状態量を取る 2つのPIDの出力を足し合わせてシステムへの入力とする

フィルター型

入力に目標値と偏差を取る フィードフォワード型と違って目標値を入力に取るフィードフォワードコントローラの出力と状態量の差を偏差とする 偏差をフィードバックコントローラの入力としてその出力をシステムへの入力とする

パラメータの共通化

上記のように2自由度制御系にはいくつかのコントローラ構造がある
(まとめて扱えるようにかどうかはわからないが)以下のような形のものがよく使われている

\[ u = K_p(br-y) + \frac{K_i}{s}(r-y) + K_d s (cr-y) \]

フィードフォワード型2自由度PIDのパラメータ共通化

\[ b = \frac{K_{pff} + K_{pfb}}{K_{pfb}} \\ c = \frac{K_{dff} + K_{dfb}}{K_{dfb}} \]

フィードバック型2自由度PIDのパラメータ共通化

フィルター2自由度PIDのパラメータ共通化

微分先行型PID(PI-D)

微分項を偏差の微分ではなく状態量の微分にすることで目標値の急激な変化によるキックの発生を抑える効果がある $$ b = 1 \ c = 0 $$

比例微分先行型PID(I-PD)

比例項と微分項を状態量から求めることでキックの発生を抑える効果がある。目標値の変化に追従する成分が積分項のみになるため保守的なコントローラとなる

\[ b = 0 \\ c = 0 \]

参考文献