Documente Academic
Documente Profesional
Documente Cultură
Scop:
•Descrierea a două tipuri de observatoare / estimatoare de
stare: cu predicţie şi redus;
Regulatoare Automate
3.4 Estimatori de stare
u y
n
x∈R
^
x1
^ Estimator de
xn stare
Regulatoare Automate
3.5 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 in care starea initiala
se poate determina din cunoasterea evolutiei marimii de conanda u(t)si a celei de iesire
y (t ), t ∈ [0, t ]
( )
3.6 Observatorul Luenberger
Observatorul Luenberger este descris de relaţia xˆ ' = Axˆ + bu + lp ⋅ y − c T xˆ
x̂ vectorul mărimilor de stare estimate
lp ∈ R n corecţie proportionala cu eroare dintre iesirea y a sistemului real si cea calculata
pe baza starii estimate yˆ = c T xˆ
∧
Eroarea de estimare e = x − x
Evoluţia erorii de estimare e ' = ( A − lp ⋅ c T )e
⎧⎪ e (A − l p ⋅ c T )⋅ t e , t ∈ R
Soluţia: e(t ) = ⎨ 0
e0 = e(t ) t = 0
( )
- eroarea iniţială
⎪⎩ A − l p ⋅ c T t e0 , t ∈ Z
Regulatoare Automate
Evoluţia erorii este dictată de valorile proprii ale matricei A − lp ⋅ c T
σ( A − lp ⋅ cT ) = σ( A − lp ⋅ cT )T = σ( AT − c ⋅ lp T )
T
Determinarea lp prin aplicarea algoritmului Ackermann cu urmăroarele date de intrare
(
xˆi +1 = Axˆi + bu i + lp ⋅ yi − c T xˆi )
adică la pasul curent i, se estimează starea pentru pasul urmăror i+1.
Regulatoare Automate
3.7 Proiectarea compensatorului stabilizator cu observator Luenberger
'
u x = A⋅ x + b ⋅u y
y = cT ⋅ x
^
x ESTIMATOR
-k
DE STARE
Compensator Stabilizator
Regulatoare Automate
• •
• •
• •
|||
u y
PROCES
u Compensator y
stabilizator
Regulatoare Automate
Ecuaţiile compensatorului stabilizator ( )
⎧⎪ xˆ ' = A − b ⋅ k T − lp ⋅ c T xˆ + lp ⋅ y
⎨
⎪⎩u = − k T xˆ
⎡ Ac = A − b ⋅ k T − l ⋅ c T
⎧∧ '
( ) ⎢
∧
T T
⎪x = 1A − b ⋅ k − l ⋅ c ⋅ x + l{ ⋅ y
44 42444 3 ⎢bc = l
⎪ bc ⎢ T T
⎨ Ac
⎢ c c = − k
⎪u = − k T x ⎢y = u
⎪ {
⎩ cc ⎢ c
⎢u c = y
⎣
Funcţia de transfer a compensatorului stabilizator
H C (λ) = c cT (λI − Ac ) −1 bc = (− k T ) ⋅ (λ ⋅ I − A + b ⋅ k T + lp ⋅ c T ) −1 ⋅ lp
Principiul separării: valorile proprii ale matricei sistemului rezultant reprezintă reuniune
a disjunctă a valorilor proprii impuse prin legea de comandă după stare
şi a valorilor proprii impuse estimatorului. σ( A ) = σ ( A − b ⋅ k T ) ∪
& σ( A − lp ⋅ c T )
R
Regulatoare Automate
3.8. Estimatoare minimale
Estimatoarele minimale numite şi estimatoare reduse pot fi utilizate în cazul proceselor cu o singură
mărime de ieşire, când 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ă, aplicându-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:
•
⎡ x1 ⎤ ⎡ A 1
⎢ y ⎥ = ⎢ aT
a2 ⎤ ⎡ x 1 ⎤ ⎡b 1 ⎤
⎥ ⋅ ⎢ ⎥ + ⎢ ⎥ ⋅u x1' = A1 ⋅ x1 + a 2 ⋅ y + b1 ⋅ u
⎣ ⎦ ⎣ 1 α⎦ ⎣ y ⎦ ⎣β ⎦
y ' − α ⋅ y − β ⋅ u = a1T ⋅ x1
⎡ x1 ⎤
y = [0 L 1] ⋅ ⎢ ⎥
⎣y⎦
a 2 ⋅ y + b1 ⋅ u este “comanda”
u = −k1T ⋅ w − (k1T ⋅ lr + k y ) ⋅ y
⎧⎪ xcr'
= Acr ⋅ xcr + bcr ⋅ u cr
⎨ T
⎪⎩ y cr = ccr ⋅ xcr + d cr ⋅ u cr
ccr = − k1T
d cr = − k1T ⋅ lr − k y
Dacă starea iniţială a procesului este nenulă atunci estimatorul redus trebuie iniţializat cu:
w0 = xˆ10 − lr ⋅ xn 0
T
H cr (λ ) = c cr (λI − Acr ) −1 bcr + d cr
Regulatoare Automate
Exemple
Să se construiască un observator de stare Luenberger pentru procesul descris prin funcţia de transfer
H (s ) =
100 Valorile proprii ale observatorului sunt Λ e = {− 1, − 2}
(s + 1)(s + 100)
⎡ 0 1 ⎤ ⎡0 ⎤
Se construieşte o realizare controlabilă a funcţiei de transfer A=⎢ ⎥ , b = ⎢ ⎥, c T = [100 0]
⎣− 100 − 101⎦ ⎣1 ⎦
>> lp=acker(A',cT',P)
Ecuaţia observatorului
lp =
• ⎡ 98 1 ⎤ ⎡− 0.98⎤ ⎡0 ⎤ Column 1 -0.9800
xˆ = ⎢ ⎥ ⋅ ˆ
x + ⎢ 98 ⎥ ⋅ y + ⎢1⎥ ⋅ u
− 9900 − 101 Column 2 98.0000
⎣ ⎦ ⎣ ⎦ ⎣ ⎦
Regulatoare Automate
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 initiala %------% Calcul compensator stabilizator cu estimator de stare redus
%--------------------------------------------------------------------------------------% % Definirea elementelor sistemului redus
[num,den] = ss2tf(A,b,cT,0)% funcţia de transfer a procesului A1 = A(1:2,1:2) % primele (n-1)x(n-1) elemente din A
% Calcul lege de comanda dupa stare kT a2 = [A(1,3);A(2,3)] % primele n-1 elemente - ultima coloana A
R = ctrb(A,b); % Matricea de controlabilitate
a1T = [A(3,1) A(3,2)] % primele n-1 elemente - ultima linie A
rangR = rank(R) % Verificare rang R alfa = A(3,3) % ultimul element din A
Pk = [-1 -2 -3] % Val.proprii dorite pt. legea de comandă b1 = b(1:2) % primele n-1 elemente din b
kT = acker(A,b,Pk) % kT=[kT(1) kT(2) kT(3)] beta = b(3) % ultimul element din b
%__________________________________________________% k1T = kT(1:2) % primele n-1 elemente din kT
%___% Calcul compensator stabilizator cu estimator de stare cu predictie ky = kT(3) % ultimul element din kT
Pl = [-4 -5 -6] % Valorile proprii dorite pentru estimator Pr = [-4 -5] % valorile proprii dorite pentru estimatorul
Q = obsv(A,cT); % Matricea de observabilitate
% redus
rangQ = rank(Q) % Verificare rang Q lrT_redus = acker(A1',a1T',Pr) %lrT - vector linie
lpT = acker(A',cT',Pl) %lpT - vector linie lr = lrT_redus'; %lr - vector coloana
lp = lpT'; %lp - vector coloana % Reprezentarea in spatiul starilor a compensatorului cu estimator de stare
% Reprez. în sp. stărilor a compensatorului cu estim. de stare cu predictie redus
Ac = A-b*kT-lp*cT Acr = A1-b1*k1T-lr*a1T+lr*beta*k1T
bc = lp bcr = a2-lr*alfa+A1*lr-lr*a1T*lr-(b1-lr*beta)*(k1T*lr+ky)
cc = -kT ccr = -k1T
% Starea initiala a estimatorului cu predictie este nulă dcr = -k1T*lr-ky
xe0=[0;0;0]; % Starea initiala a estimatorului redus
% Funcţia de transfer a compesatorului cu estimator de stare cu predictie w0 = xe0(1:2)-lr*x0(3);
[num_cp,den_cp] = ss2tf(Ac,bc,cc,0); % Functia de transfer a compesatorului cu estimator de stare redus
% Pentru verificare se calculează funcţia de transfer a sistemului rezultant [num_cr,den_cr] = ss2tf(Acr,bcr,ccr,dcr)
[num_r,den_r] = feedback(num,den,num_cp,den_cp,+1); % Pentru verificare se calculeaza functia de transfer a sistemului rezultant
% Rădăcinile numitorului – trebuie să fie coincidă cu valorile proprii impuse [num_rr,den_rr] = feedback(num,den,num_cr,den_cr,+1);
% pentru legea de comandă şi estimator adică: -1, -2, -3, -4, -5, -6 % Radacinile numitorului – trebuie sa fie coincida cu valorile proprii impuse
roots(den_r) ; % pentru legea de comandă şi estimator adică: -1, -2, -3, -4, -5
roots(den_rr);
Regulatoare Automate
A=
1 2 3
1 1 1 A1 =
1 0 1 1 2
b= 1 1
0 a2 =
0 3
1 1
a1T = 1 0
cT = 0 0 1
alfa = 1
b1 =
Pk = -1 -2 -3 0
kT = 7.0000 10.0000 9.0000 0
Pl = -4 -5 -6 beta = 1
lpT = 112 124 18 k1T = 7.0000 10.0000
Ac = ky = 9
1.0000 2.0000 -109.0000 Pr = -4 -5
1.0000 1.0000 -123.0000 lrT_redus = 11 16
-6.0000 -10.0000 -26.0000 Acr =
bc = 67.0000 112.0000
112 97.0000 161.0000
124 bcr =
18 2620
cc = -7.0000 -10.0000 -9.0000 3772
ccr = -7.0000 -10.0000
Regulatoare Automate dcr = -246
20 20
15 15
A A
10 10
5 5
x2, x2ep
x1, x1ep
0 0
B
-5 -5
-10 -10
-15 -15
B
-20 -20
0 1 2 3 4 5 0 1 2 3 4 5
timp [s] timp [s]
B 3
2
2.5
1 B
C 2
r
x2, x2e
0 C
r
x1, x1e
1.5
-1
1
-2
0.5
-3 0
0 1 2 3 4 5
timp [s]
-4
0 1 2 3 4 5
timp [s] Evoluţia stării x2 şi a estimatei ei cu un observator redus
Evoluţia stării x1 şi a estimatei ei
cu un observator redus
Regulatoare Automate
30
20
A
10
p
x3, x3e
0
-10
-20
B
-30
0 1 2 3 4 5
timp [s]
Evoluţia stării x3 şi a estimatei ei cu un observator cu predictie
30
A
20
10 B
r
x, xc , xc
0
p
-10
C
-20
-30
0 1 2 3 4 5
Evoluţia ieşirii: A) estimator cu predicţie, timp [s] B) fără estimator, C) estimator redus
Regulatoare Automate