34
Matlab Control System Toolbox U ovom prikazu nije želja da se daju mogudnosti Toolbox-a, ved da se ukaže na one koje se češde upotrebljavaju, kao i one čiji je način rada ranije sretan.

Control System Toolbox - WordPress.com · • Primer Prevodjenje modela servosistema iz prostora stanja u funkciju prenosa » [P,Q] = ss2tf(A,B,C,D) P = 0 0 38.9000 Q = 1.0000 12.5000

  • Upload
    others

  • View
    12

  • Download
    0

Embed Size (px)

Citation preview

MatlabControl System Toolbox

U ovom prikazu nije želja da se daju mogudnosti Toolbox-a, ved da se ukaže na one koje se češde upotrebljavaju, kao i one čiji je način

rada ranije sretan.

Control-System Toolbox

• je kolekcija algoritama za modeliranje, analizu i projektovanje SAU

• realizovan je kroz biblioteku M-datoteka

Neke osobine

• omogudava modeliranje sistema preko funkcije prenosa ili

preko modela u prostoru stanja

• podržani su i kontinualni i digitalni (diskretni) sistemi

automatskog upravljanja

• odezbeđeno je pretvaranje jednog tipa modela u drugi

• poseduje brojne f-je koje grafički prikazuju kretanje sistema u

vremenskom ili kompleksnom domenu – čime je olakšano

tumačenje podataka

Sastoji se od funkcija za

• modeliranje sistema

• analizu sistema

• modeliranje sistema sa otvorenom i zatvorenom povratnom

spregom

• smanjenje (redukciju) reda sistema i transformacije modela

• projektovanje sistema

Modeli sistema

• Kontinualnih sistema

– model u prostoru stanja

– funkcija prenosa W(s)• određena polinomima broioca i imenioca

• nulama, polovima i pojačanjem

• Diskretnih (digitalnih) sistema

– model u prostoru stanja

– funkcija prenosa W(z)• određena polinomima broioca i imenioca

• nulama, polovima i pojačanjem

Kontinualan model u prostoru stanja

je linearan, vremenski nepromenljiv (invarijantan) sistem sa više ulaza i više izlaza (MIMO)

opisuje se poznatim skupom diferencijalnih jednačina 1. reda i skupom algebarskih jednačina

gde je: x(t) vektor koordinata stanja, u(t) vektor ulaza u sistem, a y(t) vektor izlaza.

U Matlab-u model se jednostavno predstavlja pomodu matrica A, B, C i D, koje su zasebne promenljive

)()()(

)()()(

ttt

ttt

DuCxy

BuAxx

• Primer Kretanje servomehanizma sačinjenog od jednosmernog elektromotora sa opteredenjem se opisuje diferencijalnom jednačinom

tj.

Zadavanje modela u Matlab-u se vrši unošenjem matrica modela

» A = [0 1; 0 –12.5]

» B = [0; 38.9]

» C = [1 0]

» D = 0

)(01)()(

),(9,38

0)(

5,120

10)()()(

ttty

tuttutt

xCx

xBAxx

)(9,38)(5,12)( tUtt m

Funkcija prenosa - preko polinoma

• opisuje linearan, vremenski nepromenljiv sistem sa više izlaza i jednim ulazom (SIMO), mada se češto upotrebljava samo kao veza jednog ulaza i jednog izlaza (SISO)

• PrimerModel sa dva izlaza:

se u Matlab-u predstavlja kao:» P = [0 0 3 2

1 0 2 5];

» Q = [3 5 2 1];

)()()( sUsGsY

1253

52

23

)(

)()(

23

3

sss

ss

s

sQ

sPsG

Funkcija prenosa - nule, polovi i pojačanje• f-ja prenosa se može prestaviti u faktorizovanom obliku:

gde su p(i) nule, q(i) polovi sistema, a k je pojačanje.

• Primer» [p,q,k] = tf2zp(P,Q)

p = -0.6667 0.6641 + 1.8230i

Inf 0.6641 - 1.8230i

Inf -1.3283

q = -1.3563

-0.1552 + 0.4708i

-0.1552 - 0.4708i

k = 1.0000

0.3333

nmqsqsqs

pspspsk

sQ

sPsG

n

m

,

))...()((

))...()((

)(

)()(

21

21

...nastavak

• PrimerImenioc gornje funkcija prenosa se može dobiti kao

» Q = 3 * poly(q)

Q =

3.0000 5.0000 2.0000 1.0000

Funkcija prenosa - suma parcijalnih sabiraka

• Ovaj način predstavljana radi samo za SISO modele.

• Primer» [r,t,k] = residue(P(1,:),Q)

r = -0.4143

0.2072 - 0.5334i

0.2072 + 0.5334i

t = -1.3563

-0.1552 + 0.4708i

-0.1552 - 0.4708i

k = []

)(...)(

)()(

2

2

1

1 skts

r

ts

r

ts

r

sQ

sPsG

n

n

Diskretan model u prostoru stanja

• upotrebljava matrice E, F, C, D za opis (isto kao i kontinualan model)

• u principu x, u i y su vektori

)()()(

)()()1(

kkk

kkk

DuCxy

FuExx

Funkcija prenosa digitalnog sistema

• može se predstaviti kao količnik polinoma ili kao kolekcija nula i polova i pojačanja

• umesto kompleksne promenljive s, upotrebljava se kompleksna promenljiva z

• i ovde se može upotrebiti suma parcijalnih sabiraka

• kod upotrebe modela sistema treba paziti da se podaci vezani za kontinulan model ne upotrebe u funkcijama specifičnim za diskretan domen i obrnuto.

Konverzije modela

• opisane grupe od po tri tipa modela se mogu međusobno konvertovati - prevoditi iz jednog oblika u drugi.

• Kod ovih konverzija je potrebno ispoštovati ograničenja modela po broju izlaza, tako da npr. nije mogude prevesti model iz prostora stanja sa više izlaza u reprezentaciju preko funkcija prenosa

Konverzije modela - nastavak...

[p,q] = ss2tf(a,b,c,d,bu)

[r,t,k]= ss2zp(a,b,c,d,bu)

[a,b,c,d] = tf2ss(p,q)

[r,t,k] = tf2zp(p,q)

[a,b,c,d] = zp2ss(r,t,k)

[p,q] = zp2tf(r,t,k)

• Primer Prevodjenje modela servosistema iz prostora stanja u funkciju prenosa

» [P,Q] = ss2tf(A,B,C,D)

P = 0 0 38.9000

Q = 1.0000 12.5000 0

tj. dobijena je funkcija prenosa

Ako se izlaz sistema posmatra druga koordinata stanja» [Pw,Qw] = ss2tf(A,B,[0 1],D)

Pw = 0 38.9000 0

Qw = 1.0000 12.5000 0

Eliminisanje suvišne nule i pola:» [Pw,Qw] = minreal(Pw,Qw)

1 pole-zeros cancelled

Pw = 0 38.9000

Qw = 1.0000 12.5000

)5,12(

9,38)(

ssUsG

m

Diskretizacija modela

• predstavlja formiranje diskretnog (digitalnog) modela sistema na osnovu poznavanja njegovog kontinualnog modela u prostoru stanja i obrnuto.

[a,b] = d2c(e,f,T)

[e,f] = c2d(a,b,T)

[ad,bd,cd,dd] = c2dt(a,b,c,d,T,kašnj)

Primer Diskretizovanje modela servomehanizma» [E,F] = c2d(A,B,0.025)

E = 1.0000 0.0215

0 0.7316

F = 0.0110

0.8352

Sada se može diskretan model sistema prevesti u oblik funkcije prenosa» [Pz,Qz] = ss2tf(E,F,C,D)

Pz = 0 0.0110 0.0099

Qz = 1.0000 -1.7316 0.7316

tj. dobijena je diskretna funkcija prenosa

7316.07316.1

0099.0011.0)(

2

zz

z

UzG

m

Funkcije za analizu

• Analiza u VREMENSKOM domenu

• Analiza u KOMPLEKSNOM domenu

Analiza u vremenskom domenu

U vremenskom domenu se mogu posmatrati: vreme porasta, vreme smirenja, preskok, greška u ustaljenom stanju i to na osnovu:

karakterističnog odziva na jediničnu pobudu step dstep

karakterističnog odziva na impulsku pobudu impulse dimpulse

odziva na početno stanje initial dinitial

odziva na proizvoljnu pobudu lsim dlsim

odziva na pobudu belim šumom covar dcovar

Analiza u vremenskom domenu - Kontinualan domen

[y,x,t] = step(a,b,c,d,bu,t)

[y,x,t] = step(p,q,t)

[y,x,t] = impulse(a,b,c,d,bu,t)

[y,x,t] = impulse(p,q,t)

[y,x,t] = initial(a,b,c,d,x0,t)

[y,x,t] = lsim(a,b,c,d,u,t,x0)

[y,x,t] = lsim(p,q,u,t)

• Ukošeni parametri nisu obavezni.

• Ukoliko se funkcija pozove bez preuzimanja rezultata, Matlab de “sam nacrtati odziv”.

• Primer Jedinični odziv sistema

» step(A,B,C,D,1,0:0.001:0.2)

Istovetan dijagram se dobija izvršavanjem

» step(P,Q,0:0.001:0.2)

0 0.05 0.1 0.15 0.20

0.05

0.1

0.15

0.2

0.25

0.3

0.35

0.4

Time (secs)

Analiza u vremenskom domenu - Digitalan domen

[y,x] = dstep(e,f,c,d,bu,n)

[y,x] = dstep(p,q,n)

[y,x] = dimpulse(e,f,c,d,bu,n)

[y,x] = dimpulse(p,q,n)

[y,x] = dinitial(e,f,c,d,x0,n)

[y,x] = dlsim(e,f,c,d,u,x0)

[y,x] = dlsim(p,q,u)

• Ukošeni parametri nisu obavezni.

• Ukoliko se funkcija pozove bez preuzimanja rezultata, Matlab de “sam nacrtati odziv”.

0 1 2 3 4 5 6 7 80

0.05

0.1

0.15

0.2

0.25

0.3

0.35

0.4

No. of Samples

Primer Jedinični odziv sistema» dstep(E,F,C,D,1,9)

Primer Jedinični odziv sistema – uporedni prikaz

[y,x,t]=step(A,B,C,D,1,0:0.001:0.2);

T1=0.025; [E1,F1]=c2d(A,B,T1); y1=dstep(E1,F1,C,D,1,0.2/T1+1);

T2=T1/3; [E2,F2]=c2d(A,B,T2); y2=dstep(E2,F2,C,D,1,0.2/T2+1);

plot(t,y,'r');

hold on

stairs((0:length(y1)-1)*T1,y1,'b')

stairs((0:length(y2)-1)*T2,y2,'g')

hold off

0 0.02 0.04 0.06 0.08 0.1 0.12 0.14 0.16 0.18 0.20

0.05

0.1

0.15

0.2

0.25

0.3

0.35

0.4

Analiza u kompleksnom domenu

• Analiza u kompleksnom domenu daje odgovore na: propusni opseg učestanosti, rezonancu, jednosmerno pojačanje, preteke stabilnosti, stabilnost sistema sa zatvorenom povratnom spregom, frekventni odziv sistema, ...

Analiza u kompleksnom domenuBode-ove i Nyquist-ove krive

• Kontinualan domen

[m,f,w] = bode(a,b,c,d,bu,w)

[m,f,w] = bode(p,q,w)

[m,f,w] = nyquist(a,b,c,d,bu,w)

[m,f,w] = nyquist(p,q,w)

• Digitalan domen

[m,f,w] = dbode(e,f,c,d,T,bu,w)

[m,f,w] = dbode(p,q,T,w)

[m,f,w] = dnyquist(e,f,c,d,T,bu,w)

[m,f,w] = dnyquist(p,q,T,w)

Primer» nyquist([1 2],[1 2 5])

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7-0.8

-0.6

-0.4

-0.2

0

0.2

0.4

0.6

Real Axis

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

-0.8

-0.6

-0.4

-0.2

0

0.2

0.4

0.6

0.8

1

Nyquist Diagram

Real Axis

Imagin

ary

Axi

s

Primer» nyquist([1 2],[1 2 5 0])

-0.25 -0.2 -0.15 -0.1 -0.05 0 0.05-1.5

-1

-0.5

0

0.5

1

1.5

Real Axis

Imag

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

-1

-0.5

0

0.5

1

1.5

Nyquist Diagram

Real Axis

Imagin

ary

Axi

s

» nyquist([1 2],[1 2 5 0],logspace(-0.5,2))

Primer» P=80*[1/20 1]; » Q=conv([1/0.1 1],conv([1/100 1],[1/100 1]))Q = 0.0010 0.2001 10.0200 1.0000» bode(P,Q)

10-2

10-1

100

101

102

103

-50

0

50

Frequency (rad/sec)

Gain

dB

10-2

10-1

100

101

102

103

-90

-180

0

Frequency (rad/sec)

Phase

deg

-100

-50

0

50

Magnitu

de (

dB

)

10-3

10-2

10-1

100

101

102

103

104

-180

-135

-90

-45

0

Phase (

deg)

Bode Diagram

Frequency (rad/sec)

Osobine modela

Postoje funkcije koje određuju:

• kontrolabilnost (ctrb) i opservabilnost sistema (obsv),

• faktor prigušenja i prirodnu učestanost (damp i ddamp),

• pojačanje sistema u ustaljenom stanju (dcgain i ddcgain),

• sopstvene vrednosti kontinualnog sistema sortirane po realnom delu (esort) i

• sopstvene vrednosti diskretnog modela sortirane po modulu (dsort)

...

Modeliranje sistema

• postoje brojne funkcije koje pomažu kod formiranja složenih modela sistema na osnovu poznavanja modela delova sistema.

– funkcije za ostvarenje serijskih series,

– paralelnih parallel i

– povratnih veza feedback,

– jedinična povratna sprega cloop i

– funkcije za povezivanje na osnovu blok dijagrama (blkbuild i connect).

– Dodatne funkcije za manipulisanje modelom: augstate, append, ssselect, ssdelete.

• Vedina ovih funkcija može da radi i sa modelima u prostoru stanja i sa funckijama prenosa.

Modeliranje sistema - nastavak

• Postoje posebne funkcije za formiranje slučajnih modela (rmodel i drmodel), za formiranje modela sistema 2. reda (ord2), modela sa kašnjenjem (pade).

Rad sa modelima i projektovanje regulatora

• Posebne grupe funkcije se odnose na redukovanje modela sistema i transformacije modela iz jedne kanonske forme u drugu isl.

• Funkcije za dizajn se odnose na projektovanje regulatora. Neke od funkcija se odnose na izbor pojačanja, kao što je GMK (rlocus).

• Druge funkcije impementiraju savremene tehnike opservera stanja, projektovanja linearnog optimalnog regulatora, kao i tehnike podešavanja polova.

• Vedina ovih funkcija ima varijantu i za kontinualan i za digitalana domen.