Boundary layer (sat), super-twisting, terminal SMC — kompromis chattering ↔ precyzja, porównanie 4 wariantów.
Wszystkie modyfikacje SMC, które tu rozważamy, można sklasyfikować wg dwóch wymiarów:
| wariant | precyzja w sliding | chattering w u | złożoność |
|---|---|---|---|
| klasyczny SMC | idealna (s ≡ 0) | bardzo duży | najprostszy |
| boundary layer | ograniczona ~Φ/λ | brak (wewnątrz pasma) | jedna linia kodu |
| super-twisting | idealna asymptotycznie | bardzo mały (sgn w v̇) | + jeden integrator |
| terminal | idealna w czasie skończonym | średni (sgn w u) | krzywa powierzchnia + singularity |
Najprostsza modyfikacja: w sąsiedztwie powierzchni zamień na liniową funkcję . Poza pasmem zachowanie identyczne jak klasyczny SMC; wewnątrz — sterowanie ciągłe i proporcjonalne do , więc bez przełączania.
Cena: trajektoria nie wraca już do dokładnie, tylko zatrzymuje się w pasie szerokości . Odpowiada to błędowi (na manifoldzie ė = -λe, więc gdy s utrzymuje się w paśmie, e oscyluje w pasie proporcjonalnym).
Boundary layer zastępuje funkcją saturacji wewnątrz pasa :
Wewnątrz pasma sterowanie jest liniową funkcją — bez przełączania, bez chatteringu. Ale układ nie wraca już do dokładnie; zatrzymuje się w pasie , co oznacza błąd ustalony . Tabelka powyżej pokazuje wprost: dla chattering jest gigantyczny ( σ(u) duże), a błąd zerowy. Dla sterowanie gładkie (σ(u) małe), ale .
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).
Klasyczne SMC ma w sterowaniu funkcję , która jest nieciągła w . 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 ?
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:
W praktyce dla SMC: gdy trajektoria osiąga , filippovskie rozwiązanie to to, w którym średnio (bo sgn przełącza się nieskończenie szybko). Z tego warunku wynika tzw. sterowanie równoważne — jest to jedyna gładka wartość , która utrzymuje .
Dla naszego planta i powierzchni z modułu 3:
To jest matematyczne uzasadnienie, dlaczego w naszym sterowniku ma taką a nie inną postać. Pełny sterownik to : 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 wynika z warunku , 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.
Algorytm Levanta z 1993 r. — zastępuje klasyczne w sterowaniu kombinacją dwóch składowych:
Kluczowe: występuje tylko w pochodnej , nie w bezpośrednio. Całka funkcji znaku jest funkcją trójkątną — ciągłą. Więc jest ciągłe (Lipschitz), mimo że algorytm wewnętrznie wykorzystuje informację o znaku . To paradoksalna własność „drugiego rzędu" SMC: zarówno jak i 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 to:
W praktyce , dla małych , lub większe wartości dla większego marginesu.
Super-twisting algorithm (Levant 1993) — drugiego rzędu sliding mode. Definicja:
Kluczowa różnica względem klasycznego SMC: występuje teraz tylko wewnątrz integratora , a nie bezpośrednio w . Sygnał sterowania jest ciągły — bo całkowanie sgn daje funkcję trójkątną, nie skokową. Mimo to w czasie skończonym i (drugiego rzędu — stąd nazwa).
Warunek stabilności: dla zaburzeń ograniczonych wystarczy dla pewnych stałych zależnych od struktury planta. W praktyce dobiera się , 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.
Linear sliding daje zbieżność asymptotyczną na manifoldzie: . Nigdy ostro do 0. Terminal sliding zmienia powierzchnię na krzywą:
Na : . Rozwiązanie tego ODE schodzi do zera w czasie:
Wykładnik daje przyspieszenie zbieżności w okolicy zera (im mniejsze , tym większa względna pochodna). Cena: zawiera czynnik rozbieżny przy , co prowadzi do singularity w . 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 dla numerycznej stabilności.
Terminal sliding mode używa krzywej powierzchni:
Na : . Rozwiązanie tego ODE w czasie:
Wykładnik daje przyspieszenie zbieżności w okolicy zera — pochodna rośnie, gdy spada (paradoksalnie). Dla odzyskujemy dynamikę liniową (asymptotyczna). Dla dostajemy bang-bang na samym e — chattering powraca.
Singularity i NTSMC. Pochodna zawiera czynnik , który dla rozbiega się przy . To prowadzi do singularity w kontrolerze. Tutaj regularyzujemy dla numerycznej stabilności; formalnie poprawne rozwiązanie to Nonsingular Terminal SMC (NTSMC) — używa , gdzie . 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.
Cztery sterowniki, ten sam plant (MSD z modułu 1), to samo zaburzenie , ten sam scenariusz (skok w , T = 4 s, dyskretny kontroler 5 ms). Tabelka pokazuje liczbowo, kto co kupuje za co.
| wariant | ⟨|e|⟩ w sliding | σ(u) | t (|e|<0.05) |
|---|---|---|---|
| klasyczny SMC (sgn) | 0.0000 | 6.00 | 1.23 s |
| boundary layer (Φ=0.1) | 0.0000 | 0.34 | 1.23 s |
| super-twisting | 40.9065 | 30.33 | > 4 s |
| terminal (α=0.6) | 0.0000 | 6.04 | 0.83 s |
Dotychczasowe warianty SMC dają zbieżność w czasie skończonym, ale zależnym od warunku początkowego — dla większego 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 , niezależnym od stanu początkowego.
| typ stabilności | czas zbieżności | kontrolowalność T |
|---|---|---|
| asymptotyczna | brak — pojęcie nie istnieje | |
| wykładnicza | parametr kontroluje szybkość | |
| skończony czas | zależny od | |
| fixed time | niezależny od , ale wynikowy z gainów | |
| predefined time | parametr w projekcie |
Klasyczna konstrukcja Aldana-López et al. (2019) dla , :
gdzie , .
Dla powyższej konstrukcji można pokazać:
Przy : . Współczynnik 4 wynika z konstrukcji; istnieją warianty z ostrzejszym ograniczeniem (Sánchez-Torres et al. 2018: dokładnie).
Cztery różne (od -2 do +2) — wszystkie zbiegają do najpóźniej w , niezależnie od wartości początkowej. To jest definicja predefined-time stability.
Klasyczne SMC z daje czas zbieżności — proporcjonalny do , więc dla dużych długi.
Predefined-time SMC (Polyakov 2012, Aldana-López et al. 2019). Trzy hierarchie własności zbieżności:
Konstrukcja PT-SMC dla dynamiki , gdzie :
gdzie , , . Dwie składowe potęgowe (z różnymi wykładnikami) dają fixed-time. Mnożnik w wzmocnieniu daje predefined-time.
Górne ograniczenie czasu zbieżności:
Dla i : . Standardowe konstrukcje dostraja się tak, by współczynnik przed 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).
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.
Sliding mode observer dodaje do struktury Luenbergera człon nieciągły wstrzyknięty tym samym kanałem co zaburzenie:
Pod warunkiem (gdzie , to nieznane zaburzenie), SMO uzyskuje:
Plant z dopasowanym zaburzeniem :
Założenia: para jest obserwowalna, istnieje i takie, że oraz (warunek macierzowy określający „matched" w sensie estymacji). Pod tymi warunkami obserwator z poprzedniej formuły konwerguje.
Klasyczna struktura Walcotta-Żaka jest ograniczona warunkiem , który nie zachodzi dla większości planta. Edwards i Spurgeon zaproponowali transformację współrzędnych do postaci kanonicznej obserwatora SMO:
W tej postaci (mierzone), (niemierzone). SMO wstrzykuje sgn-człon w równanie , co prowadzi do sliding na , a następnie zastosowanie equivalent injection daje rekonstrukcję .
Połączenie SMO + SMC daje output-feedback SMC: pełny pipeline wyłącznie z mierzonych wyjść. Schemat:
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.
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ń.
Plant z matched zaburzeniem:
gdzie to nieznane zaburzenie. Klasyczny Luenberger:
ma błąd estymacji z dynamiką:
Dla stabilnego , jest ograniczony, ale nie zbiega do zera dopóki . Stała wartość daje stały bias estymacji.
gdzie (większy niż ograniczenie zaburzenia). Człon jest wstrzyknięty przez ten sam kanał co zaburzenie (oba mnożone przez ). Dynamika błędu:
gdzie . Dla , sliding mode na wymusza, że , co oznacza zbieżność estymacji wyjścia w czasie skończonym. Dalej: dynamika redukowana zachodzi dla pełnego błędu .
Po wejściu w sliding na , średnia wartość dokładnie kompensuje :
Czyli SMO nie tylko estymuje stan, ale również rekonstruuje zaburzenie jako filtrowane . To „darmowy" estymator zaburzenia, krytyczny dla detekcji uszkodzeń (fault detection) i sterowania adaptacyjnego.
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.
Trzy obszary, których pełne wyłożenie wymaga osobnych modułów, ale warto wiedzieć że istnieją.
Klasyczne SMC wymusza . Higher-order SMC wymusza dodatkowo . Super-twisting (z §3) jest specjalnym przypadkiem r=2.
Klasyfikacja Levant (1993, 2003):
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 zamiast ), ale wymaga znajomości większej liczby pochodnych .
Lektura: Shtessel, Edwards, Fridman, Levant „Sliding Mode Control and Observation" (2014), rozdz. 4–5.
Klasyczne SMC wymaga znajomości górnego ograniczenia zaburzenia. Gdy jest nieznane lub zmienne w czasie, używa się adaptive SMC: wzmocnienie jest aktualizowane online tak, by zawsze było większe od bieżącego .
Klasyczne prawo adaptacji (Plestan et al. 2010):
Gain rośnie tak długo, jak trajektoria jest poza pasem wokół manifoldu. Po wejściu w pas — się stabilizuje. Wartość ustalona będzie dokładnie taka, jak potrzebna do kompensacji aktualnego zaburzenia.
Wariant tego — barrier function adaptive SMC (Obeid et al. 2018) — dostosowuje tak, że nigdy nie przekracza ustalonego progu. Praktycznie eliminuje overshoot w fazie reaching.
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.
| scenariusz | wariant SMC |
|---|---|
| klasyczny problem regulatora, znane D | klasyczne SMC (moduł 3) |
| aktuator nie wytrzyma chatteringu | boundary layer (§1) lub super-twisting (§3) |
| wymóg zbieżności w czasie skończonym | terminal SMC (§4) |
| wymóg zbieżności w gwarantowanym czasie T_c | predefined-time SMC (§6) |
| nieznane ograniczenie zaburzenia | adaptive SMC (§8) |
| tylko część stanu mierzona | output-feedback SMC = SMO + SMC (§7) |
| plant wyższego rzędu, wymóg precyzji | HOSM (§8) — twisting, quasi-continuous |
| wykrywanie uszkodzeń | SMO + analiza ν_eq (§7) |