Ozokódy – Ozocodes

Ozobot je edukační pomůcka, která má více poloh a je vhodná pro výuku žáků více věkových skupin. První způsob využití se kterým se asi pedagog setká nejdříve (a který je asi v Čechách učiteli zatím nejvíce využíván) je práce s ozokódy a jejich používání při tvorbě kreslených ozomap. Ozoboti totiž vynikají zejména v chůzi po čarách, kde jim lze pomocí ozokódů dávat různé příkazy. Pomocí ozomap tak můžeme dětem předkládat k řešení různé logické úlohy a tak je pomalu směřovat ke složitější algoritmizaci (kterou ozobot také umí, ale o tom až později).

Kolektiv starších dětí si s ozokódy hraje stejně rád, jako partička předškoláků

Nejdříve by bylo asi vhodné podrobněji popsat co to vlastně ozokódy jsou (na konci článku je naleznete pro pořádek komplet ke stažení).

Abychom si popsali ozokódy (a trošku pochopili i to jak vlastně fungují) mrkneme se chvilku na předchozí kapitolku. Konkrétně si najděte obrázek spodních částí obou ozobotů (verze BIT i EVO). Na grafice si všimněte toho, čemu se říká optočleny a pozornost věnujte zejména mírně atypickému optočlenu s malým žlutým čtverečkem. U verze EVO jej naleznete mezi kolečky, u verze BIT se nachází uprostřed v řadě ostatních optočlenů.

Našli jste je? Tak fajn. Tyto optočleny jsou zaměřené na vnímání barev a dávají tak ozobotovi informaci jakou barvu má povrch na kterém se nachází. Vzhledem k tomu, že je ozobot zaměřený na chůzi po čarách, jak jsme si řekli již v úvodu, umí tedy vnímat i barvu čáry na které stojí. Od vnímání barvy je již jen krůček k myšlence, že by ozobot pomocí jednoduchého „čárového“ kódu – tedy kódu o 2 – 4 různobarevných čarách – mohl jejich různé kombinace vnímat jako příkazy spouštějící akce, které má napevno naprogramované ve svém mikrokontroléru.

Takže to jsme si velmi zhruba řekli co jsou to ozokódy (podrobněji dále v textu) a vrátíme se pro jistotu a pro pořádek na úplný začátek k tomu, jak má vlastně taková čára pro ozobota vypadat, protože to je pro správnou práci s ozoboty stejně důležité, jako znalost ozokódů.

Ozobot – správná čára

Pro ilustraci co děti umí v pohodě vytvořit následující obrázek na kterém si ukážeme chybky v kresbě ozomapy.

Ozomapa – nesprávné čáry

Čára

Čára pro ozobota musí mít určitou šířku (dáno konstrukcí ozobota a umístěním optočlenů). Tudíž úzká pěšinko-čárka, případně pořádně široká dálnice není vítána (po jisté vzrušené diskuzi dodávám, že ani jako parkoviště). Ozobot úzkou čárku ignoruje a na dálnici bezradně bloudí. Správná čára má šířku přesně na hrot fixky (cca 5mm). Malé děti mají tendenci k tomu brát ozobota jako živé zvířátko, které čáru samo pozná a proto mu stačí jakákoliv čára. Velké děti zase mají tendenci to trošku flinkat. V obou případech je potřeba jim vysvětlit jakou čáru je ozobot schopný přečíst.

Čára by měla být kontinuální – plynulá – se stejnou šířkou na začátku i na konci. Ze škol mají děti bohužel návyky ke kresbě po malých čárkách, asi z patlání na výtvarné výchově. Jak malíři, tak ozobot preferují pevnou stejnoměrnou čáru. Podle mých zkušeností stačí dětem předvést a upozornit je na to a postupně kreslí jak je třeba. Robotika zde má asi přesah do výtvarné výchovy :-). Pokud se kreslí křižovatky je žádoucí aby čáry navazovaly bez větších „otřepů“.

Umístění čáry

V nadšení ze hry a tvorby mapy se děti nechávají snadno unést a nepřemýšlí jak čáry umísťují. Vznikají tak zajímavá výtvarná dílka (protože ozomapy bývají často ilustrované doplňkovými kresbičkami), ale my potřebujeme, aby po nich ozobot zvládl jezdit. Je třeba tedy respektovat určitá pravidla.

Čáry, pokud na sebe nenavazují, by měly být vzdálené cca 2cm (poloměr ozobota + bezpečná vzdálenost navíc). Pokud totiž ozobot na snímači „uvidí“ informaci o dvou čárách začne tropit hlouposti a bloudit po mapě.

Úhly na čarách

Ozobot zvládne ledacos. Umí jezdit rovně i do oblouku. Problémem tudíž nejsou mírné povlovné zatáčky, případně zatáčky do pravého úhlu. Co mu dělá problém jsou ostré zatáčky. Důvodem je to, že se mu pokračování čáry ztratí z optočlenů (z očí) a pro tuto situaci má ozobot dvě řešení – buď stojí bliká a diví se kam se čára schovala (EVO se diví hodně nahlas), nebo začne být proaktivní a vydává se nazdařbůh čáru hledat.

Ozofixky

Ozofixky – Náhrada je stejně dobrá jako originální sada

Ozofixky vypadají jako součást ozobotího světa, která by mohla limitovat životnost celé sady. Z tohoto mraku ovšem neprší a není tak třeba se bát, že po vyschnutím fixek nebudeme moci s ozobotem dále pracovat. Originální ozofixky jsou totiž snadno nahraditelné různými dalšími běžně se vyskytujícími sadami. Pokud daná sada zachovává barevnou škálu (základní barvy fixek jsou typizované) a pokud je schopná kreslit čáru o potřebné šířce je použitelná.

Doporučuji pouze shánět široké fixky s dlátovitými hroty, kterými lze bezvadně čáry kreslit. Široké fixky s hrotem do špičky jsou k ničemu, protože s nimi děti neudělají čáru o potřebné šířce.

Zpět k ozokódům

Tak jsme si řekli základní pravidla o tom, jak kreslit čáry po kterých ozobot chodí a je na řadě si něco povědět o kódech, které můžeme použít. Především je třeba vědět, jak takový kód nakreslit a kam ho můžeme umístit.

Ozobot jako kód chápe kombinaci barevných čar ohraničenou černou barvou. Proto i když ozobot zvládne delší dobu jet po čáře, která má jinou barvu než černou (svítí pak barvou čáry po které jede pozna.) nezvládne z jiné než černé čáry přečíst příkazový kód. Ozoboti rovněž vyžadují, aby barevné čáry kódu měli určitou, pokud možno stejnou, délku (+- 5mm na pole). Pokud jsou barevná pole „kódu“ delší ozobot je nepovažuje za kód, ale dráhu a jen po nich přejede.

Ozoboti vůbec mají rádi při čtení kódů pokud je nakreslený správně. Takže pozor na bílé mezírky mezi poli a šedé proužky při přetahování bílých políček. Pokud máte po delším používání ozofixku spíše šedou než barevnou a výsledkem jsou spíše šedá políčka s lehkým nádechem barvy může se stát, že vám ozobot nebude rozumět.

Barevná políčka musí být zkrátka přesná a jasně barevná. Pak ozobot ťape po čáře k vaší radosti.

Ozobot má i jisté požadavky co se týče správného umístění kódů. Ozokódy nesmí být v zatáčkách a nesmí být vprostřed křižovatky. Nejbližší vzdálenost kódu před rozcestím, křížením, nebo zatáčkou může být maximálně „půl“ ozobota – tedy 1,5 – 2 cm.

Kalibrace ozobota na papír

Při chůzi po čáře nakreslené na papíru snímá ozobot čáru optočleny ve spodní části. V průběhu dne se mohou změnit světelné podmínky, může se stát, že se venku zešeří a najednou váš ozobot nejezdí tak spolehlivě jako jindy. To je přesně ta chvíle, kdy je třeba ozobota zkalibrovat na nové světelné podmínky. Není se třeba děsit, tato operace je velmi snadná a téměř automatická. Původně jsem přemýšlel, že tento proces celý nahraji, ale pak jsem našel kalibrační procesy pro obě verze ozobota a dávám sem tedy odkazy (video pro kalibraci verze BIT, video ke kalibraci verze EVO) . Pokud časem tyto odkazy pozbydou platnosti, tak věřím, že bude na youtube snadno k nalezení nějaká alternativa.

V obou případech je třeba na papír nakreslit (nebo mít již hotové) kalibrační kolečko (o trochu větší než je průměr ozobota). Ideální je, pokud kreslíme čáry, tak stejným způsobem na stejný typ podkladu nakreslit kalibrační kolečko, aby ozobot byl „seřízen“ přesně na světelně-barevné podmínky, které nastanou v reálném provozu. Poté na 2 sekundy stiskneme a přidržíme zapínací tlačítko dokud se nerozbliká bíle (tím ozobot signalizuje, že začíná kalibrační proces). Ozobota postavíme (já již raději mám ozobota položeného na kolečku) a necháme probíhat proces a ozobota dělat co umí.

Ozobot si napřed změří a uloží úroveň barvy na černém podkladu, pak popojede a změří a uloží totéž na bílém podkladu. Odteď již ví, jak v této chvíli vypadá černá a bílá barva. Poté zhasne – tím naznačuje, že po zapnutí už bude používat nové hodnoty a je tedy řádně zkalibrovaný. Nezbývá tedy, než vyzkoušet jestli ozobot nelže a jezdí po čáře tak ja má. 🙂

Pokud problém přetrvává je dobré celý proces opakovat, dokud to nebude fungovat.

Ozokódy pro pohyb

Ozokódů měnících směr ozobota jedoucího po čáře je celkem osm. U prvních tří (počítáno podle předchozího obrázku) je nutné kód umístit vždy před rozcestím/křižovatkou. Ozobot pak zareaguje u nejbližšího rozcestí, nebo křižovatky požadovaným způsobem a pak vše zapomene.

Tip: Vyzkoušeli jsme s dětmi, jak moc si ozobot pamatuje načtený pohybový kód. Nutno poznamenat, že je to v tomto směru poměrně držák. Kód nezapomněl ani když následovala křižovatka až po 30-40cm a nezapomněl ho, ani když jsem mezi pohybový kód a křižovatku zadal jiný kód. Takže slovy mých svěřenců „vééélký respekt…“.

Pokud není značka před rozcestím nebo křižovatkou umístěna, vybírá si ozobot náhodný směr jízdy. Této vlastnosti se pak úspěšně využívá u map sloužících jako generátor náhodných čísel, případně u rozhodovacích map.

Další zajímavou a poměrně málo využívanou možností jsou kódy umožňující skoku mimo čáru (nalevo, napravo, nebo rovně). Jak fungují lze zjistit z následujícího videa.

Tip: I pro tuto skupinu příkazů jsme si na ozobotovi vyzkoušeli zatěžkávací pokusy. Ozobot dostal příkaz ke skoku doprava mimo dráhu. S napětím jsme čekali za jak dlouho začne ozouš bloudit. Překvapilo nás, že nebloudil ani trošku. Při první verzi pokusu ozobot skočil přesně podle příkazu doprava a pátraje po další čáře na kterou by přeskočil, suverénně přejel celou čtvrtku A3 po délce. To vzbudilo naší pozornost a tak jsme přidali k prvé čtvrtce ještě druhou. Ozobot nás překvapil tím, že přejel obě čtvrtky, tedy vzdálenost delší než metr, a nevypadal že by hodlal zastavit. Toto je zajímavá vlastnost a jistě by se při tvorbě map dala bezvadně použít.

Poslední skupinou kódů pro pohyb jsou kódy pro povel „čelem vzad“ při které se ozobot otočí o 180 stupňů a dál pokračuje v pohybu po čáře. Tyto kódy je možné umístit jak průběžně na čáru, tak na konec čáry (viz. předchozí grafika). Pomocí těchto kódů se dá ozobot přinutit k cirkulaci po určité dráze.

Ozokódy pro změnu rychlosti

Další velkou a zajímavou skupinou kódů jsou ozokódy ovlivňující rychlost se kterou se ozobot valí po čáře. K použití je celkem šest rychlostí (viz. obrázek). Tyto rychlosti jsou dobře využitelné například při tvorbě vyprávěcích „story map“.

Rychlostní kódy fungují zcela jednoduše tak, že po přejetí kódu ozobot změní rychlost. Změněnou rychlostí jede po čáře cca 30cm a pak se vrátí, pokud nedostane další příkaz k udržování jiné rychlosti, ke svému původnímu „vycházkovému“ tempu.

Ozokódy pro práci s časem

Práce s časem je poměrně jednoduchá. Dva kódy o čtyřech proužcích dokáží vypnout a zapnout časovač. Ozobot má tak po načtení kódu spuštění časovače 30 sekund na splnění úkolu. Pokud nedokáže úkol do třiceti sekund splnit usne na místě. Pokud dokáže splnit zadání a včas přejede kód k vypnutí časovače „přežije“. Měl bych malý tip pro výrobce, pokud by bylo možné zvyšovat počty předpřipravených kódů, bylo by dobré zařadit pár dalších podobných kódů i s jinými časovými intervaly.

Dětmi oblíben a hojně používán je kód pauza. Ideální kód pro tvorbu dopravních map – umožňuje ozobotovi zastavovat na zastávkách.

Ozokódy pro triky a pokročilou práci s mapami

Ozobot umí na čárách vyrábět různé vylomeniny (přesně čtyři druhy vylomenin). Děti jsou z toho chvilku nadšené a pak jim to zpravidla zevšední. Triky jsou pěkné pro story mapy a další zajímavostí pak je, že tyto kódy fungují i pozpátku (ozobot přitom ale provede jiný trik).

Počítání/Counters

Zbylé ozokódy – „Počítání/Counters“ – jsou určené spíše pro učitele, nebo zkrátka pro tvůrce map. Proto také tyto kódy nenaleznete téměř popsané. Asi nejlepší zdroj je k nalezení na youtube zde. Jejich použití také není zrovna přirozeně intuitivní, je třeba přitom trochu té představivosti a přemýšlení, což také může být důvodem „nerozšířenosti“ těchto kódů. U některých mi také chvilku trvalo pochopení logiky (a vyžádalo si to řadu praktických pokusů). Dalším parametrem pak nejspíš bude i použitelnost pro výuku, nebo konkrétní projekt.

Obecně kódy ze skupiny „počítání“ fungují tak, že celou sekvenci kódů začínáte inicializačním – uvozovacím kódem (to jsou ty se čtyřmi barvami). Těmito kódy říkáte, který že to parametr se bude odpočítávat (nejpoužitelnější se mi jevilo počítání barev a bodů). Po zadání uvozovacího kódu pak ozobot při průjezdu tratí odpočítává situace, kdy nastane požadovaná událost. Popisky ozokódů jsou v tomto poněkud matoucí (dlouhou dobu jsem události přičítal, ale ony se odečítají). Zkrátka pokud tato událost nastane pětkrát, ozobot se zastaví.

Asi nejpoužitelnější jsou pro tvorbu map kombinace kódů pro počítání barev (k použití na mapě například pro simulaci průchodu ohroženou oblastí – například – je možné projít zaplavenou oblastí maximálně pětkrát). Nepočítají se ani tak barvy jako spíše přechody mezi barvami. Barevný pás, aby se započítal, musí být delší než dva centimetry. Barvy se započítávají až za první černou barvou.

Dobře použitelná je i funkce pro počítání bodů – pokud body považujeme za životy můžeme je v určitých oblastech ozobotovi ubírat (zraňovat ho) i přidávat (léčit ho). U této funkce ozobot začíná na 5 bodech a končí jakmile stav bodů klesne na nulu.

Kódy pro počítání křižovatek započítají bod při průjezdu křižovatky typu T a X při rovné jízdě i při zahýbání. Kód pro „počítání zatáčky“ je chybně přeložen. Funguje spíše jako kód pro započítání otočky na křižovatce. Pokud projedete křižovatku rovně nic se nezapočítá. Samotné otočky v rozích se také nepočítají (ač by k tomu popisek odpovídal).

Přiznám se, že jsem dosud nepřišel na optimální využití kódů pro počítání křižovatek a otoček na křižovatce. Pokud vás něco napadne, napište mi na fórum. Předem děkuji.

Tím končím povídání o samotných kódech a příštích několik povídání věnuji ozomapám a jejich tvorbě.

Výukové karty ke stažení

Stránka z kódy pro ozobota pro zatavení do fólie – převzato z www.robotworld.cz

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *