Kálmán-szűrő

A Wikipédiából, a szabad enciklopédiából

A Kálmán-szűrő egy algoritmus, mely mozgó, változó rendszerek állapotáról ad optimális becslést sorozatos mérésekkel, figyelembe véve az állapot méréseket és a zavaró tényezőket (zajok, bizonytalanságok, pontatlanságok). Ezzel az algoritmussal jóval pontosabb információ kapható a vizsgált tárgyról, mintha csak 1 mérést végeznének el. Más szóval a Kálmán szűrő a zajos bemenő adatok rekurzív mérésével egy optimális becslést ad a mérés tárgyának állapotáról.[1]

A Kálmán-szűrőt E. Rudolf Kálmán (1930 –) amerikai villamosmérnökről nevezték el. Kálmán Rudolf 1943-ban emigrált Magyarországról szüleivel az Amerikai Egyesült Államokba.

A Kálmán-szűrőnek számos felhasználási területe van, általánosan használják navigációs, irányítás-vezérléseknél, különösen repülőgépeknél, űrhajóknál, robotrepülőgépeknél. A Kálmán-szűrőt széles körben alkalmazzák jelfeldolgozó rendszerekben, és az ökonometria területén.

Az algoritmus két lépésben működik. Az első becslési lépésben, a Kálmán–szűrő kiszámolja az aktuális állapotváltozókat, a bizonytalanságokkal együtt. A következő mérés eredményeit súlyozott átlagolással veszi figyelembe. A sorozatos valósidejű mérések során az átlagolás eredményeként egyre jobb értékek adódnak, ahol a zajok és egyéb zavaró tényezők kiesnek. Az algoritmus rekurzív jellegű, csak a utolsó méréseket veszi figyelembe, korábbi mérési eredményeket nem használ fel. Elméletileg, a Kálmán-szűrő alapfeltevése az, hogy a vizsgált rendszer egy lineáris dinamikus rendszer, és minden hibafüggvény és -mérésnek is normális eloszlása van (gyakran többváltozós a normális eloszlás).

A Kálmán-szűrőnek számos kiterjesztése és általánosítása létezik, ilyenek például a bővített Kálmán-szűrő, vagy nemlineáris rendszerekre kiterjesztett változat. Az alapul szolgáló modell a Bayes-féle modell.

Története[szerkesztés | forrásszöveg szerkesztése]

A szűrőt Kálmán Rudolfról nevezték el, aki 1960-ban fejlesztette ki az algoritmust. Thorwald Nicolai és Peter Swerling is fejlesztett hasonló algoritmust kissé korábban (1958). Richard S. Bucy is hozzájárult az algoritmus fejlesztéséhez, ezért szokták az algoritmust Kálmán-Bucy szűrőnek is hívni. Első jelentős alkalmazása a NASA kutatóközpontjában történt, ahol az Apollo-programban alkalmazták az eljárást, az űrhajók navigációs rendszerének optimalizálására.

A Kálmán-szűrőnek jelentős szerepe van az US Navy (USA haditengerészete) nukleáris tengeralattjárók ballisztikus rakétái irányításában, valamint a cirkáló rakétáinak vezérlésénél. Az US Air Force (USA légierő) minden rakétájában Kálmán-szűrő stabilizálja az irányítást. Az űrsikló is Kálmán-szűrővel működik, továbbá a Nemzetközi Űrállomás. A szűrő egy változatát Stratonovich–Kalman–Bucy szűrőnek is hívják, ez egy speciális változat, mely nemlineáris rendszerek stabilizálására alkalmas, a szovjet matematikus, Ruszlan L. Sztratonovics fejlesztette[2][3][3]

Kálmán számos nemzetközi elismerésben részesült, megkapta a legnagyobb japán tudományos elismerést, a Kiotó-díjat, a legnagyobb amerikai mérnöki rangot, az Amerikai Tudományos Akadémia Mérnök Tagozatának Charles Stark Draper díját, sok más akadémia tiszteletbeli tagságát, egyetemi díszdoktorságokat, köztük a Budapesti Műszaki Egyetemét is.

2009-ben a National Medal of Science-t, a legmagasabb amerikai tudományos elismerést kapta, melyet a mindenkori amerikai elnök ad át személyesen. A díjat olyanok kapják, akik nemcsak az Egyesült Államoknak, hanem az egész emberiségnek az életviszonyait és gondolkodásmódját változtatták meg. Az ugyancsak Magyarországon született Kármán Tódor, az amerikai szilárdságtani és aviatikai kutatás atyja volt a National Medal of Science díj első kitüntetettje 1963-ban.

Működése[szerkesztés | forrásszöveg szerkesztése]

A Kálmán-szűrő a szóban forgó rendszer vezérlési bemenő adataiból indul ki, és sorozatos méréseket végez, ebből becslést szintetizál a kimenő adatokra, mely jobb eredményt ad, mintha egy mérést végeztek volna. Ez hasonló az érzékelő fúziós és az adat fúziós algoritmusokhoz. A Kálmán-szűrő átlagolja a rendszer állapotainak becsült adatait, és új méréssel súlyozott átlagolást végez. A súlyozást a kovarianciából számolja, mely a rendszer állapotainak becsléséből származó becsült bizonytalanságokból származik. A súlyozott átlag eredménye egy új állapotbecslés, mely a becsült és mért állapot között van. A folyamat lépésenként ismétlődik egy iterációs eljárással. A Kálmán-szűrő rekurzív módon működik és csak az utolsó legjobb eredményt veszi figyelembe, szemben a rendszer teljes történetével.

Mivel gyakran nehéz a mérést precízen elvégezni, a Kálmán-nyereséget figyelembe kell venni. A Kálmán-nyereség a mérések relatív bizonyosságának függvénye, és „hangolható” partikuláris teljesítményre. Magas fokú nyereség esetén több súlyozást alkalmaz, és így szorosabban követi a mérést. Alacsonyabb súlyozáskor a modellbecslés szorosabb, kisimítva a zajokat. Szélső esetben az egyes nyereségnél nem veszi figyelembe az állapotbecslést, míg zéró nyereségnél a mérést eldobja. Az aktuális számításkor a szűrő az állapotbecsléseket és a kovarianciákat egy mátrixban kódolja. Ezzel lehetővé válik a különböző állapotváltozók (pozíció, sebesség, gyorsulás) közötti lineáris kölcsönhatás, és az átmenetek kezelése.

Példa[szerkesztés | forrásszöveg szerkesztése]

Tekintsük azt a problémát, amikor egy gépjármű precíz helyzetét kell meghatározni. A gépjárművön lehet egy GPS-készülék, mely néhány méter szórással meghatározza a pozíciót. A GPS eredménye zajos lehet, de az abból származó bizonytalanság mindig néhány méteren belül marad. Mivel a jármű a fizika törvényei szerint működik, kiszámítható a sebesség és a gyorsulás a kerekek fordulatszámából. Ezek elég jó becslést adnak, de idővel a csúszások miatt kis hibák bejöhetnek. Itt a Kálmán-szűrő két külön fázisban működhet: becslés és frissítés. A becslési fázisban a jármű régi pozíciója változik a fizika mozgástörvényeinek megfelelően, a gázpedál és a kormány változásait figyelembe véve. Nem csak egy új pozíciót számolunk ki, hanem egy új kovariancia is keletkezik. Bizonytalanságok lehetnek a „dead reckoning” becsléssel kapcsolatban nagyobb sebességeknél, de biztosabbak lassúbb sebességnél. (a ’dead reckoning’ az a folyamat, amikor valaminek a pozícióját az előző helyzetéből számoljuk ki).

A frissítő fázisban a jármű pozícióját a GPS egységből származtatjuk. Ezzel a méréssel is bejön némi bizonytalanság, a kovarianciája relatív ahhoz a becsléshez, mely a megelőző fázis méréséből ered és mennyiből befolyásolja az új mérés a frissített becslést. Ideálisan, ha a „dead reckoning” becslés eltérést mutat a valós pozíciótól, a GPS mérési eredmény pozícióbecslését vissza kell számítani a valós pozícióhoz, nem zavarva a gyors változást és a zajt.

Kiegészítések[szerkesztés | forrásszöveg szerkesztése]

Az évek során számos új módszert fejlesztettek ki a Kálmán-szűrő működésének további optimalizálására. Ilyenek, például a Kálmán–Bucy módszer, a kiterjesztett Kálmán-szűrő, a minimális szórásnégyzetű modell, vagy a hibrid Kálmán-szűrő, stb.[4][5][6][7][8]

Kapcsolódó szócikkek[szerkesztés | forrásszöveg szerkesztése]

További információk[szerkesztés | forrásszöveg szerkesztése]

Források[szerkesztés | forrásszöveg szerkesztése]

  1. http://www.tristanfletcher.co.uk/LDS.pdf
  2. . Stratonovich, R.L. (1959). Optimum nonlinear systems which bring about a separation of a signal with constant parameters from noise. Radiofizika, 2:6, pp. 892–901.
  3. ^ a b Stratonovich, R.L. (1959). On the theory of optimal non-linear filtering of random functions. Theory of Probability and its Applications, 4, pp. 223–225.
  4. Kalman filters used in Weather models, SIAM News, Volume 36, Number 8, October 2003.
  5. Julier, S.J.; Uhlmann, J.K. (1997). "A new extension of the Kalman filter to nonlinear systems". Int. Symp. Aerospace/Defense Sensing, Simul. and Controls 3.
  6. Martin Møller Andreasen (2008). "Non-linear DSGE Models, The Central Difference Kalman Filter, and The Mean Shifted Particle Filter". ftp://ftp.econ.au.dk/creates/rp/08/rp08_33.pdf
  7. Wan, Eric A. and van der Merwe, Rudolph "The Unscented Kalman Filter for Nonlinear Estimation"
  8. Julier, S.J.; Uhlmann, J.K. (1997). "A new extension of the Kalman filter to nonlinear systems". Int. Symp. Aerospace/Defense Sensing, Simul. and Controls