Problem with Fuzzy controller blocks in simulink

16 visualizaciones (últimos 30 días)
Pouya Jamali
Pouya Jamali el 2 de Feb. de 2013
Respondida: Boyan Xie el 11 de Sept. de 2019
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
  2 comentarios
Pouya Jamali
Pouya Jamali el 2 de Feb. de 2013
I have to give the following more information:
I use MATLAB r2012b on a 64bit Windows 7 platform.

Iniciar sesión para comentar.

Respuesta aceptada

Pouya Jamali
Pouya Jamali el 3 de Mayo de 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

Más respuestas (3)

alexandre
alexandre el 3 de Mayo de 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 el 12 de Ag. de 2013
aghaye jamali mishe farsi begid ke chetori moshkeletoon hal shod?
  1 comentario
Pouya Jamali
Pouya Jamali el 12 de Ag. de 2013
Editada: Pouya Jamali el 12 de Ag. de 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!

Iniciar sesión para comentar.


Boyan Xie
Boyan Xie el 11 de Sept. de 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

Categorías

Más información sobre Fuzzy Logic in Simulink en Help Center y File Exchange.

Community Treasure Hunt

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

Start Hunting!

Translated by