Matematyka i fizyka od podstaw
PLEN

Automatyka › IV. Przestrzeń stanów, estymacja i sterowanie optymalne › 4.3 w planach · PDF do druku

Zanim zaczniesz Matematyka 6.1 Rachunek wariacyjny4.1 Sprzężenie od stanu, lokowanie biegunów i sterowalność

Nowe pojęcia w tej lekcji (2)

regulator LQRrównanie Riccatiego

Automatyka 4.3

LQR: koszt zamiast biegunów

Lokowanie biegunów daje pełną kontrolę nad biegunami, ale nie mówi, gdzie je postawić. Przy czterech stanach to jeszcze sztuka, przy dwunastu (pełny dron albo samolot) już zgadywanie. Regulator liniowo-kwadratowy (LQR) zadaje inne pytanie: ile kosztuje uchyb, a ile sterowanie? Z odpowiedzi wynika optymalne KK i bieguny, a na dodatek gwarantowane zapasy stabilności.

Czas
ok. 2,5 h teorii + ok. 3 h zadań
Zadania
13 zadań w treści + 5 do przemyślenia, z odpowiedziami
Źródła
A. Tewari, Modern Control Design with MATLAB and SIMULINK, rozdz. 6; K. J. Åström, R. M. Murray, Feedback Systems, rozdz. 7.5; A. E. Bryson, Y.-C. Ho, Applied Optimal Control; S. Brunton, Control Bootcamp (LQR)

0 Prolog: ile kosztuje uchyb?

W tym samym 1960 r., w którym Kálmán zdefiniował sterowalność, opublikował też pracę o optymalnym sterowaniu z kryterium kwadratowym. Pomysł był prosty: zamiast mówić regulatorowi, gdzie mają być bieguny, powiedzmy mu, czego chcemy. Mały uchyb, ale bez szarpania silnikami. Każdą z tych chęci zapisujemy jako koszt, a regulator ma zminimalizować ich ważoną sumę.

Okazało się, że dla obiektów liniowych i kosztów kwadratowych optymalne sterowanie jest zawsze liniowym sprzężeniem od stanu u=−Kxu = -K\mathbf x, a KK wynika z jednego równania macierzowego. LQR stał się podstawowym narzędziem przemysłu lotniczego i kosmicznego, a do dziś jest punktem startowym prawie każdego projektu regulatora wielowymiarowego.

Pytanie na start. W lekcji 4.1 dobraliśmy bieguny drona w płaszczyźnie „na oko”: 1,5 i 6 rad/s. Czy istnieje regulator, który przy tym samym zużyciu sterowania sprowadzi drona do celu z mniejszym łącznym uchybem? Odpowiedź w części 4.

1 Kryterium kwadratowe

Dla obiektu x˙=Ax+Bu\dot{\mathbf x} = A\mathbf x + B\mathbf u szukamy sterowania minimalizującego

J=∫0∞(xTQ x+uTR u)dt,J = \int_0^\infty \left(\mathbf x^TQ\,\mathbf x + \mathbf u^TR\,\mathbf u\right)\mathrm dt ,

gdzie Q⪰0Q \succeq 0 (macierz półdodatnio określona) waży uchyby stanu, a R≻0R \succ 0 waży wysiłek sterowania. To funkcjonał, jak w rachunku wariacyjnym (lekcja 6.1 Rachunek wariacyjny): liczba przypisana całej trajektorii. Dla diagonalnych wag J=∫(q1x12+⋯+qnxn2+ru2) dtJ = \int (q_1x_1^2 + \dots + q_nx_n^2 + r u^2)\,\mathrm dt: duże qiq_i znaczy „bardzo mi zależy, żeby xix_i było małe”, duże rr znaczy „sterowanie jest drogie”.

Dlaczego kwadraty? Trzy powody: karzą duże odchyłki mocniej niż małe (jak energia), dają gładki problem z jednoznacznym minimum i, co najważniejsze, prowadzą do rozwiązania w postaci liniowego sprzężenia od stanu.

Zadania · część 1

2 zadania · ok. 10 min

  1. Napisz QQ i RR, jeśli chcemy, żeby położenie drona było 25 razy „ważniejsze” od pochylenia, prędkości nas nie obchodzą, a waga momentu wynosi 100.

    Odpowiedź

    Dla x=[x,x˙,θ,θ˙]\mathbf x = [x, \dot x, \theta, \dot\theta]: Q=diag⁡(25,0,1,0)Q = \operatorname{diag}(25, 0, 1, 0), R=100R = 100. Liczy się tylko stosunek wag: QQ i RR pomnożone przez tę samą liczbę dają to samo KK.

  2. Dlaczego RR musi być dodatnio określone, a QQ wystarczy półdodatnio?

    Odpowiedź

    Gdyby sterowanie było „darmowe” w jakimś kierunku (RR osobliwe), optimum żądałoby nieskończonego sterowania (natychmiastowego skoku stanu). Stany natomiast mogą być nieważone (np. prędkość), byle pętla była stabilna: wtedy potrzebne jest, żeby nieważone stany „widział” koszt przez dynamikę (formalnie: para (A,Q1/2)(A, Q^{1/2}) wykrywalna).

2 Rozwiązanie: równanie Riccatiego

Regulator LQR

u=−Kx,K=R−1BTP,ATP+PA−PBR−1BTP+Q=0.u = -K\mathbf x,\qquad K = R^{-1}B^TP,\qquad A^TP + PA - PBR^{-1}B^TP + Q = 0 .

Ostatnie równanie to algebraiczne równanie Riccatiego. Szukamy jego rozwiązania symetrycznego, półdodatnio określonego, dającego stabilną pętlę; jest ono jedno, o ile obiekt jest stabilizowalny, a para (A,Q1/2)(A, Q^{1/2}) wykrywalna (zadanie 1.2). Przy obserwowalności PP jest dodatnio określone. Minimalny koszt dla stanu początkowego x0\mathbf x_0 wynosi J∗=x0TPx0J^* = \mathbf x_0^TP\mathbf x_0.

Zadania · część 2

2 zadania · ok. 20 min

  1. W szkicu: pokaż, że minimum 2xTPBu+uTRu2\mathbf x^TPBu + u^TRu względem uu jest w u=−R−1BTPxu = -R^{-1}B^TP\mathbf x.

    Odpowiedź

    Gradient: 2BTPx+2Ru=02B^TP\mathbf x + 2Ru = 0 (korzystamy z symetrii PP i RR). Stąd u=−R−1BTPxu = -R^{-1}B^TP\mathbf x. To minimum, bo hesjan 2R2R jest dodatnio określony.

  2. Dlaczego KK nie zależy od stanu początkowego, choć optymalna trajektoria od niego zależy?

    Odpowiedź

    Problem jest liniowy z kosztem kwadratowym i nieskończonym horyzontem: z każdego stanu „reszta” wygląda tak samo (zasada optymalności Bellmana). Optymalna reguła jest więc funkcją bieżącego stanu, ta sama dla każdego początku.

3 Jeden stan: wszystko widać we wzorze

Dla x˙=ax+bu\dot x = ax + bu, J=∫(qx2+ru2) dtJ = \int (qx^2 + ru^2)\,\mathrm dt równanie Riccatiego jest kwadratowe w PP: 2aP−b2rP2+q=02aP - \frac{b^2}{r}P^2 + q = 0. Dodatni pierwiastek:

P=rb2(a+a2+b2qr),K=a+a2+b2q/rb,biegun=−a2+b2qr.P = \frac{r}{b^2}\left(a + \sqrt{a^2 + \frac{b^2q}{r}}\right),\qquad K = \frac{a + \sqrt{a^2 + b^2q/r}}{b},\qquad \text{biegun} = -\sqrt{a^2 + \frac{b^2q}{r}} .

Ten wzór mówi wszystko o LQR:

  • liczy się tylko stosunek q/rq/r;
  • sterowanie tanie (q/r→∞q/r \to \infty): biegun ≈−bq/r\approx -b\sqrt{q/r}, coraz szybciej;
  • sterowanie drogie (q/r→0q/r \to 0): biegun →−∣a∣\to -|a|. Obiekt stabilny zostaje prawie bez zmian, a niestabilny (a>0a > 0) zostaje „odbity” na lewo, z minimalnym wysiłkiem.

Prędkość drona (a=−0,5a = -0{,}5, b=1b = 1): przy q=rq = r biegun −1,12-1{,}12 i K=0,62K = 0{,}62; przy q/r=16q/r = 16 biegun −4,03-4{,}03, K=3,53K = 3{,}53 (prawie regulator P z lekcji 1.3).

Zadania · część 3

3 zadania · ok. 20 min

  1. Prędkość drona, q=100q = 100, r=1r = 1. Policz KK i biegun.

    Odpowiedź

    0,25+100=10,01\sqrt{0{,}25 + 100} = 10{,}01; K=−0,5+10,01=9,51K = -0{,}5 + 10{,}01 = 9{,}51, biegun −10,01-10{,}01.

  2. Ten sam obiekt, q=1q = 1, r=100r = 100. Ile wynosi KK? Skomentuj.

    Odpowiedź

    0,25+0,01=0,51\sqrt{0{,}25 + 0{,}01} = 0{,}51, K=0,0099K = 0{,}0099, biegun −0,51-0{,}51. Sterowanie jest tak drogie, że regulator prawie nic nie robi: obiekt i tak jest stabilny.

  3. Obiekt niestabilny a=+2a = +2, b=1b = 1, sterowanie bardzo drogie. Gdzie trafi biegun? Ile wynosi KK?

    Odpowiedź

    Biegun →−2\to -2 (odbicie lustrzane +2+2), K→2a/b=4K \to 2a/b = 4. To najtańszy sposób stabilizacji: każdy regulator musi przesunąć ten biegun na lewo, a LQR robi to najmniejszym kosztem.

4 Dron w płaszczyźnie i reguła Brysona

Jak wybrać QQ i RR? Praktyczna reguła Brysona: wagi to odwrotności kwadratów dopuszczalnych wartości:Bryson–Ho

Qii=1xi,max⁡2,R=1umax⁡2.Q_{ii} = \frac{1}{x_{i,\max}^2},\qquad R = \frac{1}{u_{\max}^2} .

Dla drona w płaszczyźnie: uchyb położenia do 1 m, pochylenie do 0,2 rad (ok. 11°), moment do 0,1 N·m. Daje to Q=diag⁡(1,0,25,0)Q = \operatorname{diag}(1, 0, 25, 0), R=100R = 100 i (python-control)

K=[0,100; 0,121; 0,717; 0,120],bieguny −0,99±0,99j, −5±5j.K = [0{,}100;\ 0{,}121;\ 0{,}717;\ 0{,}120],\qquad \text{bieguny}\ -0{,}99 \pm 0{,}99j,\ -5 \pm 5j .

Obie pary mają ζ=0,71\zeta = 0{,}71. Nikt tego nie zadał: wynikło z optymalizacji. Przy starcie 1 m od celu moment osiąga dokładnie 0,1 N·m, pochylenie 7°, czas ustalania 4,5 s.

Odpowiedź na pytanie z prologu. Porównajmy dwie miary: łączny uchyb ∫x2 dt\int x^2\,\mathrm dt i łączny wysiłek ∫u2 dt\int u^2\,\mathrm dt. Projekt z lokowania biegunów (1,5 i 6 rad/s) daje 0,9380{,}938 m²·s przy ∫u2=0,0004\int u^2 = 0{,}0004. LQR z kosztem tylko na położenie i takim ρ\rho, żeby wysiłek był ten sam, daje 0,8330{,}833 m²·s, o 11% mniej. Dla tego stanu początkowego żaden regulator (nawet nieliniowy) nie zrobi lepiej: LQR leży na froncie Pareto, a każdy inny projekt nad nim.

Symulacja 1 LQR dla drona w płaszczyźnie z regułą Brysona. Zamiast biegunów ustawiasz dopuszczalne wartości: uchybu, pochylenia i momentu. Zmniejsz dopuszczalne pochylenie do kilku stopni: dron leci łagodniej. Zwiększ dopuszczalny moment: pętla przyspiesza.
Symulacja 2 Front Pareto: łączny uchyb położenia kontra łączny wysiłek dla LQR z różnymi wagami ρ\rho (niebieska krzywa). Szare punkty to projekty z lokowania biegunów (opisane jako ω0\omega_0 par położenie/pochylenie). Wszystkie leżą nad krzywą.

Zadania · część 4

4 zadania · ok. 35 min

  1. Zastosuj regułę Brysona: uchyb położenia do 0,5 m, pochylenie do 10°, moment do 0,05 N·m.

    Odpowiedź

    10∘=0,17510^\circ = 0{,}175 rad. Q=diag⁡(4,0,32,8,0)Q = \operatorname{diag}(4, 0, 32{,}8, 0), R=400R = 400.

  2. Z Q=diag⁡(1,0,25,0)Q = \operatorname{diag}(1, 0, 25, 0) pomnóż RR przez 10 i przez 0,1. Co się dzieje z szybką i wolną parą biegunów?

    Odpowiedź

    Wolna para zostaje przy −0,99±0,99j-0{,}99 \pm 0{,}99j, szybka zmienia się: −2,8±2,8j-2{,}8 \pm 2{,}8j (droższe sterowanie) i −8,9±8,9j-8{,}9 \pm 8{,}9j (tańsze). Moment największy: 0,03 i 0,32 N·m. Wolna para zależy głównie od kosztu położenia, a szybka od kompromisu pochylenie–moment.

  3. W symulacji 2 przesuń ρ\rho tak, żeby czerwony punkt był na tej samej wysokości (∫x2\int x^2) co projekt 1,5/6. Ile wysiłku oszczędza LQR?

    Odpowiedź

    Przy ∫x2≈0,94\int x^2 \approx 0{,}94 LQR potrzebuje ∫u2≈1,7⋅10−4\int u^2 \approx 1{,}7\cdot 10^{-4} (ρ≈770\rho \approx 770), czyli ok. 2,3 razy mniej niż lokowanie (4⋅10−44\cdot 10^{-4}).

  4. Bieguny LQR z Q=diag⁡(1,0,0,0)Q = \operatorname{diag}(1, 0, 0, 0) leżą na okręgu w kątach ±22,5∘\pm 22{,}5^\circ i ±67,5∘\pm 67{,}5^\circ od osi rzeczywistej (wzór Butterwortha 4. rzędu). Sprawdź na danych dla ρ=100\rho = 100: −1,2±2,91j-1{,}2 \pm 2{,}91j i −2,91±1,2j-2{,}91 \pm 1{,}2j.

    Odpowiedź

    Moduły: 1,22+2,912=3,15\sqrt{1{,}2^2 + 2{,}91^2} = 3{,}15 dla obu par. Kąty od osi rzeczywistej ujemnej: arctan⁡(2,91/1,2)=67,6∘\arctan(2{,}91/1{,}2) = 67{,}6^\circ i arctan⁡(1,2/2,91)=22,4∘\arctan(1{,}2/2{,}91) = 22{,}4^\circ ✓. Dla tego obiektu (cztery całkowania, bez zer) bieguny spełniają s8=−(g/J)2/ρs^8 = -(g/J)^2/\rho, więc wzór Butterwortha zachodzi dokładnie przy każdym ρ\rho. Dla innych obiektów to tylko granica taniego sterowania.

5 Gwarantowane zapasy

LQR z pełnym stanem i jednym wejściem ma własność, której nie daje lokowanie biegunów: dla każdych QQ i RR transmitancja pętli L(s)=K(sI−A)−1BL(s) = K(sI - A)^{-1}B spełnia

∣1+L(jω)∣≥1dla kaz˙dego ω.|1 + L(j\omega)| \ge 1\quad\text{dla każdego } \omega .

Wykres Nyquista nigdy nie wchodzi do koła o promieniu 1 wokół −1, czyli max⁡∣S∣≤1\max|S| \le 1 (lekcja 2.5). Z tego wynikają gwarantowane zapasy: wzmocnienie może wzrosnąć dowolnie albo zmaleć do połowy, a zapas fazy wynosi co najmniej 60∘60^\circ. Dla drona w płaszczyźnie z wagami Brysona: zapas fazy 63∘63^\circ, min⁡∣1+L∣=1,000\min|1 + L| = 1{,}000.

Haczyk: gwarancja dotyczy pętli przeciętej na wejściu obiektu i regulatora, który zna cały stan dokładnie. Z obserwatorem albo filtrem Kalmana (LQG) znika. To słynne odkrycie Doyle’a z 1978 r., temat lekcji 5.2 LQG i odporność.

Zadania · część 5

2 zadania · ok. 15 min

  1. Pokaż, że z ∣1+L∣≥1|1 + L| \ge 1 wynika zapas fazy co najmniej 60∘60^\circ. Wskazówka: przy ωc\omega_c jest ∣L∣=1|L| = 1; gdzie przecinają się okręgi ∣L∣=1|L| = 1 i ∣1+L∣=1|1 + L| = 1?

    Odpowiedź

    Punkty L=ejφL = e^{j\varphi} z ∣1+ejφ∣=1|1 + e^{j\varphi}| = 1: 2+2cos⁡φ=12 + 2\cos\varphi = 1, cos⁡φ=−1/2\cos\varphi = -1/2, φ=±120∘\varphi = \pm 120^\circ. Punkt LL leżący poza kołem wokół −1 ma fazę między −120∘-120^\circ a 120∘120^\circ, czyli co najmniej 60∘60^\circ od −180∘-180^\circ.

  2. Dlaczego z ∣1+L∣≥1|1 + L| \ge 1 wynika, że wzmocnienie może zmaleć do połowy?

    Odpowiedź

    Przy L(jω)L(j\omega) rzeczywistym ujemnym (faza −180∘-180^\circ) mamy ∣1+L∣≥1|1 + L| \ge 1, więc L≤−2L \le -2. Żeby trafić w −1, trzeba go przemnożyć przez co najwyżej 1/21/2. Przemnożenie przez liczbę większą od 1 przesuwa go dalej od −1.

6 Metoda i przykłady rozwiązane

Metoda: projekt LQR

  1. Model AA, BB i sprawdzenie stabilizowalności.
  2. Wagi z reguły Brysona; stany nieistotne z wagą 0; ewentualnie stan całki uchybu (lekcja 4.1).
  3. Rozwiązanie: K, P, E = control.lqr(A, B, Q, R).
  4. Sprawdzenie: maksymalne sterowanie i stany w symulacji dla typowych manewrów; poprawka wag (zwykle 2–3 iteracje).
  5. Estymator stanu (lekcje 4.2, 4.4) i sprawdzenie odporności całości.

Przykład 6.1 LQR prędkości drona

v˙=−0,5v+u\dot v = -0{,}5v + u. Chcemy, żeby uchyb prędkości 0,25 m/s „kosztował” tyle co 1 N ciągu. Wyznacz KK.

  1. Bryson: q=1/0,252=16q = 1/0{,}25^2 = 16, r=1r = 1.
  2. K=−0,5+0,25+16=3,53K = -0{,}5 + \sqrt{0{,}25 + 16} = 3{,}53, biegun −4,03-4{,}03.

Wynik: u=−3,53 vu = -3{,}53\,v: regulator P prędkości z lekcji 1.3 (Kp=3,5K_p = 3{,}5) okazuje się prawie optymalny dla takich wag.

Sprawdzenie: control.lqr daje K=3,5311K = 3{,}5311, P=3,5311P = 3{,}5311 ✓ (tu P=KP = K, bo b=r=1b = r = 1).

Przykład 6.2 Dron w płaszczyźnie: Bryson

Q=diag⁡(1,0,25,0)Q = \operatorname{diag}(1, 0, 25, 0), R=100R = 100. Policz KK, bieguny i odpowiedź z x0=1x_0 = 1 m.

  1. K=[0,100; 0,121; 0,717; 0,120]K = [0{,}100;\ 0{,}121;\ 0{,}717;\ 0{,}120].
  2. Bieguny −0,99±0,99j-0{,}99 \pm 0{,}99j i −5±5j-5 \pm 5j, obie pary z ζ=0,71\zeta = 0{,}71.
  3. Moment największy 0,1000{,}100 N·m (dokładnie umax⁡u_{\max}, bo k1x0=0,1k_1x_0 = 0{,}1), pochylenie 7,0°, czas ustalania 4,5 s.

Wynik: regulator spełnia założone limity „z marszu”, a bieguny wyszły rozsądne bez zgadywania.

Sprawdzenie: residuum równania Riccatiego dla scipy.linalg.solve_continuous_are ok. 3⋅10−133\cdot 10^{-13} ✓; zapas fazy 63∘63^\circ ✓.

7 Błędne intuicje, których trzeba się oduczyć

„Optymalny znaczy najlepszy.”
Optymalny względem wybranego kryterium. Złe wagi dają optymalnie zły regulator. Wybór QQ i RR to wciąż decyzja inżyniera, tylko lepiej opisana.
„LQR uwzględnia ograniczenia sterowania.”
Nie: koszt u2u^2 tylko je zniechęca. Twarde ograniczenia trzeba sprawdzić w symulacji albo użyć sterowania predykcyjnego (MPC).
„LQR zawsze ma zapas fazy 60°.”
Tylko przy pełnym, dokładnym stanie i pętli przeciętej na wejściu. Z estymatorem gwarancja znika.
„Wagi trzeba dobierać długo metodą prób i błędów.”
Reguła Brysona daje dobry start w minutę; zwykle wystarczą 2–3 poprawki.
„Równanie Riccatiego trzeba rozwiązywać ręcznie.”
Ręcznie tylko dla jednego stanu, żeby zrozumieć. W praktyce jedna linijka w Pythonie.

8 Zadania do przemyślenia

Te zadania wymagają więcej myślenia niż liczenia.

Zadania do przemyślenia

5 zadań · ok. 1,5 godziny

  1. Podwójny integrator. x¨=u\ddot x = u, J=∫(x2+ru2) dtJ = \int (x^2 + ru^2)\,\mathrm dt. Rozwiąż równanie Riccatiego ręcznie i pokaż, że bieguny mają ζ=1/2\zeta = 1/\sqrt2 przy każdym rr.

    Rozwiązanie
    1. A=[0100]A = \begin{bmatrix}0 & 1\\ 0 & 0\end{bmatrix}, B=[0,1]TB = [0, 1]^T. Równania na P=[p1p2p2p3]P = \begin{bmatrix}p_1 & p_2\\ p_2 & p_3\end{bmatrix}: 1−p22/r=01 - p_2^2/r = 0, p1−p2p3/r=0p_1 - p_2p_3/r = 0, 2p2−p32/r=02p_2 - p_3^2/r = 0. Stąd p2=rp_2 = \sqrt r, p3=2 r3/4p_3 = \sqrt2\,r^{3/4}.
    2. K=[p2/r, p3/r]=[r−1/2, 2 r−1/4]K = [p_2/r,\ p_3/r] = [r^{-1/2},\ \sqrt2\,r^{-1/4}]. Wielomian s2+2 ω0s+ω02s^2 + \sqrt2\,\omega_0s + \omega_0^2 z ω0=r−1/4\omega_0 = r^{-1/4}: ζ=2/2\zeta = \sqrt2/2 ✓, niezależnie od rr.
  2. Koszt czasu. Czy LQR minimalizuje czas dojścia do celu? Co trzeba by zmienić w kryterium?

    Rozwiązanie
    1. Nie: minimalizuje ważoną sumę kwadratów. Czas pojawia się tylko pośrednio.
    2. Minimalny czas przy ograniczonym sterowaniu to inny problem: kryterium J=∫1 dtJ = \int 1\,\mathrm dt i ∣u∣≤umax⁡|u| \le u_{\max}. Rozwiązanie jest typu „bang-bang” i nieliniowe: zasada maksimum Pontriagina, lekcja 5.1 Zasada maksimum Pontriagina, sterowanie czasooptymalne i metoda strzałów.
  3. Waga na prędkość. Dodaj do kryterium drona w płaszczyźnie wagę na prędkość x˙\dot x. Jak to zmieni zachowanie? Kiedy jest to potrzebne?

    Rozwiązanie
    1. Kara za prędkość daje spokojniejszy przelot, mniejsze przeregulowanie, ale wolniejsze dojście. Działa jak tłumienie.
    2. Potrzebne, gdy ważne są prędkości: pasażerowie, ładunek na lince (lekcja 4.1), ograniczenia przepisów. Reguła Brysona: 1/x˙max⁡21/\dot x_{\max}^2.
  4. Skończony horyzont. Satelita ma zakończyć manewr dokładnie po 100 s. Czym różni się LQR ze skończonym horyzontem od tego z tej lekcji?

    Rozwiązanie
    1. Kryterium ∫0T(… ) dt+x(T)TSx(T)\int_0^{T}(\dots)\,\mathrm dt + \mathbf x(T)^TS\mathbf x(T). P(t)P(t) spełnia różniczkowe równanie Riccatiego całkowane wstecz od P(T)=SP(T) = S, więc K(t)K(t) zmienia się w czasie.
    2. Daleko od końca P(t)P(t) jest prawie stałe i równe rozwiązaniu algebraicznemu. Pod koniec KK rośnie, żeby „zdążyć”. To most do sterowania optymalnego w lekcji 5.1 i do Tewariego.
  5. Odwrotny problem. Masz regulator z lokowania biegunów. Czy istnieją QQ, RR, dla których jest on LQR? Co mówi o tym warunek ∣1+L∣≥1|1 + L| \ge 1?

    Rozwiązanie
    1. Nie zawsze. Każdy LQR (jedno wejście, pełny stan) spełnia ∣1+L(jω)∣≥1|1 + L(j\omega)| \ge 1. Jeśli regulator z lokowania biegunów tego nie spełnia, nie jest optymalny dla żadnych QQ, RR.
    2. Jeśli spełnia (pętla stabilna, (A,B)(A, B) sterowalne), da się dobrać odpowiednie QQ (wynik Kalmana z 1964 r., tzw. odwrotny problem optymalności). Ciekawostka: projekt 1,5/6 z lekcji 4.1 ma min⁡∣1+L∣=0,9998\min|1 + L| = 0{,}9998, minimalnie poniżej 1, więc nie jest LQR dla żadnych wag.

9 Sprawdź się

Odpowiedz w myślach, zanim rozwiniesz odpowiedź.

1 Jakie kryterium minimalizuje LQR?

J=∫(xTQx+uTRu) dtJ = \int(\mathbf x^TQ\mathbf x + \mathbf u^TR\mathbf u)\,\mathrm dt.

2 Jak wyznaczyć KK?

K=R−1BTPK = R^{-1}B^TP, PP z algebraicznego równania Riccatiego.

3 Co mówi reguła Brysona?

Qii=1/xi,max⁡2Q_{ii} = 1/x_{i,\max}^2, R=1/umax⁡2R = 1/u_{\max}^2.

4 Biegun LQR dla jednego stanu?

−a2+b2q/r-\sqrt{a^2 + b^2q/r}.

5 Co się dzieje przy bardzo drogim sterowaniu?

Bieguny stabilne zostają, niestabilne odbijają się lustrzanie na lewą stronę.

6 Jakie zapasy gwarantuje LQR?

Zapas fazy ≥ 60°, wzmocnienie od 1/2 do ∞ (pełny stan, jedno wejście).

7 Co to front Pareto?

Zbiór projektów, w których nie da się zmniejszyć uchybu bez zwiększenia wysiłku; LQR leży na nim.

10 Karta wzorów i co dalej

LQR

J=∫(xTQx+uTRu) dtJ = \int(\mathbf x^TQ\mathbf x + \mathbf u^TR\mathbf u)\,\mathrm dt

ATP+PA−PBR−1BTP+Q=0A^TP + PA - PBR^{-1}B^TP + Q = 0

K=R−1BTPK = R^{-1}B^TP,   J∗=x0TPx0\;J^* = \mathbf x_0^TP\mathbf x_0

skalar: biegun −a2+b2q/r-\sqrt{a^2 + b^2q/r}

Bryson: Qii=1/xi,max⁡2Q_{ii} = 1/x_{i,\max}^2, R=1/umax⁡2R = 1/u_{\max}^2

Własności i Python

∣1+L(jω)∣≥1|1 + L(j\omega)| \ge 1: PM ≥ 60°, GM ∈ [1/2, ∞)

tylko stosunek Q:RQ : R ma znaczenie

K, P, E = control.lqr(A, B, Q, R)

scipy.linalg.solve_continuous_are(A, B, Q, R)

Do przeczytania

  • Obowiązkowo: A. Tewari, Modern Control Design with MATLAB and SIMULINK, rozdz. 6 (LQR z przykładami lotniczymi; kod MATLAB przetłumaczysz według ramki wyżej).
  • Dla chętnych: A. E. Bryson, Y.-C. Ho, Applied Optimal Control, klasyka; S. Brunton, Control Bootcamp, wykłady o LQR (wideo).

LQR odpowiada na pytanie, jak sterować, gdy znamy stan. Dualne pytanie brzmi: jak optymalnie estymować stan, gdy znamy statystykę szumów pomiaru i zakłóceń? Odpowiedzią jest filtr Kalmana, najważniejszy algorytm estymacji XX wieku i temat następnej lekcji.

Korzystają z tej lekcji 4.6 Stabilność Lapunowa i sterowanie nieliniowe5.1 Zasada maksimum Pontriagina, sterowanie czasooptymalne i metoda strzałów5.2 LQG i odpornośćDynamika lotu 12 Naprowadzanie: trajektoria nominalna i śledzenie odchyłek