# PID制御
## 定義
PID制御(proportional-integral-derivative control)は、比例項・積分項・微分項の3つの制御則を組み合わせたフィードバック制御則である。離散時間での差分方程式は
$u(k) = u(k-1) + (K_P+K_I)e(k) - K_P e(k-1)$
に微分項 $K_D[e(k)-e(k-1)]$ を加えた形をとり、まとめると
$u(k) = u(k-1) + (K_P+K_I+K_D)e(k) - (K_P+2K_D)e(k-1) + K_D e(k-2)$
となる。すなわち現在の入力 $u(k)$ を計算するのに、過去の入力 $u(k-1)$ と直近2ステップ分の誤差($e(k), e(k-1), e(k-2)$)を記憶する必要があり、この記憶がPID制御を(誤差だけを見る比例制御と違って)動的にする。伝達関数表現では $K_P + K_I z/(z-1) + K_D(z-1)/z$ であり、比例制御は $K_I=K_D=0$、PI制御は $K_D=0$、PD制御は $K_I=0$ とした特殊ケースとして位置づけられる。(Source: [[@2004__Wiley__Feedback Control of Computing Systems - Chapter 9 PID Controllers]] §9.4)
**積分項が定常偏差を消す仕組み**: 比例制御は制御入力が誤差に比例するため、誤差がゼロになれば入力もゼロに戻ってしまい、一定の目標値・外乱を維持するのに必要な非ゼロ入力を出し続けられない。これに対し積分項は制御入力の「変化量」を誤差に比例させる($u(k)=u(k-1)+K_I e(k)$)ため、誤差がゼロでも過去の蓄積によって入力を非ゼロに保てる。この結果、閉ループが安定である限り、任意の $K_I$ と任意の対象システム $G(z)$ に対して定常ゲイン $F_R(1)=1$(参照)・$F_D(1)=0$(外乱)が成り立ち、定常偏差は厳密にゼロになる。代償として積分項は開ループ極を $z=1$ に1つ追加し、これは元の対象システムの開ループ極より必ず単位円に近くなるため、応答は必ず遅くなる(精度と速さのトレードオフ)。(Source: [[@2004__Wiley__Feedback Control of Computing Systems - Chapter 9 PID Controllers]] §9.1.1, §9.1.2)
**微分項の役割と、計算機システムでそれが使いにくい理由**: 微分項は誤差の変化率 $e(k)-e(k-1)$ に比例して制御入力を出すため、誤差が急増・急減する兆候に先回りして反応できる。伝達関数 $K_D(z-1)/z$ の定常ゲインは0であり、誤差が一定であれば微分項の出力はゼロになるため、微分制御は単独では使われず必ず比例制御と(しばしば積分制御とも)組み合わせる。計算機システムでは出力が確率的な変動(stochastics)を伴うことが多く、微分項はこの変動にも敏感に反応してしまい過剰反応を招く。低域通過フィルタで出力を平滑化すればこの過剰反応は緩和できるが、フィルタは応答を遅らせるため、微分項を導入した本来の目的(速い応答)と相反する。この理由から、本書は実務では PID より PI 制御を推奨する。(Source: [[@2004__Wiley__Feedback Control of Computing Systems - Chapter 9 PID Controllers]] §9.3, §9.4)
**PI・PD・PIDの使い分け**: PI制御は積分項の定常偏差ゼロ化と比例項の速応性を両立し、計算機システムでの標準的な選択として扱われる。PD制御は定常偏差をゼロにできない(二次系の例では約70%の定常偏差が残る)代わりに、比例制御だけでは振動が大きくなる系のオーバーシュートを抑える効果を持つが、一次系に対しては根軌跡上の極配置の自由度が乏しく有効性が低い。PID制御は3パラメータを持つため一次系では3つの閉ループ極すべてを配置できるが、二次系以上では配置できる極の数が閉ループ極の総数に満たず、任意配置が常に可能とは限らない。設計の複雑さと微分項のノイズ感度を踏まえ、本書は基本選択をPI制御とし、PIDは速応性が明確に必要な場合に限定する立場をとる。(Source: [[@2004__Wiley__Feedback Control of Computing Systems - Chapter 9 PID Controllers]] §9.2-§9.4)
## 横断的知見
- (この節は今後、複数ソース——特に第10章の状態空間フィードバックにおける多パラメータ極配置との対比——の突き合わせで得られた知見を蓄積する。現時点では単一ソース([[@2004__Wiley__Feedback Control of Computing Systems - Chapter 9 PID Controllers]])からの知見のみ。)
## 未解決の問い
- PID制御は二次系以上で3パラメータが閉ループ極の総数に満たないため任意配置ができないと本章は述べるが、パラメータ数を系の次数まで増やす一般化(第10章の状態空間フィードバックで扱われるとされる)がPID構造とどう関係するかは本章の範囲では示されていない。
- CHR法(表9.3)は対象を一次系+遅れとして近似するが、真の系が高次(本章の例では四次系)の場合に整定結果がどこまで劣化するかの定量的な指針は本章にはない。
- 微分項のノイズ感度への対策として低域通過フィルタが挙げられているが、フィルタの時定数をどう選べば「速応性の確保」と「ノイズ抑制」のトレードオフを最適化できるかは本章では扱われていない。
## 関連
- ソース: [[@2004__Wiley__Feedback Control of Computing Systems - Chapter 9 PID Controllers]]
- 書籍: [[Feedback Control of Computing Systems]]
- 実体: [[IBM Lotus Domino Server]] / [[Apache HTTP Server]]
- 概念: [[極配置設計]]
## 出典
- Hellerstein, Diao, Parekh, Tilbury, *Feedback Control of Computing Systems*, IEEE Press / John Wiley & Sons, 2004, Chapter 9, §9.1-§9.4.