czech english

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.

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 …