Sunteți pe pagina 1din 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-

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 pendulului inversat este bine cunoscut, si pentru rezolvarea acestei probleme au fost aplicate multe tehnici diferite din teoria controlului, fiind dezvoltate diverse variante de sisteme de control. Una dintre aceste tehnici a fost, n mod normal, si tehnica de control cu ajutorul unui sistem cu logica fuzzy. Un pendul inversat este, din punct de vedere mecanic, un pendul ca si cel al 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 pendulului inversat este ca, printr-o forta (energie) exterioara aplicata pendulului, sa facem ca 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 un sistem cu doua intrari transante si o iesire transanta. Cele doua intrari transante sunt 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 invers montat pe un carucior mobil, asa cum arata figura urmatoare:

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 folosete o schema de reglare n care comanda dat de regulatorul fuzzy este una ponderat n funcie de importana fiecrui obiectiv de reglare. Se vor regla simultan pendulul si cartul pe care este pozitionat acesta, fiecare din ele avand un grad de prioritate fata de celalalt. Astfel dac considerm prioritar obiectivul de reglare al pendulului atunci comanda dat de regulatorul pentru controlul pozitiei unghiulare a pendulului va primi o pondere mai mare dect comanda pentru controlul pozitiei liniare a cartului. Pentru o bun funcionare a schemei de reglare ce va fi prezentat n figura 19, ponderile pentru pendul, respectiv cart vor fi alese in raport de 10 la 1. Schema de reglare se prezinta in modul urmator:

Pentru nceput precizam ca structura pe care vom lucra este o structura de regulator de tip Mamdani care are urmtoarea schem bloc :

UNIVERSITATEA DIN PITESTI FACULTATEA DE ELECTRONICA, COMUNICATII SI CALCULATOARE

Fuzificator - convertete valorile convenionale (crisp) n valori fuzzy (lingvistice) prin intermediul funciilor de apartenen care mapeaza universul discursului (domeniul de intrare). Baza de reguli - baza de cunostiine care conine 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 ieire (consecvente). Cea mai cunoscuta metod de inferenta este inferenta de tip maxmin. Defuzificator - dup cum sugereaz i numele realizeaz funcia invers fuzzificatorului, adica conversia din valori fuzzy n valori crisp.

Strategia de control Pentru regulatorul fuzzy care controleza pozitia unghiulara a pendulului invers folosim urmtoarele intrari i iesiri : Variabile de intrare : pozitia unghiulara () - theta viteza unghiulara (d/dt) - dTheta Variabila de ieire : Forta aplicata cartului - F

1. Fuzificare
Domenii de variaie. Universul discursului :
Pozitia unghiulara a pendulului ,theta , se defineste fata de verticala

0Y, si este: theta=0 pentru pozitia verticala sus a pendulului, si theta>0 n directia acelor ceasornicului si theta<0 in directia opusa. Theta se exprima n radiani (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

UNIVERSITATEA DIN PITESTI FACULTATEA DE ELECTRONICA, COMUNICATII SI CALCULATOARE

Universul discutiei variabilei de intrare pozitie unghiulara - theta este intervalul [-0.4 ; 0.4] rad (limitele n care poate s varieze unghiul pendului exprimate 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 eroare mica, 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 alegere corespunzatoare este sub forma unei multimi fuzzy triunghiulare simetrice, cu vrful 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 attea multimi fuzzy pentru descrierea variatiei negative a lui theta fata de pozitia de echilibru, ZE, cate multimi fuzzy avem pentru descrierea variatiei pozitive a lui theta fata de ZE. n ceea ce privete numrul lor l vom alege 7 pentru c echilibrul pendulului este unul instabil i n plus sistemul este foarte sensibil la schimbrile variabilelor i d/dt (5 ar fi fost prea puine 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 urmtoarele : 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:

UNIVERSITATEA DIN PITESTI FACULTATEA DE ELECTRONICA, COMUNICATII SI CALCULATOARE

Aceste functii au fost declarate utilizand urmatoarele valori :


NL [-0.5333 -0.4 -0.2667] NM [-0.4 -0.2667 -0.1333] NS [-0.2667 -0.1333 0] ZE [-0.1333 0 0.1333] PS [0 0.1333 0.2667] PM [0.1333 0.2667 0.4] PL [0.2667 0.4 0.5334]

Universul discutiei variabilei de intrare viteza unghiulara - dTheta se considera a fii [-4; 4] rad/sec,acestea fiind valorile tipice acestei marimi. Numarul multimilor fuzzy alese peste universul discutiei vitezei unghiulare dTheta va fii, in mod normal, acelasi ca si in cazul variabilei theta, iar forma va fii, de asemenea identica. Astfel, universul discursului este impartit in 6 intervale egale, deci 8/6 1.3333 Cele 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

UNIVERSITATEA DIN PITESTI FACULTATEA DE ELECTRONICA, COMUNICATII SI CALCULATOARE

Aceste functii au fost declarate utilizand urmatoarele valori :


NL [-5.334 -4 -2.666] NM [-4 -2.666 -1.334] NS [-2.666 -1.334 0] ZE [-1.334 0 1.334] PS [0 1.334 2.666] PM [1.334 2.666 4] PL [2 666 4 5.336]

2. Defuzificare
Domenii si Functii de apartenen
Forta F este marimea aplicata cartului pentru a se deplasa in directia

dorita (stanga pentru F pozitiv si dreapta pentru F negativ). Variabila de comand este una singur i anume fora aplicat caruciorului. De aceea definim 11 funcii de apartenenta tot triunghiulare pentru a avea o granularitate mai mare a domeniul de ieire i implicit un control mai bun asupra poziiei. Limitrile superioare si inferioare ale comenzii vor fi dictate de tipul elementului de executie. Avnd n vedere c avem un element de executie de tip motor 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

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 Funciile 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

UNIVERSITATEA DIN PITESTI FACULTATEA DE ELECTRONICA, COMUNICATII SI CALCULATOARE


[-24 -20 -16] [-20 -16 -12] [-16 -12 -8] [-12 -8 -4] [-8 -4 0] [-4 0 4] [0 4 8] [4 8 12] [8 12 16] [12 16 20] [16 20 24]

3. Definirea regulilor din baza de reguli


Avnd n vedere c avem 7 funcii de apartenen pentru fiecare variabil de intrare i avem 2 variabile de intrare rezult c vom avea n baza de reguli 49 de reguli pentru reglarea poziiei unghiulare. Regulile ce asigur echilibrarea unghiului pendulului i care fac legtura ntre variabilele de intrare i ieire pot fi exprimate sub form 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:
9

UNIVERSITATEA DIN PITESTI FACULTATEA DE ELECTRONICA, COMUNICATII SI CALCULATOARE

Pentru regulatorul fuzzy care controlez poziia liniar a cartului folosim urmatoarele intrari i iesiri : Variabile de intrare : poziia linara - y viteza liniara - dy Variabila de iesire : forta aplicata cartului - F

4. Fuzificare
Domenii de variaie. Universul discursului : Universul discutiei variabilei de intrare pozitia cartului - y este intervalul [-1 ; 1] m (limitele n care poate s varieze poziia cartului exprimat n metri). n ceea ce privete 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

UNIVERSITATEA DIN PITESTI FACULTATEA DE ELECTRONICA, COMUNICATII SI CALCULATOARE

Aceste functii au fost declarate utilizand urmatoarele valori :


NL [-1.3333 -1 -0.6667] NM [-1 -0.6667 -0.3333] NS [-0.6667 -0.3333 0] ZE [--0.3333 0 0.3333] PS [0 0.3333 0.6667] PM [0.3333 0.6667 1] PL [0.6667 1 1.3333]

Universul discutiei variabilei de intrare viteza liniara - dy se considera a fii [-3; 3] rad/sec,acestea fiind valorile tipice acestei marimi. Numarul multimilor fuzzy alese peste universul discutiei vitezei liniare dy va fii, in mod normal ,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

UNIVERSITATEA DIN PITESTI FACULTATEA DE ELECTRONICA, COMUNICATII SI CALCULATOARE

Aceste functii au fost declarate utilizand urmatoarele valori :


NL [-4 -3 -2] NM [-3 -2 -1] NS [-2 -1 0] ZE [-1 0 1] PS [0 1 2] PM [1 2 3] PL [2 3 4]

5. Defuzificare
Domenii si Functii de apartenenta
Forta F este marimea aplicata cartului pentru a se deplasa in directia

dorita (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

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 ntre variabilele de intrare si iesire sunt putin diferite fata de cele de mai sus si pot fi exprimate 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

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 pentru cart si unul pentru pendul. Ambele controlere dau la iesire valoarea fortei F. Controlerul cartului primeste pe intrare starea sistemului utilizand un bloc simulink 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

UNIVERSITATEA DIN PITESTI FACULTATEA DE ELECTRONICA, COMUNICATII SI CALCULATOARE

amplificator Gain de valoare -1 care ajusteaza semnalul dat pe reactie pentru viteza cartului. Pe iesire, controlerul cartului scoate o valoare a fortei F care va fii 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 in considerare 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 poziia unghiulara Pcontroller.fis. Cele doua ponderi ale fortei sunt insumate, iar rezultatul limiteaza distanta dintre semnale prin blocul Saturation ce impune limitele superioare si inferioare ale semnalului. Semnalul este insumat cu un alt semnal obtinut prin comutarea intre 2 semnale: unul dat printr-un Pulse Generator, iar altul printr-o constanta cu valoarea 0. Rezultatul intra intr-un subsistem numit inverted pendulum, care are ca iesiri: 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, obtinanduse graficele respectivelor semnale. Tot preluat de un Scop este si comanda asupra pendulului, generata de blocul Saturation. Subsistemul inverted pendulum implementeaza analiza comportarii neliniare, reale, a pendulului invers.Acest model matematic neliniar implementat sub forma schemei Matlab/Simulink va fi folosit pentru simularea soluiei de control neliniar. Ecuatiile implementate in subsistem sunt :

Ele sunt obtinute din prelucrarea ecuatiilor de echilibru al forelor i cuplurilor ce actioneaz asupra sistemului mecanic :

15

UNIVERSITATEA DIN PITESTI FACULTATEA DE ELECTRONICA, COMUNICATII SI CALCULATOARE

, unde: M masa cartului m masa pendulului l lungimea pendulului y deplasarea cartului - deplasarea pendulului F fora aplicat cartului Functiile 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 implementeaza schema de reglare sunt urmatoarele:

16

UNIVERSITATEA DIN PITESTI FACULTATEA DE ELECTRONICA, COMUNICATII SI CALCULATOARE

1. Pentru pozitia cartului:

2. Pentru viteza cartului:

3. Pentru pozitia unghiulara:

17

UNIVERSITATEA DIN PITESTI FACULTATEA DE ELECTRONICA, COMUNICATII SI CALCULATOARE

4. Pentru viteza unghiulara:

5. Pentru comanda asupra procesului:

18

S-ar putea să vă placă și