Matematyka i fizyka od podstaw
PLEN

Automatyka › II. Dziedzina s i częstotliwości: narzędzia do pętli › 2.5 szkic · PDF do druku

Zanim zaczniesz 2.4 Stabilność pętli: punkt −1, zapasy i opóźnienie

Nowe pojęcia w tej lekcji (2)

funkcja wrażliwościkorektor wyprzedzająco-opóźniający

Automatyka 2.5

Zakłócenia, szum i wrażliwość: S, T i kształtowanie pętli

Pętla ma dwa sprzeczne zadania. Zakłócenia (podmuch, wzniesienie, błąd modelu) chcemy tłumić, więc wzmocnienie pętli powinno być duże. Szum czujnika chcemy ignorować, więc powinno być małe. Ta lekcja pokazuje, że tych dwóch celów nie da się pogodzić przy tej samej częstotliwości, bo S+T=1S + T = 1, ale da się je rozdzielić między częstotliwości. Zobaczysz, jak kształtować charakterystykę pętli korektorami, ile kosztuje każdy decybel tłumienia i jakie granice stawia fizyka obiektu, a nie projektant.

Czas
ok. 3 h teorii + ok. 3,5 h zadań
Zadania
17 zadań w treści + 5 do przemyślenia, z odpowiedziami
Źródła
G. C. Goodwin i in., Control System Design, rozdz. 5.3, 8, 9; S. A. Frank, Control Theory Tutorial, rozdz. 3.4 i 4.5; K. J. Åström, R. M. Murray, Feedback Systems, rozdz. o kształtowaniu pętli

0 Prolog: materac wodny Bodego

W 1945 r. Hendrik Bode opublikował książkę o projektowaniu wzmacniaczy ze sprzężeniem zwrotnym, w której udowodnił twierdzenie zaskakujące dla każdego, kto liczył na „idealny regulator”. Dla typowej pętli (stabilna pętla otwarta LL, czyli bez biegunów w prawej półpłaszczyźnie, i transmitancja pętli opadająca przy wysokich częstotliwościach co najmniej jak 1/ω21/\omega^2) pole pod krzywą ln⁡∣S(jω)∣\ln|S(j\omega)| jest zawsze równe zeru:

∫0∞ln⁡∣S(jω)∣ dω=0.\int_0^\infty \ln|S(j\omega)|\,\mathrm d\omega = 0 .

Gdzie ∣S∣<1|S| < 1, logarytm jest ujemny: tam pętla tłumi zakłócenia. Całka równa zeru oznacza, że gdzie indziej musi być ∣S∣>1|S| > 1: tam pętla zakłócenia wzmacnia. Nazywa się to efektem materaca wodnego: wciśnij materac w jednym miejscu, a wybrzuszy się w innym. Sprzężenie zwrotne nie usuwa zakłóceń, tylko przenosi je z jednych częstotliwości na inne. Projektowanie pętli to decyzja, gdzie je przenieść.

Pytanie na start. Dron trzyma prędkość pionową regulatorem PI. Podmuch o okresie 20 s pętla tłumi prawie całkowicie. A drganie ramy od niewyważonego śmigła z częstotliwością 30 Hz? Czy pętla je stłumi, przepuści czy wzmocni? Odpowiedź w części 1.

1 Cztery funkcje pętli

W pętli z regulatorem CC i obiektem PP działają trzy sygnały zewnętrzne: wartość zadana rr, zakłócenie dd (na wejściu obiektu, jak podmuch, albo na wyjściu) i szum czujnika nn. Każde połączenie „sygnał zewnętrzny → interesujący nas sygnał” opisuje jedna z czterech funkcji, w literaturze nazywanych „bandą czterech” (ang. gang of four):Frank 3.4

Banda czterech

S=11+L,T=L1+L,PS=P1+L,CS=C1+L.S = \frac{1}{1 + L},\qquad T = \frac{L}{1 + L},\qquad PS = \frac{P}{1 + L},\qquad CS = \frac{C}{1 + L} .

SS: zakłócenie na wyjściu → wyjście i wartość zadana → uchyb. TT: wartość zadana → wyjście i szum czujnika → wyjście (z minusem). PSPS: zakłócenie na wejściu obiektu → wyjście. CSCS: szum czujnika → sterowanie (z minusem), czyli jak bardzo szum szarpie elementem wykonawczym.

Najważniejsza tożsamość jest banalna: S+T=1+L1+L=1S + T = \frac{1 + L}{1 + L} = 1. Przy żadnej częstotliwości nie można mieć jednocześnie małego SS (dobre tłumienie zakłóceń) i małego TT (dobre tłumienie szumu). Wyjście z tej pułapki jest jedno: zakłócenia są zwykle wolne, a szum szybki. Projektuje się więc pętlę, w której ∣S∣≪1|S| \ll 1 przy niskich częstotliwościach, a ∣T∣≪1|T| \ll 1 przy wysokich.

Odpowiedź na pytanie z prologu. 30 Hz to ok. 190 rad/s, daleko powyżej częstotliwości przejścia pętli PI drona (3,6 rad/s). Tam ∣S∣≈1|S| \approx 1: pętla drgań ramy nie widzi i ich nie tłumi. Nie wzmacnia ich jednak, bo dla tej pętli ∣S∣|S| nigdzie nie przekracza 1 (zadanie 1.3). Drgania śmigła tłumi się mechanicznie albo filtrem w czujniku, nie pętlą.

Symulacja 1 Cztery funkcje pętli prędkości drona (m=1m = 1 kg) z regulatorem PI. Przy niskich częstotliwościach ∣S∣|S| jest głęboko poniżej 0 dB, przy wysokich ∣T∣|T|. Zwiększaj KpK_p i KiK_i: tłumienie rośnie, ale ∣CS∣|CS| (szum → ciąg) przy wysokich częstotliwościach dochodzi do KpK_p. Włącz silniki: pętla ma wtedy dwa bieguny więcej niż zer, obowiązuje całka Bodego i pojawia się garb ∣S∣>1|S| > 1.

Zadania · część 1

4 zadania · ok. 25 min

  1. Dla pętli PI drona przy ω=0,3\omega = 0{,}3 rad/s ∣S∣=0,043|S| = 0{,}043. Ile razy pętla tłumi zakłócenie na wyjściu o tej częstotliwości? Ile to dB?

    Odpowiedź

    Ok. 23 razy, czyli −27 dB.

  2. Pokaż, że ∣CS∣|CS| dla regulatora PI przy bardzo wysokich częstotliwościach dąży do KpK_p. Co to oznacza dla szumu czujnika?

    Odpowiedź

    Przy ω→∞\omega \to \infty: L→0L \to 0, więc CS→C→KpCS \to C \to K_p (człon Ki/sK_i/s znika). Szybki szum czujnika trafia do elementu wykonawczego pomnożony przez KpK_p: 0,1 m/s szumu to 0,35 N szarpnięcia przy Kp=3,5K_p = 3{,}5.

  3. W symulacji 1 bez silników ∣S∣|S| nigdzie nie przekracza 0 dB. Z silnikami pojawia się wyraźny garb. Dlaczego? Odpowiedz przez całkę Bodego.

    Odpowiedź

    Bez silników L≈KpsL \approx \frac{K_p}{s} przy wysokich częstotliwościach (spadek jak 1/ω1/\omega), więc twierdzenie w wersji „całka = 0” nie obowiązuje: całka jest ujemna (dokładnie −π2Kp-\frac\pi2K_p). Silniki dokładają biegun, LL spada jak 1/ω21/\omega^2 i całka musi wynosić zero: tłumienie przy niskich częstotliwościach trzeba „spłacić” garbem ∣S∣>1|S| > 1 w okolicy ωc\omega_c. Każdy prawdziwy obiekt ma jakieś dodatkowe bieguny, więc garb zawsze gdzieś jest.

  4. Wyprowadź transmitancję od szumu czujnika nn do sterowania uu i wyjaśnij, dlaczego to −CS-CS.

    Odpowiedź

    Dla r=0r = 0: u=C(−y−n)u = C(-y - n), y=Puy = Pu. Stąd u(1+CP)=−Cnu(1 + CP) = -Cn, czyli un=−C1+L=−CS\frac un = -\frac{C}{1 + L} = -CS.

2 Wymagania jako kształt |L|

Ponieważ ∣S∣≈1/∣L∣|S| \approx 1/|L| tam, gdzie ∣L∣≫1|L| \gg 1, i ∣T∣≈∣L∣|T| \approx |L| tam, gdzie ∣L∣≪1|L| \ll 1, wymagania na SS i TT tłumaczą się bezpośrednio na kształt charakterystyki ∣L(jω)∣|L(j\omega)|. Tak projektuje się pętle metodą kształtowania pętli (ang. loop shaping):Frank 4.5

  • niskie częstotliwości (zakłócenia, wolne zmiany wartości zadanej): ∣L∣|L| duże, np. ponad 20–40 dB; całkowanie w regulatorze daje ∣L∣→∞|L| \to \infty przy ω→0\omega \to 0, czyli zerowy uchyb ustalony;
  • okolice ωc\omega_c: przejście przez 0 dB z nachyleniem ok. −20 dB/dek. przez mniej więcej dekadę, żeby faza była daleko od −180∘-180^\circ (lekcja 2.3 Odpowiedź częstotliwościowa i charakterystyki Bodego, zadanie 8.3);
  • wysokie częstotliwości (szum, nieznane rezonanse, niedokładny model): ∣L∣|L| małe i szybko malejące.

Między tymi pasmami jest okolica ωc\omega_c, gdzie ∣S∣|S| i ∣T∣|T| są oba bliskie 1 i gdzie siedzi garb ∣S∣|S|. Jego wysokość, max⁡∣S∣\max|S|, to odwrotność najmniejszej odległości wykresu Nyquista od −1 (lekcja 2.4 Stabilność pętli: punkt −1, zapasy i opóźnienie). Typowy cel: max⁡∣S∣<2\max|S| < 2 (6 dB), czyli wykres nie podchodzi do −1 bliżej niż na 0,5.

Zadania · część 2

3 zadania · ok. 20 min

  1. Wymaganie: zakłócenia wolniejsze niż 0,5 rad/s mają być tłumione co najmniej 10 razy. Co to znaczy dla ∣L∣|L|?

    Odpowiedź

    ∣S∣≤0,1|S| \le 0{,}1, czyli ∣L∣≳10|L| \gtrsim 10 (20 dB) dla ω≤0,5\omega \le 0{,}5 rad/s.

  2. Wymaganie: szum czujnika szybszy niż 50 rad/s ma przechodzić na wyjście najwyżej w 5%. Co to znaczy dla ∣L∣|L|?

    Odpowiedź

    ∣T∣≤0,05|T| \le 0{,}05, czyli ∣L∣≲0,05|L| \lesssim 0{,}05 (−26 dB) dla ω≥50\omega \ge 50 rad/s.

  3. Oba wymagania z zadań 2.1 i 2.2 naraz: ∣L∣≥20|L| \ge 20 dB przy 0,5 rad/s i ∣L∣≤−26|L| \le -26 dB przy 50 rad/s. Czy da się je spełnić pętlą przechodzącą przez 0 dB z nachyleniem −20 dB/dek.?

    Odpowiedź

    Między 0,5 a 50 rad/s są dwie dekady, a trzeba spaść o 46 dB. Przy −20 dB/dek. spadek wyniósłby tylko 40 dB. Trzeba gdzieś stromiej: np. −20 dB/dek. wokół ωc\omega_c i −40 dB/dek. dalej. Jest to możliwe, ale ciasne: zapas fazy będzie umiarkowany.

3 Szum czujnika i człon D

W lekcji 2.2 Bieguny i zera pętli zamkniętej, linie pierwiastkowe człon D (regulator PD) dał pętli wysokości drona tłumienie, którego regulator P dać nie mógł. Ma jednak ciemną stronę. Pochodna to mnożenie przez ss, więc ∣C(jω)∣=K∣1+jωTd∣|C(j\omega)| = K|1 + j\omega T_d| rośnie bez końca z częstotliwością. Szum czujnika ma składowe o wysokich częstotliwościach, a CS→CCS \to C przy ω→∞\omega \to \infty. Idealny człon D przepuszcza je do silników z ogromnym wzmocnieniem.

W kodzie wygląda to tak: pochodną liczy się z różnicy dwóch kolejnych pomiarów, zk−zk−1Δt\frac{z_k - z_{k-1}}{\Delta t}. Jeśli barometr ma szum o odchyleniu σ\sigma, różnica ma odchylenie 2σ\sqrt2\sigma, a po podzieleniu przez małe Δt\Delta t wychodzi coś ogromnego (przykład 6.3). Rozwiązanie: filtr członu D. Pochodną przepuszcza się przez człon inercyjny o stałej czasowej Td/NT_d/N (typowo N=5N = 5–20):

CPD(s)=K(1+Tds1+Tds/N).C_\text{PD}(s) = K\left(1 + \frac{T_ds}{1 + T_ds/N}\right) .

Przy niskich częstotliwościach to zwykłe PD. Przy wysokich wzmocnienie rośnie tylko do K(1+N)K(1 + N), a nie bez końca. Cena: filtr wnosi trochę opóźnienia fazy w okolicy ωc\omega_c, więc nie może być zbyt silny. Szczegóły strojenia filtru w lekcji 3.1 Regulator PID: działanie P, I, D i uchyb ustalony.

Symulacja 2 Dron z regulatorem PD wysokości (m=1m = 1 kg), liczonym co 0,02 s na podstawie zaszumionego barometru. Górny wykres: wysokość (niebieska) i pomiar (szary), dolny: korekta ciągu. Wyłącz filtr członu D i patrz na silniki. Zwiększ szum, zmień TdT_d. Zwróć uwagę, że bez filtra dron drży stosunkowo niewiele, bo jego bezwładność wygładza szarpnięcia, ale silniki są stale w nasyceniu. Przez to pętla gorzej radzi sobie nawet z wolnym podmuchem.

Zadania · część 3

3 zadania · ok. 25 min

  1. PD wysokości ma K=4K = 4 N/m, Td=0,575T_d = 0{,}575 s. Ile wynosi ∣C(jω)∣|C(j\omega)| przy 100 rad/s bez filtra? A z filtrem N=8N = 8?

    Odpowiedź

    Bez filtra: 4∣1+j57,5∣≈2304|1 + j57{,}5| \approx 230 N/m. Z filtrem ograniczenie do K(1+N)=36K(1 + N) = 36 N/m (przy 100 rad/s prawie dokładnie tyle). Ponad sześć razy mniej.

  2. W symulacji 2 porównaj RMS korekty ciągu z filtrem i bez (przy σ=0,1\sigma = 0{,}1 m). Czy spadek wysokości po podmuchu wyraźnie się zmienia?

    Odpowiedź

    Bez filtra RMS jest ok. 2,5 razy większe (ok. 8 N zamiast 3 N), a silniki prawie cały czas siedzą na granicach. Wbrew intuicji spadek po podmuchu jest wtedy większy (ok. 1,1 m zamiast 0,5 m), choć podmuch jest wolny, a filtr usuwa tylko szybkie składowe: nasycony silnik nie ma już zapasu ciągu na kompensację. W liniowym modelu filtr prawie nie zmieniałby reakcji na podmuch (rozdzielenie pasm z części 2), a nieliniowość nasycenia miesza pasma. Dokładne liczby zależą od losowego szumu.

  3. Dlaczego w pętli prędkości drona lepiej mierzyć prędkość akcelerometrem (scałkowanym) niż różniczkować barometr?

    Odpowiedź

    Całkowanie tłumi szybki szum (zachowuje się jak 1/s1/s), różniczkowanie go wzmacnia (ss). Scałkowany akcelerometr ma za to dryf przy niskich częstotliwościach. Najlepiej połączyć oba: akcelerometr dla szybkich zmian, barometr dla wolnych. To filtr komplementarny (lekcja 4.5 Rozszerzony filtr Kalmana i fuzja czujników w jednej osi).

4 Korektory wyprzedzające i opóźniające

PD z filtrem ma transmitancję postaci Ks/ωz+1s/ωp+1K\frac{s/\omega_z + 1}{s/\omega_p + 1} z ωz<ωp\omega_z < \omega_p. Taki człon nazywa się korektorem wyprzedzającym (ang. lead). Ma zero przed biegunem, więc w paśmie między nimi faza jest dodatnia: korektor „wyprzedza” sygnał.

Wynik · korektor wyprzedzający

C(s)=K s/ωz+1s/ωp+1,α=ωpωz>1:φmax=arcsin⁡α−1α+1  przy ω=ωzωp.C(s) = K\,\frac{s/\omega_z + 1}{s/\omega_p + 1},\quad \alpha = \frac{\omega_p}{\omega_z} > 1:\qquad \varphi_\text{max} = \arcsin\frac{\alpha - 1}{\alpha + 1}\ \text{ przy } \omega = \sqrt{\omega_z\omega_p} .

Przy wysokich częstotliwościach wzmocnienie rośnie α\alpha razy. Dla α=4\alpha = 4 podbicie fazy to 37∘37^\circ (kosztem 12 dB więcej szumu), dla α=10\alpha = 10: 55∘55^\circ (20 dB), dla α=20\alpha = 20: 65∘65^\circ (26 dB).

Przepis: wybierz ωc\omega_c, odczytaj fazę obiektu w ωc\omega_c, policz, ile fazy brakuje do wymaganego zapasu (plus kilka stopni zapasu), dobierz α\alpha ze wzoru, umieść środek korektora w ωc\omega_c (ωz=ωc/α\omega_z = \omega_c/\sqrt\alpha, ωp=ωcα\omega_p = \omega_c\sqrt\alpha) i dobierz KK tak, żeby ∣L(jωc)∣=1|L(j\omega_c)| = 1. Przykład 6.2 robi to dla drona.

Odwrotny człon, s/ωz+1s/ωp+1\frac{s/\omega_z + 1}{s/\omega_p + 1} z ωp<ωz\omega_p < \omega_z, to korektor opóźniający (ang. lag). Podnosi wzmocnienie przy niskich częstotliwościach ωz/ωp\omega_z/\omega_p razy, czyli poprawia dokładność, ale kosztuje trochę fazy. Dlatego umieszcza się go ok. dekadę poniżej ωc\omega_c, gdzie strata fazy w ωc\omega_c jest niewielka. Regulator PI to graniczny przypadek korektora opóźniającego z biegunem w zerze.

Symulacja 3 Korektor wyprzedzający dla pętli wysokości drona, obiekt 1s(s+0,5)\frac{1}{s(s + 0{,}5)}. Ustawienia startowe to projekt z przykładu 6.2. Wyłącz korektor (sam regulator P): zapas fazy spada do ok. 20°. Przesuń zero korektora daleko od ωc\omega_c i zobacz, jak korektor marnuje swoją fazę. Zwiększ α\alpha: więcej fazy, ale też więcej szumu przy wysokich częstotliwościach.

Zadania · część 4

4 zadania · ok. 35 min

  1. Potrzeba 40∘40^\circ fazy przy 5 rad/s. Jakie α\alpha, ωz\omega_z i ωp\omega_p?

    Odpowiedź

    α=1+sin⁡40∘1−sin⁡40∘≈4,6\alpha = \frac{1 + \sin 40^\circ}{1 - \sin 40^\circ} \approx 4{,}6; ωz=5/4,6≈2,3\omega_z = 5/\sqrt{4{,}6} \approx 2{,}3 rad/s, ωp=54,6≈10,7\omega_p = 5\sqrt{4{,}6} \approx 10{,}7 rad/s.

  2. Wyprowadź α\alpha z wymaganego φmax\varphi_\text{max}, odwracając wzór z ramki.

    Odpowiedź

    sin⁡φ=α−1α+1\sin\varphi = \frac{\alpha - 1}{\alpha + 1}, czyli αsin⁡φ+sin⁡φ=α−1\alpha\sin\varphi + \sin\varphi = \alpha - 1 i α=1+sin⁡φ1−sin⁡φ\alpha = \frac{1 + \sin\varphi}{1 - \sin\varphi}.

  3. Korektor opóźniający ma podnieść wzmocnienie przy niskich częstotliwościach 10 razy, a w ωc=2\omega_c = 2 rad/s ma kosztować najwyżej ok. 6∘6^\circ fazy. Gdzie umieścić ωz\omega_z i ωp\omega_p?

    Odpowiedź

    ωz/ωp=10\omega_z/\omega_p = 10. Faza w ωc\omega_c: arctan⁡(ωc/ωz)−arctan⁡(ωc/ωp)\arctan(\omega_c/\omega_z) - \arctan(\omega_c/\omega_p). Dla ωz=0,2\omega_z = 0{,}2, ωp=0,02\omega_p = 0{,}02 rad/s: 84,3∘−89,4∘≈−5∘84{,}3^\circ - 89{,}4^\circ \approx -5^\circ ✓. Dekada poniżej ωc\omega_c to dobra reguła.

  4. W symulacji 3 zwiększ α\alpha do 15 przy tym samym ωz\omega_z. Zapas fazy rośnie, ale coś się pogarsza. Co?

    Odpowiedź

    Wzmocnienie dla szumu (przy ω→∞\omega \to \infty) rośnie do KαK\alpha, a środek korektora ωzωp\sqrt{\omega_z\omega_p} przesuwa się od ωc\omega_c. Więcej szumu w silnikach za mniej wykorzystanej fazy. Przy dużym α\alpha trzeba też przesunąć zero.

5 Granice, których nie przeskoczysz

Niektóre ograniczenia nie zależą od sprytu projektanta, tylko od obiektu. Trzy najważniejsze reguły (orientacyjne, z Goodwina i Åströma):

Reguły · fundamentalne ograniczenia

Opóźnienie θ\theta: ωc≲1/θ\omega_c \lesssim 1/\theta (dokładniej 0,8/θ0{,}8/\theta przy zapasie fazy 45∘45^\circ, lekcja 2.4 Stabilność pętli: punkt −1, zapasy i opóźnienie).

Zero w prawej półpłaszczyźnie w zz: ωc≲z/2\omega_c \lesssim z/2. Szybsza pętla „zobaczy” odpowiedź w złą stronę i będzie z nią walczyć (lekcja 2.2 Bieguny i zera pętli zamkniętej, linie pierwiastkowe).

Biegun niestabilny w pp: ωc≳2p\omega_c \gtrsim 2p. Pętla musi być szybsza niż niestabilność, inaczej nie zdąży jej opanować. Całka Bodego dostaje wtedy dodatnią prawą stronę π∑pi\pi\sum p_i: każdy niestabilny biegun to większy garb ∣S∣|S|.

Gdy obiekt ma i niestabilny biegun, i prawe zero, i z<4pz < 4p (mniej więcej), wymagania ωc≳2p\omega_c \gtrsim 2p i ωc≲z/2\omega_c \lesssim z/2 się wykluczają: takiego obiektu nie da się dobrze ustabilizować żadnym regulatorem liniowym. Klasyczny przykład to rower jadący tyłem lub z kierownicą sterującą tylnym kołem. Tak samo trzeba myśleć o zakłóceniach o częstotliwości bliskiej ωc\omega_c: nie da się ich stłumić, a garb ∣S∣|S| może je nawet wzmocnić.

Zadania · część 5

3 zadania · ok. 20 min

  1. Odpowiedź wysokości samolotu na ster ma zero w +2+2 rad/s. Jak szybka może być bezpośrednia pętla wysokości? Jaki czas narastania?

    Odpowiedź

    ωc≲1\omega_c \lesssim 1 rad/s; tr≈1,5/ωc≈1,5t_r \approx 1{,}5/\omega_c \approx 1{,}5 s lub więcej.

  2. Rakieta bez sterowania jest niestabilna z biegunem w +3+3 1/s (przewraca się jak ołówek). Jak szybka musi być pętla orientacji? Co z opóźnieniem w tej pętli?

    Odpowiedź

    ωc≳6\omega_c \gtrsim 6 rad/s. Przy zapasie fazy 45∘45^\circ opóźnienie musi spełniać θ≲0,8/6≈0,13\theta \lesssim 0{,}8/6 \approx 0{,}13 s. Szybki obiekt niestabilny wymaga szybkich czujników i obliczeń (lekcja 11 Rakieta: orientacja i ciąg wektorowany).

  3. Dlaczego kulkę na odwróconej misce (lekcja 1.1) łatwiej utrzymać, gdy misa jest płaska, a trudniej, gdy jest stroma?

    Odpowiedź

    Stroma misa to szybsza niestabilność, czyli większe pp (kulka szybciej się stacza). Pętla musi mieć ωc≳2p\omega_c \gtrsim 2p, a z opóźnieniem regulatora (wiatrak musi się rozpędzić) granica ωc≲1/θ\omega_c \lesssim 1/\theta szybko staje się nieosiągalna. Tak samo łatwiej balansować długim kijem na palcu niż krótkim.

6 Metoda i przykłady rozwiązane

Metoda: kształtowanie pętli

  1. Pasma: gdzie są zakłócenia (zwykle nisko), gdzie szum i niepewny model (wysoko). ωc\omega_c wybierz między nimi.
  2. Granice: opóźnienie, prawe zera, niestabilne bieguny ograniczają ωc\omega_c z góry lub z dołu.
  3. Niskie częstotliwości: całkowanie (PI) albo korektor opóźniający dla dokładności.
  4. Okolica ωc\omega_c: korektor wyprzedzający (lub PD z filtrem) dla zapasu fazy 45–60°.
  5. Wysokie częstotliwości: filtr, żeby ∣CS∣|CS| nie szarpało elementem wykonawczym.
  6. Sprawdzenie: max⁡∣S∣<2\max|S| < 2, symulacja z szumem i nasyceniem.

Przykład 6.1 Co pętla PI drona robi z różnymi sygnałami

Pętla prędkości drona (m=1m = 1 kg, PI z Kp=3,5K_p = 3{,}5, Ki=4K_i = 4). Jak przenosi: podmuch o częstotliwości 0,3 rad/s, szum czujnika prędkości przy 30 rad/s (na prędkość i na ciąg)?

  1. Podmuch (siła na wejściu obiektu): ∣PS(j0,3)∣≈0,073|PS(j0{,}3)| \approx 0{,}073 (m/s)/N. Podmuch 1 N daje wahania prędkości 0,07 m/s; bez pętli byłoby to ∣P(j0,3)∣=1/∣0,5+0,3j∣≈1,7|P(j0{,}3)| = 1/|0{,}5 + 0{,}3j| \approx 1{,}7 m/s.
  2. Szum przy 30 rad/s: ∣T(j30)∣≈0,12|T(j30)| \approx 0{,}12, czyli 12% szumu przechodzi na prawdziwą prędkość.
  3. Ten sam szum na ciąg: ∣CS(j30)∣≈3,5|CS(j30)| \approx 3{,}5 N/(m/s), czyli prawie KpK_p.

Wynik: wolny podmuch stłumiony ok. 23 razy; szybki szum prawie nie rusza drona, ale szarpie silnikami ze wzmocnieniem KpK_p.

Sprawdzenie: zgadza się z symulacją 1 ✓. Kto chce mniej szarpania silników, musi zmniejszyć KpK_p albo odfiltrować pomiar, i za każde z tych rozwiązań płaci wolniejszą pętlą.

Przykład 6.2 Korektor wyprzedzający dla wysokości drona

Obiekt G=1s(s+0,5)G = \frac{1}{s(s + 0{,}5)} (od ciągu do wysokości, m=1m = 1 kg). Cel: ωc=2\omega_c = 2 rad/s, zapas fazy 50∘50^\circ. Zaprojektuj korektor wyprzedzający.

  1. Faza GG w 2 rad/s: −90∘−arctan⁡4≈−166∘-90^\circ - \arctan 4 \approx -166^\circ, czyli zapas 14∘14^\circ. Brakuje 36∘36^\circ; dokładamy 5∘5^\circ zapasu: 41∘41^\circ.
  2. α=1+sin⁡41∘1−sin⁡41∘≈4,8\alpha = \frac{1 + \sin 41^\circ}{1 - \sin 41^\circ} \approx 4{,}8; ωz=2/4,8≈0,91\omega_z = 2/\sqrt{4{,}8} \approx 0{,}91, ωp=24,8≈4,4\omega_p = 2\sqrt{4{,}8} \approx 4{,}4 rad/s.
  3. KK z warunku ∣L(j2)∣=1|L(j2)| = 1: K≈1,88K \approx 1{,}88.
  4. Wynik w python-control: ωc=2,0\omega_c = 2{,}0 rad/s, zapas fazy 55∘55^\circ, przeregulowanie 17% (zero korektora w −0,91-0{,}91!), czas ustalania 2,9 s.

Wynik: C(s)=1,88 s/0,91+1s/4,4+1C(s) = 1{,}88\,\frac{s/0{,}91 + 1}{s/4{,}4 + 1}. Szum przy wysokich częstotliwościach wzmacniany Kα≈9K\alpha \approx 9 razy, a nie bez końca jak w idealnym PD.

Sprawdzenie: regulator PD z lekcji 2.2 dawał zapas 68∘68^\circ, ale jego ∣C∣|C| przy 100 rad/s wynosiło 230. Korektor daje mniej fazy, za to 25 razy mniej szarpania silnikami ✓. To ten sam kompromis co filtr członu D w części 3.

Przykład 6.3 Dlaczego nikt nie różniczkuje surowego barometru

Barometr drona ma szum o odchyleniu 0,3 m, regulator działa co 0,02 s. PD: K=4K = 4 N/m, Td=0,575T_d = 0{,}575 s. Oszacuj szum w korekcie ciągu od członu D bez filtra.

  1. Różnica dwóch niezależnych pomiarów: odchylenie 2⋅0,3≈0,42\sqrt2\cdot 0{,}3 \approx 0{,}42 m.
  2. Pochodna: 0,42/0,02≈210{,}42/0{,}02 \approx 21 m/s (!).
  3. Korekta ciągu: KTd⋅21≈49KT_d\cdot 21 \approx 49 N.

Wynik: ok. 49 N szumu przy zapasie ciągu 9,8 N: silniki byłyby cały czas w nasyceniu, raz na maksimum, raz na zerze.

Sprawdzenie: sama część P daje tylko K⋅0,3=1,2K\cdot 0{,}3 = 1{,}2 N ✓. Dlatego prędkość mierzy się innym czujnikiem albo filtruje, a człon D ma zawsze filtr.

Przykład 6.4 Garb, którego nie da się usunąć

Pętla L=4(s+1)3L = \frac{4}{(s + 1)^3}. Sprawdź numerycznie całkę Bodego i znajdź max⁡∣S∣\max|S|.

  1. LL ma względny stopień 3 (trzy bieguny, brak zer) i jest stabilne, więc ∫0∞ln⁡∣S∣ dω=0\int_0^\infty\ln|S|\,\mathrm d\omega = 0.
  2. Numerycznie (scipy): −0,0000-0{,}0000 ✓.
  3. max⁡∣S∣=3\max|S| = 3 (najmniejsza odległość od −1 to 0,33, lekcja 2.4).

Wynik: głębokie tłumienie przy niskich częstotliwościach (∣S(0)∣=0,2|S(0)| = 0{,}2) musi być spłacone garbem ∣S∣=3|S| = 3 w okolicy 1,5 rad/s.

Sprawdzenie: mniejsze KK zmniejsza tłumienie przy niskich częstotliwościach i garb jednocześnie ✓. Nie ma ustawienia, które daje tylko korzyści.

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

„Dobra pętla tłumi zakłócenia na wszystkich częstotliwościach.”
Całka Bodego tego zabrania: gdzieś ∣S∣>1|S| > 1. Przy wysokich częstotliwościach pętla zakłóceń nie widzi, a w okolicy ωc\omega_c może je wzmacniać.
„Człon D przewiduje przyszłość, więc zawsze pomaga.”
Dodaje fazy w okolicy ωc\omega_c, ale wzmacnia szum przy wysokich częstotliwościach. Bez filtra w praktyce jest bezużyteczny.
„Szum, którego dron nie odczuwa, jest nieszkodliwy.”
Może nie ruszać wyjściem (TT małe), a mimo to szarpać silnikami (CSCS duże): grzanie, zużycie, nasycenie.
„Każdy obiekt da się dobrze ustabilizować, wystarczy sprytny regulator.”
Opóźnienia, prawe zera i niestabilne bieguny wyznaczają granice ωc\omega_c, a gdy się wykluczają, żaden regulator liniowy nie pomoże.
„SS i TT to dwa niezależne pokrętła.”
S+T=1S + T = 1. Poprawiając jedną funkcję przy danej częstotliwości, pogarszasz drugą.

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. Słuchawki z redukcją szumu. Słuchawki z aktywną redukcją szumu mają mikrofon w muszli i pętlę, która odejmuje zmierzony dźwięk. Dobrze tłumią buczenie samolotu (ok. 100 Hz), słabo głosy (1–4 kHz). Wyjaśnij przez SS i całkę Bodego. Dlaczego czasem słychać lekki szum przy kilku kHz?

    Rozwiązanie
    1. Pętla ma duże ∣L∣|L| przy niskich częstotliwościach (∣S∣≪1|S| \ll 1, tłumienie buczenia). Przy wyższych głośnik, mikrofon i elektronika wnoszą opóźnienia, więc ωc\omega_c musi być umiarkowane.
    2. Całka Bodego: tłumienie przy niskich częstotliwościach musi być spłacone ∣S∣>1|S| > 1 wyżej, czyli w okolicy ωc\omega_c (kilka kHz pętla lekko wzmacnia hałas). Dlatego słuchawki mają też pasywne wygłuszenie, które działa na wysokie częstotliwości.
  2. Dokładność za fazę. Regulator PI to korektor opóźniający z biegunem w zerze. Dlaczego zero regulatora PI (−Ki/Kp-K_i/K_p) umieszcza się zwykle kilka razy poniżej ωc\omega_c?

    Rozwiązanie
    1. Człon Kps+Kis\frac{K_ps + K_i}{s} ma fazę −90∘+arctan⁡(ωKp/Ki)-90^\circ + \arctan(\omega K_p/K_i). Daleko powyżej zera faza jest bliska 0∘0^\circ, blisko zera bliska −45∘-45^\circ do −90∘-90^\circ.
    2. Zero kilka razy poniżej ωc\omega_c daje w ωc\omega_c stratę fazy kilkunastu stopni, a przy niskich częstotliwościach pełne całkowanie. W pętli prędkości drona zero leży w 1,14 rad/s przy ωc=3,6\omega_c = 3{,}6 rad/s: strata ok. 18∘18^\circ, przy zapasie fazy 80∘80^\circ akceptowalna.
  3. Model niepewny przy wysokich częstotliwościach. Model drona 1s(s+0,5)\frac{1}{s(s + 0{,}5)} ignoruje zginanie ramion i aerodynamikę śmigieł powyżej ok. 50 rad/s. Dlaczego dobrze, że ∣T∣|T| jest tam małe?

    Rozwiązanie
    1. Względny błąd modelu Δ\Delta (prawdziwe P=P0(1+Δ)P = P_0(1 + \Delta)) nie zdestabilizuje pętli, jeśli ∣TΔ∣<1|T\Delta| < 1 na wszystkich częstotliwościach (twierdzenie o małym wzmocnieniu, Frank rozdz. 7).
    2. Przy wysokich częstotliwościach ∣Δ∣|\Delta| może być rzędu 1 lub więcej, więc potrzeba ∣T∣≪1|T| \ll 1. Małe ∣T∣|T| wysoko to nie tylko ochrona przed szumem, ale też odporność na to, czego model nie wie (lekcja 5.2 LQG i odporność).
  4. Gdzie postawić ωc\omega_c? Zakłócenia dla drona to podmuchy o pasmie do ok. 2 rad/s. Szum barometru jest istotny od ok. 10 rad/s, a rezonans ramy jest przy 80 rad/s. Pętla ma opóźnienie ok. 0,03 s. Zaproponuj ωc\omega_c i uzasadnij.

    Rozwiązanie
    1. Opóźnienie: ωc≲0,8/0,03≈27\omega_c \lesssim 0{,}8/0{,}03 \approx 27 rad/s. Szum: chcemy ∣T∣|T| małe od 10 rad/s, czyli ωc\omega_c wyraźnie poniżej 10.
    2. Podmuchy do 2 rad/s chcemy tłumić, więc ωc\omega_c powinno być kilka razy wyżej. Kompromis: ok. 4–6 rad/s, z regulatorem PI i filtrem pomiaru. Rezonans przy 80 rad/s jest wtedy ponad dekadę wyżej i przy szybkim spadku ∣L∣|L| niegroźny.
  5. Rower tyłem. Rower z kierownicą sterującą tylnym kołem jest niestabilny (biegun pp) i ma prawe zero (zz) w odpowiedzi kierunku na skręt. Dla pewnej prędkości p≈zp \approx z. Czy człowiek może takim rowerem jeździć? Odpowiedz regułami z części 5.

    Rozwiązanie
    1. Potrzeba ωc≳2p\omega_c \gtrsim 2p (opanować niestabilność) i ωc≲z/2\omega_c \lesssim z/2 (prawe zero). Przy p≈zp \approx z obie nierówności się wykluczają.
    2. Nawet najlepszy regulator liniowy sobie nie poradzi. Doświadczenia z takimi rowerami opisywane w literaturze (Åström i in.) potwierdzają, że są w praktyce niejezdne.

9 Sprawdź się

Odpowiedz w myślach, zanim rozwiniesz odpowiedź.

1 Co opisują SS, TT, PSPS i CSCS?

Zakłócenie na wyjściu → wyjście; szum i wartość zadana → wyjście; zakłócenie na wejściu → wyjście; szum → sterowanie.

2 Dlaczego nie można mieć małego SS i TT jednocześnie?

Bo S+T=1S + T = 1 przy każdej częstotliwości.

3 Co mówi całka Bodego?

Dla stabilnej pętli otwartej LL opadającej co najmniej jak 1/ω21/\omega^2: ∫0∞ln⁡∣S∣ dω=0\int_0^\infty\ln|S|\,\mathrm d\omega = 0; tłumienie w jednym paśmie oznacza wzmacnianie w innym.

4 Jaki kształt ∣L∣|L| jest dobry?

Duże przy niskich częstotliwościach, przejście przez 0 dB z nachyleniem ok. −20 dB/dek., małe i szybko malejące przy wysokich.

5 Dlaczego człon D potrzebuje filtra?

Bo ∣C∣∝ω|C| \propto \omega wzmacnia szybki szum; filtr ogranicza wzmocnienie do K(1+N)K(1 + N).

6 Ile fazy daje korektor wyprzedzający o α=10\alpha = 10?

Ok. 55∘55^\circ przy ωzωp\sqrt{\omega_z\omega_p}, kosztem 20 dB więcej wzmocnienia szumu.

7 Jakie granice stawiają prawe zero i niestabilny biegun?

ωc≲z/2\omega_c \lesssim z/2 i ωc≳2p\omega_c \gtrsim 2p.

8 Gdzie umieszcza się korektor opóźniający?

Ok. dekadę poniżej ωc\omega_c, żeby podnieść wzmocnienie przy niskich częstotliwościach bez dużej straty fazy.

10 Karta wzorów i co dalej

Funkcje pętli

S=11+LS = \frac{1}{1 + L},   T=L1+L\;T = \frac{L}{1 + L},   S+T=1\;S + T = 1

PSPS: zakłócenie na wejściu → wyjście;   CS\;CS: szum → sterowanie

∣L∣≫1|L| \gg 1: S≈1/LS \approx 1/L;   ∣L∣≪1\;|L| \ll 1: T≈LT \approx L

Bode: ∫0∞ln⁡∣S∣ dω=π∑piniest.\int_0^\infty\ln|S|\,\mathrm d\omega = \pi\sum p_i^{\text{niest.}} (0 dla stabilnego)

cel: max⁡∣S∣<2\max|S| < 2

Korektory i granice

lead: Ks/ωz+1s/ωp+1K\frac{s/\omega_z + 1}{s/\omega_p + 1}, α=ωpωz\alpha = \frac{\omega_p}{\omega_z},   sin⁡φmax=α−1α+1\;\sin\varphi_\text{max} = \frac{\alpha - 1}{\alpha + 1}

α=1+sin⁡φ1−sin⁡φ\alpha = \frac{1 + \sin\varphi}{1 - \sin\varphi}, środek w ωzωp=ωc\sqrt{\omega_z\omega_p} = \omega_c

PD z filtrem: K(1+Tds1+Tds/N)K\left(1 + \frac{T_ds}{1 + T_ds/N}\right),   ∣C∣max=K(1+N)\;|C|_\text{max} = K(1 + N)

lag: dekadę poniżej ωc\omega_c; PI = lag z biegunem w 0

ωc≲1/θ\omega_c \lesssim 1/\theta,   ωc≲z/2\;\omega_c \lesssim z/2,   ωc≳2p\;\omega_c \gtrsim 2p

Do przeczytania

  • Obowiązkowo: S. A. Frank, Control Theory Tutorial, rozdz. 3.4 (wrażliwości i kompromisy) i 4.5 (wrażliwości na wykresie Bodego), książka w otwartym dostępie.
  • Dla chętnych: G. C. Goodwin i in., Control System Design, rozdz. 8 (fundamentalne ograniczenia SISO) i 9 (kompromisy w częstotliwości); H. W. Bode, Network Analysis and Feedback Amplifier Design (1945), dla ciekawych historii.

To koniec części II. Mamy już cały klasyczny warsztat: transmitancje, bieguny i zera, wykresy Bodego i Nyquista, zapasy stabilności i kompromis między zakłóceniami a szumem. Część III wraca do praktyki: regulator PID w pełnej wersji, jego strojenie, kaskady, nasycenie, sprzężenie w przód i to, jak zapisać regulator w programie mikrokontrolera.

Korzystają z tej lekcji 3.1 Regulator PID: działanie P, I, D i uchyb ustalony5.2 LQG i odporność