http://en.wikipedia.org/wiki/PID_controllerに従ってPIDコントローラーを実装しようとしています
私が制御しようとしているメカニズムは次のように機能します。 1. 制御できる入力変数があります。典型的な値は 0.5...10 です。2. 毎日測定する出力値があります。出力の目標は、ほぼ同じ範囲です。
2 つの変数には強い相関関係があります。プロセス パラメーターが上がると、出力は一般的に上がりますが、かなりのノイズがあります。
私はここで実装に従っています: http://code.activestate.com/recipes/577231-discrete-pid-controller/
ここで、PID は、測定された出力レベルではなく、誤差項と相関しているように見えます。したがって、プロセス変数にそのまま使用するのではなく、現在の値の修正として使用することになっていると思いますか? それはどのように正確に機能するはずですか?
たとえば、Kp=1、Ki=Kd=0、プロセス (入力) 変数が 4、現在の出力レベルが 3、目標値が 2 の場合、次のようになります。
エラー = 2-3 = -1 PID = -1
次に、プロセス変数を -1 に設定する必要がありますか? または4-1 = 3?