Průvodce
ABC mobilní robotiky
Texty zde dostupné si kladou za cíl seznámení čtenáře s 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 použí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 souběžná 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.
|
![]() |
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 …
|