Guide
ABC of Mobile Robotics
Texty zde dostupné si kladou za cíl seznámit čtenáře s elementárními principy mobilních robotů. Značný důraz je kladen na experimety usnadňují pochopení vysvětlované látky a proto je zpočátku věnován všechen prostor seznámení se základy požívaného „hardware”. Po přečtení několika prvních kapitol by si čtenář měl být schopen s minimálními náklady postavit vlastního robota. Pokročilejší kapitoly se věnují lokalizaci, plánování cesty, či mapování. Závěrem je zmíněno i zpracování obrazu či konkurentní lokalizace a mapování.
Co je to robot? — svět z pohledu robotů
Jak vypadá svět z pohledu robotů? A co to vlastně je ten robot a jak
funguje? Na tyto a další podobné otázky se vám pokusíme dát odpověd.
Stručně si popíšeme principy robotického „vnímání” světa. Zmíníme se o
jednočipech, které jsou mozkem většiny jednoduchých robotů. Probereme, co
všechno může robot použít k získání informací o svém okolí (senzory) nebo
jaké možnosti má naopak na něj zpět působit (efektory).
|
Blikáme LEDkou — první praktické seznámení s jednočipem a elektronikou
Správný robot potřebuje mozek, nějaké senzory a nějaké efektory.
Nemusí být ale nijak složitý. Základem může být jednoduchý levný
jednočip, senzorem spínač a efektorem třeba LEDka. Takového robota si
zvládne postavit každý s trochou času a trpělivosti, ale přitom
základní principy, které si při jeho stavbě vysvětlíme, zůstávají
stejné i u robotů podstatně složitějších. Naším cílem pro tuto kapitolu
je „ošahat” si nějaký jednoduchý hardware a zbavit se „strachu z
neznáma”. Odměnou Vám bude blikající LEDka řízená jednočipem.
|
Řízení serva — pokročilejší programování jednočipů
Jakkoli užitečné blikání s LEDkou je, tak samo o sobě nám s robotem
nepohne. Při výběru pohonné jednotky našimi základními požadavky
zůstávají lehká dostupnost a snadné řízení pomocí jenočipu. Těmto
požadavkům nejlépe vyhovuje modelářské servo. Na jeho příkladu si
ukážeme jak generovat signál (tj. jak měnit napětí na výstupním pinu v
závislosti na čase). Při té příležitosti si také ukážeme, k čemu jsou
dobré složitější moduly jednočipu jako třeba časovač, a také jak za
pomoci přerušení řešit několik úkolů najednou.
|
Enkodéry — senzory pro detekci pohybu kol
Robot nám vesele náhodně pobíhá po podlaze, ale přitom o tom vůbec
neví. Vysvětlíme si tedy, jak může detekovat, zda (a případně jak
rychle a na jakou stranu) se mu točí kolečka. Nejčastěji používaným
zařízením pro tento účel jsou optické enkodéry. Jak fungují, či jak si
takový enkodér postavit doma, se dozvíte právě dnes.
|
Řízení pohybu — a co je to vlastně ta zpětná vazba
Máme k dispozici informaci z enkodéru
zabudovaného do serva, kterému
umíme generovat řídící signál. Nyní si vysvětlíme,
jak tyto informace využít k jeho řízení. Zajímat se budeme zejména
o servo modifikované pro kontinuální otáčení. Popsaný způsob je ale
možné aplikovat i pro řízení obyčejného motoru s enkodérem,
jaký se hodí pro použití i ve větším robotovi.
|
Měření rychlosti — jak se vypořádat s nepřesnými daty
Jak kvalitní je informace o rychlosti z enkodérů? Jaké má rozlišení? Toto
jsou důležité otázky pro kvalitu řízení, protože jak řekl někdo chytrý: „Co
neměříš, to neřídíš.” Jak tedy dostat z daných informací maximum se dozvíte
právě v tomto článku.
|
Komunikace — předávání informací mezi čipy
Komunikace je základem spolupráce každého společenství, ať už jsou to lidé,
buňky nebo čipy. Je to tedy i nepostradatelná schopnost robotů a jejich modulů.
Jak lze tedy komunikovat mezi jednotlivými čipy, s PC, případně s jednoduchými
senzory a efektory? Podrobněji se podíváme na nejčastěji používanou
seriovou komunikaci RS-232 a sběrnici I2C…
|
Paketová komunikace — po sériové lince
Tento článek se zabývá posíláním příkazů a zpráv mezi počítačem a jednočipem
řídícím robota. Důraz bude kladen na obsah a především strukturu posílaných
zpráv, nikoli na konkrétní implementaci na vybraném operačním
systému a jednočipu. V tomto článku mluvím sice výhradně o sériové lince
(myšleno RS232), podobné poznatky a principy však platí i o dalších podobných
komunikačních sběrnicích.
|
Odometrie — modely kolových vozidel
Z enkodérů již náš robot může vědět, jak se mu otáčí kolečka. Jak ale tuto informaci
využít k získání určité představy o svém pohybu? Vezmeme si na pomoc odometrii.
Odometrie je proces, který popisuje transformaci dat poskytnutých
enkodéry na změnu pozice a orientace robota. Vlastní slovo odometrie je
složeno ze dvou řeckých slov hodos (cestovat, cesta) a metron (měřit),
což nám napovídá, že se této problematice dostává pozornosti již nějakou dobu
.
|
Bug algoritmy — hledání cesty pro jednoduché automaty
V počátcích robotiky se studovaly především problémy, jak naplánovat cestu ve
zcela známém prostředí. Příkladem může být piano movers problem, tj.
přestěhování klavíru do krápníkové jeskyně (3D prostředí, komplexní tvar
překážek i robota). V osmdesátých letech přišel V. Lumelsky s jiným,
matematicky dobře definovaným, přístupem: hledání cesty ve zcela neznámém
prostředí pro automat s malou pamětí, s dotykovým senzorem a znalostí svých 2D
souřadnic.
|
Lokalizace — Kalmanův filtr, MCL
Sledovnání pozice pomocí jednoduchého akumulování informací o její
relativní změně časem vede k tomu, že si robot myslí, že se nachází
jinde než ve skutečnosti. Důvodem je akumulace chyby, která není ničím
korigována. Jak se s těmito problémy úspěšně vypořádat, se dozvíte
v této kapitole.
|
GPS — systém pro globální lokalizaci
Znalost pozice je velice důležitá nejenom v robotice, ale i např. ve vojenství.
Z tohoto důvodu byl americkou armádou před více jak třiceti lety vyvinut systém pro
lokalizaci označovaný jako GPS (Global Position System). V dnešní době je
informace o pozici volně dostupná každému, kdo má GPS přijímač (nejlevnější
jsou tak okolo 2000Kč) a tak se množství GPS aplikací značně rozšířilo…
|
Exaktní plánování — vektorové mapy, plánování cesty ve známém prostředí
Jak najít cestu, máme-li k dispozici mapu světa? Světem se samozřejmě
i tentokrát míní svět robotický, což může být např. pouze jediný
pokoj s nábytkem. Mapou rozumíme seznam polygonů tvořících překážky.
Zajímá nás, zda existuje cesta z aktuální pozice robota na nějaké jiné
konkrétní místo, jak taková cesta vypadá, jak vypadá nejkratší cesta
či jak vypadá cesta nejbezpečnější.
|
Plánování na mřížce — rastrové mapy
Dnes budeme pokračovat v plánování cesty tentokrát ovšem za použití
rastrových map či pravděpodobnostních mřízek. Mnoho algoritmů zde popsaných
máte příležitost potkat také v počítačové grafice. Jejich podobnost vyplývá
z toho, že i na pravděpodobnostní mřížku je možné nahlížet jako na obrázek.
Dozvíme se, i co je to potenciálové pole či algoritmus A*. Závěrem si ukážeme
jednu z možností, jak plánovací algoritmy vhodně integrovat do řídícího systému
robota.
|
Pravděpodobnostní plánování — konfigurační prostor, PRM, RRT, RDT
První přednáška z třetí, nejnáročnější, sekce se týká obecného plánování.
Co dělat, když robot není konvexní a musí se otáčet? Co když se navíc už pohybuje
v 3D světě? Jak řešit problémy robotů s omezeními, např. autíčko, které nemůže jet
do strany? Jak plánovat pohyb animovaných postav, které mají hodně „stupňů volnosti”?
atd.
|
Scan matching — korekce odometrie, ICP a omezení
„Přišla bída na kozáky” aneb Eduro odometrie není dokonalá a je třeba s tím něco
udělat. V tomto článku probereme základ matchování 2D lidarového scanu pomocí ICP
(Iterative Closest Point) a jednoduché pokusy v Python + numpy.
|
OSGAR — Open Source Garden Autonomous Robot
OSGAR is a long term project which will probably incorporate more than one
robotic platform in the future. The project started in 2014 when we decided to
modify school garden tractor John Deere X300R into autonomous robot. The
project is carried on in cooperation with the Czech University of Life Science
Prague. Blog update: 26/03/2023 — web refactoring
|
Seminář z mobilní robotiky, LS 2011 — odkazy a poznámky
Letos se bude opět konat seminář z mobilní robotiky v budově Matematicko
Fyzikální Fakulty, Malostrannské náměstí 25, Praha 1. Seminář se bude konat
každý čtvrtek od 17:20 v učebně S10. Na těchto stránkách se budou nalézat
odkazy a poznámky k semináři, včetně programu a aktuálních informací. Tématem
pro letošní rok jsou létající roboti. (p.s. seminář je veřejnosti přístupný…)
|
Robotour HowTo — jak začít v náročné soutěži?
„Robotour --- robotika.cz outdoor challenge” je velmi náročná soutěž. Při
přípravě finálních pravidel pro rok 2013 byla vznesena námitka, proč se
pravidla stále komplikuji, když týmy zatím nezvládají ani úlohu z předešlých
let? Myslím si, že je to i problém týmů, které by se nejprve měly soustředit na
základ a teprve pak řešit „novinky”. Ale všichni známe, jak to dopadne, tak
proto tento článek …
|