Documente Academic
Documente Profesional
Documente Cultură
RA.LAB.10.A
L10 - 1/17
Con!inut
1. Introducere ......................................................................................................................2 1.1. Scop .........................................................................................................................2 1.2. Aria de utilizare.........................................................................................................2 1.3. Documenta!ie asociat" .............................................................................................2 2. Estimatori de stare..........................................................................................................3 2.1. Observabilitate..........................................................................................................3 2.2. Observatorul Luenberger..........................................................................................4 2.3. Proiectarea compensatorului stabilizator cu observator Luenberger........................6 2.4. Estimatoare minimale ...............................................................................................7 2.5. Proiectarea compensatorului stabilizator cu estimator minimal................................8 2.6. Exemple....................................................................................................................9 3. Cerin!ele lucr"rii de laborator ......................................................................................17
Lista de figuri
Figura 10.1 Estimator / observator de stare .............................................................................3 Figura 10.2 Schem" de compensare utiliznd un observator Luenberger...............................6 Figura 10.3 Elementele unui compensator stabilizator cu estimator Luenberger ....................6 Figura 10.4 Compararea st"rilor reale #i a celor estimate cu un observator cu predictie ......13 Figura 10.5 Evolu!ia st"rii x1 #i a estimatei ei cu un observator cu predictie .........................13 Figura 10.6 Evolu!ia st"rii x2 #i a estimatei ei cu un observator cu predictie .........................14 Figura 10.7 Evolu!ia st"rii x3 #i a estimatei ei cu un observator cu predictie .........................14 Figura 10.8 Compararea st"rilor reale #i a celor estimate cu un observator redus................15 Figura 10.9 Evolu!ia st"rii x1 #i a estimatei ei cu un observator redus ..................................15 Figura 10.10 Evolu!ia st"rii x1 #i a estimatei ei cu un observator redus ................................16 Figura 10.11 Compararea ie#irii cu estimator cu predictie, redus #i f"r" estimator ...............16 Figura 10.12 Evolu!ia ie#irii: A)estimator cu predic!ie, B) f"r" estimator, C) estimator redus 17
1. Introducere
1.1.
! ! !
Scop
Descrierea a dou" tipuri de observatoare / estimatoare de stare: cu predic!ie #i redus Prezentarea proiect"rii compensatorului stabilizator n cazul celor 2 estimatoare Proiectarea n Matlab a compensatoarelor stabilizatoare #i verificarea rezultatului ob!inut prin simularea sistemului rezultant #i analiza polilor acestuia
1.2.
Aria de utilizare
Laboratorul se adreseaz" n principal studen!ilor Facult"!ii de Electrotehnic", din anul III, care urmeaz" cursul du Regulatoare Automate.
1.3.
Documenta!ie asociat"
! C. Ila#, M. Priboianu Teoria sistemelor de reglare automat!. ndrumar de laborator, Ed. Matrix Rom, Bucure#ti, 2004. ! A. Sarca Contribu"ii la comanda cu procesoare de semnal a ac"ion!rilor electrice, Tez" de doctorat, UPB, 1997 ! C. Ila#, D. Boghiu Teoria sistemelor de reglare automat!. Culegere de probleme, Litografia UPB, Bucure#ti, 1994
L10 - 2/17
2. Estimatori de stare
Aplicarea unei legi de comand" dup" stare presupune cunoa#terea m"rimilor de stare. Din punct de verere practic, m"surarea tuturor m"rimilor de stare nu este o solu!ie recomandat" datorit" costurilor foarte ridicate ale traductoarelor #i interfe!elor aferente. Solu!ia la aceast" problem" o reprezint" observatorii / estimatorii de stare. Un observator de stare (vezi Figura 10.1) estimeaz" st"rile unui proces pe baza modelului matematic al acestuia utiliznd doar m"rimile de intrare (comand") #i cele de ie#ire (m"surate) din proces. Cum m"rimea de comand" este cunoscut", singurele m"rimi care trebuiesc m"surate sunt cele de ie#ire. Utilizarea estimatoarelor de stare poate aduce economii importante. De exemplu n cazul unui proces cu 4 m"rimi de stare #i o singur" ie#ire, n locul a 4 interfe!e de m"sur" cte una pentru fiecare m"rime de stare se va folosi o singur" interfat" de m"sur" pentru m"rimea de ie#ire.
x"R
^
x1
^
xn
Estimator de stare
Figura 10.1 Estimator / observator de stare Pentru ca un estimator de stare s" func!ioneze corect sunt necesare 3 condi!ii: ! ! ! model procesului s" corespund" cu bun" aproxima!ie procesului real comanda luat" n calcul n estimator s" corespund" cu cea trimis" c"tre proces m"rimea de ie#ire s" fie citit" cu precizie
ndeplinirea primei condi!ii depinde doar gradul de cunoa#tere al procesului. ndeplinirea celei de-a treia condi!ii depinde de calitatea traductoarelor utilizate. ndeplinirea celei de-a doua condi!ii depinde ns" #i de modul de implementare a estimatorului.
2.1.
Observabilitate
Pentru a putea estima st"rile unui sistem, acesta trebuie s" fie este observabil. Un sistem este observabil dac" exist" un interval de timp finit t n care starea ini!ial" x0 # x(t ) se poate determina din cunoa#terea evolu!iei m"rimii de comand"
t #0
L10 - 3/17
(10.1)
n cazul particular al unui sistem cu o singur" m"rime de ie#ire, adic" cu p # 1 , matricea de observabilitate devine o matrice p"tratic":
(10.2)
Not": n Matlab, matricea de observabilitate se ob!ine cu func!ia obsv #i rangul unei matrici cu func!ia rank. Exemplu: >> A=[1 2 3;1 1 1;1 0 1]; >> cT=[0 0 1]; >> Q=obsv(A,cT) Q = 0 0 1 1 0 1 2 2 4 >> rank(Q) ans = 3 Not": Controlabilitatea #i observabilitatea sunt propriet"!i duale. Astfel, dac" la un triplet ( A, B, C ) : ! Perechea ( A, B) este controlabil" , perechea ( B , A ) este observabil"
T T
2.2.
Observatorul Luenberger
vectorul Observatorul Luenberger este descris de rela!ia (10.3) unde s-a notat cu x m"rimilor de stare estimate:
(10.3)
' # Ax / bu / lp * y + c T x x
n
.
T
la Observatorul include ecua!ia (10.4) pentru a calcula evolu!ia m"rimii de stare estimate x
care se adaug" o corec!ie lp " R propor!ional" cu eroarea dintre ie#irea y a sistemului
L10 - 4/17
(10.4)
x ' # Ax / bu
0
e # x+ x
T
eroarea de estimare, sc"znd (10.4) din (10.3) #i !innd cont c" y # c x se ob!ine ecua!ia (10.6) care descrie evolu!ia erorii de estimare: (10.6)
e ' # ( A + lp * c T )e
Evolu!ia erorii este dictat" de valorile proprii ale matricei A + lp * c care depind de modul de
T
5( A + lp * cT ) # 5( A + lp * cT )T # 5( AT + c * lp T )
T T T
problema determin"rii lp astfel nct valorile proprii ale matricei A + c * lp alocate dup" dorin!" este identic" cu cea a calculului unei legi de comand" k valorile proprii ale matricei A + bk .
T
AT " R nxn , c " R nx1 pe post de perechea ( A, b) 7e # { 6 1 , 6 2 , ..., 6 n } mul!imea valorilor proprii dorite pentru estimator
T
La ie#ire, se ob!ine: lp
# kT
T
Not": Pentru a putea aplica algoritmul Ackermann, perechea ( A , c) trebuie s" fie controlabil" ceea ce este echivalent cu perechea (c , A) s" fie observabil"; Observatorul Luenberger se mai nume#te #i observator sau estimator cu predic"ie. Elementul de predic!ie se poate remarca mult mai u#or n cazul estimatoarelor cu timp discret unde rela!ia (10.3) devine: (10.9)
T
i /1 # Ax i / bu i / lp * yi + c T x i x
L10 - 5/17
2.3.
Un compensator stabilizator se ob!ine prin combinarea unei legii de comand" dup" stare cu un estimator de stare. n cazul cnd se folose#te un observator Luenberger, se ob!ine schema de compensare din Figura 10.2.
x' # A * x / b * u y # cT * x
^
-k
ESTIMATOR DE STARE
Compensator Stabilizator
Figura 10.2 Schem! de compensare utiliznd un observator Luenberger n acest caz, comanda se calculeaz" utiliznd estimarea celor n m"rimi de stare: (10.10)
u # +k T x
! ! !
! ! !
|||
u
PROCES
Compensator stabilizator
Figura 10.3 Elementele unui compensator stabilizator cu estimator Luenberger Ecua!iile compensatorului stabilizator se ob!in nlocuind (10.10) n (10.3): (10.11)
4 ' # A + b * k T + lp * cT x / lp * y 1x 3 T 1 2u # +k x
L10 - 6/17
Rela!iile (10.12) indic": ! modul de ob!inere al elementelor ( Ac , bc , cc ) pentru reprezentarea n spa!iul st"rilor a compesatorului stabilizator ! ie#irea compensatorului care este comanda c"tre proces ! comanda compensatorului care este ie#irea din proces
40 '
(10.12)
Combinnd ecua!iile procesului cu ecua!iile compensatorului se ob!in ecua!iile sistemului rezultant: (10. 14)
6I + AR #
6I + A lpc T
6I + A / bk T bk T # 0 6I + A / bk T / lpc T
+ lc T 6I + A / lc T
Rela!ia (10.15) eviden!iaz" un rezultat fundamental cunoscut drept principiul separ!rii: valorile proprii ale matricei sistemului rezultant reprezint" reuniunea disjunct" a valorilor proprii impuse prin legea de comand" dup" stare #i a valorilor proprii impuse estimatorului. (10.16)
' 5( A + lp * c T ) 5( AR ) # 5( A + b * k T ) 8
Not": Principiu separ"rii #i men!ine validitatea #i n cazul estimatorului minimal prezentat mai jos. El permite ca proiectarea legii de comand" #i a legii de estimare s" se fac" n mod independent.
2.4.
Estimatoare minimale
Estimatoarele minimale numite #i estimatoare reduse pot fi utilizate n cazul proceselor cu o singur" m"rime de ie#ire, cnd aceasta este identic" cu una din m"rimile de stare. n acest caz, se poate renun!a la estimarea tuturor st"rilor, una fiind deja disponibil", aplicndu-se o form" redus" de estimator cu predic!ie care furnizeaz" doar celelalte n -1 m"rimi de stare. Procesele la care o m"rime de stare este m"surat" la ie#ire, pot fi puse sub forma:
L10 - 7/17
(10.17)
x1' # A1 * x1 / a2 * y / b1 * u
T y ' + < * y + ; * u # a1 * x1
poate fi v"zut" ca fiind o reprezentare n spa!iul st"rilor a unui proces cu x1 st"ri n care
a 2 * y / b1 * u este comanda #i y ' + < * y + ; * u este ie#irea. n acest caz, ecua!ia unui
estimator cu predic!ie pentru sistemul (10.18) este: (10.19)
T 1' # A1 * x 1 / a 2 * y / b1 * u / lr * ( y ' + < * y * ; * u + a1 1 ) x *x
Dac" (10.19) se scade din prima rela!ie (10.18) #i se !ine cont de cea de-a doua rela!ie, se ob!ine ecua!ia (10.20) care descrie evolu!ia erorii de estimare: (10.20)
T e ' # ( A1 + lr * a1 )*e
Prin urmare calculul lr se poate face aplicnd algoritmul Ackerman perechii ( A1 , a1 ) #i impunnd n-1 valori proprii dorite pentru estimator.
2.5.
n cazul utiliz"rii unui estimator de stare minimal, legea de comand" va fi: (10.21)
T unde: k T # k1
ky
Pentru a elimina y din rela!ia (10.19), se poate aplica schimbarea de variabile: (10.22)
nlocuind (10.24) n (10.23) se ob!ine reprezentarea n spa!iul st"rilor a unui compensator stabilizator bazat pe un estimator minimal: (10.25 )
' 4 # Acr * xcr / bcr * u cr 1 xcr 3 T 1 2 ycr # ccr * xcr / d cr * u cr
unde:
xcr # w u cr # y
este starea estimatorului minimal este intrarea n estimator egal" cu ie#irea din procesul controlat
L10 - 8/17
y cr # u
T T T Acr # A1 + b1 * k1 + lr * a1 / lr * ; * k1
T T bcr # A1 * lr + lr * a1 * lr / a2 + lr * < + (b1 + lr * ;) * (k1 * lr / k y )
T ccr # + k1
T d cr # + k1 * lr + k y
1 # w / lr * y , Not": $innd cont de faptul c" cele n-1 st"ri estimate sunt date de rela!ia x dac" starea ini!ial" a procesului este nenul" atunci estimatorul redus trebuie ini!ializat cu:
(10.26)
10 + lr * xn 0 w0 # x
plece cu o stare ini!ial" w0 # +lr * xn 0 care va fi diferit" de zero dac" valoarea ini!ial" a ultimei st"ri a procesului este nenul". Func!ia de transfer a compensatorului stabilizator cu estimator de stare minimal este: (10.27)
T H cr (6 ) # ccr (6I + Acr ) +1 bcr / d cr
10 este estimarea ini!ial" iar xn 0 valoarea ini!ial" a ultimei st"ri egal" cu ie#irea unde x 10 # 0 , estimatorul minimal trebuie s" x n # y . Prin urmare, chiar dac" estimarea ini!ial" x
Utilizarea estimatoarelor minimale ofer" avantajul ob!inerii unui compensator cu un ordin redus cu 1. Fa!" de estimatorul cu predinc!ie unde nu exist" nici o informa!ie despre starea ini!ial", estimatorul minimal porne#te cu o estimare ini!ial" mai bun" dat" de (10.26) care se bazeaz" pe o m"rime m"surat". n majoritatea cazurilor, cunoa#terea exact" a unei m"rimi de stare este un avantaj, deaceea estimatorul minimal este preferat celui cu predic!ie cnd m"rimea de ie#ire este una din m"rimile de stare. Exist" ns" #i situa!ii cnd zgomotul de m"sur" este considerabil #i atunci utilizarea unui estimator total poate da rezultate mai bune deoarece prin estimarea st"rilor se realizeaz" #i o filtrare.
2.6.
Exemple
1. S" se construiasc" un observator de stare Luenberger pentru procesul descris prin func!ia de transfer
H -s . #
7 e # =+ 1, + 2>.
H (s) :
# Ax / bu / lp * y + c T x x
unde
lp se calculeaz" aplicnd algoritmul Ackermann perechii ( AT c) cu valorile proprii dorite 7 e # =+ 1, + 2>. Utiliznd Matlab:
>> A=[0 1;-100 -101];
L10 - 9/17
Prin urmare:
1 & )+ 98 / 100& 1 & ) 98 ) 0 +' * 9100 0: # ' A + lp * c T # ' $ $ $ (+ 9900 + 101% (+ 100 + 101% ( 98 %
#i ecua!ia observatorului devine:
! ) 98 1 & )+ 0.98& )0 & #' /' x *x * y / ' $ *u $ $ (+ 9900 + 101% ( 98 % (1%
)1 2 3& )0 & )1 & ' $ ' $ $ T A # '1 1 1$, b # '0$, c # [0 0 1] #i starea ini!ial": x0 # ' ' 2$ ' ' ' (1 0 1$ % (1$ % ( 3$ %
Se cere: a) S" se construiasc" un compensator stabilizator bazat pe un observator de stare Luenberger cu predic!ie. Valorile proprii dorite pentru legea de comand" dup" stare sunt 7 # =+ 1, + 2, + 3> #i pentru observator 7 e # =+ 4, + 5, + 6> b) S" se construiasc" un compensator stabilizator bazat pe un observator de stare minimal pentru acelea#i valori proprii ca la punctul a) pentru legea de comand" #i 7 e # =+ 4, + 5> pentru observator c) S" se compare evolu!ia m"rimilor de stare estimate cu cele reale pentru cele 2 tipuri de compensatoare stabilizatoare d) S" se compare evolu!ia ie#irii procesului sub legea de comand" pentru cazurile cnd m"rimile de stare sunt: m"surate, estimate cu un observator cu predic!ie, estimate cu un observator minimal Solu!ie: Calculele se fac cu ajutorul urm"torului program Matlab A=[1 2 3;1 1 1;1 0 1]; b=[0; 0; 1]; %vector coloana cT=[0 0 1]; %vector linie x0=[1;2;3]; %starea initial" [num,den]=ss2tf(A,b,cT,0) %func!ia de transfer a procesului %Calcul lege de comand" dup" stare kT R=ctrb(A,b); %Matricea de controlabilitate rangR=rank(R) %Verificare rang R Pk=[-1 -2 -3]; %Valorile proprii dorite pentru legea de comand" kT=acker(A,b,Pk); %kT=[kT(1) kT(2) kT(3)] - vector linie %Calcul compensator stabilizator cu estimator de stare cu predic!ie Pl=[-4 -5 -6]; %Valorile proprii dorite pentru estimator Q=obsv(A,cT); %Matricea de observabilitate rangQ=rank(Q) %Verificare rang Q
L10 - 10/17
lpT=acker(A',cT',Pl); %lpT - vector linie lp=lpT'; %lp - vector coloana %Reprezentarea n spa!iul st"rilor a compensatorului cu estimator de stare cu predic!ie Ac=A-b*kT-lp*cT bc=lp cc=-kT %Starea ini!ial" a estimatorului cu predictie este nul" xe0=[0;0;0]; % Func!ia de transfer a compesatorului cu estimator de stare cu predic!ie [num_cp,den_cp]=ss2tf(Ac,bc,cc,0) % Pentru verificare se calculeaz" func!ia de transfer a sistemului rezultant [num_r,den_r]=feedback(num,den,num_cp,den_cp,+1); % R"d"cinile numitorului trebuie s" fie coincid" cu valorile proprii impuse % pentru legea de comand" #i estimator adic": -1,-2,-3,-4,-5,-6 roots(den_r) %--------------------------------------------------------------%Calcul compensator stabilizator cu estimator de stare redus %Definirea elementelor sistemului redus A1=A(1:2,1:2); %primele (n-1)x(n-1) elemente din A a2=[A(1,3);A(2,3)]; %primele n-1 elemente - ultima coloana A a1T=[A(3,1) A(3,2)]; %primele n-1 elemente - ultima limie A alfa=A(3,3); %ultimul element din A b1=b(1:2); %primele n-1 elemente din b beta=b(3,1); %ultimul element din b k1T=kT(1:2); %primele n-1 elemente din kT ky=kT(3); %ultimul element din kT Pr=[-4 -5]; %valorile proprii dorite pentru estimatorul redus lrT=acker(A1',a1T',Pr); %lrT - vector linie lr=lrT'; %lr - vector coloana %Reprezentarea n spa!iul st"rilor a compensatorului cu estimator de stare redus Acr=A1-b1*k1T-lr*a1T+lr*beta*k1T bcr=a2-lr*alfa+A1*lr-lr*a1T*lr-(b1-lr*beta)*(k1T*lr+ky) ccr=-k1T; dcr=-k1T*lr-ky %Starea initial" a estimatorului redus w0=xe0(1:2)-lr*x0(3); % Func!ia de transfer a compesatorului cu estimator de stare redus [num_cr,den_cr]=ss2tf(Acr,bcr,ccr,dcr) % Pentru verificare se calculeaz" func!ia de transfer a sistemului rezultant [num_rr,den_rr]=feedback(num,den,num_cr,den_cr,+1); % R"d"cinile numitorului trebuie s" fie coincid" cu valorile proprii impuse % pentru legea de comand" #i estimator adic": -1,-2,-3,-4,-5 roots(den_rr) n urma rul"rii programului de mai sus se ob!in urm"toarele rezultate: num = Columns 1 through 4 0 1.0000 -2.0000 -1.0000 den = Columns 1 through 4 1.0000 -3.0000 -2.0000 2.0000 rangR = 3 rangQ = 3 Ac = 1.0000 2.0000 -109.0000
L10 - 11/17
1.0000 1.0000 -123.0000 -6.0000 -10.0000 -26.0000 bc = 112 124 18 cc = -7.0000 -10.0000 -9.0000 num_cp = 1.0e+003 * Columns 1 through 4 0 -2.1860 -0.0500 den_cp = 1.0e+003 * Columns 1 through 4 0.0010 0.0240 -1.9370 ans = -6.0000 -5.0000 -4.0000 -3.0000 -2.0000 -1.0000 Acr = 67.0000 112.0000 97.0000 161.0000 bcr = 2620 3772 ccr = -7.0000 -10.0000 dcr = -246 num_cr = -246.0000 28.0000 274.0000 den_cr = 1.0000 -228.0000 -77.0000 ans = -5.0000 -4.0000 -3.0000 -2.0000 -1.0000
2.1360
-0.7080
Pentru a compara evolu!ia st"rilor reale cu cele estimate cu observatorul cu predic!ie s-a folosit schema de simulare din Figura 10.4. Rezultatele sunt prezentate n Figura 10.5, Figura 10.6 #i Figura 10.7. St"rile reale apar cu linie albastr" #i cele estimate cu linie ro#ie. Pentru a compara evolu!ia st"rilor reale cu cele estimate cu observatorul redus s-a folosit schema de simulare din Figura 10.8. Rezultatele sunt prezentate n Figura 10.9 #i Figura 10.10. St"rile reale apar cu linie albastr" #i cele estimate cu linie ro#ie. Pentru a compara evolu!ia ie#irii procesului cu estimator cu predic!ie, redus #i f"r" estimator (m"rimile de stare sunt m"surate) s-a folosit schema de simulare din Figura 10.11. Rezultatele sunt prezentate n Figura 10.12.
L10 - 12/17
L10 - 13/17
2 timp [s]
L10 - 14/17
Sum
x3
-Kk2 -Kk1
w2
x3 = y
w1
3 2 1 x1, x1er 0 -1 -2 -3 -4
2 timp [s]
L10 - 15/17
2 timp [s]
Demux Demux
-Kk2 -Kx' = Ax+Bu y = Cx+Du proces x' = Ax+Bu y = Cx+Du compensator cu estimator cu predictie x' = Ax+Bu y = Cx+Du proces x' = Ax+Bu y = Cx+Du compensator cu estimator redus k1
L10 - 16/17
2 timp [s]
Figura 10.12 Evolu"ia ie#irii: A)estimator cu predic"ie, B) f!r! estimator, C) estimator redus
1 . S" cere: s /1
a) se calculeze un compensator stabilizator (reprezentare n spa!iul st"rilor #i func!ia de transfer) care plaseaz" toate valorile proprii ale sistemului rezultant n -1. Estimarea st"rilor se va face: i) cu un observator Luenberger cu predic!ie ii) cu un observator redus b) se vor verifica rezultatele ob!inute calculnd r"d"cinile sistemului rezultant c) se vor simula comparativ ie#irea sistemului pentru cele 2 tipuri de estimatoare plus cazul cnd st"rile nu se estimeaz" (vezi Figura 10.11) considernd starea
# ini!ial" x0 # x (t ) t #0 ' $
2. Se vor repeta cerin!ele de la punctul 1 pentru cazul cnd procesul este discretizat cu
)1 & ( 2%
L10 - 17/17