4. Lokalizáció Magyar Attila Pannon Egyetem Műszaki Informatikai Kar Villamosmérnöki és Információs Rendszerek Tanszék magyar.attila@virt.uni-pannon.hu 2011. szeptember 23.
4. Lokalizáció 2
4. Tartalom 1. Bevezetés 2. Zaj és alias 3. Lokalizáció alapú vs. programozott navigáció 4. Pozícióbecslés 5. Térkép 6. Lokalizáció 3
4.1. Bevezetés Sikeres navigáció Észlelés Lokalizáció Tervezés Mozgásirányítás Általános struktúra 4
4.2. Zaj és alias Pontos pozíciómérés esetén a lokalizáció egyszerű de pontos pozíciómérés nincs Komoly kihívás Abszolút vs. relatív pozíció Szenzorok és beavatkozók fontos szerepet játszanak Egyik sem tökéletes 5
4.2. Zaj és alias Szenzorok alapvető fontosságúak (érzékelés) Zajjal terheltek Szenzorzaj Csökkenti a mérésből származó információ mennyiségét Nem modellezett környezeti hatás (pl. megvilágítottság mértéke CCD-nél) Interferencia (UH szenzor) Alias Emberi érzékelés a különböző bemeneteket meg tudja különböztetni Robot nem képes rá -> alias jelenség Kis zaj mellett is jelen van Kiküszöbölhető, ha több egymás utáni mérést figyelünk 6
4.2. Zaj és alias A szenzorokhoz hasonlóan a beavatkozók sem tökéletesek Beavatkozó zaj Valójában mindig a környezet hiányos modellezéséből származik Odometria, dead reckoning A pozíció proprioceptív szenzoradatokból Hibaforrások Kerékcsúszás Talaj lejtése Kerékátmérő Hibák három csoportja Távolság hiba - Fordulási hiba Drift hiba Hosszútávon a fordulási és a drift hibák gyorsabban növekednek 7
4.2. Odometriai hibák Differenciális hajtású robot pozíciója p = (x, y, θ) t(mintavételi) idő alatt megtett út ( x, y, θ) x = s cos( θ + θ / 2) s r, s l- jobb,bal kerék által y = s sin( θ + θ / 2) megtett út (mérhető/számolható) θ = ( s b kerekek közti távolság r s l) / b s = ( s + s ) / 2 Frissített pozíció r l s r s l s r + s l x x s cos( θ + θ / 2) x 2 cos( θ + 2b ) s r sl sr + s l p = y y s sin( / 2) y = + θ + θ = + 2 sin( θ + 2b ) = f(x,y, θ, s r, s l) sr sl θ θ θ θ b 8
4.2. Odometriai hibák terjedése Kovariancia mátrix rekurzív számítása T Σ p' = p Σp p + Σ f f f f Σ = cov( s r, s l ), a mozgásinkrementum kovariancia mátrixa Σ p = kiindulási pozíció kovariancia mátrixa Σ p = aktuális pozíció kovariancia mátrixa rl rl T 9
4.3. Lokalizáció alapú vs. programozott navigáció Nem a lokalizáció az egyetlen járható út A -> B Térkép építés, lokalizáció, útvonal tervezés Viselkedés alapú megoldás: bal oldali fal követése, leállási feltétel 10
4.3. Lokalizáció alapú vs. programozott navigáció Viselkedés alapú navigáció + Könnyen implementálható Nem skálázható (nagyobb környezetre) Az elemi procedúrákat alaposan meg kell tervezni Egy időben több aktív viselkedési elem Térkép alapú navigáció + A robot térkép-alapú tudása átlátható + A térkép egy kommunikációs csatorna + A robot által készített térkép az emberek által is használható Mi van, ha rossz a térkép? 11
4.4. Pozíció A különböző térkép alapú lokalizációs rendszerek az alkalmazott reprezentációban különböznek Térkép A robot környezetéről alkotott modell Pozícióbecslés Hol vagyok a térképen? Egy lehetséges pozíció Több lehetséges pozíció? 12
4.4. Pozícióbecslés Egy hipotézises pozícióbecslés Legelterjedtebb Feltételezett pozíció: egy pont a térképen Egyértelmű Egyszerű útvonaltervezés Egyszerű pozíciófrissítés Szenzor és beavatkozó zaja bizonytalanságot okoz Egy hipotézis nem írja le megfelelően a pozíciót 13
4.4. Pozícióbecslés Több hipotézises pozícióbecslés Feltételezett pozíció: több lehetségespont a térképen (ponthalmaz) Rendezés a lehetséges pontok között Térképpontonként egy valószínűségi sűrűségfüggvény (folytonos) Diszkrét térképcellák + valószínűség (egyenként frissíthető) Kezeli a zaj okozta bizonytalanságot Nehéz az útvonaltervezés 14
4.5. Térkép A pozícióbecslés duálisa Alapvető összefüggések 1. A térkép felbontása függ a végrehajtandó feladat pontosságától 2. A térkép felbontása és a térkép által reprezentált jellemzők függnek a szenzorok pontosságától, és az általuk szolgáltatott adatok jellegétől 3. A térkép felbontása határozza meg a térképépítéssel, lokalizációval, és navigációval kapcsolatos számítási feladatok bonyolultságát Térképépítés szenzorai Távolságmérés (lézer/ultrahang) CCD/CMOS látórendszer 15
Pontos leírás Nagyon memóriaigényes 4.5. Folytonos térkép Általában kombinált megoldás Folytonos reprezentáció Zárt világfeltételezése: Minden objektum szerepel a térképen ami nincs a térképen, az nem létezik. A térkép (memóriabeli) mérete arányos az objektum- sűrűséggel ritka környezet = kis memóriaigényű térkép 16
Folytonos térkép 4.5. Folytonos térkép - példa Akadályok reprezentálása sokszögekkel Sokszögek csúcsait elég ismerni 17
Szenzor Lézeres távolságmérés 4.5. Folytonos térkép - példa Távolságadatokból egyenesek kiemelése Folytonos térkép Térkép leírása egyenesekkel y=mx+b 18
4.5. Diszkretizált térkép 0 0 0 0 1 2 2 2 2 0 0 0 0 1 2 2 2 2 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 2 0 0 Pontos 0 0 0 térkép 0 0 (kis 0 rácsméret) 0 0 0 0 memóriaigényes 0 0 0 0 0 0 0 2 0 0Mátrix 0 0 reprezentáció 0 0 0 1 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 2 2 2 2 2 2 2 0 0 0 0 0 0 0 üres, 1,2,3, - foglalt (növekvő valószínűséggel) 0 0 0 0 0 0 0 2 0 0 0 0 0 2 0 0 0 0 0 0 Zárt világ feltételezés itt nem használható 0 0 0 0 0 0 0 2 2 2 2 2 2 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 2 2 2 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 1 0 0 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 2 0 0 0 0 0 0 Foglaltsági háló alapú térkép (fix dekompozíció) Adaptív rácsmérettel pontosabban leírható objektumok 19
4.5. Topologikus térkép Nem direkt méréseken alapul Gráf reprezentáció Csomópontok: helyszínek Nem azonos méretű helyszínek Élek: átjárhatóság Sikeres navigáció kulcsa Aktuális pozíció megfelelő leképezése a csomópontokra Élek megfelelő leképezése a robot mozgására 20
4.6. Lokalizáció Térkép alapú lokalizáció pozíció meghatározása Valószínségi sűrűségfüggvények Két lépésben történik 1. Akció: o t proprioceptív mérések és a korábbi s t-1 becsült pozíció s = Act(o,s ) t t t 1 2. Mérés: i t exteroceptív mérések és az 1. pontban számolt s t pozíció s = Meas(i,s ) t t t Két módszer: Markov lokalizáció Kalman szűrő 21
4. Kvíz 1. Milyen típusú szenzorok adatait használjuk pozíció becslésére az odometria feladata során? A. Exteroceptív B. Proprioceptív C. Mindkettő 2. Melyik pozícióbecslés szolgál(hat) statisztikai információval is a robot pozíciójáról? A. Egy hipotézises pozícióbecslés B. Több hipotézises pozícióbecslés 3. A zárt világ feltételezés lényege, hogy A. a térképet nem lehet kibővíteni. B. ami nincs a térképen, arról feltételezzük, hogy nem létezik. C. a kevés objektumot tartalmazó térképrészlet kis memóriát foglaljon.. 22
4. Kvíz - megoldások 1. Milyen típusú szenzorok adatait használjuk pozíció becslésére az odometria feladata során? A. Exteroceptív B. Proprioceptív C. Mindkettő 2. Melyik pozícióbecslés szolgál(hat) statisztikai információval is a robot pozíciójáról? A. Egy hipotézises pozícióbecslés B. Több hipotézises pozícióbecslés 3. A zárt világ feltételezés lényege, hogy A. a térképet nem lehet kibővíteni. B. ami nincs a térképen, arról feltételezzük, hogy nem létezik. C. a kevés objektumot tartalmazó térképrészlet kis memóriát foglaljon.. 23