Roboti se v naší společnosti zabydlují už hezkou řádku let. Nikoho dnes nepřekvapí inteligentní pračka, jež vám sama vypere a ještě na vás vlídně promluví, automatická linka, která neúnavně vyrábí jedno auto za druhým, nebo humanoidní stvoření, které si podává ruku se státníky a přitom vtipně konverzuje.
V posledních letech ale zažívají boom právě tzv. inteligentní roboti, kteří nestojí na místě, ale musí se umět vypořádat s nástrahami reálného prostředí. Mají se stát běžnou spotřební elektronikou, tak jak se staly počítače.
V Japonsku se například s růstem počtu důchodců, bezdětných párů a lidí bez práce očekává, že robotický průmysl překoná i výrobu počítačů. Bude potřeba pomocník, který by se staral o důchodce, či pacienty, hlídal by děti, nebo střežil celý dům.
Dalším možným využitím podobných robotů je funkce správců tzv. „chytrého prachu“ – miniaturních snímačů (teploty, vlhkosti, světla, atd.) spojených bezdrátovou sítí. Roboti pak mohou přijímat data od „prachu“, předávat je dál a využít je pro plánování dalšího chování.
V posledních letech je znát tendence vedoucí k vytvoření standardů pro robotiku, podobně jako u klasických počítačů. Vidíme snahu velkých výrobců vytvářet jakési balíčky, na jejichž základě mohou vývojáři stavět vlastní roboty a soustředit se na opravdové problémy.
Standardizace se nevyhýbá ani oblasti robotiky. Zdá se, že tu chybí nějaký jednotící činitel, a tak vzniká mnoho nezávislých projektů, které se snaží definovat standardy pro různé oblasti robotiky. Příkladem může být RETF, obdoba internetové IETF, která vydává RFC. Vznikají i návrhy jazyků (většinou na bázi XML) pro komunikaci mezi roboty jako třeba RoboML či SensorML.
Zde konečně přichází na scénu Linux. Má totiž velkou výhodu ve své otevřenosti (vývojáři si ho tak mohou upravovat podle svých přání), je spolehlivý a velmi dobře vybaven různými ovladači pro senzory, ale i pro sítě. Důležitou předností jsou ovšem také nízké náklady v porovnání s konkurencí.
Pokud má robot obstát, musí rychle a přesně reagovat. O to se starají tzv. real-time operační systémy (RTOS). Linux sám o sobě nedokáže reagovat v reálném čase, ale s pomocí speciálního přídavného jádra RTLinux ano.
RTLinux má architekturu se dvěma jádry – jedno se v reálném čase stará o systémová přerušení a to druhé o vše ostatní. Systém tak po spuštění, které samo trvá jen zlomek sekundy, dokáže reagovat na podněty v rámci mikrosekund. Projekt RTLinux dnes vyvíjí společnost FSMLabs ve dvou větvích – na komerční a komunitní bázi (tj. podobně jako Red Hat a Fedora).
Všechno jezdí, co kola má...
Pokusím se vám představit několik čistě linuxových robotů. Ačkoliv se většina z nich pohybuje po kolečkách, někteří z nich umí chodit a nebo se dokonce vznášet ve volném prostoru. Ano, řeč bude i o humanoidních robotech a jednom vesmírném překvapení.
Hlídač PatrolBot
Představte si malou šedou jezdící krabici, která vypadá jako z hvězdných válek, samostatně jezdí po chodbách ústavu a svými senzory monitoruje své okolí. Děje-li se něco podezřelého, rychle zareaguje. Vyžaduje-li to situace, ... ne, nepřítele nerozstřílí na cucky, ale řízení může převzít živý hlídač. Říkáte se sci-fi. Nikoliv, to je realita.
PatrolBot od ActivMedia Robotics přitom ve svém nitru ukrývá běžné počítačové díly, laser, sonar, pohyblivou kameru, noční vidění, různé senzory, nezbytnou mechaniku... a také Debian Linux. V terénu se umí lépe orientovat díky použití 3D mapy. S velitelstvím může komunikovat přes bezdrátovou síť.
Se svými 35 kg se umí pronásledovat vetřelce rychlostí až 2 m/s. Po 4 až 6 hodinové vyčerpávající šichtě si může zajet do dokovací stanice pro energetické osvěžení.
Plechoví fotbalisté
„Do roku 2050 mají plně samostatní humanoidní roboti zvítězit nad elitním mužstvem živých fotbalistů,“ hlásá stránka světového fotbalového poháru RoboCup. Právě v této soutěži se loni umístil na 5. místě čínský tým robotů s univerzity JiaoTong v Šanghaji.
Jedná se o sehrané družstvo několika zhruba půlmetrových kostek na kolečkách s notebookem na zádech. Vidí pomocí dvou barevných kamer (všesměrové na dálku a obyčejné na blízko). Laserem „očichávají“ okolí a hlídají si, kde je brankář.
Spolu si vyměňují cenné informace přes WiFi síť. Pod kapotou se ukrývají hned dva počítače. Ten hlavní je notebook s 2,4 GHz Pentiem 4, 256 MB paměti a 30GB diskem a běží na něm Red Hat 9.0 s RTLinuxPro 2.1 na jádru 2.4.25-rtl. Vespod se krčí ještě malý samostatný počítač pro řízení pohybu.
TagBots: hra na babu
Představte si situaci: Jste skupina studentů robotiky, dostanete moderní desku od výrobce s tím, že máte do 14 dnů udělat demo. Co s tím? Třeba TagBots! Je to jednoduchý nápad. Jsou dva roboti a ti se navzájem pronásledují. Když ten, co „má babu“, druhého dostihne, vymění si role a hrají dál. Prosté. Navzájem se poznají podle růžové čepičky na WiFi kartě.
TagBots postavili studenti z univerzity Carnegie Mellon. Jako druhý ze tří demo projektů představili robotickou ruku ovládanou lidskou rukou. Poslední robot pro změnu uměl za jízdy kreslit na papír. Měl v sobě webový server, a tak bylo možné pomocí Java appletu nakreslit obrázek, který následovně robot věrně zkopírovat fixou na papír.
To vše běželo na univerzální desce XScale od Intelu, určené jako platforma pro vlastní vývoj. K ní byl přibalen procesor Centrino, WiFi síťovka, flash disk a linuxové jádro s mnoha dalšími ovladači.
Velociped ROB-1
Zajímavou hračku nadšencům připravil Sony Ericsson. Pod tajemným označením ROB-1 a futuristickým designem se skrývá malá jezdící kamera. Přes Bluetooth ji lze připojit k mobilu s Javou, odkud ji lze na dálku ovládat. Kamera tak může „šmejdit“ kdesi po zemi a my přitom v pohodlí vidíme streamované video.
S malým stabilizačním kolečkem vzadu vypadá jak velociped z 19. století, ale uvnitř stříbrné koule o málo větší než tenisový míček s pomocí 200MHz procesoru typu ARM s 2 MB paměti stíhá tučňák řídit svůj velociped a zároveň filmovat s VGA kamerou a video posílat zpět divákovi.
Platformy pro vývoj
Poslední dobou se roztrhl pytel s roboty, kteří neslouží jako konečný produkt, ale spíše jako prostředek pro další vývoj robotů nebo robotického softwaru. Některé pojízdné si představíme souhrnně zde, ty chodící v další části.
Typickým příkladem může být OAP (Open Automaton Project) snažící se vytvořit svobodnou referenční implementaci robotické platformy pro domácí či kancelářské použití. Hardware by měl být z běžně dostupných komponent, software se vyvíjí s GPL licencí.
Jinou cestou je společností SmartRobots vyvíjený autonomní robot SR4. Určen je pro vývoj a výuku. Obsahuje bohatou výbavu. Zajímavé je, že obsahuje i webový server pro ovládání přes internet a dokáže s ostatními roboty komunikovat mailem.
...ostatní musí chodit pěšky...
Pamatujete na filmového robota Číslo 5? Ne? Ale určitě jste viděli nedávno japonského „skoro člověka“ jménem Asimo. Sice myslet jako opravdový člověk ještě neumí, milovat asi taky ne, ale jinak už se blíží svému stvořiteli. Ale to je jen špička ledovce. Vězte, že i některé jeho kolegy řídí – kdo jiný než „Velký Tučňák“.
Znáte nejmenší linuxový počítač Picotux? Je je o málo větší než ethernetový konektor. Na 55MHz procesoru typu ARM běží jádro uClinux 2.4.27. Kromě ethernetu může mít i sériový port a plánuje se i wifi. Picotux má díky svým malým rozměrům velmi dobré možnosti uplatnění. Jeho výrobce Kleinhenz Elektronik vsadil na Linux díky rychlejšímu a jednoduššímu vývoji aplikací.
Mrňousové HOAP-1 a HOAP-2
Na první pohled vypadají tihle sotva půlmetroví chlapíci jako nějací mechaničtí válečníci ze seriálů pro děti, ale uvnitř se skrývá něco mnohem sofistikovanějšího. Jedná se totiž o platformu z dílny japonské společnosti Fujitsu určenou pro výzkum a vývoj nových algoritmů řízení pohybů v robotice.
Roboti to ale nejsou plně samostatní. Jsou vlastně fyzickým doplňkem programu pro simulaci pohybu robotů, který spolu s vlastním ovládacím softwarem běží na externím počítači s RTLinuxem. Zbývá snad jen doplnit, že výrobce ve snaze vyjít vědcům a vývojářům vstříc uvolnil i interní specifikaci obou robotů.
Isamu
Další z humanoidů pochází rovněž z japonské dílny (univerzita Tokio a Kawada Industries). Stejně jako HOAP-1 má i Isamu sloužit jako platforma pro další výzkum a vývoj. Tentokrát se plánuje využití jako pomoc při přírodních katastrofách, pomoc postiženým lidem, při rehabilitaci, ale i pro zábavu.
V malých počítačích (tzv. embedded systémech) se často používá speciální jádro uClinux (jako „micro controller linux“). Je určeno pro procesory bez virtuální paměti. I přesto, že jeho velikost je minimální, zachovává si výtečné schopnosti „velkého“ Linuxu jako například podporu sítí.
Metr a čtvrt vysoký plechový chlapík umí při hmotnosti 55 kg chodit rychlostí okolo 2 km/h. Umí ale také chodit po schodech nebo nosit v rukou citlivých na tlak až dvoukilový náklad. Vidí dvěma kamerami a dokáže i rozlišovat známé tváře.
Mozkem je mu počítač vybavený dvěma 750MHz Pentii III, na němž běží RTLinux. Dokáže dobře udržovat rovnováhu. Díky silným bateriím a bezdrátovému spojení není tolik závislý na nepřetržitém lidském dohledu. Je-li to ale potřeba (dělá-li nějakou neplechu), dá se ovládat na dálku joystickem.
Jako doplněk uClinux jádra slouží základní knihovna uClibc (štíhlá obdoba glibc). Na malých platformách, kde je každý bajt drahý, je poznat, zda má klasický program Hello world 200Kb (glibc) nebo 4Kb (uClibc).
Společník Wakamaru
Nejdál to z humanoidních linuxových robotů dotáhl asi Wakamaru od Mitsubishi (s linuxovým softwarem od MontaVista). Je totiž určen, aby se stal přátelským členem rodiny a hlídal doma, nebo dělal opatrovníka, je-li pán pryč. Tento metr vysoký robot s atraktivním vzhledem nemá sice nohy, ale zato jezdí na kolečkách.
Vyznačuje se důležitou dovedností: dokáže mluvit a rozumí okolo 10.000 slovům. Vynikající zrak a software mu umožňuje dobrou orientace v prostředí, ale i rozpoznávání tváří. Podobně jako živí tvorové dodržuje svůj vlastní denní rytmus, do nějž patří i samostatné doplňování baterií.
Další užitečný pomocník je program Busybox, který integruje většinu malých často používaných příkazů do jednoho malého souboru. Většinou implementuje pouze základní funkce. Za volaným příkazem se pak skrývá odkaz právě na Busybox. Podle svých slov je „švýcarským nožem embedded Linuxu“.
Sám dokáže navázat s lidmi konverzaci a bavit se o aktuálních tématech (čte totiž internetová média). Pokud doma nikdo není, sám hlídá. Není-li něco v pořádku, umí zavolat nebo poslat mail určené osobě, do nemocnice či do bezpečnostní agentury. Pán má také možnost se na dálku k robotovi připojit přes telefon a podívat se na aktuální obrázky z domu. Praktické, ne?
Trumpetista a dělník
Humanoidních linuxových robotů je hodně a všechny popsat – na to nemáme místo. A navíc jsou si dost podobní, takže bych se opakoval. Tak stručně.
Na výstavě Expo 2005, kde byl k vidění mimo jiné i Wakamaru, představila Toyota skupinu robotů – hudebníků. Mimo jiné i trumpetistu, který může hrát díky umělým rtům.
Bez práce nejsou koláče. Tím se inspirovala japonská společnost Kawada a vyvinula humanoida HRP-2P, který by mohl zapojit do pracovního procesu. Díky flexibilitě Linuxu, na němž běží, bude moci být jednoduše uzpůsoben pro nejrůznější činnosti.
...nebo se vznášet
A na závěr slibované překvapení. Možná znáte ze Star Treku přístroj zvaný „tricordér“, který umí všechno možné, od měření záření, přes komunikaci, až po léčení zranění. Sci-fi. Tedy dnes už částečně ne díky mobilům a palmům, ale odborníci z NASA jdou dál.
Vyvíjejí přístroj tvaru koule zvaný PSA (Personal Satellite Assistant), který bude mít za úkol pomáhat astronautům v raketoplánech a vesmírných stanicích. Kromě různých senzorů (obraz, zvuk, teplota, tlak, koncentrace látek, pohyb) bude mít i displej, WiFi spojení s palubním počítačem a možná bude umět mluvit. Pohybovat se bude pomocí malých větráčků.
Postavte si vlastního robota! Na linuxfocus.org se nachází návod na stavbu jednoduchého hmyzího robůtka. Má šest nohou, jeden plošný spoj, žádný motor a ovládá se přes kabel počítačem. Jeho nohy jsou totiž z materiálu, který se při změně teploty deformuje a tudíž pohybuje tělem robota. Stačí si tedy připravit součástky, podle návodu vše sestavit, stáhnout si přiložený ovládací program a pak si vesele ovládat „hmyzáka“ ze svého linuxového desktopu.
Využít by se dal jako pomocník pro inženýry v řídícím středisku na Zemi. Ti by se tak mohli virtuálně pohybovat po lodi a pracovat – vlastně takový fyzický terminál nebo VNC. A propos, uvnitř mají být obyčejné díly a … Linux.
Výhled do budoucna
Některé sci-fi příběhy se pomalu stávají skutečností. Co můžeme tedy očekávat v budoucích letech? Z mnoha stran se ozývá, že Linux se díky svým kladným vlastnostem stane standardní platformou pro roboty. Standardy a protokoly ovládnou i robotiku stejně jako Internet. Sami roboti budou umět více věcí a budou to umět lépe a kvalitněji. Uvidíme je stále častěji, za nějaký čas téměř na každém kroku. A ani nás to nepřekvapí. Stejně jako jsme si zvykli časem na telefon, televizi a mnoho dalších věcí. Cena za to? Staneme se závislí i na nich.
Napadá mě, proč tvořit jenom humanoidy, kteří se vzhledem i funkcemi blíží člověku? Když uvnitř běží Linux, může přece takový robot vypadat jako tučňák, ne? Vůbec bych se nedivil, pokud si za pár let přečtu, že nějací nadšenci něco podobného skutečně vyrobili. Recese přeci musí být.