Fitowanie modelu do pomiarów, ARX/ARMAX, RLS online, persistent excitation, closed-loop ID, praktyczny workflow.
Wszystkie poprzednie moduły miały dane parametry planta — m, c, k z modelu MSD; J, R, L z silnika DC; M, m, ℓ z cart-pole. Skąd je wzięliśmy?
Identyfikacja to jedyna metoda, która pozwala uchwycić:
Z perspektywy kursu: identyfikacja to pierwszy krok projektu sterowania. Bez modelu nie ma LQR/MPC/SMC.
Najprostszy eksperyment identyfikacyjny:
Dla planta drugiego rzędu typu MSD parametry to (m, c, k). W demie poniżej możesz spróbować ręcznie — automatyczny optimizer zrobiłby to samo, ale szybciej.
Identyfikacja parametryczna to proces dobierania parametrów modelu do zmierzonych danych. W tej wersji wizualnej — ręcznie, suwakami. W praktyce — automatycznie przez optymalizację (najmniejsze kwadraty, RLS, maximum likelihood).
Sum of Squared Errors (SSE):
Minimalizacja SSE jako funkcji parametrów daje najlepsze dopasowanie metodą najmniejszych kwadratów. Dla układu liniowego w parametrach (jak nasz MSD) jest to convex problem z analitycznym rozwiązaniem (równania normalne).
R² (coefficient of determination):
Mówi jaką frakcję wariancji w danych wyjaśnia model. R² = 1 = perfekcyjne dopasowanie. R² < 0.5 = model zły lub dane bardzo zaszumione.
Trik: każda kombinacja (m, c, k) różniąca się wzmacniaczem mnożnikowym daje identyczną odpowiedź skokową — można odzyskać tylko stosunki c/m i k/m, nie absolutne wartości. Stąd zwykle ustala się jeden parametr (np. k z prawa Hooke'a) i fitujemy pozostałe.
Modele ciągłe wymagają znajomości struktury fizycznej (jak MSD). W praktyce częściej używa się modeli dyskretnych ARX/ARMAX — czysto matematycznych relacji wejścia-wyjścia, niezależnych od konkretnej fizyki.
Wyjście jest liniową kombinacją swoich poprzednich wartości i wejść. Parametry wyznacza się metodą najmniejszych kwadratów:
gdzie to macierz regresji (każdy wiersz to ), a wektor pomiarów. Klasyczny problem algebry liniowej — dla dobrze postawionej macierzy jest jednoznaczne rozwiązanie.
ARX zakłada, że to biały szum (niezależny w czasie). W praktyce szum często ma strukturę kolorową (skorelowany). ARMAX dodaje model szumu jako średnią ruchomą (MA):
Estymacja ARMAX wymaga iteracyjnej procedury (LS nie wystarcza, bo regresory nie są obserwowalne bezpośrednio). Klasyczne algorytmy: predict error minimization, instrumental variables.
Wybór modelu zależy od fizyki problemu i jest części sztuki identyfikacji.
Recursive Least Squares przekształca offline algorytm LS w iteracyjną formę:
Każdy nowy pomiar aktualizuje estymatę o poprawkę proporcjonalną do błędu predykcji . Wzmocnienie dynamicznie się dostosowuje na podstawie macierzy kowariancji :
Plus offline LS: nie wymaga pamiętania całej historii pomiarów; konstant memory O(n²) dla n parametrów, constant time per sample. Idealne dla embedded.
Forgetting factor umożliwia śledzenie parametrów zmieniających się w czasie. Dla stare dane są „zapomniane" eksponencjalnie. Trade-off: niższa wartość → szybsze śledzenie, ale wyższa wariancja.
Recursive Least Squares (RLS) — online wersja najmniejszych kwadratów. Każdy nowy pomiar aktualizuje estymatę parametrów bez ponownego całkowania wszystkich danych.
Gdzie to wektor regresji, — estymaty parametrów, — forgetting factor (typowo 0.95–0.99) — daje większą wagę nowym danym.
RLS konverguje do prawdziwych parametrów tylko jeśli sygnał wzbudzenia jest persistently exciting — zawiera „dość dużo" niezależnych komponentów. Dla 2 parametrów potrzebne co najmniej 2 niezależne częstotliwości.
Spróbuj: tryb „step" — â stabilizuje się gdzieś między 0.5 a 0.9, ale niekoniecznie na 0.7. Przełącz na PRBS — obie estymaty szybko zbiegają do prawdy (0.7, 0.3).
: pamiętaj wszystkie dane (klasyczne LS). Dobre dla parametrów stałych, słabe dla zmieniających się w czasie. : starsze dane „zapomniane" — adaptive tracking parametrów zmiennych. Cena: wyższa wariancja estymaty (filtr „zapomnial" historyczne, więc opiera się na mniej danych).
Sygnał jest persistently exciting rzędu n jeśli istnieje stała i N takie że:
Innymi słowy: średnia z iloczynów zewnętrznych regresorów jest dodatnio określona — sygnały „pokrywają" cały podprzestrzeń .
Dla n parametrów do estymacji, potrzeba sygnału z n niezależnymi częstotliwościami.
Gdy PE nie zachodzi, macierz informacji jest singularna (rank deficient). Klasyczne LS nie ma jednoznacznego rozwiązania — istnieje cała hyperpłaszczyzna parametrów dających ten sam SSE. Wybór konkretnego punktu zależy od stanu początkowego algorytmu albo od regularyzacji.
W RLS bez PE estymata nie zbiega do prawdy — może oscylować lub stabilizować się na innym minimum SSE. Pokazaliśmy to w dema §4 — tryb „step" daje stabilną estymatę, która jest błędna.
Wszystko powyżej zakładało, że eksperyment przeprowadzasz przed uruchomieniem regulatora — z plantem w otwartej pętli. W praktyce często to niemożliwe:
Closed-loop identification radzi sobie z tym, ale ma swoje pułapki:
W pętli zamkniętej , więc jest funkcją . Konsekwencja: zaburzenie procesowe wpływa na , który wpływa na , który dalej wpływa na . Klasyczne LS „widzi" tę korelację jako fałszywą dynamikę i daje biased estymaty.
Najczęściej praktykowane: dodaj zewnętrzny sygnał wzbudzenia r_k (mała sinusoida lub PRBS) do referencji . Sygnał wzbudzenia musi być niezależny statystycznie od zaburzeń procesowych — dzięki temu daje informację o plant, nie o regulatorze. Amplituda powinna być dostatecznie mała żeby nie zaburzała operacji, ale duża żeby dawała measurable signal-to-noise.
Profesjonalny workflow identyfikacji parametrycznej:
Kanon: Ljung „System Identification: Theory for the User" (1999) — biblia identyfikacji. Söderström & Stoica „System Identification" — bardziej teoretyczne.