Moduł 04 · ślizgowe

SMC z wygładzaniem

Boundary layer (sat), super-twisting, terminal SMC — kompromis chattering ↔ precyzja, porównanie 4 wariantów.

Mapa kompromisów

Wszystkie modyfikacje SMC, które tu rozważamy, można sklasyfikować wg dwóch wymiarów:

wariantprecyzja w slidingchattering w uzłożoność
klasyczny SMCidealna (s ≡ 0)bardzo dużynajprostszy
boundary layerograniczona ~Φ/λbrak (wewnątrz pasma)jedna linia kodu
super-twistingidealna asymptotyczniebardzo mały (sgn w v̇)+ jeden integrator
terminalidealna w czasie skończonymśredni (sgn w u)krzywa powierzchnia + singularity

1. Boundary layer — sat zamiast sgn

Najprostsza modyfikacja: w sąsiedztwie powierzchni s=0s = 0 zamień sgn(s)\mathrm{sgn}(s) na liniową funkcję s/Φs/\Phi. Poza pasmem zachowanie identyczne jak klasyczny SMC; wewnątrz — sterowanie ciągłe i proporcjonalne do ss, więc bez przełączania.

sat(s/Φ)={sgn(s),sΦs/Φ,s<Φ\mathrm{sat}(s/\Phi) = \begin{cases} \mathrm{sgn}(s), & |s| \ge \Phi \\ s/\Phi, & |s| < \Phi \end{cases}

Cena: trajektoria nie wraca już do s=0s = 0 dokładnie, tylko zatrzymuje się w pasie szerokości Φ\Phi. Odpowiada to błędowi essΦ/λ|e_{ss}| \sim \Phi/\lambda (na manifoldzie ė = -λe, więc gdy s utrzymuje się w paśmie, e oscyluje w pasie proporcjonalnym).

-0.20.150.50.851.200.81.62.43.24Φ = 0 (sgn)Φ = 0.05Φ = 0.20Φ = 0.60t [s]e (uchyb)-12-606122.52.83.13.43.74u — Φ = 0 (sgn)u — Φ = 0.05u — Φ = 0.20u — Φ = 0.60t [s] (zoom — ostatnie 1.5 s)u
Φ = 0 (sgn)
|e_ss|0.0000σ(u)6.00
Φ = 0.05
|e_ss|0.0000σ(u)0.34
Φ = 0.20
|e_ss|0.0000σ(u)0.34
Φ = 0.60
|e_ss|0.0000σ(u)0.30

Boundary layer zastępuje sgn(s)\mathrm{sgn}(s) funkcją saturacji wewnątrz pasa s<Φ|s| < \Phi:

sat(s/Φ)={sgn(s)sΦs/Φs<Φ\mathrm{sat}(s/\Phi) = \begin{cases} \mathrm{sgn}(s) & |s| \ge \Phi \\ s/\Phi & |s| < \Phi \end{cases}

Wewnątrz pasma sterowanie jest liniową funkcją ss — bez przełączania, bez chatteringu. Ale układ nie wraca już do s=0s = 0 dokładnie; zatrzymuje się w pasie s<Φ|s| < \Phi, co oznacza błąd ustalony essΦ/λ|e_{ss}| \approx \Phi/\lambda. Tabelka powyżej pokazuje wprost: dla Φ=0\Phi = 0 chattering jest gigantyczny ( σ(u) duże), a błąd zerowy. Dla Φ=0.6\Phi = 0.6 sterowanie gładkie (σ(u) małe), ale ess0.2|e_{ss}| \sim 0.2.

To kompromis bez wyjścia — większa precyzja wymaga ostrzejszego przełączania. Boundary layer jest najprostszą i najczęstszą poprawką w przemyśle, ale gdy potrzebna i precyzja, i gładkie u — trzeba zmienić algorytm (super-twisting, terminal).

2. Twierdzenie Filippova — co to znaczy „rozwiązanie ślizgowe"

Klasyczne SMC ma w sterowaniu funkcję sgn(s)\mathrm{sgn}(s), która jest nieciągła w s=0s = 0. Z punktu widzenia teorii równań różniczkowych pojawia się problem: dla nieciągłej prawej strony klasyczna definicja rozwiązania (ciągłej różniczkowalnej trajektorii) nie ma sensu. Co zatem w ogóle jest rozwiązaniem, gdy układ ślizga się po powierzchni s=0s = 0?

Twierdzenie Filippova (1960) podaje konstruktywną odpowiedź. W każdym punkcie nieciągłości definiujemy powłokę wypukłą wszystkich możliwych pochodnych z otoczenia tego punktu. Trajektoria filippovska to absolutnie ciągła funkcja spełniająca różniczkowe inkluzje:

x˙(t)F(x(t)),F(x)=conv ⁣{limxx,xRf(x)}.\dot x(t) \in F(x(t)), \qquad F(x) = \mathrm{conv}\!\left\{\lim_{x'\to x, x'\in\mathcal{R}} f(x')\right\}.

W praktyce dla SMC: gdy trajektoria osiąga s=0s = 0, filippovskie rozwiązanie to to, w którym s˙=0\dot s = 0 średnio (bo sgn przełącza się nieskończenie szybko). Z tego warunku wynika tzw. sterowanie równoważne uequ_{eq} — jest to jedyna gładka wartość uu, która utrzymuje s0s \equiv 0.

Dla naszego planta i powierzchni s=e˙+λes = \dot e + \lambda e z modułu 3:

ueq=(cλm)x˙+kx.u_{eq} = (c - \lambda m)\dot x + k x.

To jest matematyczne uzasadnienie, dlaczego uequ_{eq} w naszym sterowniku ma taką a nie inną postać. Pełny sterownik to ueq+ηsgn(s)u_{eq} + \eta\,\mathrm{sgn}(s): część równoważna utrzymuje system na manifoldzie, część robust pcha go na manifold.

Pomijam tu formalne dowody (wymagałyby teorii miary Lebesgue'a). Praktycznie ważne jest tylko: 1) filippovskie rozwiązania istnieją dla SMC i są jednoznaczne pod naturalnymi założeniami; 2) wzór na uequ_{eq} wynika z warunku s˙=0\dot s = 0, nie z hand-wavingu. Dalsze szczegóły: Utkin „Sliding Modes in Control and Optimization" rozdz. 2, lub Edwards & Spurgeon „Sliding Mode Control" rozdz. 1.4.

3. Super-twisting — drugiego rzędu SMC

Algorytm Levanta z 1993 r. — zastępuje klasyczne ηsgn(s)\eta\,\mathrm{sgn}(s) w sterowaniu kombinacją dwóch składowych:

u=ueqk1ssgn(s)+v,v˙=k2sgn(s).u = u_{eq} - k_1 \sqrt{|s|}\,\mathrm{sgn}(s) + v, \qquad \dot v = -k_2\,\mathrm{sgn}(s).

Kluczowe: sgn(s)\mathrm{sgn}(s) występuje tylko w pochodnej vv, nie w uu bezpośrednio. Całka funkcji znaku jest funkcją trójkątną — ciągłą. Więc u(t)u(t) jest ciągłe (Lipschitz), mimo że algorytm wewnętrznie wykorzystuje informację o znaku ss. To paradoksalna własność „drugiego rzędu" SMC: zarówno ss jak i s˙\dot s dążą do zera w czasie skończonym.

Dowód zbieżności jest niełatwy — klasycznie używa się funkcji Lapunowa nieciągłej (Polyakov, Moreno) lub niegładkiej (homogeneity-based, Bernuau). Pomijam pełne wyprowadzenie; warunek wystarczający stabilności pod ograniczonym zaburzeniem dD|d| \le D to:

k2>D,k1>2(k2+D).k_2 > D, \qquad k_1 > \sqrt{2(k_2 + D)}.

W praktyce k11.5Dk_1 \approx 1.5\sqrt{D}, k21.1Dk_2 \approx 1.1 D dla małych DD, lub większe wartości dla większego marginesu.

parametry super-twisting

k₁ (∝ √|s|·sgn(s))4.0
k₂ (integrator)8.0
Plant: MSD z modułu 1, zaburzenie d(t) = 0.5·sin(8t), kontroler dyskretny T_s = 5 ms. Dolny wykres pokazuje fazę sliding (zoom). Klasyczny SMC gwałtownie przełącza się o amplitudę 2η; ST integruje sgn, więc u staje się gładkie kosztem dłuższej fazy reaching.
-0.20.150.50.851.200.81.62.43.24SMC klasyczne (η=6, sgn)Super-twistingt [s]e (uchyb)-12-606122.52.83.13.43.74u — SMC klasyczne (η=6, sgn)u — Super-twistingt [s] (zoom — sliding phase)u

Super-twisting algorithm (Levant 1993) — drugiego rzędu sliding mode. Definicja:

u=ueqk1ssgn(s)+v,v˙=k2sgn(s).u = u_{eq} - k_1 \sqrt{|s|}\,\mathrm{sgn}(s) + v, \qquad \dot v = -k_2\,\mathrm{sgn}(s).

Kluczowa różnica względem klasycznego SMC: sgn(s)\mathrm{sgn}(s) występuje teraz tylko wewnątrz integratora vv, a nie bezpośrednio w uu. Sygnał sterowania u(t)u(t) jest ciągły — bo całkowanie sgn daje funkcję trójkątną, nie skokową. Mimo to w czasie skończonym s0s \to 0 i s˙0\dot s \to 0 (drugiego rzędu — stąd nazwa).

Warunek stabilności: dla zaburzeń ograniczonych dD|d| \le D wystarczy k1,k2>c1Dk_1, k_2 > c_1\,D dla pewnych stałych zależnych od struktury planta. W praktyce dobiera się k11.5Dk_1 \approx 1.5\sqrt{D}, k21.1Dk_2 \approx 1.1\,D jako punkt startowy.

Cena ST względem klasycznego SMC: dłuższa faza reaching (algorytm pierwiastkowy zamiast liniowego). Dla zastosowań, gdzie zaburzenie zmienia się powoli, ST jest niemal zawsze lepszym wyborem; dla bardzo szybkich zaburzeń klasyczny SMC z boundary layer może być prostszy.

4. Terminal SMC — zbieżność w czasie skończonym

Linear sliding daje zbieżność asymptotyczną na manifoldzie: e˙=λee(t)eλt\dot e = -\lambda e \Rightarrow e(t) \propto e^{-\lambda t}. Nigdy ostro do 0. Terminal sliding zmienia powierzchnię na krzywą:

s=e˙+λeαsgn(e),0<α<1.s = \dot e + \lambda\,|e|^\alpha\mathrm{sgn}(e), \qquad 0 < \alpha < 1.

Na s=0s = 0: e˙=λeαsgn(e)\dot e = -\lambda |e|^\alpha\mathrm{sgn}(e). Rozwiązanie tego ODE schodzi do zera w czasie:

tc=e01αλ(1α).t_c = \frac{|e_0|^{1-\alpha}}{\lambda(1-\alpha)}.

Wykładnik α<1\alpha < 1 daje przyspieszenie zbieżności w okolicy zera (im mniejsze e|e|, tym większa względna pochodna). Cena: s˙\dot s zawiera czynnik eα1|e|^{\alpha-1} rozbieżny przy e0e \to 0, co prowadzi do singularity w uequ_{eq}. W praktyce stosuje się Nonsingular Terminal SMC (Feng, Yu, Man 2002), gdzie struktura powierzchni jest tak dobrana, że singularity nie pojawia się. W naszej implementacji regularyzujemy eϵ=102|e| \ge \epsilon = 10^{-2} dla numerycznej stabilności.

terminal SMC

α (wykładnik)0.60
Linear SMC zbiega do e=0 asymptotycznie: e(t) ∝ exp(−λt), nigdy ostro do 0. Terminal SMC z α < 1 zbiega w czasie skończonym: t_conv = |e₀|^(1−α) / (λ(1−α)). Dla α = 0.6, λ = 3: t_conv ≈ 0.83 s od start.
-0.10.190.480.761.05012345linear sliding (s = ė + λe)terminal (s = ė + λ|e|^0.6·sgn(e))t [s]e (uchyb)-6-4.37-2.75-1.120.5012345log|e| — linear sliding (s = ė + λe)log|e| — terminal (s = ė + λ|e|^0.6·sgn(e))t [s]log₁₀ |e|

Terminal sliding mode używa krzywej powierzchni:

s=e˙+λeαsgn(e),0<α<1.s = \dot e + \lambda\,|e|^\alpha\,\mathrm{sgn}(e), \qquad 0 < \alpha < 1.

Na s=0s = 0: e˙=λeαsgn(e)\dot e = -\lambda\,|e|^\alpha\mathrm{sgn}(e). Rozwiązanie tego ODE w czasie:

e(t)1α=e01αλ(1α)t    e0  w czasie  tc=e01αλ(1α).|e(t)|^{1-\alpha} = |e_0|^{1-\alpha} - \lambda(1-\alpha)\,t \;\Rightarrow\; e \to 0 \;\text{w czasie}\; t_c = \frac{|e_0|^{1-\alpha}}{\lambda(1-\alpha)}.

Wykładnik α<1\alpha < 1 daje przyspieszenie zbieżności w okolicy zera — pochodna rośnie, gdy e|e| spada (paradoksalnie). Dla α1\alpha \to 1 odzyskujemy dynamikę liniową (asymptotyczna). Dla α0\alpha \to 0 dostajemy bang-bang na samym e — chattering powraca.

Singularity i NTSMC. Pochodna s˙\dot s zawiera czynnik αλeα1\alpha\lambda|e|^{\alpha-1}, który dla α<1\alpha < 1 rozbiega się przy e0e \to 0. To prowadzi do singularity w kontrolerze. Tutaj regularyzujemy eϵ=102|e| \ge \epsilon = 10^{-2} dla numerycznej stabilności; formalnie poprawne rozwiązanie to Nonsingular Terminal SMC (NTSMC) — używa s=e+λe˙βsgn(e˙)s = e + \lambda\,|\dot e|^\beta\mathrm{sgn}(\dot e), gdzie β>1\beta > 1. Pomijamy szczegóły — pełna implementacja w literaturze (Feng, Yu, Man 2002).

Wykres dolny (log|e|) pokazuje wprost różnicę: linear sliding to linia prosta na log scale (wykładniczy zanik), terminal sliding gwałtownie schodzi w dół po fazie reaching, sięgając floor numeryczny (~10⁻⁵ przez quantization plant) szybciej.

5. Porównanie 4 wariantów

Cztery sterowniki, ten sam plant (MSD z modułu 1), to samo zaburzenie d(t)=0.5sin(8t)d(t) = 0.5\sin(8t), ten sam scenariusz (skok r=1r = 1 w t=0t = 0, T = 4 s, dyskretny kontroler 5 ms). Tabelka pokazuje liczbowo, kto co kupuje za co.

-0.10.20.50.81.100.81.62.43.24klasyczny SMC (sgn)boundary layer (Φ=0.1)super-twistingterminal (α=0.6)t [s]e (uchyb)-12-606122.83.043.283.523.764u — klasyczny SMC (sgn)u — boundary layer (Φ=0.1)u — super-twistingu — terminal (α=0.6)t [s] (zoom — sliding phase)u
wariant⟨|e|⟩ w slidingσ(u)t (|e|<0.05)
klasyczny SMC (sgn)0.00006.001.23 s
boundary layer (Φ=0.1)0.00000.341.23 s
super-twisting40.906530.33> 4 s
terminal (α=0.6)0.00006.040.83 s
Co czytać z tabeli: ⟨|e|⟩ mówi o precyzji w fazie sliding — im mniej, tym lepiej. σ(u) mówi o chatteringu — im mniej, tym łagodniej dla aktuatora. Czas wejścia w pasmo e<0.05|e|<0.05 mówi o szybkości reaching phase. Klasyczny SMC ma najlepszą precyzję ale największy chattering. Boundary layer wymienia precyzję na gładkość. Super-twisting daje prawie najlepszą precyzję z bardzo niskim σ(u) — najlepszy kompromis dla większości zastosowań. Terminal ma szybką zbieżność ale wraca do problemu chatteringu (sgn(s) jest tam nadal w u).

6. Predefined-time SMC — zbieżność w zadanym czasie

Dotychczasowe warianty SMC dają zbieżność w czasie skończonym, ale zależnym od warunku początkowego — dla większego s0|s_0| dłużej. Predefined-time SMC (PT-SMC, Polyakov 2012, Aldana-López et al. 2019) zmienia tę zależność: czas zbieżności jest parametrem projektowym TcT_c, niezależnym od stanu początkowego.

Hierarchia własności zbieżności

typ stabilnościczas zbieżnościkontrolowalność T
asymptotycznatt \to \inftybrak — pojęcie nie istnieje
wykładniczaeλt\propto e^{-\lambda t}parametr λ\lambda kontroluje szybkość
skończony czasT(x0)<T(x_0) < \inftyzależny od x0x_0
fixed timeTTmaxT \le T_{max}niezależny od x0x_0, ale wynikowy z gainów
predefined timeTTcT \le T_cparametr w projekcie

Konstrukcja PT-SMC

Klasyczna konstrukcja Aldana-López et al. (2019) dla s˙=u+d\dot s = u + d, dD|d| \le D:

u=1pTcs1psgn(s)1(1p)Tcs1+psgn(s)Ksgn(s)u = -\frac{1}{p\,T_c}\,|s|^{1-p}\mathrm{sgn}(s) - \frac{1}{(1-p)\,T_c}\,|s|^{1+p}\mathrm{sgn}(s) - K\,\mathrm{sgn}(s)

gdzie p(0,1)p \in (0, 1), K>DK > D.

  • Pierwsza składowa s1p|s|^{1-p} jest super-linearna wokół s=0s = 0 — przyspiesza zbieżność w okolicy origin.
  • Druga składowa s1+p|s|^{1+p} jest sub-linearna — kontroluje zachowanie dla dużych s|s|.
  • Trzecia Ksgn(s)K\,\mathrm{sgn}(s) kompensuje zaburzenie.

Górne ograniczenie czasu zbieżności

Dla powyższej konstrukcji można pokazać:

tconvTcp(1p).t_{conv} \le \frac{T_c}{p\,(1-p)}.

Przy p=1/2p = 1/2: tconv4Tct_{conv} \le 4\,T_c. Współczynnik 4 wynika z konstrukcji; istnieją warianty z ostrzejszym ograniczeniem (Sánchez-Torres et al. 2018: tTct \le T_c dokładnie).

Zastosowania

  • Misje czasowe — drony bojowe, rakiety, pociski; wymóg „dotrzeć w 4 s" przy nieznanych zaburzeniach.
  • Synchronizacja MAS — multi-agent systems; wszyscy roboty muszą zbiec do konsensu w tym samym czasie niezależnie od pozycji startowych.
  • Fault recovery — gdy wykryto uszkodzenie, system musi wrócić do bezpiecznej trajektorii w gwarantowanym czasie.

parametr predefined-time

T_c (zadany czas zbieżności)1.50 s

Cztery różne s0s_0 (od -2 do +2) — wszystkie zbiegają do s=0s = 0 najpóźniej w TcT_c, niezależnie od wartości początkowej. To jest definicja predefined-time stability.

Klasyczne SMC z s˙=ksgn(s)\dot s = -k\,\mathrm{sgn}(s) daje czas zbieżności s0/k|s_0|/k — proporcjonalny do s0|s_0|, więc dla dużych s0s_0 długi.

-2.5-1.2501.252.500.81.62.43.24T_c = 1.50 ss_0 = -2s_0 = -0.5s_0 = 0.5s_0 = 2t [s]s (predefined-time)-2.5-1.2501.252.500.81.62.43.24s_0 = -2s_0 = -0.5s_0 = 0.5s_0 = 2t [s]s (klasyczne SMC, k = 1)

Predefined-time SMC (Polyakov 2012, Aldana-López et al. 2019). Trzy hierarchie własności zbieżności:

  • Asymptotyczna (PID, LQR): x0x \to 0 przy tt \to \infty, brak konkretnego czasu.
  • Skończony czas (klasyczne SMC, terminal): x0x \to 0 w czasie T(x0)T(x_0) — skończonym ale zależnym od warunku początkowego.
  • Stały czas (fixed-time): x0x \to 0 w czasie Tmax\le T_{max}, ograniczonym dla wszystkich x0x_0, ale wartość TmaxT_{max} wynika z parametrów algorytmu — nie jest wprost projektowana.
  • Predefined time: x0x \to 0 w czasie Tc\le T_c, gdzie TcT_c jest parametrem projektowym. Najsilniejsza forma.

Konstrukcja PT-SMC dla dynamiki s˙=u+d\dot s = u + d, gdzie dD|d| \le D:

u=αpTcs1psgn(s)β(1p)Tcs1+psgn(s)Ksgn(s)u = -\frac{\alpha}{p\,T_c}\,|s|^{1-p}\mathrm{sgn}(s) - \frac{\beta}{(1-p)\,T_c}\,|s|^{1+p}\mathrm{sgn}(s) - K\,\mathrm{sgn}(s)

gdzie p(0,1)p \in (0, 1), α,β>0\alpha, \beta > 0, K>DK > D. Dwie składowe potęgowe (z różnymi wykładnikami) dają fixed-time. Mnożnik 1/Tc1/T_c w wzmocnieniu daje predefined-time.

Górne ograniczenie czasu zbieżności:

Tconv1α11pTc1p+1β1pTc11p=Tcαp(1p)+Tcβp(1p).T_{conv} \le \frac{1}{\alpha} \cdot \frac{1}{1-p} \cdot T_c \cdot \frac{1}{p} + \frac{1}{\beta} \cdot \frac{1}{p} \cdot T_c \cdot \frac{1}{1-p} = \frac{T_c}{\alpha\,p(1-p)} + \frac{T_c}{\beta\,p(1-p)}.

Dla α=β=1\alpha = \beta = 1 i p=1/2p = 1/2: Tconv8TcT_{conv} \le 8\,T_c. Standardowe konstrukcje dostraja się tak, by współczynnik przed TcT_c był jak najbliżej 1.

Zastosowania: misje czasowe (drony bojowe, rakiety), gdzie wymagany jest deterministyczny czas zakończenia fazy (np. „dotrzeć do celu w 4 s"); robotyka kooperacyjna z wymogami synchronizacji wielu robotów; sterowanie z ograniczeniem czasowym (constraint-time control) w systemach czasu rzeczywistego.

Lektura: Polyakov A. „Nonlinear Feedback Design for Fixed-Time Stabilization of Linear Control Systems" (IEEE TAC 2012); Aldana-López et al. „On the design of new classes of fixed-time stable systems with predefined upper bound for the settling time" (Automatica 2019).

7. Sliding mode observer — robust estymator stanu

Wszystkie poprzednie sterowniki SMC zakładały dostęp do pełnego stanu. W rzeczywistości typowo mamy tylko część stanu (np. encoder mierzy pozycję, ale nie prędkość). Tradycyjne rozwiązanie: obserwator stanu (Luenberger, filtr Kalmana). Problem: te klasyczne obserwatory mają błąd estymacji asymptotyczny, i pod zaburzeniem dają trwały bias.

Idea SMO

Sliding mode observer dodaje do struktury Luenbergera człon nieciągły wstrzyknięty tym samym kanałem co zaburzenie:

x^˙=Ax^+Bu+L(yCx^)+Bν,ν=ρsgn(yCx^).\dot{\hat x} = A\,\hat x + B\,u + L\,(y - C\,\hat x) + B\,\nu, \qquad \nu = -\rho\,\mathrm{sgn}(y - C\,\hat x).

Pod warunkiem ρ>ρ\rho > \rho_* (gdzie ξρ|\xi| \le \rho_*, ξ\xi to nieznane zaburzenie), SMO uzyskuje:

  • Zbieżność w czasie skończonym wyjścia Cx^yC\,\hat x \to y.
  • Zbieżność asymptotyczna nieobserwowanej części stanu, niezależnie od zaburzenia.
  • Bonus: średnia wartość ν\nu w fazie sliding rekonstruuje samo zaburzenie. Tj. SMO daje „za darmo" estymator zaburzeń.

Walcott-Żak (1987) — pierwsza forma

Plant z dopasowanym zaburzeniem ξ\xi:

x˙=Ax+Bu+Bξ(t),y=Cx\dot x = A\,x + B\,u + B\,\xi(t), \quad y = C\,x

Założenia: para (A,C)(A, C) jest obserwowalna, istnieje P>0P > 0 i LL takie, że (ALC)TP+P(ALC)<0(A - LC)^T P + P(A - LC) < 0 oraz PB=CTPB = C^T (warunek macierzowy określający „matched" w sensie estymacji). Pod tymi warunkami obserwator z poprzedniej formuły konwerguje.

Edwards-Spurgeon (1994) — generalizacja

Klasyczna struktura Walcotta-Żaka jest ograniczona warunkiem PB=CTPB = C^T, który nie zachodzi dla większości planta. Edwards i Spurgeon zaproponowali transformację współrzędnych do postaci kanonicznej obserwatora SMO:

z=Tx    z˙1=A11z1+A12z2+B1ξ,    z˙2=A21z1+A22z2,    y=z1.z = T\,x \;\Rightarrow\; \dot z_1 = A_{11} z_1 + A_{12} z_2 + B_1 \xi, \;\; \dot z_2 = A_{21} z_1 + A_{22} z_2, \;\; y = z_1.

W tej postaci z1=yz_1 = y (mierzone), z2z_2 (niemierzone). SMO wstrzykuje sgn-człon w równanie z˙1\dot z_1, co prowadzi do sliding na z1=z^1z_1 = \hat z_1, a następnie zastosowanie equivalent injection daje rekonstrukcję z2z_2.

Output-feedback SMC

Połączenie SMO + SMC daje output-feedback SMC: pełny pipeline wyłącznie z mierzonych wyjść. Schemat:

y    SMO    x^    SMC    u.y \;\rightarrow\; \boxed{\text{SMO}} \;\rightarrow\; \hat x \;\rightarrow\; \boxed{\text{SMC}} \;\rightarrow\; u.

Ważne: pojawia się tu interakcja między SMO a SMC. Dla poprawności potrzebne twierdzenie o separacji — dynamikę obserwatora można projektować niezależnie od kontrolera. Dla LTI-SMO twierdzenie zachodzi przy odpowiednich założeniach (Edwards & Spurgeon rozdz. 6); dla ogólnych konstrukcji nieliniowych — nie zawsze.

parametry obserwatora

ρ (wzmocnienie sgn w SMO)2.00
amplituda zaburzenia d0.5
szum pomiarowy0.010
Plant: MSD. Pomiar: tylko pozycja y=x1y = x_1, prędkość x2x_2 trzeba estymować. Plant ma zaburzenie sin + impuls. Porównujemy klasyczny Luenberger (bez sgn) z SMO (z członem ν w kanale B).
-1-0.500.5101.22.43.64.86x (rzeczywisty)x̂ Luenbergerx̂ SMOt [s]x₁ (pozycja, mierzona)-3-1.501.5301.22.43.64.86ẋ (rzeczywisty, niemierzony)ẋ Luenbergerẋ SMOt [s]x₂ (prędkość, ESTYMOWANA)

Sliding Mode Observer (SMO) — Walcott & Żak (1987), Edwards & Spurgeon. Estymator stanu, który wykorzystuje zasadę sliding mode do uzyskania robust gwarancji w obecności zaburzeń.

Setup

Plant z matched zaburzeniem:

x˙=Ax+Bu+Bξ,y=Cx,ξρ\dot x = A\,x + B\,u + B\,\xi, \quad y = C\,x, \quad |\xi| \le \rho_*

gdzie ξ\xi to nieznane zaburzenie. Klasyczny Luenberger:

x^˙=Ax^+Bu+L(yCx^)\dot{\hat x} = A\,\hat x + B\,u + L\,(y - C\,\hat x)

ma błąd estymacji x~=xx^\tilde x = x - \hat x z dynamiką:

x~˙=(ALC)x~+Bξ.\dot{\tilde x} = (A - LC)\,\tilde x + B\,\xi.

Dla stabilnego ALCA - LC, x~\tilde x jest ograniczony, ale nie zbiega do zera dopóki ξ0\xi \neq 0. Stała wartość ξ\xi daje stały bias estymacji.

SMO struktura

x^˙=Ax^+Bu+L(yCx^)+Bν,ν=ρsgn(yCx^)\dot{\hat x} = A\,\hat x + B\,u + L\,(y - C\,\hat x) + B\,\nu, \quad \nu = -\rho\,\mathrm{sgn}(y - C\,\hat x)

gdzie ρ>ρ\rho > \rho_* (większy niż ograniczenie zaburzenia). Człon ν\nu jest wstrzyknięty przez ten sam kanał co zaburzenie (oba mnożone przez BB). Dynamika błędu:

x~˙=(ALC)x~+B(ξρsgn(sy))\dot{\tilde x} = (A - LC)\,\tilde x + B\,(\xi - \rho\,\mathrm{sgn}(s_y))

gdzie sy=Cx~=yy^s_y = C\,\tilde x = y - \hat y. Dla ρ>ρ\rho > \rho_*, sliding mode na sy=0s_y = 0 wymusza, że yy^=0y - \hat y = 0, co oznacza zbieżność estymacji wyjścia w czasie skończonym. Dalej: dynamika redukowana zachodzi dla pełnego błędu x~\tilde x.

Equivalent injection — bonus

Po wejściu w sliding na sy=0s_y = 0, średnia wartość ρsgn(sy)\rho\,\mathrm{sgn}(s_y) dokładnie kompensuje ξ\xi:

νeq=ξ(t)(po wejsˊciu na sy=0).\nu_{eq} = \xi(t) \quad \text{(po wejściu na } s_y = 0).

Czyli SMO nie tylko estymuje stan, ale również rekonstruuje zaburzenie jako filtrowane νeq\nu_{eq}. To „darmowy" estymator zaburzenia, krytyczny dla detekcji uszkodzeń (fault detection) i sterowania adaptacyjnego.

Zastosowania

  • Estymacja stanu w obecności zaburzeń — samochody (estymacja siły poślizgu), drony (estymacja wiatru).
  • Fault detection & isolation νeq\nu_{eq} ma wartości wskazujące rodzaj uszkodzenia.
  • Output-feedback SMC — gdy nie mamy pełnego stanu, najpierw estymujemy SMO, potem stosujemy SMC na estymacie.

Spróbuj: ρ = 0 redukuje SMO do zwykłego Luenbergera — błąd estymacji rozjeżdża się przy zaburzeniu. ρ = 2 (większy niż amplituda zaburzenia 0.5) — SMO trzyma błąd blisko zera. Zwiększ szum: SMO nie radzi sobie idealnie (chattering w estymacie ẋ widoczny), Luenberger jest gładszy. Klasyczny tradeoff.

8. Pozostałe warianty — HOSM, adaptive, output-feedback

Trzy obszary, których pełne wyłożenie wymaga osobnych modułów, ale warto wiedzieć że istnieją.

Higher-Order Sliding Modes (HOSM)

Klasyczne SMC wymusza s=0s = 0. Higher-order SMC wymusza dodatkowo s˙=0,s¨=0,,s(r1)=0\dot s = 0, \ddot s = 0, \ldots, s^{(r-1)} = 0. Super-twisting (z §3) jest specjalnym przypadkiem r=2.

Klasyfikacja Levant (1993, 2003):

  • Twisting algorithm — drugiego rzędu, z czterema parametrami; bez singularity dla wszystkich ss, ale wymaga znajomości s˙\dot s.
  • Super-twisting — drugiego rzędu, ciągłe uu, wymaga znajomości tylko ss. Stąd jest najczęściej stosowane.
  • Quasi-continuous — uogólnienie na rząd r z prawem stałożalonym.
  • Discontinuous integral — dyskontynuość nadal w pochodnej, sprowadzona do rzędu integratora.

Wybór rzędu r wynika z dynamiki planta i pożądanej dokładności w sliding. Wyższy r = lepsza precyzja przy dyskretyzacji (chattering jest Tsr\propto T_s^r zamiast TsT_s), ale wymaga znajomości większej liczby pochodnych ss.

Lektura: Shtessel, Edwards, Fridman, Levant „Sliding Mode Control and Observation" (2014), rozdz. 4–5.

Adaptive SMC

Klasyczne SMC wymaga znajomości górnego ograniczenia DD zaburzenia. Gdy DD jest nieznane lub zmienne w czasie, używa się adaptive SMC: wzmocnienie η\eta jest aktualizowane online tak, by zawsze było większe od bieżącego d|d|.

Klasyczne prawo adaptacji (Plestan et al. 2010):

η˙={Ks,s>ϵ0,sϵ\dot \eta = \begin{cases} K\,|s|, & |s| > \epsilon \\ 0, & |s| \le \epsilon \end{cases}

Gain rośnie tak długo, jak trajektoria jest poza pasem ϵ\epsilon wokół manifoldu. Po wejściu w pas — η\eta się stabilizuje. Wartość ustalona η\eta będzie dokładnie taka, jak potrzebna do kompensacji aktualnego zaburzenia.

Wariant tego — barrier function adaptive SMC (Obeid et al. 2018) — dostosowuje η\eta tak, że s|s| nigdy nie przekracza ustalonego progu. Praktycznie eliminuje overshoot w fazie reaching.

Output-feedback SMC

Już omówione w §7. Krótko: kompozycja SMO i SMC. Główne tematy badawcze: warunki zbieżności pod redukowaną obserwowalnością, separation principle dla nieliniowych układów, robustność na unmatched zaburzenia.

Mapa terenu — co kiedy

scenariuszwariant SMC
klasyczny problem regulatora, znane Dklasyczne SMC (moduł 3)
aktuator nie wytrzyma chatteringuboundary layer (§1) lub super-twisting (§3)
wymóg zbieżności w czasie skończonymterminal SMC (§4)
wymóg zbieżności w gwarantowanym czasie T_cpredefined-time SMC (§6)
nieznane ograniczenie zaburzeniaadaptive SMC (§8)
tylko część stanu mierzonaoutput-feedback SMC = SMO + SMC (§7)
plant wyższego rzędu, wymóg precyzjiHOSM (§8) — twisting, quasi-continuous
wykrywanie uszkodzeńSMO + analiza ν_eq (§7)

Co świadomie pomijam

  • Higher-order SMC w pełnej ogólności (3., 4. rząd). Super-twisting to specjalny przypadek drugiego rzędu z polynomial homogeneity; uogólnienia (twisting, drift, prescribed convergence) wykraczają poza ten kurs.
  • Adaptive SMC — kontrolery, które same dostrajają η\eta w trakcie pracy, bez znajomości ograniczenia DD. Pojawia się w module 8 obok MRAC.
  • Integral SMC — surface zawierająca człon całkujący, daje matched-disturbance rejection idealne nawet dla niezerowego dd stałego.
  • Continuous SMC przez continuous twisting (Levant 2007) — w pełni gładkie u i s, ale wymaga znajomości s˙\dot s, czyli pochodnej rzędu drugiego (nie zawsze mierzalnej).