PI制御チューニング : Ziegler Nicholsの限界感度法

PID制御のチューニングの著名なテクニックとしてZiegler Nicholsの限界感度法、Ziegler Nicholsのステップ応答法、CHR法がある。このうち、Ziegler Nicholsの限界感度法(以下ジーグラ・ニコルス法)のチューニング結果がどのようなものか確認した。

Wikipediaや一般的な制御の教科書ではジーグラ・ニコルス法を適用できる制御対象の前提条件が明記されてないことが多い。しかも、「前提条件なく、どんな制御対象にも適用が可能である」とまでしている文献もある。 ところが、実例は後述するが、ジーグラ・ニコルス法は、(むだ時間のない) 積分系・1次遅れ系・2次遅れ系に適用できない。

Note that the Ziegler-Nichols’ closed loop method can be applied only to processes having a time delay or having dynamics of order higher than 3. Here are a few examples of process transfer function models for which the method can not be used:
  • $ H(s) = \frac{K}{s} $ (integrator) (10.5)
  • $ H(s) = \frac{K}{T s + 1} $ (first order system) (10.6)
  • $ H(s) = \frac{K}{(\frac{s}{ω_0})^2 + 2ζ\frac{s}{ω_0} + 1}$ (second order system) (10.7)
http://home.hit.no/~hansha/documents/control/theory/tuning_pid_controller.pdf

実際、

  • [1]の文献では特に制御対象の前提に言及がないものの参考例ではむだ時間のない3次遅れ系を挙げ
  • [2]によると制御対象をむだ時間 + 1次遅れ系 ($ \frac{K}{1+Ts}e^{-Ls} $)とみなして適用
  • [3]では制御対象を、むだ時間+1次遅れ系($ \frac{K}{1+Ts}e^{-Ls} $) ないしはむだ時間+積分系 ($ \frac{K}{s}e^{-Ls} $)に近似した上で適用

としている。むだ時間をパデ近似で有利関数表現するとどこまでも次数を上げることができるので、[1], [2], [3]を読み合わせるて解釈すると、むだ時間がある1次遅れ系相当か、ある程度の次数の有理関数表現ができるプラントになら適用できるということも意味している。

以降の検討で「1. ジーグラ・ニコルスの限界感度法と1次遅れ系」「2. ジーグラ・ニコルスの限界感度法と2次遅れ系」は、それを裏付ける結果になっている。 むだ時間を含む1次遅れ系では有効だが、チューニングの過程における安定限界の求め方などの詳細については「3. ジーグラ・ニコルスの限界感度法とむだ時間のある1次遅れ系」を参照のこと。

チューニング結果の制御パラメータ空間における位置についてはむだ時間を持つ1次遅れ系のPI制御パラメータの解析的な分析に一例を紹介した。

厳密に、むだ時間を含まない制御対象をチューニングする場合は

などを適用すると良い。ただし、デジタル制御においては制御周期によって生じる安定限界もあるので注意。(参考:デジタル制御:最初の最初 ②)

連続系での各種のチューニング手法の比較はこちら

パラメータの比較

0. ジーグラ・ニコルスの限界感度法の段取り

  1. $ K_i = 0, K_d =0 $として$ K_p $ を0からだんだん大きくしていき、系が振動的になったところで止める

    このときの $ K_p $ を $ K_u $とし、振動周期を $ T_u $とする

  2. $ K_u, T_u $を使って、$ K_p, K_d, K_i $を定める 決め方は表の通り
    制御の種類 $ K_p $ $ K_d $ $ K_i $
    P制御 $ 0.5 K_u $ 0 0
    PI制御 $ 0.45 K_u $ 0 $ \frac{0.45 K_u}{0.83 T_u} $
    PID制御 $ 0.6 K_u $ $ 0.075 T_u K_u $ $ \frac{0.6 K_u}{0.5 T_u} $

1. ジーグラ・ニコルスの限界感度法と1次遅れ系

むだ時間のない1次遅れ系にPI制御を適用することを考える。この時、 \[ P_0(s) = \frac{1}{1+Ts} \] \[ C_0(s) = K_p + \frac{K_i}{s} \] 従って、フィードバック系の伝達関数は、 \[ G_0(s) = \frac{P_0 C_0}{1+P_0 C_0} = \frac{K_p s + K_i}{Ts^2+(1+K_p)s+K_i} \]

すると、段取りに従い、安定限界を求めるべく$ K_i = 0 $とすると、\[ G_0(s) = \frac{K_p}{Ts + (K_p +1)} \] とただの1次遅れ系なってしまい安定限界を求めるどころではない。

つまり、この時は、$ K_u $ を求めようにも、$ K_p $ を上げたいだけ上げても安定な状態になってしまうので、 $ K_u $ が求まらずジーグラ・ニコルスの限界感度法を適用できない。

しかし、実際に1次遅れ系にPI制御を適用するとき($ K_i > 0 $)は、\[ G_0(s) = \frac{K_p s + K_i}{Ts^2+(1+K_p)s+K_i} = \frac{(2\zeta \omega_n - 1) s + \omega_n^2}{s^2+2 \zeta \omega_n s+\omega_n^2} \] と、閉ループ伝達関数は2次遅れ系になる。 したがっていくら $ K_p $ を好きなだけ大きく取れるとしても $ \zeta = \frac{K_p + 1}{2T \sqrt{K_i}}$ を小さく取り過ぎると振動が持続的になるので注意。以上、1次遅れ系で、むだ時間なしの場合はジーグラ・ニコルスの限界感度法でKp, Kiは求まらない(但し書きとしてアクチュエータの出力制限がないとか、離散化が無視できるとか云々)

2. ジーグラ・ニコルスの限界感度法と2次遅れ系

エントリーが大きくなってきたので、こちらへ分配 ⇒

>>PI制御チューニング : Ziegler Nicholsの限界感度法 - 2次遅れ系への適用 (むだ時間なし)

3. ジーグラ・ニコルスの限界感度法とむだ時間のある1次遅れ系

ジーグラ・ニコルスがそれなりに上手く行く条件です。

>>PI制御チューニング : Ziegler Nicholsの限界感度法 - むだ時間ありの1次遅れ系への適用

参考

[1] 古典制御 - 吉川 恒夫
古典制御
古典制御
  • 吉川 恒夫
  • 出版社/メーカー: 昭晃堂
  • 発売日: 2004/2/1
[2] Ziegler-Nichols Tuning Rules for PID
http://www.mstarlabs.com/control/znrule.html
[3]制御工学 (JSMEテキストシリーズ)
制御工学 (JSMEテキストシリーズ)
制御工学 (JSMEテキストシリーズ)
  • 日本機械学会
  • 出版社/メーカー: 日本機械学会
  • 発売日: 2002/11/29
[4] The Time Delay
http://lpsa.swarthmore.edu/BackGround/TimeDelay/TimeDelay.html

2状態1入力システム:最適制御入力 (2次遅れ系の状態フィードバック制御)

バネマスダンパ系に対応した状態制御を考えるために、
2状態1入力システムに対する状態フィードバック+積分制御する系を考える
(1状態1入力システムと同様)

バネマスダンパ系プラントを扱ったエントリーと同じM, c, kを使い
$ A\equiv \begin{bmatrix}  0 & 1 \\ -\frac{c}{M}&-\frac{k}{M} \end{bmatrix}\equiv \begin{bmatrix}  0 & 1 \\ -a_1&-a_2 \end{bmatrix}$ ,$ B\equiv  \begin{bmatrix} 0 \\ \frac{b}{M} \end{bmatrix}\equiv  \begin{bmatrix} 0 \\ K \end{bmatrix}$
そして、$ X \equiv \begin{bmatrix} x \\ \dot{x} \end{bmatrix} $とすると、

$ X $を行列のまま扱うと少しわかりにくいので
同伴型[1]に展開してブロック線図を描くと

この時、
\[ \frac{d}{dt} \begin{bmatrix} z \\ x \\ \dot{x} \end{bmatrix} = \begin{bmatrix} 0 & 1 & 0\\ 0 & 0 & 1\\ 0 & -a_1 & -a_2 \end{bmatrix} \begin{bmatrix} z \\ x \\ \dot{x} \end{bmatrix} +\begin{bmatrix} 0 \\ 0 \\ K \end{bmatrix}u \]
この系に対して最適制御入力を求める。
\[J = \int_{0}^{\infty}\left \{ \begin{bmatrix} z & x & \dot{x} \end{bmatrix}\begin{bmatrix} 1 & 0 & 0 \\ 0 & q_1 & 0 \\ 0 & 0 & q_2 \\ \end{bmatrix} \begin{bmatrix} z \\ x \\ \dot{x} \end{bmatrix}+ru^2\right \}dt\]
この方程式を満たす対称正定行列 Pはリカッチ方程式
\[A^T P+PA+Q-PBR^{-1}B^TP=0\]
を満たす。

ただし、
\[P\equiv \begin{bmatrix} X_1 & X_2 & X_3 \\ X_2 & X_4 & X_5 \\ X_3 & X_5 & X_6 \\ \end{bmatrix}, X_1,X_2,X_3,X_4,X_5,X_6>0\]

これを解いていくと
\[\begin{bmatrix} -\frac{K^2 X_3^2}{r}+1 & -\frac{K^2 X_3 X_5}{r}-a_1 X_3 + X_1 & -\frac{K^2 X_3 X_6}{r}-a_2 X_3 + X_2 \\ -\frac{K^2 X_3 X_5}{r}-a_1 X_3 + X_1 & -\frac{K^2 X_5^2}{r}-2 a_1 X_5 + 2 X_2 + q_1 & -\frac{K^2 X_5 X_6}{r}-a_1 X_6 - a_2 X_5 + X_3 + X_4 \\ -\frac{K^2 X_3 X_6}{r}-a_2 X_3 + X_2 & -\frac{K^2 X_5 X_6}{r}-a_1 X_6 - a_2 X_5 + X_3 + X_4 & -\frac{K^2 X_6^2}{r}-2 a_2 X_6 + 2 X_5 +q_2 \\ \end{bmatrix}=0 \]

これの一般解が複雑なので、式で表すと、
\[ X_3 = \frac{\sqrt{r}}{K} \]
\[ X_5 = \frac{K^2 X_6^2}{2r}+a_2X_6-\frac{q_2}{2}\]
\[ \frac{K^6}{4r^3}X_6^4 + \frac{K^4a_2}{r^2}X_6^3 +(\frac{K^2 a_2^2}{r}+\frac{a_1 K^2}{r}+\frac{q_2 K^4}{2r^2})X_6^2\\ +(\frac{K^2a_2q_2}{r}+2a_1 a_2+\frac{2}{\sqrt{r}})X_6 +(-\frac{2\sqrt{r}a_2}{K}-q_1+a_1 q_2)=0\]
$ X_6 $は4次方程式. この解を求めるには…>> 四次方程式の解 - 高精度計算サイト 

そして、$ X_6 $は以下を満たすように選ぶ.
\[ (X_2=) \frac{X_6}{\sqrt{r}}+\frac{a_2 \sqrt{r}}{K} > 0 \]
\[ (X_1=) \frac{K X_4}{\sqrt{r}}+\frac{a_1 \sqrt{r}}{K}>0 \]
\[ (X_5=) \frac{K^2 X_4 X_6}{r}+a_1 X_6 + a_2 X_4 - \frac{\sqrt{r}}{K}>0 \]

最適制御フィードバックゲインは
\[FB=-R^{-1}B^TP=-\frac{K}{r}\begin{bmatrix} X_3 & X_5 & X_6 \end{bmatrix}  \]
この行行列の1項目からPID制御でいうところの$ K_i, K_p, K_d $に相当する.
(この場合、最適制御はPID制御チューニングの方法の一種ともいえます)

[1] : 制御工学 (JSMEテキストシリーズ) など