Académique Documents
Professionnel Documents
Culture Documents
Controle Flou
Controle Flou
La composante Fuzzy Logic Controller est celle utilise. La composante Fuzzy Logic
Controller with Ruleviewer est presque la mme chose, sauf que l'diteur qui permet
de voir l'infrence et la dfuzzification s'ouvre lors d'une simulation.
Gabriel Cormier
GIND5439
Pour mieux illustrer le concept d'un contrleur flou, on comparera la performance d'un
contrleur PID classique avec le contrleur flou. Le systme sous tude est le suivant:
G ( s) =
3
( s + 1)( s + 2)( s + 3)
En utilisant les mthodes classiques, on trouve que le contrleur PID idal a les
valeurs suivantes:
12
KP
KI
12
KD
3
On utilisera la rponse une entre chelon du systme avec PID pour comparer la
performance.
Le systme avec contrleur flou et contrleur PID devrait tre le suivant:
Le design du contrleur flou se fait de la mme faon que tous les systmes flous avec
Matlab. On commence en tapant fuzzy la ligne de commande. On obtient alors le
FIS Editor de Matlab, montr la figure suivante.
Pour le systme simple sous tude, on utilise que l'erreur comme variable de contrle.
On a donc un systme trs simple, avec une entre, une sortie. Dans plusieurs
systmes flous, on utilise aussi la drive de l'erreur, et on obtient alors un systme
deux entres, une sortie.
Gabriel Cormier
GIND5439
Il faut utiliser un peu de jugement dans le design du contrleur flou. Il ne faut pas
simplement crer des fonctions d'appartenance de toute faon. Il faut quand mme
tudier le systme en dtail.
Une chose importante remarquer est la valeur finale du systme en boucle ouverte.
Ceci dterminera la sortie du contrleur quand l'erreur est nulle. Pour le systme sous
tude, la valeur finale due une entre chelon unitaire est:
1
3
1
y () = lim sR( s )G0 ( s ) = lim s
=
s
0
s ( s + 1)( s + 2)( s + 3) 2
s 0
La valeur finale est donc 0.5. Le contrleur devra donc avoir un gain de
Kc =
1
=2
y ( )
C'est--dire que le gain du contrleur flou lorsque l'erreur (l'entre) est 0 est 2.
Il faut aussi bien choisir les limites du systme (limites de l'entre et de la sortie).
Dans ce cas-ci, l'entre utilise est une entre chelon unitaire. On choisit donc de
dvelopper les fonctions d'appartenance du contrleur flou pour l'entre entre -1 et
+1.
On a choisit que 3 valeurs linguistiques possibles, soit Negative, Zero et Positive. Il est
gnralement plus facile de commencer avec un nombre restreint de valeurs
Gabriel Cormier
GIND5439
linguistiques possibles, pour simplifier le design initial. Par aprs, si la prcision
demande est plus grande, on peut ajouter des valeurs linguistiques.
On choisit aussi 3 valeurs linguistiques pour la sortie, soit Negative, Zero et Positive.
Gabriel Cormier
GIND5439
Remarquez que l'intervalle de la sortie est de -7.5 +10. Le signal de sortie peut tre
bien plus grand que le signal d'entre afin de rapidement corriger l'erreur. Cependant,
si le signal de contrle est trop lev, il y aura un plus grand dpassement.
Les rgles
1.
2.
3.
utilises sont:
IF error is Negative THEN control is Negative
IF error is Zero THEN control is Zero
IF error is Positive THEN control is Positive
Il faut sauvegarder le systme flou dans l'espace de travail afin de pouvoir l'utiliser
dans Simulink.
On choisit l'option File Save to workspace, ou CTRL+T.
Gabriel Cormier
GIND5439
On peut maintenant utiliser le contrleur flou dans Simulink. Aller sur l'icne Fuzzy
Logic Controller dans la fentre Simulink, et double-cliquez dessus. Vous devriez
avoir:
Gabriel Cormier
GIND5439
Gabriel Cormier