python:PID制御プログラム(無料公開)

実現したいこと

  • pythonを用いたPID制御プログラムの構築
  • 下記の記事と同様の結果が得られるプログラムの構築

    forfree.hatenablog.jp

python環境

python 3.11.0
pip 22.3

必要なライブラリ

  • control 0.9.2 (制御系解析)
  • matplotlib 3.6.2 (グラフ描画)

オンライン実行(pythonのインストール不要)

【リンク】

PID制御:Google Colab

Googleアカウントでログインして実行してください。
※上記プログラムの利用で生じたトラブルは一切の責任を負いかねます

実行方法

  1. 下図:実行マーク(▶マーク)をクリック
    ※一度のみの実行でOK
    ※初めての場合,数分時間がかかります。

  2.  

    下図:実行マーク(▶マーク)をクリック

実行結果

補足①: K_D = 0にしている理由

上記プログラムでは K_D = 0としている。その理由は,制御器 C(s) C(s) = \frac{K_Ps+K_I+K_Ds^2}{s}となり,プロパーでない伝達関数になるためである(分子の次数が高くなり,純粋な微分 sが計算できないため)。参考までに下記記事のSimulinkを用いた場合は,微分 \frac{du}{dt}で近似しているためエラーが生じない。
Matlab_Simulink:PID制御プログラム(無料公開)

補足②:目標値から入力までの伝達関数

 G_{ur}(s)の導出過程は下記にまとめているため参照されたい。
ppt素材:PID制御系関連(無料公開)

併せて確認推奨の過去記事

forfree.hatenablog.jp