Wykład 6 - odtwarzanie zmiennych stanu przez obserwację
dr inż. Jakub Możaryn
Instytut Automatyki i Robotyki
Warszawa, 2014
Wykorzystanie układów sterowania od zmiennych stanu wymaga uzyskania dodatkowych informacji o stanie obiektu. W układach pozycjonowania są to najczęściej:
położenie - d (t), prędkość - v (t)), przyspieszenie - a(t).
Informacje te mogą być dostępne dzięki użyciu dodatkowych przetworników pomiarowych. Wiąże się to jednak między innymi z dodatkowym kosztem.
sygnałów
Sterowanie dyskretne i technika cyfrowa pozwalają uzyskiwać dodatkowe informacje o stanie obiektu poprzez odtwarzanie zmiennych stanu.
Korzyści jakie wynikają z eliminacji dodatkowych czujników to:
obniżenie kosztów,
zmniejszenie wymiarów maszyny napędzającej,
eliminacja połączeń kablowych od czujników prędkości, większa niezawodność.
Istnieją 2 podstawowe sposoby odtwarzania sygnałów przez różniczkowanie,
przez obserwację (wykorzystanie obserwatorów).
metodą bezpośrednią
Odtwarzanie prędkości i przyspieszenia - metody dwu- i wielopunktowe ˆ
v (k) = [s(k) − s(k − i )]
iTp
, (1)
ˆ
a(k) = [ˆv (k) − ˆv (k − i )]
jTp
= [s(k) − s(k − i ) − s(k − j ) + s(k − i − j )]
ijTp2 ,
(2) gdzie: i , j = 1, 2, 3, ... oznacza liczbę okresów próbkowania Tp
wykorzystywanych w dyskretnej procedurze odtwarzania (i = 1 – realizacja dwupunktowa itd.)
Przy odtwarzaniu zmiennych metodą siecznej możliwe jest wybranie realizacji różniczkowania od dwu- do wielopunktowej, które różnią się liczbą punktów s użytych do różniczkowania (parametry i , j ). Zwiększenie liczby punktów użytych do
różniczkowania zwiększa przesunięcie fazowe odtwarzanych sygnałów prędkości i przyspieszenia oraz zwiększeniu ulegają błędy amplitudy odtwarzanych sygnałów, ale jednocześnie zmniejsza się wpływ zniekształceń sygnału pomiaru położenia na jakość odtwarzania sygnałów v i a (lepsze filtrowanie).
metodą bezpośrednią
Rysunek :Odtwarzanie przez różniczkowanie (sieczna wielopunktowa); v , a - sygnały wzorcowe, sygnały odtworzone procedurą: v1, a1 - trójpunktową, v2, a2
- pięciopunktową.
metodą wielomianu interpolacyjnego
Metoda opiera się na zastąpieniu zbioru dyskretnych wartości s(k) ciągłą funkcją f (t), a następnie wyliczenie wartości jej pochodnych, tzn.
odtworzenie sygnału prędkości i przyspieszenia, w dowolnej chwili czasowej przedziału < ka, kb>.
ˆ
v (k) = df (t) dt
t=k
(3)
ˆ
a(k) = d2f (t) dt2
t=k
(4) spośród wielu możliwych do wykorzystania funkcji interpolacyjnych:
algebraicznych, trygonometrycznych, ekspotencjalnych, sklejanych itp., wygodnie jest się posługiwać wielomianem Newtona w postaci:
f (t) =
n
X
r =0
arwr(t) (5)
metodą wielomianu interpolacyjnego
Wielomian Newtona
f (t) =
n
X
r =0
arwr(t) (6)
posiada wielomiany bazowe wr(t) rzędu nie wyższego niż n, tzn.
w0(t) = 1, wr(t) = (t − k0)(t − k1)...(t − kr −1), r = 1, 2, ..., n, (7) gdzie: k0, k1, ..., kn są zadanymi punktami węzłowymi (w rozpatrywanej aplikacji – kolejnymi chwilami czasu dyskretnego k z uwzględnianego przedziału pomiaru położenia s(k))
metodą wielomianu interpolacyjnego
Postać wielomianowa pozwala na przedstawienie pochodnych funkcji interpolacyjnej jako liniowej kombinacji jej wartości: umożliwia to wyznaczenie wartości odtwarzanych sygnałów tylko na podstawie odłożonych w pamięci procesora wartości s(k) z kontrolowanego przedziału czasu < ka, kb> oraz okresu próbkowania Tp. Współczynniki wielomianu ar, r = 1, 2...n można określić na dwa sposoby:
METODA 1 - rozwiązując układ równań
f (k0) = a0= s(k0)
f (k1) = a0+ a1(k1− k0) = s(k1) . . .
f (kn) = a0+ ... + an(kn− k1)...(kn− kn−1) = s(kn)
(8)
metodą wielomianu interpolacyjnego
Współczynniki wielomianu ar, r = 1, 2...n można określić na dwa sposoby:
METODA 2 - rekurencyjnie, za pomocą ilorazów różnicowych o postaci
bij= s(ki) − s(kj) ki− kj
(9) opartej na węzłach ki, kj, co pozwala obliczać iloraz różnicowy oparty na węzłach ki, ki +1, ..., ki +m (iloraz rzędu m) za pomocą ilorazów wykorzystujących węzły ki, ki +1, ..., ki +m−1 oraz ki +1, ki +2, ..., ki +m
bi ,i +1,...,i +m= bi ,i +1,...,i +m−1− bi +1,i +1,...,i +m
ki− ki +m
. (10)
Współczynniki wielomianu przyjmują wtedy wartości
a0= b0, a1= b0,1, ..., an= b0,1,2,...,n (11)
metodą wielomianu interpolacyjnego
Rysunek :Odtwarzanie przez różniczkowanie z wykorzystaniem wielomianu interpolacyjnego (procedura czteropunktową): sygnały v , a - wzorcowe, v1, a1- w aktualnej chwili czasowej, v2, a2 - w środku przedziału czasowego
Wadą metody interpolacyjnej są zniekształcenia wartości sygnałów w przypadku niskiego rzędu wielomianu - zbliżenie do wartości
rzeczywistych, szczególnie dobre dla prędkości, uzyskuje się dopiero od procedury czteropunktowej
metodą wielomianu aproksymacyjnego
Wielomian aproksymacyjny → rozszerzenie wielomianu interpolacyjnego Dla wielomianu rzędu wyższego, m > n, nie ma jednoznacznego rozwiązania ale możliwe są dwie drogi określenia wartości współczynników wielomianu aproksymacyjnego
f (k) =ˆ
m
X
r =0
ar(k)(kTp)r = ˆF (k)w (k) (12)
gdzie ˆF (k) = [a0, a1, ..., am]T, wk = [1, kTp, ..., kTpm], F , w ∈ Rm×1 oznaczają wektory współczynników i rozwinięć potęgowych wielomianu.
metodą wielomianu aproksymacyjnego
Współczynniki wielomianu ar, r = 1, 2...m można określić na dwa sposoby:
METODA 1 - metodą aproksymacji średniokwadratowej dyskretnej, poszukując wartości minimalnej liniowo-kwadratowego wskaźnika jakości
IˆL−K
f (k) =
n
X
i =0
[s(k − i ) − ˆf (−iTp)]2 tzn.
∂IˆL−K
f (k)
∂ar(k) = 0 dla r = 0, ..., m (13) Prowadzi to do układu m + 1 równań
m
X
r =0
(−1)r +1ar
" n X
i =0
(n + 1 − i )2m−r −qTpr
#
= −
n
X
i =0
im−qs(k − i ) (14) q = 0, ..., m
metodą wielomianu aproksymacyjnego
Współczynniki wielomianu ar, r = 1, 2...m można określić na dwa sposoby:
METODA 2 - metodą szacowania współczynników wielomianu optymalnegoocenianego przez kryterium najmniejszych kwadratów
If (k)ˆLS = 1 n + 1
n
X
i =0
λn−1[s(k − i ) − ˆf (−iTp)]2= min (15)
w wersji podstawowej (LS) lub - co korzystniejsze ze względu na pożądane ograniczenia obliczeniowe procedury - w wersji
rekurencyjnej (RLS), gdzie λ < 1 - tzw. współczynnik zapominania.
metodą wielomianu aproksymacyjnego
Analityczne różniczkowanie wielomianu aproksymacyjnego prowadzi do wyrażeń opisujących - ogólnie - odtwarzane sygnały, np. prędkości i przyspieszenia w funkcji czasu i oszacowanych współczynników ai(k), odpowiednio jako:
prędkość
ˆ
v (k) = a1(k) + a2(k)2kTp+ ... + am(k)m(kTp)m−1 (16) przyspieszenie
ˆ
a(k) = a2(k)2 + a3(k)6kTp+ ... + am(k)m(m − 1)(kTp)m−2 (17)
metodą wielomianu aproksymacyjnego
Rysunek :Odtwarzanie przez różniczkowanie z wykorzystaniem wielomianu aproksymującego: v , a - sygnały wzorcowe, odtwarzanie z zastosowaniem wielomianu 3 rzędu, procedury ośmiopunktowej i współczynnika zapominania estymacji λ o wartości: v1, a1, λ = 0, 8, v2, a2, λ = 0, 6, v3, a3, λ = 0, 15
W praktyce preferowane jest odtwarzanie przez różniczkowanie. Ma ono szereg zalet w stosunku do odtwarzania przez obserwację.
Ograniczona moc obliczeniowa wykorzystywanych w produktach przemysłowych (ze względu na niski koszt) układów
mikroprocesorowych (8-bitowe, 16- i 32-bitowe, jednokartowe sterowniki procesorowe) i kompatybilna z ich możliwościami obliczeniowymi prostota implementacji,
Bezmodelowa, a więc odporna na zmiany warunków pracy napędu, procedura odtwarzania sygnałów - w porównaniu z potrzebą wiarygodnego modelu zachowań dynamicznych napędu w przypadku obserwacji i złożoność identyfikacyjna i implementacyjna tego modelu,
Zawodność liniowego obserwatora w obszarze silnie nieliniowych zachowań napędu, a więc przede wszystkim w obszarze małych prędkości ruchu.
Główne wady odtwarzania przez różniczkowanie są następujące Podniesienie szumu pomiarowego przez wzmocnienie
wysokoczęstotliwościowych sygnałów zakłóceń; problematyczne w przypadku bezdotykowych, indukcyjnych i magnetostrykcyjnych, przetworników położenia, odpornych na warunki pracy i tanich, ale obarczonych dużym szumem pomiarowym - nawet kilkukrotnie przewyższającym rozdzielczość właściwego pomiaru.
Przesunięcie czasowe (opóźnienie fazowe) odtwarzanych sygnałów:
do odtworzenia sygnałów ˆv i ˆa w chwili k potrzebne są, oprócz sygnału d (k), sygnały z poprzednich chwil d (k − i ) i d (k − j ).
Zredukowanie wartości liczbowych reprezentujących sygnał odtwarzany w stosunku do rozdzielczości zastosowanego przetwornika położenia (kwantyzacja sygnałów) - szczególnie widoczne przy wielokrotnym różniczkowaniu.
Pogorszenie stabilności zmuszające do ograniczenia wartości wzmocnień w układzie sterowania i przez to zmniejszenie wpływu na zachowania dynamiczne napędu.
obserwatora
Proces ruchu realizowany przez układ napędowy jest przyjmowany jako wielowymiarowy, jednowyjściowy obiekt sterowania, opisany w
uproszczonej postaci dyskretnej przez następujące macierze stanu, sterowania i wyjścia
Amd ∈ Rn×n (18)
Bmd∈ Rn×r (19)
Cmd ∈ R1×n (20)
oraz przez opóźnienie d .
Obserwator według Luenbergera to układ o postaci
ˆ
x (k + 1) = Amdx (k) + Bmdu(k − d ) + kobeob(k),
eob(k) = [y (k) − Cmdx (k)]ˆ (21) estymujący - przy odpowiednim doborze macierzy obserwacji kob ∈ Rn×1 – stan procesu ˆx (k).
obserwatora
Narzucenie dyskretnemu układowi wartości własnych z1, z2, ..., znokreśla macierz obserwacji kob zgodnie z zależnością
det(zI − Amd+ kobCmd) = (z − z1)(z − z2)...(z − zn) (22) oraz określa dynamikę zanikania odchyłki odtwarzania eob(k).
Zbieżność estymacji zapewniają wartości własne zi leżące wewnątrz okręgu jednostkowego na płaszczyźnie zmiennej zespolonej z
|zi| < 1, i = 1, 2, ..., n (23) co oznacza spełnienie warunku stabilności asymptotycznej
obserwatora.
Rysunek :Sterowanie pozycyjne pneumatycznego układu napędowego z obserwatorem.
Przykład: Macierz obserwacji dla dyskretnego modelu procesu ruchu
x (k + 1) =
1 Tp 0
0 1 − αTp βTp 0 −2αβ 1 − αTp−2β(1−β)
x (k) +
0 CmTpα 2Cmαβ
(24)
y (k) = [1 0 0]x (k) (25)
gdzie
α = 0.5ωom2 Tp, β = 1 − DmωomTp (26) Równanie stanu dane jest w postaci (n = 3, r = 1)
x (k + 1) =
1 a12 0 0 a22 a23
0 a32 a33
x (k) +
0 b21
b31
(27)
Macierz wzmocnień obserwatora wyznacza się więc wg zależności
det
Iz −
1 a12 0 0 a22 a23
0 a32 a33
+
kob1
kob2
kob3
[1 0 0]
= (z−z1)(z−z2)(z−z3) (28)
Korzystając z (28) otrzymuje się następujące zależności określające składowe macierzy obserwacji
kob1= 1 + a22+ a33− γ1 (29)
kob2= γ2− [a22a33− a23a32+ a22+ a33− k(a22+ a33)]
a12 (30)
kob3=a22a33− a23a32− kob1(a22a33+ a23a32) + kob2a12a33− γ3 a12a23
(31) gdzie: γ1= z1+ z2+ z3, γ2 = z1z2+ z1z3+ z2z3, γ3= z1z2z3. UWAGA:
głównym problemem realizacyjnym obserwatora pozostaje wybór wartości własnych (z1, z2, z3) - oprócz teoretycznych uwarunkowań brakuje innych, konkretnych przesłanek wyboru: powodzenie, ograniczone zresztą, zapewniają 2 metody.
dobory wartości własnych
METODA 1: Narzucenie wartości własnych w płaszczyźnie zmiennej zespolonej s w funkcji pulsacji drgań swobodnych ωom
wybranego do realizacji obserwatora modelu procesu ruchu.
s1,2= −αωom(1 ± j β), s3= −αχωom (32) z warunkiem
α(ωom) =
αωωogr
om gdy ωom< ωogr
α gdy ωom ωogr
(33)
następnie transformacji wartości własnych na płaszczyznę z wg
z1,2= e−αωomTpcos(αβωomTp) ± je−αωomTpsin(αβωomTp) (34) gdzie współczynniki α, β i γ , dobrane są dla typowych rozwiązań i warunków pracy napędów, tzn. zapewniają dostatecznie szybkie dążenie zmiennych odtwarzanych do odpowiednich zmiennych stanu procesu ruchu.
METODA 2: powiązanie problemu syntezy obserwatora i
sterowania pozycyjnego napędu przez narzucenie dopuszczalnych wartości odchyłek zmiennych stanu: powodowanych przez odtwarzanie (δobx ) i sterowanie pozycyjne (δx ).
Względne wartości tych odchyłek można powiązać ze sobą wychodząc z równań pracy układu po wprowadzeniu zakłócenia skokowego
u(t) = Uo
1(t), (35)
jako
δx = kx
δobx
Uo (36)
kob1=δx 2kx 1 δx 1kx 2
, kob2= δx 3kx 1 δx 1kx 3
, kob3= −Cmω2omkx 1 δx 1
−2Dmωomkob2−ωom2 kob1 (37)
METODA 2 cd:
Uwzględnienie wartości odchyłek prowadzi, dla modelu zachowań oscylacyjnych procesu ruchu, do zależności
s1,2= −Re s1,2± jIm s1,2
s3= −Res3
(38) oraz
Res3[(Res1,2)2+ (Ims1,2)2] = Cmωomkx 1 δx 1
(39) określających położenie wartości własnych s1,2po narzuceniu wartości odchyłki położenia δx 1, wzmocnienia położeniowego kx 1i części rzeczywistej s3.
Rysunek :Odtwarzanie przez obserwację, gdzie: v , a - sygnały wzorcowe, odtwarzanie przy pomocy obserwatorów wykorzystujących modele o parametrach: v1, a1- obliczanych analitycznie oraz szacowanych: v2, a2 - w trakcie eksperymentu uruchomieniowego (off-line), v3, a3- w trakcie normalnej pracy układu napędowego (on-line).
Ze względu na nieadekwatności modelu obliczeniowego lub identyfikowanego w procedurze uruchomieniowej w odniesieniu do bieżącego zachowania układu napędowego, odtwarzanie dla potrzeb sterowania przez deterministyczny (stały) obserwator prowadzi do pogorszenia jakości sterowania nawet w stosunku do układów korzystających z różniczkowania metodą siecznej.
Nie satysfakcjonują również
próby rozbudowy struktury obserwatora o wybrane elementy nieliniowe
próby wzmacniania sprzężenia zwrotnego w powiązaniu z odchyłką odtwarzania (ze względu na podniesienie poziomu szumu
wprowadzanego z sygnału położenia).
Stosunkowo dobrą metodą poprawy jakości odtwarzania jest wprowadzenie mechanizmu samostrojenia, zakładającego uzmiennienie modelu dynamiki napędu w stosunku do wartości
obliczanych lub szacowanych; przyjmując np. stałą wartość wzmocnienia prędkościowego Cm- pulsacja drgań swobodnych ωom oraz tłumienie Dm modelu wykorzystywanego w obserwatorze mogą być w tym mechanizmie wyliczane:
bezpośrednio
pośrednio, przez uproszczoną aproksymację przebiegu wartości uwzględnianych parametrów:
odcinkami linii prostych wychodzących od znanej wartości (np. od wartości minimalnej),
schodkowo, stałymi wartościami w tak dobranych zakresach wartości określanego parametru, np. pulsacji, aby spełnić określone warunki
Przy obliczaniu pośrednio - schodkowo, stałymi wartościami w tak dobranych zakresach wartości określanego parametru, np. pulsacji, aby spełnić określone warunki , przyjmuje się
|ωom(s) − ωomob(s) − ωom min| ¬ δωom, orazωomob(s) = cωom(s)ωom min
(40) gdzie: ωom odpowiada wartości wyliczonej, ωom min- wartości minimalnej, ωomob - wartości wykorzystywanej w mechanizmie samostrojenia, δωom - względnej, akceptowanej odchyłce aproksymacji i cωom - współczynnikowi aproksymacji.
napędu
Odtwarzanie z wykorzystaniem modelu odtwarzanego, uwzględniając problematykę szacowania współczynników modelu, realizacji obserwatora oraz optymalizacji nakładu obliczeniowego i dostępu do pamięci
procesora, przebiegu w następujących krokach obliczeniowych:
odtworzenie wartości parametrów ruchu, np. prędkości i przyspieszenia, jedną z metod zapewniających możliwie wierny wartościowo i gładki przebieg sygnałów,
określenie współczynników modeli zachowań procesu ruchu np.
prędkościowych i przyspieszeniowych procesu ruchu:
ˆ
v (k) = ˆθv 1v (k − 1) + ˆˆ θv 2a(k − 1) + ˆˆ θv 3u(k − d − 1) ˆ
a(k) = ˆθa1v (k − 1) + ˆˆ θa2a(k − 1) + ˆˆ θa3u(k − d − 1) (41) przez oszacowanie w trakcie normalnej pracy napędu zgodnie ze schematem rekurencyjnym RLS,
napędu
wyznaczenie odchyłki obserwacji (odtwarzania) ˆeob(k) w postaci ˆ
eob(k) = s(k) − ˆs(k) (42) wyliczenie aktualnych wartości składowych macierzy obserwacji kob1, kob2ikob3 wybraną metodą,
odtworzenie przyrostu przemieszczenia sp(k + 1), sygnału prędkości ˆ
v (k + 1) i przyspieszenia ˆa(k + 1)
sp(k + 1) ˆ v (k + 1)
ˆ a(k + 1)
=
a12(k) a13(k) b1(k) −kob1(k) a22(k) a23(k) b2(k) −kob2(k) a32(k) a33(k) b3(k) −kob3(k)
ˆ v (k) ˆ a(k) u(k + d )
ˆ eob(k)
(43) estymację sygnału położenia, na podstawie otrzymanej wartości przyrostu
ˆ
s(k + 1) = ˆs(k) + sp(k + 1) (44)
napędu
W porównaniu z obserwatorem wykorzystującym model obliczeniowy lub identyfikowany w eksperymencie uruchomieniowym obserwator
identyfikowany w trakcie normalnej pracy napędu zapewnia najlepszą jakość odtwarzania - nie jest jednak wolny od wad związanych ze stosowaniem modelu
szacowaniem modelu,
trudnością identyfikacji modelu (np. w trakcie małych przemieszczeń),
zaniżaniem wartości szacowanej pulsacji w skrajnych położeniach (np. napędów płynowych),
wrażliwością na błąd punktu zerowego wysterowania.