Filtr Kalmana. Struktury i Algorytmy Sterowania Wykład 1-2. prof. dr hab. inż. Mieczysław A. Brdyś mgr inż. Tomasz Zubowicz

Podobne dokumenty
Estymacja wektora stanu w prostym układzie elektroenergetycznym

Modele zapisane w przestrzeni stanów

Komputerowa Analiza Danych Doświadczalnych

Sterowanie napędów maszyn i robotów

Filtr Kalmana. Zaawansowane Techniki Sterowania. Wydział Mechatroniki Politechniki Warszawskiej. Anna Sztyber

1. Podstawowe pojęcia

Stosowana Analiza Regresji

Optymalizacja ciągła

Opis systemów dynamicznych w przestrzeni stanu. Wojciech Kurek , Gdańsk

Wpływ częstotliwości taktowania układu FPGA na dokładność estymacji prędkości silnika prądu stałego

STATYSTYKA MAŁYCH OBSZARÓW II.ESTYMATOR HORVITZA-THOMPSONA, ESTYMATOR KALIBROWANY

Politechnika Gdańska Wydział Elektrotechniki i Automatyki. Automatyka i Robotyka Systemy Sterowania i Wspomagania Decyzji

Zaawansowane metody numeryczne

Analityczne metody detekcji uszkodzeń

Politechnika Gdańska Wydział Elektrotechniki i Automatyki Katedra Inżynierii Systemów Sterowania

KADD Metoda najmniejszych kwadratów funkcje nieliniowe

Obserwatory stanu, zasada separowalności i regulator LQG

Zaawansowane metody numeryczne

Prawdopodobieństwo i statystyka

Rozwiazywanie układów równań liniowych. Ax = b

PODSTAWY AUTOMATYKI. MATLAB - komputerowe środowisko obliczeń naukowoinżynierskich - podstawowe operacje na liczbach i macierzach.

Stanisław Cichocki Natalia Nehrebecka. Zajęcia 8

Statystyka i eksploracja danych

Wykład z równań różnicowych

Fuzja sygnałów i filtry bayesowskie

Wprowadzenie do teorii ekonometrii. Wykład 1 Warunkowa wartość oczekiwana i odwzorowanie liniowe

ZAJĘCIA II. Zmienne losowe, sygnały stochastyczne, zakłócenia pomiarowe

Regresja wieloraka Ogólny problem obliczeniowy: dopasowanie linii prostej do zbioru punktów. Najprostszy przypadek - jedna zmienna zależna i jedna

Promotor: dr Marek Pawełczyk. Marcin Picz

Podstawy Automatyki. wykład 1 ( ) mgr inż. Łukasz Dworzak. Politechnika Wrocławska. Instytut Technologii Maszyn i Automatyzacji (I-24)

Metoda największej wiarygodności

KADD Minimalizacja funkcji

Optymalizacja ciągła

Porównanie błędu predykcji dla różnych metod estymacji współczynników w modelu liniowym, scenariusz p bliskie lub większe od n

Ekonometria. Prognozowanie ekonometryczne, ocena stabilności oszacowań parametrów strukturalnych. Jakub Mućk. Katedra Ekonomii Ilościowej

Układ regulacji ze sprzężeniem zwrotnym: - układ regulacji kaskadowej - układ regulacji stosunku

WYKŁAD 9 METODY ZMIENNEJ METRYKI

Wykład z równań różnicowych

Stabilność II Metody Lapunowa badania stabilności

#09. Systemy o złożonej strukturze

5. Rozwiązywanie układów równań liniowych

[d(i) y(i)] 2. Do wyprowadzenia algorytmu RLS posłuży kryterium autokorelacyjne: J n = e 2 (i) i=1. λ n i [d(i) y(i)] 2 λ (0, 1]

STATYSTYKA MAŁYCH OBSZARÓW I. WPROWADZENIE

Ważne rozkłady i twierdzenia c.d.

Statystyka opisowa. Wykład V. Regresja liniowa wieloraka

Obliczenia naukowe Wykład nr 8

Baza w jądrze i baza obrazu ( )

Aproksymacja funkcji a regresja symboliczna

Rozdział 8. Regresja. Definiowanie modelu

Stanisław Cichocki. Natalia Nehrebecka

Własności statystyczne regresji liniowej. Wykład 4

Prawdopodobieństwo i statystyka

Algorytmy estymacji stanu (filtry)

Metody Optymalizacji Laboratorium nr 4 Metoda najmniejszych kwadratów

7. Estymacja parametrów w modelu normalnym( ) Pojęcie losowej próby prostej

3. Macierze i Układy Równań Liniowych

Metoda reprezentacyjna

ESTYMACJA BŁĘDU PREDYKCJI I JEJ ZASTOSOWANIA

Politechnika Gdańska Wydział Elektrotechniki i Automatyki Katedra Inżynierii Systemów Sterowania

Ekonometria. Wprowadzenie do modelowania ekonometrycznego Estymator KMNK. Jakub Mućk. Katedra Ekonomii Ilościowej

Systemy Sterowania i Wspomagania Decyzji Wykład 2

INTERPOLACJA I APROKSYMACJA FUNKCJI

Regresja nieparametryczna series estimator

Układy równań liniowych. Ax = b (1)

Przekształcenia liniowe

Wykład 10 Skalowanie wielowymiarowe

STATYSTYKA MAŁYCH OBSZARÓW IV. EMPIRYCZNY NAJLEPSZY PREDYKTOR

Podstawy Automatyki. Wykład 2 - podstawy matematyczne. dr inż. Jakub Możaryn. Warszawa, Instytut Automatyki i Robotyki

Kwantyzacja wektorowa. Kodowanie różnicowe.

Testowanie hipotez statystycznych.

Wykład 5 Estymatory nieobciążone z jednostajnie minimalną war

6. Identyfikacja wielowymiarowych systemów statycznych metodanajmniejszychkwadratów

13 Układy równań liniowych

UKŁADY ALGEBRAICZNYCH RÓWNAŃ LINIOWYCH

Programowanie liniowe

Funkcje wymierne. Funkcja homograficzna. Równania i nierówności wymierne.

1. POJĘCIA PODSTAWOWE I RODZAJE UKŁADÓW AUTOMATYKI

Praca dyplomowa magisterska

Filtracja pomiarów z głowic laserowych

Zrównoleglona optymalizacja stochastyczna na dużych zbiorach danych

Zależność. przyczynowo-skutkowa, symptomatyczna, pozorna (iluzoryczna),

Programowanie liniowe

UKŁADY ALGEBRAICZNYCH RÓWNAŃ LINIOWYCH

Sterowanie napędów maszyn i robotów

Matematyka z el. statystyki, # 6 /Geodezja i kartografia II/

Wykład 3 Równania rózniczkowe cd

Regulator liniowo kwadratowy na przykładzie wahadła odwróconego

Uczenie sieci typu MLP

Zestaw 12- Macierz odwrotna, układy równań liniowych

Podstawy Automatyki. Wykład 7 - obiekty regulacji. dr inż. Jakub Możaryn. Warszawa, Instytut Automatyki i Robotyki

WNIOSKOWANIE W MODELU REGRESJI LINIOWEJ

WYMAGANIA WSTĘPNE W ZAKRESIE WIEDZY, UMIEJĘTNOŚCI I INNYCHY KOMPETENCJI EFEKTY KSZTAŁCENIA

Stosowana Analiza Regresji

Spis treści. Przedmowa... XI. Rozdział 1. Pomiar: jednostki miar Rozdział 2. Pomiar: liczby i obliczenia liczbowe... 16

= Zapiszemy poniższy układ w postaci macierzy. 8+$+ 2&=4 " 5 3$ 7&=0 5$+7&=4

Politechnika Gdańska Wydział Elektrotechniki i Automatyki Katedra Inżynierii Systemów Sterowania

PROGRAMOWANIE NIELINIOWE

w analizie wyników badań eksperymentalnych, w problemach modelowania zjawisk fizycznych, w analizie obserwacji statystycznych.

1 Pochodne wyższych rzędów

Wprowadzenie do technik regulacji automatycznej. prof nzw. dr hab. inż. Krzysztof Patan

Transkrypt:

Filtr Kalmana Struktury i Algorytmy Sterowania Wykład 1-2 prof. dr hab. inż. Mieczysław A. Brdyś mgr inż. Tomasz Zubowicz Politechnika Gdańska, Wydział Elektortechniki i Automatyki 2013-10-09, Gdańsk

Założenia odnośnie filtru Kalmana Przystępując do syntezy filtru Kalmana przyjmuje się następujące założenia: minimum kowariancji liniowość filtru estymaty stanu są nieobciążone: E {x(k)} = E {ˆx(k)}, gdzie ˆx(k) jest estymatą stanu x(k)

Dynamika modelu systemu Równania stanu Niech dany będzie liniowy niestacjonarny model dynamiki systemu: gdzie: x (k + 1) = A (k) x (k) + B (k) u (k) + G (k) z (k) (1) x (k) wektor stanu systemu u (k) wektor wejść sterowanych z (k) wektor wejść zakłócających A (k), B (k), G (k) są odpowiednio niestacjonranymi macierzami stanu systemu, wejść i zakłóceń

Dynamika modelu systemu Równania wyjścia Równanie wyjścia dane jest zależnością: y (k) = C (k) x (k) + v (k) (2) gdzie: y (k) wektor wyjść systemu v (k) wektor szumów pomiarowych C (k) macierz wyjść

Dynamika modelu systemu Zakłócenia i szumy pomiarowe Zakłada się, że zakłócenia z (k) oraz szumy pomiarowe v (k) są sygnałami stochastycznymi takmi, że: E {z (k)} = 0 cov (z (k)) = E {(z } (k) E {z (k)}) (z (k) E {z (k)}) T { } = E z (k) z T (k) = Z (k) (3) E {v (k)} = 0 cov (v (k)) = E {(v } (k) E {v (k)}) (v (k) E {v (k)}) T { } = E v (k) v T (k) = V (k) (4)

Dynamika modelu systemu Zakłócenia i szumy pomiarowe c.d. Autokoralecja zakłóceń i szumów jest równa zeru { } E z (k) z T (j) = 0 ; j k E { } v (k) v T (j) = 0 ; j k (5) Ponadto zakłada się, że nie istnieje korelacja pomiędzy zakłóceniami i szumami pomiarowymi: { } E z (k) v T (j) = 0 (6) dla k j (dla uproszczenia)

Dynamika modelu systemu Warunki początkowe Zakłada się, że warunki początkowe x 0 są znane i w opraciu o ich znajomość mozna wyznaczyć: E E {x 0 } { } x 0 x T 0 = P 0 (7) gdzie: P 0 macierz kowariancji Zanjomość P 0 jest niezbędna do zainicjowania algorytmu filtru Kalmana

Problem Sformułowanie Poszukiwany jest: rekursywny estymator ˆx(k) stanu systemu x (k) który jest liniowy w odniesieniu do pomiarów y (1), y (2),..., y (k) nieobciążony: E {ˆx} = E {x} optymalny: posiada minimalną kowariancję błędu P (k), gdzie { } P (k) = E e (k) e T (k), e (k) = x (k) ˆx (k) to jest dla każdego wektora p i macierzy T, takiego, że p 0 zachodzi: p T P (k) p p T Tp (8)

Problem Spostrzeżenie Niech a będzie wektorem. Rozważ liniową funkcję: a T x (k) (9) Błąd średniokwadratowy dla tej funckji wyraża się: [ ( ( ) ] T E a T x (k) a T ˆx (k)) a T x (k) a T ˆx (k) = = E = E [ ( ( ) ] T a T (x (k) ˆx (k))) a T (x (k) ˆx (k)) [ ] [ ] a T e (k) a T e (k) = E a T e (k) e T (k) a (10) = a T E [ ] e (k) e T (k) a = a T P (k) a minimum

Problem Spostrzeżenie c.d. 1 Minimalizowany jest błąd średnio kwadratowy w kotekście każdej zmiennej stanu z osobna 2 Minimalizowana jest norma błędu średnio kwadratowego, np.: E [ ] e1 2 + e2 2 +... + en 2 minimum (11)

Wyprowadzenie Liniowość i rekursywność Wychodząc z założenia o liniowości i rekursywności poszukiwanego estymatora: ˆx (k) = Jˆx (k 1) + Ky (k) + Lu (k 1) (12) gdzie: J,K,L są poszukiwanymi macierzami takimi, że ˆx (k) jest: nieobciążona estymatą stanu gwarantującą minimum kowariancji błędu estymacji

Wyprowadzenie Nieobciążoność Wykorzystując założenie o nieobciążoności estymat: E {ˆx (k)} = E {Jˆx (k 1) + Ky (k) + Lu (k 1)} = = JE {ˆx (k 1)} + KE {y (k)} + Lu (k 1) (13) = E {x (k)}

Wyprowadzenie Nieobciążoność c.d. Ponieważ ˆx (k 1) jest również nieobciążona: E {ˆx (k)} = JE {ˆx (k 1)} + KE {C(k)x (k) + v (k)} + Lu (k 1) = = JE {x (k 1)} + KC(k)E {x (k)} + Lu (k 1) = = JE {x (k 1)} + KC(k)E +Lu (k 1) = A (k 1) x (k 1) + B (k 1) u (k 1) + G (k 1) z (k 1) + = JE {x (k 1)} + KC(k)A (k 1) E {x (k 1)} + +KC(k)B (k 1) u (k 1) + Lu (k 1) (14)

Wyprowadzenie Nieobciążoność c.d. Wykorzystując fakt, że: E {ˆx(k)} = E {x(k)} oraz: E {x(k)} = A(k 1)E {x(k 1)} + B(k 1)u (k 1) (15) E {ˆx (k)} = JE {x (k 1)} + KC(k)A (k 1) E {x (k 1)} + +KC(k)B (k 1) u (k 1) + Lu (k 1) (16) można wyznaczyć wartości macierzy J oraz L

Wyprowadzenie Wartości macierzy J i L Z porównania równań (15) oraz (16) wynika: J + KC(k)A (k 1) = A (k 1) L + KC(k)B (k 1) = B (k 1) (17) skąd w rezultacie otrzymano: J(k) = (I KC(k)) A (k 1) L(k) = (I KC(k)) B (k 1) (18) UWAGA: macierze J(k) i L(k) są niestacjonarne!

Struktura estymatora predyktor - korektor Wykorzystując J(k) i L(k), ˆx (k) przyjmuje postać: ˆx (k) = [I KC(k)] A (k 1) ˆx (k 1) + + [I KC(k)] B (k 1) u (k 1) + Ky(k) (19) co po uporządkowaniu: ˆx (k) = A (k 1) ˆx (k 1) + B (k 1) u (k 1) + +K [y(k) C(k) (A(k 1)ˆx(k 1)) + B(k 1)u(k 1)] (20) gdzie: A (k 1) ˆx (k 1) + B (k 1) u (k 1) stanowi predykcję stanu systemu x (k) liczoną w opraciu o dane z chwili k 1, co oznaczamy: ˆx (k k 1) Cˆx(k k 1) stanowi predykcję pomiaru y(k) wykonaną w chwili k 1, co oznaczamy: ŷ (k k 1).

Struktura estymatora predyktor - korektor c.d. Struktura estymatora ma ogólną postać: ˆx (k) }{{} = ˆx (k k 1) }{{} + K [y(k) ŷ (k k 1)] }{{} aktualna estymata predykcja stanu }{{} } predykcja błedu pomiarowego {{} człon predykcyjny człon korekcyjny (21) gdzie: ŷ(k k 1) jest to wektor predykcji pomiarow y(k): ŷ(k k 1) = Cˆx(k k 1) ˆx(k k 1) jest to predykcja estymaty stanu ˆx(k): ˆx(k k 1) = A(k 1)ˆx(k 1) + B(k 1)u(k 1) wyznaczana w chwili k jako transfer ˆx(k 1) zgodny z równaniami stanu systemu, gdzie z(k 1) zastąpione jest przez E {z(k 1)} = 0

Błąd predykcji Definiując błąd predykcji jako: e(k k 1) = x(k) ˆx(k k 1) (22) wykorzystując równania stanu x(k) rozważanego systemu oraz wyznaczoną predykcję estymaty stanu ˆx(k k 1): e(k k 1) = A(k 1)x(k 1) + B(k 1)u(k 1)+ +G(k 1)z(k 1)+ (23) A(k 1)ˆx(k 1) B(k 1)u(k 1)

Błąd predykcji c.d. Wykorzystując definicję błedu predykcji oraz redukując B(k 1)u(k 1) otrzymano: e(k k 1) = A(k 1)e(k 1) + G(k 1)z(k 1) (24) A(k 1)e(k 1) dynamika wewnętrzna błędu predykcji zależna od dynamiki stanu systemu G(k 1)z(k 1) wpływ zakłóceń stanu systemu na błąd predykcji

Kowaraincja błędu predykcji Wyznaczanie kowaraincji błędu predykcji P(k k 1): P(k k 1) = E { [e(k k 1) E {e(k k 1)}] [ ] T } = = E e(k k 1) A(k 1) E {e(k 1)} [ ] T }{{} = =0 = E { } e(k k 1)e T (k k 1)

Kowaraincja błędu predykcji c.d. Kontynuując: P(k k 1) = E = E { } e(k k 1)e T (k k 1) { [A(k 1)e(k 1) + G(k 1)z(k 1)] [ ] T } = = E A(k 1)e(k 1) + G(k 1)z(k 1) }{{}}{{} a b A T (k 1)e T (k 1) + G T (k 1)z T (k 1) }{{}}{{} c d

Kowaraincja błędu predykcji c.d. Kontynuując: P(k k 1) = E {a c} + E {a d} + E {b c} + E {b d} = = A(k 1)E { } e(k 1)e T (k 1) A T (k 1)+ +E {a d} + E {b c} + +G(k 1)E = A(k 1)E +G(k 1)E { } z(k 1)z T (k 1) G T (k 1) = { } e(k 1)e T (k 1) A T (k 1)+ +E {a d} + E {b c} { } z(k 1)z T (k 1) G T (k 1)+

Kowaraincja błędu predykcji c.d. Oszacowanie E {a d}: a e(k 1) = e(k 1) [x 0, ˆx 0, z(0),..., z(k 2), v(0),..., v(k 1)] d = z(k 1) (25) z(k{ 1) nie jest skorelowane } z x 0,, ˆx 0, z(0),..., z(k 2) oraz E e(k 1)z T (k 1) = 0, stąd: E {a d} = A(k 1)E Analogicznie E {b c} = 0. A zatem: { } e(k 1)z T (k 1) G T (k 1) = 0 (26) P(k k 1) = A(k 1)P(k 1)A T (k 1)+G(k 1)Z(k 1)G T (k 1) (27)

Wyznaczanie wartości macierzy P(k) Wychodząc z definicji macierzy P(k): P(k) = E { } { } e(k)e T (k) = E (x(k) ˆx(k)) (x(k) ˆx(k)) T (28) oraz wykorzystując zależność: ˆx(k) = A(k 1)ˆx(k 1) + K [y(k) C(k)ˆx(k k 1)] +B(k 1)u(k 1) = = ˆx(k k 1) KC(k)ˆx(k k 1) + Ky(k) (29)

Wyznaczanie wartości macierzy P(k) c.d. Otrzymano: P(k) = E = E {[ x(k) [I KC(k)] ˆx(k k 1) KC(k)x(k) Kv(k) ] [ ] T } = { [(I KC(k)) e(k k 1) Kv(k)] [ ] T } = { } = E (I KC(k)) e(k k 1)e T (k k 1) (I KC(k)) T + { } +E Kv(k)v T (k)k T = (30) poniważ korelacja pomiedzy z, a v jest równa zero

Wyznaczanie wartości macierzy P(k) c.d. Kontynuując: { } P(k) = (I KC(k)) E e(k k 1)e T (k k 1) (I KC(k)) T + { } +KE v(k)v T (k) K T (31) Podsumowując, wartość macierzy P(k) można wyznaczyć z zalezności: P(k) = [I KC(k)] P(k k 1) [I KC(k)] T + KV(k)K T (32) Zauważmy, że P(k) jest funkcją macierzy K stanowiącej nadal wolny stopień swobody!

Wyznaczanie wartości macierzy P(k) c.d. Para równań: P(k k 1) = A(k 1)P(k 1)A T (k 1)+G(k 1)Z(k 1)G T (k 1) (33) P(k) = [I KC(k)] P(k k 1) [I KC(k)] T + KV(k)K T (34) stanowi kompletny zestaw pozwalający na wyznaczenie wartości macierzy kowariancji błędu P(k), przy ząłożeniu, że znana jest wartość K

Wyznaczanie wartości macierzy P(k) c.d. Do inicjalizacji algorytmu niezbędna jest znajomość: wartości początkowej kowariancji: P(0) = P 0 (35) wartości oczekiwanej stanu początkowego: ˆx(0) = E {x 0 } (36)

Optymalizacja P(k) względem K Niech K K + K, wtedy: P(k) = [I (K + K)C(k)] P(k k 1) [I (K + K)C(k)] T + +(K + K)V(k)(K + K) T + [I KC(k)] P(k k 1) [I KC(k)] T + KV(k)K T (37) pomijając wyrażenia drugiego rzędu w odniesieniu do K: P(k) = K [ C(k)P(k k ] 1) (I KC(k)) T + V(k)K T + [ ] + (I KC(k)) P(k k 1)C T (k) + KV(k) K T (38)

Optymalizacja P(k) względem K c.d. Przyrost wartości macierzy P(k): odpowiada wartości macierzy K: P(k) = 0 (39) [ 1 K(k) = P(k k 1)C T (k) C(k)P(k k 1)C T (k) + V(k)] (40)

Równania rekursywnego filtru Kalmana Kompletny zestaw rownań pozwalający na rekursywną estymację stanu składa się z: P(k k 1) = A(k 1)P(k 1)A T (k 1)+ +G(k 1)Z(k 1)G T (k 1) (41) P(k) = [I KC(k)] P(k k 1) [I KC(k)] T + KV(k)K T (42) [ 1 K(k) = P(k k 1)C T (k) C(k)P(k k 1)C T (k) + V(k)] (43) UWAGA: K(k) nie jest funkcją zależną od obserwacji (pomiarów), a zatem może być wyznaczona odpowiednio wcześniej

Podsumowanie k-ty krok estymacji Uaktualnienie równań rekursywango estymatora z chwili k 1 do k: w chwili czasu k 1 znane są: ˆx(k 1) oraz ˆx(k k 1), gdzie: ˆx(k k 1) = A(k 1)ˆx(k 1) + B(k 1)u(k 1) (44) a także P(k 1) oraz P(k k 1) wyznaczone zgodnie z (41) i (42) w oparciu o aktualny pomiar (chwila czasu k) wyznaczana jest bieżąca estymata stanu ˆx(k): ˆx(k) = ˆx(k k 1) + K(k) [y(k) C(k)ˆx(k k 1)] (45) gdzie K(k) wyznaczana jest z (43)

Podsumowanie Reprezentacja graficzna

Pytania?