metoda strzałówsterowanie bang-bangzasada maksimum Pontriagina
Automatyka 5.1
Zasada maksimum Pontriagina, sterowanie czasooptymalne i metoda strzałów
LQR dał optymalny regulator dla jednego rodzaju zadania: obiekt liniowy, koszt kwadratowy, sterowanie bez ograniczeń. Rakieta wchodząca na orbitę, samolot wznoszący się najszybciej, jak może, czy dron, który ma dolecieć na miejsce w najkrótszym czasie, nie mieszczą się w tych ramach. Ta lekcja przedstawia ogólne narzędzie, czyli zasadę maksimum (w konwencji Tewariego: minimum) Pontriagina. Pokazuje, że LQR jest jej przypadkiem szczególnym, a sterowanie „gaz do dechy, potem hamulec do dechy” innym. Kończy się tym, jak takie zadania rozwiązuje się numerycznie. To most do rozdziału 2 podręcznika Tewariego.
Czas
ok. 3 h teorii + ok. 3 h zadań
Zadania
13 zadań w treści + 5 do przemyślenia, z odpowiedziami
Źródła
A. Tewari, Advanced Control of Aircraft, Spacecraft and Rockets (Wiley 2011), rozdz. 2.4–2.7; A. E. Bryson, Y.-C. Ho, Applied Optimal Control; D. E. Kirk, Optimal Control Theory: An Introduction
0 Prolog: rakieta, która ma zdążyć
W połowie lat 50. w Moskwie Lew Pontriagin, matematyk, który w wieku 14 lat stracił wzrok, zajął się z kolegami (Bołtianski, Gamkrelidze, Miszczenko) zadaniami, które przynieśli mu inżynierowie lotnictwa: jak sterować, żeby samolot przechwytujący dotarł do celu najszybciej, przy ograniczonym ciągu i wychyleniu sterów? Rachunek wariacyjny z lekcji 6.1 Rachunek wariacyjny zawodził, bo optymalne sterowanie często siedziało na granicy dozwolonego zakresu, a tam warunek „pochodna równa zero” nie obowiązuje.
Wynikiem była zasada maksimum, opublikowana w pełni w 1961 r. w książce „Matematyczna teoria procesów optymalnych” (po angielsku w 1962 r.). W tym samym czasie Richard Bellman w USA rozwijał programowanie dynamiczne. Oba podejścia stały się fundamentem projektowania trajektorii rakiet, samolotów i statków kosmicznych.
Pytanie na start. Dron (bez oporu) może przyspieszać w pionie najwyżej g w górę i g w dół. Jak najszybciej wznieść się o 5 m i zatrzymać? Ile to trwa? Odpowiedź w części 4.
1 Ogólne zadanie sterowania optymalnego
Dany jest obiekt (dowolnie nieliniowy) i kryterium:Tewari 2.4
x˙=f(x,u,t),J=φ(x(tf))+∫0tfL(x,u,t)dt,u(t)∈U.
L to koszt bieżący (Tewari nazywa go lagranżjanem), φ to koszt końcowy, U to dopuszczalne sterowania, np. ∣u∣≤U. Do tego warunki brzegowe: znany stan początkowy i (czasem) zadany stan końcowy. Przykłady:
LQR: L=21(xTQx+uTRu), tf=∞, bez ograniczeń;
czas minimalny: L=1 (koszt to po prostu tf), ∣u∣≤U, zadany stan końcowy;
minimalne zużycie paliwa: L=∣u∣ (ciąg rakiety), zadany stan końcowy.
Zadania · część 1
2 zadania · ok. 10 min
Zapisz f, L, U i warunki brzegowe dla zadania z prologu.
Dlaczego w zadaniu minimalnego zużycia paliwa koszt to ∣u∣, a nie u2?
Odpowiedź
Zużycie paliwa rakiety jest proporcjonalne do ciągu (wydatek masowy m˙=T/ve), a nie do jego kwadratu. Koszt u2 (energia) prowadzi do gładkich sterowań, koszt ∣u∣ do sterowań typu „pełny ciąg albo nic”.
2 Hamiltonian i zasada minimum
Jak w rachunku wariacyjnym z więzami, dołączamy równanie ruchu do kryterium mnożnikami Lagrange’a λ(t), które tu nazywają się kostanem (ang. co-state). Kluczowy obiekt to hamiltonian:Tewari 2.5
z warunkami brzegowymi: x(0) dane; dla wolnego stanu końcowego λ(tf)=∂φ/∂x (warunek transwersalności); dla wolnego tf i H niezależnego od czasu: H≡0 wzdłuż trajektorii.
Kostan ma interpretację: λi mówi, o ile wzrośnie optymalny koszt, gdy w danej chwili zwiększymy xi o jednostkę (wrażliwość kosztu na stan). Gdy U nie ogranicza, minimum H to ∂H/∂u=0 i dostajemy równania Eulera–Lagrange’a z lekcji math 6.1. Gdy ogranicza, minimum może leżeć na brzegu U, i to jest nowość Pontriagina.
Zadania · część 2
3 zadania · ok. 25 min
Napisz H i równania kostanu dla x˙=v, v˙=u, L=21u2.
W zadaniu 2.1 kostan λ1 jest stały, a λ2 liniowy w czasie. Jakiego kształtu jest więc optymalne u(t) i x(t)?
Odpowiedź
u=−λ2(t) jest liniowe w t, więc v jest kwadratowe, a x sześcienne. Przejście z (0, 0) do (5 m, 0) w 3 s: x=5(3s2−2s3), s=t/3, u=930(1−2s): od 3,33 do −3,33 m/s².
Pokaż, że dla H niezależnego jawnie od czasu H jest stałe wzdłuż optymalnej trajektorii (bez ograniczeń sterowania).
Odpowiedź
H˙=Hxx˙+Hλλ˙+Huu˙=Hxf+fT(−HxT)+0=0. To odpowiednik zasady zachowania energii w mechanice Hamiltona.
Zgadujemy, że kostan jest liniowy w stanie: λ=P(t)x. Podstawiając do obu równań i żądając, żeby wynik zachodził dla każdego x, dostajemy różniczkowe równanie Riccatiego
−P˙=ATP+PA−PBR−1BTP+Q,
a dla tf→∞ jego stan ustalony, czyli algebraiczne równanie Riccatiego z lekcji 4.3 LQR: koszt zamiast biegunów. Szkic z tamtej lekcji (przez funkcję wartości V=xTPx) i ten (przez kostan) dają ten sam wynik: kostan to gradient funkcji wartości, λ=∇V (w skali 21).
Zadania · część 3
2 zadania · ok. 20 min
Wyprowadź różniczkowe równanie Riccatiego z λ=Px.
Odpowiedź
λ˙=P˙x+Px˙=P˙x+P(A−BR−1BTP)x. Z drugiej strony λ˙=−Qx−ATPx. Porównując: P˙+PA−PBR−1BTP+Q+ATP=0.
Dla skończonego horyzontu bez kosztu końcowego jaki jest warunek końcowy dla P? Co z tego wynika dla wzmocnienia pod koniec?
Odpowiedź
Stan końcowy wolny, φ=0: λ(tf)=0, więc P(tf)=0. Wzmocnienie K=R−1BTP spada do zera pod koniec: regulator „odpuszcza”, bo po tf nic się nie liczy. Daleko od końca P jest bliskie rozwiązaniu algebraicznemu.
H jest liniowy w u, więc minimum leży na brzegu: u∗=−Usignλ2. Sterowanie zawsze pełne, tylko kierunek się zmienia: bang-bang. A ponieważ λ2(t) jest liniowe, zmienia znak najwyżej raz: co najwyżej jedno przełączenie. Ostatni odcinek musi trafić w cel pełnym hamowaniem, więc przełączenie następuje na krzywej przełączeń
x=−2Uv∣v∣.
Powyżej krzywej sterujemy −U, poniżej +U, a na niej przełączamy. To regulator w postaci sprzężenia od stanu, tyle że nieliniowego: u=−Usign(x+2Uv∣v∣).
Odpowiedź na pytanie z prologu. Start w spoczynku, cel 5 m wyżej, też w spoczynku, U=g. Z symetrii: połowę czasu pełnym ciągiem w górę, połowę w dół. Każda połowa pokonuje 2,5 m: 21gt12=2,5, t1=0,714 s. Razem T∗=2h/U=1,43 s, prędkość maksymalna 7,0 m/s. Dla porównania gładka trajektoria z lekcji 3.3 trwała 3 s przy przyspieszeniu do 3,2 m/s².
Symulacja 1 Płaszczyzna fazowa podwójnego integratora z krzywą przełączeń (przerywana) i trajektorią czasooptymalną do zera. Zmieniaj stan początkowy i ograniczenie U. Zwróć uwagę: trajektorie to parabole, a przełączenie zawsze wypada na krzywej.
Zadania · część 4
3 zadania · ok. 25 min
Ile trwa czasooptymalne wzniesienie o 20 m (spoczynek–spoczynek) przy U=g? Jaka prędkość maksymalna?
Wyprowadź krzywą przełączeń: z jakich stanów hamowanie pełną siłą ±U kończy się dokładnie w zerze?
Odpowiedź
Ze stałym u=−Usignv ruch spełnia v2=2U∣x∣ i musi zmierzać do zera: dla v>0 jest x<0 i x=−v2/(2U), dla v<0 jest x=v2/(2U). Razem: x=−v∣v∣/(2U).
Dlaczego regulator bang-bang z krzywej przełączeń jest w praktyce zawodny i czym się go zastępuje?
Odpowiedź
W idealnym modelu przełącza się raz i trafia. Przy błędach modelu, szumie i próbkowaniu wokół celu przełącza się bardzo często (jak sterowanie ślizgowe z lekcji 4.6), jest wrażliwy na błąd modelu U i na szum. W praktyce stosuje się go daleko od celu, a w pobliżu przełącza na regulator liniowy (tzw. sterowanie dwufazowe), albo „zaokrągla” krzywą (np. regulator PTOS).
5 Zadanie brzegowe i metoda strzałów
Zasada minimum zamienia zadanie optymalizacji w układ równań różniczkowych na x i λ. Haczyk: warunki brzegowe są rozdzielone. x znamy na początku, a dla λ (albo części x) warunki są na końcu. To dwupunktowe zadanie brzegowe (ang. two-point boundary value problem), znacznie trudniejsze od zwykłego całkowania.Tewari 2.7
popraw λ(0) metodą Newtona (jakobian chybienia względem λ(0) z różnic skończonych) i wróć do 2.
Dla problemów liniowych (bez oporu) chybienie jest liniową funkcją λ(0) i wystarcza jeden krok Newtona. Z oporem kwadratowym (v˙=u−cv∣v∣) potrzeba kilku kroków. Przy większym oporze (c≳0,3 1/m w naszym zadaniu) już pierwszy krok Newtona, z zera albo z rozwiązania bez oporu, prowadzi do trajektorii, które eksplodują przed tf: równania kostanu są niestabilne w przód. Tewari pisze wprost, że proste strzały mają kłopoty ze zbieżnością. Ratunkiem są kontynuacja (rozwiązuj kolejno dla rosnącego c), strzały wielokrotne (przedział dzielony na kawałki) i metody kolokacyjne.
Symulacja 2 Zadanie minimalnej energii: z (0, 0) do (5 m, 0) w 3 s, z oporem kwadratowym c. Zgadnij λ1(0) i λ2(0) suwakami albo naciskaj „Krok Newtona”. Przy c=0 trafia jeden krok. Przy c=0,1 kilka. Ustaw c=0,3 i zacznij od zera: już pierwszy krok Newtona daje trajektorię, która eksploduje. Potem rozwiąż dla c=0,2, a następnie zwiększ c do 0,25 i kontynuuj.
Zadania · część 5
3 zadania · ok. 25 min
Dla c=0 i celu (5 m, 0) w 3 s wyznacz λ1 i λ2(0) z rozwiązania analitycznego zadania 2.2.
Dlaczego człon 2c∣v∣λ2 w równaniu kostanu może prowadzić do eksplozji przy całkowaniu w przód?
Odpowiedź
To człon wzrostu wykładniczego z szybkością 2c∣v∣. Jeśli zgadnięte λ2 jest za duże co do modułu, sterowanie u=−λ2 rozpędza drona, ∣v∣ rośnie, a to przyspiesza wzrost ∣λ2∣. Sprzężenie dodatnie kończy się wybuchem w skończonym czasie. Typowe dla kostanów: są „stabilne wstecz”, a niestabilne w przód.
6 Przewodnik po rozdziale 2 Tewariego
Celem części V jest swobodne czytanie podręcznika A. Tewari, Advanced Control of Aircraft, Spacecraft and Rockets. Jego rozdział 2 („Optimal Control Techniques”) streszcza w 70 stronach to, co budowaliśmy przez cały kurs. Mapa:
Tewari
temat
u nas
2.2–2.3
optymalizacja wielu zmiennych, mnożniki Lagrange’a, ograniczenia nierównościowe
math 3.1 (ekstrema, mnożniki Lagrange’a), math 6.1 (wariacje)
2.4
sterowanie optymalne układu dynamicznego, warunki optymalności
ta lekcja, część 1–2
2.5
hamiltonian, zasada minimum, równanie HJB, LQ ze zmiennymi w czasie
Różnice w zapisie: Tewari pisze L dla kosztu bieżącego i φ dla końcowego, jak my; używa λ dla kostanu; zapisuje kod w MATLAB-ie (odpowiedniki w Pythonie w lekcji 4.3). Rozdział 3 (samolot), 4–5 (rakiety: naprowadzanie i orientacja) i 6–7 (statki kosmiczne) to kontynuacja w kursach dynamiki lotu i astronautyki.
7 Metoda i przykłady rozwiązane
Metoda: zadanie optymalne przez zasadę minimum
Sformułujf, L, φ, U, warunki brzegowe, czy tf jest wolne.
HamiltonianH=L+λTf; równania kostanu λ˙=−Hx.
Minimalizuj H po u: wnętrze (Hu=0) albo brzeg U (bang-bang).
Warunki brzegowe dla λ (transwersalność, H=0 przy wolnym tf).
Rozwiąż zadanie brzegowe: analitycznie w prostych przypadkach, numerycznie strzałami lub kolokacją; sprawdź, czy wynik jest minimum (porównaj z innymi trajektoriami).
Przykład 7.1 Najszybciej o 5 m w górę
x¨=u, ∣u∣≤9,81 m/s², z (0, 0) do (5, 0). Wyznacz sterowanie i czas.
H=1+λ1v+λ2u, u=−Usignλ2, λ2 liniowe: jedno przełączenie.
Start poniżej krzywej przełączeń (x−5<0 względem celu): najpierw +U.
Symetria: przełączenie w t1=h/U=0,714 s na wysokości 2,5 m przy v=7,0 m/s.
Wynik:T∗=1,428 s; u=+g do 0,714 s, potem −g.
Sprawdzenie:H ma być równe zero (wolne tf): λ1, λ2 dobrane tak, że 1+λ1v+λ2u=0 w każdej chwili ✓ (zadanie do przemyślenia 1); symulacja 1 daje ten sam czas ✓.
Przykład 7.2 Strzały z kontynuacją
Minimalna energia ½∫u², 0 → 5 m w 3 s, opór c=0,2 1/m. Znajdź λ(0).
Trajektorię optymalną liczy się zwykle z góry (w pętli otwartej), a regulator ze sprzężeniem prowadzi obiekt wzdłuż niej (Tewari 2.9).
9 Zadania do przemyślenia
Te zadania wymagają więcej myślenia niż liczenia.
Zadania do przemyślenia
5 zadań · ok. 1,5 godziny
Kostan w zadaniu czasooptymalnym. Dla przykładu 7.1 wyznacz λ1 i λ2(t) z warunków H=0 i przełączenia w t1=0,714 s.
Rozwiązanie
λ2=λ2(0)−λ1t ma zero w t1: λ2(0)=λ1t1. W t=0: v=0, u=U, H=1+λ2(0)U=0, więc λ2(0)=−1/U=−0,102.
λ1=λ2(0)/t1=−0,143. Sprawdzenie w t1: H=1+λ1vmax+0=1−0,143⋅7,0=0 ✓.
Minimalne paliwo.x¨=u, ∣u∣≤U, L=∣u∣, zadany czas T dłuższy od minimalnego. Jak wygląda sterowanie?
Rozwiązanie
H=∣u∣+λ1v+λ2u. Minimum: u=−Usignλ2, gdy ∣λ2∣>1; u=0, gdy ∣λ2∣<1.
Wynik: pełny ciąg, swobodny lot (bez ciągu), pełne hamowanie (ang. bang-off-bang). Tak wyglądają manewry orbitalne: krótkie impulsy i długie fazy lotu bez napędu (Hohmann w kursie astronautyki).
Goddard. Rakieta pionowa w atmosferze: jak rozłożyć paliwo, żeby osiągnąć maksymalną wysokość? Dlaczego intuicja „pełny ciąg od startu” może być zła?
Rozwiązanie
Pełny ciąg przy gęstym powietrzu daje dużą prędkość i ogromny opór (rosnący z v2), czyli straty energii. Opłaca się czasem lecieć wolniej w gęstej atmosferze.
Rozwiązanie optymalne zawiera łuk osobliwy (ang. singular arc): pośredni ciąg utrzymujący „optymalną” prędkość, gdy H nie zależy od u (Tewari 2.8.1). To klasyczny problem Goddarda z 1919 r.
Bellman kontra Pontriagin. Programowanie dynamiczne daje funkcję wartości V(x,t) dla każdego stanu, zasada minimum tylko jedną trajektorię. Co jest praktyczniejsze dla drona o 12 stanach?
Rozwiązanie
Programowanie dynamiczne daje gotowe sprzężenie zwrotne u(x), ale wymaga funkcji na przestrzeni 12-wymiarowej: siatka 10 punktów na wymiar to 1012 węzłów (przekleństwo wymiarowości).
Zasada minimum i metody bezpośrednie liczą jedną trajektorię, tanio, a sprzężenie zwrotne wokół niej daje LQR (linearyzacja wzdłuż trajektorii). Tak robi się to w praktyce, także w MPC (sterowaniu predykcyjnym).
Czas wolny i warunek H = 0. Dlaczego przy wolnym czasie końcowym (i H niezależnym od czasu) H musi być zerem, a nie dowolną stałą?
Rozwiązanie
Wydłużenie czasu o δtf zmienia koszt o H(tf)δtf (o tyle, ile kosztuje bieżąca chwila plus efekt przesunięcia końca). W optimum ta zmiana musi być zerowa dla dowolnego δtf.
Stąd H(tf)=0, a ponieważ H jest stałe wzdłuż trajektorii (zadanie 2.3), H≡0.
10 Sprawdź się
Odpowiedz w myślach, zanim rozwiniesz odpowiedź.
1 Jak wygląda hamiltonian?
H=L+λTf.
2 Jakie równanie spełnia kostan?
λ˙=−∂H/∂x.
3 Co mówi zasada minimum o sterowaniu?
W każdej chwili u∗ minimalizuje H po dopuszczalnych sterowaniach.
4 Skąd LQR w tym języku?
Hu=0 daje u=−R−1BTλ, a λ=Px daje równanie Riccatiego.
5 Dlaczego sterowanie czasooptymalne jest bang-bang?
H jest liniowy w u, więc minimum leży na brzegu ∣u∣=U.
6 Ile przełączeń ma czasooptymalny podwójny integrator?
Obowiązkowo: A. Tewari, Advanced Control of Aircraft, Spacecraft and Rockets, rozdz. 2.4–2.7 (teraz da się je czytać bez zatrzymywania).
Dla chętnych: D. E. Kirk, Optimal Control Theory: An Introduction (Dover), bardzo przystępny; A. E. Bryson, Y.-C. Ho, Applied Optimal Control, klasyka z przykładami lotniczymi.
Zostało jedno pytanie, które wisi nad całą częścią IV: LQR ma gwarantowany zapas fazy 60°, filtr Kalmana jest optymalny. Czy ich połączenie, regulator LQG, jest odporny na błędy modelu? Odpowiedź z 1978 r. zaskoczyła wszystkich i zmieniła kierunek rozwoju automatyki. To temat ostatniej lekcji.