SLAM Simultaneous localization and mapping Ing. Aleš Jelínek 2015 Komplexní inovace studijních programů a zvyšování kvality výuky na FEKT VUT v Brně OP VK CZ.1.07/2.2.00/28.0193
Obsah Proč sebelokalizace, mapy a SLAM Technické prostředky pro SLAM Sebelokalizace lidská a strojová Mapy a nároky na ně kladené Limity senzorů a integrace chyby Metody pro sebelokalizaci a mapování Rekapitulace a závěr
Proč sebelokalizace? Bezpečnost (vyhýbání kolizím) Orientace (určení polohy ve známé mapě) Navigace (sledování trasy, kontrola dosažení cíle) Část prostředí viditelná z jednoho bodu
Proč mapování? Průzkum (nebezpečné oblasti, přesné měření) Zkušenosti (paměť, učení) Plánování (umělá inteligence, plnění úkolů) Postupný průzkum a tvorba mapy
SLAM Současná sebelokalizace a mapování Definice: SLAM problém spočívá v konstrukci a aktualizaci mapy neznámého prostředí za současného sledování polohy průzkumníka v ní.
Senzory dálkoměrné Laserový skener Ultrazvukový sonar [http://www.vexrobotics.com]
Termokamery CCD kamery Senzory obraz Levá Pravá
Senzory externí systémy GNSS [https://sites.google.com/site/rembeet] Navigační majáky [http://www.convict.lu/] Vodicí čáry [http://www.buildcircuit.com] Navigační značky [http://www2.warwick.ac.uk]
Souřadné systémy Měříme vždy vůči předem známé vztažné soustavě Souřadnice bod n souřadnic v n-rozměrném prostoru Stupně volnosti tuhé těleso n+n(n 1)/2 SV v n-rozměrném prostoru
Lidská sebelokalizace Mozek dobře řeší abstraktní úlohy => srovnávání vzorů, hledání významných orientačních bodů Pouze hrubý odhad vzdáleností Pohyb řídíme zpětnovazebně v uzavřené smyčce
Strojová sebelokalizace Velmi přesné výpočty a měření Omezená výpočetní kapacita ''Pouze'' umělá inteligence Pohyb buď není regulován v uzavřené smyčce vůbec, nebo využívá jen jednoduchou zpětnou vazbu
Mapy Členění podle reprezentace objektů v mapě Mřížková, geometrická, objektová Členění podle souvislostí mezi objekty Metrická, topologická
Tvorba mapy Přidávání nových pozorování Aktualizace starších pozorování Některé dříve pozorované objekty zmizely Zpřesnění starších pozorování Nová nezávislá měření pro statistické zpracování
Konzistentnost mapy Definice: Jednomu bodu v prostoru odpovídá jeden bod v mapě. Chyba při uzavírání smyčky během průzkumu.
Konvergence mapy Definice: S pokračujícím průzkumem se mapa zpřesňuje. Pružná mapa, převzato z [1].
Konečná přesnost Žádný snímač neměří zcela přesně, vždy má chybu Absolutní měření měříme vůči pevné vztažné soustavě => chyba je konstantní Relativní měření měříme vůči předchozímu měření => chyba se sčítá
Integrace chyby Vzniká pokud se robot neorientuje vůči vnějšímu prostředí např. dráha odvozená pouze od měření akcelerometry, gyroskopy, odometrií, Vzniká i v případě, že střední hodnota chyby je nulová
Integrace chyby v praxi
Nárůst nejistoty se zvyšujícím se počtem měření
Integrace chyby s nenulovou střední hodnotou
Korekce integrační chyby Vždy je třeba polohu korigovat podle stabilní reference GNSS, orientační body, předem známá mapa, statické objekty v okolním prostředí Metody korekce Sesazení skenů, Gaussovské filtry, částicové filtry
Sesazování skenů Hledání optimálního překrytí skenu a známé mapy Korelační metody ICP minimalizace sumy kvadrátů vzdáleností mezi nejbližšími body skenu a mapy Ilustrace fungování metody ICP, [http://groups.csail.mit.edu/]
Tvorba mapy prakticky Sestavení mapy pouze podle předpokládané trajektorie robota. Sestavení mapy s využitím informace o okolním prostředí.
Markovův předpoklad Definice: Následující stavy systému závisí pouze na stavu současném a nikoli na stavech předchozích. Porušení předpokladu: Nemodelovaná dynamika (pohyb lidí) Nepřesné modely (aproximace reality) Efekty působící ve více krocích (plánování)
Bayesovský filtr 1. 2. 3. 4. 5. 6. Bayes_Filter(bel(xt-1), ut, zt): for all xt do bel(xt) = ʃ p(xt ut, xt-1) bel(xt-1) dxt -1 bel(xt) = η p(zt xt) bel(xt) endfor return bel(xt) bel(xt-1) předpokládaný stav na začátku kroku u zásah řízení t z aktuální měření t bel(x ) predikce stavu na základě řízení t bel(x ) předpokládaný stav na konci kroku t
Gaussovské filtry Kalmanův filtr Momentová parametrizace: vektor středních hodnot a kovarianční matice Snadná aktualizace řízení, měření je složitější Informační filtr Kanonická parametrizace: informační vektor a informační matice Snadná aktualizace měření, řízení je složitější
Gaussovské filtry ''Mapa'' prostředí s význačnými body Kovarianční matice Informační matice [http://www.probabilistic-robotics.org] Nelineární filtry Rozšířený Kalmanův filtr Unscented Kalman filter
Neparametrické filtry Histogramový filtr Diskrétní Bayesovský filtr Částicové filtry Distribuce pravděpodobnosti je popsána sadou vzorků stavového prostoru částic Predikce / korekce pro všechny částice Přegenerování částic podle nových poznatků
Rekapitulace Co je to SLAM a k čemu je? Jaké jsou principy SLAM u lidí a robotů? Jaké nároky klademe na kvalitní mapu? Co je to integrace chyby a jak jí korigovat? Jaká omezení působí Markovův předpoklad? Jaký je princip Bayesovského filtru? Jaké metody se pro řešení SLAM používají?
Literatura [1] H. Durrant-Whyte and T. Bailey, Simultaneous Localization and Mapping : Part I. 2006. [2] T. Bailey and H. Durrant-Whyte, Simultaneous Localization and Mapping: Part II, no. September. pp. 108 117, 2006. [3] L. Oswald, Recent development of the Iterative Closest Point algorithm. 2010. [4] S. Thrun, Robotic Mapping : A Survey, 2002. [5] S. Thrun, W. Burgard, and D. Fox, Probabilistic Robotics. The MIT Press, 2005, p. 672.