PID 制御は世界で最も広く使われている制御方式であり、 比例(P)、積分(I)、微分(D)を用いて誤差を修正する。
\[ u(t) = K_p e(t) + K_i \int_0^t e(\tau)\,d\tau + K_d \frac{de(t)}{dt} \]
ここで \(e(t)=r(t)-y(t)\):目標値と出力の誤差 \(u(t)\):操作量(ヒータ出力、モータ電圧 など)
\[ u(t)=K_p e(t) \]
増幅するだけなので、目標値に対する定常偏差は必ず残る。
\[ u(t)=K_i \int_0^t e(\tau)\,d\tau \]
\[ u(t)=K_d \frac{de(t)}{dt} \]
\[ D(s)=\frac{K_d s}{\frac{1}{N}s+1} \] (ハイカットフィルタ N を入れてノイズを抑える)
伝達関数形式では:
\[ G_{PID}(s) = K_p + \frac{K_i}{s} + K_d s \]
不完全微分を用いると:
\[ G_{PID}(s)=K_p+\frac{K_i}{s}+K_d\frac{Ns}{s+N} \]
・臨界ゲイン \(K_u\) と臨界周期 \(T_u\) を用いる古典的手法 ・高速だが乱暴で、ロバスト性は低い
一次遅れ+むだ時間(FOPDT)モデルにフィットして決定する。
安定余裕(PM, GM)を目標にしてゲインを調整する。
後退差分(あなたの GPT にも採用されているもの):
\[ \frac{de}{dt} \approx \frac{e[k]-e[k-1]}{T_s} \]
積分項: \[ \int e dt \approx T_s \sum e[k] \]
増分形式: \[ u[k]=u[k-1] + K_p(e[k]-e[k-1]) + K_i T_s e[k] + K_d\frac{e[k]-2e[k-1]+e[k-2]}{T_s} \]