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

3 次查看(过去 30 天)
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.


Arkadiy Turevskiy
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 个评论
Beenish Mazhar
Beenish Mazhar 2013-2-3
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.


更多回答(0 个)



Community Treasure Hunt

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

Start Hunting!

Translated by