我正在尝试按照http://en.wikipedia.org/wiki/PID_controller实现一个 PID 控制器
我尝试控制的机制如下: 1. 我有一个可以控制的输入变量。典型值为 0.5...10。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?