fuzzy pid cotroller is not converging to a reference point while pid controller converges for the same scenario

3 views (last 30 days)
I am trying to implement fuzzy pid controller in simulink as uploaded at
Fuzzy controller has two inputs, error and derivative of error and 3 outputs Kp, Ki, Kd. Problem is that if I run this program in ode 45 it gets stuck and if I run in ode 4 it gives me wrong output. However for the same state space and same values of Kp, Ki, Kd obtained through fuzzy controller if I make another program not involving fuzzy controller but having only PID controller then I get the perfect converging output. Can anyone please please guide me what is the reason behind this.

Accepted Answer

Arkadiy Turevskiy
Arkadiy Turevskiy on 1 Feb 2013
Is Fuzzy Logic Controller always creating just constants for Kp, Ki, and Kd? If not, then the results would be expected to be different from a PID controller with fixed gains.
Another suggestion is not to use a pure derivative block, and instead use implementation of a derivative signal as discussed here.
  1 Comment
Beenish Mazhar
Beenish Mazhar on 3 Feb 2013
Sir I think you are suggesting to implement pid in the way as I have uploaded at: http://tinypic.com/view.php?pic=e2io3&s=6 but implementing it in this way simulink gives me error:'Derivative input 1 of 'piddifftry/Transfer Fcn1' at time 0.062867815254137 is Inf or NaN. Stopping simulation. There may be a singularity in the solution. If not, try reducing the step size (either by reducing the fixed step size or by tightening the error tolerances)'. Using a simple pid controller it works absolutely well. How to resolve this.Also fuzzy controller is just creating constants Kp, Ki, and Kd.

Sign in to comment.

More Answers (0)



Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!