Fixed some mathematical issues
Fork of PID by
Diff: PID.cpp
- Revision:
- 4:b7326da8243b
- Parent:
- 3:e3ef24ca1fd1
- Child:
- 5:61d47c7736b5
--- a/PID.cpp Tue Apr 07 03:49:47 2015 +0000 +++ b/PID.cpp Mon Apr 27 16:48:55 2015 +0000 @@ -149,10 +149,8 @@ //Compute the current slope of the input signal. float dMeas = (processVariable_ - prevProcessVariable_) / tSample_; - float scaledBias = 0.0f; - //Perform the PID calculation. - controllerOutput_ = scaledBias + Kc_ * (error + (tauR_ * accError_) - (tauD_ * dMeas)); + controllerOutput_ = Kc_ * (error + (tauR_ * accError_) - (tauD_ * dMeas)); controllerOutput_ = ((outMax_ - outMin_) * ((Kc_ * controllerOutput_) - inMin_)) / (inMax_ - inMin_) + outMin_;