Moduł 03 · ślizgowe

SMC klasyczne

Powierzchnia ślizgowa, warunek osiągania, dowód Lapunowa, chattering jako konsekwencja sgn.

1. Trzy analogie — SMC w obrazach

Zanim wejdziemy w matematykę, trzy obrazy które pokazują o co chodzi.

analogia 1

Skater w rurze

Wyobraź sobie skater'a startującego z krawędzi półrury (half-pipe). Najpierw spada w kierunku dna rury — to faza reaching. Po dotarciu na dno jedzie po nim ku środkowi — to faza sliding. Dno rury to powierzchnia ślizgowa: zaprojektowana ścieżka, po której chcemy, żeby układ poruszał się stabilnie.

analogia 2

Termostat

Klasyczny termostat: gdy temperatura jest niższa od zadanej — grzeje pełną mocą. Gdy wyższa — wyłącza grzanie. Bang-bang, dwa stany. SMC robi identyczną rzecz, tylko w dowolnej wymiarowości: sgn(s)\mathrm{sgn}(s) daje +1 lub −1 zależnie od tego, po której stronie powierzchni s=0s = 0 jesteśmy. Jak termostat — szybkie przełączanie wokół zadanej wartości daje średnio efekt ciągły.

analogia 3

Hamulec mechaniczny

Hamulec elektryczny w pociągu daje siłę proporcjonalną do prędkości — im wolniej, tym słabiej. Nigdy nie zatrzymasz się dokładnie. Hamulec szczękowy (mechaniczny) hamuje tą samą siłą niezależnie od prędkości — i zatrzymuje cię w skończonym czasie. PID jest jak elektryczny hamulec, SMC — jak mechaniczny.

Wszystkie trzy mówią to samo. SMC: definiujemy zaprojektowaną „dolinę" w przestrzeni stanu (s=0s = 0 — analogia 1). Sterowanie zachowuje się jak przełącznik (analogia 2): pcha mocno w jedną stronę gdy s>0s > 0, w drugą gdy s<0s < 0. To daje stałą siłę napędzającą trajektorię do s=0s = 0 — stąd zbieżność w czasie skończonym (analogia 3).

2. Wyścig do zera — SMC vs PID

Najważniejsza różnica między SMC a PID widoczna jest w jednym wykresie: jak zbliżają się do celu w czasie. Najprostszy układ: s˙=u\dot s = u (jakaś zmienna ss, której chcemy zerową wartość). Dwa kontrolery:

  • SMC: u=ksgn(s)u = -k \cdot \mathrm{sgn}(s) — stała siła w stronę zera, niezależnie od odległości
  • PID/P: u=ksu = -k \cdot s — siła proporcjonalna do odległości (im bliżej zera, tym słabsza)

parametry wyścigu

s₀ (start)1.5
k_SMC (siła stała)1.0
k_P (siła proporcjonalna)2.0
wynik
SMC dotarło do 0t = 1.501 sPID na 1 % s₀t ≈ 2.30 sanalityczne T_SMC1.500 s
-0.30.190.681.161.6500.81.62.43.24SMC = 0SMC: u = −k·sgn(s)PID/P: u = −k·st [s]s (uchyb)-6-4.25-2.5-0.75100.81.62.43.24log |s| — SMClog |s| — PIDt [s]log₁₀ |s| (skala logarytmiczna)

Analogia hamulca:

  • PID jest jak hamulec elektryczny w pociągu — siła hamowania proporcjonalna do prędkości. Im wolniej jedziesz, tym mniej hamuje. Teoretycznie nigdy się nie zatrzymasz, tylko coraz wolniej. To jest właśnie asymptotyczna zbieżność: zmierzasz do celu, ale nigdy go nie osiągasz „dokładnie".
  • SMC jest jak hamulec mechaniczny — stała siła niezależnie od prędkości. Hamujesz tak samo mocno przy 100 km/h jak przy 5 km/h. Zatrzymasz się dokładnie i to w przewidywalnym czasie.

Dolny wykres (log |s|) pokazuje to formalnie. PID: s(t)=s0ekPt|s|(t) = |s_0|\,e^{-k_P t} — w skali log to prosta opadająca w nieskończoność. SMC: s(t)=max(0,s0kSMCt)|s|(t) = \max(0,\, |s_0| - k_{SMC}\,t) — w skali log krzywa się rozbiega w dół (logarytm zera = −∞), bo s dochodzi dokładnie do 0.

Kompromis: SMC „kupuje" dokładność i predicable time za cenę nieciągłości w sterowaniu (chattering). PID ma gładkie sterowanie, ale nigdy nie domyka błędu.

3. Powierzchnia ślizgowa — pomysł i geometria

Analogia. Powierzchnia ślizgowa s=0s = 0 to tor jazdy, który sami zaprojektowaliśmy w przestrzeni stanu. Chcemy, żeby trajektoria układu po nim jechała. SMC robi dwie rzeczy: (1) wpycha trajektorię na ten tor, (2) trzyma ją tam mimo zaburzeń.

Mamy układ drugiego rzędu — np. masa-sprężyna-tłumik z modułu 1. Stan to para (x,x˙)(x, \dot x). Wprowadźmy uchyb e=rxe = r - x (jak daleko jesteśmy od celu) i jego pochodną e˙\dot e.

Definiujemy powierzchnię ślizgową jako prostą formułę:

s=e˙+λe,λ>0.s = \dot e + \lambda\, e, \qquad \lambda > 0.

Co to znaczy geometrycznie: w przestrzeni (e,e˙)(e, \dot e) równanie s=0s = 0 wyznacza linię prostą przechodzącą przez początek układu z nachyleniem λ-\lambda. Czyli e˙=λe\dot e = -\lambda\,e.

Co to znaczy dynamicznie: gdy trajektoria jest na tej linii, dynamika błędu redukuje się do równania pierwszego rzędu e˙=λe\dot e = -\lambda\,e. Rozwiązaniem jest e(t)=e0eλte(t) = e_0 \cdot e^{-\lambda t} — eksponencjalny zanik z czasem charakterystycznym τ=1/λ\tau = 1/\lambda. Wymiar dynamiki został zredukowany z 2 do 1.

Co projektant wybiera

Tylko jeden parametr: λ\lambda. Większe — szybsza zbieżność na manifoldzie, ale wymagająca większej początkowej siły. Praktycznie λ[1,10]\lambda \in [1, 10] dla planta z dynamiką w skali sekund.

parametr powierzchni

λ2.00 1/s
dynamika na manifoldzie s = 0
τ = 1/λ0.500 st (e → 0.5)0.347 st (e → 0.05)1.500 s
Większe λ — szybsza zbieżność, ale wymaga większych η i u_eq (więcej energii sterowania). Praktyczny zakres λ ≈ 1–5 dla większości planta.
-0.10.190.480.761.0500.81.62.43.24τ = 1/λe (na s=0)envelope e₀·exp(−λt)t [s]e (błąd)

Powierzchnia ślizgowa to manifold w przestrzeni stanu, na którym chcemy znaleźć trajektorię. Definiujemy ją jako kombinację błędu i jego pochodnej:

s(e,e˙)=e˙+λe,e=rx.s(e, \dot e) = \dot e + \lambda\,e, \qquad e = r - x.

Jeśli pętla utrzyma s=0s = 0, to e˙=λe\dot e = -\lambda\,e, a stąd e(t)=e(0)eλte(t) = e(0) \cdot e^{-\lambda t} — eksponencjalna zbieżność do zera z czasem charakterystycznym τ=1/λ\tau = 1/\lambda. To dynamika pierwszego rzędu uzyskana z planta drugiego rzędu — wymiar został zredukowany.

Sterowanie ślizgowe to dwa zadania na raz: (1) doprowadzić trajektorię z dowolnego stanu początkowego do s=0s = 0 w czasie skończonym; (2) utrzymać s=0s = 0 mimo zaburzeń. Pierwsze zadanie nazywa się reaching phase, drugie sliding phase.

Spróbuj: λ = 0.5 daje wolną zbieżność (τ = 2 s). λ = 5 daje τ = 0.2 s — dziesięciokrotnie szybciej. Cena: większe KK i większy peak uu w fazie reaching.

4. Warunek osiągania — dlaczego trafiamy w manifold

Analogia. Wyobraź sobie magnes wbudowany w powierzchnię s=0s = 0. Z każdej strony przyciąga z tą samą siłą — niezależnie od odległości. Jakkolwiek ułożysz układ, on go „złapie" i przyciągnie. To jest warunek osiągania.

Najprostsza wersja

Chcemy, żeby s|s| malało z gwarantowaną prędkością. Nie wolniej niż jakaś stała η\eta:

s˙sgn(s)η,η>0.\dot s \cdot \mathrm{sgn}(s) \le -\eta, \qquad \eta > 0.

Co to znaczy w trzech zdaniach: (1) Gdy s>0s > 0, chcemy s˙η\dot s \le -\eta (s maleje). (2) Gdy s<0s < 0, chcemy s˙η\dot s \ge \eta (s rośnie ku zeru). (3) W obu przypadkach s|s| maleje co najmniej o η\eta na sekundę. Więc czas dotarcia do zera jest ograniczony:

treachs0η.t_{reach} \le \frac{|s_0|}{\eta}.

To jest cała magia SMC w jednej linijce. Reaching condition + nierówność = górne ograniczenie czasu dotarcia, niezależne od kształtu zaburzenia.

Jak to skonstruować — sterowanie

Mając plant mx¨+cx˙+kx=u+dm\ddot x + c\dot x + kx = u + d z ograniczonym zaburzeniem dD|d| \le D, projektujemy:

u=(cλm)x˙+kxueq  +  ηsgn(s)urobu = \underbrace{(c - \lambda m)\,\dot x + k\,x}_{u_{eq}} \;+\; \underbrace{\eta\,\mathrm{sgn}(s)}_{u_{rob}}

Pierwsza część (uequ_{eq}) — nominalna kompensacja: gdyby zaburzenia nie było, ta wartość uu trzymałaby trajektorię na manifoldzie. Druga część (urobu_{rob}) — pchacz: stała siła η\eta w stronę manifoldu, jak magnes z analogii.

Pełny dowód Lapunowa

Definiujemy „energię" błędu: V=12s2V = \frac{1}{2} s^2. Liczymy jak się zmienia w czasie:

V˙=ss˙=sm(ηsgn(s)+d).\dot V = s\,\dot s = -\frac{s}{m}\big(\eta\,\mathrm{sgn}(s) + d\big).

Stosujemy nierówność dsdsDsd \cdot s \ge -|d|\,|s| \ge -D|s|:

V˙ηDms.\dot V \le -\frac{\eta - D}{m}\,|s|.

Dla η>D\eta > D, prawa strona jest ujemna gdy s0s \neq 0. Czyli energia maleje z gwarantowaną szybkością. Ze wstępu o lemacie porównawczym dochodzimy do:

treachms0ηD.t_{reach} \le \frac{m\,|s_0|}{\eta - D}.

Wniosek: kontroler dotrze do manifoldu w najdłuższym przypadku w ms0/(ηD)m|s_0|/(\eta - D) sekund. Nie 7 sekund, nie 10 — dokładnie ta liczba lub mniej. To jest jakościowo różne od PID, gdzie zbieżność jest tylko w granicy tt \to \infty.

wzorzec liczbowy

SMC 1. rzędu z zaburzeniem — dokładny czas osiągania

scenariusz
Plant: x˙=u+d\dot x = u + d ze stałym zaburzeniem d=0.5d = 0{.}5. Referencja r=0r = 0, stan początkowy x0=1x_0 = -1. Powierzchnia ślizgowa: s=xs = -x (bo e=rxe = r - x). Sterowanie: u=Ksgn(s)u = K \cdot \mathrm{sgn}(s) z K=2K = 2 (wymóg K>dK > |d| dla robustności). Euler Δt=0.1\Delta t = 0{.}1.

Predykcja teoretyczna: s˙=Ksgn(s)d\dot s = -K\,\mathrm{sgn}(s) - d. Dla s0=1>0s_0 = 1 > 0 mamy s˙=Kd=2.5\dot s = -K - d = -2{.}5, więc ss liniowo maleje z prędkością 2.5. Czas osiągania: t=s0/2.5=0.4t^* = |s_0|/2{.}5 = 0{.}4 s (4 kroki).

ktxs = −xsgn(s)uẋ = u + d
00.0−1.00001.0000+1+2.0+2.5
10.1−0.75000.7500+1+2.0+2.5
20.2−0.50000.5000+1+2.0+2.5
30.3−0.25000.2500+1+2.0+2.5
40.40.00000.0000reaching: s = 0
50.5+0.2500−0.2500−1−2.0−1.5
60.6+0.1000−0.1000−1−2.0−1.5

Od k=5k = 5 zaczyna się chattering — przy idealnej dyskretyzacji Δt=0\Delta t = 0 trajektoria zostałaby na s=0s = 0. W praktyce Δt>0\Delta t > 0 powoduje przelot przez 0 i oscylacje wokół manifoldu. Ekwiwalentne sterowanie utrzymujące s=0s = 0 to ueq=d=0.5u_{eq} = -d = -0{.}5 — moduł 4 (super-twisting, boundary layer) pokazuje jak to wygładzić.

Wszystkie liczby wyliczone ręcznie i zaokrąglone do 4 miejsc. Wpisz te wartości startowe do swojego kodu — jeśli kolejne kroki masz inne, masz błąd w implementacji.

5. Sterowanie równoważne — co dzieje się na manifoldzie

Analogia. Wyobraź sobie skater'a na samym dnie półrury (z analogii §1). Cały czas musi delikatnie korygować postawę, żeby się utrzymać dokładnie na dnie — ani się nie wspinać, ani nie tracić równowagi. Te małe korekty to właśnie sterowanie równoważne.

Gdy układ jest dokładnie na manifoldzie (s=0s = 0), to s˙=0\dot s = 0 również — bo ss ma się tam utrzymać, nie tylko być. Z warunku s˙=0\dot s = 0 wyznaczamy, jakie uu utrzymuje to równanie:

s˙=x¨λx˙=ueqcx˙kxmλx˙=0    ueq=(cλm)x˙+kx.\dot s = -\ddot x - \lambda\dot x = -\frac{u_{eq} - c\dot x - kx}{m} - \lambda\dot x = 0 \;\Rightarrow\; u_{eq} = (c - \lambda m)\dot x + kx.

To jest źródło pierwszego członu sterowania z §4 — nie ad-hoc, tylko wprost z warunku pozostawania na manifoldzie.

Nieciągłość w teorii — twierdzenie Filippova

W formule u=ueq+ηsgn(s)u = u_{eq} + \eta\,\mathrm{sgn}(s) jest nieciągłość: sgn(s)\mathrm{sgn}(s) nie jest gładką funkcją w punkcie s=0s = 0. Z punktu widzenia teorii równań różniczkowych pojawia się problem: co jest w ogóle rozwiązaniem takiego równania?

Filippov (1960) podał definicję: w punkcie nieciągłości bierzemy powłokę wypukłą wszystkich pochodnych z otoczenia. Trajektoria musi spełniać x˙F(x)\dot x \in F(x), gdzie FF to ten zbiór. Praktycznie: gdy trajektoria jest na s=0s = 0, wybieramy z dopuszczalnych pochodnych tę, która utrzymuje s=0s = 0. Tę pochodną daje właśnie sterowanie uequ_{eq}.

W praktyce inżynierskiej można nie wnikać. Ważne jest to: średnia filippovska wartość ηsgn(s)\eta\,\mathrm{sgn}(s) w fazie sliding to dokładnie d(t)-d(t) — czyli kompensuje zaburzenie. Stąd niewrażliwość na matched zaburzenia.

6. Matched vs unmatched — co SMC potrafi, czego nie

Analogia. Pchasz wózek, który ktoś dodatkowo ciągnie/popycha za to samo dyszło. Matched zaburzenie — twoja siła wystarczy, żeby je zneutralizować. Ale jeśli ktoś popycha wózek z boku (innej osi niż twoja siła), to nie umiesz tego skompensować bez ruszenia rąk po innym torze. To unmatched.

Definicja

Plant z zaburzeniem:

x˙=f(x)+g(x)u+p(x,t).\dot x = f(x) + g(x)\,u + p(x, t).

Mówimy, że zaburzenie pp jest matched, jeśli istnieje skalarne δ\delta:

p(x,t)=g(x)δ(x,t).p(x, t) = g(x)\,\delta(x, t).

Co znaczy: zaburzenie wchodzi do układu tym samym kanałem co sterowanie. Można je traktować jako efektywne zaburzenie sterowania u=u+δu' = u + \delta.

Dlaczego SMC kompensuje matched

Dla planta MSD ze wstrzyknięciem dd matched:

s˙=1m(ηsgn(s)+d).\dot s = -\frac{1}{m}\big(\eta\,\mathrm{sgn}(s) + d\big).

Pod warunkiem η>d\eta > |d|, suma pod sgn ma znak sgn(s)-\mathrm{sgn}(s) — czyli zawsze pcha do manifoldu. Po wejściu w sliding, średnia filippovska wartość przełącznika sgn jest dokładnie d/η-d/\eta, więc ηsgn(s)d\eta\,\mathrm{sgn}(s) \approx -d. Człon przełączający kompensuje zaburzenie aktywnie.

Unmatched — przykład gdy SMC zawodzi

Plant ze zaburzeniem unmatched d1d_1:

x˙1=x2+d1(t),x˙2=u.\dot x_1 = x_2 + d_1(t), \qquad \dot x_2 = u.

d1d_1 wchodzi w równaniu pierwszej pochodnej, gdzie sterowania nie ma. SMC tego nie skompensuje — sgn(s) trafia tylko do x˙2\dot x_2, nie do x˙1\dot x_1. Trzeba rozszerzyć (integral SMC, hierarchical SMC) albo użyć innej techniki (H∞).

W życiu codziennym

  • Manipulator robotyczny — niemodelowane tarcie wału, błąd masy, zewnętrzny moment od siły kontaktowej: wszystko matched. SMC działa doskonale.
  • Dron pod wiatrem — wiatr działa na kadłub poziomo, napęd śmigieł działa pionowo. Wiatr jest unmatched względem napędu pionowego. SMC tu nie pomoże bezpośrednio.
  • Auto na zimnej drodze — utrata trakcji to zaburzenie matched z momentem napędowym (oba działają przez koło). SMC w ABS-ie i ESP wykorzystuje tę strukturę.

7. Mapa trajektorii — phase portrait

Analogia. Wyobraź sobie mapę pogody w 2D — ale zamiast wiatru pokazuje, w jakim kierunku ruszy się trajektoria układu z każdego punktu. Powierzchnia ślizgowa to linia kolejowa przechodząca przez tę mapę. Ze wszystkich kierunków „wiatr" wieje na tę linię. Twoja trajektoria dryfuje w jej stronę, dochodzi i jedzie po niej do origin.

Phase portrait to wykres trajektorii w 2D przestrzeni (e,e˙)(e, \dot e). Najsilniejsza wizualizacja SMC, bo pokazuje na raz: powierzchnię (zielona linia), wektor pole (strzałki — czerwone gdy s>0s > 0, niebieskie gdy s<0s < 0), trajektorię (niebieska linia). Faza reaching to ruch z dowolnego punktu w stronę zielonej linii. Faza sliding to ruch po niej do origin.

parametry SMC

λ (nachylenie s)2.00
η (sgn gain)8.0

warunki początkowe

e(0)1.00
ė(0)3.0
-1-0.500.51-4-2024s = 0e (uchyb)ė
startkoniec / aktualny stanpowierzchnia s = 0
-2-0.512.54012345e (uchyb)s (zmienna ślizgowa)t [s]e, s

Co tu widać.Trajektoria startuje z punktu (e₀, ė₀) (pomarańczowa kropka), płynie w kierunku przeciwnym do wektorów pola (w prawej półpłaszczyźnie s > 0 — czerwone strzałki — w lewej s < 0 — niebieskie). Po dotarciu do prostej s=0s = 0 (zielona) ślizga się po niej do origin. Im większe λ, tym bardziej stroma prosta — szybsza zbieżność po osiągnięciu manifoldu, ale dłuższa faza reaching.

s˙=1m ⁣( ⁣ηsgn(s)d ⁣),V=12s2    V˙ηDms.\dot s = \frac{1}{m}\!\Big(\!-\eta\,\mathrm{sgn}(s) - d\!\Big), \qquad V = \tfrac12 s^2 \;\Rightarrow\; \dot V \le -\frac{\eta - D}{m}\,|s|.

Kandydat Lapunowa V=s2/2V = s^2/2 jest niedodatnio monotoniczny pod warunkiem η>D\eta > D, gdzie D=suptd(t)D = \sup_t |d(t)|. Czas dotarcia do s=0s = 0 ograniczony jest przez treachms0/(ηD)t_{reach} \le m\,|s_0|/(\eta - D)skończony, nie asymptotyczny. To jest jakościowa różnica względem PID, gdzie zbieżność jest tylko asymptotyczna.

Spróbuj: zwiększ η do 25 — faza reaching skraca się dramatycznie. Zmniejsz η do 2 — przy zaburzeniu D = 1 (które plant nominalnie ma) trajektoria może w ogóle nie dotrzeć do manifoldu, lub dryfować poza nim.

8. Większe układy — MIMO i wyższe wymiary

Analogia. Dla 2D mieliśmy linię (manifold 1D) w przestrzeni 2D. Dla cart-pole'a (4D stan, 1 wejście) mamy hiperpłaszczyznę 3D w 4D — trudniejsze do narysowania, ale ten sam pomysł. Dla manipulatora 6 DOF z 6 wejściami — 6 osobnych powierzchni, jedna na każdy przegub.

Reguła ogólna: dla planta n-D z m wejściami, projektujemy m powierzchni ślizgowych. Manifold S\mathcal{S} jest (nm)(n-m)-wymiarowy. Na nim dynamika redukuje się z n do (nm)(n-m).

Cart-pole — 4D stan, 1 wejście

Stan: [x,x˙,θ,θ˙][x, \dot x, \theta, \dot\theta]. Wejście: siła na wózek. Wybór powierzchni:

s=c1x+c2x˙+c3θ+c4θ˙.s = c_1 x + c_2 \dot x + c_3 \theta + c_4 \dot\theta.

Wagi cic_i projektuje się tak, żeby na s=0s = 0 dynamika redukowana (3D) była stabilna. Standardowo: rozwiązuje się redukowane DARE.

Manipulator 6 DOF

6 osobnych powierzchni si=e˙i+λieis_i = \dot e_i + \lambda_i e_i, po jednej dla każdego przegubu. Mogą być sprzężone (w niektórych konstrukcjach sis_i zawiera pochodne sąsiednich przegubów). Klasyczne podejście: dekoupling przez transformację do postaci kanonicznej.

Pełny formalizm: Edwards & Spurgeon rozdz. 4–5. Praktyka robotyczna: Slotine & Li „Applied Nonlinear Control" rozdz. 7.

9. Chattering — cena nieciągłości

Analogia. Wyobraź sobie kierowcę autobusu, który w fazie sliding ciągle wciska gaz i hamulec na przemian, kilkanaście razy na sekundę, żeby utrzymać precyzyjnie tempo. Średnio jadą zgodnie z planem, ale pasażerowie czują wszystkie szarpnięcia, zużywają się klocki hamulcowe i tłoki silnika. To chattering w SMC — uboczny efekt nieciągłości sgn(s)\mathrm{sgn}(s).

Trzy źródła

  1. Próbkowanie cyfrowe. Kontroler aktualizuje się co TsT_s (1–10 ms). Nie może przełączyć dokładnie w momencie, gdy ss przechodzi przez zero — przegapia o ułamek dt. Skutek: trajektoria oscyluje w paśmie sηTs/m|s| \sim \eta T_s/m.
  2. Pasmo aktuatora. Silnik, zawór, hydraulika nie zmienią siły z +η+\eta na η-\eta natychmiast — mają skończone pasmo. Ten sam efekt co próbkowanie.
  3. Szum pomiarowy. s=e˙+λes = \dot e + \lambda e liczone z pomiarów; każdy szumowy przeskok przez zero powoduje przełączenie.

Konsekwencje praktyczne

  • Mechaniczne: zużycie zaworów, wibracje łożysk, słyszalny gwizd silnika.
  • Termiczne: szybkie przełączenia silnika generują straty I²R (podgrzewanie uzwojeń).
  • Elektryczne: wysokie częstotliwości przełączania powodują EMI.

Moduł 4 pokazuje 3 sposoby na to: boundary layer (saturacja zamiast sgn), super-twisting (drugiego rzędu SMC z gładkim u), terminal SMC.

widok:
0.960.9811.021.041.51.61.71.81.92r = 1T_s = 1 ms (≈ ciągły)T_s = 10 msT_s = 50 msT_s = 100 mst [s]x (pozycja)-12-606121.51.61.71.81.92u — T_s = 1 ms (≈ ciągły)u — T_s = 10 msu — T_s = 50 msu — T_s = 100 mst [s]u (sterowanie)-0.5-0.2500.250.51.51.61.71.81.92s — T_s = 1 ms (≈ ciągły)s — T_s = 10 mss — T_s = 50 mss — T_s = 100 mst [s]s (zmienna ślizgowa)

Chattering to nieuchronna konsekwencja sgn(s)\mathrm{sgn}(s): w idealnej teorii ciągłej, gdy ss ślizga się po manifoldzie, sterowanie przełącza się nieskończenie szybko z +η+\eta na η-\eta, żeby utrzymać s=0s = 0. W rzeczywistości:

  • kontroler jest cyfrowy — przełącza się tylko co TsT_s (okres próbkowania)
  • aktuator ma skończone pasmo — nie może natychmiast zmienić siły z +8+8 na 8-8 N
  • pomiar ma opóźnienie i szum

Konsekwencja: ss oscyluje w pasie wokół zera o szerokości proporcjonalnej do TsT_s. Sterowanie u(t)u(t) przełącza się prostokątnie z amplitudą 2η2\eta — z punktu widzenia silnika to katastrofalna jakość mocowania, dla zaworu — szybkie zużycie. Zoom-in pokazuje wprost: dla Ts=100T_s = 100 ms widać wyraźne oscylacje pozycji rzędu kilku procent referencji.

ΔschatterηmTs,ΔxchatterηmλTs.\Delta s_{chatter} \sim \frac{\eta}{m}\,T_s, \qquad \Delta x_{chatter} \sim \frac{\eta}{m\,\lambda}\,T_s.

Skala chatteringu jest liniowa w TsT_s i w η\eta. Stąd dwa typowe ataki na problem: szybsze próbkowanie (drogie sprzętowo), albo zmiana algorytmu (boundary layer, super-twisting — następny moduł).

10. Kiedy SMC ma sens

Wybierz SMC, gdy spełnione wszystkie warunki:

  1. Plant ma matched uncertainty. Tarcie, niedokładność masy, niemodelowane momenty — typowo spełnia.
  2. Znamy ograniczenie zaburzenia dD|d| \le D. Bez tego nie wybierzemy η\eta. Dla nieznanego — adaptive SMC (moduł 4).
  3. Aktuator i kontroler są szybkie.Próbkowanie kontrolera > 100× szybsze niż dynamika planta. Wolny aktuator = chattering nie do zniesienia.
  4. Akceptujesz chattering lub używasz wariantu go eliminującego.
  5. Wymóg zbieżności w czasie skończonym. Dla regulacji bez deadline — PID wystarczy.

Wybierz coś innego, gdy:

  • Plant liniowy bez zaburzeń — LQR/MPC są optymalne, SMC daje mniej.
  • Aktuator wolny (silnik z dużą inercją, hydraulika) — chattering byłby drastyczny.
  • Niepewność unmatched — klasyczne SMC nie pomoże.
  • Plant silnie zmienny w czasie — SMC ze stałymi parametrami zawodzi; lepiej Adaptive Control albo RL.

Lektury kanoniczne

  • Utkin, „Sliding Modes in Control and Optimization" (1992) — kanon teorii sterowania ślizgowego z ZSRR.
  • Edwards & Spurgeon, „Sliding Mode Control: Theory and Applications" (1998) — najbardziej dostępny kurs inżynierski z naciskiem na MIMO i observers.
  • Slotine & Li, „Applied Nonlinear Control" (1991) rozdz. 7 — najlepsze pedagogicznie omówienie w kontekście robotyki.
  • Shtessel, Edwards, Fridman, Levant „Sliding Mode Control and Observation" (2014) — nowoczesny przegląd z wariantami HOSM, super-twisting, observers.