Roboty Manipulacyjne i Mobilne Budowanie mapy, lokalizacja, SLAM

Podobne dokumenty
Fuzja sygnałów i filtry bayesowskie

Algorytmy estymacji stanu (filtry)

Optymalizacja ciągła

PRACA DYPLOMOWA MAGISTERSKA

Modele zapisane w przestrzeni stanów

Metody systemowe i decyzyjne w informatyce

Metody systemowe i decyzyjne w informatyce

Hipotezy statystyczne

Techniki Optymalizacji: Stochastyczny spadek wzdłuż gradientu I

Statystyka i eksploracja danych

Planowanie przejazdu przez zbiór punktów. zadania zrobotyzowanej inspekcji

Hipotezy statystyczne

Statystyka Matematyczna Anna Janicka

Algorytmy metaheurystyczne Wykład 11. Piotr Syga

Idea. θ = θ 0, Hipoteza statystyczna Obszary krytyczne Błąd pierwszego i drugiego rodzaju p-wartość

Modele DSGE. Jerzy Mycielski. Maj Jerzy Mycielski () Modele DSGE Maj / 11

Metody systemowe i decyzyjne w informatyce

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

S O M SELF-ORGANIZING MAPS. Przemysław Szczepańczyk Łukasz Myszor

Metody probabilistyczne klasyfikatory bayesowskie

Testowanie hipotez. Hipoteza prosta zawiera jeden element, np. H 0 : θ = 2, hipoteza złożona zawiera więcej niż jeden element, np. H 0 : θ > 4.

Janusz Adamowski METODY OBLICZENIOWE FIZYKI Kwantowa wariacyjna metoda Monte Carlo. Problem własny dla stanu podstawowego układu N cząstek

Weryfikacja hipotez statystycznych. KG (CC) Statystyka 26 V / 1

Testowanie hipotez statystycznych. Wnioskowanie statystyczne

Komputerowa Analiza Danych Doświadczalnych

Statystyka i opracowanie danych Podstawy wnioskowania statystycznego. Prawo wielkich liczb. Centralne twierdzenie graniczne. Estymacja i estymatory

WYKŁADY ZE STATYSTYKI MATEMATYCZNEJ wykład 9 i 10 - Weryfikacja hipotez statystycznych

RÓWNOWAŻNOŚĆ METOD BADAWCZYCH

Metody systemowe i decyzyjne w informatyce

Statystyka opisowa. Wykład V. Regresja liniowa wieloraka

Spis treści 3 SPIS TREŚCI

Metody eksploracji danych 2. Metody regresji. Piotr Szwed Katedra Informatyki Stosowanej AGH 2017

Rozpoznawanie obrazów

Weryfikacja hipotez statystycznych

Wykład 2 Hipoteza statystyczna, test statystyczny, poziom istotn. istotności, p-wartość i moc testu

Rozdział 2: Metoda największej wiarygodności i nieliniowa metoda najmniejszych kwadratów

Wstęp do Metod Systemowych i Decyzyjnych Opracowanie: Jakub Tomczak

SYSTEMY UCZĄCE SIĘ WYKŁAD 10. PRZEKSZTAŁCANIE ATRYBUTÓW. Dr hab. inż. Grzegorz Dudek Wydział Elektryczny Politechnika Częstochowska.

WYKŁAD 8 ANALIZA REGRESJI

5 Błąd średniokwadratowy i obciążenie

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

Biostatystyka, # 3 /Weterynaria I/

SMOP - wykład. Rozkład normalny zasady przenoszenia błędów. Ewa Pawelec

Rozpoznawanie obrazów

Testowanie hipotez statystycznych.

Prawdopodobieństwo i statystyka

WYKŁAD 6. Witold Bednorz, Paweł Wolff. Rachunek Prawdopodobieństwa, WNE, Uniwersytet Warszawski. 1 Instytut Matematyki

Testowanie hipotez statystycznych

Metoda określania pozycji wodnicy statków na podstawie pomiarów odległości statku od głowic laserowych

Weryfikacja hipotez statystycznych, parametryczne testy istotności w populacji

Metody systemowe i decyzyjne w informatyce

Porównanie modeli regresji. klasycznymi modelami regresji liniowej i logistycznej

AUTONOMICZNY ROBOT DO MAPOWANIA KSZTAŁTÓW AUTONOMOUS ROBOT FOR MAPPING FLOOR PLANE SHAPE. Bartosz MARTYNIUK 1. Opiekun naukowy: Grzegorz BUDZYŃ 2

Temat 1. Wprowadzenie do nawigacji robotów mobilnych. Dariusz Pazderski Opracowanie w ramach programu ERA Inżyniera

Rozkłady wielu zmiennych

Podstawowe modele probabilistyczne

SPOTKANIE 3: Regresja: Regresja liniowa

Statystyka od podstaw Janina Jóźwiak, Jarosław Podgórski

Algorytmy mrówkowe (optymalizacja kolonii mrówek, Ant Colony optimisation)

Testowanie hipotez statystycznych.

Cyfrowe przetwarzanie obrazów i sygnałów Wykład 7 AiR III

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

Ćw. 18: Pomiary wielkości nieelektrycznych II

Algorytmy decyzyjne będące alternatywą dla sieci neuronowych

Wykład 4 Wybór najlepszej procedury. Estymacja parametrów re

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

Wstęp do metod numerycznych Zadania numeryczne 2016/17 1

Algorytmy metaheurystyczne Wykład 6. Piotr Syga

Błędy przy testowaniu hipotez statystycznych. Decyzja H 0 jest prawdziwa H 0 jest faszywa

Odchudzamy serię danych, czyli jak wykryć i usunąć wyniki obarczone błędami grubymi

KADD Minimalizacja funkcji

Zrównoleglona optymalizacja stochastyczna na dużych zbiorach danych

Statystyka matematyczna Testowanie hipotez i estymacja parametrów. Wrocław, r

Algorytmy MCMC (Markowowskie Monte Carlo) dla skokowych procesów Markowa

Mechanika Robotów. Wojciech Lisowski. 5 Planowanie trajektorii ruchu efektora w przestrzeni roboczej

2.9. Kinematyka typowych struktur manipulatorów

Metoda Monte Carlo. Jerzy Mycielski. grudzien Jerzy Mycielski () Metoda Monte Carlo grudzien / 10

Testowanie hipotez statystycznych. Wprowadzenie

STATYSTYKA MATEMATYCZNA WYKŁAD 4. WERYFIKACJA HIPOTEZ PARAMETRYCZNYCH X - cecha populacji, θ parametr rozkładu cechy X.

Równoległe symulacje Monte Carlo na współdzielonej sieci

Monte Carlo, bootstrap, jacknife

Eksploracja Danych. wykład 4. Sebastian Zając. 10 maja 2017 WMP.SNŚ UKSW. Sebastian Zając (WMP.SNŚ UKSW) Eksploracja Danych 10 maja / 18

Stochastic modelling of phase transformations using HPC infrastructure

Uczenie sieci typu MLP

Wstęp do sieci neuronowych, wykład 11 Łańcuchy Markova

Prawdopodobieństwo i rozkład normalny cd.

Kompresja danych Streszczenie Studia Dzienne Wykład 10,

Wydział Matematyki. Testy zgodności. Wykład 03

5. Analiza dyskryminacyjna: FLD, LDA, QDA

Przemysław Maciąg. Algorytmy jednoczesnej lokalizacji i budowania map z wykorzystaniem rozszerzonego filtru Kalmana

SPOTKANIE 6: Klasteryzacja: K-Means, Expectation Maximization

1 Gaussowskie zmienne losowe

Symulacja sygnału czujnika z wyjściem częstotliwościowym w stanach dynamicznych

Wstęp do sieci neuronowych, wykład 12 Wykorzystanie sieci rekurencyjnych w optymalizacji grafowej

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

Interpolacja, aproksymacja całkowanie. Interpolacja Krzywa przechodzi przez punkty kontrolne

RACHUNEK PRAWDOPODOBIEŃSTWA I STATYSTYKA MATEMATYCZNA

Stosowana Analiza Regresji

Weryfikacja hipotez statystycznych

Zadania ze statystyki, cz.7 - hipotezy statystyczne, błąd standardowy, testowanie hipotez statystycznych

Transkrypt:

Roboty Manipulacyjne i Mobilne Budowanie mapy, lokalizacja, SLAM Janusz Jakubiak Zakład Podstaw Cybernetyki i Robotyki Instytut Informatyki, Automatyki i Robotyki Politechnika Wrocławska 4.05.2012

Budowanie mapy Wersja I zadania (prostsza) Na podstawie znanego ciągu pozycji robota (trajektorii) oraz odczytów sensorów (obserwacji) w tych pozycjach wyznaczyć położenia przeszkód i obszary wolne w otoczeniu robota (mapę w wybranej reprezentacji). x z m x 1 2 3 z 1 2 3 x z m mapa x i pozycja robota w kroku i z i obserwacja w kroku i Janusz Jakubiak (ZPCIR) Budowanie mapy, SLAM 4.05.2012 2 / 42

Budowanie mapy sensory Do zadania tworzenia mapy otoczenia wykorzystywane są sensory sonary, dalmierze laserowe, systemy mono- i stereowizyjne informacje o pozycji i orientacji robota z podsystemu samolokalizacji Janusz Jakubiak (ZPCIR) Budowanie mapy, SLAM 4.05.2012 3 / 42

Sonar jako skaner 0 Leonard, Durrant-Whyte. Directed Sonar Sensing for Mobile Robot Navigation Janusz Jakubiak (ZPCIR) Budowanie mapy, SLAM 4.05.2012 4 / 42

Budowanie mapy cechy Wyszukiwane cechy linie (odcinki) narożniki znaczniki Wykryte cechy(elementy) nawet w statycznym środowisku powinny być śledzone podczas ruchu robota celem weryfikacji i ewentualnej korekty mapy. Janusz Jakubiak (ZPCIR) Budowanie mapy, SLAM 4.05.2012 5 / 42

Budowanie mapy schemat mapa sensory uaktualnienie modelu dane ekstrakcja cech cechy dopasowanie do modelu Etapy tworzenia mapy [Crowley 1989] 1 Tworzenie opisu wyższego poziomu na podstawie bieżących odczytów czujników i modeli sensorów. 2 Dopasowanie cech rozpoznanych przez sensory do bieżącego opisu otoczenia robota. 3 Aktualizacja opisu otoczenia poprzez osłabienie lub wzmocnienie prawdopodobieństw obecności obiektów. Janusz Jakubiak (ZPCIR) Budowanie mapy, SLAM 4.05.2012 6 / 42

Podział map W zależności od zmienności statyczne dynamiczne W zależności od rodzaju opisu metryczne topologiczne hybrydowe Według opisu przestrzeni rastrowe wektorowe Janusz Jakubiak (ZPCIR) Budowanie mapy, SLAM 4.05.2012 7 / 42

Mapa rastrowa, metryczna 0 A. Zelinsky. Environment Mapping with a Mobile Robot using Sonar Janusz Jakubiak (ZPCIR) Budowanie mapy, SLAM 4.05.2012 8 / 42

Mapa topologiczna 0 Tomatis i in. Combining topological and metric: a natural integration for SLAM Janusz Jakubiak (ZPCIR) Budowanie mapy, SLAM 4.05.2012 9 / 42

Porównanie map metrycznych i topologicznych Zalety map metrycznych łatwość tworzenia, reprezentacji, modyfikacji rozpoznawanie miejsc niezależne od położenia/orientacji umożliwiają generowanie optymalnych (najkrótszych) ścieżek Zalety map topologicznych złożoność mapy zależy od złożoności obszaru, nie jego wielkości nie wymagają znajomości dokładnej pozycji robota reprezentacja łatwiejsza do przetwarzania wysokopoziomowego Janusz Jakubiak (ZPCIR) Budowanie mapy, SLAM 4.05.2012 10 / 42

Problem Dlaczego tworzenie map jest problemem trudnym? Przestrzeń możliwych map jest bardzo duża: w przypadku ciągłym nieskończeniewymiarowa, w dyskretnym często rzędu 10 4 10 6. Główne czynniki określające złożoność: rozmiar wielkość środowiska względem zasięgu sensorów, zakłócenia pomiarów i sterowania, niejednoznaczność percepcji (możliwość dopasowania różnych punktów otoczenia do tego samego punktu mapy), cykle (możliwość dotarcia do tego samego punktu różnymi drogami, przy jednoczesnych błędach określania pozycji). Janusz Jakubiak (ZPCIR) Budowanie mapy, SLAM 4.05.2012 11 / 42

Praktyczne ograniczenia wielkości fizyczne możliwe do zmierzenia zasięg sensorów zakłócenia niejednoznaczność interpretacji niedokładność wyznaczania pozycji robota dynamika otoczenia wymagania pracy w czasie rzeczywistym Janusz Jakubiak (ZPCIR) Budowanie mapy, SLAM 4.05.2012 12 / 42

Rastrowa mapa zajętości (occupancy grid) Szukamy mapy, która maksymalizowałaby prawdopodobieństwo p(m z 1:t, x 1:t ). Dzielimy mapę na komórki m = {m i }, każda z prawdopodobieństwem zajętości (1 zajęta, 0 wolna). Problem rozmiaru: Mapa 100x100 to 10 000 komórek. Liczba możliwych map: 2 10000. Rozwiązanie standardowe: Obliczamy prawdopodobieństwo każdej komórki oddzielnie p(m z 1:t, x 1:t ) Π i p(m i z 1:t, x 1:t ) Janusz Jakubiak (ZPCIR) Budowanie mapy, SLAM 4.05.2012 13 / 42

Rastrowa mapa zajętości (2) Do aktualizacji prawdopodobieństwa korzystamy z binarnego filtra bayesowskiego i reprezentacji logarytmicznej l t = l t 1 + log p(x z t ) 1 p(x z t ) log p(x) 1 p(x) Janusz Jakubiak (ZPCIR) Budowanie mapy, SLAM 4.05.2012 14 / 42

Rastrowa mapa zajętości algorytm l 0 = log p(m i =1) p(m i =0) = log p(m i ) 1 p(m i ) foreach m i do if m i in perception field(z t ) l t,i = l t 1,i + inverse sensor model(m i, x t, z t ) l 0 else l t,i = l t 1,i endif endfor p(m i z 1:t, x 1:t ) = 1 1 1+exp{l t,i } inverse sensor model(m i, x t, z t ) = log p(m i z t,x t) 1 p(m i z t,x t) Janusz Jakubiak (ZPCIR) Budowanie mapy, SLAM 4.05.2012 15 / 42

Model czujnika Wersja prosta: Wersja zaawansowana: Niech (r i, ϕ i ) odległość i kąt do komórki m i, (θ, β) orientacja i szerokość wiązki sensora α grubość przeszkody if r i > min(z max, z t + α/2) or ϕ i θ sens > β/2 return l 0 if z t < z max and r i z t < α/2 return l zaj if r i z t return l wol Janusz Jakubiak (ZPCIR) Budowanie mapy, SLAM 4.05.2012 16 / 42

Mapy zajętości a fuzja sensorów Pytanie W jaki sposób stworzyć mapę zajętości korzystając z różnych sensorów? 1 (sposób prosty) Uruchomić algorytm dla tej samej mapy kolejno dla każdego z czujników. Wada: Jeśli różne typy czujników wykrywają różne przeszkody, mapa będzie niestabilna. 2 (podejście typowe) Stworzyć oddzielne mapy dla każdego z typów czujników i połączyć je odpowiednią funkcją, np. jeśli pomiary są niezależne, korzystając z praw De Morgana: p(m i ) = 1 Π k (1 p(m k i )), lub wg. najbardziej pesymistycznej hipotezy p(m i ) = max p(mi k ). k Janusz Jakubiak (ZPCIR) Budowanie mapy, SLAM 4.05.2012 17 / 42

Mapy wektorowe wykrywanie linii δ k = d k cos(α φ k ) R 0 por. transformata Hough a 0 Pfister i in. Weighted line fitting algorithms... Janusz Jakubiak (ZPCIR) Budowanie mapy, SLAM 4.05.2012 18 / 42

Wykrywanie linii Niech d k = D k + ε d, z ε d będącym błedem odczytu sensorów odległości o rozkładzie normalnym z wariancją σ 2 d, φ k = Φ k + ε φ analogicznie błędem orientacji o wariancji σ 2 φ. Błąd dopasowania do linii k-tego pomiaru P k = E{δ k δ T k } = σ 2 d cos 2 (α Φ k ) + σ 2 φd 2 k sin 2 (α φ k ) Estymata R ˆR = P RR ( k ) ( ) d k cos(ˆα φ k ), P RR = Pk 1 P k k Estymatę α wyznacza się np. przez numeryczną maksymalizację prawdopodobieństwa a posteriori. Janusz Jakubiak (ZPCIR) Budowanie mapy, SLAM 4.05.2012 19 / 42

Wykrywanie linii RANSAC Algorytm RANdom SAmpling Consensus dla dalmierza laserowego dopóki istnieją próbki nie przypisane do żadnej linii, a liczba prób jest mniejsza od N wybierz dowolny odczyt r k wybierz losowo S próbek w zakresie do D stopni od r k (R s ) dla {r k } R s dopasuj linię metodą najmniejszych kwadratów wyznacz ile z wszystkich próbek leży w odległości powyżej X od tej linii jeśli liczba odczytów pasujących do linii jest większa od C dla punktów pasujących do linii wyznacz ponownie parametry prostej dodaj wyznaczoną linię do zbioru wykrytych linii usuń uwzględnione punkty ze zbioru punktów do przetworzenia Janusz Jakubiak (ZPCIR) Budowanie mapy, SLAM 4.05.2012 20 / 42

Konwersja mapy metrycznej do topologicznej 0 Thrun. Learning maps for indoor mobile robot navigation Janusz Jakubiak (ZPCIR) Budowanie mapy, SLAM 4.05.2012 21 / 42

Wpływ błedów odometrii krok do SLAM 0 Thrun. Integrating topological and metric maps... Janusz Jakubiak (ZPCIR) Budowanie mapy, SLAM 4.05.2012 22 / 42

Zadanie lokalizacji x x 1 2 3 u u 1 2 u 3 x z z 1 2 3 z m Na podstawie znanych: modelu otoczenia m, ciągu sterowań U = {u 1:t } i obserwacji Z = {z 1:t } wyznaczyć stan robota x t (lub ciąg stanów X = {x 1:t }). Janusz Jakubiak (ZPCIR) Budowanie mapy, SLAM 4.05.2012 23 / 42

Zadanie lokalizacji systematyka Informacja początkowa śledzenie pozycji (lokalizacja lokalna) lokalizacja globalna problem porwanego robota Środowisko statyczne dynamiczne Wpływ na sterowanie bierna aktywna Janusz Jakubiak (ZPCIR) Budowanie mapy, SLAM 4.05.2012 24 / 42

Zadanie lokalizacji idea 0 http://www.cs.cmu.edu/ thrun/tutorial/sld027.htm Janusz Jakubiak (ZPCIR) Budowanie mapy, SLAM 4.05.2012 25 / 42

Zadanie lokalizacji przykład p(x t = x i z 1:t ) : 1 dla x i = 2, 4, 7, p(z t = x t = x i ) = 0 dla x i = 1, 3, 5, 6, 8 x t+1 = f (x t, u t = 1) = x t + 1 Z = { },, i, z i \x i 1 2 3 4 5 6 7 8 0 1/8 1/8 1/8 1/8 1/8 1/8 1/8 1/8 1 0 1/3 0 1/3 0 0 1/3 0 2 0 0 1/3 0 1/3 0 0 1/3 3 0 0 0 1 0 0 0 0 Janusz Jakubiak (ZPCIR) Budowanie mapy, SLAM 4.05.2012 26 / 42

Zadanie lokalizacji przykład, c.d. Uwaga Prawdopodobieństwo p(z t x t ) zwykle nie jest binarne, także zmiana stanu może być zakłócona. Pytanie Jak wyglądałoby rozwiązanie, gdyby przyjąć, że prawdopodobieństwo, że drzwi są otwarte wynosiło 1/2, a robot nie odróżniał zamkniętych drzwi od ściany? Gdyby dodatkowo u i = 0.9, czyli zmiana stanu opisana byłaby równaniem p(x t+1 = x i + 1 x t = x i ) = 0.9 p(x t+1 = x i x t = x i ) = 0.1 (por. algorytm Viterbiego) Janusz Jakubiak (ZPCIR) Budowanie mapy, SLAM 4.05.2012 27 / 42

Lokalizacja wg. schematu Markowa W każdej iteracji dwie fazy: predykcja obliczenie przewidywanego rozkładu prawdopodobieństwa nowego stanu bel(x t = x) = p(x t x t 1, u t )bel(x t 1 )dx t 1 korekta hipotezy na podstawie odczytów sensorów z t bel(x t = x) = ηp(z t x t ) bel(x t ) Janusz Jakubiak (ZPCIR) Budowanie mapy, SLAM 4.05.2012 28 / 42

Krok do SLAM 1 SLAM Ponieważ zarówno wyznaczenie położenia robota (lokalizacja), jak i pomiary odległości do obiektów znajdujących się w otoczeniu robota (tworzenie mapy) obarczone są błędami, należy oba zadania rozpatrywać łącznie. Zadanie będzie (wielokotnie) bardziej złożone, jednak będzie można uzyskać dokładniej wyznaczone pozycję robota i przeszkód w jego otoczeniu. 1 SLAM (Simultaneous localization and mapping) jednoczesna lokalizacja (robota) i budowa mapy Janusz Jakubiak (ZPCIR) Budowanie mapy, SLAM 4.05.2012 29 / 42

SLAM formalnie x x 1 2 3 x u u 1 2 u 3 z z 1 2 3 z m Na podstawie znanych sterowań U = {u 1:t } i obserwacji Z = {z 1:t } wyznaczyć stany robota X = {x 1:t } i model otoczenia (mapę) m. Janusz Jakubiak (ZPCIR) Budowanie mapy, SLAM 4.05.2012 30 / 42

SLAM schemat oczekiwane cechy predykcja estymata otoczenia sensory dane ekstrakcja cech cechy zgodnosc z modelem dopasowane cechy estymata polozenia uaktualnienie pozycji robota uaktualnienie zadan mapa niedopasowane cechy korekta mapy Janusz Jakubiak (ZPCIR) Budowanie mapy, SLAM 4.05.2012 31 / 42

SLAM najważniejsze metody metody gaussowskie, np. rozszerzony filtr Kalmana (EKF) grafowe metody optymalizacji metody gridowe/monte Carlo, np. filtry cząsteczkowe (particle filter) Janusz Jakubiak (ZPCIR) Budowanie mapy, SLAM 4.05.2012 32 / 42

EKF najstarsza z metod SLAM zakłada metryczną reprezentację świata z wyróżnionymi elementami stanowiącymi wektory w przestrzeni parametrów pozycja robota oraz wyróżnionych elementów świata tworzą sieć relacji obaczonych niepewnością p(x t, m Z T, U T ) N (µ t, Σ t ) x t pozycja robota w chwili t, U T zbiór względnych przemieszczeń robota w czasie [0, t], m rzeczywista mapa otoczenia, Z T zbiór pomiarów otoczenia, µ t wektor stanu (poł. robota i elementów otoczenia), Σ t macierz kowariancji do oceny błędu przyjętego stanu µ t Janusz Jakubiak (ZPCIR) Budowanie mapy, SLAM 4.05.2012 33 / 42

EKF, c.d. Założenie Mapa jest reprezentowana przez skończony zbiór cech. W wersji prostszej algorytmu obserwacje są jednoznacznie kojarzone z cechami, w innych wersjach dopasowanie obserwacji do cech następuje np. przez estymację największego prawdopodobieństwa (maximum likehood estimator, MLE). Własności jako reprezentacja gaussowska, nie uwzględnia sztywnych ograniczeń przestrzeni prosty EKF jest mało odporny na błędne dopasowania nie uwzględnia informacji negatywnych Rozszerzenia: MHT, UKF, inne. Janusz Jakubiak (ZPCIR) Budowanie mapy, SLAM 4.05.2012 34 / 42

Grafowe metody optymalizacji przy każdym pomiarze dodawane są do grafu: węzeł z bieżącą pozycją i łuki pomiarów odległości do znaczników graf jest optymalizowany (analogicznie do minimalizacji układu mas-sprężyn) przy X t, m = arg max X T,m log p(x T, m Z T, U T ) log p(x T, m Z T, U T ) = const+ + t log p(x t x t 1, u t ) + log p(z t x t, u t ) Janusz Jakubiak (ZPCIR) Budowanie mapy, SLAM 4.05.2012 35 / 42

Metody gridowe/monte Carlo Własności Nie wymagają ekstrakcji cech Mogą uwzględniać informację negatywną Są nieparametryczne nie są ograniczone założoną dystrybucją Janusz Jakubiak (ZPCIR) Budowanie mapy, SLAM 4.05.2012 36 / 42

Lokalizacja gridowa {p k,0 }: początkowy rozkład prawdopodobieństw na siatce foreach k do p k,t = i p t,t 1 motion model(x k sr, u t, x i sr ) p k,t = η p k,t measurement model(z t, x t sr, m) endfor stosowany dyskretny filtr Bayesa siatki: topologiczna zawiera istotne miejsca, np. drzwi, skrzyżowania, ślepe zaułki. Rozdzielczość zależy od środowiska. metryczna (uwagi: obserwacje mogą być różne dla różnych punktów pola siatki, model ruchu może się zmieniać w zależności od wielkości pola i prędkości robota) Janusz Jakubiak (ZPCIR) Budowanie mapy, SLAM 4.05.2012 37 / 42

Filtry cząsteczkowe połączenie łańcuchów Markowa z metodą Monte Carlo najpopularniejsza wersja: FastSLAM śledzone jest jednocześnie K cząstek, każda na swojej ścieżce na podstawie odometrii generowane są nowe pozycje cząstek zgodnie z przyjętym rozkładem błędów x [k] t p(x t x [k] t 1, u t) przy nowym pomiarze wyliczane są współczynniki istotności na podstawie prawdopodobieństwa pomiaru cechy n w założonej pozycji w [k] t = N (z t x [k] t, µ [k] t,n, Σ [k] t,n), następnie zestaw cząstek jest zastępowany nowym z rozkładem wynikającym z unormowanych w i. Janusz Jakubiak (ZPCIR) Budowanie mapy, SLAM 4.05.2012 38 / 42

Filtry cząsteczkowe algorytm X t : zbiór m cząstek w chwili t X t = X t = for k = 1 to M do x [k] t w [k] t = motion model(x [k] t 1, u t ) = measurement model(z t, x [k] t, m) X t = X t + (x [k] t, w [k] t ) endfor for k = 1 to M do losuj x [i] t z prawdopodobieństwem w [k] t dodaj X t = X t + x [i] t endfor Janusz Jakubiak (ZPCIR) Budowanie mapy, SLAM 4.05.2012 39 / 42

FastSLAM algorytm Wykorzystuje twierdzenie Rao-Blackwella(-Kołmogorowa). Cząstki mają postać y [i] t = ( x [i] 1:t, {µ [i] j, Σ [i] j } ) Dla każdej z M cząstek Wyciągnij posturę x [i] t 1 ze zbioru cząstek Y t 1 (predykcja) Wyznacz nową posturę x [i] t p(x t x t 1, [i] u t ) (aktualizacja pomiarów) Dla każdej obserwacji zt k znajdź dopasowanie do cechy j i wprowadź zt k do odpowiedniego EKF, aktualizując (µ [i] j,t, Σ [i] j,t) (aktualizacja wag) Oblicz wagę ważności w [i] dla nowej cząstki (resampling) Zastąp zbiór cząstek nowym, losowanym z prawdopodobieństwem proporcjonalnym do w [i] Janusz Jakubiak (ZPCIR) Budowanie mapy, SLAM 4.05.2012 40 / 42

Metody MC Rozszerzenia AugmentedMCL dodawanie losowych próbek w liczbie zależnej od krótko- i długookresowej estymaty prawdopodobieństwa MixtureMCL cześć cząstek generowana z modelu ruchu, a część z modelu obserwacji KLDSampling dobór liczby cząstek na podstawie dywergencji Kullbacka-Leiblera Środowiska dynamiczne rozszerzenie stanu uwzględnienie w estymacie pozycji i prędkości ruchomych obiektów (por. HMM) outlier rejection odrzucenie niewłaściwych pomiarów już w modelu czujnika Janusz Jakubiak (ZPCIR) Budowanie mapy, SLAM 4.05.2012 41 / 42

Podsumowanie metod EKF MHT grid (top.) grid (met.) MCL obserwacje cechy cechy cechy surowe surowe zakłócenia gaussowskie gaussowskie dowolne dowolne dowolne wynik N (µ, Σ) {N i (µ, Σ)} histogram histogram cząstki wydajność ++ ++ + - + pamięciowa wydajność ++ + + - + czasowa łatwość implementacji + - + - ++ rozdzielczość ++ ++ - + + odporność - + + ++ ++ globalna nie tak tak tak tak Janusz Jakubiak (ZPCIR) Budowanie mapy, SLAM 4.05.2012 42 / 42