To znaczy, jeśli masz jako zmienne stanu pozycję ( p ) i prędkość ( v ), a ja wykonuję pomiary p o niskiej częstotliwości , to również pośrednio daje mi informacje o v (ponieważ jest to pochodna p ). Jaki jest najlepszy sposób radzenia sobie z takim związkiem?
A) Czy na etapie aktualizacji powinienem tylko powiedzieć, że zmierzyłem p i polegałem na procesie filtrowania oraz mojej skumulowanej macierzy kowariancji stanu ( P ), aby poprawić v ?
B) Czy powinienem utworzyć „dodatkowy” krok predykcji, przed lub po moim kroku aktualizacji dla pomiaru p , który wykorzystuje mój zmierzony p i (stosunkowo duży) czas delta do wykonania prognozy o dużej wariancji v ?
C) Czy na etapie aktualizacji / pomiaru powinienem powiedzieć, że dokonałem pomiaru zarówno p, jak i v , a następnie jakoś zakodować informacje o ich współzależności w macierzy współosiowości pomiaru ( R )?
Aby uzyskać więcej informacji, oto konkretna sytuacja, w której napotkałem problem:
Pracuję z systemem, w którym chcę oszacować pozycję ( p ) obiektu i wykonuję częste pomiary przyspieszenia ( a ) i rzadkie pomiary hałasu o wartości p .
Obecnie pracuję z bazą kodu, która robi to z rozszerzonym filtrem Kalmana, w którym zachowuje się jak zmienne stanu p i v . Wykonuje krok „przewidywania” po każdym pomiarze przyspieszenia, w którym wykorzystuje zmierzony czas a i delta do całkowania i przewidywania nowych wartości p i v . Następnie wykonuje krok „aktualizacja” / „pomiar” dla każdego (rzadkiego) pomiaru p .
Problem w tym, że od czasu do czasu dostaję pomiary wysokiego błędu a , które powodują bardzo błędne v . Oczywiście dalsze pomiary a nigdy tego nie poprawią, ale pomiary p powinny się tego pozbyć. I faktycznie wydaje się, że tak się dzieje ... ale BARDZO powoli.
Myślałem, że może to częściowo wynikać z tego, że jedynym sposobem, w jaki p wpływa na v w tym układzie, jest macierz kowariancji P - tj. Metoda A) z góry - która wydaje się dość pośrednia. Zastanawiałem się, czy byłby lepszy sposób na włączenie naszej wiedzy o tej zależności między p i v do modelu, aby pomiary p poprawiłyby v szybciej.
Dzięki!
źródło
Odpowiedzi:
W idealnym świecie miałbyś odpowiedni model i używałbyś go.
W twoim przypadku model nie jest idealny.
Jednak kroki, które sugerujesz, oparte są na wiedzy, którą posiadasz na temat procesu - którą powinieneś uwzględnić w równaniu procesu za pomocą macierzy modelu dynamicznego:
Klasyczny i poprawny sposób danej macierzy F jest budowany poprawnie zgodnie z twoją wiedzą.
„Dodatkowy” krok przewidywania nic nie da, ponieważ i jeśli ramy czasowe, powinieneś odpowiednio zmienić i co powinno cię na końcu łańcucha małych kroków ten sam P_k_k-1. QRFik=FijFjk Q R
Podsumowując, trzymaj się „klasycznego”.
źródło