czech english

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.

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 …

Send email to the editors

Your message could not be sent
but you can also reach us at

Your message was successfully sent.

You need to turn on javascript to submit this form.