Sunteți pe pagina 1din 75

Sisteme de conducere fuzzy (UPT, 2011)

LUCRAREA DE LABORATOR NR. 6

CONDUCEREA FUZZY A SISTEMULUI PENDUL INVERS: PREZENTAREA


GENERAL; STRUCTURA HARDWARE I SOFTWARE; DEZVOLTAREA
REGULATOARELOR FUZZY (RG-F) PENTRU DIVERSE REGIMURI; SIMULRI I
EXPERIMENTE N TIMP REAL; STUDIUL EFECTELOR MODIFICRII DIFERIILOR
PARAMETRI AI RG-F ASUPRA COMPORTRII SISTEMULUI

A. OBIECTIVELE LUCRRII:
1. Ctigarea experienei n conducerea fuzzy a unui proces complex.
2. Obinerea abilitii de a dezvolta, acorda i aplica regulatoare fuzzy.

B. CONSIDERAII PREGTITOARE:
MODELAREA MATEMATIC A SISTEMULUI I PROBLEMA IDENTIFICRII

Sistemul pendul invers (SPI sau sistemul pendul-crucior) cu rol de proces condus, poate
prezenta o serie de probleme complexe cu implicaii asupra soluiilor de conducere. Urmtoarele
particulariti sunt eseniale pentru acest sistem:
existena a patru variabile de stare i a unei variabile de intrare (comand);
dinamica sa poate fi descris de o ecuaie diferenial ordinar (ode) de ordinul patru (model
matematic intrare-ieire, MM-II) sau de patru ecuaii difereniale ordinare de ordinul nti (ecuaii
de stare n cadrul modelului matematic intrare-stare-ieire, MM-ISI) [4], [5], [6];
exist o infinitate de puncte de funcionare pentru sistemul procesul condus (n bucl deschis);
corespunztor exist o infinitate de puncte de funcionare pentru procesul condus cu reacie
liniar.

Pentru experimentele care se analizeaz n cadrul lucrrii au fost alese trei puncte de funcionare
specifice (fig.2.1):
primul punct (1) este stabil - cruciorul se afl n apropierea extremitii din stnga a
inelor iar pendulul este in poziia de jos;
al doilea punct (2) este i el stabil cruciorul este ntr-un punct apropiat de captul din
dreapta al suportului;
al treilea punct (3) de echilibru este instabil cruciorul se afl la mijlocul inelor, iar
pendulul n poziia de sus.
sistemul este neliniar
comanda este de valoare limitat
lungimea inelor este limitat (L) iar poziia cruciorului pe ine mrginit la capete.
mp
x (3)
2

CM
l centrul de mas al sistemului
axa de rotaie (OR)
mc F

DC

(1) (2)

centrul suportului
poziie curent x1
Fig.2.1. Schema bloc funcional a modelului de laborator pentru sistemul pendul invers.

Urmtoarele probleme de conducere asimilabile cu cea a pendulului sunt frecvent ntlnite n


practic:
Sisteme de conducere fuzzy (UPT, 2011)

macarale, poduri rulante deplasare cu masa atrnat fr oscilaii,


conducerea de la un punct la alt punct de funcionare poziionarea corect,
stabilizarea n poziie vertical (cazul rachetelor sau al pendului invers ntr-un spaiu
tridimensional).

Pentru deducerea MM aferent se consider sistemul reprezentat conform schemei bloc


funcionale din fi.2.1. Pendulul se poate roti n plan vertical n jurul axei fixate n corpul cruciorului.
Cruciorul se deplaseaz pe un suport orizontal (pereche de ine) aflat n planul de rotaie. Se noteaz
cu F fora de traciune (cu rol de mrime de execuie, proporional cu mrimea de comand, motiv
pentru care este considerat n cele ce urmeaz mrime de comand) aplicat cruciorului. Masa
cruciorului este notat cu mc iar cea a pendulului cu mp. Distana dintre axa de rotaie (OR) i
centrul de mas (CM) al sistemului este l. Momentul de inerie al sistemului este notat cu J.
Vectorul de stare al sistemului are expresia:

x1
x2
x= x3
x4

n care:

x1 este poziia cruciorului (distana de la centrul suportului),


x2 este unghiul dintre poziia superioar i dreapta care unete centrul de mas cu poziia
momentan a pendulului, msurat n sens trigonometric invers (x2=0 pentru poziia
superioar),
x3 este viteza (liniar a) cruciorului,
x4 este viteza unghiular a pendulului.

Se mai introduc notaiile:


Tc reprezint fora de frecare n micarea cruciorului,
Dp reprezint momentul de frecare n micarea de rotaie a pendulului; el este proporional cu
viteza unghiular a acestuia:
Dp = fp x4.

Fora de reacie V din partea suportului acioneaz vertical asupra cruciorului. innd seama de
faptul c, coordonatele curente ale centrului de mas M se pot explicita n forma:
xM = x1 lsin x2 pentru cea orizontal, respectiv
yM = lcos x2 pentru cea vertical,
ecuaiile micrii se scriu n forma (ecuaii primare):
(mc + mp) (x1 l sinx2)" = F Tc ,
(mc + mp) (l cosx2)" = V (mc + mp)g,
J x2" = (F Tc) l cosx2 + Vl sinx2 Dp,
unde () reprezint prima derivat n raport cu timpul, iar () reprezint a doua derivat in raport cu
timpul.
Primele dou ecuaii descriu translaia centrului de mas (descompus dup axa orizontal
respectiv vertical) iar a treia exprim rotaia ntregului sistem in jurul centrului de mas. Dup
eliminarea mrimii V i efectuarea unor nlocuiri succesive, se obin ecuaiile de stare aferente
sistemului (pentru t 0):
x1 = x3 ,
a ( F Tc x4 sin x2 ) + l cos x2 ( g sin x2 f p x4 )
2

x3 =
J + l sin 2 x2
x2 = x4 , (2.1)
l cos x2 ( F Tc x4 sin x2 ) + g sin x2 f p x4
2

x4 =
J + l sin 2 x2
Sisteme de conducere fuzzy (UPT, 2011)

n care:
J
a =l2 +
mc + m p
, = (mc + mp)l. (2.2)

Comanda admisibil este cuprins in domeniul (restricie de tip inegalitate):


| F(t) | M, (2.3)
n care, cu M s-a notat valoarea maxim posibil.

Fora de frecare a cruciorului care apare n model este o funcie neliniar de viteza x3 a acestuia,
dup cum rezult din fig.2.2 (de exemplu, [3]).

T c [N ]
FS

Yc

-X c FC
-F C Xc
x 3 [m /s ]
-Y c

-F S

-D Z c v D Zcv

Fig.2.2. Fora de frecare Tc a cruciorului funcie de viteza x3


(valabil pentru o gam larg de viteze).
Notaiile folosite n fig.2.2 sunt urmtoarele:
FS - fora de frecare static;
FC - coeficient de frecare Coulomb;
Xc - viteza cruciorului la nceputul zonei de dependen liniar a caracteristicii;
Yc - valoarea forei de frecare n punctul Xc;
DZcv - zona de insensibilitate n viteza cruciorului;
Funcia frecare reprezentat n fig.2.2 este valabil pentru o gam larg de viteze [3]. Pentru o
gam restrns de viteze (viteze nu prea mari), forma general dat poate fi simplificat i exprimat
n forma dat n fig.2.3.

T c [N ]
FS

Yc

-X c
Xc
x 3 [m /s ]
-Y c

-F S

-D Z c v D Zcv

Fig.2.3. Fora de frecare Tc a cruciorului funcie de viteza x3


(valabil pentru o gam restrns de viteze).
Sisteme de conducere fuzzy (UPT, 2011)

Momentul de inerie al pendulului se poate calcula pe baza fig.2.4, n care s-au utilizat urmtoarele
notaii (att tija ct i greutatea au form cilindric):

lp

mps
rc mpw rp

lpo
lc

lco

Fig.2.4. Seciunea longitudinal a pendulului.

mpw - masa(greutatea) amplasat pe tij [kg];


mpS - masa tijei pendulului [kg];
lp - lungimea braului pendulului [m];
lpo - distana ntre centrul de mas al tijei i axa de rotaie(OR) [m];
lc - lungimea greutii [m];
lco - distana ntre centrul greutii i axa de rotaie [m];
rp - raza tijei [m];
rp - raza greutii [m].
n acest context momentul de inerie al pendulului relativ la axa de rotaie se expliciteaz n
forma ([3], [7]):
1 1 1 1
Jp = m pw l c2 + m pw rc2 + m pw l co2 + m ps l p2 + m ps rp2 + m ps l po
2

12 4 12 4 (2.4)

Dac modelul pendulului este redus la o simpl tij (de mas nul), cu lungimea L=lco iar
greutatea are masa echivalent mp=mpw+ mpS, atunci momentul de inerie J relativ la centrul de
mas (CM) se exprim n forma simplificat [3]:
m p (4mc + m p ) L2
J=
12( mc + m p ) . (2.5)

J poate fi exprimat n funcie de Jp, n forma:


(
J = Jp l 2 mc + m p ) (2.6)

Distana centrului de mas (CM) la axa de rotaie (OR) este:


0.5mp L
l=
mc + mp
(2.7)

2.1. Modelul SIMULINK asociat sistemului

Modelul de simulare al sistemului real pendul-crucior corespunde ecuaiilor 2.1-2.5 i este


realizat prin funcia SIMULINK model.m , fiind prezentat n fig.2.1.1 i 2.1.2 [3].
Sisteme de conducere fuzzy (UPT, 2011)

Cart Position
pi

1 m
Pendulum angle
In

Dynamics
Cart velocity

PENDULUM-CART SYSTEM

Pendulum velocity

Fig.2.1.1. Modelul pendul-crucior, model.m.

l*cos(u(2)) DYNAMICS
Friction of
PENDULUM-CART SYSTEM

Demux
a 1/s 1/s
0 4 2
DZ-Vc

NOR -1
DZ-Vp 1/s
3 1/s
0 1
DZ-U
0
l*cos(u(2))* (-mi*u(4)*u(4)*sin(u(2))) + mi*g*sin(u(2))-fp*u(4)

1/(J+mi*l*sin(u[2])*sin(u[2]))

a*(-mi*u(4)*u(4)*sin(u(2)) )+l*cos(u(2))*(mi*g*sin(u(2))-fp*u(4)) BM1

M 1 1 x1,x2,x3,x4 BM2
Mux Mux
Saturation u

Fig.2.1.2. Structura aferent blocului Dynamics.


Sisteme de conducere fuzzy (UPT, 2011)

FS/small
Saturation
((Yc-FC)/Xc)*u(1)+FC
LinUp
Xc >= -1
Min-Cv

f(u)
|u| -1
ParabUp
1 1
in_1 out_1
DetectZero

f(u)
ParabDn

-Xc >= -1
-Min-Cv

((Yc-FC)/Xc)*u(1)-FC
Friction vs. cart velocity
LinDn
Fig.2.1.3. Blocul de frecare (Friction).

Dinamica pendul-crucior (redat de ecuaiile (2.1) (2.5)) este modelat n blocul mascat
Dynamics (fig.2.1.1). Blocul Dynamics nemascat este ilustrat n fig.2.1.2. Schema conine o serie de
blocuri din biblioteca SIMULINK din cadrul crora se menioneaz : Dead Zone, Saturation, i
Blocul de frecare (Friction).
n procedura de identificare determinarea parametrilor blocului Friction este de maxim
importan. Omiterea sau simplificarea blocului Friction are ca efect scderea puternic a
echivalenei dintre modelul simulat i sistemul real, acest fapt reflectndu-se n abaterea rspunsului
sistemului real de cel al modelului sau invers. n structura blocului sunt introduse dou blocuri de
memorare BM1 i BM2 (a se vedea fig.2.1.2) pentru evitarea buclelor algebrice, respectiv trei blocuri
Dead Zone (DZ-Vc, DZ-Vp i DZ-U) prin care se desensibilizeaz modelul la mici variaii ale
vitezelor i ale comenzii.

DETERMINAREA PARAMETRILOR MODELULUI MATEMATIC AL PROCESULUI


CONDUS

Odat determinat structura modelului matematic (MM) al procesului condus, identificarea


procesului condus [8] continu cu determinarea parametrilor MM, care are loc pe baza unui set de
experiene succesive. n ansamblu este vorba de:
- identificarea frecrii pendulului;
- msurarea forei minime pentru deplasarea cruciorului;
- identificarea zonelor de insensibilitate DZcv, DZpv;
- verificarea i adaptarea unor parametri slab identificabili;
Pentru a ncepe procedura de determinare a parametrilor (considerat, n continuare, pe scurt,
identificare) se lanseaz fiierul p_id.m. Fereastra principal a procesului de identificare apare n
fig.3.1, de unde prin apsarea butoanelor din fereastra respectiv se parcurg paii necesari procedurii
de identificare. Funciile MATLAB apelate se afl n directorul
C:\MATLAB\FeedBack\Pendulum\IDENTIFICATION.
Sisteme de conducere fuzzy (UPT, 2011)

Fig.3.1. Identificare pendul fereastra principal de identificare.

3.1. Lansarea procesului de determinare a parametrilor

n vederea lansrii procesului de determinare a parametrilor se aduce cruciorul la mijlocul


suportului. Poziia marcat asigur starea de repaus att a pendulului ct i a cruciorului.
Dac s-a folosit pendulul nainte de lansarea fiierului p_id.m, se execut click dublu pe Stop
practical din seciunea TOOLS, apoi prin dublu click pe Reset encoders din seciunea TOOLS se
asigur resetarea regitrilor traductoarelor (aducerea lor la zero).
n pasul urmtor se ncarc parametrii sistemului pendul-crucior prin dublu click pe butonul
Load parameters din seciunea IDENTIFICATION.
Parametrii pendulului sunt ncrcai din fiierul pendpar.dat i sunt afiai n fereastra ilustrat
n fig.3.1.3. Exist dou tipuri de mesaje n cazul unei erori; ele se refer la procedurile de ncrcare
i salvare din fiierul p_param.m (fig.3.1.1 i 3.1.2). Cauza acestor erori este
- absena fiierului pendpar.dat sau
- numele cii este incorect declarat n variabila ParamPath, aflat n fiierul pendpar.dat.
Mai nti se verific numele variabilei ParamPath, care trebuie s fie corect pentru a putea
ncrca i salva parametrii.
Dac fiierul pendpar.dat nu se afl n directorul curent, va fi creat dup acceptarea ferestrei
parametrilor modelului (a se vedea fig.3.1.3).

Fig.3.1.1. Mesaj de eroare deschidere fiier parametri.

Fig.3.1.2. Mesaj de eroare scriere fiier parametri.

n continuare se cere confirmarea acceptrii parametrilor, sau schimbarea lor n fereastra


parametrilor.
Sisteme de conducere fuzzy (UPT, 2011)

Fig.3.1.3. Fereastr de afiare/modifcare a parametrilor modelului msurai i setai de Feedback Ltd.

Dac, pentru a porni una din procedurile de identificare se execut click pe alte butoane n
seciunea IDENTIFICATION, nainte ca parametrii s fi fost ncrcai n prealabil corect, va fi afiat
mesajul din fig.3.1.4 i procedura de identificare se ntrerupe.

Fig.3.1.4. Mesajde atenionare asupra faptului c parametrii nu sunt ncrcai.

3.2. Determinarea coeficientului de frecare fp al pendulului.

n acest scop se blocheaz mecanic cruciorul ntr-un punct arbitrar folosind tampoane
speciale (fig.3.2.1).

Fig.3.2.1. Tampoane de blocare a pendulului.


Sisteme de conducere fuzzy (UPT, 2011)

Apoi, se face click pe butonul Pendulum friction din seciunea IDENTIFICATION a ferestrei
principale de identificare. Procedura de identificare ndrum utilizatorul pas cu pas pentru derularea
procedurii / identificrii.
Se ridic pendulul la /9 (circa 20 de grade fa de poziia stabil inferioar). Se elibereaz
pendulul; dac se face click pe butonul Check Angle se afieaz valoarea curent a unghiului
pendulului.

Fig.3.2.2. Fereastra de verificare a unghiului.

Executnd click pe butonul START se asigur continuarea identificrii. Pe ecran apare


fereastra din fig.3.2.3; coninutul acesteia confirm procedura care dureaz mai puin de dou minute.
n ultim instan este vorba de un sistem mecanic care poate fi descris cu mare aproximaie
de un model liniarizat de ordinul doi. Sistemul odat adus n oscilaie (prin scoaterea din punctul de
echilibru) au loc oscilaii amortizate n jurul punctului de echilibru, din nregistrarea i prelucrarea
crora se obine valoarea coeficientului de frecare fp.

Fig.3.2.3. Lansarea algoritmului de determinare a lui fp.

n continuare, utilizatorul este informat asupra faptului c achiziia de date a nceput.


Algoritmul ncepe cu valoarea default (de nceput) a parametrilor modelului. Pendulul oscileaz iar
datele se colecioneaz pentru a calcula coeficienii de frecare. Apare urmtoarea fereastr (fig.3.2.4):

Fig.3.2.4. Mesaj de atenionare c identificarea este n rulare.

Pentru a ncepe achiziia i prelucrarea datelor de ctre algoritm, sunt necesare cel puin opt
oscilaii. Dac pendulul nu se mic / (nu sunt observate oscilaii) procesul de identificare este
ntrerupt i apare mesajul din fig.3.2.5; ca efect procesul de identificare trebuie reluat.

Fig.3.2.5. Mesaj de atenionare asupra oscilaiilor neobservate.

Algoritmul de identificare i mparte timpul de execuie ntre achiziia de date i calculul


parametrilor. Se pot delimita urmtoarele aciuni:
Sisteme de conducere fuzzy (UPT, 2011)

- calculul valorii medii T a perioadei de oscilaie liber a pendulului se citete din dou
treceri succesive prin zero (fig.3.2.6);
- calculul coeficientului de frecare (amortizare) al pendulului.
A n g le [ra d ]
3 .3

3 .2 5
A 1

3 .2
A n

3 .1 5

3 .1

3 .0 5

3
0 50 100 150 200 250
T im e [s ]
Fig.3.2.6. Oscilaii amortizate ale pendulului.

Coeficientul de amortizare poate fi calculat pe baza valorilor maxime A1, i An dup relaia [3]:
2 A
f p = Jp log 1
(2n 1)T An (3.1)
unde:
fp - coeficientul de amortizare [kgm2/s];
Jp - momentul de inerie al pendulului [kgm2];
n - numrul maximelor locale;
T - perioada de oscilaie a pendulului[s];
A1 , An - maxime locale, dup una respectiv n oscilaii;

Dup ce achiziia de date s-a terminat, pe ecran apare mesajul (fig.3.2.7):

Data acquisition - finished

Fig.3.2.7. Mesaj de sfritul achiziiei de date

Graficul celor mai importante date este creat automat de programul de identificare (a se vedea
fig.3.2.8).
Sisteme de conducere fuzzy (UPT, 2011)

Pendulum angle
3.4

Angle [rad]
3.2

0 20 40 60 80 100 120
Time [s]

3.346
Angle [rad]

3.344
3.342
3.34
3.338
102 103 104 105 106 107 108 109 110
Begining Time [s] End
3.4 3.4
Angle [rad]

Angle [rad]
3.2 3.2

3 3

0 0.5 1 1.5 2 117 118 119


Time [s] Time [s]

Fig.3.2.8. Fereastra grafic relativ la datele pendulului.

La sfritul identificrii apare urmtorul mesaj (fig.3.2.9) de terminare a determinrii valorilor


parametrilor:

Fig.3.2.9. Mesaj de sfrit al identificrii parametrilor.

3.2.1. Testul calitii traductoarelor


Amplitudinile oscilaiilor pendulului sunt prezentate n fig.3.2.8. Datorit preciziei finite a
dispozitivelor de msur (traductoarele), valorile maxime locale colectate sunt distinse ca diferite
doar dup 45 oscilaii. Acest lucru este de remarcat n al doilea grafic al fig.3.2.8. Traductorul de
unghi are rezoluia de 2048(bii) pe 2[rad]:
n acest context, rezoluia minim este:
2
= = 0.00306796
2048 (rad) (3.2.1)

Rezoluia este vizibil i din graficul al III-lea. nregistrrile pentru dou puncte intitulate
Beginning i End prezint maximele locale {A1, An}necesare pentru calculul coeficientului fp.

3.3. Determinarea forei minime necesare micrii cruciorului

Aceast parte a procedurii de identificare este folosit pentru a detecta fora minim FS
necesar scoaterii cruciorului din starea de repaus. Pentru rularea acestei pri a programului de
identificare se face click butonul Try to move the cart n fereastra de identificare principal. Apare
urmtoarea fereastr de dialog (fig.3.3.1):
Sisteme de conducere fuzzy (UPT, 2011)

Fig.3.3.1. Fereastra de setare a parametrilor pentru crucior.

Se introduce valoarea forei, aceasta fiind valoarea iniial n fiecare pas i numrul
experimentelor (micri ale cruciorului). Pentru a mica cruciorul de la stnga spre dreapta se face
click pe butonul L to R, iar pentru direcia opus se apas R to L.
Experimentul consist din urmtorii pai:
dac apare mesajul din fig.3.3.2, se mic cruciorul ntr-o poziie nou sau se las
nemicat.

Fig.3.3.2. Mesaj de poziionare a cruciorului n urmtoarea poziie.

n pasul urmtor apare mesajul din fig.3.3.3; se ateapt puin pn cnd algoritmul
mrete fora de traciune i detecteaz poziia cruciorului.
Dac poziia s-a schimbat cu 5 mm, algoritmul se oprete i mesajul din fig.3.3.3 dispare.

Fig.3.3.3. ncercare de micare a cruciorului.

Dup numrul de pai definit n fereastra din fig.3.3.1 procedura se oprete i apare graficul
din fig.3.3.4. Dreptunghiurile din figur reprezint fora necesar micrii cruciorului dintr-un punct
n alt punct.
Force Minimal force needed to move the cart
0.5

0.4

0.3

0.2

0.1

0
-0.4 -0.2 0 0.2 0.4
Cart position [m]
Fig.3.3.4. Detectarea forei minime.
Sisteme de conducere fuzzy (UPT, 2011)

3.4. Identificarea forei de frecare crucior-in

Acest pas al procedurii de identificare se poate activa numai dac, pasul anterior de
identificare s-a ncheiat cu succes; acest lucru se datoreaz faptului c, cunoaterea valorii medii a
forei minime anterior detectate este esenial n acest pas.

Totodat, acest pas este folosit pentru a detecta i calcula urmtorii coeficieni:
frecarea static a cruciorului;
frecarea dinamic a cruciorului;
U [ 11
,]
coeficientul de proporionalitate M dintre comanda U : realizat de interfaa de
F [ M , M ]
calculator i fora de comanda F, ,

Ecuaia echilibrului forelor ce acioneaz asupra cruciorului este:


Fsf + f c (V0 + at ) = MU mc a
(3.3)
n care:
F=MU [N] fora de comand (3.4)
Fsf - fora de frecare static a cruciorului n micare [kg/s]
Vo - viteza cruciorului la nceputul micrii [m/s]
a - acceleraia cruciorului [m/s2]
t - perioada de aciune a forei de comand F [s]
M - coeficient de proporionalitate (amplitudinea forei) [N]
U - comanda dat de calculator (n u.r.)
mc- - masa cruciorului[kg]
FC=0.1fc [N] coeficientul de frecare coulombian (de micare) (3.5)

Experimentul se refer numai la crucior. n acest context se demonteaz braele pendulului i


se las numai axul pendulului mpreun cu cruciorul. Se demonteaz i opritoarele. Se verific
poziia orizontal a inelor: suprafaa de contact a inelor cu roile trebuie s fie curat, lipsit de praf.
Se opresc restul experimentelor i se pornete motorul de traciune a cruciorului. Se face click pe
butonul Cart friction din fereastra de identificare principal pentru nceperea experimentului. Dac
ncrcarea parametrilor a avut cu succes, apare urmtoarea fereastr de dialog (fig.3.4.1):

Fig.3.4.1. Mesaj de verificare a forei minime.

Se fixeaz valoarea forei de traciune. Dac se dorete modificarea ei, se introduce noua
valoare n fereastra de editare. Se apas apoi pe OK, aprnd urmtorul mesaj (fig.3.4.2):

Fig.3.4.2. Pregtire poziie crucior pentru identificare.


Sisteme de conducere fuzzy (UPT, 2011)

Se deplaseaz manual cruciorul la captul din stnga a inelor nedepind contactul limitator.
Se face click pe butonul OK pentru a continua identificarea. Apare mesajul din fig.3.4.3.
Aceast parte a identificrii se compune din trei experimente identice. La toate cele trei
experimente fora de comand este crescut monoton i se colecteaz datele de micare ale
cruciorului. Utilizatorul particip interactiv la acest proces, micnd cruciorul manual n poziia
iniial acceptnd mesajul (fig.3.4.2). Pe parcursul fiecrui experiment apare urmtoarea fereastr
(fig.3.4.3):

Fig.3.4.3. Mesaj de atenionare asupra faptului c fora de frecare crucior-in este n curs de
msurare.

La sfritul acestor experimente se traseaz curbele poziiei cruciorului (fig.3.4.4).


Position [m] Cart position
-0.32
-0.34
Force ON
-0.36
-0.38
Force OFF
-0.4
-0.42
0 0.1 0.2 0.3 0.4 0.5
Time [s]
Position [m] Cart position
-0.15
-0.2
-0.25
-0.3
-0.35
-0.4
0 0.2 0.4 0.6 0.8
Time [s]
Position [m] Cart position
0.2

-0.2

-0.4
0 0.2 0.4 0.6 0.8 1 1.2
Time [s]
Fig.3.4.4. Graficul micrii cruciorului.

Toate graficele ilustreaz micarea cruciorului pentru valori cresctoare ale forei de
comand. n final se comunic ncheierea experimentului de identificare a frecrii (fig.3.4.5).
Sisteme de conducere fuzzy (UPT, 2011)

Fig.3.4.5. Mesaj de informare asupra sfritului identificrii frecrii.

Din curba de rspuns a cruciorului n funcie de timp, programul determin valoarea


coeficientului de frecare. Fiind vorba de un sistem de ordinul doi, valoarea coeficientului de frecare
se poate determina relativ simplu. Relaia exact utilizat nu este nc dat n program.

3.5. Identificarea zonelor de insensibilitate DZcv, DZpv

Acest pas al procedurii de identificare permite determinarea valorii minime necesar vitezei
cruciorului pentru ca micarea acestuia s poat fi observat, respectiv a valorii minime necesar
pentru viteza unghiular a pendulului, limit sub care influena oscilaiilor pendulului asupra micrii
cruciorului nu mai poate fi observat. Dac pasul anterior a fost identificarea frecrii pendulului,
nainte de nceperea procesului se remonteaz opritoarele. Pentru a porni experimentul se face click
pe butonul Dead zone experiment din fereastra de identificare principal (fig.3.1).
La nceput apare mesajul:

Fig.3.5.1 Lansare algoritm.

Apoi se mut cruciorul n centrul suportului i se confirm mesajul:

Fig.3.5.2. Deplasare crucior la mijloc.

Dup aceasta se ridic pendulul n poziia orizontal de /2, i se las liber s oscileze
simultan cu acceptarea urmtorului mesaj (fig.3.5.3):

Set pendulum angle to horizontal position and press OK !

Fig.3.5.3. Poziionare pendul.

Dac unghiul la care s-a ridicat pendulul este mult prea mic, atunci sub aciunea oscilaiilor
pendulului cruciorul nu se va mica i apare mesajul de eroare a procedurii de identificare dat n
fig.3.5.4.
Sisteme de conducere fuzzy (UPT, 2011)

Fig.3.5.4. Mesaj de atenionare: cruciorul nu se mic.

DZcv i DZpv sunt valorile minime ale rspunsurilor vitezelor cruciorului i pendulului, care
sunt citite de calculator ca limi ale vrfurilor n curbele de rspuns. Rezultatele apar n fig.3.5.5.
C art velocity
0.01

0.005
[m/s]

-0.005

-0.01
11.4 11.6 11.8 12 12.2 12.4 12.6 12.8 13
Tim e [sec]
P endulum velocity
10

5
[rad/s]

-5

-10
11.4 11.6 11.8 12 12.2 12.4 12.6 12.8 13
Tim e [sec]

Fig.3.5.5. Evidenierea zonelor de insensibilitate ale vitezelor cruciorului i pendulului.

3.6. Rspunsul pendulului la semnal impuls

n acest pas al identificrii se determin rspunsul sistemului pendul-crucior la un semnal


impuls de durat i amplitudine specificate. Pendulul trebuie s fie montat pe crucior. naintea
nceperii se apas Stop practical din fereastra principal, i apoi se cupleaz motorul.
La nceput se apas Impulse excitation din fereastra principal (fig.3.1). Cruciorul poate fi
oriunde pe suport, dar pendulul trebuie s fie n poziia de jos, iar sistemul n repaus. Apare fereastra
(fig.3.6.1):

Fig.3.6.1. Setarea parametrilor impulsului.


Sisteme de conducere fuzzy (UPT, 2011)

Aici se definesc durata i amplitudinea impulsului comenzii (forei). Valoarea amplitudinii


poate fi cuprins n intervalul [Umin, 1], unde Umin este valoarea minim necesar micrii cruciorului
(se constat experimental). Durata impulsului comenzii trebuie s fie mai scurt de 1 sec. Procedura
folosete iniial valorile:
amplitudinea U= 0.6
durata t = 0.3 sec;
Fig.3.6.2 prezint rezultatele excitrii printr-un impuls cu amplitudinea U = 0.6 i durata t
= 0.7 0.4 = 0.3 sec: ca efect pendulul oscileaz.
C a rt p o sitio n

0 .1 5

0 .1
[m]

0 .0 5

0
0 .4 0 .5 0 .6 0 .7 0 .8 0 .9
P e nd ulum a ng le

3 .4
3 .2
[rad]

3
2 .8
0 .5 1 1 .5 2
C o ntro l
1

0 .5

0
0 .4 0 .5 0 .6 0 .7 0 .8 0 .9
Tim e [se c]

Fig.3.6.2. Rezultatele excitrii prin impuls.

Informaiile obinute sunt utilizate n corectarea datelor de identificare.

3.7. Rezultatele procesului de identificare a sistemului pendul invers

Se apas RESULTS din fereastra de identificare principal pentru a vizualiza valorile tuturor
parametrilor pendulului. Dac programul de identificare nu s-a rulat pe ecran apare mesajul din
fig.3.7.1.

Fig.3.7.1. Nu exist rezultate de identificare.


Sisteme de conducere fuzzy (UPT, 2011)

Fig.3.7.2. Parametrii sistemului.

Dac procesul de identificare s-a ncheiat cu succes se obine o fereastr cu valorile tuturor
parametrilor sistemului (fig.3.7.2). Apsnd OK, toi parametrii se salveaz n fiierul pendpar.m.
Dac se manifest erori n scrierea fiierului, apare mesajul de eroare din fig.3.7.3:

Fig.3.7.3. Eroare n scrierea pendpar.m.

Lista parametrilor sistemului pendul-crucior este prezentat n tabelul 3.7.1.

Tabelul 3.7.1 Lista cu numele i unitile de msur ale tuturor parametrilor [3].
Name Description Unit
Mc Cart mass [kg]
mc- Cart mass without positioners for pendulum [kg]
mps Pole mass [kg]
mpw load mass [kg]
Rl rail length [m]
Lp length of pole [m]
lpo distance between centre of pole mass and rotation [m]
axis
Sisteme de conducere fuzzy (UPT, 2011)

Lc length of load [m]


lco distance between centre of load mass and rotation [m]
axis
FS cart static friction [N]
FC cart dynamic friction coefficient [kg/s]
M maximal force [N]
Dzu minimal force to move a cart [N]
DZcv dead zone of cart velocity [m/s]
DZpv dead zone of pendulum velocity [rad/s]
Fp Pendulum friction constant [kgm2/s]
T Pendulum period [s]
Jp moment of inertia related to the axis of rotation [kgm2]
J moment of inertia related to the mass centre [kgm2]
L distance between axis of pendulum rotation and the [m]
centre of pendulum-cart mass
Dac se ruleaz pendpar.m ,valorile tuturor parametrilor identificai se vor ncrca n spaiul
de lucru MATLAB.
Un exemplu de parametri identificai i msurai este dat n tabelul 3.7.2.

Tabelul 3.7.2. Valorile tuturor parametrilor identificai (exemplu).


Parametru Valoare Unitate de
msur
mc 1.120 [kg]
mc- 1.045 [kg]
mps 0.025 [kg]
mpw 0.095 [kg]
Rl 1.000 [m]
lp 0.402 [m]
lpo 0.146 [m]
lc 0.041 [m]
lco 0.347 [m]
FS 3.0 [N]
FC 2.0 [kg/s]
M 10.500 [N]
DZu 1.0 [N]
DZcv 0.080 [m/s]
DZpv 6.800 [rad/s]
fp 2.1e-5 [kgm2/s]
T 1.160 [s]
Jp 0.012322 [kgm2]
J 0.011966 [kgm2]
L 0.017066 [m]

3.8. Verificarea rezultatelor identificrii i adaptarea parametrilor

n cadrul parametrilor procesului condus se disting:


un grup de parametri msurai: mc, mc-, mp, Rl i L.
un grup de parametri care se calculeaz pe baza msurtorilor: J i l.
Ceilali parametri rmai ai sistemului pot fi identificai numai experimental. O parte din
aceti parametri pot fi identificai foarte exact, de exemplu:
FS, Dzcv, Dzpv, fp i T. (de exemplu, perioada de oscilaie T este obinut cu mare precizie).
n schimb, parametrii ca frecarea Coulomb (FC), zona de insensibilitate a comenzii Dzu i
modulul maxim al comenzii (M) sunt doar aproximativ identificabili.
Datorit caracterului puin exact al acestor parametri, se poate lua n considerare doar o
valoare medie a parametrilor determinai ntr-un numr de experimente succesive.
Sisteme de conducere fuzzy (UPT, 2011)

n aceast situaie trebuie verificate rezultatele obinute cu ajutorul altor experimente de


identificare independente. Aceste experimente se execut att asupra modelului de simulare, ct i
asupra sistemului real n acelai mod. Schema experimentului real i a celui simulat este reprezentat
n fig.3.8.1.
Se ruleaz urmtoarele dou proceduri / experimente:
1. excitare prin impuls ;
2. conducere n bucl nchis cu regulator de tip P i excitare cu semnal dreptunghiular;
Se poate utiliza generatorul de impulsuri (a se vedea fig.3.8.2) sau regulatorul de tip
proporional P. Se poate utiliza reglarea cruciorului.
Parametrii modelului de simulare sunt setai aa cum au fost determinai anterior prin
procedeul de identificare. Parametrii slab identificabili FS, FC, M sunt tratai ca parametrii iniiali ai
experimentului. Se aplic o metod de optimizare parametric pentru a gsi setul cel mai adecvat de
parametri. Funcia obiectiv a procedurii de optimizare este ptratul diferenei dintre rspunsul
tranzitoriu al modelului real i cel simulat.
F S ,F C ,M

S im ula tio n
model
-
e rro r
S igna l o p tim iz a tio n
G e ne ra to r

R eal
s y s te m

Fig.3.8.1. Adaptarea parametrilor obinui din experimentul simulat la experimentul real.

Primul experiment

Prin program se poate modifica valoarea funciei de frecare prin ajustarea parametrilor FS,
FC, Xc, Yc.
Rezultatele acordrii realizate n modelul simulat din fig.3.8.1 sunt verificate n raport cu
rezultatele obinute de la modelul real. Rspunsurile sistemului real apar n fig.3.8.3 i 3.8.4.
Datele de adaptare sunt obinute prin apsarea butonului Impulse excitation din fereastra
principal (fig.3.1).
Se poate observa o similaritate ntre curba poziiei cruciorului n ambele modele (fig.3.6.2 i
fig.3.8.3):
Sisteme de conducere fuzzy (UPT, 2011)

Mux

Des. and Cart Pos

Cart Position
pi

m
Pendulum angle
Pulse
Generator
Dynamics
Cart velocity

PENDULUM-CART SYSTEM
Impulse excitation Pendulum velocity

Fig.3.8.2. Schem Simulink aferent excitrii SPI cu impulsuri model_ie.m.

Cart position [m], Pulse excitation 5.5 [N]


0.14

0.12

0.1

0.08

0.06

0.04

0.02

0
0.9 1 1.1 1.2 1.3 1.4 1.5 1.6
Time [s]
Fig.3.8.3. Poziia cruciorului n funcie de timp.
Sisteme de conducere fuzzy (UPT, 2011)

Pendulum angle [rad],Pulse excitation 5.5 [N]


3.6

3.5

3.4
3.3

3.2

3.1

3
2.9

2.8

2.7
0.8 1 1.2 1.4 1.6 1.8 2 2.2
Time [s]
Fig.3.8.4. Unghiul pendulului n funcie de timp.

Al doilea experiment

Aceste experiment se refer la utilizarea unui regulator de poziie de tip P i semnal de


excitaie dreptunghiular aplicat sistemului. Rezultatele acordrii modelului simulat din fig.3.8.6. sunt
n concordan cu cele obinute de la sistemul real din fig.3.8.5.

Fig.3.8.5. Rspunsul sistemului real condus cu regulator de tip P.

Au fost alese urmtoarele valori pentru parametri:


- regulator P, cu coeficientul de transfer kR = Kp=2;
- semnal de excitaie dreptunghiular de frecven 0.3 [rad/s] i amplitudine 0.17,
amplitudinea forei fiind limitat la [0.8];
Sisteme de conducere fuzzy (UPT, 2011)

Se observ similaritate ntre variaia poziiei n ambele sisteme (simulat/real).


Parametrii modificai obinui n maniera prezentat mai sus se prezint n tabelul 3.8.1.
Comparaiile fcute ntre datele din tabelul 3.7.2 i tabelul 3.8.1 arat c, reacordarea/ redeterminarea
parametrilor slab identificai este absolut necesar.
Modelul de simulare identificat va fi folosit n dezvoltarea RG pentru diverse structuri de
reglare, inclusiv structura de reglare cu regulator fuzzy.
Observaie: Se menioneaz faptul c identificarea sistemului pendul-crucior se poate face i
n alt manier, incluznd mai multe date statistice, prelucrate prin metoda celor mai mici ptrate sau
alte metode. n acest caz, ns, numrul experimentelor necesare este mai mare [3].

Fig.3.8.6. Rspunsul modelului simulat n cazul utilizrii unui regulator de tip P.

Tabelul 3.8.1. Valorile tuturor parametrilor msurai i identificai.


Parametru Valoare Unitate de
msur
mc 1.120 [kg]
mc- 1.045 [kg]
mpw 0.095 [kg]
mps 0.025 [kg]
Rl 1.000 [m]
lp 0.402 [m]
lpo 0.146 [m]
lc 0.041 [m]
lco 0.347 [m]
FS 3.2 [N]
FC 2.3 [kg/s]
M 11.300 [N]
Dzu 1.5 [N]
DZcv 0.080 [m/s]
Sisteme de conducere fuzzy (UPT, 2011)

DZpv 6.800 [rad/s]


fp 2.1e-5 [kgm2/s]
T 1.160 [s]
Jp 0.012322 [kgm2]
J 0.011966 [kgm2]
L 0.017066 [m]

3.9. Adaptarea valorilor lui Jp i fp pe baz de experiment

Pentru pornirea procesului de adaptare a valorilor calculate pentru parametrii Jp i fp ai


modelului, se activeaz Jp & fp Optimization.
Procesul de adaptare se desfaoar pe baza unei proceduri de optimizare prezentat in cele ce
urmeaz.
Legturile ntre mrimile a,b, Jp i fp sunt redate de relaiile (3.6) ... (3.8):
mgr fp
a= b=
Jp Jp
(3.6)
respectiv:
mgr
Jp = f p = J p b
a (3.7)

Funcia obiectiv (funcia cost) este definit ca:


Q= ( y y m ), ( y y m ) (3.8)
unde:
y - vectorul care aproximeaz traiectoria unghiului pendulului. Relaia exact a dependenei
unghiului de timp este dat de ecuaia
y = t1 sin( y ) t 2 y& , unde t 2 , t1 sunt momente de
&&

timp succesive t 2 = t1 + t , ( t este incrementul de timp),


ym - vectorul traiectoriei msurate a unghiului pendulului.

Fig.3.9.1. Valorile iniiale ale parametrilor aferente nceputului optimizrii.

Se definete un numr de pai de calcul. Se calculeaz a i b. Se introduc valorile de


nceput Parameter a i Parameter b n ferestrele de editare (fig.3.9.1). n fereastra Repetitions se
introduce un numr ntreg care definete numrul de repetri al procedurii de optimizare. n timpul
rulrii procedurii de optimizare apare fereastra de evoluie din fig.3.9.2.

Fig.3.9.2. Starea procedurii de optimizare intern.

Procedura de optimizare are un timp de execuie lung. De aceea n timpul rulrii apar dou
ferestre, reactualizndu-se la fiecare iteraie, artnd c optimizarea este n rulare (fig.3.9.2). Prima
arat starea curent a procedurii de optimizare i conine: parametrul a, parametrul b, funcia obiectiv
i starea procedurii de optimizare (%).
Sisteme de conducere fuzzy (UPT, 2011)

Fig.3.9.3. Valorile parametrilor i starea procedurii de optimizare.

n graficul din fig.3.9.4 apar dou curbe, prima reprezentnd punctele curente ale curbei de
optimizat, iar cealalt reprezentnd rezultatul optimizrii.
Pendulum angle: yellow-pendulum data, red-function
3.5

3.4

3.3

3.2

3.1

2.9

2.8
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
time [s]
Fig.3.9.4. Unghiul pendulului n funcie de timp.

Dup terminarea procedurii de optimizare pe ecran apare graficul din fig.3.9.5.


Pendulum angle: yellow-pendulum data, red-function
3.5

3.4

3.3

3.2

3.1

2.9

Fig.3.9.5. Rezultatele optimizrii.

nainte de a apsa OK pe graficul din fereastra reprezentat n fig.3.9.7, se verific valorile


parametrilor optimizai. Cnd se face click pe OK, fereastra de stare i cea de evoluie dispar.
Rezultatele apar simultan n fereastra de comand MATLAB ca a, b i Q. Parametrii a i b sunt
identificai cu metoda celor mai mici ptrate. Metoda este aplicat ntr-o manier iterativ, mrind
intervalul de timp Tn n iteraii succesive. Valoarea lui Tn este incrementat la 6 oscilaii n toate
dintre iteraiile 1,2,3 i 4. n iteraiile urmtoare Tn este incrementat la fiecare 15 oscilaii. Iteraiile se
repet pn la epuizarea timpului total de observare. Dac valoarea funciei obiectiv din iteraia
curent este mai mare dect cea din iteraia precedent, apare mesajul din fig.3.9.6.
Sisteme de conducere fuzzy (UPT, 2011)

Fig.3.9.6. Mesaj de atenionare a depirii funciei obiectiv.

Dac numrul de reluri este prea mare i procedura de optimizare a terminat evaluarea
datelor, apare mesajul:

Fig.3.9.7. Mesaj de atenionare a epuizrii datelor.

PUNEREA PROBLEMELOR DE REGLARE I MODELELE SIMULINK ASOCIATE

n cadrul acestui capitol sunt prezentate trei modele SIMULINK de baz unul pentru
stabilizarea tijei n poziia de jos pod rulant sau crane problem (C), altul pentru stabilizarea tijei n
poziia de sus pendul invers (echivalent cu problema dirijrii rachetelor) sau reglare self
erecting(SE) i reglare swing-up(SU) [3].

reglare tip pod rulant (C) reglare tip rachet (SE)

reglare tip swing-up (SU)

Fig.4.1. Trei probleme de reglare a sistemului pendul invers (SPI, sistemului crucior-pendul).

Teoretic, funcia de regulator poate fi asigurat att de un operator uman ct i de un


calculator. Un operator uman poate conduce cu succes problema C, dar n cazul SE sau SU acesta
eueaz, de regul aceasta fiind o problem de reglare ce necesit un regulator prea rapid. n plus,
apare ca evident faptul c problemele C i respectiv SE necesit seturi diferite de parametri pentru
acordarea regulatoarelor.
Problemele de reglare sunt descrise n continuare:
1. Reglare C, care este cea mai simpl din punct de vedere al numrului variabilelor de intrare
(una singur); n acest caz singurul obiectiv urmrit este stabilitrea unei referine pentru poziia
cruciorului fr influena altor variabile cum ar fi de exemplu viteza unghiular sau unghiul
pendulului.
2. Reglare SE, se refer la situaia cnd pendulul este n instabilitate n poziia de sus, iar
pentru crucior se urmrete stabilirea poziiei avnd o referin dat.
3. Reglare SU, este o reglare de tip balans unde regulatorul folosete ca intrri unghiul
pendulului i viteza unghiular a acestuia, fiind identic cu problema SE cu deosebirea c pentru
crucior nu exist o referin prestabilit.
Sisteme de conducere fuzzy (UPT, 2011)

Modelele Simulink folosite pentru simularea numeric a comportrii SPI, aferente celor trei
tipuri de probleme, sunt prezentate n fig.4.2, 4.3 i 4.4 [9].

Fig 4.2. Modelul de simulare a comportrii sistemului pendul invers pentru problema C.

Mux

angle position &


desired position
cart velocity

angular velocity

States states
Dynamics Generator
Normalized_control
Normalized_control 0 Generator
(sampled) Mux
Mux of desired position
0
Out1
In1
0
errors scaling for plot
Errors Remember to load fuzzy matrix into
the Fuzzy stabilising controller block
Type:
fismat=readfis ( 'pd_stab' )
Limit Guard
in the Matlab Command Window

Fuzzy stabilising controller


Limiter

Out1 In1

fcontrol
Coulomb Friction &
Reduction of angle
Linear Control Gain
Friction = 0.15 !

Fig 4.3. Modelul de simulare a comportrii sistemului pendul invers pentru problema SE.
Sisteme de conducere fuzzy (UPT, 2011)

position &
angle
desired position
cart
velocity
angular Remember to load
velocity fuzzy matrix into
States
Dynamics the Fuzzy swinging
Mux
control
controller block.
Normalized_control
states
Type:
errors
0 Generator fismat=readfis( 'pd_swing' )
Out1
In1 of desired position
u
scaling 0 in the
Errors for plot Generator Matlab Command Window.
0

Fuzzy swinging controller


Coulomb Friction &
Limit Guard fuzzy_rules
Swinging Control Gain

-1 Out1 In1

Limiter
Upper zone arbiter Reduction of angle

Linear pendulum
lcontrol lpend controller

In1

Out1
Coulomb Friction & lcart Linear cart controller
Linear Control Gain In2

Sum & saturation

Fig 4.4. Modelul de simulare a comportrii sistemului pendul invers pentru problema SU.

CONDUCEREA FUZZY A SISTEMULUI PENDUL INVERS. DEZVOLTAREA I


IMPLEMENTAREA REGULATOARELOR FUZZY

5.1. Generaliti privind conducerea fuzzy

Problematica reglrii/conducerii fuzzy a aprut datorit abordrii realitii care este prin esen
o abordare calitativ i cantitativ, bazat pe o modelare matematica mai putin exact. Pentru aceasta a
fost nevoie s se introduc o nou strategie de conducere bazat pe teoria mulimilor vagi (fuzzy set
teory), care este din acest punct de vedere mai pragmatic, putnd prelua i utiliza o caracterizare
lingvistic a calitii desfurrii procesului, i a adapta aceast caracterizare funcie de cerinele
concrete de desfaurare ale acestuia.
n anumite situaii, cum este de exemplu conducerea proceselor cu neliniariti funcionale
greu modelabile, conducerea fuzzy poate fi o alternativ viabil a conducerii clasice, avnd un
puternic caracter euristic; conducerea fuzzy este bazat pe experiena operatorului uman, experien ce
poate fi modelata mult mai bine prin regulatorul fuzzy, spre deosebire de cel convenional.
Cteva particulariti ale conducerii fuzzy sunt evideniate prin urmtoarele:
conducerea fuzzy se bazeaz pe regulatoare cu caracteristica static (CS) modificabil dup
nevoile proiectantului;
regulatorul fuzzy (RG-F) poate asigura conducerea dup mai multe mrimi, fiind considerat astfel
multivariabil;
regulatorul fuzzy este un element neliniar far dinamic;
RG-F prezint maleabilitate n modificarea caracteristicilor statice intrare-ieire.
Sisteme de conducere fuzzy (UPT, 2011)

Pentru detalii privind mulimile fuzzy i RG-F este recomandat studiul lucrrii [10].

Toate cele trei regulatoare fuzzy dezvoltate i implementate n cadrul lucrrii au urmtoarele
caracteristici comune:
1. Admit n general un numr maxim de patru VL de intrare i o VL de ieire (comanda u);
numrul necesar de VL de intrare este mai redus la unele din regulatoare.
2. Funcioneaz pe baza mecanismului de inferen MAX-MIN a lui Mamdani, adic aparin
clasei de regulatoare fuzzy de tip Mamdani n sensul urmtor:
conectorii I din premiz sunt tratai cu operatorul MIN;
conectorii SAU din premiz sunt tratai cu operatorul MAX;
concluzionarea vag este efectuat prin aplicarea operatorului MIN termenilor lingvistici activai;
agregarea regulilor este efectuat prin aplicarea operatorului MAX;
3. Utilizeaz pentru defuzzificare metoda centrului de greutate.
Pentru dezvoltarea celor trei regulatoare fuzzy n cadrul acestei lucrri, destinate problemelor
C, SE i SU, se utilizeaz principiul echivalenei modale referit n [12]. Conform acestui principiu,
pentru fiecare din cele trei regulatoare fuzzy se egaleaz ieirea regulatorului fuzzy cu ieirea
regulatorului convenional pe care regulatorul fuzzy l aproximeaz, pentru valorile modale ale f.d.ap.
aferente TL ai VL de intrare. Valorile obinute pentru ieirea regulatorului fuzzy vor fi tocmai valorile
modale ale f.d.a.p. aferente TL ai VL de ieire.
Pentru dezvoltarea celor trei RG-F vor fi parcuri urmtorii pai:
se adopt structura de reglare (dup eroare, dup stare etc.);
se proiecteaz un regulator convenional destinat conducerii procesului considerat;
se stabilesc formele i distrubuiile f.d.ap. aferente TL ai VL de intrare pe baza experienei
proiectantului sau unui operator uman n conducerea procesului considerat;
se aplic principiul echivalenei modale n vederea deducerii att a bazelor de reguli ct i a
formelor i distribuiei f.d.ap. aferente TL ai VL de ieire;
se aleg ceilali parametri liberi ai RG-F (din modulul de inferen i defuzzificare) pe baza
experienei proiectantului sau unui operator uman n conducerea procesului considerat.

5.2. Dezvoltarea regulatoarelor fuzzy pentru cele trei probleme de reglare

5.2.1. Problema Crane (C)


Aceast problem este cea mai simpl deoarece singura ieire reglat este poziia cruciorului,
regulatorul fuzzy fiind dezvoltat i implementat n cele ce urmeaz. Problema de reglare este definit
n felul urmtor: conducerea cruciorului din orice poziie iniial, i fr a intra n limitri la
capetele inei, ntr-o poziie final dorit fr a influena micarea pendulului.
Pentru a dezvolta RG-F aferent problemei Crane se parcurg paii prezentai n paragraful
anterior.
n acest scop, se ncepe cu liniarizarea MM-ISI aferent PC din cadrul SPI n vecintatea
punctului de echilibru care se refer la poziia inferioar a pendulului. Aplicnd comanda Matlab
linmod rezult MM ISI liniarizat exprimat sub forma:
dx
= Ax + bu
dt
y = cTx +du ,
unde dim A = 4 4, dim B = 4 1, cT = [1 0 0 0], x = [x1 x2 x3 x4]T , iar mrimile de interes sunt:
variabilele de stare:
x1 poziia cruciorului;
x2 viteza cruciorului;
x3 poziia pendulului;
x4- viteza pendulului;
u comanda elaborat de regulator;
y ieirea reglat.
Se aplic, deci, din linia de comand Matlab:
>> [As, Bs, Cs, Ds]=linmod('model',[0,pi,0,0],0);
i se obine:
As =[0 0 1.0000 0
Sisteme de conducere fuzzy (UPT, 2011)

0 0 0 1.0000
0 0.6111 -34.9727 0.0001
0 -43.4213 145.7195 -0.0054]

Bs = [0
0
9.1803
-38.2514]
Cs =[1 0 0 0
0 1 0 0
0 0 1 0
0 0 0 1]

Ds = [ 0
0
0
0]

Apoi, din MM ISI poate fi dedus imediat expresia funciei de transfer aferente procesului
condus (PC, canalului u -> y) sub forma:
Hy,u(s)=cT(sI-A)-1b=B(s)/A(s),
obinut cu comanda Matlab ss2tf aplicat matricelor obinute anterior (cT este prima linie a matricei
Cs):

>> [num,den]=ss2tf(As,Bs,Cs(1,:),Ds,1)

Rezult:

[0 0 9.1803 0.047 379.2459


0 0 -38.2514 0 0
num = 0 9.1803 0.047 375.2459 0
0 -38.2514 0 0 0]

den = 1.0e+003*
[0.001 0.035 0.0436 1.4295 0] .

Prin urmare: B(s) = 9.1803s2 + 0.047s + 379.2459 ;


A(s) = s4 + 35s3 + 43.6s2 + 1429.5s .

Pentru conducerea PC n problema Crane se propune pentru nceput un regulator convenional


de tip proporional (RG-P) cu coeficientul de transfer kR rezultnd schema bloc a sistemului de reglare
automat convenional (SRA-c) conform fig.5.2.1.

e u v
w kkRR PC
(SPI) y

-y

Fig.5.2.1. Schema bloc aferent SRA cu RG-P pentru problema Crane.


Sisteme de conducere fuzzy (UPT, 2011)

Funcia de transfer a sistemului deschis are expresia:


9.1803s2 + 0.047s + 379.2459
H0(s) = kR Hy,u(s) = kR
s4 + 35s3 + 43.6s2 + 1429.5s
Efectund o proiectare n domeniul frecven (de exemplu, [4]), prin impunerea unei rezerve
de faz r=600 rezult caracteristicile logaritmice de pulsaie prezentate n fig.5.2.2 pentru kR = 100.
Aceste caracteristici au fost obinute prin utilizarea comenzii Matlab bode, aplicat astfel:
>> bode(kR*num,den)

Fig.5.2.2. Caracteristicile logaritmice de pulsaie aferente sistemului deschis cu proces liniarizat i


RG-P.

O prim variant de regulator fuzzy aferent problmei Crane este dezvoltat pornind de la
structura din fig.5.2.1 i asigur un regulator fuzzy care reprezint de fapt un element de tip P cu
coeficient de transfer dependent de punctul de funcionare. Rezult structura SRA-RG-F din fig.5.2.3,
ns cu e = w y.

v
PC
w e -1 -e RG-F y
(SPI)
RG- u
F

Fig.5.2.3. Schema bloc aferent SRA-RG-F pentru problema Crane.

Regulatorul fuzzy (RG-F) din fig.5.2.3 este caracterizat printr-o VL de intrare, position
(poziia cruciorului) e = x1 w (e = w x1 eroarea de reglare de poziie), cu apte TL avnd
funcia de apartenen de tip gaussian cu forma din fig.5.2.4 (prima reprezentare) i o VL de ieire
control (comanda) u, cu nou TL avnd funcii de apartenen de tip triunghiular cu forma din
fig.5.2.4 (a doua reprezentare).
Sisteme de conducere fuzzy (UPT, 2011)

NB NM NS ZE PS PM PB
1

0.8

0.6

0.4

0.2

-1 -0.8 -0.6 -0.4 -0.2 0 0.2 0.4 0.6 0.8 1


poziie

NVB NB NM NS ZE PS PM PB PVB
1

0.
8

0.
6

0.
4

0.
2

-1 - - - - 0 0. 0. 0. 0. 1
08 06 04 0 2 control 2 4 6 8
Fig.5.2.4. Funciile de apartenen ale TL ai VL aferente RG-F pentru problema Crane.

Semnificaiile termenilor lingvistici sunt cele acceptate pe larg n literatur (de exemplu, [2],
[10], [11], [12]).
Pentru stabilirea formei f.d.ap. aferente TL ai VL de ieire control (comanda u) a fost aplicat
principiul echivalenei modale abordat n [12].
Baza de reguli a RG-F este obinut applicnd acelai principiu, care urmrete nlocuirea RG-
P (avnd coeficientul de transfer kR calculat) prin regulatorul fuzzy descris, cu o intrare i o ieire.
Rezult astfel regulile de reglare fuzzy sintetizate sub forma tabelului de decizie aferent RG-F,
prezentat n tabelul 5.2.1.
Sisteme de conducere fuzzy (UPT, 2011)

Tabelul 5.2.1. Tabelul de decizie aferent RG-F pentru problema Crane.


e NB NM NS ZE PS PM PB

U PVB PB PS ZE NS NB NVB

Mecanismul de inferen din cadrul RG-F funcioneaz pe baza inferenei MAX-MIN a lui
Mamdani.
Pentru defuzzificare se utilizeaz metoda centrului de greutate [10]. Aceast metod este cel
mai des utilizat n practic fiind cunoscut sub diferite variante, constnd n determinarea valorii
ferme pentru mrimea de ieire (comanda u ) cu luarea n considerare a tuturor influenelor obinute
din regulile activate de starea particular a intrrilor la un moment dat. Avantajele metodei constau n
urmtoarele:
toate regulile activate particip la realizarea comenzii ferme;
domeniul u poate fi sau este un domeniu compact (u este continual).
n anexa 1 pot fi urmrite aspecte generale privind dezvoltarea i implementarea RG-F
utiliznd mediul Matlab-Simulink.
Pentru efectuarea simulrii numerice a comportrii SRA-RG-F dezvoltat i a expermentului
practic de conducere a SPI, se poate da urmtoarea comand din fereastra de comenzi MATLAB:
>>fuzzy pd_crane
n urma acestei comenzi, se deschide fereastra FIS Editor pd_crane (fig.5.2.5),de unde se pot
modifica sau vizualiza parametrii regulatorului fuzzy n problema Crane.

Fig.5.2.5. Fereastra pd_crane; editorul FIS.

Urmeaz comanda:
>>a=readfis(pd_crane)
Prin aceast comand, n variabila a se memoreaz variabila de tip fis corespunztoare
fiierului pd_crane.fis. Prin comanda:
>>plotfis(a)
Sisteme de conducere fuzzy (UPT, 2011)

sunt prezentate proprietile RG-F pentru problema Crane ilustrate sub forma structurii RG-F din
fig.5.2.6.

pos ition (7)

P d rane
c

angle (5) (m am dani)

7 rules
c ontrol (9)
veloc ity (5)

ang el (3)
v

S y s tem P d rane: 4 inputs , 1 outputs , 7 rules


c

Fig.5.2.6. Structura regulatorului fuzzy pentru problema Crane.

Se poate vedea c regulatorul fuzzy (altfel spus, sistemul de inferen fuzzy, fuzzy inference
system, FIS) pd_crane are patru VL de intrare, o VL de ieire i o baz de reguli de reglare fuzzy
coninnd apte reguli. Din cele nou funcii de apartenen aferente TL ai VL de ieire se utilizeaz
doar apte. Pentru aceast variant de RG-F se utilizeaz doar prima VL de intrare (poziia
cruciorului).
Prin comanda Matlab:
>>showfis(a)
apar urmtoarele informaii legate de RG-F aferent problemei Crane:
1. Name Pd_crane
2. Type mamdani
3. Inputs/Outputs [4 1]
4. NumInputMFs [7 5 5 3]
5. NumOutputMFs 9
6. NumRules 7
7. AndMethod min
8. OrMethod max
9. ImpMethod min
10. AggMethod max
11. DefuzzMethod centroid
12. InLabels position
13. angle
14. velocity
15. ang_vel
16. OutLabels control
17. InRange [-1 1]
18. [-3.142 3.142]
19. [-1 1]
20. [-5 5]
21. OutRange [-1 1]
22. InMFLabels NS
23. ZE
24. PS
25. PB
26. NB
27. NM
Sisteme de conducere fuzzy (UPT, 2011)

28. PM
29. mf1
30. mf2
31. mf3
32. mf4
33. mf5
34. v_m_1
35. V_center
36. v_p_1
37. v_m_2
38. v_p_2
39. mf1
40. mf2
41. mf3
42. OutMFLabels PS
43. NS
44. PM
45. NM
46. NVB
47. PVB
48. ZE
49. PB
50. NB
51. InMFTypes gaussmf
52. gaussmf
53. gaussmf
54. smf
55. zmf
56. gaussmf
57. gaussmf
58. trapmf
59. trapmf
60. trapmf
61. trapmf
62. trapmf
63. trimf
64. trimf
65. trimf
66. trapmf
67. trapmf
68. gbellmf
69. gbellmf
70. gbellmf
71. OutMFTypes trimf
72. trimf
73. trimf
74. trimf
75. trapmf
76. trapmf
77. trimf
78. trimf
79. trimf
80. InMFParams [-0.1 -0.2 0 0]
81. [0.1 0 0 0]
82. [0.1 0.2 0 0]
83. [0.3 0.7 0 0]
84. [-0.7 -0.3 0 0]
85. [-0.06 -0.4 0 0]
86. [0.06 0.4 0 0]
Sisteme de conducere fuzzy (UPT, 2011)

87. [-4.555 -3.299 -2.985 -1.728]


88. [-2.985 -1.728 -1.414 -0.1571]
89. [-1.414 -0.1571 0.1571 1.414]
90. [0.1571 1.414 1.728 2.985]
91. [1.728 2.985 3.299 4.555]
92. [-0.5 -0.25 0 0]
93. [-0.25 0 0.25 0]
94. [0 0.25 0.5 0]
95. [-5 -5 -0.5 -0.25]
96. [0.25 0.5 5 5]
97. [2.5 2.5 -5 0]
98. [2.5 2.5 -5.551e-017 0]
99. [2.5 2.5 5 0]
100. OutMFParams [0 0.25 0.5 0]
101. [-0.5 -0.25 0 0]
102. [0.25 0.5 0.75 0]
103. [-0.75 -0.5 -0.25 0]
104. [-5 -5 -1 -0.75]
105. [0.75 1 5 5]
106. [-0.25 0 0.25 0]
107. [0.5 0.75 1 0]
108. [-1 -0.75 -0.5 0]
109. RuleList [2 0 0 0 7 1 1]
110. [3 0 0 0 2 1 1]
111. [1 0 0 0 1 1 1]
112. [7 0 0 0 9 1 1]
113. [6 0 0 0 8 1 1]
114. [4 0 0 0 5 1 1]
115. [5 0 0 0 6 1 1]
n tabelul 5.2.2 este ilustrat n format verbose baza de reguli corespunztoare RG-F aferent
problemei Crane.

Tabelul 5.2.2. Baza de reguli corespunztoare RG-F aferent problemei Crane.


Verbose form

1. If (position is ZE) then (control is ZE) (1)


2. If (position is PS) then (control is NS) (1)
3. If (position is NS) then (control is PS) (1)
4. If (position is PM) then (control is NB) (1)
5. If (position is NM) then (control is PB) (1)
6. If (position is PB) then (control is NVB) (1)
7. If (position is NB) then (control is PVB) (1)

Caracteristica static (CS) generalizat intrare-ieire aferent RG-F dezvoltat pentru problema
Crane este ilustrat n fig.5.2.7.
Sisteme de conducere fuzzy (UPT, 2011)

0.5

c ontrol
0

-0.5

-1 0
-0.5
0 -2
0.5
1 angle
position

Fig 5.2.7. CS generalizat intrare-ieire pentru RG-F aferent problemei Crane.

5.2.1.1. Simularea numeric a comportrii SPI


n acest subparagraf este descris simularea numeric a comportrii SPI pentru problema
Crane, avnd ca referin (w) diferite tipuri de semnale. Regulatorul fuzzy folosit n acest mod
urmrete doar micarea cruciorului, fr a fi influenat de dinamica pendulului. Pentru aceasta se
deschide modelul de simulare din fereastra principal pd_fuzzy, nu nainte de comanda Matlab:
>>fismat=readfis(pd_crane)
Se alege poziia dorit (mai precis semnalul pentru reprezentarea dorit a poziiei) i valorile
iniiale pentru variabilele de stare. Dac se consider c referina de poziie w este reprezentat printr-
un semnal dreptunghiular (fig.5.2.8 reprezentarea cu linie continu), atunci rezultatele simulrii
(poziia cruciorului i poziia dorit, viteza cruciorului,unghiul pendulului, viteza acestuia precum
i comanda regulatorului) sunt prezentate n fig.5.2.8, 5.2.9, 5.2.10, 5.2.1, 5.2.12.

Fig 5.2.8. Poziia cruciorului precum i referina de poziie a acestuia.


Sisteme de conducere fuzzy (UPT, 2011)

Fig.5.2.9. Viteza cruciorului funcie de timp.

Fig 5.2.10. Unghiul pendulului n funcie de timp.


Sisteme de conducere fuzzy (UPT, 2011)

Fig.5.2.11. Viteza unghiular a pendulului n funcie de timp.

Fig.5.2.12. Comanda elaborat de regulatorul fuzzy n funcie de timp.


Sisteme de conducere fuzzy (UPT, 2011)

Fig 5.2.13. Modelul Simulink aferent SRA-RG-F pentru problema Crane cu evidenierea punctelor de
unde se face citirea valorilor referinei.

Dac mrimea de referin este de form sinusoidal, comportarea SRA-RG-F va fi similar


cazului precedent, singura diferen constnd n modul de reprezentare a mrimilor. Pentru situaia de
fa, reprezentrile grafice corespunztoare poziiei, vitezei, unghiului pendulului i vitezei unghiulare
sunt vizibile n fig.5.2.14, 5.2.15, 5.2.16, 5.2.17.

Fig 5.2.14. Poziia cruciorului pentru cazul n care referina este de form sinusoidal.
Sisteme de conducere fuzzy (UPT, 2011)

Fig.5.2.15. Viteza cruciorului n funcie de timp.

Fig 5.2.16. Unghiul pendulului n funcie de timp.


Sisteme de conducere fuzzy (UPT, 2011)

Fig 5.2.17. Viteza ughiular a pendulului n funcie de timp.

5.2.1.2. Experimentul practic de reglare n cazul conducerii SPI pentru problema Crane
Dup simulare se poate trece la experimentul practic. Se deschide modelul de simulare
Simulink de timp real din fereastra principal pd_fuzzy i se acioneaz asupra butonului Real Time
Experiment prin dublu click. Rularea experimentului practic se poate face prin parcurgerea urmtorilor
pai:
1.Pornirea calculatorului;
2.Pornirea echipamentului Feedback;
3.Lansarea programului Matlab;
4.Se tasteaz n fereastra de comenzi Matlab :
>>pendulum
5.Setarea adresei de baz a plcii de interfa PCL-812: set base address: 544;
6.Resetarea traductoarelor: reset encoders;
7.Activare Start Feedback (butonul verde de pe panoul echipamentului; drept rezultat, cruciorul nu se
mic);
8.Lansarea programului directare_crane n urma creia se va afia n fereastra de comenzi Matlab
structura regulatorului;
9.Se alege opiunea pd_fuzzy;
10.Relase fis system (butonul stnga jos din fereastra pd_fuzzy);
11.Se alege prin dublu click butonul corespunztor pentru Real Time Experiment;
12.Start Simulation din bara meniului principal;
13.Stop Simulation;
14.Stop Feedback (butonul rou de pe panou).

Rspunsul sistemului n timp real coninnd regulatorul fuzzy dezvoltateste prezentat n


fig.5.2.18 i 5.2.19, rspuns care nu difer de rspunsul prezentat anterior n cazul simulrii numerice.
Sisteme de conducere fuzzy (UPT, 2011)

P o s it io n a n d d e s ir e d p o s itio n o f th e c a r t
0 .4

0 .3

0 .2

0 .1

-0 .1

-0 .2

-0 .3
0 5 10 15 20 25 30
T im e
[ ]
Fig.5.2.18. Poziia cruciorului i poziia dorit n funcie de timp.
Angular position of the pendulum
4.5

3.5

2.5

2
0 5 10 15 20 25 30

Control
0.4

0.2

-0.2

-0.4
0 5 10 15 20 25 30
Time [s]

Fig.5.2.19. Unghiul pendulului i comanda elaborat de regulator n funcie de timp.

Analiznd rezultatele obinute se observ c:


1) Regulatorul fuzzy urmrete o form de und dreptunghiular pentru poziia dorit a
cruciorului, unghiul pendulului fiind n acest caz o mrime nesemnificativ. La nceput vom
considera pendulul n poziia normal (unghil pendulului fiind ), urmnd ca n final datorit micrii
cruciorului s intre ntr-un proces de balans, oscilaiile fiind puternic influenate de o schimbare
brusc a poziiei dorite. Dac exist eroare de poziionare a crucorului pozitiv sau negativ dar cu
mici variaii n jurul valorii zero, atunci comanda vizibil n cea de-a treia diagram este pozitiv sau
negativ cu valori apropite de 0.1/+0.1.
2) Pentru micarea cruciorului este necesar aplicarea unei fore superioare frecrii statice.
Dac se acioneaz prin dublu click blocul Real Time Task n fereastra pd_fuzzy_crane_rt se poate
vedea c parametrul corespunztor frecrii este 0.1. Dac efectele frecrii statice sunt neglijate prin
Sisteme de conducere fuzzy (UPT, 2011)

setarea opiunii Friction pe 0, atunci va rezulta un SRA-RG-F cu statism, adic poziia dorit a
cruciorului va fi urmrit ca o variabil de regim staionar constant nenul a erorii de reglare.

5.2.2. Problema de Stabilizare (SE, stab)


Aceast problem se refer la situaia cnd pendulul este n instabilitate n poziia de sus, iar
cruciorul urmrete semnalul dorit pentru referina de poziie. Problema de reglare este definit n
felul urmtor: conducerea cruciorului din orice poziie iniial, i fr a intra n limitri la capetele
inei, ntr-o poziie final dorit concomitent cu meninerea pendulului n poziia de sus.
Pentru a dezvolta RG-F aferent problemei SE (stab) sunt parcuri paii prezentai n paragraful
5.1.
Pentru nceput este dezvoltat un regulator convenional dup stare care conduce sistemul.
Schema bloc informaional a sistemului de reglare automat (convenional) dup stare (SRA-x)
aferent problemei SE este prezentat n fig.5.2.20.

Fig.5.2.20. Schema bloc informaional a SRA-x pentru problema SE.

Schema bloc din fig.5.2.20 pune n eviden matricea compensator (compensatorul


satbilizator) kcT i legea de reglare dup stare (aferent regulatorului dup stare):
u = w k cT x ,
unde w reprezint referina de poziie (a cruciorului) i u este comanda elaborat de regulatorul dup
stare.
Se efectueaz liniarizarea MM-ISI aferent PC din cadrul SPI n vecintatea punctului de
echilibru (pendulul se afl n poziia superioar). Aplicnd comanda Matlab linmod rezult MM ISI
liniarizat exprimat sub forma:
dx
= Ax + bu
dt
y = cTx +du ,
cu matricele i vectorii avnd semnificaia i dimensiunile cunoscute, precizate n paragraful anterior.

Se aplic din linia de comand Matlab:


>> [Ase, Bse, Cse, Dse]=linmod('model',[0,0,0,0],0);
i se obine:
As =[0 0 1.0000 0
0 0 0 1.0000
0 0.6111 -34.9727 -0.0001
0 43.4213 -145.7195 -0.0054]

Bs = [0
0
9.1803
38.2514]
Sisteme de conducere fuzzy (UPT, 2011)

Cs =[1 0 0 0
0 1 0 0
0 0 1 0
0 0 0 1]

Ds = [ 0
0
0
0]

n continuare se aplic un procedeu de alocare de poli [4]. Impunnd polii SRA-x (sistemului
nchis):

p = [p1* = 66.1 , p2* = 0.1 , p3* = 8,1 , p4* = 3.7 ]T ,

i aplicnd comanda Matlab acker (corespunztoare formulei lui Ackermann), rezult matricea
compensator kcT:

>>kcT=acker(a,b,p)

kcT = [0.8 8.1 1.4 0.6] .

RG-F destinat problemei SE va fi dezvoltat astfel nct s aproximeze regulatorul dup stare
descris anterior.

Dac se introduce n fereastra de comenzi Matlab:


>>fuzzy pd_stab,
se va deschide variabila corespunztoare de tip fis n care este descris structura RG-F pentru
problema SE.

position (2)
pds tab3

angle (2) (mamdani)

8 rules
control (2)
velocity (2)

ang-vel (2)

System pds tab3: 4 inputs, 1 outputs, 8 rules


Fig.5.2.21. Structura regulatorului fuzzy pentru problema SE (stab).

Se observ c n acest caz toate intrrile n RG-F sunt folosite, existnd patru variabile
lingvistice de intrare: position e1 = w1 x1 (eroarea de reglare de poziie a cruciorului), angle e2 =
w2 x2 = x2, velocity e3 = w3 x3 = 0 x3 (eroarea de reglare de vitez liniar a cruciorului,
Sisteme de conducere fuzzy (UPT, 2011)

adic viteza liniar a cruciorului cu semn opus), ang-vel e4 = w4 x4 = 0 x4 (eroarea de reglare de


vitez unghiular a pendulului, adic viteza unghiular a cruciorului cu semn opus). n fig.5.2.22 este
prezentat o schem bloc aferent SRA-RG-F pentru problema SE.

Fig.5.2.22. Schem bloc aferent SRA-RG-F pentru problema SE.

Pentru VL de intrare se alege un numr minim de TL, cte doi, conform [9], iar f.d.ap.
aferente TL ai VL de intrare au form trapezoidal (a se vedea i anexa 1) i sunt ilustrate n
fig.5.2.23.

1 N P

0.8

0.6

0.4

0.2

-1 -0.5 0 0.5 1
position

1 N P

0.8

0.6

0.4

0.2

-4 -3 -2 -1 0 1 2 3 4
angle
Sisteme de conducere fuzzy (UPT, 2011)

1 N P

0.8

0.6

0.4

0.2

-2 -1.5 -1 -0.5 0 0.5 1 1.5 2


velocity

1 N P

0.8

0.6

0.4

0.2

-2 -1.5 -1 -0.5 0 0.5 1 1.5 2


ang-vel

Fig 5.2.23. Funciile de apartenen aferente TL ai VL de intrare pentru problema SE.

Aplicnd principiul echivalenei modale, pentru un numr de doi TL afereni VL de ieire,


control u (comanda), rezult f.d.ap. de tip trapezoidal prezentate n fig.5.2.24.

1 N P

0.8

0.6

0.4

0.2

-2 -1.5 -1 -0.5 0 0.5 1 1.5 2


control

Fig 5.2.24. Funciile de apartenen aferente TL ai VL de ieire pentru problema SE.

Pentru stabilizare sunt suficiente opt reguli de reglare fuzzy [9], iar prin aplicarea aceluiai
principiu rezult baza de reguli prezentat n tabelul 5.2.25.
Sisteme de conducere fuzzy (UPT, 2011)

Tabelul 5.2.25. Reprezentarea verbose a bazei de reguli pentru problema stab.


1. If (position is N) then (control is N) (1)
2. If (position is P) then (control is P) (1)
3. If (angle is N) then (control is N) (1)
4. If (angle is P) then (control is P) (1)
5. If (velocity is N) then (control is N) (1)
6. If (velocity is P) then (control is P) (1)
7. If (ang-vel is N) then (control is N) (1)
8. If (ang-vel is P) then (control is P) (1)

De asemenea, sunt prezentate n fig.5.2.26 i caracteristicile statice generalizate intrare-ieire


pentru RG-F aferent problemei de stabilizare.

0.6
0.4
0.2
control

0
-0.2
-0.4
-0.6

4
2 1
0 0.5
0
-2
-0.5
angle -4 -1
position

0.6
0.4
0.2
control

0
-0.2
-0.4
-0.6

2
1 1
0 0.5
0
-1 -0.5
velocity -2 -1
position

0.5
control

-0.5

2
1 1
0 0.5
0
-1 -0.5
ang-vel -2 -1
position
Sisteme de conducere fuzzy (UPT, 2011)

0.6

0.4

0.2

control
0

-0.2

-0.4

-0.6
2
1 4
0 2
0
-1
-2
velocity -2 -4
angle

Fig.5.2.26. Caracteristicile statice generalizate intrare-ieire pentru RG-F aferent problemei stab.

5..2.2.1. Simularea numeric a comportrii SPI pentru problema stab


n cazul simulrii numerice a comportrii SPI pentru problema stab, este interesant modul de
stabilizare a SPI cnd referina pentru poziie este reprezentat sub forma unui semnal dreptunghiular.
Pentru problema de fa, se deschide modelul de simulare din fereastra principal pd_fuzzy.mdl i se
acioneaz prin dublu click butonul corespunztor Simulink Simulation. Modelul de simulare este
ilustrat n fig.5.2.27. Pentru o simulare corespunztoare este necesar urmtoarea comand n fereastra
de comenzi Matlab (a se vedea i anexa 1):
>>fismat=readfis(pd_stab);

Rspunsurile rezultate n urma simulrii sunt prezentate n fig.5.2.28, 5.2.29, 5.2.30, 5.2.31 i
5.2.32, evideniindu-se poziia cruciorului, viteza acestuia, unghiul pendulului, viteza unghiular i
respectiv comanda elaborat de RG-F.

position &
angle
desired position
cart velocity

angular velocity

States states
Dynamics Generator
Normalized_control
Normalized_control 0 Generator
(sampled) Mux
u of desired position
0
Out1
In1
0
errors scaling for plot
Errors Remember to load fuzzy matrix into
the Fuzzy stabilising controller block
Type:
fismat=readfis ( 'pd_stab' )
Limit Guard
in the Matlab Command Window

Fuzzy stabilising controller


Limiter

Out1 In1

fcontrol
Coulomb Friction &
Reduction of angle
Linear Control Gain
Friction = 0.15 !

Fig.5.2.27. Modelul de simulare a comportrii SPI pentru problema stab.


Sisteme de conducere fuzzy (UPT, 2011)

Fig.5.2.28. Poziia cruciorului i referina de poziie pentru problema stab.

Fig.5.2.29. Unghiul pendulului n funcie de timp pentru problema stab.


Sisteme de conducere fuzzy (UPT, 2011)

Fig.5.2.30. Viteza unghiular a pendulului n funcie de timp pentru problema stab.

Fig.5.2.31. Comanda elaboratde regulatorul fuzzy in funcie de timp pentru problema stab.
Sisteme de conducere fuzzy (UPT, 2011)

Fig.5.2.32. Viteza cruciorului n funcie de timp pentru problema stab.

5.2.2.2. Experimentul practic de reglare n cazul conducerii SPI pentru problema stab
Regimul de stabilizare poate fi verificat utiliznd sistemul real disponibil. Pentru desfurarea
n condiii corespunztoare a experimentului, este necesar s se urmeze paii urmtori:
1.Pornirea calculatorului;
2.Pornirea echipamentului Feedback;
3.Lansarea programului Matlab;
4.Se tasteaz n fereastra de comenzi Matlab:
>>pendulum
5.Setarea adresei de baz a plcii de interfa PCL-812: set base address: 544;
6.Resetarea traductoarelor: reset encoders;
7.Activare Start Feedback (butonul verde de pe panoul echipamentului; drept rezultat, cruciorul nu se
mic);
8.Lansarea programului directare_stab n urma creia se va afia n fereastra de comenzi Matlab
structura regulatorului;
9.Alegerea opiunii pd_fuzzy;
10.Relase fis system (butonul din stnga jos din fereastra pd_fuzzy)
11.Se alege prin dublu click butonul corespunztor pentru Real Time Experiment;
12.Start Simulation;
13.Stop Simulation;
14.Stop Feedback (butonul rou de pe panou).
Paii descrii mai sus sunt determinai prin analogie cu problema swing, presupunndu-se a fi
corect stabilii, presupunere ce se face datorit faptului c NU s-au obinut rezultate practice pentru
acest problem. n acest caz s-a proiectat regulatorul [3], urmnd ca urmtoarele aciuni s se
efectueza asupra modelului Simulink sau n fiierul pd_fuzzy_stab_sf.

5.2.3. Problema Swing up (swing, SU)


Aceast problem de reglare se refer la situaia cnd pendulul este adus n poziia de ehilibru
superior, iar prin deplasarea cruciorului se urmrete meninerea acesatuia n punctul stabilit cu un
mic balans. Nu este necesar urmrirea de ctre crucior a semnalului dorit pentru referina de poziie.
Problema de reglare este definit n felul urmtor: balansul pendulului i meninerea acestuia n
poziia de echilibru prin deplasarea cruciorului, fr a intra n limitri la capetele inei.
Pentru a dezvolta RG-F aferent problemei SU (swing, swing up) sunt parcuri din nou paii
prezentai n paragraful 5.1. n plus, datorit dificultii problemei, este considerat c regulatorul este
deja stabilizat prin reacie dup stare, conform situaiei de la problema stab, astfel c RG-F se
suprapune peste structura de SRA-x.
Sisteme de conducere fuzzy (UPT, 2011)

n fig.5.2.34 este prezentat structura SRA-RG-F pentru problema SU.

Fig.5.2.34. Structura SRA-RG-F pentru problema SU.

Se observ de pe schema din fig.5.2.34 c n acest caz RG-F admite trei VL de intrare: angle
e1 = w1 x2 = 0 x2, ang-vel e2 = w2 x4 = 0 x4 (eroarea de reglare de vitez unghiular a
pendulului, adic viteza unghiular a pendulului cu semn opus) i position e3 = w3 x1 (eroarea de
reglare de poziie a cruciorului), ultima avnd importan secundar.
Baza de reguli a RG-F i f.d.ap. aferente TL ale VL de ieire, comanda u, pentru problema SU
sunt obinute prin aplicarea principiului echivalenei modale astfel ca RG-F s aproximeze urmtoarea
lege de reglare neliniar, recomandat n [9] pentru conducerea SPI stabilizat prin reacie dup stare.

u=sign[x4*|x2|-/2]

Se remarc faptul c n relaia anterioar nu apare poziia cruciorului. Totui, aceasta va fi


inclus n structura RG-F pentru a realiza o mai bun centrare i un mai bun balans al SPI.

Startul simulrilor att numerice ct i practice se desfoar la fel ca i n problemele


anterioare prin comanda Matlab:
>>fuzzy pd_swing.
Drept rezultat, se va deschide fereastra de editare pd_swing unde exist posibilitatea
vizualizrii i modificrii parametrilor regulatorului. Structura regulatorului fuzzy pentru problema
swing este prezentat n fig.5.2.35, fiind active trei VL de intrare precum poziia cruciorului, unghiul
pendulului i viteza unghiular (viteza este dezactivat). Pentru construcia algoritmului swing este
suficient folosirea variabilelor aferente pendulului: unghi i vitez unghiular; variabila de poziie
este folosit doar ca variabil auxiliar de ctre mecanismul de poziionare.
Sisteme de conducere fuzzy (UPT, 2011)

Fig.5.2.35. Structura regulatorului fuzzy pentru problema swing.

F.d.ap. aferente TL ai VL de intrare sunt prezentate n fig.5.2.36, 5.2.37, 5.2.38 i 5.2.39.


n fig. 5.2.36 3 TL afereni VL angle;
n fig. 5.2.37 4 TL afereni VL ang-vel, avnd f.d.ap. de form trapezoidal;
n fig. 5.2.38 5 TL afereni VL position, avnd f.d.ap. de form triunghiular (trapezoidal la
capetele universului discursului).

Fig.5.2.36. Funciile de apartenen pentru VL de intrare unghi.


Sisteme de conducere fuzzy (UPT, 2011)

Fig 5.2.37. Funciile de apartentn pentru VL de intrare vitez unghiular.

Fig.5.2.38. Funciile de apartenen pentru VL de intrare poziie (a pendulului).

Pentru VL de ieire control (comanda) u exist 5 TL avnd f.d.ap. de forma clopotului de


tip Gauss explicitate similar celor de mai sus i fiind ilustrate n fig.5.2.39.
Sisteme de conducere fuzzy (UPT, 2011)

Fig.5.2.39. Funciile de apartenen aferente VL de ieire (comanda) pentru problema swing.

Regulile de reglare corespunztoare RG-F din cadrul problemei swing sunt prezentate n
tabelul 5.2.40. Regula 1 i 12 marcheaz limitele corespunztoare spaiului cruciorului, regulile 13 i
24 urmresc aciunea de centrare i balans a SPI urmnd ca regulile 25 i 30 s genereze balansul prin
algoritm [9]. Celelalte reguli au fost obinute prin aplicarea principiului echivalenei modale [12].

Tabelul 5.2.40. Regulile de reglare fuzzy aferente RG-F pentru problema swing.

1. If (position is N) and (angle is DL) and (ang-vel is N) then (control is P) (1)


2. If (position is N) and (angle is U) and (ang-vel is N) then (control is P) (1)
3. If (position is N) and (angle is DR) and (ang-vel is N) then (control is P) (1)
4. If (position is N) and (angle is DL) and (ang-vel is P) then (control is P) (1)
5. If (position is N) and (angle is U) and (ang-vel is P) then (control is P) (1)
6. If (position is N) and (angle is DR) and (ang-vel is P) then (control is P) (1)
7. If (position is P) and (angle is DL) and (ang-vel is N) then (control is N) (1)
8. If (position is P) and (angle is U) and (ang-vel is N) then (control is N) (1)
9. If (position is P) and (angle is DR) and (ang-vel is N) then (control is N) (1)
10. If (position is P) and (angle is DL) and (ang-vel is P) then (control is N) (1)
11. If (position is P) and (angle is U) and (ang-vel is P) then (control is N) (1)
12. If (position is P) and (angle is DR) and (ang-vel is P) then (control is N) (1)
13. If (position is MN) and (angle is DL) and (ang-vel is P) then (control is MN) (1)
14. If (position is MN) and (angle is DR) and (ang-vel is P) then (control is MN) (1)
15. If (position is MN) and (angle is DL) and (ang-vel is N) then (control is P) (1)
16. If (position is MN) and (angle is DR) and (ang-vel is N) then (control is P) (1)
17. If (position is MN) and (angle is U) and (ang-vel is N) then (control is MN) (1)
18. If (position is MN) and (angle is U) and (ang-vel is P) then (control is P) (1)
19. If (position is MP) and (angle is DL) and (ang-vel is P) then (control is N) (1)
20. If (position is MP) and (angle is DR) and (ang-vel is P) then (control is N) (1)
21. If (position is MP) and (angle is DL) and (ang-vel is N) then (control is MP) (1)
22. If (position is MP) and (angle is DR) and (ang-vel is N) then (control is MP) (1)
23. If (position is MP) and (angle is U) and (ang-vel is N) then (control is N) (1)
24. If (position is MP) and (angle is U) and (ang-vel is P) then (control is MP) (1)
25. If (position is Z) and (angle is DL) and (ang-vel is P) then (control is N) (1)
26. If (position is Z) and (angle is DR) and (ang-vel is P) then (control is N) (1)
27. If (position is Z) and (angle is DL) and (ang-vel is N) then (control is P) (1)
Sisteme de conducere fuzzy (UPT, 2011)

28. If (position is Z) and (angle is DR) and (ang-vel is N) then (control is P) (1)
29. If (position is Z) and (angle is U) and (ang-vel is N) then (control is N) (1)
30. If (position is Z) and (angle is U) and (ang-vel is P) then (control is P) (1)
31. If (angle is U) and (ang-vel is LN) then (control is MP) (1)
32. If (angle is U) and (ang-vel is LP) then (control is MN) (1)
33. If (angle is DL) and (ang-vel is LP) then (control is Z) (1)
34. If (angle is DR) and (ang-vel is LP) then (control is Z) (1)
35. If (angle is DL) and (ang-vel is LN) then (control is Z) (1)
36. If (angle is DR) and (ang-vel is LN) then (control is Z) (1)

n fig.5.2.41, 5.2.42 i 5.2.43 sunt prezentate CS generalizate intrare-ieire aferente


regulatorului fuzzy dezvoltat.

Fig.5.2.41. Caracteristica static generalizat comand n funcie de vitez unghiular i unghi aferent
regulatorului fuzzy pentru problema swing.

Fig.5.2.42. Caracteristica static generalizat comand n funcie de vitez unghiular i poziie


aferent regulatorului fuzzy pentru problema swing.
Sisteme de conducere fuzzy (UPT, 2011)

Fig.5.2.43. Caracteristica static generalizat comand n funcie de poziie i unghi aferent


regulatorului fuzzy pentru problema swing.

5.2.3.1. Simularea numeric a comportrii SPI pentru problema swing


Pentru simularea numeric a comportrii SPI se activeaz prin dublu click blocul Simulink
Simulation din fereastra principal pd_fuzzy. Modelul de simulare este prezentat n fig.5.2.44.

position &
angle
desired position
cart
velocity
angular Remember to load
velocity fuzzy matrix into
States
Dynamics the Fuzzy swinging
Mux
control
controller block.
Normalized_control
states
Type:
errors
0 Generator fismat=readfis( 'pd_swing' )
Out1
In1 of desired position
u
scaling 0 in the
Errors for plot Generator Matlab Command Window.
0

Fuzzy swinging controller


Coulomb Friction &
Limit Guard fuzzy_rules
Swinging Control Gain

-1 Out1 In1

Limiter
Upper zone arbiter Reduction of angle

Linear pendulum
lcontrol lpend controller

In1

Out1
Coulomb Friction & lcart Linear cart controller
Linear Control Gain In2

Sum & saturation

Fig.5.2.44. Modelul de simulare a comportrii SPI pentru problema swing.


Sisteme de conducere fuzzy (UPT, 2011)

n acest model se urmrete comportarea SRA-RG-F pentru cazul n care referina de poziie
este setat pe zero. Aceast setare se face prin alegerea valorii zero pentru amplitudine din masca
generatorului de poziie (Fig 5.2.51.), iar masca corespunztoare blocului dinamic este prezentat n
fig.5.2.50.
Rezultatele simulrii comportrii SRA-RG-F sunt reprezentate sub forma evoluiei n timp a
diverselor mrimi de interes ilustrate n fig.5.2.45, 5.2.46, 5.2.47, 5.2.48 i 5.2.49.

Fig.5.2.45. Poziia cruciorului n funcie de timp pentru problema swing.

Fig.5.2.46. Unghiul pendulului n funcie de timp pentru problema swing.


Sisteme de conducere fuzzy (UPT, 2011)

Fig.5.2.47. Viteza unghiular a pendulului n funcie de timp pentru problema swing.

Fig.5.2.48. Comanda elaborat de regulatorul fuzzy in funcie de timp pentru problema swing.
Sisteme de conducere fuzzy (UPT, 2011)

Fig.5.2.49. Viteza cruciorului n funcie de timp pentru problema swing.

Fig.5.2.50. Masca blocului dinamic corespunztoare problemei swing cu particularizrile aferente.


Sisteme de conducere fuzzy (UPT, 2011)

Fig.5.2.51. Masca corespunztoare blocului generator pentru poziia de referin.

Fig 5.2.52. Masca prin care se stabilete coeficientul de frecare (de regul este setat la valoarea 0.1).

5.2.3.2. Experimentul practic de reglare n cazul conducerii SPI cu regulator fuzzy pentru problema
swing
Experimentul practic n acest caz este deosebit de important pentru compararea rezultatelor
obinute experimental cu cele obinute prin simulare. Pentru efectuarea cu success a experimentului
este necesar parcurgerea urmtorilor pai:
1.Pornirea calculatorului;
2.Pornirea echipamentului Feedback;
3.Lansarea programului Matlab;
4.Se tasteaz n fereastra de comenzi Matlab :
>>pendulum
5.Setarea adresei de baz a plcii de interfa PCL-812: set base address: 544;
6.Resetarea traductoarelor: reset encoders;
7.Activare Start Feedback (butonul verde de pe panoul echipamentului; drept rezultat, cruciorul nu se
mic);
8.Lansarea programului directare_swing n urma creia se va afia n fereastra de comenzi Matlab
structura regulatorului;
9.Se alege opiunea pd_fuzzy;
10.Relase fis system (butonul stnga jos din fereastra pd_fuzzy);
11.Se alege prin dublu click butonul corespunztor pentru Real Time Experiment;
12.Start Simulation din bara meniului principal;
13.Stop Simulation;
14.Stop Feedback (butonul rou de pe panou).
Sisteme de conducere fuzzy (UPT, 2011)

n pasul 11 se va deschide modelul Simulink de timp real corespunztor experimentului practic pentru
problema swing, model prezentat n fig.5.2.53.

Fig.5.2.53. Modelul Simulink de timp real aferent experimentului practic pentru problema swing.

Fig.5.2.54. Masca aferent taskului de timp real.


Sisteme de conducere fuzzy (UPT, 2011)

Cart position, Cart Desired position,


0.25

0.2

0.15

0.1

0.05

-0.05

-0.1

-0.15

-0.2
0 5 10 15 20 25 30 35 40
Time [s]

Fig.5.2.55. Poziia dorit i poziia real a cruciorului n funcie de timp.

Pendulum angle,
0

-1

-2

-3

-4

-5

-6

0 5 10 15 20 25 30 35 40
Time [s]

Fig.5.2.56. Unghiul pendulului n funcie de timp.


Sisteme de conducere fuzzy (UPT, 2011)

Pendulum velocity,

10

-5

-10

0 5 10 15 20 25 30 35 40
Time [s]

Fig.5.2.57.Viteza pendulului n funcie de timp.


Cart velocity,
0.6

0.4

0.2

-0.2

-0.4

-0.6

0 5 10 15 20 25 30 35 40
Time [s]

Fig.5.2.58. Viteza cruciorului n funcie de timp.


Sisteme de conducere fuzzy (UPT, 2011)

Control,

0.25

0.2

0.15

0.1

0.05

-0.05

-0.1

-0.15

-0.2

-0.25

0 5 10 15 20 25 30 35 40
Time [s]

Fig.5.2.59. Comanda elaborat de regulatorul fuzzy n funcie de timp.

GHID DE DEZVOLTARE ASISTAT DE CALCULATOR A REGULATOARELOR FUZZY


DESTINATE CONDUCERII SISTEMULUI PENDUL INVERS UTILIZND MEDIUL
MATLAB-SIMULINK.

Dezvoltarea i implementarea unui regulator fuzzy presupune parcurgerea unui numr de pai
care vor fi parcuri direct sau indirect, n funcie de mediul de programare utilizat. Folosirea
tehnicilor avansate de programare permite n construcia regulatoarelor destinate conducerii SPI
omiterea din partea proiectantului a unor pai introdui implicit prin program, acesta nefiind obligat
s se ocupe de exemplu cu algoritmii de citire a parametrilor, care ulterior vor fi setai de aceeai
persoan. Funciile utilizate n proiectare folosite i n comunicaia cu real time task real precum i
descrierea acestora este prezentat n tabelul A1 [3].

Tabelul A1. Funciile i comunicaia cu RTT (Real-Time Task, Task de Timp Real).
Function Name Description
Task de Timp Real.
GetAlgNo Citete numrul de algoritm.
GetBaseAddress Citete adresa de baz a plcii PCL-812.
GetCartPosFilt Citete parametrii de poziie a cruciorului.
GetCartSpeedFilt Citete parametrii de vitez a cruciorului.
GetDesPosition Funcia citete referina de poziie.
GetDividor Divizor auxiliar de timp.
GetHistory Coninutul buffer-ului.
GetNrOfSamples Numrul eantioanelor din buffer.
GetP Parametrii algoritmului de control.
GetPendPosFilt Citete parametrii poziiei de nceput.
GetPendSpeedFilt Citete parametrii de nceput pentru vitez.
GetPW Parametrii generatorului de excitaie intern.
GetSampleTime Perioada de timp.
LoadLibrary Load RTK DLL library.
ResetEncoder Resetarea traductoarelor incrementale.
ResetTime Setarea timpului de experiment la valoarea zero.
Sisteme de conducere fuzzy (UPT, 2011)

SetAlgNo Setarea algoritmului de control i pornirea experimentului.


SetBaseAddress Setarea adresei de baz pentru placa PCL-812.
SetCartPosFilt Setarea parametrilor poziiei cruciorului.
SetCartSpeedFilt Setarea parametrilor vitezei cruciorului.
SetDesPosition Setarea referinei de poziie.
SetDividor Setarea ceasului auxiliar.
SetP Setarea parameterilor regulatorului.
SetPendPosFilt Setarea parameterilor afereni poziiei de nceput.
SetPendSpeedFilt Setarea parameterilor afereni vitezei.
SetPW Setarea parameterilor pentru generatorul intern de excitaie.
SetSampleTime Setarea ceasului.
StartAcq tergerea buffer-ului.
StopPractical stop practical
UnloadLibrary Remove RTK DLL library din memorie.

Avnd definite funciile cu care lucreaz softul ce implementeaz SPI, funcii definite implicit
prin program, se poate stabili un numr de pai teoretici ce trebuie urmai n dezvoltarea,
implementarea i testarea unui regulator fuzzy.
Pe baza afirmaiilor anterioare rezult urmtorul ghid de proiectare i dezvoltare:

1. Se stabilete tipul de regulator ce se dorete a fi realizat. Pentru SPI, exist o gam de


regulatoare standardizate, structura RTT impunnd restricii i avnd trei tipuri de reprezentri: RTT
swing, RTT crane i RTT stab; diferena dintre acestea const n parametrul alpha offset care este
setat la valoarea pentru care se face stabilizarea pendulului. RTT se va alege astfel innd cont de
regimul sau de problema de stabilizare ce urmeaz a fi elaborat. n proiectarea regulatorului este
necesar precizarea urmtoare: regulatorul fuzzy are patru variabile lingvistice de intrare i o
variabil lingvistic de ieire. Ordinea VL de intrare urmtoarea: poziia cruciorului, unghiul
pendulului, viteza cruciorului i viteza unghiular a pendulului.

2. Se implementeaz regulatorul fuzzy folosind editorul FIS din Matlab Fuzzy Toolbox.
Pentru o uurin n proiectare sunt introduse specificaiile ce urmeaz, fiind prezentate succint toate
opiunile editorului.
Editorul grafic fuzzy reprezint interfaa de baz, avansat, cu utilizatorul, care permite
crearea, ncrcarea, modificarea i salvarea variabilelor n format fis.
Spre exemplu, n fig.A1 este prezentat forma editorului grafic pentru RG-F aferent
poziionrii pendulului invers i denumit sistemul 'untitled.
Meniurile File, Edit i View au structura indicat n continuare i asigur urmtoarele
faciliti:
File: New Mamdani fis - definete un nou sistem (RG-F) de tip Mamdani;
New Sugeno fis - definete un nou sistem (RG-F) de tip Sugeno;
Open from disk - deschide un fiier de pe disc;
Save to disk - salveaz pe disc fiierul curent;
Save to disk as ... - salveaz pe disc cu numele ... fiierul curent;
Open from workspace - citete din spaiul de lucru o variabil de tip fis;
Save to workspace - salveaz n spaiul de lucru sistemul curent din editor;
Save to workspace as ... - salveaz n spaiul de lucru sub numele ... sistemul curent din
editor;
Close window - nchide sesiunea curent de lucru;
Sisteme de conducere fuzzy (UPT, 2011)

Fig.A1. Editorul grafic.

Edit Add input - adaug o VL de intrare;


Add output - adaug o VL de ieire;
Remove variable - terge o VL (de intrare sau de ieire);
Undo - revine la starea anterioar ultimei comenzi;

View Edit FIS properties - editeaz proprietile sistemului (RG-F);


Edit membership functions - editeaz f.d.ap. aferente termenilor lingvistici asociai
variabilelor lingvistice de intrare/ieire;
Edit rules - editeaz regulile sistemului;
View rules - vizualizeaz regulile;
View surface - vizualizeaz caracteristica static generalizat aferent RG-F (suprafaa de
comand).

Pe lng editorul de baz prezentat anterior, n pachetul de simulare se mai dispune de nc


patru editoare grafice, i anume:
- mfedit - editor de variabile lingvistice;
- ruleedit - editor i analizor de reguli;
- ruleview - afieaz regulile;
- surfview - vizualizeaz caracteristica static generalizat aferent RG-F.
Aceste editoare pot fi utilizate separat sau pot fi apelate n cadrul editorului de baz prin
alegerea opiunilor corespunztoare din meniu (de exemplu, pentru editarea VL se poate folosi
editorul mfedit din linia de comand Matlab sau opiunea Edit membership functions din meniul
View).

3. Se salveaz fiierul cu extensia fis in directorul care conine toate fiierele cu aceast
extensie create anterior.
Sisteme de conducere fuzzy (UPT, 2011)

4. Se construiete modelul Simulink al regulatorului. Este vorba despre dou modele: modelul
pentru simularea comportrii SRA-RG-F i modelul Simulink de timp real, utilizat n experimentele
practice de reglare.

5. n fereastra de comenzi Matlab se d comanda:


>>fismat=readfis( xxx ), unde xxx este numele fiierului cu extensia fis creat.

6. Se d comanda Start Simulation din meniul principal Matlab dup ce a fost deschis
fereastra ce conine modelul Simulink creat.

7. Se d comanda Start Practical din acelai meniu.

n continuare vor fi prezentate elemente privind crearea i editarea interfeei fuzzy sistem
utilizat de MATLAB Fuzzy Logic Toolbox [9], care ofer dou metode de dezvoltare a
regulatorului fuzzy:
a) interactiv utiliznd unelte grafice;
b) automat utilznd mecanisme neuro-fuzzy.
La a) sunt disponibile de asemenea doua tipuri de interfa fuzzy sistem: Mamdani i Sugeno.
Interfaa Mamdani este editabil interactiv. Acest lucru face posibil n cazul direct s se nteleag mai
uor concluziile introduse n baza de reguli sub forma unor funcii de apartenen.
MATLAB Fuzzy Logic Toolbox este realizat doar pentru simulare. Obiectivul ns, este acela
de a-l folosi pentru conducerea proceselor n timp real. De asemenea, exist i toolbox-uri dedicate
pentru sistemul pendul-carucior, cum ar fi de exemplu pd_fuzzy. Partea important a acestuia are trei
mecanisme:
a) simularea folosind modelul Simulink al sistemului pendul-carucior
b) experimente de timp real utiliznd Fuzzy RTK i editorul pentru regulatorul fuzzy folosind
csua de unelte. n csua de unelte a pd_fuzzy exist cteva elemente necesare pentru conducerea n
timp real, iar restul sunt optionale sau auxiliare. Mecanismele folosite pentru dezvoltarea
regulatoarelor fuzzy pot fi aplicate cu succes dac se gsesc specificaiile toolbox-ului.Specificatiile
se reduc pentru nceput la numrul i ordinea semnalelor de intrare i de ieire.

Regulatoarele fuzzy destinate conducerii sistemului pendul invers pot fi echipate cu patru
intrri (VL de intrare) care reprezint variabilele de stare (primele dou sunt erorile de reglare
aferente, iar celelalte dou sunt variabilele de stare cu semn schimbat) i o ieire (VL de ieire) care
este comanda. Ordinea variabilelor este urmatoarea: pozitia caruciorului, unghiul pendulului, viteza
cruciorului i viteza unghiular a pendulului.

Pentru pornire se foloseste simplu pd_fuzzy n fereastra de comenzi MATLAB. Aici exist
trei regulatoare demonstrative: C (Crane), SE (stab) i SU (swing up, swing). Fiecare din acestea trei
poate fi activat in regimul de simulare prin dublu click pe butonul albastru, sau in regimul de
functionare prin dublu click pe butonul rou. De asemenea se poate deschide editorul fuzzy pentru a
vizualiza interfaa fuzzy sistem prin acionarea butonului negru.

Dou butoane din fereastra pd_fuzzy (fig.A2) sunt importante: Relase FIS Sistem i Show FIS
Message. Dac se alege prima opiune, se poate ncepe un nou experiment fr a fi necesar resetarea
calculatorului. Cel de-al doilea buton arat lista cu toate avertizrile ce apar n decursul
experimentului. Se genereaz o avertizare tipic dac variabilele curente de intrare sau de ieire sunt
n afara universului discursurilor (domeniului de baz). De asemenea, atenionarea se poate face i n
cazul n care se ncepe o nou simulare, iar pentru precedenta nu s-a activat butonul de stop
simulation. n acest caz se ncetinete execuia simulrii prin scrierea de mesaje n fereastra de
comenzi MATLAB. n regimul real-time atenionrile nu opresc rularea sistemului, acestea fiind
memorate pentru a ajuta la analiza n viitor a erorilor. Cnd experimentul este terminat, lista poate fi
citit prin dublu click pe butonul Show FIS Message.
Sisteme de conducere fuzzy (UPT, 2011)

Fig.A2. Fereastra principal pd_fuzzy.

n cele ce urmeaz sunt descrise succint:


modul n care se efectueaz simularea numeric a comportrii Sistemului Pendul Invers (SPI);
modul n care se efectueaz experimentele practice de conducere a SPI;
modul de utilizare a editorului grafic fuzzy(fuzzy tools editor);
Prezentarea va fi concentrat asupra problemei Crane, cu modificrile necesare n cazul
problemelor SE i SU.

Ghid de utilizare n cazul simulrii numerice a comportrii SPI consindernd c regulatorul


fuzzy a fost deja dezvoltat

Se presupune c fereastra pd_fuzzy a fost deschis prin dublu click pe butonul fuzzy. Prin
dublu click pe butonul albastru ce are ca identificator Simulink Simulation va deschide modelul
de simulare corespunztor problemei considerate. De exemplu, dac este activat butonul albastru
Simulink Simulation corespunztor lui Crane FIS controller atunci va apare o fereastr de tipul
celei din fig. A3. Paii obligatorii pentru acest caz sunt cei descrii anterior.
Sisteme de conducere fuzzy (UPT, 2011)

position &
angle
desired position
cart velocity

angular velocity

States states
Dynamics Generator
Normalized_control
Normalized_control 0 Generator
(sampled) Mux
u of desired position
0
Out1
In1
0
errors scaling for plot
Errors
Remember to load fuzzy matrix into
the Fuzzy crane controller block
Type:
fismat=readfis ( 'pd_crane' )
Limit Guard
in the Matlab Command Window

Fuzzy crane controller


Limiter

Out1 In1

fcontrol
Coulomb Friction &
Reduction of angle
Linear Control Gain

Fig.A3. Exemplu de model Simulink folosit n cazul simulrii numerice a comportrii SPI.

Ca o recomandare, pentru problema crane se poate da comanda n fereastra de comenzi


MATLAB:
>>fismat=readfis(pd_crane);
Prin urmare, fiierul pd_crane.fis este ncrcat de pe disk n variabila fismat aferent blocului
fuzzy crane controller. Blocul fuzzy crane controller corespunde RG-F specific problemei crane.
Prin dublu click pe blocul corespunztor, masca mpreun cu numele fismat vor deveni vizibile (a se
vedea fig.A.4).

Fig.A4. Masca aferent RG-F aferent problemei Crane, fuzzy crane controller.

n acest moment, sistemul de reglare automat cu regulator fuzzy (SRA RG-F) este pregtit
pentru simularea numeric a comportrii sale n Simulink [14].

Modul n care se efectueaz experimentele practice de conducere a SPI

Similar modului de simulare prezentat anterior, se presupune c fereastra pd_fuzzy a fost deja
deschis prin comanda:
>> fuzzy pd_fuzzy.
Se acioneaz prin dublu click butonul rou Real-time Experiment pentru a deschide
modelul de timp real aferent. De exemplu, dac este butonul rou poziionat n linia corespunztoare
Crane FIS Controller, atunci va fi activ fereastra din fig.A5.
Sisteme de conducere fuzzy (UPT, 2011)

Fig.A5. Fereastra aferent vizualizrii elementelor necesare legate de comportarea SPI pentru
experimentele practice.

Modelul Simulink de timp real din fig.A5 trebuie reactualizat pentru a urmri comportarea
real a SPI i nu pentru a efectua simulri numerice. nainte de a ncepe partea de experiment practic
trebuie s existe siguran privind att configuraia hard ct i corectitudinea n care se face resetarea
traductoarelor(SPI este n repaus). n scopul eventualelor modificri ale parametrilor modelului
Simulink de timp real poate fi aleas masca corespunztoare blocului denumit Real Time Task din
fig.A5. Prin dublu click pe acest bloc se va deschide fereastra din fig.A6.

Fig.A5. Masca aferent parametrilor modelului Simulink de timp real (Real Time Task).
Sisteme de conducere fuzzy (UPT, 2011)

Majoritatea parametrilor din fig.A6 sunt cunoscui din capitolele anterioare. Intervin doi noi
parametri: FIS output gain i Alpha offset. Cel de-al doilea parametru egal cu indic fapul c
pendulul se afl n poziiade jos.
Pentru rularea cu succes n problema Crane nu este nevoie s fie schimbate setrile din fig.A6.
Dac este selectat opiunea Simulation din meniul principal i se alege start, fereastra care apare este
prezentat n fig.A7.

Fig.A7. Fereastra care atenioneaz c variabila fis a fost ncrcat.

Dup apariia mesajului din fig.A7, poate fi stabilit dac conversia a fost fcut cu succes.
Dac se acioneaz prin click butonul OK, noua fereastr care apare este cea din fig.A8.

Fig.A8. Mesaj ce ntiineaz posibilitatea nceperii experimentului.

Apariia mesajului din fig.A8 confirm faptul c fiierul pd_crane FIS corespunztor
regulatorului fuzzy aferent problemei crane a fost ncrcat. Sistemul este pregtit pentru startul
experimentului practic, iar prin aciunea asupra butonului OK va ncepe experimentul.
Oprirea se poate face prin dou ci:
fie dac flagul de Stop Practical dup Simulation/Stop este marcat, se acioneaz prin click
butonul de Stop poziionat n meniul Simulation;
fie prin aciunea butonului de Stop Practical n fereastra pd_fuzzy;
Pe parcursul derulrii experimentului practic pot fi vizualizate evoluiile n timp ale diverselor
mrimi din sistem care la dorina utilizatorului pot fi sub diferite forme de reprezentare grafic n
MATLAB sau Simulink.

Pentru o bun documentare a proiectantului este util introducerea unor noiuni de baz
referitoare la Fuzzy Logic Toolbox din cadrul mediului Matlab [10], [13], [16].

PROGRAME DEZVOLTATE PE PARCURSUL LUCRRII

n aceast anex sunr prezentate demonstrativ o parte din programele elaborate, restul fiind disponibile
dup adresarea unei cereri n cadrul laboratorului.

% **********
% Program pentru trasarea c.d.f. aferente sistemului deschis
% in problema Crane cu RG-P
% **********
% MM-ISI liniarizat:
As =[0 0 1.0000 0
0 0 0 1.0000
0 0.6111 -34.9727 0.0001
0 -43.4213 145.7195 -0.0054];
Bs = [0
0
9.1803
Sisteme de conducere fuzzy (UPT, 2011)

-38.2514];
Cs =[1 0 0 0
0 1 0 0
0 0 1 0
0 0 0 1];
Ds = [ 0 ];
% f.d.t.:
[num,den]=ss2tf(As,Bs,Cs(1,:),Ds,1);
% f.d.t. cu RG-P:
kR=100;
num=num*kR;
% trasare c.l.p.:
bode(num,den)
hhh=gcf;

directare_crane
%*************
%Program utilizat n pasul 11 pentru pornirea experimentrii
% practice;
%*************
cd feedback
cd pendulum
cd fuzzy
fimat=readfis(pd_crane)
%************

directare_stab
%*************
%Program utilizat n pasul 11 pentru pornirea experimentrii
% practice;
%*************
cd feedback
cd pendulum
cd fuzzy
fimat=readfis(pd_stab1)
%************

directare_swing
%*************
%Program utilizat n pasul 11 pentru pornirea experimentrii
% practice;
%*************
cd feedback
cd pendulum
cd fuzzy
fimat=readfis(pd_swing)
%************

LEGEND

SPI -ansamblul Sistem Pendul Invers;


C - problema Crane;
SU problema Swing;
SE problema Stab (self erecting);
RTT -real time task;
FG-F -regulator fuzzy.
Sisteme de conducere fuzzy (UPT, 2011)

C. TEMATICA LUCRRII:
1. Se studiaz materialul din cadrul paragrafului B. punnd accentul pe prezentarea general a
SPI, punerea celor trei probleme de reglare precum i pe structura hardware i software a sistemului.
2. Se dezvolt regulatoarele fuzzy pentru toate cele trei probleme de reglare (Crane, SE i SU).
3. Utiliznd programele Matlab-Simulink disponibile, se efectueaz simularea comportrii
celor trei SRA cu RG-F considernd diverse regimuri de interes.
4. Utiliznd programele Matlab-Simulink disponibile, se efectueaz implementarea a dou
regulatoare fuzzy, pentru problemele Crane i SE. Se efectueaz apoi experimentele practice de
reglare (n timp real) pentru cele dou SRA cu RG-F considernd diverse regimuri de interes.
5. Se efectueaz un studiu comparativ al rezultatelor exmerimentale cu cele obinute prin
simulare prin prisma performanelor asigurate de SRA cu RG-F.
6. Se efectueaz studiul efectelor modificrii diferiilor parametri ai RG-F asupra comportrii
n timp real a SRA cu RG-F.

D. BIBLIOGRAFIE:
[1] Mamdani, E.-H.: Applications of Fuzzy Control of Simple Dynamic Plant, IEE Proceedings, pt.
D, vol., 1, no. 12, pp. 1585-1588, 1974.
[2] Precup, R.-E.: Soluii de conducere fuzzy a sistemelor cu faz neminim. Aplicaii la conducerea
hidrogeneratoarelor, Editura Orizonturi Universitare, Timioara, 2000.
[3] Feedback: Digital Pendulum System. Users Manual, Feedback Instruments Ltd., Crowborough,
UK, 1998.
[4] Precup, R.-E.: Ingineria reglrii automate, Notie de curs, UPT, Timioara, 2006-2010.
[5] Preitl, St.: Ingineria reglrii automate I i II, Notie de curs, UPT, Timioara, 2000-2006.
[6] Preitl, St., R.-E. Precup i A. Porumb: Elemente de reglare automat, Curs, vol.1, Litografia UPT,
Timioara, 1996.
[7] Drgulescu, D.: Mecanic, Notie de curs, UPT, Timioara, 1998-2002.
[8] Protean, O.: Modelare, simulare i elemente de identificare, Notie de curs, UPT, Timioara,
2006-2010.
[9] Feedback: Rule-Based and Fuzzy Controllers, Feedback Instruments Ltd., Crowborough, UK,
1998.
[10] Preitl, St. i R.-E. Precup: Introducere n conducerea FUZZY a proceselor, Editura Tehnic,
Bucureti, 1997.
[11] Precup, R.-E. i St. Preitl: Fuzzy Controllers, Editura Orizonturi Universitare, Timioara, 1999.
[12] Galichet, S. i L. Foulloy: Fuzzy Controllers: Synthesis and Equivalences, IEEE Transactions
on Fuzzy Systems, vol. 3, pp. 140-148, 1995.
[13] Matlab: Fuzzy Logic Toolbox, MathWorks Inc., Natick, MA, 1998.
[14] Simulink: Simulink, Dynamic Sistem Simulation for Matlab, MathWorks Inc., Natick, MA, 1998.
[15] A.Turnau (ed.), A. Pilat, K. Hajduk, A. Korytowski, W. Grega, P. Gorczyca, K. Kolek, M. Rosl:
Teaching Manual 1 for Inverted Pendulum-Cart System - Modelling, Identification, PID and LQ
Controllers - Krakow, September 1997.
[16] Precup, R.-E.: Matematici asistate de calculator. Algoritmuri, Editura Orizonturi Universitare,
Timioara, 2007.

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