PID制御とは
PID制御は、フィードバック制御の一種であり、制御対象の出力値 \(y(t)\) を目標値 \(r(t)\) に近づけるために広く用いられる制御手法です。制御対象の出力と目標値との偏差 \(e(t) = r(t) - y(t)\) に基づいて操作量 \(u(t)\) を計算し、制御対象に加えることで、制御系の安定化、目標値への追従性の向上、外乱抑制などを実現します。
P制御 (比例制御)
P制御の操作量 \(u(t)\) は、偏差 \(e(t)\) に比例して決定されます。
\[ u(t) = K_P e(t) \]- \(K_P\): 比例ゲイン。
- 特徴: \(K_P\) を大きくすると、偏差に対する応答が速くなり、偏差を小さくする効果があります。しかし、\(K_P\) を大きくしすぎると、応答が振動的になり、最終的には制御が不安定になる可能性があります。また、偏差が小さくなると操作量も小さくなるため、目標値との間に定常偏差(定常状態での残差)が残ることがあります。
PI制御 (比例積分制御)
PI制御の操作量 \(u(t)\) は、偏差の比例項と積分項の和で決定されます。
\[ u(t) = K_P e(t) + K_I \int_0^t e(\tau)d\tau \]- \(K_I\): 積分ゲイン。
- 特徴: 積分項は、過去の偏差の累積を考慮するため、定常偏差を解消する効果があります。偏差がゼロになるまで操作量を出し続けるため、最終的に目標値に正確に追従できます。ただし、積分動作は応答に遅れを生じさせるため、急激な変化に対してオーバーシュート(目標値を超えてしまう現象)やハンチング(目標値の周りで振動する現象)が発生しやすくなることがあります。
PID制御 (比例積分微分制御)
PID制御の操作量 \(u(t)\) は、偏差の比例項、積分項、微分項の3つの要素の和で決定されます。
\[ u(t) = K_P e(t) + K_I \int_0^t e(\tau)d\tau + K_D \frac{de(t)}{dt} \]- \(K_D\): 微分ゲイン。
- 特徴: 微分項は、偏差の変化率(未来の偏差の傾向)を予測して操作量に反映させます。これにより、偏差の急激な変化に対して素早く反応し、オーバーシュートやハンチングを抑制し、応答の遅れを改善する効果があります。
PID制御は、偏差の「現在(P項)」、「過去(I項)」、「未来(D項)」に基づいて制御を行うことで、安定性、目標値への追従性、即応性をバランス良く満たす制御系を構成できます。PID制御を適切に機能させるためには、\(K_P, K_I, K_D\) の3つのパラメータを適切に調整する(チューニング)ことが非常に重要です。

関連記事
- PID制御のPython実装:シミュレーションとチューニング - 本記事の理論をPythonで実装し、P/PI/PIDの応答比較やZiegler-Nicholsチューニング法を実践的に解説しています。
- MPPI(Model Predictive Path Integral)の数理 - PID制御を超える高度な制御手法として、モンテカルロサンプリングに基づくモデル予測制御を解説しています。