第2回:PID制御

PID Control

1. はじめに

PID制御 は産業界で最も広く使われているフィードバック制御方式です。その名前は3つの制御動作に由来します:

  • P: Proportional(比例)
  • I: Integral(積分)
  • D: Derivative(微分)

2. PID制御器の構造

2.1 連続時間PID制御器

PID制御器の出力 $u(t)$ は、偏差 $e(t) = r(t) - y(t)$ に対して:

$$u(t) = K_p e(t) + K_i \int_0^t e(\tau) d\tau + K_d \frac{de(t)}{dt}$$

あるいは標準形で:

$$u(t) = K_p \left( e(t) + \frac{1}{T_i} \int_0^t e(\tau) d\tau + T_d \frac{de(t)}{dt} \right)$$

ここで:

  • $K_p$:比例ゲイン
  • $K_i = K_p / T_i$:積分ゲイン
  • $K_d = K_p T_d$:微分ゲイン
  • $T_i$:積分時間
  • $T_d$:微分時間

2.2 伝達関数表現

$$G_{PID}(s) = K_p + \frac{K_i}{s} + K_d s = K_p \left(1 + \frac{1}{T_i s} + T_d s\right)$$

3. 各制御動作の役割

3.1 P制御(比例制御)

$$u_P(t) = K_p e(t)$$

特徴:

  • 偏差に比例した制御入力
  • 即応性が高い
  • 定常偏差 が残る(1型以上のシステムでない限り)

3.2 I制御(積分制御)

$$u_I(t) = K_i \int_0^t e(\tau) d\tau$$

特徴:

  • 偏差の累積に応じた制御入力
  • 定常偏差を除去
  • 応答が遅くなりがち
  • 過大なゲインは 積分器飽和(windup) を引き起こす

3.3 D制御(微分制御)

$$u_D(t) = K_d \frac{de(t)}{dt}$$

特徴:

  • 偏差の変化率に応じた制御入力
  • 予測制御 的な効果
  • オーバーシュートを抑制
  • ノイズに敏感

4. PIDゲインの効果

| パラメータ | 立ち上がり時間 | オーバーシュート | 整定時間 | 定常偏差 |

|-----------|--------------|----------------|---------|---------|

| Kp ↑ | 減少 | 増加 | 変化小 | 減少 |

| Ki ↑ | 減少 | 増加 | 増加 | 除去 |

| Kd ↑ | 変化小 | 減少 | 減少 | 変化なし |

5. PIDチューニング法

5.1 ジーグラー・ニコルス法(限界感度法)

  1. $K_i = K_d = 0$ として比例制御のみに
  2. $K_p$ を徐々に増加させ、持続振動が発生する $K_{cr}$(限界ゲイン)を見つける
  3. 振動周期 $T_{cr}$ を測定
  4. 以下の表に従ってPIDゲインを設定

| 制御器 | $K_p$ | $T_i$ | $T_d$ |

|-------|-------|-------|-------|

| P | $0.5 K_{cr}$ | - | - |

| PI | $0.45 K_{cr}$ | $T_{cr}/1.2$ | - |

| PID | $0.6 K_{cr}$ | $T_{cr}/2$ | $T_{cr}/8$ |

5.2 ステップ応答法

プロセスのステップ応答から、むだ時間 $L$ と時定数 $T$ を推定:

| 制御器 | $K_p$ | $T_i$ | $T_d$ |

|-------|-------|-------|-------|

| P | $T/(KL)$ | - | - |

| PI | $0.9T/(KL)$ | $L/0.3$ | - |

| PID | $1.2T/(KL)$ | $2L$ | $0.5L$ |

6. 実装上の考慮事項

6.1 微分のフィルタリング

純粋な微分はノイズを増幅するため、実用上はローパスフィルタを付加:

$$G_D(s) = \frac{K_d s}{1 + \tau_f s}$$

6.2 積分器飽和対策(Anti-windup)

制御入力に制限がある場合、積分項が過大になることを防ぐ:

  • 条件付き積分: 制御出力が飽和したら積分を停止
  • バックカルキュレーション: 飽和時に積分項を補正

6.3 微分の不連続性対策

目標値のステップ変化による微分項のスパイクを避けるため、微分は出力にのみ適用:

$$u_D(t) = -K_d \frac{dy(t)}{dt}$$

7. まとめ

  • PID制御は3つの制御動作の組み合わせ
  • P制御:応答性、I制御:定常偏差除去、D制御:オーバーシュート抑制
  • チューニング法としてジーグラー・ニコルス法が有名
  • 実装時にはフィルタリングとanti-windupを考慮