{"id":2821,"date":"2020-07-17T08:39:08","date_gmt":"2020-07-17T06:39:08","guid":{"rendered":"https:\/\/botland.com.pl\/blog\/?p=2821"},"modified":"2023-05-24T09:50:55","modified_gmt":"2023-05-24T07:50:55","slug":"filtr-kalmana-podstawy-teoretyczne","status":"publish","type":"post","link":"https:\/\/botland.com.pl\/blog\/filtr-kalmana-podstawy-teoretyczne\/","title":{"rendered":"Filtr Kalmana &#8211; Podstawy teoretyczne"},"content":{"rendered":"<span class=\"span-reading-time rt-reading-time\" style=\"display: block;\"><span class=\"rt-label rt-prefix\">Czas czytania:<\/span> <span class=\"rt-time\"> 8<\/span> <span class=\"rt-label rt-postfix\">min.<\/span><\/span>\t\t<div data-elementor-type=\"wp-post\" data-elementor-id=\"2821\" class=\"elementor elementor-2821\" data-elementor-post-type=\"post\">\n\t\t\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-ec03b9c elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"ec03b9c\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-6c7e8469\" data-id=\"6c7e8469\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-430f3cb4 elementor-widget elementor-widget-text-editor\" data-id=\"430f3cb4\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>Szeroki zakres nauk technicznych potrzebuje odpowiednich narz\u0119dzi matematycznych do opisu rozmaitych zjawisk. Zar\u00f3wno automatyka, robotyka, teoria i uk\u0142ady sterowania, elektronika, elektroakustyka, cyfrowe przetwarzanie sygna\u0142\u00f3w jak i dziedziny pokrewne opieraj\u0105 si\u0119 na algebrze liniowej, rachunku operatorowym, algorytmach genetycznych, metodach numerycznych, a tak\u017ce logice rozmytej i innych dzia\u0142ach matematyki. Obok popularnych w naukach technicznych narz\u0119dzi matematycznych jak transformata Laplace\u2019a, transformata Z, czy metoda element\u00f3w sko\u0144czonych, szczeg\u00f3lnie wyr\u00f3\u017cnia si\u0119 algorytm, kt\u00f3ry zrewolucjonizowa\u0142 m.in. kosmonautyk\u0119, a jest nim <strong>filtr Kalmana<\/strong>. Jest to jedno z klasycznych narz\u0119dzi estymacji, kt\u00f3re jest u\u017cywane w takich aplikacjach jak przetwarzanie sygna\u0142\u00f3w, sterowanie nap\u0119dami elektrycznymi, uk\u0142ady autonomicznego sterowania pojazdami, a tak\u017ce zarz\u0105dzanie prac\u0105 procesor\u00f3w w komputerach. W fachowej literaturze filtr Kalmana jest najcz\u0119\u015bciej opisywany w szczeg\u00f3lnych przypadkach aplikacji, takich jak roboty autonomiczne czy liniowe uk\u0142ady regulacji automatycznej z szumem o rozk\u0142adzie Gaussa, co znacznie utrudnia przedstawienie zagadnienia od strony fundamentalnej w przejrzysty spos\u00f3b. Nasz artyku\u0142 opisuje dyskretny filtr Kalmana z u\u017cyciem rachunku wektor\u00f3w i macierzy oraz obrazuje praktyczny przyk\u0142ad jego zastosowania.<\/p><h3>Czym jest filtr Kalmana?<\/h3><p><strong>Filtr Kalmana to specjalny algorytm, kt\u00f3ry zosta\u0142 opracowany i zaprezentowany na pocz\u0105tku lat 60. XX w. przez Rudolfa Emila Kalmana<\/strong> (1930-2016) &#8211; w\u0119giersko-ameryka\u0144skiego in\u017cyniera elektryka. Filtr Kalmana mo\u017cemy wykorzysta\u0107 w ka\u017cdej aplikacji, w kt\u00f3rej wyst\u0119puje obni\u017cona wiarygodno\u015b\u0107 informacji nt. parametr\u00f3w uk\u0142ad\u00f3w dynamicznych. W\u00f3wczas mo\u017cemy tak\u017ce przewidywa\u0107, jakie zdarzenia mog\u0105 wyst\u0105pi\u0107 w nast\u0119pnej kolejno\u015bci. Dzieje si\u0119 to na podstawie dotychczas zebranych informacji. Uwzgl\u0119dnia si\u0119 w\u00f3wczas wiele czynnik\u00f3w warunkowych, kt\u00f3re mog\u0105 si\u0119 zmienia\u0107 i mie\u0107 znacz\u0105cy wp\u0142yw na wynik dzia\u0142ania uk\u0142adu automatyki, w kt\u00f3rym filtr Kalmana jest zaimplementowany. Ten algorytm znakomicie sprawdza si\u0119 w uk\u0142adach dynamicznych, w kt\u00f3rych parametry zmieniaj\u0105 si\u0119 w spos\u00f3b ci\u0105g\u0142y i do prawid\u0142owego funkcjonowania nie potrzebuj\u0105 du\u017cej ilo\u015bci pami\u0119ci, a jedynie stan uk\u0142adu poprzedzaj\u0105cy kolejny. Wa\u017cnym czynnikiem, kt\u00f3ry temu sprzyja, jest wysoka szybko\u015b\u0107 dzia\u0142ania algorytmu, dzi\u0119ki czemu z powodzeniem jest implementowany w aplikacjach czasu rzeczywistego oraz w systemach wbudowanych.<\/p><h3>Filtr Kalmana &#8211; w jakich aplikacjach warto go zastosowa\u0107?<\/h3><p>Zanim zobrazujemy algorytm przedstawiaj\u0105cy zasad\u0119 dzia\u0142ania filtru Kalmana, pos\u0142u\u017cymy si\u0119 jednym ze sprz\u0119towych przyk\u0142ad\u00f3w jego zastosowania, a b\u0119dzie nim robot, kt\u00f3ry mo\u017ce przemieszcza\u0107 si\u0119 po g\u0119sto zadrzewionych terenach le\u015bnych. Musi on dok\u0142adnie zna\u0107 swoj\u0105 lokalizacj\u0119 w celu prawid\u0142owego dzia\u0142ania wbudowanego systemu nawigacji.<\/p><p>Mo\u017cemy w\u00f3wczas powiedzie\u0107, \u017ce nasz robot jest okre\u015blony za pomoc\u0105 zmiennej stanu <span style=\"font-weight: 400;\">x<\/span><span style=\"font-weight: 400;\">k<\/span><span style=\"font-weight: 400;\">, <\/span>, kt\u00f3ra to zmienna jest definiowana za pomoc\u0105 wektora maj\u0105cego dwie sk\u0142adowe &#8211; pozycj\u0119 <span style=\"font-weight: 400;\">p <\/span>i pr\u0119dko\u015b\u0107 <span style=\"font-weight: 400;\">v<\/span><span style=\"font-weight: 400;\">:<\/span><\/p><p id=\"gdcalert5\"><img decoding=\"async\" class=\"aligncenter size-full wp-image-2822\" src=\"https:\/\/botland.com.pl\/blog\/wp-content\/uploads\/2020\/01\/3.1.png\" alt=\"\" width=\"77\" height=\"29\" \/>(3.1)<\/p><p>Stan uk\u0142adu jest okre\u015blony przez dane liczbowe okre\u015blaj\u0105ce jego podstawow\u0105 konfiguracj\u0119 i mog\u0105 to by\u0107 dane liczbowe dla dowolnych wielko\u015bci. W naszym przypadku tymi wielko\u015bciami s\u0105 pozycja i pr\u0119dko\u015b\u0107, ale dla innych uk\u0142ad\u00f3w mog\u0105 to by\u0107 tak\u017ce pozosta\u0142a ilo\u015b\u0107 paliwa w zbiorniku w samochodzie, temperatura grota w kolbie stacji lutowniczej, pr\u0105d w obwodzie wzbudzenia generatora synchronicznego i wiele innych parametr\u00f3w, kt\u00f3re w zale\u017cno\u015bci od aplikacji wymagaj\u0105 \u015bledzenia warto\u015bci. Robot w prezentowanym przyk\u0142adzie jest wyposa\u017cony w system nawigacji GPS, kt\u00f3ry jest w stanie okre\u015bli\u0107 jego wsp\u00f3\u0142rz\u0119dne z dok\u0142adno\u015bci\u0105 do dziesi\u0119ciu metr\u00f3w. Jest to wynik zadowalaj\u0105cy, ale jest wymagane, aby wbudowany system GPS by\u0142 jeszcze bardziej dok\u0142adny z uwagi na zmienno\u015b\u0107 rozmaitych parametr\u00f3w terenu, po kt\u00f3rym robot si\u0119 porusza. W najgorszym wypadku przy dok\u0142adno\u015bci pomiaru wsp\u00f3\u0142rz\u0119dnych co do dziesi\u0119ciu metr\u00f3w robot mo\u017ce nawet spa\u015b\u0107 w przepa\u015b\u0107.\u00a0<\/p><p>Przy dok\u0142adnym wyznaczeniu toru ruchu robota niezb\u0119dna jest znajomo\u015b\u0107 parametr\u00f3w poszczeg\u00f3lnych sygna\u0142\u00f3w steruj\u0105cych jego zespo\u0142em nap\u0119dowym &#8211; w\u00f3wczas system GPS ,,wie\u201d, \u017ce gdy robot przemieszcza si\u0119 wykonuj\u0105c ruch quasi-prostoliniowy, to w nast\u0119pnym kroku b\u0119dzie on prawdopodobnie kontynuowa\u0142 ruch w ten sam spos\u00f3b i w tym samym kierunku. W dalszym ci\u0105gu jednak,robot nie b\u0119dzie otrzymywa\u0142 informacji nt. czynnik\u00f3w \u015brodowiskowych, kt\u00f3re mog\u0105 wp\u0142ywa\u0107 na jego ruch, np. za spraw\u0105 podmuch\u00f3w wiatru, \u015bliskiego pod\u0142o\u017ca, a tak\u017ce nier\u00f3wno\u015bci terenu i przeszk\u00f3d drogowych uprzednio nieprzewidzianych (np. le\u017c\u0105ce konary drzew).\u00a0<span style=\"font-size: 1rem;\">W\u00f3wczas liczba obrot\u00f3w wykonywanych przez ko\u0142a jezdne robota, mo\u017ce nieprawid\u0142owo odwzorowywa\u0107 jego przemieszczanie, wskutek czego wynik przewidywania kolejnego kroku opisuj\u0105cego przemieszczenie robota, mo\u017ce okaza\u0107 si\u0119 b\u0142\u0119dny.\u00a0<\/span><\/p><p><span style=\"font-size: 1rem;\">Czujniki systemu GPS dostarczaj\u0105 po\u015brednich informacji o stanie uk\u0142adu (robota) nt. jego sposobu poruszania si\u0119 po torze jazdy, ale z ograniczon\u0105 dok\u0142adno\u015bci\u0105. Niemniej jednak, okazuje si\u0119, \u017ce dane otrzymywane z czujnik\u00f3w GPS, mo\u017cna u\u017cy\u0107 w procesie estymacji (szacowania), dzi\u0119ki czemu mo\u017cemy uzyska\u0107 pomiar wsp\u00f3\u0142rz\u0119dnych o zwi\u0119kszonej dok\u0142adno\u015bci. W\u0142a\u015bnie m.in. w takim celu sprawdza si\u0119 algorytm znany jako filtr Kalmana.<\/span><\/p><h3>Filtr Kalmana &#8211; pocz\u0105tek algorytmu<\/h3><p>Aby rozpocz\u0105\u0107 algorytm filtru Kalmana, zapiszmy r\u00f3wnanie wektora stanu (3.1) w postaci macierzowej:<\/p><p><img decoding=\"async\" class=\"aligncenter size-full wp-image-2823\" src=\"https:\/\/botland.com.pl\/blog\/wp-content\/uploads\/2020\/01\/3.2.png\" alt=\"\" width=\"105\" height=\"87\" \/>(3.2)<\/p><p>Nie znamy obecnej pozycji i pr\u0119dko\u015bci obiektu, poniewa\u017c istnieje okre\u015blony zbi\u00f3r obejmuj\u0105cy ca\u0142y zakres mo\u017cliwych kombinacji pozycji i pr\u0119dko\u015bci, kt\u00f3re mog\u0105 si\u0119 okaza\u0107 zgodne z rzeczywisto\u015bci\u0105, ale po\u015br\u00f3d nich s\u0105 takie, kt\u00f3re s\u0105 mniej jak i bardziej zgodne z rzeczywistymi warto\u015bciami. Algorytm filtru Kalmana zak\u0142ada, \u017ce obie zmienne stanu (w badanym przypadku s\u0105 to pozycja i pr\u0119dko\u015b\u0107 obiektu) s\u0105 roz\u0142o\u017cone wg rozk\u0142adu Gaussa (rozk\u0142adu normalnego). Ka\u017cda ze zmiennych ma swoj\u0105 warto\u015b\u0107 \u015bredni\u0105, kt\u00f3ra znajduje si\u0119 w \u015brodkowym po\u0142o\u017ceniu rozk\u0142adu losowego i jest jednocze\u015bnie warto\u015bci\u0105 oczekiwan\u0105 oraz wariancj\u0119, kt\u00f3ra okre\u015bla niepewno\u015b\u0107 pomiaru. Z pozoru, pozycja i pr\u0119dko\u015b\u0107 obiektu nie s\u0105 ze sob\u0105 powi\u0105zane, co oznacza, \u017ce informacja o stanie pojedynczej zmiennej (sk\u0142adowej wektora stanu) nie b\u0119dzie wystarczaj\u0105ca do okre\u015blenia drugiej zmiennej. W rzeczywisto\u015bci, pozycja i pr\u0119dko\u015b\u0107 obiektu s\u0105 wzgl\u0119dem siebie powi\u0105zane, tzn. prawdopodobie\u0144stwo zaobserwowania szczeg\u00f3lnej warto\u015bci zmiennej okre\u015blaj\u0105cej pozycj\u0119 obiektu jest zale\u017cne od jego pr\u0119dko\u015bci.\u00a0<\/p><p>Taka sytuacja mo\u017ce wyst\u0105pi\u0107 przyk\u0142adowo wtedy, gdy znaj\u0105c poprzedni\u0105 pozycj\u0119 obiektu pr\u00f3bujemy ustali\u0107 jego aktualn\u0105 pozycj\u0119. Je\u015bli pr\u0119dko\u015b\u0107 obiektu b\u0119dzie zbyt wysoka, w\u00f3wczas nast\u0119pny wykonany pomiar pozycji obiektu b\u0119dzie bardziej odleg\u0142y. Je\u015bli natomiast obiekt b\u0119dzie porusza\u0142 si\u0119 z mniejsz\u0105 pr\u0119dko\u015bci\u0105, w\u00f3wczas pomiar pozycji w por\u00f3wnaniu do poprzedniego pomiaru b\u0119dzie wykazywa\u0142 przemieszczenie obiektu o mniejsz\u0105 odleg\u0142o\u015b\u0107 ni\u017c przy wi\u0119kszej pr\u0119dko\u015bci. Zwi\u0105zek mi\u0119dzy pozycj\u0105 a pr\u0119dko\u015bci\u0105 obiektu, jest bardzo wa\u017cny przy jego \u015bledzeniu, poniewa\u017c daje cenn\u0105 informacj\u0119 &#8211; pojedynczy pomiar parametr\u00f3w naprowadza na potencjalne wyniki kolejnych pomiar\u00f3w tych samych parametr\u00f3w. Jest to g\u0142\u00f3wny cel algorytmu filtru Kalmana &#8211; zebranie jak najwi\u0119kszej ilo\u015bci danych obarczonych niedok\u0142adno\u015bci\u0105 pomiaru w celu uzyskania najbardziej mo\u017cliwie dok\u0142adnego wyniku pomiaru.<b> <\/b>Relacj\u0119 mi\u0119dzy zmiennymi stanu okre\u015bla macierz kowariancji i ka\u017cdy element wchodz\u0105cy w jej sk\u0142ad. W\u00f3wczas element\u00a0<span style=\"font-size: 1rem;\">okre\u015bla stopie\u0144 korelacji mi\u0119dzy i-t\u0105 zmienn\u0105 stanu a j-t\u0105 zmienn\u0105 stanu, przy czym macierz kowariancji jest macierz\u0105 kwadratow\u0105, tj. liczba jej wierszy jest taka sama jak liczba kolumn.<\/span><\/p><h3>Zapis macierzowy<\/h3><p>W celu modelowania stanu obiektu pomocne jest u\u017cycie zapisu macierzowego z wykorzystaniem rozmycia Gaussa &#8211; w\u00f3wczas potrzebujemy dw\u00f3ch r\u00f3wna\u0144 dla okre\u015blenia stanu obiektu dla k-tego pomiaru.<sub><span style=\"font-weight: 400;\">\u00a0<\/span><span style=\"font-weight: 400;\">x<\/span>k<\/sub> jest wektorem warto\u015bci \u015brednich (skalarnych), kt\u00f3re s\u0105 warto\u015bciami oczekiwanymi, a P<sub>k<\/sub> jest macierz\u0105 kowariancji.<\/p><p><img fetchpriority=\"high\" decoding=\"async\" class=\"aligncenter size-full wp-image-2824\" src=\"https:\/\/botland.com.pl\/blog\/wp-content\/uploads\/2020\/01\/4.1.4.2.png\" alt=\"\" width=\"562\" height=\"140\" \/><\/p><p>W niniejszym przypadku rol\u0119 zmiennych stanu pe\u0142ni\u0105 pozycja i pr\u0119dko\u015b\u0107 obiektu, ale trzeba zaznaczy\u0107, \u017ce stan mo\u017ce opisywa\u0107 dowolna liczba zmiennych reprezentuj\u0105cych dowolne parametry. Nast\u0119pnie nale\u017cy zwr\u00f3ci\u0107 uwag\u0119 na warto\u015bci zmiennych dla obecnego stanu (w chwili k-1) celem przej\u015bcia w proces przewidywania warto\u015bci dla stanu w chwili k. Nie jest wiadome, kt\u00f3ry stan odzwierciedla rzeczywiste parametry obiektu, ale jest to nieistotne dla procesu przewidywania. Etap przewidywania mo\u017cna zobrazowa\u0107 za pomoc\u0105 wektora F<sub>k<\/sub>. Ka\u017cdy punkt znajduj\u0105cy si\u0119 w przestrzeni stanu w obecnym kroku, zostaje przesuni\u0119ty w nowy obszar &#8211; obszar warto\u015bci przewidywanych, w kt\u00f3ry system si\u0119 przemieszcza, je\u015bli poprzedzaj\u0105ca przestrze\u0144 stanu zosta\u0142a prawid\u0142owo zlokalizowana. Aby znale\u017a\u0107 przewidywan\u0105 przestrze\u0144 stanu znaj\u0105c obecne warto\u015bci zmiennych stanu okre\u015blaj\u0105cych pozycj\u0119 i pr\u0119dko\u015b\u0107, nale\u017cy skorzysta\u0107 z uk\u0142adu r\u00f3wna\u0144:<\/p><p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-2825\" src=\"https:\/\/botland.com.pl\/blog\/wp-content\/uploads\/2020\/01\/4.3.4.4.png\" alt=\"\" width=\"562\" height=\"203\" \/><\/p><p>W ten spos\u00f3b uzyskujemy macierz przewidywania, kt\u00f3ra zawiera informacje o nast\u0119pnym (po k-1) stanie (k). Niemniej jednak, w dalszym ci\u0105gu nie wiadomo jak prawid\u0142owo uaktualni\u0107 macierz kowariancji. W tym miejscu, ka\u017cdy punkt zawarty w dystrybucji, trzeba pomno\u017cy\u0107 przez macierz A:<\/p><p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-2826\" src=\"https:\/\/botland.com.pl\/blog\/wp-content\/uploads\/2020\/01\/4.5.4.6.4.7.4.8.png\" alt=\"\" width=\"574\" height=\"285\" \/><\/p><h3>Wp\u0142yw czynnik\u00f3w zewn\u0119trznych<\/h3><p>Na obecnym etapie, nie wszystkie czynniki zosta\u0142y jeszcze uwzgl\u0119dnione, a s\u0105 to czynniki, kt\u00f3re nie s\u0105 bezpo\u015brednio zwi\u0105zane z w\u0142asno\u015bciami uk\u0142adu badanego, lecz wyst\u0119puj\u0105 niezale\u017cnie, ale r\u00f3wnie\u017c mog\u0105 wp\u0142ywa\u0107 na stan uk\u0142adu. Przyk\u0142adowo, je\u015bli obiektem opisanym przez zmienne stanu jest elektrow\u00f3z (lokomotywa elektryczna) &#8211; kiedy maszynista zwi\u0119ksza napi\u0119cie zasilania silnik\u00f3w np. przez zmniejszanie strumienia magnetycznego w obwodzie wzbudzenia, lokomotywa przyspiesza. Podobnie, w opisywanym przypadku robota, pok\u0142adowy system nawigacji mo\u017ce napotka\u0107 na problemy z nadaniem sygna\u0142u do uk\u0142adu sterowania robota w celu obr\u00f3cenia k\u00f3\u0142 lub zatrzymania, np. kiedy zaistnieje niebezpiecze\u0144stwo przewr\u00f3cenia robota pod wp\u0142ywem wiatru w czasie jazdy. Znaj\u0105c t\u0119 dodatkow\u0105 informacj\u0119 o warunkach zewn\u0119trznych, mo\u017cna j\u0105 uwzgl\u0119dni\u0107 za pomoc\u0105 wektora<\/p><p><sub>k<\/sub>, umo\u017cliwiaj\u0105c uwzgl\u0119dnienie korekcji w macierzy przewidywania:<\/p><p>Zak\u0142adaj\u0105c, \u017ce na podstawie sygna\u0142\u00f3w steruj\u0105cych (np. wsp\u00f3\u0142czynnika wype\u0142nienia sygna\u0142u steruj\u0105cego pr\u0119dko\u015bci\u0105 obrotow\u0105 silnika), znamy spodziewan\u0105 warto\u015b\u0107 przyspieszenia a, otrzymujemy uk\u0142ad r\u00f3wna\u0144:<\/p><p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-2827\" src=\"https:\/\/botland.com.pl\/blog\/wp-content\/uploads\/2020\/01\/5.1.5.2.png\" alt=\"\" width=\"557\" height=\"198\" \/><\/p><p><sub>k<\/sub> jest wektorem sterowania &#8211; w prostych uk\u0142adach, w kt\u00f3rych nie wyst\u0119puje wp\u0142yw czynnik\u00f3w zewn\u0119trznych, mo\u017cna te sk\u0142adniki pomin\u0105\u0107. A co je\u015bli przewidywane rozwi\u0105zanie w dalszym ci\u0105gu jest za ma\u0142o dok\u0142adne?<\/p><h3>Niepewno\u015b\u0107 zewn\u0119trzna<\/h3><p>Ca\u0142y proces przewidywania trwa bezproblemowo, kiedy stan obiektu bazuje na wszystkich uwzgl\u0119dnionych czynnikach, r\u00f3wnie\u017c tych zewn\u0119trznych, kt\u00f3rych wyst\u0119powanie nie jest zwi\u0105zane z w\u0142asno\u015bciami samego uk\u0142adu, na kt\u00f3ry one wp\u0142ywaj\u0105. Jest tak dop\u00f3ty, dop\u00f3ki znamy maksymalne parametry czynnik\u00f3w zewn\u0119trznych, na kt\u00f3re uk\u0142ad b\u0119dzie odporny. A co je\u015bli pojawi\u0105 si\u0119 czynniki, o kt\u00f3rych nie wiemy? Przyk\u0142adowo, drony (a tak\u017ce inne statki powietrzne) s\u0105 nara\u017cone na podmuchy wiatru, kt\u00f3ry mo\u017ce zak\u0142\u00f3ci\u0107 tor lotu, powoduj\u0105c nawet kolizj\u0119 z pobliskim obiektem (np. z drzewem). Robot ko\u0142owy podczas jazdy, mo\u017ce wpa\u015b\u0107 w po\u015blizg, wskutek czego mimo obracania si\u0119 k\u00f3\u0142, nie b\u0119dzie m\u00f3g\u0142 ruszy\u0107 w dalsz\u0105 drog\u0119. W\u00f3wczas z powodu nieuwzgl\u0119dnienia tych czynnik\u00f3w, algorytm na etapie przewidywania mo\u017ce zawie\u015b\u0107, co mo\u017ce nie\u015b\u0107 za sob\u0105 nawet nieodwracalne uszkodzenie uk\u0142adu.\u00a0<\/p><p>Aby zwi\u0119kszy\u0107 prawdopodobie\u0144stwo wyst\u0105pienia takich wysoce niepo\u017c\u0105danych skutk\u00f3w, w obliczeniach nale\u017cy uwzgl\u0119dni\u0107 dodatkow\u0105 niepewno\u015b\u0107 dla ka\u017cdego kroku przewidywania. W\u00f3wczas w oryginalnym szacowaniu, pierwotna estymacja zostaje rozszerzona o zakres stan\u00f3w. Rozwi\u0105zanie przewidywane x<sub>k-1<\/sub>, zostaje przeniesione w obszar kowariancji Q<sub>k<\/sub>. Inaczej mo\u017cna tak\u017ce powiedzie\u0107, \u017ce czynniki zewn\u0119trzne b\u0119d\u0105ce \u017ar\u00f3d\u0142em dodatkowych niepewno\u015bci, stanowi\u0105 szum kowariancji Q<sub>k<\/sub>. Takie dzia\u0142anie, powoduje powstanie nowego rozmycia Gaussa, kt\u00f3re charakteryzuje si\u0119 inn\u0105 kowariancj\u0105 wzgl\u0119dem pierwotnego rozmycia Gaussa, ale tak\u0105 sam\u0105 oczekiwan\u0105 warto\u015b\u0107 zmiennej stanu. W\u00f3wczas, otrzymujemy rozszerzon\u0105 kowariancj\u0119 poprzez uwzgl\u0119dnienie czynnika Q<sub>k<\/sub>:<\/p><p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-2828\" src=\"https:\/\/botland.com.pl\/blog\/wp-content\/uploads\/2020\/01\/6.1.6.2.png\" alt=\"\" width=\"554\" height=\"84\" \/><\/p><p>Innymi s\u0142owy, uaktualniona ,,najlepsza\u201d warto\u015b\u0107 oczekiwana jest przewidywana na podstawie poprzedniej warto\u015bci oczekiwanej z uwzgl\u0119dnieniem wp\u0142ywu warunk\u00f3w zewn\u0119trznych. R\u00f3wnie\u017c nowo wyprowadzona niepewno\u015b\u0107 zewn\u0119trzna, jest wynikiem po\u0142\u0105czenia poprzednio wyliczonej niepewno\u015bci zewn\u0119trznej z uwzgl\u0119dnieniem rozszerzonej niepewno\u015bci wynikaj\u0105cej z wp\u0142ywu warunk\u00f3w zewn\u0119trznych. Na obecnym etapie, mo\u017cemy podda\u0107 dalszej obr\u00f3bce dane z czujnik\u00f3w pomiarowych.<\/p><h3>Przybli\u017canie estymacji na podstawie pomiar\u00f3w<\/h3><p>Badany uk\u0142ad mo\u017ce by\u0107 wyposa\u017cony w kilka czujnik\u00f3w pomiarowych, kt\u00f3re dostarczaj\u0105 informacji niezb\u0119dnych do okre\u015blenia jego stanu. Niezale\u017cnie od tego, na jakie bod\u017ace te czujniki reaguj\u0105, dostarczaj\u0105 one informacje niezb\u0119dne do okre\u015blenia pozycji i pr\u0119dko\u015bci robota, wi\u0119c za ich pomoc\u0105 s\u0105 wykonywane pomiary po\u015brednie. Nale\u017cy zwr\u00f3ci\u0107 uwag\u0119 na mo\u017cliwo\u015b\u0107 wyst\u0105pienia rozbie\u017cno\u015bci mi\u0119dzy jednostkami i skal\u0105 odczytu a jednostkami i skal\u0105 odczytu \u015bledzonego stanu. W zwi\u0105zku z tym, opis czujnik\u00f3w jest zamodelowany za pomoc\u0105 macierzy H<sub>k<\/sub>. Rozmieszczenie odczyt\u00f3w z czujnik\u00f3w mo\u017cna przewidzie\u0107 na podstawie r\u00f3wna\u0144:<\/p><p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-2829\" src=\"https:\/\/botland.com.pl\/blog\/wp-content\/uploads\/2020\/01\/7.1.7.2.png\" alt=\"\" width=\"546\" height=\"105\" \/><\/p><p>Jedn\u0105 z najwi\u0119kszych zalet algorytmu filtru Kalmana jest odporno\u015b\u0107 na niedok\u0142adno\u015b\u0107 pomiaru dokonywanego przez czujniki (z uwagi na szum). Czujniki mog\u0105 by\u0107 zawodne, wskutek czego ka\u017cdy oszacowany stan uk\u0142adu mo\u017ce by\u0107 wynikiem zakresu parametr\u00f3w odczytywanych przez czujniki. Filtr Kalmana niweluje ten problem do minimum. Na podstawie ka\u017cdego zaobserwowanego odczytu danych z czujnik\u00f3w pomiarowych mo\u017cemy przypuszcza\u0107, \u017ce badany uk\u0142ad by\u0142 w szczeg\u00f3\u0142owo okre\u015blonym stanie. Jednak z powodu obecno\u015bci niepewno\u015bci pomiarowej kilka przewidywanych stan\u00f3w mo\u017ce by\u0107 bardziej prawdopodobnych wzgl\u0119dem innych znajduj\u0105cych si\u0119 w zakresie odczyt\u00f3w czujnik\u00f3w. W tym celu,wprowadzamy kowariancj\u0119 niepewno\u015bci R<sub>k<\/sub>, wynikaj\u0105c\u0105 z szumu wprowadzanego przez czujniki oraz wektor \u015bredniej warto\u015bci odczytu zaobserwowanego\u00a0<sub>k<\/sub><span style=\"font-size: 1rem;\">. W ten spos\u00f3b uzyskujemy dwa obszary rozmycia Gaussa &#8211; pierwszy wynikaj\u0105cy z przewidywanego odczytu, a drugi z rzeczywistego odczytu z czujnik\u00f3w. Dzi\u0119ki temu obszar poszukiwa\u0144 optymalnego rozwi\u0105zania znacz\u0105co zaw\u0119\u017ca si\u0119 i ca\u0142y algorytm mo\u017cna wykona\u0107 od nowa w ten sam spos\u00f3b, uzyskuj\u0105c jeszcze bardziej dok\u0142adne, tzn, jeszcze bardziej zgodne z rzeczywisto\u015bci\u0105 wyniki oblicze\u0144 na podstawie uzyskanych wcze\u015bniej danych pomiarowych.<\/span><\/p><h3>Wzmocnienie Kalmana<\/h3><p>Do wyznaczenia macierzy okre\u015blaj\u0105cej wzmocnienie Kalmana, niezb\u0119dne jest wykorzystanie jednowymiarowej krzywej Gaussa uwzgl\u0119dniaj\u0105cej <span style=\"font-weight: 400;\">2<\/span><span style=\"font-weight: 400;\"> i warto\u015b\u0107 \u015bredni\u0105<\/span><span style=\"font-weight: 400;\">:<\/span><\/p><p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-2830\" src=\"https:\/\/botland.com.pl\/blog\/wp-content\/uploads\/2020\/01\/8.1.png\" alt=\"\" width=\"546\" height=\"84\" \/><\/p><p>Mno\u017c\u0105c przez siebie r\u00f3wnania krzywych obrazuj\u0105cych rozk\u0142ad normalny dla stanu przewidywanego i stanu rzeczywistego wyznaczonego na podstawie danych odczytanych z czujnik\u00f3w pomiarowych uzyskujemy nowe r\u00f3wnanie krzywej, kt\u00f3rej rozk\u0142ad zaw\u0119\u017ca zakres warto\u015bci dla poszukiwanego wektora stanu:<\/p><p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-2831\" src=\"https:\/\/botland.com.pl\/blog\/wp-content\/uploads\/2020\/01\/8.2-8.7.png\" alt=\"\" width=\"551\" height=\"485\" \/><\/p><p><span style=\"font-weight: 400;\">Stosuj\u0105c zapis macierzowy uzyskujemy:<\/span><\/p><p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-2832\" src=\"https:\/\/botland.com.pl\/blog\/wp-content\/uploads\/2020\/01\/8.8.8.9.8.10.png\" alt=\"\" width=\"564\" height=\"132\" \/><\/p><p>gdzie K jest macierz\u0105 okre\u015blaj\u0105c\u0105 wzmocnienie Kalmana.<\/p><h3>Obliczenia ko\u0144cowe<\/h3><p>Otrzymujemy dwie dystrybucje opieraj\u0105ce si\u0119 na rozk\u0142adzie Gaussa. Pierwsza z nich jest otrzymana na podstawie pomiaru przewidywanego (9.1), a druga na podstawie pomiaru zaobserwowanego.<\/p><p>Z uk\u0142adu r\u00f3wna\u0144 (9.3), wyznaczamy warunki okre\u015blaj\u0105ce wsp\u00f3lny obszar dystrybucji (9.1) i (9.2).<\/p><p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-2833\" src=\"https:\/\/botland.com.pl\/blog\/wp-content\/uploads\/2020\/01\/9.1-9.6.png\" alt=\"\" width=\"562\" height=\"470\" \/><\/p><p>W zale\u017cno\u015bci od potrzeb aplikacji, w celu uzyskania jeszcze bardziej dok\u0142adnych wynik\u00f3w, ca\u0142y algorytm mo\u017cna wielokrotnie powtarza\u0107.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-605df98 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"605df98\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-3ad5069\" data-id=\"3ad5069\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-cde2c9f elementor-widget elementor-widget-text-editor\" data-id=\"cde2c9f\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<div id=\"k-faq-accord\"><h2>Filtr Kalmana &#8211; FAQ<\/h2>\n    <div class=\"tabs\" itemscope=\"\" itemtype=\"https:\/\/schema.org\/FAQPage\">\n        <div class=\"tab\" itemscope=\"\" itemprop=\"mainEntity\" itemtype=\"https:\/\/schema.org\/Question\">\n            <input type=\"checkbox\" id=\"chck1\" \/><h3>\n                <label class=\"tab-label\" for=\"chck1\" itemprop=\"name\">Filtr Kalmana &#8211; Co to jest?\n                <\/label><\/h3>\n            <div class=\"tab-content\" itemscope=\"\" itemprop=\"acceptedAnswer\" itemtype=\"https:\/\/schema.org\/Answer\">\n                <div itemprop=\"text\">\n<p>\nCzym jest filtr Kalmana? Filtr Kalmana to algorytm stworzony przez Rudolfa Emila Kalmana w\u0119giersko-ameryka\u0144skiego in\u017cyniera, kt\u00f3ry \u017cy\u0142 w latach 1930-2016. Najwa\u017cniejsz\u0105 cech\u0105 filtra jest uniwersalne zastosowanie. Oznacza to, \u017ce z powodzeniem mo\u017cna go zastosowa\u0107 we wszystkich aplikacjach, w kt\u00f3rych zachodzi ryzyko wyst\u0119powania niskiej wiarygodno\u015bci informacji. Obni\u017cona wiarygodno\u015b\u0107 danych mo\u017ce dotyczy\u0107 m.in. parametr\u00f3w okre\u015blaj\u0105cy uk\u0142ady dynamiczne. Filtr Kalmana wyr\u00f3\u017cnia si\u0119 wysok\u0105 szybko\u015bci\u0105 dzia\u0142ania ca\u0142ego algorytmu, co dodatkowo rozszerza jego zastosowanie.\n<\/p>\n                <\/div>\n            <\/div>\n        <\/div>\n        <div class=\"tab\" itemscope=\"\" itemprop=\"mainEntity\" itemtype=\"https:\/\/schema.org\/Question\">\n            <input type=\"checkbox\" id=\"chck2\" \/><h3>\n                <label class=\"tab-label\" for=\"chck2\" itemprop=\"name\">Filtr Kalmana &#8211; Zastosowanie\n                <\/label><\/h3>\n            <div class=\"tab-content\" itemscope=\"\" itemprop=\"acceptedAnswer\" itemtype=\"https:\/\/schema.org\/Answer\">\n                <div itemprop=\"text\">\n<p>\nFiltr kalmana znajduje zastosowanie w r\u00f3\u017cnego rodzaju uk\u0142adach dynamicznych. Szczeg\u00f3lnym przypadkiem zastosowania filtru Kalmana s\u0105 uk\u0142ady dzia\u0142aj\u0105ce w oparciu o parametry, kt\u00f3re zmieniaj\u0105 si\u0119 w tak zwany ci\u0105g\u0142y spos\u00f3b. Oznacza to, \u017ce taki uk\u0142ad nie wymaga du\u017cej ilo\u015bci pami\u0119ci do prawid\u0142owego dzia\u0142ania. Wystarczy stan uk\u0142adu, kt\u00f3ry poprzedza nast\u0119pny uk\u0142ad (jego stan). Filtr Kalmana mo\u017cna z powodzeniem implementowa\u0107 w <a href=\"https:\/\/botland.com.pl\/345-roboty\" data-wpel-link=\"internal\">robotach<\/a> wyposa\u017conych m.in. w system nawigacji GPS. Kolejne zastosowania obejmuj\u0105 aplikacje czasu rzeczywistego, a tak\u017ce systemy wbudowane. \n<\/p>\n                <\/div>\n            <\/div>\n        <\/div>    \n    <\/div>\n<\/div>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>Rozszyfrowujemy zagadk\u0119. Czym s\u0105 filtry Kalmana? Uwaga &#8211; obliczenia! Ale spokojnie, nie takie straszne, jak je maluj\u0105.<\/p>\n","protected":false},"author":7,"featured_media":60281,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[179,23],"tags":[168,106],"class_list":["post-2821","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-kompendium","category-robotyka","tag-nauka","tag-robotyka"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v28.0 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Filtr Kalmana - Podstawy teoretyczne - Botland<\/title>\n<meta name=\"description\" content=\"Filtr Kalmana - rewolucyjna metoda okre\u015blania stanu uk\u0142ad\u00f3w regulacji automatycznej. Wejd\u017a na blog Botland i poznaj tajniki tego algorytmu od podszewki!\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/botland.com.pl\/blog\/filtr-kalmana-podstawy-teoretyczne\/\" \/>\n<meta property=\"og:locale\" content=\"pl_PL\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Filtr Kalmana - Podstawy teoretyczne - Botland\" \/>\n<meta property=\"og:description\" content=\"Filtr Kalmana - rewolucyjna metoda okre\u015blania stanu uk\u0142ad\u00f3w regulacji automatycznej. Wejd\u017a na blog Botland i poznaj tajniki tego algorytmu od podszewki!\" \/>\n<meta property=\"og:url\" content=\"https:\/\/botland.com.pl\/blog\/filtr-kalmana-podstawy-teoretyczne\/\" \/>\n<meta property=\"og:site_name\" content=\"Botland\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/facebook.com\/Botland\/\" \/>\n<meta property=\"article:published_time\" content=\"2020-07-17T06:39:08+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2023-05-24T07:50:55+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/botland.com.pl\/blog\/wp-content\/uploads\/2023\/05\/new2023-okladki-cz4_14-filtr-kalmana.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"1510\" \/>\n\t<meta property=\"og:image:height\" content=\"755\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Anna Wieczorek\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Napisane przez\" \/>\n\t<meta name=\"twitter:data1\" content=\"Anna Wieczorek\" \/>\n\t<meta name=\"twitter:label2\" content=\"Szacowany czas czytania\" \/>\n\t<meta name=\"twitter:data2\" content=\"16 minut\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/botland.com.pl\\\/blog\\\/filtr-kalmana-podstawy-teoretyczne\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/botland.com.pl\\\/blog\\\/filtr-kalmana-podstawy-teoretyczne\\\/\"},\"author\":{\"name\":\"Anna Wieczorek\",\"@id\":\"https:\\\/\\\/botland.de\\\/blog\\\/#\\\/schema\\\/person\\\/432699b001be1bfbf673d91827fb8735\"},\"headline\":\"Filtr Kalmana &#8211; Podstawy teoretyczne\",\"datePublished\":\"2020-07-17T06:39:08+00:00\",\"dateModified\":\"2023-05-24T07:50:55+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/botland.com.pl\\\/blog\\\/filtr-kalmana-podstawy-teoretyczne\\\/\"},\"wordCount\":2787,\"publisher\":{\"@id\":\"https:\\\/\\\/botland.de\\\/blog\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/botland.com.pl\\\/blog\\\/filtr-kalmana-podstawy-teoretyczne\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/botland.com.pl\\\/blog\\\/wp-content\\\/uploads\\\/2023\\\/05\\\/new2023-okladki-cz4_14-filtr-kalmana.jpg\",\"keywords\":[\"nauka\",\"robotyka\"],\"articleSection\":[\"Kompendium\",\"Robotyka\"],\"inLanguage\":\"pl-PL\"},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/botland.com.pl\\\/blog\\\/filtr-kalmana-podstawy-teoretyczne\\\/\",\"url\":\"https:\\\/\\\/botland.com.pl\\\/blog\\\/filtr-kalmana-podstawy-teoretyczne\\\/\",\"name\":\"Filtr Kalmana - Podstawy teoretyczne - Botland\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/botland.de\\\/blog\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/botland.com.pl\\\/blog\\\/filtr-kalmana-podstawy-teoretyczne\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/botland.com.pl\\\/blog\\\/filtr-kalmana-podstawy-teoretyczne\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/botland.com.pl\\\/blog\\\/wp-content\\\/uploads\\\/2023\\\/05\\\/new2023-okladki-cz4_14-filtr-kalmana.jpg\",\"datePublished\":\"2020-07-17T06:39:08+00:00\",\"dateModified\":\"2023-05-24T07:50:55+00:00\",\"description\":\"Filtr Kalmana - rewolucyjna metoda okre\u015blania stanu uk\u0142ad\u00f3w regulacji automatycznej. Wejd\u017a na blog Botland i poznaj tajniki tego algorytmu od podszewki!\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/botland.com.pl\\\/blog\\\/filtr-kalmana-podstawy-teoretyczne\\\/#breadcrumb\"},\"inLanguage\":\"pl-PL\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/botland.com.pl\\\/blog\\\/filtr-kalmana-podstawy-teoretyczne\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"pl-PL\",\"@id\":\"https:\\\/\\\/botland.com.pl\\\/blog\\\/filtr-kalmana-podstawy-teoretyczne\\\/#primaryimage\",\"url\":\"https:\\\/\\\/botland.com.pl\\\/blog\\\/wp-content\\\/uploads\\\/2023\\\/05\\\/new2023-okladki-cz4_14-filtr-kalmana.jpg\",\"contentUrl\":\"https:\\\/\\\/botland.com.pl\\\/blog\\\/wp-content\\\/uploads\\\/2023\\\/05\\\/new2023-okladki-cz4_14-filtr-kalmana.jpg\",\"width\":1510,\"height\":755},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/botland.com.pl\\\/blog\\\/filtr-kalmana-podstawy-teoretyczne\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Strona g\u0142\u00f3wna\",\"item\":\"https:\\\/\\\/botland.com.pl\\\/blog\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Filtr Kalmana &#8211; Podstawy teoretyczne\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/botland.de\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/botland.de\\\/blog\\\/\",\"name\":\"Botland\",\"description\":\"Blog Raspberry Pi, Arduino, elektronika i robotyka - Botland\",\"publisher\":{\"@id\":\"https:\\\/\\\/botland.de\\\/blog\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/botland.de\\\/blog\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"pl-PL\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/botland.de\\\/blog\\\/#organization\",\"name\":\"Botland\",\"url\":\"https:\\\/\\\/botland.de\\\/blog\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"pl-PL\",\"@id\":\"https:\\\/\\\/botland.de\\\/blog\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/botland.store\\\/blog\\\/wp-content\\\/uploads\\\/2018\\\/04\\\/logo_kolor_WP_2-1.png\",\"contentUrl\":\"https:\\\/\\\/botland.store\\\/blog\\\/wp-content\\\/uploads\\\/2018\\\/04\\\/logo_kolor_WP_2-1.png\",\"width\":250,\"height\":57,\"caption\":\"Botland\"},\"image\":{\"@id\":\"https:\\\/\\\/botland.de\\\/blog\\\/#\\\/schema\\\/logo\\\/image\\\/\"},\"sameAs\":[\"https:\\\/\\\/facebook.com\\\/Botland\\\/\"]},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/botland.de\\\/blog\\\/#\\\/schema\\\/person\\\/432699b001be1bfbf673d91827fb8735\",\"name\":\"Anna Wieczorek\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"pl-PL\",\"@id\":\"https:\\\/\\\/botland.com.pl\\\/blog\\\/wp-content\\\/uploads\\\/2021\\\/02\\\/Anna-150x150.jpg\",\"url\":\"https:\\\/\\\/botland.com.pl\\\/blog\\\/wp-content\\\/uploads\\\/2021\\\/02\\\/Anna-150x150.jpg\",\"contentUrl\":\"https:\\\/\\\/botland.com.pl\\\/blog\\\/wp-content\\\/uploads\\\/2021\\\/02\\\/Anna-150x150.jpg\",\"caption\":\"Anna Wieczorek\"},\"description\":\"Kobieta w m\u0119skim \u015bwiecie robot\u00f3w. Zwi\u0105zana z Botlandem \\\"w\u0142a\u015bciwie od zawsze\\\". Estetka, kt\u00f3rej wsz\u0119dzie pe\u0142no. Wierzy, \u017ce na sen przyjdzie jeszcze czas. Po pracy entuzjastka kultury i kuchni hiszpa\u0144skiej.\",\"url\":\"https:\\\/\\\/botland.com.pl\\\/blog\\\/author\\\/anna\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Filtr Kalmana - Podstawy teoretyczne - Botland","description":"Filtr Kalmana - rewolucyjna metoda okre\u015blania stanu uk\u0142ad\u00f3w regulacji automatycznej. Wejd\u017a na blog Botland i poznaj tajniki tego algorytmu od podszewki!","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/botland.com.pl\/blog\/filtr-kalmana-podstawy-teoretyczne\/","og_locale":"pl_PL","og_type":"article","og_title":"Filtr Kalmana - Podstawy teoretyczne - Botland","og_description":"Filtr Kalmana - rewolucyjna metoda okre\u015blania stanu uk\u0142ad\u00f3w regulacji automatycznej. Wejd\u017a na blog Botland i poznaj tajniki tego algorytmu od podszewki!","og_url":"https:\/\/botland.com.pl\/blog\/filtr-kalmana-podstawy-teoretyczne\/","og_site_name":"Botland","article_publisher":"https:\/\/facebook.com\/Botland\/","article_published_time":"2020-07-17T06:39:08+00:00","article_modified_time":"2023-05-24T07:50:55+00:00","og_image":[{"width":1510,"height":755,"url":"https:\/\/botland.com.pl\/blog\/wp-content\/uploads\/2023\/05\/new2023-okladki-cz4_14-filtr-kalmana.jpg","type":"image\/jpeg"}],"author":"Anna Wieczorek","twitter_card":"summary_large_image","twitter_misc":{"Napisane przez":"Anna Wieczorek","Szacowany czas czytania":"16 minut"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/botland.com.pl\/blog\/filtr-kalmana-podstawy-teoretyczne\/#article","isPartOf":{"@id":"https:\/\/botland.com.pl\/blog\/filtr-kalmana-podstawy-teoretyczne\/"},"author":{"name":"Anna Wieczorek","@id":"https:\/\/botland.de\/blog\/#\/schema\/person\/432699b001be1bfbf673d91827fb8735"},"headline":"Filtr Kalmana &#8211; Podstawy teoretyczne","datePublished":"2020-07-17T06:39:08+00:00","dateModified":"2023-05-24T07:50:55+00:00","mainEntityOfPage":{"@id":"https:\/\/botland.com.pl\/blog\/filtr-kalmana-podstawy-teoretyczne\/"},"wordCount":2787,"publisher":{"@id":"https:\/\/botland.de\/blog\/#organization"},"image":{"@id":"https:\/\/botland.com.pl\/blog\/filtr-kalmana-podstawy-teoretyczne\/#primaryimage"},"thumbnailUrl":"https:\/\/botland.com.pl\/blog\/wp-content\/uploads\/2023\/05\/new2023-okladki-cz4_14-filtr-kalmana.jpg","keywords":["nauka","robotyka"],"articleSection":["Kompendium","Robotyka"],"inLanguage":"pl-PL"},{"@type":"WebPage","@id":"https:\/\/botland.com.pl\/blog\/filtr-kalmana-podstawy-teoretyczne\/","url":"https:\/\/botland.com.pl\/blog\/filtr-kalmana-podstawy-teoretyczne\/","name":"Filtr Kalmana - Podstawy teoretyczne - Botland","isPartOf":{"@id":"https:\/\/botland.de\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/botland.com.pl\/blog\/filtr-kalmana-podstawy-teoretyczne\/#primaryimage"},"image":{"@id":"https:\/\/botland.com.pl\/blog\/filtr-kalmana-podstawy-teoretyczne\/#primaryimage"},"thumbnailUrl":"https:\/\/botland.com.pl\/blog\/wp-content\/uploads\/2023\/05\/new2023-okladki-cz4_14-filtr-kalmana.jpg","datePublished":"2020-07-17T06:39:08+00:00","dateModified":"2023-05-24T07:50:55+00:00","description":"Filtr Kalmana - rewolucyjna metoda okre\u015blania stanu uk\u0142ad\u00f3w regulacji automatycznej. Wejd\u017a na blog Botland i poznaj tajniki tego algorytmu od podszewki!","breadcrumb":{"@id":"https:\/\/botland.com.pl\/blog\/filtr-kalmana-podstawy-teoretyczne\/#breadcrumb"},"inLanguage":"pl-PL","potentialAction":[{"@type":"ReadAction","target":["https:\/\/botland.com.pl\/blog\/filtr-kalmana-podstawy-teoretyczne\/"]}]},{"@type":"ImageObject","inLanguage":"pl-PL","@id":"https:\/\/botland.com.pl\/blog\/filtr-kalmana-podstawy-teoretyczne\/#primaryimage","url":"https:\/\/botland.com.pl\/blog\/wp-content\/uploads\/2023\/05\/new2023-okladki-cz4_14-filtr-kalmana.jpg","contentUrl":"https:\/\/botland.com.pl\/blog\/wp-content\/uploads\/2023\/05\/new2023-okladki-cz4_14-filtr-kalmana.jpg","width":1510,"height":755},{"@type":"BreadcrumbList","@id":"https:\/\/botland.com.pl\/blog\/filtr-kalmana-podstawy-teoretyczne\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Strona g\u0142\u00f3wna","item":"https:\/\/botland.com.pl\/blog\/"},{"@type":"ListItem","position":2,"name":"Filtr Kalmana &#8211; Podstawy teoretyczne"}]},{"@type":"WebSite","@id":"https:\/\/botland.de\/blog\/#website","url":"https:\/\/botland.de\/blog\/","name":"Botland","description":"Blog Raspberry Pi, Arduino, elektronika i robotyka - Botland","publisher":{"@id":"https:\/\/botland.de\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/botland.de\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"pl-PL"},{"@type":"Organization","@id":"https:\/\/botland.de\/blog\/#organization","name":"Botland","url":"https:\/\/botland.de\/blog\/","logo":{"@type":"ImageObject","inLanguage":"pl-PL","@id":"https:\/\/botland.de\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/botland.store\/blog\/wp-content\/uploads\/2018\/04\/logo_kolor_WP_2-1.png","contentUrl":"https:\/\/botland.store\/blog\/wp-content\/uploads\/2018\/04\/logo_kolor_WP_2-1.png","width":250,"height":57,"caption":"Botland"},"image":{"@id":"https:\/\/botland.de\/blog\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/facebook.com\/Botland\/"]},{"@type":"Person","@id":"https:\/\/botland.de\/blog\/#\/schema\/person\/432699b001be1bfbf673d91827fb8735","name":"Anna Wieczorek","image":{"@type":"ImageObject","inLanguage":"pl-PL","@id":"https:\/\/botland.com.pl\/blog\/wp-content\/uploads\/2021\/02\/Anna-150x150.jpg","url":"https:\/\/botland.com.pl\/blog\/wp-content\/uploads\/2021\/02\/Anna-150x150.jpg","contentUrl":"https:\/\/botland.com.pl\/blog\/wp-content\/uploads\/2021\/02\/Anna-150x150.jpg","caption":"Anna Wieczorek"},"description":"Kobieta w m\u0119skim \u015bwiecie robot\u00f3w. Zwi\u0105zana z Botlandem \"w\u0142a\u015bciwie od zawsze\". Estetka, kt\u00f3rej wsz\u0119dzie pe\u0142no. Wierzy, \u017ce na sen przyjdzie jeszcze czas. Po pracy entuzjastka kultury i kuchni hiszpa\u0144skiej.","url":"https:\/\/botland.com.pl\/blog\/author\/anna\/"}]}},"_links":{"self":[{"href":"https:\/\/botland.com.pl\/blog\/wp-json\/wp\/v2\/posts\/2821","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/botland.com.pl\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/botland.com.pl\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/botland.com.pl\/blog\/wp-json\/wp\/v2\/users\/7"}],"replies":[{"embeddable":true,"href":"https:\/\/botland.com.pl\/blog\/wp-json\/wp\/v2\/comments?post=2821"}],"version-history":[{"count":0,"href":"https:\/\/botland.com.pl\/blog\/wp-json\/wp\/v2\/posts\/2821\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/botland.com.pl\/blog\/wp-json\/wp\/v2\/media\/60281"}],"wp:attachment":[{"href":"https:\/\/botland.com.pl\/blog\/wp-json\/wp\/v2\/media?parent=2821"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/botland.com.pl\/blog\/wp-json\/wp\/v2\/categories?post=2821"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/botland.com.pl\/blog\/wp-json\/wp\/v2\/tags?post=2821"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}