V minulom vydaní časopisu Automa bol predstavený robot Acrob kompatibilný s Arduinom. Tento článok sa bližšie zabýva robotom Boe-Bot od firmy Parallax, z ktorého Acrob vychádza.
Robot Boe-Bot je stavebnica malého mobilného robota od firmy Parallax. Skratka Boe v názve sa týka riadiacej elektronickej dosky, ktorú tento robot používa, a znamená Board Of Education (doska pre vzdelávanie). Z názvu vyplýva, že sa využíva najmä pri výučbe. Tento článok bude venovaný popisu stavebnice, ktorú firma Parallax predáva za 160 amerických dolárov pod označením Boe-Bot Robot Kit – Serial (with USB adapter and cable), číslo #28132. Zakúpiť ho možno priamo od výrobcu v jeho e-shope alebo prostredníctvom širokej siete distribútorov (v Čechách MITE, na Slovensku RLX components).
Vznik a pôvod robota Boe-Bot
Robot Boe-Bot vznikol na univerzite v americkom štáte Idaho z popudu učiteľa Chucka Schoefflera (pozri rozhovor). Ten vytvoril z plastovej krabice a riadiacej jednotky Board of Education prvý prototyp (obr. 1). Firma potom v CAD vytvorila návrh šasi, ktoré vyrezali strojom NC z hliníka, a prvé Boe-Boty boli na svete. O niečo neskôr napísal Andy Lindsay učebnicu – príručku Robotics with the Boe-Bot [1], a do dnešného dňa sa vyrobilo a predalo viac ako 80 000 stavebníc. Vyskytujú sa aj na Slovensku a v Čechách. Vznikli špecializované kurzy pre učiteľov a dnes sa stavebnice používajú na stredných školách i univerzitách nielen v Amerike, ale skutočne po celom svete. Robot dokážu zložiť už približne dvanásťroční žiaci, ale autor môže z vlastnej skúsenosti potvrdiť, že s menšou pomocou dospelého to zvládnu aj mladší. Práca s robotom nepredpokladá takmer žiadne predošlé skúsenosti.
Kompletná stavebnica (obr. 2) obsahuje všetky mechanické komponenty, ktoré sú potrebné na zostavenie robota. Pritom sa môže zísť pinzeta či malé klieštiky. Šikovný skrutkovač, ktorý sa využije pri montáži, je pribalený. Iné náradie nie je potrebné. Ďalej je v krabici osadená doska plošného spoja s riadiacou jednotkou Board of Education a programovací kábel. Existuje aj taká verzia stavebnice, ktorá má rozhranie USB priamo na doske a pripája sa káblikom Mini-USB. Verzia, ktorá je tu popisovaná, obsahuje sériový kábel RS-232 a navyše aj malý konvertor USB-232 s príslušným káblikom. Táto verzia je podľa autora výhodnejšia, pretože rozhranie RS-232 je robustnejšie a okrem toho užívateľ získa aj konvertor na USB, ktorý isto využije aj inde. Súčasťou stavebnice je aj CD-ROM s potrebným softvérom a vynikajúca podrobne prepracovaná 345stranová príručka. Okrem toho je v krabici sada ďalších dielov (LED, rezistory, senzory, dištančné stĺpiky), ktoré užívateľ využije pri experimentoch s robotom podľa príkladov v príručke.
Robot je zložený približne za pol hodiny. Jeho základom je hliníkové šasi, na ktoré sa postupne pripevní dva motory s kolieskami, držiak na štyri tužkové batérie a zadné koliesko. To je tvorené polyetylénovou guličkou, ktorá je pripevnená k rámu závlačkou. Napokon sa na dištančné stĺpiky pripevní doska riadiacej elektroniky. Po zostavení je robot pripravený na programovanie (obr. 3).
Pristavme sa pri doske Board of Education (obr. 4). Jej jadrom je procesor BasicStamp II. Je to vlastne maličký plošný spoj, ktorý sa navonok správa ako samostatne fungujúci mikropočítač s mikroprocesorom Microchip PIC 16F57 a interpretom jazyka PBasic. Ako pamäť programu a pevných dát funguje externá sériová pamäť EEPROM, premenné sa ukladajú do internej RAM. Okrem mikropočítača BasicStamp (1) riadiaca doska obsahuje obvody stabilizácie napájania s tzv. low-drop stabilizátorom LM2940 (2) a indikačnou diódou (3), konektor pre 9V batériu aj pre adaptér (4), konektor RS-232 (5), konektor pre rozširujúce moduly (6) a konektory pre servomotory (7). Doska sa zapína vypínačom (8) s troma polohami (vypnuté – zapnuté všetko okrem motorov – zapnuté všetko). Zhruba jednu tretinu dosky zaberá univerzálne kontaktné pole (9), vedľa ktorého je vyvedené napájanie a porty procesora. Táto časť je využívaná pre rozličné experimenty a zapájanie vlastných obvodov. Doska Board of Education je okrem robota Boe-Bot využívaná aj v mnohých ďalších vzdelávacích stavebniciach firmy Parallax. Takmer každý experiment s robotom podľa príručky vyžaduje na voľnej ploche zapojiť nejaké dodatočné elektronické súčiastky – či už je to len indikačná LED, alebo komplikovaný ultrazvukový snímač. Mikroprocesor má všetky voľné porty vyvedené v susedstve, takže je jednoduché pripojiť novú perifériu k procesoru a začať programovať.
Ako sa vlastne robot programuje?
Pre úplných začiatočníkov je možné využiť jednoduchý grafický programovací jazyk Gui-Bot, v ktorom sa program skladá z postupnosti niekoľkých grafických prvkov (obr. 5). Na bežnú prácu s robotom sa používa programovací jazyk PBasic. Príkazy jazyka sa najprv preložia na tzv. tokeny a až tie sa nahrajú do pamäte procesora EEPROM. Odtiaľ ich potom postupne vyberá a vykonáva zabudovaný interpret jazyka PBasic. Na prácu slúži voľne dostupné vývojové prostredie Basic Stamp Editor pre Windows (existujú aj riešenia pre MAC a Linux).
Prácu s digitálnymi vstupmi a výstupmi zvládne užívateľ pomocou príkazov IN, HIGH a LOW. Pre náročnejšie aplikácie sú k dispozícii napr. príkazy FREQOUT (signál danej frekvencie na niektorý výstup), PULSIN (meranie dĺžky impulzu na vstupe), SHIFTOUT (na daný výstup postupne vyšle špecifikovanú postupnosť impulzov, dá sa použiť na sériovú komunikáciu s perifériami) či PULSOUT (impulz špecifikovanej dĺžky na výstupe). Posledne zmienený príkaz PULSOUT sa používa aj na ovládanie modifikovaných RC servomotorov, ktoré poháňajú robot. Pri tomto príkaze ale programátor narazí aj na jedno z obmedzení použitého programovacieho jazyka. Počas inštrukcie PULSOUT totiž procesor nerobí nič iné, venuje sa len vysielaniu impulzu, takže nie je možné zároveň sledovať napr. snímač vzdialenosti a reagovať na prekážku. Program sa musí rozdeliť na malé kúsky, ktorých rýchlym opakovaním vznikne dojem „súčasného“ pohybu i snímania veličín. Pri jednoduchých programoch tento problém nie je podstatný, ale ako sa programy skúseného užívateľa budú viac a viac komplikovať, bude mu to trocha zväzovať ruky.
Pri ladení je veľmi dobrou pomôckou zabudovaný terminál, na ktorý si užívateľ môže vypisovať rôzne správy, zobrazovať aktuálny stav premenných apod. Správy posiela z robota pomocou sériového rozhrania príkazom DEBUG a zobrazovať ich môže na ľubovoľnom termináli – jeden je priamo súčasťou vývojového prostredia. Ako môže vyzerať program pre robot „chodiaci“ po obvode štvorca, ilustruje program v otvorenom okne (obr. 6, celý je na http://robotika.sk/go/Boe-Bot). Ústredná časť programu pre robot, ktorý má detegovať prekážky nárazníkmi – tykadlami, je na obr. 7. Celá úloha je veľmi podrobne popísaná v príručke (obr. 8), vrátane schémy zapojenia i vzorového programu.
Celá príručka obsahuje niekoľko desiatok úloh, ktoré užívateľa postupne prevedú cez všetky základné komponenty robota. Umožnia mu do hĺbky porozumieť nielen tomu, ako sa robot pohybuje, ale aj ako vníma okolitý sveta pomocou jednoduchých senzorov. Na konci každej kapitoly je množstvo otvorených problémov, ktoré autori predkladajú čitateľovi na doriešenie, čo vedie k podstatnému prehĺbeniu danej problematiky. Po zvládnutí základov pohybu, zmeny smeru a rýchlosti či zrýchľovania nasleduje kapitola, v ktorej čitateľ postaví z priložených dielov dve tykadlá – nárazníky. S nimi si vyskúša navigáciu mobilného robota a pohyb bez nehody – detekciu prekážok a stien. Ďalšie pokusy sa venujú senzorom s fotorezistormi. Tie umožnia vyhľadávať svetlé a tmavé miesta, popr. sledovať svetelnú škvrnu z baterky. Záver príručky je venovaný práci s modulovanými infračervenými senzormi, ktoré výborne poslúžia na detekciu prekážok a vyhýbanie sa im. Tieto senzory možno využiť aj na odhad vzdialenosti od objektu a udržiavanie konštantnej vzdialenosti od neho (základy regulácie).
Ako pokračovať?
Po vypracovaní všetkých príkladov uvedených v príručke je možné robiť vlastné pokusy, popr. si dokúpiť príslušenstvo. Azda najjednoduchším doplnkom je diaľkový infračervený ovládač, ku ktorému je k dispozícii opäť veľmi podrobná príručka. Keďže ovládač možno nájsť aj doma a príručka sa dá stiahnuť bezplatne zo stránok výrobcu, stojí to určite za vyskúšanie.
Ďalšou typickou úlohou pre mobilný robot je sledovanie čiary. Aj to si môže užívateľ vyskúšať – existuje stavebnica so štyrmi infrasenzormi, ktoré sa pripevnia na dištančné stĺpiky, a pomocou podrobného manuálu študent pochopí, ako treba robot naprogramovať, aby sledoval či už bielu, alebo čiernu čiaru. Je možné navrhnúť a vyrobiť si aj vlastný senzor.
K robotu sa predáva napr. jednoduché chápadlo. Existuje stavebnica umožňujúca prerobiť robot na pásový, alebo dokonca na šesťnohý kráčajúci robot. Na ďalší článok by vydal zoznam rozširujúcich senzorov a snímačov – kompas, akcelerometer, ultrazvukový senzor alebo snímače polohy do kolies, umožňujúce presnejšie polohové riadenie robota.
Zhodnotenie
Pre niekoho môže byť nevýhodou programovací jazyk PBasic, ktorý neumožňuje vytvárať vlastné funkcie ani knižnice. Skúsenejším bude určite chýbať priamy prístup k perifériám procesora, k časovačom apod. Programátor bude určite postrádať aj prerušenia. Pre začiatočníkov to nemusí byť vôbec problém, aj bez týchto vlastností sa dostanú veľmi ďaleko.
Neskôr môže užívateľ naraziť na nedostatočnú kapacitu pamätí RAM a EEPROM, ktoré však na školské a začiatočnícke projekty dostačujú. Obmedzujúca (hlavne pre tých, ktorí majú súťažné ambície) je rýchlosť robota – pretože ako pohon používa modifikované RC servomotory, je dosť pomalý. Nevýhodou môže byť aj jeho relatívne vysoká cena.
Naproti tomu, za vyššiu cenu zákazník dostane robot, ktorý spolu s príslušenstvom umožňuje veľké množstvo aktivít, takže to rozhodne nie je zábava na jeden víkend. Je veľmi robustný, odolný a vhodný aj pre začiatočníka. Veľmi kvalitné príručky ocenia určite hlavne samouci a učitelia. Nie každý učiteľ má čas tvoriť a vymýšľať nové aktivity. Učebnica, ktorá je súčasťou stavebnice, poskytne dostatočné množstvo veľmi kvalitne pripraveného materiálu. Učitelia navyše môžu firmu požiadať o hotové prednášky a popr. aj takú verziu príručky, ktorú si môžu sami preložiť a upraviť.
Pri porovnaní robota Boe-Bot napr. s populárnou stavebnicou Lego Mindstorms je jednoznačné, že zaostáva v možnostiach mechanickej variability. Boe-Bot má v podstate pevnú konštrukciu, na ktorej toho veľa zmeniť nie je možné. Šasi má však množstvo otvorov, vďaka ktorým možno na robot „navešať“ mnoho príslušenstva a využiť napr. aj stavebnicu Merkur. Oproti stavebnici Lego Mindstorms prehráva Boe-Bot aj v možnostiach programovania, pretože okrem jazyka PBasic iný jazyk nie je k dispozícii. Kde však Boe-Bot jednoznačne vyhráva, je možnosť rozširovať elektroniku [2]. Prostredníctvom voľne prístupných portov a univerzálnej zapojovacej doštičky je možné k robotu pripojiť takmer čokoľvek. Okrem robotiky tak základná doska Board of Education umožňuje spoznať aj základy senzorovej techniky, digitálnych obvodov a pod.
Je to vynikajúca vstupná stavebnica pre tých, ktorí sa chcú robotikou zaoberať serióznejšie a naučiť sa okrem robotiky aj niečo z oblasti programovania a elektroniky.
Literatúra:
[2] BALOGH, R.:
Robot Acrob kompatibilný s Arduinom. Automa, 2014, č. 6,
s. 10–11.
Richard Balogh, Slovenská technická univerzita v Bratislave
foto: s láskavým zvolením firmy
Parallax, Inc., a autor (4)
Rozhovor s Chuckom Schoefflerom
Chuck Schoeffler pracuje na štátnej univerzite Idaho, kde programuje riadiace systémy budov a stará sa o úspory energie. Na čiastočný úväzok stále učí vo večerných kurzoch číslicovej elektroniky, mikropočítačov a robotiky. Okrem toho učí aj telocvik (cyklistika, jóga). Ak práve nesleduje sci-fi filmy, nejazdí na horskom bicykli alebo nečíta, určite sa hrá s robotmi a mikroprocesormi. Jeho láskou sú aj motorky – má dve: Ninja 500 a Yamaha TW-200, s ktorými objavuje krásy štátu Idaho.
Chuck, ako vlastne vznikol Boe-Bot?
Prvý prototyp som si spravil v roku 1999. Bolo to krátko potom, čo firma Parallax vyrobila dosku Board of Education (BoE). Už predtým som v mojich triedach na univerzite a na strednej škole pracoval s procesormi BasicStamp a stavali sme aj malé kolesové roboty. Takže keď vznikla doska BoE, hneď som si všimol, že sa k nej ľahko dajú pripojiť servá, a že keď z toho spravím robot, tak by sa na tom dalo veľa programovať. Tak som hľadal niečo vhodné, na čo by sa to všetko dalo pripevniť. V obchode som našiel vhodné krabičky, na ktoré som pripevnil elektroniku, vŕtačkou som spravil otvory na servá a dozadu som pridal otočné koliesko. Vpredu boli zasa servá s kolieskami z podvozku modelového lietadla. Potom som sa niekedy v júni 1999 spýtal Kena Graceyho, viceprezidenta firmy Parallax, či sa nechce pozrieť na jeden z mojich prototypov a či by mu nevadilo, keby sme to nazvali Boe-Bot. V Parallaxe sa rozhodli, že skúsia spraviť ľahšie vyrobiteľné šasi (pretože to moje bolo prácne a drahé). Onedlho prišli s návrhom, ktorý sa používa dodnes. Poslali mi ho a ja som si ich zopár na stroji NC vyrezal. Potom ich už v Parallaxe začali vyrábať a predávať.
Tušili ste taký úspech?
V tom čase (1999), keď vznikol Boe-Bot, existovalo len málo mobilných robotov, ktoré by boli cenovo dostupné pre študentov, experimentátorov a učiteľov. S výnimkou robota Growbot (prvý pokus firmy Parallax – šasi bolo tvorené plošným spojom) bolo všetko pre školstvo príliš drahé na to, aby si kúpili dosť pre celú triedu. Robot Growbot bol síce dosť úspešný (dodnes mám jeden), ale koncepcia Boe-Bota s oddeleným šasi a komponentmi, ktoré možno modifikovať, sa ukázala lepšia. Skutočné uznanie za Boe-Bota teda patrí firme Parallax.
Čo by ste dnes na návrhu zmenili?
No, jediná vec, ktorú by som zmenil, je zadné koliesko. Ale ak by ste sa rozprávali s Kenom, bude vám rozprávať o cenových
limitoch... Môj pôvodný návrh mal dve ložiská nalisované do kúsku plexiskla a vyzeral ako predné pristávacie dvojkoliesko na modeloch lietadiel. Koliesko bolo nádherné a ľahko chodilo, ale bolo príliš drahé pre sériovú výrobu. Tak až na toto si myslím, že návrh je perfektný tak, ako je.
Predpokladám, že používate robot aj vo vlastnej triede...
Áno, používam Boe-Botov vo všetkých mojich triedach. Pracovali s ním dokonca už desaťroční žiaci. Často som predvádzal roboty Boe-Bot pre všetky možné vekové skupiny a pomáhal som ich zavádzať do výučby na rôznych školách.
Ste s robotom spokojný?
Och, áno. Milujem ich. V Parallaxe by mali vyrobiť tričko a pribaliť ho ku každej stavebnici!
Aká aplikácia Vás najviac zaujala a prekvapila?
Myslím, že najviac ma prekvapilo, keď jeden zo študentov použil Basic Stamp na riadenie zapaľovania na jeho motorke Honda 90 a ono to fungovalo!
Cez e-mail sa zhováral Richard Balogh.
Obr. 1. Prvá verzia robota Boe-Bot
Obr. 2. Obsah stavebnice – príručka, elektronika a komponenty
Obr. 3. Zostavený robot Boe-Bot
Obr. 4. Riadiaca doska Board Of Education
Obr. 5. Grafický programovací jazyk Gui-Bot
Obr. 6. Integrované prostredie s programom a terminálom
Obr. 7. Ukážka z príručky
Obr. 8. Robot s infrasenzormi
Tab. 1. Robot Boe Bot v číslach
Tab. 2. Procesor BasicStamp II v číslach