proiect sia

18
 UNIVERSITATEA DIN PITESTI FACULTATEA DE ELECTRONICA, COMUNICATII SI CALCULATOARE Ingineria sistemelor cu inteligenta artificiala  TEMA: Sistem de control fuzzy pentru pendulul inversat Profesor Indrumator: sef lucrari ANGHELESCU PETRE Studenta : Ghita Ana-Maria Specializarea : Calculatoare 412  -2011-

Upload: ana-maria-ghita

Post on 18-Jul-2015

205 views

Category:

Documents


3 download

TRANSCRIPT

Page 1: Proiect SIA

5/16/2018 Proiect SIA - slidepdf.com

http://slidepdf.com/reader/full/proiect-sia 1/18

UNIVERSITATEA DIN PITESTI

FACULTATEA DE ELECTRONICA, COMUNICATII SI CALCULATOARE

Ingineria sistemelorcu inteligenta artificiala

 TEMA:Sistem de control fuzzy pentru

pendulul inversat

Profesor Indrumator:

sef lucrari ANGHELESCU PETRE

Studenta : Ghita Ana-MariaSpecializarea : Calculatoare 412

 

-2011-

Page 2: Proiect SIA

5/16/2018 Proiect SIA - slidepdf.com

http://slidepdf.com/reader/full/proiect-sia 2/18

UNIVERSITATEA DIN PITESTI

FACULTATEA DE ELECTRONICA, COMUNICATII SI CALCULATOARE

Cerinţǎ

Sa se realizeze un sistem de control fuzzy pentru mentinerea unui pendul

in pozitie verticala (sistem unidimensional) . Se cere:- Implementarea utilizand fuzzy- Modelul simulink

Pendulul inversat

Una dintre cele mai studiate probleme din domeniul controlului proceselor este problema pendulului inversat. Comportamentul pendululuiinversat este bine cunoscut, si pentru rezolvarea acestei probleme au fost

aplicate multe tehnici diferite din teoria controlului, fiind dezvoltate diversevariante de sisteme de control. Una dintre aceste tehnici a fost, în mod normal, sitehnica de control cu ajutorul unui sistem cu logica fuzzy.

Un pendul inversat este, din punct de vedere mecanic, un pendul ca si celal unui ceas (deci, un pendul tipic); diferenta fata de pendulul de ceas consta în

 pozitia în care vrem ca pendulul sa fie stabil. Scopul problemei pendululuiinversat este ca, printr-o forta (energie) exterioara aplicata pendulului, sa facemca pendulul sa stea în pozitia verticala sus, în loc sa cada în pozitia verticala jos,cum ar fi tendinta sa naturala.

Sistemul cu logica fuzzy pentru controlul pendulului inversat va fi unsistem cu doua intrari transante si o iesire transanta. Cele doua intrari transantesunt doua marimi masurate din procesul controlat: pozitia unghiulara a

 pendulului,Ө - Theta, si viteza unghiulara instantanee a pendulului, dӨ - dTheta,reprezentate în figura:

Pentru a rega respectivul pendul se foloseste modelul pendulului inversmontat pe un carucior mobil, asa cum arata figura urmatoare:

2

Page 3: Proiect SIA

5/16/2018 Proiect SIA - slidepdf.com

http://slidepdf.com/reader/full/proiect-sia 3/18

UNIVERSITATEA DIN PITESTI

FACULTATEA DE ELECTRONICA, COMUNICATII SI CALCULATOARE

Reprezentare schematică pentru controllerul pendulului este urmatoarea:

Reglare fuzzy multivariabilă a sistemului cuplat

Strategia de reglare fuzzy multivariabilă foloseşte o schema de reglare încare comanda dată de regulatorul fuzzy este una ponderată în funcţie deimportanţa fiecărui obiectiv de reglare. Se vor regla simultan pendulul si cartul

 pe care este pozitionat acesta, fiecare din ele avand un grad de prioritate fata decelalalt. Astfel dacă considerăm prioritar obiectivul de reglare al pendululuiatunci comanda dată de regulatorul pentru controlul pozitiei unghiulare a

 pendulului va primi o pondere mai mare decât comanda pentru controlul pozitieiliniare a cartului. Pentru o bună funcţionare a schemei de reglare ce va fi

 prezentată în figura 19, ponderile pentru pendul, respectiv cart vor fi alese inraport de 10 la 1.

Schema de reglare se prezinta in modul urmator:

Pentru început precizam ca structura pe care vom lucra este o structura deregulator de tip Mamdani care are următoarea schemă bloc :

3

Page 4: Proiect SIA

5/16/2018 Proiect SIA - slidepdf.com

http://slidepdf.com/reader/full/proiect-sia 4/18

UNIVERSITATEA DIN PITESTI

FACULTATEA DE ELECTRONICA, COMUNICATII SI CALCULATOARE

• Fuzificator - converteşte valorile convenţionale (crisp) în valori

fuzzy (lingvistice) prin intermediul funcţiilor de apartenenţă care mapeazauniversul discursului (domeniul de intrare).• Baza de reguli - baza de cunostiinţe care conţine reguli de forma

IF in_1 is x1 AND/OR in_2 is x2 … AND/OR in_n THEN out is y.• Motorul de inferentă - face trecerea din setul de variabile

lingvistice de intrare (antecedente) în setul de variabile lingvistice de ieşire(consecvente). Cea mai cunoscuta metodă de inferenta este inferenta de tip max-min.

• Defuzificator - după cum sugerează şi numele realizează funcţiainversă fuzzificatorului, adica conversia din valori fuzzy în valori crisp.

Strategia de control

Pentru regulatorul fuzzy care controleza pozitia unghiulara a pendulului invers folosim următoarele intrari şi iesiri :Variabile de intrare : pozitia unghiulara (θ) - theta

viteza unghiulara (dθ/dt) - dThetaVariabila de ieşire : Forta aplicata cartului - F

1. FuzificareDomenii de variaţie. Universul discursului :

Pozitia unghiulara a pendulului ,theta , se defineste fata de verticala0Y, si este: theta=0 pentru pozitia verticala sus a pendulului, si theta>0 îndirectia acelor ceasornicului si theta<0 in directia opusa. Theta se exprima înradiani (adica, unghiul în grade înmultit cu ∏/180). Viteza unghiulara a pendulului, dTheta, este derivata în timp a pozitiei

unghiulare; ea este pozitiva în sensul acelor ceasornicului, si negativa

în sens invers. dTheta se exprima in rad/sec.

4

Page 5: Proiect SIA

5/16/2018 Proiect SIA - slidepdf.com

http://slidepdf.com/reader/full/proiect-sia 5/18

UNIVERSITATEA DIN PITESTI

FACULTATEA DE ELECTRONICA, COMUNICATII SI CALCULATOARE

Universul discutiei variabilei de intrare “pozitie unghiulara” - theta esteintervalul [-0.4 ; 0.4] rad (limitele în care poate să varieze unghiul penduluiexprimate în radiani).

Alegerea multimilor fuzzy pentru variabila de intrare theta se bazeaza pe

doua observatii:1) deoarece pozitia de echilibru dorita este în jurul valorii theta=0, cu eroaremica, va trebui sa avem o multime fuzzy axata pe theta =0, cu suport îngust, dar nenul, pe care o vom numi simplu multimea fuzzy ZE. O alegerecorespunzatoare este sub forma unei multimi fuzzy triunghiulare simetrice, cuvârful în theta=0, si cu suportul =[-0,1333; 0,1333].2) deoarece unghiul theta poate avea, simetric, valori pozitive si negative, este

 bine sa avem atâtea multimi fuzzy pentru descrierea variatiei negative a lui thetafata de pozitia de echilibru, ZE, cate multimi fuzzy avem pentru descrierea

variatiei pozitive a lui theta fata de ZE.În ceea ce priveşte numărul lor îl vom alege 7 pentru că echilibrul pendulului este unul instabil şi în plus sistemul este foarte sensibil la schimbărilevariabilelor θ şi dθ/dt (5 ar fi fost prea puţine iar 9 prea multe).

Astfel, universul discursului este impartit in 6 intervale egale, deci 0.8/6 ≈0.1333. Vom avea in acest mod 7 functii de apartenenta triunghiulare,suprapuse.Cele 7 functii sunt următoarele :• NL - Negative Large• NM –  Negative Medium

• NS - Negative Small• ZE - Zero• PS - Positive Small• PM – Positive Medium• PL - Positive Large

Ele sunt transpuse ca sistem fuzzy astfel:

5

Page 6: Proiect SIA

5/16/2018 Proiect SIA - slidepdf.com

http://slidepdf.com/reader/full/proiect-sia 6/18

UNIVERSITATEA DIN PITESTI

FACULTATEA DE ELECTRONICA, COMUNICATII SI CALCULATOARE

Aceste functii au fost declarate utilizand urmatoarele valori :

NL NM NS ZE PS PM PL

[-0.5333-0.4

-0.2667]

[-0.4-0.2667-0.1333]

[-0.2667-0.1333

0]

[-0.13330

0.1333]

[00.13330.2667]

[0.13330.2667

0.4]

[0.26670.4

0.5334]

Universul discutiei variabilei de intrare “viteza unghiulara” - dTheta seconsidera a fii [-4; 4] rad/sec,acestea fiind valorile tipice acestei marimi.

 Numarul multimilor fuzzy alese peste universul discutiei vitezei unghiularedTheta va fii, in mod normal, acelasi ca si in cazul variabilei theta, iar forma vafii, de asemenea identica. Astfel, universul discursului este impartit in 6intervale egale, deci 8/6 ≈ 1.3333Cele 7 multimi fuzzy vor fi numite (ca si în cazul variabilei theta):• NL - Negative Large• NM –  Negative Medium• NS - Negative Small• ZE - Zero• PS - Positive Small• PM – Positive Medium• PL - Positive Large

Functiile de apartenenta pentru viteza unghiulara arata in modul urmator:

6

Page 7: Proiect SIA

5/16/2018 Proiect SIA - slidepdf.com

http://slidepdf.com/reader/full/proiect-sia 7/18

UNIVERSITATEA DIN PITESTI

FACULTATEA DE ELECTRONICA, COMUNICATII SI CALCULATOARE

Aceste functii au fost declarate utilizand urmatoarele valori :

NL NM NS ZE PS PM PL

[-5.334-4

-2.666]

[-4-2.666-1.334]

[-2.666-1.334

0]

[-1.3340

1.334]

[01.3342.666]

[1.3342.666

4]

[2 6664

5.336]

2. DefuzificareDomenii si Functii de apartenenţă

Forta F este marimea aplicata cartului pentru a se deplasa in directiadorita (stanga pentru F pozitiv si dreapta pentru F negativ).

Variabila de comandă este una singură şi anume forţa aplicată caruciorului.De aceea definim 11 funcţii de apartenenta tot triunghiulare pentru a avea ogranularitate mai mare a domeniul de ieşire şi implicit un control mai bun asupra

 poziţiei. Limitările superioare si inferioare ale comenzii vor fi dictate de tipulelementului de executie. Având în vedere că avem un element de executie de tipmotor electric de curent continuu ce poate fi comandat într-un domeniu de

liniaritate cuprins in intervalul -22V÷+22V şi care poate dezvolta o fortăcuprinsă intre –20N şi +20N, rezultand ca domeniul de variatie a iesirii

7

Page 8: Proiect SIA

5/16/2018 Proiect SIA - slidepdf.com

http://slidepdf.com/reader/full/proiect-sia 8/18

UNIVERSITATEA DIN PITESTI

FACULTATEA DE ELECTRONICA, COMUNICATII SI CALCULATOARE

 poate fi între [-20 +20] N.Cele 11 multimi fuzzy vor fi numite :• NX - Negative Extralarge• NL - Negative Large

• NM –  Negative Medium• NS –  Negative Small• ZN – Zero Negative• ZE – Zero• ZP – Zero Positive• PS - Positive Small• PM – Positive Medium• PL - Pozitive Large• PX – Positivie Extralarge

Funcţiile de apartenenţă pentru forta arata in modul urmator:

Aceste functii au fost declarate utilizand urmatoarele valori :

NX NL NM NS ZN ZE ZP PS PL PS PX

8

Page 9: Proiect SIA

5/16/2018 Proiect SIA - slidepdf.com

http://slidepdf.com/reader/full/proiect-sia 9/18

UNIVERSITATEA DIN PITESTI

FACULTATEA DE ELECTRONICA, COMUNICATII SI CALCULATOARE

[-24-20-16]

[-20-16-12]

[-16-12-8]

[-12-8-4]

[-8-40]

[-404]

[048]

[48

12]

[81216]

[121620]

[162024]

3. Definirea regulilor din baza de reguli

Având în vedere că avem 7 funcţii de apartenenţă pentru fiecare variabilă deintrare şi avem 2 variabile de intrare rezultă că vom avea în baza de reguli 49 dereguli pentru reglarea poziţiei unghiulare. Regulile ce asigură echilibrareaunghiului pendulului şi care fac legătura între variabilele de intrare şi ieşire potfi exprimate sub formă tabelului de mai jos :

Sau sub forma urmatoare :

Conform cu functiile de apartenenta si cu regulile declarate, putemobserva urmatoarea suprafata a controlerului pendulului inversat:

9

Page 10: Proiect SIA

5/16/2018 Proiect SIA - slidepdf.com

http://slidepdf.com/reader/full/proiect-sia 10/18

UNIVERSITATEA DIN PITESTI

FACULTATEA DE ELECTRONICA, COMUNICATII SI CALCULATOARE

Pentru regulatorul fuzzy care controleză poziţia liniară a cartuluifolosim urmatoarele intrari şi iesiri :

Variabile de intrare : poziţia linara - yviteza liniara - dy

Variabila de iesire : forta aplicata cartului - F

4. FuzificareDomenii de variaţie. Universul discursului :

Universul discutiei variabilei de intrare “pozitia cartului” - y este intervalul[-1 ; 1] m (limitele în care poate să varieze poziţia cartului exprimată în metri).

În ceea ce priveşte numarul functiilor de apartenenta, acesta va fii 7.Astfel, universul discursului este impartit in 6 intervale egale, deci 2/6 ≈

0.3333. Vom avea in acest mod 7 functii de apartenenta triunghiulare,suprapuse.Cele 7 functii sunt urmatoarele :• NL - Negative Large• NM –  Negative Medium

• NS - Negative Small• ZE - Zero• PS - Positive Small• PM – Positive Medium• PL - Positive Large

Ele sunt transpuse ca sistem fuzzy astfel:

10

Page 11: Proiect SIA

5/16/2018 Proiect SIA - slidepdf.com

http://slidepdf.com/reader/full/proiect-sia 11/18

UNIVERSITATEA DIN PITESTI

FACULTATEA DE ELECTRONICA, COMUNICATII SI CALCULATOARE

Aceste functii au fost declarate utilizand urmatoarele valori :

NL NM NS ZE PS PM PL

[-1.3333

-1-0.6667]

[-1

-0.6667-0.3333]

[-0.6667

-0.33330]

[--0.3333

00.3333]

[0

0.33330.6667]

[0.3333

0.66671]

[0.6667

11.3333]

Universul discutiei variabilei de intrare “viteza liniara” - dy se consideraa fii [-3; 3] rad/sec,acestea fiind valorile tipice acestei marimi. Numarulmultimilor fuzzy alese peste universul discutiei vitezei liniare dy va fii, in modnormal ,acelasi ca si in cazul variabilei y, iar forma va fii, de asemenea identica.Astfel, universul discursului este impartit in 6 intervale egale, deci 6/6 = 1.Cele 7 multimi fuzzy vor fi numite (ca si în cazul variabilei y):• NL - Negative Large• NM –  Negative Medium• NS - Negative Small• ZE - Zero• PS - Positive Small• PM – Positive Medium• PL - Positive Large

Functiile de apartenenta pentru viteza unghiulara arata in modul urmator:

11

Page 12: Proiect SIA

5/16/2018 Proiect SIA - slidepdf.com

http://slidepdf.com/reader/full/proiect-sia 12/18

UNIVERSITATEA DIN PITESTI

FACULTATEA DE ELECTRONICA, COMUNICATII SI CALCULATOARE

Aceste functii au fost declarate utilizand urmatoarele valori :

NL NM NS ZE PS PM PL

[-4-3-2]

[-3-2-1]

[-2-10]

[-101]

[012]

[123]

[234]

5. DefuzificareDomenii si Functii de apartenenta

Forta F este marimea aplicata cartului pentru a se deplasa in directiadorita (stanga pentru F pozitiv si dreapta pentru F negativ).

Vom considera aceleasi multimi fuzzy pentru forta ca si in cazul pendulului,avand acelasi numar, denumire si domenii.Cele 11 multimi fuzzy vor fi numite :• NX - Negative Extralarge• NL - Negative Large• NM –  Negative Medium• NS –  Negative Small• ZN – Zero Negative• ZE – Zero

• ZP – Zero Positive• PS - Positive Small

12

Page 13: Proiect SIA

5/16/2018 Proiect SIA - slidepdf.com

http://slidepdf.com/reader/full/proiect-sia 13/18

UNIVERSITATEA DIN PITESTI

FACULTATEA DE ELECTRONICA, COMUNICATII SI CALCULATOARE

• PM – Positive Medium• PL - Pozitive Large• PX – Positivie Extralarge

6. Definirea regulilor din baza de reguli

Cele 49 de reguli ce asigură reglarea pozitiei cartului si care fac legatura întrevariabilele de intrare si iesire sunt putin diferite fata de cele de mai sus si pot fiexprimate sub forma tabelului de mai jos :

Sau sub forma urmatoare :

Conform cu functiile de apartenenta si cu regulile declarate, putem

observa urmatoarea suprafata a controlerului pendulului inversat:

13

Page 14: Proiect SIA

5/16/2018 Proiect SIA - slidepdf.com

http://slidepdf.com/reader/full/proiect-sia 14/18

UNIVERSITATEA DIN PITESTI

FACULTATEA DE ELECTRONICA, COMUNICATII SI CALCULATOARE

Schema de reglare Matlab/Simulink este prezentată în figura urmatoare :

Asa cum este prezentat in schema de reglare, avem 2 controlere:unul pentrucart si unul pentru pendul. Ambele controlere dau la iesire valoarea fortei F.

Controlerul cartului primeste pe intrare starea sistemului utilizand un blocsimulink de tip Step, semnal adunat cu reactia sistemului pentru pozitia cartului.Acest semnal obtinut prin insumare este multiplexat cu o valoare data de un

14

Page 15: Proiect SIA

5/16/2018 Proiect SIA - slidepdf.com

http://slidepdf.com/reader/full/proiect-sia 15/18

UNIVERSITATEA DIN PITESTI

FACULTATEA DE ELECTRONICA, COMUNICATII SI CALCULATOARE

amplificator ‚Gain’ de valoare -1 care ajusteaza semnalul dat pe reactie pentruviteza cartului. Pe iesire, controlerul cartului scoate o valoare a fortei F care vafii luata in considerare de sistemul final tinand cont de o pondere amplificata

 prin blocul ‚Cart Gain’ de 0.33.

Controlerul cartului este directionat spre regulatorul fuzzy care controleza pozitia cartului Ccontroller.fis.

Controlerul pendulului primeste pe intrare starea sistemului utilizand un bloc simulink de tip multiplexor, ce primeste pe intrari reactiile sistemului pentru pozitia unghiulara, theta, respectiv, viteza unghiulara, dTheta. Pe iesire,controlerul pendulului scoate o alta valoare a fortei F care va fii luata inconsiderare de sistemul final tinand cont de o pondere amplificata prin blocul‚pendul Gain’ de 0.66, fiind prioritara fata de ponderea data pentru cart de 0.33.

Controlerul pendulului este directionat spre regulatorul fuzzy care

controleza poziţia unghiulara Pcontroller.fis.Cele doua ponderi ale fortei sunt insumate, iar rezultatul limiteaza distantadintre semnale prin blocul ‘Saturation’ ce impune limitele superioare siinferioare ale semnalului.

Semnalul este insumat cu un alt semnal obtinut prin comutarea intre 2semnale: unul dat printr-un ‘Pulse Generator’, iar altul printr-o constanta cuvaloarea 0.

Rezultatul intra intr-un subsistem numit ‘inverted pendulum’, care are caiesiri: x- pozitia cartului, dx – viteza cartului, theta – pozitia unghiulara si

dTheta – viteza unghiulara. Aceste semnale sunt preluate de un bloc de tip‘Scop’ care vizualizeaza semnalele generate in timpul unei simulari, obtinandu-se graficele respectivelor semnale. Tot preluat de un ‘Scop’ este si comandaasupra pendulului, generata de blocul ‘Saturation’.

Subsistemul ‘inverted pendulum’ implementeaza analiza comportariineliniare, reale, a pendulului invers.Acest model matematic neliniar implementatsub forma schemei Matlab/Simulink va fi folosit pentru simularea soluţiei decontrol neliniar.

Ecuatiile implementate in subsistem sunt :

Ele sunt obtinute din prelucrarea ecuatiilor de echilibru al forţelor şicuplurilor ce actionează asupra sistemului mecanic :

15

Page 16: Proiect SIA

5/16/2018 Proiect SIA - slidepdf.com

http://slidepdf.com/reader/full/proiect-sia 16/18

UNIVERSITATEA DIN PITESTI

FACULTATEA DE ELECTRONICA, COMUNICATII SI CALCULATOARE

, unde:M – masa cartuluim – masa pendululuil – lungimea pendululuiy – deplasarea cartuluiθ - deplasarea pendululuiF – forţa aplicată cartuluiFunctiile de transfer au fost obtinute in cazul particular al sistemului

mecanic considerat cu M=1kg, g=10 m/s2, l=0.3m şi m=0.2kg.Conform acestor consideratii s-a realizat urmatoarea schema simulink a

subsistemului ‘inverted pendulum’ :

Graficele obtinute in urma simularii sistemului ce implementeazaschema de reglare sunt urmatoarele:

16

Page 17: Proiect SIA

5/16/2018 Proiect SIA - slidepdf.com

http://slidepdf.com/reader/full/proiect-sia 17/18

UNIVERSITATEA DIN PITESTI

FACULTATEA DE ELECTRONICA, COMUNICATII SI CALCULATOARE

1. Pentru pozitia cartului:

 

2. Pentru viteza cartului:

 

3. Pentru pozitia unghiulara:

17

Page 18: Proiect SIA

5/16/2018 Proiect SIA - slidepdf.com

http://slidepdf.com/reader/full/proiect-sia 18/18

UNIVERSITATEA DIN PITESTI

FACULTATEA DE ELECTRONICA, COMUNICATII SI CALCULATOARE

4. Pentru viteza unghiulara:

 

5. Pentru comanda asupra procesului: 

18