Problem with Fuzzy controller blocks in simulink

16 views (last 30 days)
I've already developed a control model by using fuzzy controller in simulink. there are some problems that seems like bugs. If you just agree with me please let me know how can I report this bugs to Mathworks respondents?
1. When I use a fuzzy controller block with rule viewer, the block output is zero all the time however rule viewer works properly and show true outputs. When I try to show block output signal by using the tool show value label of the port I see that the value is grounded all the time.
2. The aforementioned problem does not exist for the fuzzy controller block without rule viewer. But there is another problem. The fuzzy controller works properly since a point time and after that reports zero in the rest of the simulation. I'm sure that this problem does not come from my fuzzy structure file and rule base because I've checked it outside simulink in programming environment. it works properly.
Thanks in advance
Pouya

Accepted Answer

Pouya Jamali
Pouya Jamali on 3 May 2013
Dear Alex
I've already solved my problem but I still believe that It's a bug. I think its belong to the fuzzy variable ranges. In the programming environment or in the fuzzy rule viewer block in Simulink, while you are feeding an out of range value to the fuzzy block it uses the saturated value of input for calculations. But in the fuzzy block something else happens. the fuzzy block uses the out of range value for calculations so if your membership functions are zero all of the out of range region the output may always be zero referring to the rule base. In such a situation The rule viewer block reports different outputs because it saturates the inputs, I think.
Hope you find it useful
Regards
Pouya

More Answers (3)

alexandre
alexandre on 3 May 2013
Hallo dear Jamali / Ryan G,
First of all, sorry for my english, i hope you can read it and understand me well !
i have the same problem using fuzzy logic ! After giving all the rules and implement a fuzzy block in simulink, i have a permanent zero as output !
while looking in the fuzzy rules viewer, it seems all to be ok... but while implement it in Simulink..."don´t get enough zero" !!!
I look in the FIS WIZARD (Model Browser) and i have see that they are some ports who are not connected ( maybe the reason of this permanent zero )... i have made some screenshots and maybe i can mail them to you !
I suspect that this error is running under Matlab 2010a , while when i use Matlab 2012 i don´t have this problem ( but i have to test it one more time
I hope you can understand my sentences and maybe you have a solution of this bug

mojtaba najibifar
mojtaba najibifar on 12 Aug 2013
aghaye jamali mishe farsi begid ke chetori moshkeletoon hal shod?
  1 Comment
Pouya Jamali
Pouya Jamali on 12 Aug 2013
Edited: Pouya Jamali on 12 Aug 2013
Dear Mojtaba
I'm afraid writing to you in Persian here as a formal forum; but I'm keen to be in your service through the following mail address if so!

Sign in to comment.


Boyan Xie
Boyan Xie on 11 Sep 2019
Hi Pouya,
I run into some similar situation as you did. It seems no matter how I manipulate the range of MFs, the output of the FLC is always zero. I wonder how exactly did you solve the problem for yourself?
Cheers,
Peter

Categories

Find more on Fuzzy Logic in Simulink in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!