TP2_LF

Post on 12-Apr-2016

10 views 1 download

description

hekoo

Transcript of TP2_LF

Centre universitaire D’AIN‐TEMOUCHENT                                                                                   TP OMA Institut des sciences et de la technologie     RETHT MASTER 1  Département Génie Electrique                                                                                                     Mr Ayache Z  

Page 1 sur 4  

TPLogiquefloue2/3

1. ButdeTP

CeTPapourbutlacréationd’unsystèmeflouavecsesfonctionsd’appartenance,sesrèglesd’agrégationsousMATLAB.

2. Rappellesurlessystèmesflous.

Nousrappelonsquechaquesystèmebasésurlalogiquefloueestcomposédequatreblocsprincipaux

Basedeconnaissance(règlesetparamètresdesfonctionsd’appartenance). Blocdedécisionoulemoteurd’inférence(inférencedesopérationssurlesrègles) Fuzzification(transformationdesentréesprécisesendegrésd’appartenance) Defuzzification(transformationdesrésultatsflousensortiesprécises)

3. Etapesdecréationd’unsystèmeflousousMATLAB

a. Créationd’unsystèmeflou(SF)PourcréerunSFsousMatlablacommandesuivanteestutilisée:A=Newfis(nom_du_SF)AprèsavoircrééleSFonpeutaffichersescaractéristiquesaveclacommande²suivante:Showfis(A)oubiengetfis(A),où,AreprésentélesystèmeFisdansl’espaceMATLABExempleSinousvoulonscréeunSFnomméROPOTetafficherlescaractéristiquesduSFROBOTonutiliselesinstructionssuivantesSF=Newfis(‘ROBOT’);

Centre universitaire D’AIN‐TEMOUCHENT                                                                                   TP OMA Institut des sciences et de la technologie     RETHT MASTER 1  Département Génie Electrique                                                                                                     Mr Ayache Z  

Page 2 sur 4  

etpourafficherlescaractéristiquedeSFnomméROBOTonutiliseunedesdeuxcommandevuesprécédemmentenchoisiparexemplegetfis(SF)MATLABretournelescaractéristiquesuivantegetfis(SF)Name=robot nomduSF=ROBOTType=mamdani typed’inférence=mamdaniNumInputs=0 nombredevariabled’entré=0InLabels= Nomdevariabled’entrée=indéfiniNumOutputs=0 nombredevariabledesortie=0OutLabels= Nomdevariabledesortie=indéfiniNumRules=0 Nombrederègle=0AndMethod=min leET=minOrMethod=max leOU=maxImpMethod=min Méthoded’implicationAggMethod=max Méthoded’agrégation=maxDefuzzMethod=centroid Méthodededefuzzification=Centredegravité

OnvoitclairementquenotreSFn’apasde:entrée,sortie,règles.Ilfautdoncluiajoutertouscequ’illuimanque.

b. Ajouterdesvariableslinguistiquesd’entréesauSF.1. Pourajouterdesvariablesd’entéeslacommandesuivanteestutilisée:

A=Addvar(A,’Input’,’nondelavariable’,[universdediscours]);

2. Pourcréerlessous‐ensembles(SEF)delavariabled’entréelacommandesuivanteestutilisée:

A=addmf(A,‘Input’,1,’nonduSEF’,typedefonctionSEF’,[paramétrédelafonction]);

c. Ajouterdesvariableslinguistiquesdesortie1. Demêmepourajouterdesvariablesdesortielacommandeaddvarestutilisée:

A=Addvar(A,’Output’,’nondelavariable’,[universdediscours]);

2. Pourcréerlessous‐ensembles(SEF)delavariabledesortieslacommandesuivanteestutilisée:

A=addmf(A,‘output’,1,’nonduSEF’,‘typedefonctionSEF’,[paramétrédelafonction]);

3. Posederèglesfloues

Apresavoirdéterminélesvariablesd’entréesetdesortiesetfuzzifiersesdernières.IlrestemaintenantàajouterlesrèglesflousànotreS.Cesrèglessontdonnéessousformedematricequicontient:m 2colonnesoùlacolonnemreprésentelesindexesdesSEFd’entrées.LacolonnenlesindexesdesSEFdesortie,lacolonnem+n+1contientlepoidsquidoitêtreappliquéàlarègleetenfinlacolonnem+n+2indexedel’opérateurflousutilisépourchaquerèglefloueEToubienOU,sionutiliseleETl’indexest1,siparcontreleOUl’indexest2

Centre universitaire D’AIN‐TEMOUCHENT                                                                                   TP OMA Institut des sciences et de la technologie     RETHT MASTER 1  Département Génie Electrique                                                                                                     Mr Ayache Z  

Page 3 sur 4  

Exemple

SionaunSFavec2entréesetuneseulsortie,lesdeuxentréescontiennechacune3SEFetlasortieelleaussicontient3SEF,onobtiendralalistederèglesuivante:

Liste_de_règle=[ 11111(Règle1) 12211];(Règle2) mmnm+n+1m+n+2

Cettematricecontientdeuxrègles,ainsilapremièrerèglereprésentéeparla1ligne,setraduitcommesuivant:Sientrée1estSEF1ETentrée2estSEF1,Alorssortie1estSEF1.

LacommandesuivantenouspermetajoutéesesrèglesànotreSF:

A=addrule(A,liste_de_règle)

Pourvoirlesrèglesenutiliselacommandesuivante:A=Showrule(A,numerodelarègle,’forme‘)

Laformepeutêtreverbale(verbose),Symbolique(symbolic)etindexé(indexed).

d. SauvegardesousformeFIS(fuzzyinférencesystème)

Lacommandewritefispermetdesauvegardéeunprogrammequiestcréédanslastructureespacedetravailmatlabdansunfichierquial’extension.fis

Writefis(A,nomdusystèmeflou),pourappelerseSF.fisonutiliselacommande

A=readfis(nomduSF).

Remarque:

Souscetteforme.fisleprogrammepeutêtreutilisédansSimulink

VoirlesrèglesdenotreSF

PourvoirlecomportementdenotreSFenutiliselacommandesuivante

Ruleview(A)oubiensousformedesurfaceavecsurfview(A)

1.4Travailàfaire

1.4.1 PARTIE I 

Nousallonsreprendrel’exempleduROBOT.Supposonsquel’onveuilledéplacerunrobotmobile(fig.2.2)enutilisantunalgorithmederéglagetrèssimple.Lepremierpasdanslaconceptiond’unrégulateurbasésurlalogiquefloue(toutcommeclassique)estlechoixdesvariableslinguistiques.Dansnotrecaslavariabled’entréeestladistanceentrelerobotetl’obstacle(d)etlavariabledesortieestlavaleurdel’anglederouedirectricedurobot(α).

Dansleraisonnementbasésurlalogiquefloue,onvaétablirlesrègleslinguistiques,floues(fig.2.3):

Siladistanceestpetite,ilfauttourneràgauche(anglenégatif). Siladistanceestautoursde10cm,ilfautgarderladirection.

Centre universitaire D’AIN‐TEMOUCHENT                                                                                   TP OMA Institut des sciences et de la technologie     RETHT MASTER 1  Département Génie Electrique                                                                                                     Mr Ayache Z  

Page 4 sur 4  

Siladistanceestgrande,ilfauttourneràdroite(anglepositif).

Question

1. CréerleSFappeléROBOT,etaffichersescaractéristiques2. Ajouterlesvariablesd’entéesetdesortiesetlesfonctionsSEFàcesvariableson

s’inspirantdelafig.2.3ettracerleurcourbeenutilisantlacommandesubplot(m,n,p)3. Ajouterlesrèglesd’appartenanceetafficherlesrèglessousdéférentesformes(verbale,

symbolique,etindexé.4. Afficherlesnouvelles

caractéristiquesduSFROBOT5. Sauvegarderlesystèmeavec

l’extension.fis6. Afficherlesrègles.

1.4.2 Partie II 

On veut construire un régulateur qui possède 

deux entrées (Température, Pression) et une 

sortie (valve de contrôle) fig.2.4. Les règles 

sont présentées dans le tableau suivant : 

TP

F T C

F P / /

M M M

G M / G

Question 

Même question que la partie I 

                Fig.2.4 Fonction d’appartenance