funkcja Lapunowa i stabilność w sensie Lapunowalinearyzacja przez sprzężenie zwrotnesterowanie ślizgowe
Automatyka 4.6
Stabilność Lapunowa i sterowanie nieliniowe
Lekcja dla chętnych. Wszystko, co dotąd robiliśmy, opierało się na linearyzacji: bieguny, transmitancje, LQR i filtr Kalmana opisują układ w okolicy punktu pracy. Ta lekcja wychodzi poza tę okolicę. Pokazuje, jak udowodnić stabilność bez rozwiązywania równań, jak skasować nieliniowość sprzężeniem zwrotnym i jak zbudować regulator, któremu nieznane zakłócenie nie przeszkadza. To przegląd. Każdy z tematów ma osobne podręczniki, a celem jest rozpoznanie ich w literaturze, choćby u Tewariego.
Czas
ok. 2 h teorii + ok. 2 h zadań
Zadania
11 zadań w treści + 4 do przemyślenia, z odpowiedziami
Źródła
H. K. Khalil, Nonlinear Systems, rozdz. 4, 13, 14; J.-J. Slotine, W. Li, Applied Nonlinear Control, rozdz. 3, 6, 7; A. Tewari, Advanced Control of Aircraft, Spacecraft and Rockets, dodatek B
0 Prolog: stabilność bez rozwiązywania
W 1892 r. Aleksandr Lapunow obronił w Moskwie rozprawę „Ogólny problem stateczności ruchu”. Wyszedł od obserwacji z mechaniki: jeśli energia układu ciągle maleje, a jest najmniejsza w punkcie równowagi, to układ musi do tej równowagi zmierzać, jakkolwiek skomplikowane byłyby jego równania. Nie trzeba znać trajektorii, wystarczy znaleźć funkcję podobną do energii i sprawdzić, że maleje.
Przez pół wieku praca była prawie nieznana na Zachodzie. Gdy w latach 50. i 60. automatyka zderzyła się z nieliniowymi problemami rakiet i statków kosmicznych, metoda Lapunowa stała się podstawą całej teorii sterowania nieliniowego.
Pytanie na start. Wahadło z tarciem puszczone z kąta 143°. Wiadomo, że kiedyś się zatrzyma na dole. Czy da się to udowodnić bez rozwiązywania równania θ¨=−Lgsinθ−cθ˙, którego nie da się rozwiązać w funkcjach elementarnych? Odpowiedź w części 1.
1 Funkcja Lapunowa
Twierdzenie Lapunowa (wersja praktyczna)
Punkt równowagi x=0 układu x˙=f(x). Jeśli istnieje funkcja V(x) taka, że V(0)=0, V(x)>0 dla x=0 (w pewnym otoczeniu) oraz
V˙=∇V⋅f(x)<0dla x=0,
to równowaga jest asymptotycznie stabilna. Gdy V˙≤0, jest stabilna (trajektorie nie uciekają).
Klucz: V˙ liczymy z równania ruchu, bez jego rozwiązywania. Odpowiedź na pytanie z prologu. Dla wahadła z tarciem weźmy energię (na jednostkę mL2): V=21ω2+Lg(1−cosθ). Wtedy
V˙=ωω˙+Lgsinθω=ω(−Lgsinθ−cω)+Lgωsinθ=−cω2≤0.
Energia nigdy nie rośnie, więc wahadło nie ucieknie z obszaru V<V(0). V˙ jest zerowe tylko chwilowo (gdy ω=0 w punkcie zwrotnym), a jedynym miejscem, gdzie wahadło może zostać na stałe z ω=0, jest równowaga. Zasada LaSalle’a formalizuje ten krok i daje asymptotyczną stabilność. Z kąta 143° (V=17,7) wahadło nie przejdzie przez górę, bo to wymaga V>2g/L=19,6: zatrzyma się na dole.
Symulacja 1 Portret fazowy wahadła (lekcja 4.6 Układy nieliniowe, płaszczyzna fazowa i stabilność) z poziomicami energii. Czerwona poziomica to separatrysa V=2g/L. Z tarciem trajektoria przecina poziomice tylko do środka, a V(t) maleje. Wyzeruj tarcie: trajektoria biegnie po jednej poziomicy. Daj dużą prędkość początkową: wahadło przechodzi przez górę i kończy w innym minimum.
Zadania · część 1
3 zadania · ok. 20 min
Dla x˙=−x3 pokaż stabilność funkcją V=x2. Dlaczego linearyzacja tu nic nie mówi?
Odpowiedź
V˙=2xx˙=−2x4<0 dla x=0: asymptotycznie stabilny. Linearyzacja w zerze daje x˙=0 (biegun w zerze), czyli przypadek graniczny, z którego nic nie wynika.
Jaka prędkość początkowa na dole wystarcza wahadłu bez tarcia, żeby przejść przez górę (g/L=9,81 1/s²)?
Odpowiedź
21ω02>2Lg: ω0>2g/L=6,26 rad/s. Z tarciem trzeba więcej (z c=0,5 nawet 6,5 rad/s nie wystarczy).
Dla wahadła bez tarcia V˙=0. Co twierdzenie mówi o stabilności dolnej równowagi? Co o górnej?
Odpowiedź
Dolna: V>0 wokół niej i V˙=0, więc stabilna, ale nie asymptotycznie (wahadło oscyluje bez końca). Górna: V ma tam punkt siodłowy (rośnie z ω, maleje z odchyleniem kąta), a nie minimum, więc twierdzenie nie ma zastosowania, a równowaga jest niestabilna (lekcja math 4.6).
2 Lapunow dla układów liniowych
Dla x˙=Ax naturalna jest funkcja kwadratowa V=xTPx z P dodatnio określonym. Wtedy V˙=xT(ATP+PA)x. Wystarczy, żeby
ATP+PA=−Q,Q≻0.
To równanie Lapunowa: liniowe względem P. Dla stabilnego A ma ono zawsze jedno rozwiązanie, i to dodatnio określone; dla niestabilnego zwykle też ma rozwiązanie, ale nie dodatnio określone. Ta sama macierz pojawiła się w LQR: koszt pętli zamkniętej ∫xTQxdt=x0TPx0 (lekcja 4.3 LQR: koszt zamiast biegunów). Funkcja Lapunowa jest tu kosztem „od teraz do nieskończoności”.
Praktyczne zastosowanie: funkcja Lapunowa z linearyzacji pozwala oszacować obszar przyciągania układu nieliniowego, czyli największą poziomicę V, wewnątrz której V˙<0 także dla pełnego, nieliniowego modelu.
Z trzech równań na p11, p12, p22: −8p12=−1, p11−2,8p12−4p22=0, 2p12−5,6p22=−1. Stąd p12=0,125, p22=0,223, p11=1,243. Wartości własne 1,258 i 0,208: dodatnio określona ✓.
Dlaczego dla niestabilnego A równanie Lapunowa nie może mieć rozwiązania P≻0?
Odpowiedź
Gdyby miało, V=xTPx byłoby dodatnie i malejące wzdłuż każdej trajektorii, więc wszystkie trajektorie zmierzałyby do zera. To przeczy istnieniu rosnącego modu własnego.
3 Linearyzacja przez sprzężenie
Linearyzacja w punkcie pracy przybliża model. Linearyzacja przez sprzężenie zwrotne (ang. feedback linearization) robi coś mocniejszego: sterowaniem dokładnie kasuje nieliniowość, tak że z punktu widzenia nowego wejścia v obiekt jest liniowy w całym zakresie pracy.
Przykład z każdego kontrolera lotu: dron przechylony o kąt φ ma pionową składową ciągu Tcosφ. Pionowo: mz¨=Tcosφ−mg. Jeśli regulator wysokości liczy żądane przyspieszenie v (np. PID z lekcji 3.1), to ciąg
T=cosφm(g+v)
daje dokładnie z¨=v przy każdym przechyleniu. Bez tego członu przechylony dron opada: przy 30° pionowe przyspieszenie spada o g(1−cos30∘)=1,31 m/s², a regulator dowiaduje się o tym dopiero z uchybu.
Warunki i ograniczenia: trzeba znać model (masa, cosφ), a podział przez cosφ wymaga ∣φ∣<90∘ i zapasu ciągu (przy 45° potrzeba 1,41 razy więcej). Przy niedokładnym modelu kasowanie jest niedokładne, a resztę musi poprawić pętla.
Zadania · część 3
3 zadania · ok. 20 min
Ile razy większy ciąg potrzebny jest do zawisu przy przechyleniu 10°, 30°, 45°?
Odpowiedź
1/cosφ: 1,015; 1,155; 1,414.
Wahadło sterowane momentem: mL2θ¨=−mgLsinθ+τ. Zaproponuj τ, które daje θ¨=v.
Odpowiedź
τ=mgLsinθ+mL2v. Z v=−k1θ−k2θ˙ każda pozycja (także odwrócona) jest stabilizowana jak liniowy oscylator, w całym zakresie kątów (o ile moment wystarcza).
Dlaczego linearyzacja przez sprzężenie jest ryzykowna, gdy obiekt ma zero w prawej półpłaszczyźnie (lekcja 2.2)?
Odpowiedź
Kasowanie dynamiki to w istocie odwrócenie modelu. Odwrócenie prawego zera daje niestabilny biegun w regulatorze: wewnętrzna dynamika (ang. zero dynamics) eksploduje, choć wyjście wygląda dobrze. Metoda wymaga, żeby ta wewnętrzna dynamika była stabilna.
4 Sterowanie ślizgowe
Co, jeśli modelu nie znamy dokładnie, ale wiemy, że zakłócenie jest ograniczone: ∣d∣≤D? Sterowanie ślizgowe (ang. sliding mode control) robi dwie rzeczy. Wybiera powierzchnię ślizgu, na której ruch jest taki, jak chcemy, np. dla x¨=u+d:
s=x˙+λx=0⇒x(t)=x(tr)e−λ(t−tr)(t≥tr,tr — chwila dojsˊcia do powierzchni).
Potem buduje sterowanie, które sprowadza stan na tę powierzchnię i tam trzyma, cokolwiek robi zakłócenie: u=−λx˙−ksign(s) z k>D. Uzasadnienie przez Lapunowa: dla V=21s2 jest V˙=ss˙=s(d−ksigns)≤−(k−D)∣s∣<0. Stąd też oszacowanie czasu dojścia: co najwyżej ∣s0∣/(k−D).
Na powierzchni sterowanie przełącza się nieskończenie szybko między ±k i w średniej dokładnie kasuje zakłócenie. W praktyce przełączanie z częstotliwością próbkowania to drgania sterowania (ang. chattering): niszczą siłowniki i pobudzają niemodelowane rezonanse. Typowe lekarstwo to warstwa przejściowa: sign(s)→sat(s/ε). Drgania znikają, a błąd zostaje ograniczony, ale już nie zerowy (rzędu ε/λ).
Symulacja 2 Podwójny integrator x¨=u+d z nieznanym zakłóceniem d=0,8sin2t, start x=1. Porównaj PD (te same bieguny co PD wysokości z lekcji 2.2) ze sterowaniem ślizgowym. Zmniejsz k poniżej amplitudy zakłócenia. Włącz warstwę ε i patrz na sterowanie.
Zadania · część 4
3 zadania · ok. 25 min
Start x=1, x˙=0, λ=2, k=1,5, D=0,8. Oszacuj czas dojścia do powierzchni ślizgu.
Odpowiedź
s0=0+2⋅1=2; t≤2/(1,5−0,8)=2,86 s. Symulacja: ok. 1,8 s (oszacowanie jest pesymistyczne, bo zakłócenie nie zawsze działa przeciwko).
PD u=−4x−2,8x˙ z tym samym zakłóceniem: jaka amplituda drgań ustalonych? (Policz (jω)2+2,8jω+41 dla ω=2.)
Odpowiedź
(j2)2+4=0, zostaje ∣2,8⋅2j∣=5,6; amplituda 0,8/5,6=0,143. Ślizgowy z sign: ok. 0,0006, z warstwą ε=0,05: ok. 0,009.
Dlaczego ruch na powierzchni ślizgu nie zależy od zakłócenia, a ruch PD tak?
Odpowiedź
Na powierzchni obowiązuje s=0, czyli x˙=−λx: równanie pierwszego rzędu, w którym d nie występuje, bo sterowanie przełączające w średniej dokładnie je kompensuje. PD ma skończone wzmocnienie i zakłócenie przechodzi przez S (lekcja 2.5).
5 Metoda i przykłady rozwiązane
Metoda: kiedy liniowe już nie wystarcza
Sprawdź zakres: jeśli punkt pracy się zmienia, ale powoli i mierzalnie, wystarczy gain scheduling (lekcja 3.3).
Znana nieliniowość (grawitacja, cosφ, aerodynamika z modelu): linearyzacja przez sprzężenie plus liniowa pętla na resztę.
Nieznane, ale ograniczone zakłócenia: sterowanie ślizgowe z warstwą przejściową.
Sprawdzenie: symulacja nieliniowa z błędami modelu, opóźnieniem i próbkowaniem.
Przykład 5.1 Wahadło z 143°
g/L=9,81 1/s², c=0,5 1/s, start θ0=2,5 rad, ω0=0. Co wiemy bez rozwiązywania?
V(0)=9,81(1−cos2,5)=17,67<2g/L=19,62: wahadło nie przejdzie przez górę.
V˙=−0,5ω2≤0, a LaSalle daje zbieżność do θ=0.
Symulacja: V w kolejnych sekundach 17,7; 11,5; 8,0; 5,2; 3,2; 2,0, po 20 s prawie zero.
Wynik: wahadło zatrzyma się na dole, bez żadnej trajektorii w ręku.
Sprawdzenie: symulacja 1 z tymi ustawieniami ✓.
Przykład 5.2 Kompensacja przechylenia w dronie
Dron 1 kg leci w bok z przechyleniem 30°, regulator wysokości żąda v=0. Porównaj ciąg mg i ciąg z linearyzacji przez sprzężenie.
Ciąg mg=9,81 N: pionowa składowa 9,81cos30∘=8,50 N, dron przyspiesza w dół 1,31 m/s².
Ciąg mg/cos30∘=11,33 N: pionowa składowa dokładnie 9,81 N, wysokość stała.
Wynik: jedna linijka (dzielenie przez cosφ) usuwa zakłócenie, które regulator liniowy musiałby zbijać uchybem.
Sprawdzenie: przy φ=0 wzór daje zwykły ciąg zawisu ✓.
6 Błędne intuicje, których trzeba się oduczyć
„Jeśli nie umiem znaleźć funkcji Lapunowa, układ jest niestabilny.”
Twierdzenie daje warunek wystarczający. Brak funkcji to brak dowodu, nie dowód niestabilności.
„Linearyzacja w punkcie pracy i linearyzacja przez sprzężenie to to samo.”
Pierwsza przybliża model, druga kasuje nieliniowość sterowaniem i działa w całym zakresie, o ile model jest dokładny.
„Sterowanie ślizgowe jest odporne na wszystko.”
Tylko na zakłócenia dopasowane do wejścia (wchodzące tam, gdzie sterowanie) i ograniczone przez k. Płaci się drganiami sterowania albo warstwą z niezerowym błędem.
„Układ nieliniowy zawsze wymaga regulatora nieliniowego.”
Większość dronów i samolotów lata na regulatorach liniowych z harmonogramem nastaw. Nieliniowe metody stosuje się tam, gdzie te nie wystarczają.
7 Zadania do przemyślenia
Te zadania wymagają więcej myślenia niż liczenia.
Zadania do przemyślenia
4 zadania · ok. 1 godzina
Rozhuśtanie wahadła. Chcemy rozhuśtać wahadło z dołu do góry ograniczonym momentem. Zaproponuj prawo sterowania oparte na energii. Wskazówka: V˙=ωτ/(mL2) (bez tarcia).
Rozwiązanie
Cel: V=Vgoˊra=2g/L. Sterowanie τ=ksign(ω)(Vgoˊra−V) zwiększa energię, gdy jej brakuje (pchamy zgodnie z ruchem), i zmniejsza, gdy jest za duża.
Po dojściu w okolicę góry przełączamy na regulator liniowy (LQR) stabilizujący odwrócone wahadło. To klasyczne rozwiązanie Åströma i Furuty (2000).
Lapunow dla orientacji satelity. Satelita obraca się z prędkością ω; energia kinetyczna obrotu 21ωTJω. Zaproponuj moment sterujący, który na pewno wytraca obrót.
Rozwiązanie
Z równań Eulera V˙=ωTτ (człon żyroskopowy nie wykonuje pracy). Wybór τ=−kω daje V˙=−k∣ω∣2<0.
To tłumienie prędkości obrotowej, używane do wytracania obrotu po odłączeniu od rakiety; jego przybliżona wersja dla cewek magnetycznych (magnetorquerów) to prawo „B-dot”. Temat kursu astronautyki (sterowanie orientacją).
Ślizg z próbkowaniem. Sterowanie ślizgowe liczone co T=1 ms. Ile wynosi w przybliżeniu amplituda drgań s wokół zera? (Między próbkami s˙≈±k.)
Rozwiązanie
W jednym okresie s zmienia się o ok. kT, a znak przełącza się co próbkę: ∣s∣≲kT (dla k=1,5: ok. 1,5 mm/s).
Stąd błąd x rzędu kT/λ. Wolniejsze próbkowanie wprost zwiększa drgania. Warstwa przejściowa powinna być co najmniej rzędu kT.
Obszar przyciągania. Odwrócone wahadło z regulatorem liniowym zaprojektowanym w pobliżu pionu. Opisz, jak funkcją Lapunowa z równania Lapunowa oszacować, z jak dużego wychylenia regulator na pewno wróci.
Rozwiązanie
Z linearyzacji: AclTP+PAcl=−Q. Dla pełnego modelu nieliniowego policz V˙=2xTPf(x) i znajdź największe c, dla którego V˙<0 w całym obszarze V(x)<c (numerycznie, na siatce).
Obszar V<c to gwarantowany (zwykle zachowawczy) obszar przyciągania. Wraz z ograniczeniem momentu daje odpowiedź „z ilu stopni regulator na pewno złapie wahadło”.
8 Sprawdź się
Odpowiedz w myślach, zanim rozwiniesz odpowiedź.
1 Co mówi twierdzenie Lapunowa?
Jeśli istnieje V>0 z V˙<0 poza równowagą, równowaga jest asymptotycznie stabilna.
2 Jaka funkcja Lapunowa pasuje do wahadła z tarciem?
Energia: V=21ω2+Lg(1−cosθ), V˙=−cω2.
3 Co to równanie Lapunowa?
ATP+PA=−Q; dodatnio określone P istnieje wtedy i tylko wtedy, gdy A jest stabilna.
4 Na czym polega linearyzacja przez sprzężenie?
Na skasowaniu znanej nieliniowości sterowaniem, np. T=m(g+v)/cosφ.
5 Jak działa sterowanie ślizgowe?
Sprowadza stan na powierzchnię s=0 i trzyma go tam przełączaniem ±k z k>∣d∣.
Obowiązkowo (dla chętnych): J.-J. Slotine, W. Li, Applied Nonlinear Control, rozdz. 3 (Lapunow) i 7 (sterowanie ślizgowe), bardzo przystępne.
Dalej: H. K. Khalil, Nonlinear Systems (standardowy podręcznik); A. Tewari, Advanced Control of Aircraft, Spacecraft and Rockets, dodatek B (stabilność Lapunowa w zwięzłej formie).
To koniec części IV. Część V jest mostem do podręcznika Tewariego: sterowanie optymalne w ogólnej postaci (zasada maksimum Pontriagina, która daje LQR jako przypadek szczególny i sterowanie czasooptymalne jako inny) oraz pytanie, które wisi nad całą częścią IV: co się dzieje z odpornością, gdy LQR połączymy z filtrem Kalmana.