速度型PID制御
from PID制御
velocity form
操作量$ c(t)ではなく操作量の変化$ \dot c(t)を求めるPID制御
速度型PID制御|PID制御完全攻略ガイド:実践で学ぶ基礎・応用
入力整形フィルタ
PID制御の実装 -位置型と速度型- - とりあえずフィードバック制御
$ \dot c(t)=K_p\dot e(t)+K_ie(t)+K_d\ddot e(t)
anti-windup機能も持つ
積分項がなくなりreset windupしなくなる
プログラム上、過去の制御偏差$ e(t)を大量に保持しなくて済む利点もある
差分化する
$ \varDelta f(t):=f(t)-f(t-\varDelta t)として
$ \varDelta c(t)=K_p\varDelta e(t)+K_ie(t)\varDelta t+K_d\frac{e(t)-2e(t-\varDelta t)+e(t-2\varDelta t)}{\varDelta t}
$ =\left(K_p+K_i\varDelta t+\frac{K_d}{\varDelta t}\right)e(t)-\left(K_p+2\frac{K_d}{\varDelta t}\right)e(t-\varDelta t)+\frac{K_d}{\varDelta t}e(t-2\varDelta t)
$ =K_p\left(1+\frac{\varDelta t}{T_i}+\frac{T_d}{\varDelta t}\right)e(t)-K_p\left(1+2\frac{T_d}{\varDelta t}\right)e(t-\varDelta t)+K_p\frac{T_d}{\varDelta t}e(t-2\varDelta t)
$ \implies c(t)=c(t-\varDelta t)+K_p\left(1+\frac{\varDelta t}{T_i}+\frac{T_d}{\varDelta t}\right)e(t)-K_p\left(1+2\frac{T_d}{\varDelta t}\right)e(t-\varDelta t)+K_p\frac{T_d}{\varDelta t}e(t-2\varDelta t)
$ c(t-\varDelta t),e(t),e(t-\varDelta t),e(t-2\varDelta t)の4変数だけ保持していれば計算可能
https://taketake2.com/N19.html
近似微分との併用
https://hi-ctrl.hatenablog.com/entry/2018/02/25/020939
https://taketake2.com/N21.html
https://apmonitor.com/pdc/index.php/Main/ProportionalIntegralDerivative
http://www.st.nanzan-u.ac.jp/info/ma-thesis/2006/TAKAMI/m05mm004.pdf
code
近似微分
https://gist.github.com/teruyamato0731/176ab63cc9cf74cd70c55bff12316959
#2025-12-30 08:57:24
#2025-11-12 09:17:51
#2025-11-12 08:55:29
#2025-11-08 23:24:03
#2025-11-06 22:42:37