PID制御
目標値$ s(t)と現在の値$ p(t)のギャップ$ e(t):=s(t)-p(t)から、ギャップを埋めるために必要な操作量$ c(t)を計算する
$ c(t)=K_p(s(t)-p(t))+K_i\int_0^t(s(\tau)-p(\tau))\mathrm d\tau+K_d\frac{\mathrm d}{\mathrm dt}(s(t)-p(t))
$ :=\frac{K_p}{T_i}
$ :=K_pT_d
$ e(t)で書き直すと
$ c(t)=K_pe(t)+K_i\int_0^te(\tau)\mathrm d\tau+K_d\dot e(t)
役割
ずれが大きいほど大きく操作する
I制御:制御偏差$ e(t)の減りが鈍いとき操作量$ c(t)を増やす オフセットをなくす
不完全微分ではないので別のリンクにしたtakker.icon てか訳を間違えていないか?
laggedだから不完全ではなく遅れなのでは?
web app
$ K_p:=\frac{100}{P+10^{-6}}
<script>に直接codingしている
$ c(t)の値域に有限の場合に積分項が蓄積して大変なことになる現象
tuning
動的
code
D制御で逆応答が発生することに注意
振動してしまう
P,I,Dの意味が変わってくる
P:ダッシュポット
I:ダンパー
D:質量 (振動がひどくなるのでいらない)
対象の状態を見て
出力を変化させる
制御
バイアスつきP制御$ c(t)=K_pe(t)+bにて、操作量$ c(t)に上限と下限があるときのその逆像の幅のこと $ cから決まる$ eの条件が$ \frac{c_{\min}-b}{K_p}\le e\le\frac{c_{\max}-b}{K_p}
よって比例帯$ PBは
$ PB=\frac{c_{\max}-c_{\min}}{K_p}
となる
$ p_{\min}\le p\le p_{\max}のとき、$ |e|\le p_{\max}-p_{\min}となる
相対量を$ p_bとすると
$ p=\frac{PB}{p_{\max}-p_{\min}}=\frac{c_{\max}-c_{\min}}{p_{\max}-p_{\min}}\frac1{K_p}
$ T_iは$ e=\text{const.}のとき、P制御による操作量とI制御による操作量が等しくなる時間
$ T_dは$ \dot e\neq0\land\ddot e=0のとき、P制御による操作量とD制御による操作量が等しくなる時間
$ T_d経過後のP制御による操作量分を、最初から上乗せしておく
それを調べてPIDパラメタに反映する簡易的な手法
変化の速さを表す
$ \frac LTのが小さいほど制御が容易
第9章 PID制御
2025-11-08 13:51:25 この切り口の数式の解説が今のtakker.iconがほしいレベルかな
基礎的な話
図解がわかりやすい
テキスト