当記事では、python-controlでPID制御のシミュレーションをする方法について紹介します。
PID制御とは
PID制御とは、出力値と目標値との「偏差」「積分」「微分」の3要素によってフィードバック制御を行う方法です。
python-controlの「control.feedback」メソッドを用いると、Matlabのfeedback関数のようにPID制御シミュレーションができます。
※python-controlはMatlab風ライブラリなので、Matlabの資料が役に立ちます
– | 参考文献 |
---|---|
1 | 【制御理論】PID制御 |
2 | python-controlドキュメント:tfメソッドの使い方 |
3 | Matlabドキュメント:feedback関数の使い方 |
ソースコード
PID制御シミュレーションのサンプルプログラムです。
from control.matlab import * from matplotlib import pyplot as plt def main(): # PID制御器のパラメータ Kp = 0.6 # 比例 Ki = 0.03 # 積分 Kd = 0.03 # 微分 num = [Kd, Kp, Ki] den = [1, 0] K = tf(num, den) # 制御対象 Kt = 1 J = 0.01 C = 0.1 num = [Kt] den = [J, C, 0] G = tf(num, den) # フィードバックループ sys = feedback(K*G, 1) t = np.linspace(0, 3, 1000) y, T = step(sys, t) plt.plot(T, y) plt.grid() plt.axhline(1, color="b", linestyle="--") plt.xlim(0, 3) if __name__ == "__main__": main()
実行結果
目標値1に収束させています。
関連ページ
【Python】制御工学シミュレーション入門
プログラミング言語「Python」を用いて、無料で簡単に制御工学シミュレーションを行う方法を紹介します。
401 Unauthorized
コメント