pid-controller

xod/core/pid-controller

A proportional–integral–derivative controller. Computes fuzzy output value based on an actual current input value and the desired value.
pid-controller
@/pid-controller
A proportional–integral–derivative controller. Computes fuzzy output value based on an actual current input value and the desired value.
INnumber
Current actual value. Usually provided by a feedback mechanism such as encoder, thermometer, or another sensor.
TARGnumber
Target, desired value. The final effect of `OUT` would make `IN` converge to `TARG` if coefficients set up correctly.
Kpnumber
P (proportional) factor. Set to 0 to disable, positive value to increase `OUT` if `IN` is less than `TARG`, negative value to inverse. Start with tweaking this coefficient first. Values in range (0.0, 2.0) usually give a decent result.
Kinumber
I (integral) factor. Set to 0 to disable. Non-zero value control a reaction to the accumulated error value.
Kdnumber
D (derivative) factor. Set to 0 to disable. Non-zero value control a reaction to the rate of error change.
UPDpulse
Triggers new computation, i.e. `OUT` update.
RSTpulse
Resets computed errors and rates. Leads to starting computation from scratch.
pid-controller
OUT
IN
TARG
Kp
Ki
Kd
UPD
RST
OUTnumber
Computed effect value. Usually sent to an actuator like motor, cooler, etc.