REALIZACJA OBSERWATORA STANU PEŁNEGO RZĘDU W

Transkrypt

REALIZACJA OBSERWATORA STANU PEŁNEGO RZĘDU W
Jacek TYMCZYNA
REALIZACJA OBSERWATORA STANU PEŁNEGO
RZĘDU W PRZYPADKU BRAKU DOKŁADNEGO
MODELU OBIEKTU
STRESZCZENIE
W pracy rozpatruje się zagadnienia
związane ze stosowaniem obserwatorów stanu pełnego rzędu, przy
niedokładnej znajomości opisu obserwowanego (liniowego) obiektu
dynamicznego. Wynikiem braku idealnej znajomości struktury obiektu
jest wystąpienie błędów w rekonstrukcji wektora stanu obiektu.
W celu zmniejszenia róŜnic pomiędzy (mierzonymi) wyjściami obiektu
y(t) i wyjściami obserwatora obliczonymi na podstawie współrzędnych
stanu rekonstruowanych w obserwatorze, proponuje się wprowadzić
do struktury klasycznego obserwatora Luenbergera pełnego rzędu
dodatkowe całkowanie. Działanie takiego obserwatora ilustrują
przykładowe symulacje.
Słowa kluczowe: obserwator stanu pełnego rzędu, obserwator stanu
z akcją całkującą, wektor stanu.
1. WSTĘP
Obserwatory stanu Luenbergera pełnego rzędu znajdują liczne
zastosowania praktyczne, w róŜnego rodzaju układach regulacji i kompensacji,
mgr inŜ. Jacek TYMCZYNA
e-mail: [email protected]
Politechnika Szczecińska
Instytut Automatyki Przemysłowej
PRACE INSTYTUTU ELEKTROTECHNIKI, zeszyt 238, 2008
160
J. Tymczyna
w sytuacjach gdy wektor stanu obserwowanego obiektu nie jest dostępny
pomiarowo. W większości typowych zastosowań klasycznych obserwatorów
Luenbergera nie uwzględnia się faktu ograniczonej dokładności opisu układu,
dla którego tworzy się obserwator. Niedokładności opisu obiektu (błędnie
przyjętego modelu) mogą być przyczyną błędnego działania obserwatora. MoŜe
to się objawiać nie tylko błędami rekonstrukcji poszczególnych współrzędnych
stanu obserwowanego obiektu, ale takŜe odzwierciedlać w róŜnicach pomiędzy
(mierzonym, znanym) wyjściem obiektu i wyjściem obliczanym na podstawie
zrekonstruowanych współrzędnych stanu.
Zadanie syntezy klasycznych pełnowymiarowych obserwatorów wektora
stanu liniowych układów dynamicznych jest znane i szeroko omówione
w literaturze [1], [2], [3]. Przy projektowaniu obserwatorów których zadaniem
jest moŜliwie szybkie i dokładne odtworzenie współrzędnych stanu układu
obserwowanego zakłada się zwykle idealną znajomość struktury obiektu i jego
parametrów, co w większości praktycznych sytuacji moŜe nie być spełnione.
W pracy podejmuje się próbę zbadania wpływu niedokładności przyjętego opisu
obiektu (modelu) na błędne działanie obserwatorów pełnego rzędu oraz
proponuje sposób częściowej eliminacji (ograniczenia) takiego błędnego
działania obserwatorów przez wprowadzenie całkowania.
2. SYNTEZA OBSERWATORA STANU PEŁNEGO RZĘDU
W UJĘCIU KLASYCZNYM
RozwaŜmy układ opisany wymierną właściwą funkcją przejścia
G(s) =
β n s n + β n −1 s n −1 + … + β 0
s n + α n −1 s n −1 + … + α 0
(1)
W dziedzinie czasowej odpowiada jej realizacja w postaci równań stanu
opisanych zaleŜnością
xɺ (t ) = Ax (t ) + bu (t )
(2)
y = cx (t ) + du (t )
(3)
gdzie: x (t 0 ) = x 0 , x (t ) ∈ R n , u (t ) ∈ R, y (t ) ∈ R, A ∈ R n×n , b ∈ R n×1 , c ∈ R1×n , d ∈ R.
Zakładamy obserwowalność pary (A, c) , tzn. rząd macierzy Vo jest
równy n, gdzie:
Realizacja obserwatora stanu pełnego rzędu w przypadku braku dokładnego …
 c 
 cA 


Vo =  cA 2 


 ⋮ 
cA n −1 
161
(4)
Przyjmujemy opis układu w (drugiej) postaci kanonicznej obserwowalnej
równań stanu [3]
 xɺ1 (t )   0
 ɺ
 
 x2 (t )  1
 xɺ3 (t )   0

=
 ⋮  ⋮
 xɺn −1 (t )   0

 
 xɺn (t )   0
0 0 ⋯ 0
0 0 ⋯ 0
1 0 ⋯ 0
⋮ ⋮
⋮
0 0 ⋯ 0
0 0 ⋯ 1
−α 0   x1 (t )   β 0 − α 0β n 
−α1   x2 (t )   β1 − α1β n 
−α 2   x3 (t )   β 2 − α 2β n 
⋅
+
 ⋅ u (t )
⋮   ⋮  
⋮

−α n − 2   xn −1 (t )  β n − 2 − α n − 2β n 
 
 

−α n −1   xn (t )   β n −1 − α n −1β n 
 x1 (t ) 
 x (t ) 
 2 
 x (t ) 
y (t ) = [ 0 0 ⋯ 0 1] ⋅  3  + β n ⋅ u (t )
 ⋮ 
 xn −1 (t ) 


 xn (t ) 
(5)
(6)
Obserwatorem Luenbergera układu opisanego równaniami (2), (3)
nazywamy układ opisany zaleŜnością
xɺɶ (t ) = F xɶ (t ) + gu (t ) + hy (t )
(7)
yɶ (t ) = cxɶ (t ) + du (t )
(8)
gdzie:
xɶ (t o ) = xɶ 0 , xɶ (t ) ∈ R n , u (t ) ∈ R, yɶ (t ) ∈ R, F ∈ R n×n , g ∈ R n×1 , h ∈ R n×1 , c ∈ R1×n , d ∈ R.
Na podstawie pomiarów wejścia u(t) i wyjścia y(t) odtwarza on
(rekonstruuje) w sposób asymptotycznie zbieŜny wektor stanu xɶ (t ) → x (t ) ,
gdzie aby układ (7), (8) był stabilny (asymptotycznie) róŜnica nazywana błędem
rekonstrukcji wektora stanu obiektu przez obserwator:
e (t ) = x (t ) − xɶ (t )
(9)
162
J. Tymczyna
powinna dąŜyć do zera lim x (t ) − xɶ (t ) = 0.
t →∞
Uwzględniając powyŜsze zaleŜności otrzymujemy równanie róŜniczkowe
opisujące dynamikę błędów obserwatora:
eɺ (t ) = xɺ (t ) − xɺɶ (t ) = ( A − F − hc) x (t ) + (b − g )u (t ) + Fe (t )
(10)
Jeśli
F = A − hc, b = g
(11)
to równanie (10) przyjmuje postać:
eɺ(t ) = Fe (t )
(12)
e (t ) = e F ( t − t 0 ) e(t o ), e(t 0 ) = x (t 0 ) − xɶ (t 0 ),
(13)
gdzie:
Jest to globalnie asymptotycznie stabilne rozwiązanie, jeśli macierz
wagowa (zwana takŜe macierzą „wzmocnień”) h obserwatora zostanie tak
dobrana, aby wartości własne macierzy F obserwatora leŜały w lewej otwartej
półpłaszczyźnie zmiennej zespolonej czyli, aby
Res iF < 0, i = 1, 2 … n ,
(14)
Układ opisany poniŜszymi równaniami spełniający warunki (11) i (13)
nazywamy asymptotycznym obserwatorem pełnego rzędu (obserwatorem
Luenbergera) dla układu (5), (6).
xɺɶ (t ) = Axɶ (t ) + bu (t ) + h( y (t ) − yɶ (t ))
(15)
yɶ (t ) = cxɶ (t ) + du (t )
(16)
gdzie:
xɶ (t 0 ) = xɶ 0 , xɶ (t ) ∈ R n , u (t ) ∈ R, yɶ (t ) ∈ R, A ∈ R n×n , b ∈ R n×1 , h ∈ R n×1 , c ∈ R1×n , d ∈ R.
Z równań (15), (16) wynika schemat blokowy obserwatora stanu.
Realizacja obserwatora stanu pełnego rzędu w przypadku braku dokładnego …
163
OBIEKT
u(t)
+
b
∫
xɺ (t)
+
x(t)
c
+
y(t)
+
A
d
OBSERWATOR
~y (t) - y(t)
h
b
+
+
+
~
xɺ
∫
~x
c +
~
y(t)
−
+
+
A
d
Rys. 1. Schemat blokowy klasycznego obserwatora
stanu pełnego rzędu
3. SYNTEZA OBSERWATORA STANU Z AKCJĄ
CAŁKUJĄCĄ
Dla obiektu opisanego równaniami (2), (3) proponuje się dokonać
modyfikacji klasycznej struktury obserwatora Luenbergera pełnego rzędu
wprowadzając do równań (15), (16) dodatkowe całkowanie róŜnic wyjść
obserwatora i obiektu (błędów odwzorowania wyjść modelu rekonstruowanego)
zgodnie z zaleŜnościami:
t
xɺɶ (t ) = Axɶ (t ) + bu (t ) + h ( y (t ) − yɶ (t )) + k ∫ ( y (t ) − yɶ (t )) dt
(17)
0
yɶ (t ) = cxɶ (t ) + du (t )
(18)
1
n
gdzie:
xɶ (t 0 ) = xɶ 0 , xɶ (t ) ∈ R × , u(t ) ∈ R, yɶ (t ) ∈ R, A ∈ Rn×n , b ∈ Rn×1, h ∈ Rn×1 , k ∈ Rn×1 ,c ∈ R1×n ,d ∈ R.
Zakłada się, Ŝe macierze b, c i d obiektu są dokładnie znane.
164
J. Tymczyna
Zdefiniujmy wektor błędów rekonstrukcji e(t) dla wektorów stanu obiektu
i obserwatora jako:
 e1 (t ) 
e (t ) 
e (t ) =  2  = x (t ) − xɶ (t ), t ∈ [0, ∞)
(19)
 ⋮ 


en (t ) 
Uwzględniając zaleŜności (19), (2), (3), (17), (18) otrzymujemy
t
eɺ(t ) = ( A − hc)e (t ) − kc ∫ e (t )dt
(20)
0
RóŜniczkując obustronnie równanie (20) otrzymujemy macierzowe
równanie róŜniczkowe jednorodne drugiego rzędu, opisujące błędy rekonstrukcji
wektora stanu obiektu.
eɺɺ(t ) = ( A − hc)eɺ (t ) − kce (t )
(21)
Zgodnie z [4], [5] powyŜszy układ równań róŜniczkowych drugiego rzędu
moŜna sprowadzić do układu równań róŜniczkowych pierwszego rzędu.
Wprowadzając następujące oznaczenia:
0
1

0
A d = A − hc = 
⋮
0

0
− α 0 − h1 
0

0
−α1 − h 2


1 0 ⋯ 0
−α 2 − h 3 
0
 , Bd = kc = 
⋮ ⋮
⋮
⋮

⋮

0
0 0 ⋯ 0 −α n − 2 − h n −1


0 0 ⋯ 1 −α n −1 − h n 
0
0 0 ⋯ 0
0 0 ⋯ 0
0 0 ⋯ 0
0 0 ⋯ 0
0 0 ⋯ 0
⋮ ⋮
⋮
0 0 ⋯ 0
0 0 ⋯ 0
k1 
k 2 
k3 

⋮ 
k n−1 

k n 
(22)
równanie (21) moŜemy zapisać w postaci jak niŜej.
e1 (t )  0
 ɺɺ
 eɺɺ (t )  1
 2  
 ɺɺ
e3 (t )  0

=
 ⋮  ⋮
 ɺɺ
en −1 (t )  0

 
 eɺɺn (t )  0
0 0 ⋯ 0
0
1
⋮
0
0
0
0
⋮
0
0
⋯ 0
⋯ 0
⋮
⋯ 0
⋯ 1
−α 0 − h1   eɺ1 (t )  0
−α1 − h 2   eɺ2 (t )  0
−α 2 − h 3   eɺ3 (t )  0
⋅
−
⋮
  ⋮  ⋮
−α n − 2 − h n −1  eɺn −1 (t )  0
 
 
−α n −1 − h n   eɺn (t )  0
0 0 ⋯ 0
0
0
⋮
0
0
0
0
⋮
0
0
⋯ 0
⋯ 0
⋮
⋯ 0
⋯ 0
k1   e1 (t ) 
k 2   e2 (t ) 
k 3   e3 (t ) 
⋅

⋮   ⋮ 
k n −1  en −1 (t ) 
 

k n   en (t ) 
(23)
Realizacja obserwatora stanu pełnego rzędu w przypadku braku dokładnego …
165
Przyjmując:
 ψɺ 1 (t )   eɺɺ1 (t ) 
 ψɺ (t )   ɺɺ

 2
  e2 (t ) 
 ψɺ 3 (t )   eɺɺ3 (t ) 

=
;
 ⋮   ⋮ 
ψɺ n −1 (t )  eɺɺn −1 (t ) 

 

en (t ) 
 ψɺ n (t )   ɺɺ
 ξɺ1 (t )   eɺ1 (t )   ψ1 (t )   ξ1 (t )   e1 (t ) 
 ɺ
 
 
 
 

 ξ 2 (t )   eɺ2 (t )  ψ 2 (t )  ξ 2 (t )   e2 (t ) 
 ξɺ (t )   eɺ3 (t )  ψ3 (t )   ξ (t )   e (t ) 
3
3
 3
=
=
; 
=
;
⋮
 ⋮   ⋮   ⋮
 
  ⋮ 
 ξɺ (t )   eɺ (t )  ψ (t )  ξ (t )   e (t ) 
 n − 1   n − 1   n − 1   n −1   n −1 
 ξɺn (t )   eɺn (t )   ψn (t )   ξ n (t )   en (t ) 
 ψ1 (t )   eɺ1 (t ) 
 ψ (t )   eɺ (t ) 
 2   2 
 ψ3 (t )   eɺ3 (t ) 

=

 ⋮   ⋮ 
ψn −1 (t )  eɺn −1 (t ) 

 

 ψn (t )   eɺn (t ) 
(24)
otrzymuje się układ równań róŜniczkowych pierwszego rzędu
  ξɺ1 (t )     0
 ɺ
  
  ξ 2 (t )     0
  ξɺ (t )     0
 3   
 ⋮    ⋮
 ɺ
   0
  ξ n −1 (t )    
  ξɺn (t )     0

=
  ψɺ 1 (t )    0
  ψɺ (t )    0
 2  
  ψɺ 3 (t )    0
  ⋮

 ⋮  
 ψɺ n −1 (t )    0

 
  ψɺ n (t )    0
0
0
0
⋮
0
0
0
0
0
⋮
0
0
0
0
0
⋮
0
0
0
0
0
⋮
0
0
⋯ 0 0 
⋯ 0 0 
⋯ 0 0

⋮ ⋮ 
⋯ 0 0

⋯ 0 0nn 
⋯ 0 − k1 
⋯ 0 −k 2 
⋯ 0 −k 3 

⋮
⋮ 
⋯ 0 −k n −1 

⋯ 0 −k n 
1
0

0

⋮
0

 0
0
1

0

⋮
0

 0
0
0
1
⋮
0
0
0
1
0
⋮
0
0
0
0
0
⋮
0
0
0
0
1
⋮
0
0
   ξ1 (t )  
 

   ξ 2 (t )  
   ξ 3 (t )  
 

  ⋮ 
   ξ (t )  
   n −1  
   ξ n (t )  
⋅

−α 0 − h1     ψ1 (t )  
−α1 − h 2    ψ 2 (t )  
 

−α 2 − h 3    ψ3 (t )  
  

⋮
   ⋮

−α n − 2 − h n−1    ψ n −1 (t )  
 

−α n −1 − h n     ψ n (t )  
⋯ 0 0
⋯ 0 0 
⋯ 0 0

⋮ ⋮ 
⋯ 1 0

⋯ 0 1nn 
⋯ 0
⋯ 0
⋯ 0
⋮
⋯ 0
⋯ 1
(25)
który po wprowadzeniu oznaczeń
 0 0 0 ⋯
  ξɺ1 (t )  
 
 ɺ

 0 0 0 ⋯
  ξ 2 (t )  
 0 0 0 ⋯
  ξɺ (t )  
 
 3 
 ⋮ ⋮ ⋮
 ⋮ 
 0 0 0 ⋯
 ɺ


 
  ξ n − 1 (t )  
 0 0 0 ⋯
  ξɺn (t )  
Xɺ = 
 ; Ak =  0 0 0 ⋯

  ψɺ 1 (t )  
 0 0 0 ⋯
  ψɺ (t )  

 2  
 0 0 0 ⋯
  ψɺ 3 (t )  


 ⋮ ⋮ ⋮
 ⋮  

 ψɺ n −1 (t )  
 0 0 0 ⋯


 0 0 0 ⋯

  ψɺ n (t )  
0
0
0
⋮
0
0
0
0
0
⋮
0
0
0 
0 
0 

⋮ 
0 

0nn 
− k1 
−k 2 
−k 3 

⋮ 
− k n−1 

− k n 
1
0

0

⋮
0

0
0 0
1 0

0 1

⋮ ⋮
0 0

 0 0
0

  ξ1 (t )  




0 0

  ξ2 (t )  

0 0
  ξ3 (t )  




⋮ ⋮ 

 ⋮ 

1 0
  ξ (t )  


  n −1  
0 1nn 

  ξ n (t )  
; X = 
.
−α 0 − h1  
 ψ1 (t )  

−α1 − h 2  
 ψ2 (t )  



−α 2 − h 3  
 ψ3 (t )  


 ⋮
⋮



−α n− 2 − h n−1  
 ψn −1 (t )  

  ψ (t )  
−α n −1 − h n  
 n 
0 0 ⋯ 0
1 0 ⋯
0 1 ⋯
⋮ ⋮
0 0 ⋯
0 0 ⋯
0 ⋯ 0
0 ⋯ 0
0 ⋯ 0
⋮
⋮
0 ⋯ 0
0 ⋯ 1
(26)
moŜna przedstawić w postaci równania:
Xɺ = A k ⋅ X
(27)
166
J. Tymczyna
Łatwo sprawdzić, Ŝe układ (27) jest stabilny gdyŜ wszystkie wartości
własne macierzy A k mają ujemne części rzeczywiste.
Wyznaczając równanie charakterystyczne macierzy A k
det ( sI − A k ) = 0
(28)
oraz wykorzystując kryterium Hurwitza wyznaczamy macierze wzmocnień h i k
przy jednoczesnym zachowaniu warunku:
Re s i < 0, i = 1,2 … n,
(29)
gdzie Re s i są wartościami własnymi macierzy A k .
4. WYNIK PORÓWNANIA REALIZACJI OBSERWATORÓW
PEŁNEGO RZĘDU
Przyjmijmy,
róŜniczkowym
Ŝe
obserwowany
obiekt
opisany
jest
równaniem
y '' (t ) + α1 y' (t ) + α 0 y (t ) = β 0 u (t )
(30)
gdzie:
y(0) = 0, y ' (0) = 0.
Odpowiada mu transmitancja
G(s) =
β0
y (s)
= 2
u ( s ) s + α1s + α 0
(31)
oraz model w przestrzeni stanów w postaci kanonicznej sterowalnej [1], [3]
 xɺ1 (t ) 0 −α0   x1 (t) β0 
 xɺ (t ) = 1 −α  ⋅  x (t) +  0  ⋅ u(t )
1  2
 2  
  
(32)
 x (t ) 
y (t ) = [ 0 1] ⋅  1 
 x2 (t ) 
(33)
Realizacja obserwatora stanu pełnego rzędu w przypadku braku dokładnego …
167
c 
Macierz obserwowalności Vo =   musi spełniać warunek detVo ≠ 0.
cA 
1 
0
detVo = det 
 = −α1 − 1
1
−
α
1


(34)
Z powyŜszego warunku otrzymujemy α1 ≠ −1.
Dla obiektu zdefiniowanego zgodnie z (32), (33) równania opisujące
pełnowymiarowy obserwator Luenbergera przyjmują postać:
 xɺɶ1 (t ) 0 −α0   xɶ1 (t) β0 
h 
⋅
+   ⋅ u(t) +  1  ⋅ ( y(t) − yɶ (t ))
ɺ =


h2 
 xɶ 2 (t ) 1 −α1   xɶ 2 (t)  0 
 xɶ (t ) 
yɶ (t ) = [ 0 1] ⋅  1 
 xɶ2 (t ) 
(35)
(36)
W celu symulacji układu opisanego powyŜszymi równaniami
w środowisku MATLAB przyjęto następujące współczynniki transmitancji
obiektu: α 0 = 4, α1 = 1, β 0 = 1.
Dla tak przyjętych współczynników, bieguny transmitancji obiektu (31)
przyjmują wartość s1 = −0.5 + 1.9365 ⋅ i, s 2 = −0.5 − 1.9365 ⋅ i.
Zgodnie z pozycją [3] macierz wzmocnień obserwatora h moŜna
wyznaczyć z zaleŜności
det (sI − A + hc) ≡ ( s − s1 )(s − s 2 )
(37)
przyjmując bieguny obserwatora s1 = −6; s 2 = −1.
W naszym przypadku z równania (37) wynika macierz „wzmocnień”
2
obserwatora h =   , dla której na rysunkach 2a, 2b przedstawiony został
6
przebieg rekonstrukcji wektora zmiennych stanu, oraz błąd rekonstrukcji
wektora zmiennych stanu, dla wymuszenia w postaci skoku jednostkowego
'
oraz warunku początkowego obiektu y(0) = 0.1, y (0) = 0.
W praktyce nigdy nie posiadamy dokładnego modelu obiektu. Aby
sprawdzić działanie obserwatora w sytuacji, gdy pracuje z obiektem o innej
strukturze, niŜ ta, dla której został zaprojektowany, przyjęto inne wartości
168
J. Tymczyna
współczynników transmitancji obiektu, mianowicie α ' 0 = 6, α '1 = 2, β ' 0 = 4 nie
zmieniając struktury obserwatora.
Bieguny zmienionego obiektu wynoszą wówczas s1 = −1 + 2.2361 ⋅ i,
s 2 = −1 − 2.2361 ⋅ i.
0.5
x1 OBIEKT
x1 OBSERATOR
x2 OBIEKT
x2 OBSERATOR
0.45
0.4
0.35
0.3
0.25
0.2
0.15
0.1
0.05
0
0
5
t
10
15
Rys. 2a. Przebieg symulacji zmiennych stanu (obserwator
klasyczny)
0.1
ex1
ex2
0.08
0.06
0.04
0.02
0
-0.02
-0.04
-0.06
-0.08
0
5
t
10
15
Rys. 2b. Błąd rekonstrukcji wektora stanu (obserwator
klasyczny)
Realizacja obserwatora stanu pełnego rzędu w przypadku braku dokładnego …
169
Odpowiedź wyjść obserwatora, oraz błąd rekonstrukcji wektora zmiennych
stanu dla tak zmodyfikowanego obiektu przy warunku początkowym
y(0) = 0; y ' (0) = 0 , oraz wymuszeniu w postaci skoku jednostkowego
przedstawiają rysunki 3a oraz 3b.
2.5
x1 OBIEKT
x1 OBSERWATOR
x2 OBIEKT
x2 OBSERWATOR
2
1.5
1
0.5
0
-0.5
-1
-1.5
0
t
5
10
15
Rys. 3a. Przebieg symulacji zmiennych stanu (obserwator klasyczny)
3
ex1
ex2
2.5
2
1.5
1
0.5
0
0
5
t
10
15
Rys. 3b. Błąd rekonstrukcji wektora stanu (obserwator klasyczny)
Dla obiektu opisanego równaniami w przestrzeni stanów (32), (33) oraz
współczynnikami α ' 0 = 6, α '1 = 2, β ' 0 = 4 równanie (27) przyjmuje postać
170
J. Tymczyna
  ξɺ1 (t )     0
 ɺ   
  ξ 2 (t )     0
 ψɺ (t )  =   0
 1  
 ψɺ 2 (t )     0
1 0     ξ1 (t )  
0 1     ξ (t )  

   2 
⋅
0 −4 − h1    ψ1 (t )  
1 −1 − h    ψ (t )  

2 
   2  
0
0 
− k1 
− k 2 
(38)
Wyznaczając wielomian charakterystyczny macierzy A k z zaleŜności
det (sI − A k ) = 0
(39)
oraz wykorzystują kryterium Hurwitza otrzymujemy układ warunków:
1 + h 2 > o
k + k + 4 > 0
 1
2

k
0
>
 1
(1 + k 2 )(h1 + k 2 + 4) > k1
(40)
umoŜliwiających wyznaczenie macierzy h i k.
Jednym z rozwiązań spełniających układ
 2
30
h =  ; k =  .
6 
30
(40)
jest
para
macierzy
Dla tak wyznaczonych macierzy „wzmocnień” h i k zamodelowano
w pakiecie Matlab układ zgodnie z rysunkiem 4.
OBIEKT
u (t )
 xɺ1 (t )  0 − α '0   x1 (t )  β '0 
⋅
 xɺ (t )  = 
 +   ⋅ u (t )
'  
 2  1 − α 1   x2 (t )  0 
y(t )
 x (t ) 
y(t ) = [0 1] ⋅  1 
 x2 (t )
OBSERWATOR
− α0
β0
+
+
+
+
~
xɺ (t )
1
∫
~
x1 (t )
+
+
+
+
~
xɺ 2 (t )
~
x 2 (t )
∫
+
-
~
y (t )
− α1
k2
∫
h2
h1
k1
∫
Rys. 4. Struktura obserwatora stanu z akcją całkującą
Realizacja obserwatora stanu pełnego rzędu w przypadku braku dokładnego …
171
Wynik symulacji tak zmodyfikowanego obserwatora stanu, oraz błąd
rekonstrukcji wektora zmiennych stanu, współpracującego z obiektem opisanym
równaniem innym niŜ ten, na który został zaprojektowany przedstawiono na
rysunkach 5a, 5b, dla wymuszenia w postaci skoku jednostkowego i zerowych
warunków początkowych obiektu y(0) = 0; y ' (0) = 0.
2.5
x1 OBIEKT
x1 OBSERWATOR
x2 OBIEKT
x2 OBSERWATOR
2
1.5
1
0.5
0
-0.5
-1
0
t
5
10
15
Rys. 5a. Przebieg symulacji zmiennych stanu (obserwator
z całkowaniem)
2.5
2
1.5
1
0.5
0
ex1
ex2
-0.5
0
5
t
10
15
Rys. 5b. Błąd rekonstrukcji wektora stanu (obserwator
z całkowaniem)
172
J. Tymczyna
5. WPŁYW BŁĘDU IDENTYFIKACJI RZĘDU OBIEKTU NA
DZIAŁANIE OBSERWATORA
W wielu przypadkach informacje jakie posiadamy o obiekcie sterowania
są niekompletne. Często posługujemy się metodami identyfikacji parametrów
obiektu, w których w sposób nieświadomy moŜemy popełnić błąd identyfikacji
rzędu obiektu. O tym, jak w takiej sytuacji zachowa się klasyczny obserwator,
obserwator z akcją całkującą, powiedzą przeprowadzone symulacje.
W celu zbadania problemu zaprojektowano obserwator klasyczny oraz
obserwator z akcją całkującą dla liniowego obiektu SISO, zakładając III rząd
obiektu.
Wprowadzając niezerowy warunek początkowy y(0) = 0, y ' = 0.02, y '' (0) = 0
uzyskano przebiegi zmiennych stanu zgodne z rysunkiem 6, 7.
4
1
5
2
6
1
x1 - obiekt
2
x2 - obiekt
3
x3 - obiekt
4
xɶ1 - obserwator
xɶ2 - obserwator
xɶ3 - obserwator
5
3
6
t
Rys. 6. Przebieg symulacji zmiennych stanu (obserwator z całkowaniem)
Realizacja obserwatora stanu pełnego rzędu w przypadku braku dokładnego …
173
4
1
1
2
2
3
3
6
4
5
5
6
x1 - obiekt
x2 - obiekt
x3 - obiekt
xɶ1 - obserwator
xɶ2 - obserwator
xɶ3 - obserwator
t
Rys. 7. Przebieg symulacji zmiennych stanu (obserwator klasyczny)
Dla tak zaprojektowanych obserwatorów zbadano ich zachowanie
w sytuacji gdy będą odtwarzały zmienne stanu obiektu II i IV rzędu. Oceny
działania obserwatorów moŜemy dokonać poprzez obserwacje rekonstrukcji
wyjścia zgodnie z rysunkami 7, 8, 9, 10.
1
2
t
Rys. 8. Obiekt II rzędu, wyjście obiektu, obserwator całkowy
1
y - obiekt
2
yɶ - obserwator
174
J. Tymczyna
1
2
1
y - obiekt
2
yɶ - obserwator
t
Rys. 9. Obiekt II rzędu, wyjście obiektu, obserwator klasyczny
2
1
1
y - obiekt
2
yɶ - obserwator
t
Rys. 10. Obiekt IV rzędu, wyjście obiektu, obserwator klasyczny
Realizacja obserwatora stanu pełnego rzędu w przypadku braku dokładnego …
175
2
1
1
y - obiekt
2
yɶ - obserwator
t
Rys. 11. Obiekt IV rzędu, wyjście obiektu, obserwator całkowy
6. PODSUMOWANIE
Przeprowadzone rozwaŜania pozwalają stwierdzić, Ŝe w przypadku
całkowitej znajomości struktury obiektu zaprojektowanie obserwatora nie jest
kłopotliwe, a jego działanie jest zgodne z teorią opracowaną przez
D. Luenbergera [1], [2], [3]. Błąd w rekonstrukcji wektora zmiennych stanu
występuje jedynie w sytuacji gdy obiekt posiada inny warunek początkowy niŜ
zaprojektowany dla niego obserwator. Sytuacja komplikuje się jeśli rzeczywista
struktura obiektu odbiega od tej, na którą został zaprojektowany obserwator.
Występują wówczas znaczne błędy rekonstrukcji wektora stanu, zarówno
w stanach przejściowych jak i stanie ustalonym. To niekorzystne zachowanie
moŜna ograniczyć stosując zmodyfikowaną strukturę obserwatora z akcją
całkującą. MoŜe to mieć zastosowanie w układach diagnostycznych, w których
obserwator stanu stosuje się do wykrywania uszkodzeń w zawansowanych
układach automatyki. Odpowiedni wybór wartości elementów macierzy k
pozwoli w sposób świadomy wpływać na wielkości odchyleń rekonstruowanych
w obserwatorze współrzędnych stanu obiektu, co świadczyć będzie bardziej
dobitnie o zmianach parametrów obiektu (wywołanych uszkodzeniami).
176
J. Tymczyna
LITERATURA
1. Bańka S.: Komputerowa synteza złoŜonych wielowymiarowych układów automatycznego
sterowania w ujęciu wielomianowym. Politechnika Szczecińska, Szczecin 1991.
2. Emirsajłow Z.: Teoria układów sterowania. Część I. Układy liniowe z czasem ciągłym.
Politechnika Szczecińska, Szczecin 2000.
3. Kaczorek T.: wektory i macierze w automatyce i elektrotechnice. WNT, Warszawa 1998.
4. Łanowy S., Przybylak F., Szlęk B.: Równania róŜniczkowe. Politechnika Śląska, Gliwice
2000.
5. Popov S. O.: Elementy teorii systemów – systemy dynamiczne. Politechnika Szczecińska,
Szczecin 2005.
Rękopis dostarczono dnia 3.11.2008 r.
Opiniował: prof. dr hab. inŜ. Jan SIKORA
REALIZATION OF A FULL RANK STATE OBSERVER IN
CASE OF LACK OF EXACT OBJECT MODEL
mgr inŜ. Jacek TYMCZYNA
Abstract:
The aim of this paper is to take into consideration
problems connected with using full rank state observers, having
inaccurate knowledge of observed (linear) dynamic object description.
Error occurrence in reconstruction of object state vector is a result of
perfect knowledge lack about object structure. With the purpose of
reduction differences between (measured) object outputs y(t) and
observer outputs calculated on the basis of state coordinates
reconstructed in observer, insert extra integration to classical
structure full rank Luenberger’s observer is proposed. Functioning
(action) of mentioned observer is presented on selected simulation.

Podobne dokumenty