SEBELOKALIZACE MOBILNÍCH ROBOTŮrobotika/prednasky/2014_BROB_07A... · 2014. 3. 28. ·...

42
SEBELOKALIZACE MOBILNÍCH ROBOTŮ Tomáš Jílek

Transcript of SEBELOKALIZACE MOBILNÍCH ROBOTŮrobotika/prednasky/2014_BROB_07A... · 2014. 3. 28. ·...

Page 1: SEBELOKALIZACE MOBILNÍCH ROBOTŮrobotika/prednasky/2014_BROB_07A... · 2014. 3. 28. · Sebelokalizace Autonomní určení pozice a orientace robotu ve zvoleném souřadnicovém

SEBELOKALIZACE

MOBILNÍCH ROBOTŮ

Tomáš Jílek

Page 2: SEBELOKALIZACE MOBILNÍCH ROBOTŮrobotika/prednasky/2014_BROB_07A... · 2014. 3. 28. · Sebelokalizace Autonomní určení pozice a orientace robotu ve zvoleném souřadnicovém

Sebelokalizace

Autonomní určení pozice a orientace robotu ve

zvoleném souřadnicovém systému

Souřadnicové systémy Globální / lokální

WGS-84, ETRS-89 – globální

Pravoúhlé souřadnice [x, y, z]

Eliptické (zeměpisné) souřadnice [λ, φ, H]

S-JTSK, S-42 – lokální

Prostorové / rovinné

Typické případy lokalizace V prostoru (6DOF) [x, y, z, pitch, roll, yaw]

V rovině (3DOF) [x, y, φ]

Page 3: SEBELOKALIZACE MOBILNÍCH ROBOTŮrobotika/prednasky/2014_BROB_07A... · 2014. 3. 28. · Sebelokalizace Autonomní určení pozice a orientace robotu ve zvoleném souřadnicovém

Popis orientace v prostoru

Page 4: SEBELOKALIZACE MOBILNÍCH ROBOTŮrobotika/prednasky/2014_BROB_07A... · 2014. 3. 28. · Sebelokalizace Autonomní určení pozice a orientace robotu ve zvoleném souřadnicovém

Využití lokalizace

Vizualizace polohy mobilního robotu Informace o aktuální pozici a orientaci mobilního

robotu pro operátora

Autonomní chování mobilního robotu Navigace mobilního robotu

Lokalizace měřených dat mobilním robotem Tvorba map prostředí a vizualizace polí (teplota /

ionizující záření / atd.)

Page 5: SEBELOKALIZACE MOBILNÍCH ROBOTŮrobotika/prednasky/2014_BROB_07A... · 2014. 3. 28. · Sebelokalizace Autonomní určení pozice a orientace robotu ve zvoleném souřadnicovém

Využití – vizualizace polohy

Page 6: SEBELOKALIZACE MOBILNÍCH ROBOTŮrobotika/prednasky/2014_BROB_07A... · 2014. 3. 28. · Sebelokalizace Autonomní určení pozice a orientace robotu ve zvoleném souřadnicovém

Využití – autonomní chování

?

Page 7: SEBELOKALIZACE MOBILNÍCH ROBOTŮrobotika/prednasky/2014_BROB_07A... · 2014. 3. 28. · Sebelokalizace Autonomní určení pozice a orientace robotu ve zvoleném souřadnicovém

Využití – tvorba map

Page 8: SEBELOKALIZACE MOBILNÍCH ROBOTŮrobotika/prednasky/2014_BROB_07A... · 2014. 3. 28. · Sebelokalizace Autonomní určení pozice a orientace robotu ve zvoleném souřadnicovém

Získání lokalizačních údajů

Možnosti přímého měření pozice a orientace

mobilního robotu jsou omezené

Ve většině případů je nutné použít nepřímou

metodu výpočtu lokalizačních údajů

Snímače vhodné pro účel lokalizace jsou

nepřesné a málo robustní

Nutnost kombinovat více různých přístupů

získání lokalizačních údajů pro zvýšení

přesnosti a robustnosti (datová fúze)

Page 9: SEBELOKALIZACE MOBILNÍCH ROBOTŮrobotika/prednasky/2014_BROB_07A... · 2014. 3. 28. · Sebelokalizace Autonomní určení pozice a orientace robotu ve zvoleném souřadnicovém

Základní dělení lokalizace (1)

Podle stupňů volnosti 3DOF, 6DOF, …

Podle prostředí vnější (mimo budovy)/vnitřní (v budově)

Podle znalosti vztažného bodu absolutní (např. GNSS)/relativní (např. odometrie)

Podle plošné působnosti lokální/globální (např. GNSS)

Podle znalosti mapy lokalizace v mapě/bez mapy

Page 10: SEBELOKALIZACE MOBILNÍCH ROBOTŮrobotika/prednasky/2014_BROB_07A... · 2014. 3. 28. · Sebelokalizace Autonomní určení pozice a orientace robotu ve zvoleném souřadnicovém

Základní dělení lokalizace (2)

Podle okamžiku vyhodnocení online/offline

Podle nutnosti úpravy prostředí vyžadující/nevyžadující úpravu prostředí

Podle dynamiky prostředí statické/dynamické (detekce, filtrace změny)

Podle způsobu realizace pasivní/aktivní (řízení za účelem zlepšení lokalizace)

Page 11: SEBELOKALIZACE MOBILNÍCH ROBOTŮrobotika/prednasky/2014_BROB_07A... · 2014. 3. 28. · Sebelokalizace Autonomní určení pozice a orientace robotu ve zvoleném souřadnicovém

Základní dělení lokalizace (3)

Podle počtu robotů jeden/více

Podle místa vyhodnocení interně (v robotu)/externě (mimo robot)

Podle typu algoritmu jednokrokový/iterační

Page 12: SEBELOKALIZACE MOBILNÍCH ROBOTŮrobotika/prednasky/2014_BROB_07A... · 2014. 3. 28. · Sebelokalizace Autonomní určení pozice a orientace robotu ve zvoleném souřadnicovém

Absolutní lokalizační metody

Page 13: SEBELOKALIZACE MOBILNÍCH ROBOTŮrobotika/prednasky/2014_BROB_07A... · 2014. 3. 28. · Sebelokalizace Autonomní určení pozice a orientace robotu ve zvoleném souřadnicovém

Absolutní lokalizační metody

Primárně měřenou veličinou je vzdálenost

(pro určení pozice), nebo úhlové natočení

(orientace)

Klíčovou vlastností těchto metod je, že

nekumulují chyby (výpočet lokalizačních dat

nemá integrační/sumační charakter)

Page 14: SEBELOKALIZACE MOBILNÍCH ROBOTŮrobotika/prednasky/2014_BROB_07A... · 2014. 3. 28. · Sebelokalizace Autonomní určení pozice a orientace robotu ve zvoleném souřadnicovém

Satelitní navigace

Dodává přímo souřadnice robotu (x, y, z) ve

zvoleném souřadném systému, případně i dvě jeho statické rotace (α, β) (DGNSS)

Absolutní metoda nevyžadující úpravu

prostředí, vhodná jen pro vnější prostředí

Nevyžaduje výpočetně náročné zpracování

mimo GNSS přijímač

Vhodné pro určení globální polohy

Po startu je nutná inicializace

Problém ztráty signálu

Page 15: SEBELOKALIZACE MOBILNÍCH ROBOTŮrobotika/prednasky/2014_BROB_07A... · 2014. 3. 28. · Sebelokalizace Autonomní určení pozice a orientace robotu ve zvoleném souřadnicovém

Trimble BD982

GPS + GLONASS + GALILEO přijímač

Přesnost: 8/15 mm (horiz./vert.), 0,1° (azimut)

Latence: < 20 ms

Frekvence měření: 50 Hz

Hmotnost: 92 g

Spotřeba: 2,3 W

Rozměry: 100 x 85 x 12 mm

Rozhraní: Ethernet, CAN, RS-232

Page 16: SEBELOKALIZACE MOBILNÍCH ROBOTŮrobotika/prednasky/2014_BROB_07A... · 2014. 3. 28. · Sebelokalizace Autonomní určení pozice a orientace robotu ve zvoleném souřadnicovém

Magnetometr

Pomocí tříosého magnetometru lze získat

průmět vektoru intenzity magnetického pole

Země do jednotlivých na sebe kolmých os

Problém závislosti inklinace (-65° v ČR) a

deklinace (+5° v ČR) na zeměpisné poloze

Měření ovlivňováno magneticky měkkými i

tvrdými materiály a elmg. rušením

Page 17: SEBELOKALIZACE MOBILNÍCH ROBOTŮrobotika/prednasky/2014_BROB_07A... · 2014. 3. 28. · Sebelokalizace Autonomní určení pozice a orientace robotu ve zvoleném souřadnicovém

Mapa magnetické deklinace

Page 18: SEBELOKALIZACE MOBILNÍCH ROBOTŮrobotika/prednasky/2014_BROB_07A... · 2014. 3. 28. · Sebelokalizace Autonomní určení pozice a orientace robotu ve zvoleném souřadnicovém

Akcelerometr

Pomocí tříosého akcelerometru schopného

měřit i statická zrychlení (např. kapacitní

princip) lze získat průmět tíhového vektoru G

do jednotlivých na sebe kolmých os v případě,

že na akcelerometr nepůsobí zrychlení

způsobené jeho nerovnoměrným pohybem

Page 19: SEBELOKALIZACE MOBILNÍCH ROBOTŮrobotika/prednasky/2014_BROB_07A... · 2014. 3. 28. · Sebelokalizace Autonomní určení pozice a orientace robotu ve zvoleném souřadnicovém

Rozklad vektoru do složek

Page 20: SEBELOKALIZACE MOBILNÍCH ROBOTŮrobotika/prednasky/2014_BROB_07A... · 2014. 3. 28. · Sebelokalizace Autonomní určení pozice a orientace robotu ve zvoleném souřadnicovém

Využití AC magnetického pole

V prostoru kolem vysílače je vytvořeno časově

proměnné magnetické pole a na základě

tohoto pole se vyhodnocuje poloha a orientace

vůči základně

Page 21: SEBELOKALIZACE MOBILNÍCH ROBOTŮrobotika/prednasky/2014_BROB_07A... · 2014. 3. 28. · Sebelokalizace Autonomní určení pozice a orientace robotu ve zvoleném souřadnicovém

Polhemus G4

Page 22: SEBELOKALIZACE MOBILNÍCH ROBOTŮrobotika/prednasky/2014_BROB_07A... · 2014. 3. 28. · Sebelokalizace Autonomní určení pozice a orientace robotu ve zvoleném souřadnicovém

Integrační lokalizační metody

Page 23: SEBELOKALIZACE MOBILNÍCH ROBOTŮrobotika/prednasky/2014_BROB_07A... · 2014. 3. 28. · Sebelokalizace Autonomní určení pozice a orientace robotu ve zvoleném souřadnicovém

Dead reckoning

Matematická metoda založená na postupné

integraci (sumaci) přírůstků pohybu robotu

(známé rychlosti a jeho natočení)

Měří se 1. nebo 2. derivace polohy/orientace

Problém narůstající chyby od počátku

lokalizace s narůstajícím počtem kroků

(integrování/sumace chyb)

Vhodné pouze pro dočasné použití (omezeno

vzdáleností nebo časem)

Page 24: SEBELOKALIZACE MOBILNÍCH ROBOTŮrobotika/prednasky/2014_BROB_07A... · 2014. 3. 28. · Sebelokalizace Autonomní určení pozice a orientace robotu ve zvoleném souřadnicovém

Odometrie

Lokalizace robotu na základě znalosti změn

natočení jeho kol

Varianty: aktivní/pasivní

Vychází z modelu podvozku robotu

(diferenciální, Ackermanův, …)

Page 25: SEBELOKALIZACE MOBILNÍCH ROBOTŮrobotika/prednasky/2014_BROB_07A... · 2014. 3. 28. · Sebelokalizace Autonomní určení pozice a orientace robotu ve zvoleném souřadnicovém

Odometrie

∆𝑠 =∆𝑠1+∆𝑠2

2

∆𝜑 =∆𝑠1−∆𝑠2

𝑏

𝜑𝑡 = 𝜑𝑡−1 + ∆𝜑

∆𝑥 = ∆𝑠 ∙ 𝑠𝑖𝑛 𝜑𝑡−1 +∆𝜑

2

∆𝑦 = ∆𝑠 ∙ 𝑐𝑜𝑠 𝜑𝑡−1 +∆𝜑

2

𝑥𝑡 = 𝑥𝑡−1 + ∆𝑥

𝑦𝑡 = 𝑦𝑡−1 + ∆𝑦

Page 26: SEBELOKALIZACE MOBILNÍCH ROBOTŮrobotika/prednasky/2014_BROB_07A... · 2014. 3. 28. · Sebelokalizace Autonomní určení pozice a orientace robotu ve zvoleném souřadnicovém

Odometrie – zdroje chyb

Nedostatečná adheze kol k podkladu –

prokluz/smyk kol

Přesnost (např. linearita) a rozlišení

samotného snímače polohy hřídele kola nebo

motoru

Omezená rychlost vyhodnocovací elektroniky

(vypadávání impulsů z enkodéru, …)

Algoritmus vyhodnocování polohy, jeho

rychlost a vliv zaokrouhlování

Page 27: SEBELOKALIZACE MOBILNÍCH ROBOTŮrobotika/prednasky/2014_BROB_07A... · 2014. 3. 28. · Sebelokalizace Autonomní určení pozice a orientace robotu ve zvoleném souřadnicovém

Odometrie – zdroje chyb

Vůle v převodech (při umístění snímače

polohy na hřídeli motoru)

Proměnný průměr kol – při opotřebení, zátěži

Nerovnosti povrchu, překážky (model počítá s

ideálně rovným povrchem)

Page 28: SEBELOKALIZACE MOBILNÍCH ROBOTŮrobotika/prednasky/2014_BROB_07A... · 2014. 3. 28. · Sebelokalizace Autonomní určení pozice a orientace robotu ve zvoleném souřadnicovém

Modifikace odometrie

Informace o úhlu natočení není počítána z

úhlu natočení kol, ale může být brána z

inerciálních snímačů (gyroskopy), případně z

magnetometru

Page 29: SEBELOKALIZACE MOBILNÍCH ROBOTŮrobotika/prednasky/2014_BROB_07A... · 2014. 3. 28. · Sebelokalizace Autonomní určení pozice a orientace robotu ve zvoleném souřadnicovém

Využití gyroskopu

𝜙 = 𝜔𝑦𝑠𝑖𝑛𝜙 + 𝜔𝑧𝑐𝑜𝑠𝜙 𝑡𝑎𝑛𝜃 + 𝜔𝑥

𝜃 = 𝜔𝑦𝑐𝑜𝑠𝜙 − 𝜔𝑧𝑠𝑖𝑛𝜙

𝜓 = 𝜔𝑦𝑠𝑖𝑛𝜙 + 𝜔𝑧𝑐𝑜𝑠𝜙 𝑠𝑒𝑐𝜃

𝜙 = 𝜔𝑦𝑠𝑖𝑛𝜙 + 𝜔𝑧𝑐𝑜𝑠𝜙 𝑡𝑎𝑛𝜃 + 𝜔𝑥 𝑑𝑡

𝜃 = 𝜔𝑦𝑐𝑜𝑠𝜙 − 𝜔𝑧𝑠𝑖𝑛𝜙 𝑑𝑡

𝜓 = 𝜔𝑦𝑠𝑖𝑛𝜙 + 𝜔𝑧𝑐𝑜𝑠𝜙 𝑠𝑒𝑐𝜃 𝑑𝑡

Page 30: SEBELOKALIZACE MOBILNÍCH ROBOTŮrobotika/prednasky/2014_BROB_07A... · 2014. 3. 28. · Sebelokalizace Autonomní určení pozice a orientace robotu ve zvoleném souřadnicovém

Využití inerciálních snímačů

Kardanový inerciální navigační systém Snadné vyhodnocování veličin

Náročná mechanická konstrukce

Page 31: SEBELOKALIZACE MOBILNÍCH ROBOTŮrobotika/prednasky/2014_BROB_07A... · 2014. 3. 28. · Sebelokalizace Autonomní určení pozice a orientace robotu ve zvoleném souřadnicovém

Využití inerciálních snímačů

Bezkardanový inerciální navigační systém

(strapdown) Nevyužívá mechanicky stabilizovanou základnu

Všechny snímače jsou pevně spojeny s pohybujícím

se objektem

Náročnější zpracování dat (např. nutnost správně

odečíst vektor tíhového zrychlení G podle aktuálního

úhlového natočení akcelerometru)

Page 32: SEBELOKALIZACE MOBILNÍCH ROBOTŮrobotika/prednasky/2014_BROB_07A... · 2014. 3. 28. · Sebelokalizace Autonomní určení pozice a orientace robotu ve zvoleném souřadnicovém

xSens MTi-G

Kombinace GNSS (GPS) a IMU

Statická přesnost: <0,5° (roll/pitch), <1° (yaw)

Dynamická přesnost: <1° (RMS)

Rozlišení: 0,05°

Max. rychlost poskytování dat: 120/512 Hz

Přesnost polohy: 2,5 m (CEP)

Page 33: SEBELOKALIZACE MOBILNÍCH ROBOTŮrobotika/prednasky/2014_BROB_07A... · 2014. 3. 28. · Sebelokalizace Autonomní určení pozice a orientace robotu ve zvoleném souřadnicovém

Iterační metody

Page 34: SEBELOKALIZACE MOBILNÍCH ROBOTŮrobotika/prednasky/2014_BROB_07A... · 2014. 3. 28. · Sebelokalizace Autonomní určení pozice a orientace robotu ve zvoleném souřadnicovém

Iterační metody

Iterative Closest Point (ICP) Nalezení korespondujících bodů (bodů s nejmenší

vzdáleností)

𝐸 𝑇𝑥 , 𝑇𝑦,𝜔 = 𝑅𝜔𝑃 + 𝑇 − 𝑃′𝑛𝑖

Vhodné pro odstranění translační složky

Iterative Matching Range Point (IMRP) Stejný postup jako u ICP, jiné pravidlo korespondence

Vhodné pro odstranění rotační složky

Iterative Dual Correspondence (IDC) Kombinace ICP (pro translační složku) a IMRP (pro

rotační složku)

Page 35: SEBELOKALIZACE MOBILNÍCH ROBOTŮrobotika/prednasky/2014_BROB_07A... · 2014. 3. 28. · Sebelokalizace Autonomní určení pozice a orientace robotu ve zvoleném souřadnicovém

ICP algoritmus

1. Aplikace

transformace z

předchozí iterace

2. Nalezení

korespondujících

bodů

3. Výpočet

transformace

(minimalizace

čtverce vzdáleností)

4. Aplikace

transformace

Zdroj: R. Bedroš: Modul lokalizace mobilního robotu pro systém Player

Page 36: SEBELOKALIZACE MOBILNÍCH ROBOTŮrobotika/prednasky/2014_BROB_07A... · 2014. 3. 28. · Sebelokalizace Autonomní určení pozice a orientace robotu ve zvoleném souřadnicovém

Velodyne HDL64E

Počet laserů/detektorů: 64

Počet měřených bodů: 1 300 000/s

Zorné pole: 360/27° (horiz./vert.)

Rozsah měření: 50 až 120 m

Frekvence měření: 5 až 15 Hz

Přesnost měření (1σ): 2 cm, 0,1°

Vlnová délka laserů: 905 nm

Spotřeba: 30 W

Rozhraní: Ethernet 100 Mbit/s, RS-232

Page 37: SEBELOKALIZACE MOBILNÍCH ROBOTŮrobotika/prednasky/2014_BROB_07A... · 2014. 3. 28. · Sebelokalizace Autonomní určení pozice a orientace robotu ve zvoleném souřadnicovém

Pravděpodobnostní lokalizace

Page 38: SEBELOKALIZACE MOBILNÍCH ROBOTŮrobotika/prednasky/2014_BROB_07A... · 2014. 3. 28. · Sebelokalizace Autonomní určení pozice a orientace robotu ve zvoleném souřadnicovém

Pravděpodobnostní lokalizace

Vše je náhodnou veličinou – data ze snímačů,

parametry robotu – tedy i pozice a orientace

robotu

Odhad pozice není jeden bod ale funkce

pravděpodobnosti

Page 39: SEBELOKALIZACE MOBILNÍCH ROBOTŮrobotika/prednasky/2014_BROB_07A... · 2014. 3. 28. · Sebelokalizace Autonomní určení pozice a orientace robotu ve zvoleném souřadnicovém

Pravděpodobnostní lokalizace

Page 40: SEBELOKALIZACE MOBILNÍCH ROBOTŮrobotika/prednasky/2014_BROB_07A... · 2014. 3. 28. · Sebelokalizace Autonomní určení pozice a orientace robotu ve zvoleném souřadnicovém

Přehled zdrojů dat

Page 41: SEBELOKALIZACE MOBILNÍCH ROBOTŮrobotika/prednasky/2014_BROB_07A... · 2014. 3. 28. · Sebelokalizace Autonomní určení pozice a orientace robotu ve zvoleném souřadnicovém

Dostupné primární veličiny (1)

Enkodéry – poloha kol

(φ1, φ2) → (x, y, α) → 𝑑

𝑑𝑡 → (vx, vy, ωα) →

𝑑

𝑑𝑡 → (ax, ay, εα)

Tachodynamo – rychlost kol

(x, y, α) ← 𝑑𝑡 ← (vx, vy, ωα) ← (ω1, ω2) →

(vx, vy, ωα) → 𝑑

𝑑𝑡 → (ax, ay, εα)

Magnetometr – vektor intenzity magn. pole

(Hx, Hy, Hz) → (|H|, α, β) → 𝑑

𝑑𝑡 → (ωα, ωβ) →

𝑑

𝑑𝑡 → (εα, εβ)

Gyroskop – úhlová rychlost

(α, β, γ) ← 𝑑𝑡 ← (ωα, ωβ, ωγ) → 𝑑

𝑑𝑡 → (εα, εβ, εγ)

Page 42: SEBELOKALIZACE MOBILNÍCH ROBOTŮrobotika/prednasky/2014_BROB_07A... · 2014. 3. 28. · Sebelokalizace Autonomní určení pozice a orientace robotu ve zvoleném souřadnicovém

Dostupné primární veličiny (2)

Akcelerometr – vektor celkového zrychlení (x, y, z) ← 𝑑𝑡 ← (vx, vy, vz) ← 𝑑𝑡 ← (ax, ay, az)

(ax, ay, az) → (|A|, α, β)

GNSS – polohový vektor

(x, y, z) → 𝑑

𝑑𝑡 → (vx, vy, vz) →

𝑑

𝑑𝑡 → (ax, ay, az)

Diferenciální GNSS – 2x polohový vektor

(x1, y1, z1), (x2, y2, z2) → (|A|, α, β) → 𝑑

𝑑𝑡 → (ωα, ωβ) →

→ 𝑑

𝑑𝑡 → (εα, εβ)

Laserový skener – mračno bodů (|Mi,1|, λi,1, φi,1), (|Mi,2|, λi,2, φi,2) → (x, y, z, α, β, γ)