czech english

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).

Příklad jednoduchého robota
Příklad jednoduchého robota
Co je to robot či přesněji co si pod tímto slovem představujeme a co budeme dále studovat? Budeme se zajímat pouze o autonomní mobilní roboty. Autonomní mobilní robot je inteligentní stroj schopen vykonávat úkoly samostatně, bez lidské pomoci. Příkladem takového robota může být autonomní helikoptéra, ale i robot velikosti mince. Nejdůležitější vlastností autonomního robota je jeho schopnost reagovat na změny prostředí. Za tu většinou vděčí svému mozku — počítači, který je zodpovědný více méně za vše, počínaje zpracováváním vstupních údajů, rozhodováním, i konečným provedením vybraných akcí.
Vstupní údaje počítači poskytují senzory. Senzor je zařízení, které je schopné měřit nějakou vlastnost prostředí. Příkladem takového senzoru může být třeba i obyčejný spínač. Tento spínač může robot využít jako nárazník. Měřená vlastnost prostředí je tedy fakt, že se v cestě nachází překážka.
Naopak působit na své prostředí může robot pomocí efektorů. Typickým příkladem efektoru je elektromotor. Po připojení na kolo umožní robotovi pohyb. V závislosti na velikosti robota se můžeme setkat i dalšími typy efektorů, ať už to jsou spalovací motory či hydraulika.
Z nutných součástí zbývá zmínit ještě zdroj energie, kterým je nejčastěji akumulátor, který poskytuje energii senzorům, počítači i většině efektorů. Větší roboti vybaveni spalovacími motory mívají alternátory, které akumulátor průběžně dobíjí, a doba, po kterou je robot schopen operovat autonomně, je tím značně prodloužena. Někteří roboti používají i solární panely (např. roboti vysláni na Mars).

Jednočip, mozek robota?

Svět musí být nutně digitální si asi „myslí” každý robot, protože co vnímá/zpracovává jsou pouze jedničky a nuly. Jeho srdcem i mozkem je totiž počítač. Ale nelekejte se, počítače jsou dnes k mání v různých velikostech a cenách a nám bude pro začátek stačit uplně malinký (cca. desítky korun a pár cm²). Říká se mu nejčastěji jednočip nebo také mikrokontroler (anglicky microcontroller). Je to vlastně takový malý integrovaný obvod se spoustou nožiček (odborně pinů). Každá nožička může být buď vstupní nebo výstupní a program běžící v jednočipu pomocí nich může zjišťovat informace o svém okolí nebo naopak něco ovládat.
Jedničky a nuly, se kterými pracuje program, se do reálného světa převádějí jako různé napěťové úrovně. Mikrokontrolery nejčastěji využívají tzv. TTL logiku (z anglického Transistor to Transistor Logic). Ta definuje, že napětí 5V reprezentuje logickou jedničku a napětí 0V reprezentuje logickou nulu. Stačí tedy, když se vstupní piny chovají jako jednoduché voltmetry a výstupní jako zdroje napětí, a už může náš čip komunikovat s okolím.
Jednoduché vstupní piny nám umožní pouze detekovat stav on/off (vše pod 2.5V je logická nula, vše nad je logická jednička). Stejně tak jednoduché výstupní piny nám umožní do světa vyslat pouze 0 nebo 5V. Jsou ale situace, kdy by se nám hodilo vědět přesně, jaké napětí je přivedeno na vstupní pin. K tomu slouží tzv. „analogové” vstupy. Tyto vstupy mají dokonalejší voltmetr (říká se mu A/D převodník z anglického analog/digital converter), který je schopen přesněji změřit příslušné napětí. Toto napětí je převedeno na číslo, které je k dispozici programu (typicky je to hodnota v rozsahu 0-255, která přímo úměrně odpovídá vstupnímu napětí 0-5V). Stejně tak můžeme mít D/A výstupy, které dokáží na výstupním pinu generovat různá napětí.
Další proměnnou, která hraje klíčovou roli, je čas. Není důležitá pouze aktuální hodnota napětí na jednotlivých pinech, ale i jak se mění v čase. Čas je opět diskrétní. Asi nejvhodnější paralela je s tikáním hodin. Číst hodnotu na pinech je možné pouze vždy, když tiknou. Pokud by tikaly jednou za vteřinu, tak by toho náš robot o svém okolí mnoho nezjistil. Běžnější frekvence se blíží spíše několika megahertzům. Při frekvenci 10MHz robot svět pozoruje každých 1/10 000 000 sekund = 100ns.
Je tedy jednočip mozkem celého robota? U nejjednodušších robotů, kteří si vystačí s malým výpočetním výkonem, rozhodně ano. U složitějších strojů jsou jednočipy pouze zprostředkovatelem dat o reálném prostředí pro výkonný počítač, případně celou síť počítačů, která robota ovládá (viz např. roboty ze soutěže Grand Challenge).

Senzory, robotovy oči & uši

Laser rangefinder od firmy SICK
Laser rangefinder od firmy SICK
Již jsme si vysvětlili, že jednočip je schopen měřit napětí na svých vstupech a to ať už velmi hrubě (0/1) nebo jemněji (A/D převodník). Je tedy nutné, aby všechny informace, které má náš robot využívat, byly převoditelné na napětí. To je primárním úkolem senzorů.
Nejjednodušším druhem senzoru je obyčejné tlačítko, které můžeme využít třeba jako nárazník. Přestože se tlačítko může zdát ledaskomu příliš triviální, je to jeden ze základních a nejspolehlivějších robotických senzorů. Přes svoji zdánlivou jednoduchost lze v jeho zapojení udělat chybu — o tom budeme podrobněji hovořit v sekci Blikáme s LEDkou.
Tlačítko vás asi jako jediný senzor neuspokojí , tak alespoň mini-seznam, se kterými senzory se můžete setkat (jsou o nich celé knihy, doporučujeme např. starší knížku: H.R. Evert, Sensors for Mobile Robots, ISBN 1-56881-048-2). Tak co se tedy dá měřit? Množství odraženého světla — to jsou oblíbené senzory na sledování čáry (příklad CNY70). Doba letu ultrazvuku — sonar a meření vzdálenosti do cca 10m. Doba letu laserového paprsku (ano, to světlo je o trošku svižnější než zvuk, ale přesto lze čas měřit) — senzory od firmy SICK v ceně okolo 100 000Kč. Radiový signál od satelitů — navigace pomocí GPS. A mnoho dalších… Detailněji se k nim budeme vracet v některé z dalších pokračováních.

Efektory, robotovy ruce & nohy

Číslo 5 ještě žije
Číslo 5 ještě žije
Podobně jako vnímání světa probíhá i robotova interakce s ním. Na pinech konfigurovaných jako vstupní je mikrokontroler schopen napětí měřit, na pinech výstupních naopak nastavovat. Efektor je pak zařízení, jehož stav můžeme ovládat změnou napětí iniciovanou mikrokontrolerem.
Asi nejčastějším efektorem jsou motory, motorky či serva. Motory i serva se nejčastěji řídí pomocí různě dlouhých pulzů. Délka pulzu u serv určuje polohu (viz Řízení serva) a u motorů je to příkon. Více o motorech naleznete např. v článku krokové motory.
Efektor nutně nemusí umožnovat robotovi pohyb. Nejjednodušším takovým zařízením je LED (zkratka z anglického Light Emitting Diode). Ta vám může blikat na znamení, že něco funguje/nefunguje, ale může i pouštět televizi, video, věž … pokud blikáte na správné frekvenci a posíláte spravné kódy pro jednotlivá zařízení.

Výchova robotů

Robota musíte ještě mnoho naučit, aby byl schopen dělat vůbec základní činnosti. Co mezi ty základní činnosti patří? O tom bude následovat také několik článků, tak zase alespoň krátky přehled. Pokud má robot mapku prostředí, ve kterém se pohybuje, tak ho zajímá, kde se nachází (lokalizace), případně jak se dostat na jiné místo (plánování). Pokud robot mapu nedostal, tak řeší asi nejtěžší úlohu souběžné lokalizace a mapování.

Závěr

Po přečtení této kapitoly byste měli mít základní představu o tom, co je to robot, jak vnímá svět, a jak s ním může interagovat. Pokud vám některá část přišla méně srozumitelná nebo jste našli chybu či nesrovnalost, ale i v případě, že se vám něco líbilo a pouze nám to chcete dát vědět, využijte našeho kontaktního formuláře.