Rozdział 12
Powrót pod prysznic
Dlaczego oscylowaliśmy i jak blisko krawędzi jesteśmy?
Rozdział 12: Powrót pod prysznic ↗
Nowe spojrzenie na prysznic
June: Podłączyłam nasz dronowy PID do prysznica (ta sama żwawość, tylko przeliczona na jednostki kurka). Huśtało go: gorąco, zimno, gorąco… zupełnie jak Mikę w rozdziale 0. Dron nigdy tak nie robił!
Theo: Dron nie ma dużego opóźnienia. Prysznic ma 2,5 sekundy rury. Wreszcie ustalmy, co właściwie robi opóźnienie.
Prysznic ma dwie powolne części: rurę, czyste opóźnienie 2,5 s, oraz wygładzacz, czyli nagrzewające się słuchawkę i ścianki rury, ze stałą czasową z rozdziału 3, s (po 1 s zamyka 63 % różnicy do nowej temperatury).
Najpierw wyznanie w sprawie „zwykłej ręki” z rozdziału 0. Kręciła kurkiem z prędkością proporcjonalną do tego, jak bardzo woda odbiegała od celu: prędkość kurka , gdzie zakresu kurka na sekundę na każdy °C. Prędkość proporcjonalna do uchybu oznacza, że położenie kurka to stos dawnego uchybu. To regulator I, z .
Mika: Chwila, czyli w rozdziale 0 byłam regulatorem PID? No, regulatorem I. Nadgorliwym.
Opóźnienie to przesunięcie w kołysaniu
Theo: Dalej uważam, że opóźnienie tylko wszystko spowalnia. Nie powinno móc niczego zdestabilizować.
Najpierw oddzielmy czyste opóźnienie rury od reszty. Wyobraź sobie falę sinusoidalną, która przechodzi od wejścia rury do słuchawki bez wygładzania: na wyjściu ma ten sam kształt, tylko pojawia się 2,5 s później. Jak duże to opóźnienie w porównaniu z jednym pełnym wahnięciem?
Rozdział 12: Powrót pod prysznic ↗
Theo: Chwila. Przy wahnięciu co 5 sekund gorąca woda przychodzi dokładnie wtedy, gdy kurek prosi o zimną. To nie jest wolniej. To jest na odwrót.
Opóźnienie rury nadal wynosi 2,5 s, ale wywołane nim opóźnienie fazowe zależy od szybkości wahań. Oznaczmy kąt opóźnienia przez , a samo opóźnienie przez . Jeśli jedno wahnięcie trwa sekund (tutaj to czas, nie temperatura), częstość kołowa wynosi radianów na sekundę. Dodatnie opóźnienie oznacza, że wyjście wlecze się za wejściem. Inżynierowie zapisują opóźnienie jako kąt ujemny, dlatego wykresy poniżej idą w dół.
Jedno całe wahnięcie to jeden pełny obrót wirującej strzałki z rozdziału 5: 360°, czyli 2π radianów. Liczy się więc to, jaki ułamek wahnięcia obejmuje opóźnienie: .
Rozdział 12: Powrót pod prysznic ↗
Przy wahnięciu co 5 sekund 2,5 s to pół wahnięcia: 180°. W tym modelu czystego opóźnienia każdy szczyt na wyjściu wypada naprzeciw doliny na wejściu. Wygładzacz prysznica dodatkowo zmniejsza szybkie wahania; zaraz go dodamy.
Mika: Czyli te same 2,5 s to lekkie szturchnięcie dla leniwego wahnięcia i pełne odwrócenie dla szybkiego. Rura się nie zmienia. Zmienia się wahnięcie!
Mierzymy prysznic, wahnięcie po wahnięciu
Dodajmy teraz do opóźnienia rury wygładzacz. Słuchawka i ścianki rury potrzebują czasu, żeby się nagrzać, więc cały prysznic zarówno opóźnia, jak i wygładza zmiany ustawienia kurka. Plan jest taki: poruszaj kurkiem w jednym rytmie, poczekaj na ustalone wahania i zmierz dwie liczby:
- Wzmocnienie (to samo słowo co wzmocnienie regulatora: wielkość na wyjściu ÷ wielkość na wejściu): jak duże jest wahanie temperatury w porównaniu z wahaniem mieszanki wody, o które prosiliśmy.
- Faza: jak bardzo jest spóźnione, wyrażone jako kąt: jego ułamek całego wahnięcia razy 360°.
Każdy pomiar stawia kropkę na dwóch wykresach. Zmierz co najmniej pięć prędkości, powolnych i szybkich.
Rozdział 12: Powrót pod prysznic ↗
Wygładzacz zmniejsza szybkie wahania, a rura nadal dodaje opóźnienie fazowe. Wykresy wzmocnienia i fazy w zależności od szybkości wahań tworzą charakterystyki Bodego. Razem opisują charakterystykę częstotliwościową prysznica: jak traktuje każdą prędkość wahań. Tutaj wejściem jest temperatura zmieszanej wody, więc powolne wahania mają wzmocnienie 1. Gdyby wejściem było ustawienie kurka, wzmocnienie byłoby 45 razy większe. Żeby dostać charakterystykę częstotliwościową ze wzoru, wstaw : ten sam trik, który znalazł krawędź w rozdziale 11. (Działa to, bo sam prysznic jest stabilny, więc jego wahania ustalają się w równym rytmie, który możemy zmierzyć.)
Co wygładzacz robi z wirującą strzałką
Theo: Znowu trik z rozdziału 4: zgadnij, że odpowiedź to ta sama wirująca strzałka, tylko o innej długości i pod innym kątem.
Wstaw wirującą strzałkę do reguły wygładzacza, a strzałka musi spełniać . Strzałki z rozdziału 7: ma długość i jest skierowana w górę pod kątem . Dzielenie przez nią skraca o tę długość i obraca wstecz o ten kąt. Powolne wahania prawie tego nie zauważają. Szybkie zostają zgniecione i spóźniają się coraz bliżej ćwierć obrotu, ale nigdy więcej.
Rozdział 12: Powrót pod prysznic ↗
June: Mam! W okolicy 0,95 rad/s sam prysznic odwraca wahnięcie do góry nogami. Zapamiętajcie tę prędkość.
Jak blisko urwiska?
Teraz zamknijmy pętlę: ręka → kurek → rura → skóra → ręka. Prześledź wahnięcie przez całe okrążenie. Dla ręki z rozdziału 0 podróż dookoła pętli to (kółeczko od pętli, bo oznacza już opóźnienie):
Stos z wahnięcia
Mika: Moja ręka zbiera uchyb na stos. Co stos robi z wahnięciem?
Pole pod cosinusem to sinus, spóźniony o ćwierć wahnięcia: 90° opóźnienia przy każdej prędkości. A przy powolnych wahaniach stos jest większy, bo każdy garb trwa dłużej, zanim się zniesie: wielkość zachowuje się jak . Rozdział 5 mówił, że prędkość to razy położenie. Zbieranie na stos to odwrotność: dzielenie przez . To właśnie w pętli.
Sprzężenie zwrotne odejmuje (uchyb = cel − temperatura). To ×(−1), pół obrotu z rozdziału 5, więc fala odwraca się raz. Jeśli podróż dookoła pętli dodatkowo opóźnia ją dokładnie o 180°, oba odwrócenia się znoszą i każda korekta przychodzi idealnie w rytm z wahaniem, jak pchanie huśtawki na placu zabaw w samą porę. Jeśli pętla oddaje falę w pełnej wielkości (wzmocnienie 1), huśtanie samo się podtrzymuje; przy wzmocnieniu większym niż 1 rośnie. To znowu z rozdziału 10, na prostej : okrążenie, które wraca odwrócone i w pełnej wielkości, to .
June: W tej prostej pętli prysznica faza przechodzi przez −180° przy jednej istotnej prędkości wahań. Znajdź ją na wykresie fazy, a potem odczytaj wzmocnienie pętli przy tej samej prędkości. Czy jest mniejsze, czy większe od 1?
Rozdział 12: Powrót pod prysznic ↗
Przesuwaj, aż suma przekroczy 180°, między 0,45 a 0,46 rad/s. W samym punkcie przejścia, około 0,457 rad/s, wahanie wraca pomnożone przez 0,72, więc ręka mogłaby być około 1 ÷ 0,72 ≈ 1,4 raza mocniejsza, zanim dojdzie do krawędzi.
Nowe pojęcia
- Zapas wzmocnienia
- Ile razy można pomnożyć wzmocnienie regulatora, zanim wzmocnienie pętli przy prędkości −180° dojdzie do 1. Poniżej 1 = za urwiskiem.
- Zapas fazy
- Przy prędkości, przy której wzmocnienie pętli wynosi dokładnie 1: ile dodatkowego opóźnienia trzeba, żeby dojść do −180°. Więcej znaczy bezpieczniej; 45°–60° to częsty cel (dygresja poniżej mówi dlaczego).
Zapas fazy to tłumienie w przebraniu
June: Dlaczego 45° do 60°? Kto to wybrał?
W prostych pętlach z rozdziału 7 zapas fazy i współczynnik tłumienia idą w parze. Mniej więcej 43° odpowiada ζ = 0,4 (25 % przeregulowania), 52° odpowiada ζ = 0,5 (16 %), a 59° odpowiada ζ = 0,6 (poniżej 10 %). Te pary są dokładne dla najprostszej pętli z rozdziału 7, . Zapas 45°–60° oznacza więc ζ ≈ 0,4–0,6: więcej podskakiwania niż przy 0,7–1 z rozdziału 7. Mimo to jest to częsty cel, bo zapas to także bezpieczna odległość od urwiska (na ile model może się mylić), a nie tylko obietnica co do przeregulowania. Gdy w pętli jest rura, to dobra wskazówka, a nie ścisłe prawo.
Dla naszego prysznica faza dochodzi do −180° przy rad/s, czyli przy okresie wahań około 13,8 s. Zwykła ręka () ma zapas wzmocnienia tylko około 1,4 i zapas fazy około 22° (tam, gdzie jej wzmocnienie pętli wynosi 1, przy 0,34 rad/s, faza wynosi −158°). Blisko krawędzi! Mocniejsza ręka podwaja wzmocnienie: 1,4 ÷ 2 = 0,7, za urwiskiem. Właśnie dlatego nigdy się nie uspokajała.
Najpierw zgadnij! Załóżmy, że rura byłaby dwa razy dłuższa (opóźnienie 5 s). Co stanie się z największym wzmocnieniem ręki, przy którym układ jest jeszcze stabilny?
Rozdział 12: Powrót pod prysznic ↗
Rozdział 12: Powrót pod prysznic ↗
Mika: Dwa razy dłuższa rura, mniej więcej o połowę słabsza ręka. A wahania na krawędzi też robią się wolniejsze: prawie 24 sekundy!
Theo: Dobra, odszczekuję. Opóźnienie nie tylko wszystko spowalnia: zjada zapas fazy, a zapas fazy to jedyne, co dzieli cię od oscylacji.
Twój prysznic z rozdziału 0, wyjaśniony
Oto twój własny przebieg z rozdziału 0. Jeśli twoje wahania były blisko krawędzi, ich okres powinien być bliski temu, co przewiduje pętla. Jest pewien haczyk: nie wszyscy ludzie są tym samym rodzajem regulatora.
Rozdział 12: Powrót pod prysznic ↗
Ręka prędkościowa (kręci kurkiem, dopóki woda jest nie taka) to regulator I: jej krawędź to wahania co 13,8 s. Ręka położeniowa („jest za gorąco, ustaw kurek tutaj”) działa jak regulator P: . Ręka położeniowa nie ma stosu, więc nie ma własnych 90°: sama rura i wygładzacz muszą dojść do 180°, a to dzieje się przy szybszym wahnięciu, rad/s (prędkość „do góry nogami” June). To daje wahania co 6,6 s, dla każdego powyżej około 0,031 kurka na °C. Większość ludzi to mieszanka. (Zwykła robotyczna ręka waha się nieco wolniej niż co 13,8 s, mniej więcej co 15,5 s, bo siedzi tuż przed krawędzią; wahania mocniejszej ręki, mniej więcej co 11,6 s, są spłaszczone przez kurek dochodzący do oporu.)
Rozdział 12: Powrót pod prysznic ↗
Mika: Czyli kiedy szarpałam kurek prosto w jedno miejsce, byłam ręką położeniową. Moje sześciosekundowe wahania to była rura i wygładzacz, a nie niezdarne palce.
Zaprojektuj automatyczny prysznic
Teraz pobijmy własne ręce. Robot używa PI: P reaguje na bieżący uchyb temperatury, a I pamięta nagromadzony uchyb. Dzięki temu kurek reaguje szybko, a I znajduje właściwe trwałe położenie.
June: Proste. Dam duże wzmocnienia, jak w dronie: szybko i żwawo. Już są ustawione. Patrzcie!
Rozdział 12: Powrót pod prysznic ↗
June: …huśta się, gorąco–zimno–gorąco, co 6 sekund, jak ręka położeniowa w rozdziale 0. Duże wzmocnienia przesunęły prędkość wzmocnienia 1 za prędkość −180°. Zero zapasu fazy.
Na papierze 10 s, pod prysznicem 6 s
Wzmocnienia June mają na sekundę, czyli dokładnie . Zero regulatora PI leży na biegunie wygładzacza i go skraca, zostawiając . Na papierze ta pętla dochodzi do −180° przy , czyli wahanie co 10 s. Ale jej pętla jest daleko za krawędzią, więc kurek łomocze od oporu do oporu, a te łomoczące wahania przychodzą mniej więcej co 6,3 s: blisko 6,6 s ręki położeniowej.
Theo: Dron znosił duże wzmocnienia, bo prawie nie miał opóźnienia. Tutaj odporny znaczy łagodny: zostaw zapas na opóźnienie. Spróbuj moich łagodnych wzmocnień, mniej więcej i .
P reaguje na teraz, I na stos. Dodanie odrobiny teraz rusza kurkiem odrobinę wcześniej, a to oddaje fazę: wyprzedzenie fazowe, około 37° przy dawnej prędkości −180° z wzmocnieniami Theo.
PI z dobrym zapasem osiąga komfort w około 9,4 sekundy, bez powtarzających się dużych wahań. To lepiej niż zwykła ręka (która przez większą część minuty się huśtała, zanim się uspokoiła) i niż większość ludzi. Fizyki jednak nie pobije: nic nie zareaguje na wodę, która jeszcze nie dopłynęła. Inżynierowie mają co prawda trik na długie opóźnienia, predyktor Smitha, który w środku regulatora uruchamia małą symulację rury. Ale to opowieść na inny zeszyt.
Prawdziwa lekcja to odporność. Twój model prysznica nigdy nie jest idealny: rura może być dłuższa, grzałka słabsza. Zapas mówi, jak bardzo model może się mylić, liczbą, którą da się poczuć. Zapas fazy (w radianach) podzielony przez prędkość wzmocnienia 1 to zapas opóźnienia: ile sekund dodatkowej rury pętla wytrzyma.
Rozdział 12: Powrót pod prysznic ↗
Theo: Zwykła ręka wytrzymuje tylko około 1,1 s dodatkowej rury. Mój łagodny robot wytrzymuje 3,5 s. To właśnie znaczy odporny.
Krótsza rura czy szybsza grzałka?
Mika: A nie możemy po prostu kupić szybszej grzałki?
Skrócenie o połowę czasu wygładzania (τ = 0,5 s) podnosi krawędź ręki prędkościowej tylko z 1,12 do 1,21 %/(°C·s). Skrócenie o połowę rury (1,25 s) podnosi ją do 2,06. Dla ręki położeniowej szybsza grzałka jest nawet gorsza: jej krawędź spada z 0,031 do 0,025 kurka na °C, bo wygładzacz po cichu zmniejszał szybkie wahania. Wrogiem jest opóźnienie, a nie ociężałość.
Jak robot naprawdę kręci kurkiem
W kodzie robota PI jest zapisane jako prędkość kurka: I porusza nim dalej, dopóki jest uchyb, a P reaguje na zmianę uchybu. Na początku P daje też pierwszy ruch zależny od bieżącego uchybu. Odpowiada to regule położenia, chyba że kurek dojdzie do ogranicznika.
Co teraz rozumiemy
Co udało nam się ustalić
- Opóźnienie przesuwa wahnięcie o : nic dla powolnych wahań, dużo dla szybkich.
- Stos (I) opóźnia każde wahnięcie o 90°; wygładzacz o najwyżej 90°; rura o , bez ograniczenia.
- Podawanie sinusoid i mierzenie wzmocnienia i fazy daje charakterystykę częstotliwościową; narysowana to charakterystyki Bodego, i to po prostu .
- W tej prostej pętli prysznica trwałe wahania zaczynają się, gdy faza pętli osiąga −180° przy wzmocnieniu 1; większe wzmocnienie powiększa wahania, aż zadziałają ograniczenia.
- Zapas wzmocnienia i zapas fazy mierzą odległość od tego urwiska. Dłuższe opóźnienie to mniejszy zapas, więc potrzeba łagodniejszego sterowania.
- Nasze wahania z rozdziału 0 to był regulator (my) ze zbyt małym zapasem.
Mamy już wszystkie narzędzia: sprzężenie zwrotne, PID, bieguny, zapasy. Czas na prawdziwy test: wiatr, zrzut paczki i zaszumiony czujnik. Czy utrzymasz drona na 2 m?