Moduł 08 · bonus

Sterowanie adaptacyjne

Gain scheduling, MRAC, kontrolery uczone (RL) — krótki przegląd kierunków rozszerzenia.

Mapa adaptacyjnych metod

Wybór zależy od co wiemy i co możemy mierzyć:

metodawymaga modelu?wymaga pomiaru zmiany?kiedy stosować
gain schedulingznany w punktach roboczychtak (scheduling variable)znana zależność dynamiki od jednego parametru
MRAC / self-tuningstrukturalny (znany rząd, B z odpowiednim znakiem)nienieznane parametry, ale model strukturalnie OK
RL-basednie (model-free) lub uczony (model-based RL)niezłożone nieliniowe układy bez zwartego modelu

Każda z metod ma swój kanon teoretyczny — ich pełne wyprowadzenia wymagają osobnego semestru. Tu pokazujemy dlaczego i jak wygląda zachowanie — z linkami do dalszej lektury.

1. Gain scheduling — tablica gainów

Najprostsza forma adaptacji: zamiast jednego stałego KpK_p, mamy tablicę wzmocnień indeksowaną po scheduling variable — obserwowalnym parametrze wpływającym na dynamikę. Wartości gainów są precomputowane offline (linearyzacja w punktach roboczych + LQR/PID per punkt); online robi się tylko interpolację.

Kp(t)=lookup(ξ(t)),ξ=wysokosˊcˊ, prędkosˊcˊ, kąt, temperatura...K_p(t) = \mathrm{lookup}\big(\xi(t)\big), \qquad \xi = \text{wysokość, prędkość, kąt, temperatura...}

W demo poniżej plant jest pierwszego rzędu z jawnie zmieniającym się parametrem a(t)a(t). Kontroler scheduled używa Kp(a)K_p(a) tak, by zamknięta pętla zawsze miała ten sam biegun; fixed używa stałego K_p obliczonego dla a0a_0.

parametr planta a(t) = a₀ + a₁·sin(0.5t)

a₀ (nominalne)1.0
a₁ (amplituda zmiany)0.7

Fixed: K_p liczony raz, dla nominalnego a₀ — zakłada że plant się nie zmienia.

Scheduled: K_p(a) = (p − a)/b z aktualnym a(t) — gain modyfikowany w czasie wraz z parametrem.

Pożądany biegun zamkniętej pętli: POLEDESIRED-{POLE_DESIRED}. Schedulowany utrzymuje go na stałe; fixed osiąga go tylko w nominalnym punkcie.

-1.4-0.700.71.403.26.49.612.816r (setpoint)y — fixed K_py — scheduled K_p(a)t [s]y-0.50.631.752.88403.26.49.612.816a(t) (parametr planta)K_p scheduledK_p fixedt [s]a, K_p

Gain scheduling to najprostsza forma sterowania adaptacyjnego: zamiast jednego stałego zestawu wzmocnień, mamy tablicę wzmocnień indeksowaną przez scheduling variable — obserwowalny parametr wpływający na dynamikę. Klasyczne zastosowania:

  • Autopiloty samolotów: wysokość, prędkość lotu i kąt natarcia zmieniają dynamikę. Gain scheduling — tablica gain indeksowana po (Mach, h).
  • Procesy chemiczne: lepkość zależy od temperatury, gęstość od ciśnienia. K_p(T, p).
  • Robotyka: dynamika manipulatora zależy od konfiguracji θ\theta. Gainy programowane jako funkcja θ\theta.

Wzmocnienia w tablicy są prekomputowane offline z linearyzacji w wielu punktach roboczych. Online robi się tylko interpolację. Krytyczne założenie: scheduling variable jest obserwowalna. Dla autopilota — wysokość z barometru, prędkość z Pitota; dla procesu — temperatura z czujnika. Gdy aa nie jest mierzalne wprost, schedulingu nie da się zastosować — przechodzi się do MRAC (sekcja 2), gdzie plant sam estymuje potrzebne parametry.

2. MRAC — adaptacja parametrów online

MRAC (Model Reference Adaptive Control) jest klasykiem z lat 60. (Whitaker, MIT). Klucz: zamiast tabeli gainów,kontroler sam dostraja swoje parametry tak, by wymusić zachowanie planta zgodnie z reference model. Zaletą względem gain scheduling: nie wymaga obserwowalności parametrów planta — obserwujemy tylko błąd śledzenia.

Plant pierwszego rzędu z nieznanymi parametrami:

x˙=ax+bu,(a, b nieznane)\dot x = a\,x + b\,u, \qquad \text{(a, b nieznane)}

Reference model:

x˙m=amxm+bmr,am<0  (stabilny).\dot x_m = a_m\,x_m + b_m\,r, \qquad a_m < 0\;\text{(stabilny)}.

Kontroler:

u=θxx+θrru = \theta_x\,x + \theta_r\,r

z adaptowanymi parametrami. Prawo adaptacji wynika z kandydata Lapunowa V=12e2+b2γ(θ~x2+θ~r2)V = \tfrac12 e^2 + \tfrac{b}{2\gamma}(\tilde\theta_x^2 + \tilde\theta_r^2):

θ˙x=γex,θ˙r=γer.\dot \theta_x = \gamma\, e\, x, \qquad \dot \theta_r = \gamma\, e\, r.

Stąd V˙=ame20\dot V = a_m\, e^2 \le 0, więc e0e \to 0 (zbieżność błędu śledzenia z lematu Barbalata). Konwergencja parametrów do θ\theta^* wymaga warunku PE — sygnał rr musi mieć „dość dużo" niezależnych częstotliwości.

MRAC

γ (zysk adaptacji)5.0
referencja
plant nieznany kontrolerowi
a (true)-1.00b (true)1.00
optymalne θ (z teorii)
θ_x*-1.000θ_r*2.000
estymaty końcowe (t = 30s)
θ_x-0.950θ_r1.980
-1.5-0.7500.751.50612182430x_m (ref model)x (plant)e = x_m − xt [s]x, x_m-2-0.750.51.7530612182430θ_x* (optymalne)θ_x (estymata)θ_r* (optymalne)θ_r (estymata)t [s]θ_x, θ_r

MRAC (Model Reference Adaptive Control). Plant ma nieznane parametry a,ba, b. Projektant definiuje reference model — układ liniowy z pożądaną dynamiką:

x˙m=amxm+bmr.\dot x_m = a_m\, x_m + b_m\, r.

Kontroler:

u=θxx+θrru = \theta_x\, x + \theta_r\, r

ma adaptowane parametry θx,θr\theta_x, \theta_r, które dostraja w czasie według prawa wyprowadzonego z funkcji Lapunowa:

θ˙x=γex,θ˙r=γer,e=xmx.\dot \theta_x = \gamma\, e\, x, \qquad \dot \theta_r = \gamma\, e\, r, \qquad e = x_m - x.

Twierdzenie: dla γ>0\gamma > 0 błąd śledzenia e0e \to 0 asymptotycznie. Parametry zbiegają do θx,θr\theta_x^*, \theta_r^* tylko jeśli rr jest persistently exciting (zawiera „dość dużo" częstotliwości — formalnie warunek na całkę regresorów).

Spróbuj: tryb „PE" — parametry konwergują do θx=1,θr=2\theta_x^* = -1, \theta_r^* = 2. Tryb „step" — błąd też zbiega do zera, ale parametry mogą zatrzymać się na innych wartościach (kombinacja parametrów daje matchujące zachowanie dla TYCH konkretnych wzbudzeń, ale nie jednoznacznie wykrywa a,ba, b). Zwiększ γ — adaptacja szybsza, ale może destabilizować dla dużych wartości.

3. RL-based — uczenie polityki bez modelu

Reinforcement learning zaszedł do sterowania od strony uczenia maszynowego. Idea: zamiast pisać kontroler analitycznie z modelu planta, niech polityka sterowania π(s)u\pi(s) \mapsto u będzie funkcją uczoną z eksperymentów („symulator albo realny plant + nagroda za dobre zachowanie").

Setup MDP (Markov Decision Process):

  • Stan sts_t — pełna obserwacja planta
  • Akcja at=π(st)a_t = \pi(s_t) — sterowanie wybrane przez politykę
  • Plant: st+1=f(st,at)s_{t+1} = f(s_t, a_t)
  • Nagroda rt=R(st,at)r_t = R(s_t, a_t) — funkcja sukcesu. Klasycznie ujemna od kosztu LQR: rt=(stTQst+utTRut)r_t = -(s_t^T Q s_t + u_t^T R u_t).

Cel: znaleźć politykę maksymalizującą oczekiwaną dyskontowaną sumę nagród E[tγtrt]\mathbb{E}\left[\sum_t \gamma^t r_t\right]. Algorytmy:

  • Q-learning (Watkins 1989), DQN (Mnih 2015) — uczy funkcji wartości akcji, polityka pochodna
  • Policy gradient, PPO, TRPO — uczy bezpośrednio polityki gradientem nagród
  • Actor-critic, SAC, DDPG — łączy oba podejścia
  • Model-based RL — uczy modelu f̂ obok polityki, planuje na nim

Dla układów liniowych klasyczny LQR jest RL z dokładnie znanym modelem i analitycznym rozwiązaniem. RL ma sens wtedy, gdy:

  • plant jest silnie nieliniowy i nie da się z niego zrobić zwartego modelu
  • cel sterowania nie da się sformułować jako prosty kwadrat (rozproszone wymagania, sukces binarny)
  • interakcja z plantem jest tania (symulator, gra, robot z resetowalnym otoczeniem)

Przykłady udanych zastosowań RL w sterowaniu: quadrotor sterowany przez polityki uczone w symulacji (Hwangbo 2017), robotyka miękkiego dotyku (OpenAI 2019), fuzja plazmy w tokamaku (Degrave 2022), redukcja kosztu chłodzenia w data centers (DeepMind 2016).

Główne wyzwania RL w sterowaniu: sample efficiency (potrzeba wielu epizodów), bezpieczeństwo podczas uczenia (eksploracja może uszkodzić plant), brak gwarancji stabilności (polityka uczona to czarna skrzynka — żadna analiza Lapunowa). Aktywny obszar badawczy: safe RL, constrained RL, łączenie RL z gwarancjami klasycznej teorii sterowania (RL guided by CBF, RL constrained by MPC).

4. Co dalej — kierunki rozszerzenia

Cały kurs — moduły 0–7 plus ten bonus — pokrywa kanon klasycznego sterowania liniowego, ślizgowego i predykcyjnego. Świat jest większy. Trzy główne kierunki dalszego studiowania:

A. Pogłębienie klasyki

  • Robust control formal— H∞, μ-synthesis, LMI-based methods. Kanon: Skogestad & Postlethwaite, Zhou Doyle Glover. /topics/h-infinity
  • Sterowanie nieliniowe— backstepping, feedback linearization, flatness, passivity-based. Kanon: Khalil „Nonlinear Systems", Krstić „Nonlinear and Adaptive Control Design", Slotine & Li „Applied Nonlinear Control". Patrz atlas — 6 z 10 stubów to właśnie nieliniowe metody.
  • Estymacja stanu — Kalman, EKF, UKF, particle filters, sliding mode observer. Niezbędne, gdy plant ma więcej zmiennych stanu niż czujników.
  • Higher-order MPC — Nonlinear MPC, Robust MPC (tube), Stochastic MPC, Economic MPC, Distributed MPC. Kanon: Rawlings, Mayne, Diehl „Model Predictive Control".

B. Sterowanie domenowe

  • Sterowanie impedancyjne — robotyka współpracująca, kobotyka. Patrz /topics/impedance-control — flagowane jako kandydat na kolejny pełny moduł kursu.
  • Visual servoing — sterowanie z pomiarem kamerą, IBVS, PBVS. Manipulacja, drony.
  • Distributed and networked control — sterowanie z ograniczonym pasmem komunikacji, multi-agent systems, consensus algorithms.
  • Power electronics control — modulacja PWM, konwersja DC/AC, sterowanie inwerterami.

C. Uczące się sterowanie

  • Model-based RL — łączy klasyczne MPC z uczonymi modelami dynamiki (e.g., Gaussian processes, neural ODEs).
  • Imitation learning — kontroler uczy się od eksperta (nagrane sterowania, behavioural cloning).
  • Iterative Learning Control — patrz /topics/ilc. Klasyk dla zadań powtarzalnych — łączy się dobrze z RL.
  • Safe RL i Control Barrier Functions — klasycznie inżynierski sposób na gwarancje bezpieczeństwa w RL. Aktywny obszar badawczy.

D. Lektury rekomendowane do dalszego kursu

  • Khalil, „Nonlinear Systems" (3rd ed.) — kanon dla wszystkiego nieliniowego.
  • Åström & Murray, „Feedback Systems" — doskonały podręcznik wprowadzający (online za darmo).
  • Rawlings, Mayne & Diehl, „Model Predictive Control" — kanon MPC.
  • Sutton & Barto, „Reinforcement Learning" — kanon RL (online za darmo).
  • Bertsekas, „Reinforcement Learning and Optimal Control" — most między klasycznym sterowaniem optymalnym a RL.

Tam, gdzie kurs się kończy, zaczyna się badanie. Każdy z punktów A/B/C to oddzielny semestr lub specjalizacja doktoranta.