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.