Projekt RoboPejsek na dálkové ovládání
| Sitio: | Moodle ZČU |
| Curso: | 2CZV010 - Popularizace vědy ve volnočasových aktivitách žáků SŠ - informatika |
| Libro: | Projekt RoboPejsek na dálkové ovládání |
| Imprimido por: | Nepřihlášený host |
| Día: | domingo, 8 de noviembre de 2026, 17:41 |
Descripción
Projekt RoboPejsek na dálkové ovládání
Projekt RoboPejsek na dálkové ovládání
Ne vždy jsou roboti určeni jen pro práci. V Japonsku, v zemi, která je v oblasti robotiky průkopníkem, vznikli dokonce i robotičtí mazlíčci. Pomineme-li fakt, že skutečného živého mazlíčka snad nikdy nenahradí, jedná se o zajímavý koncept. Tyto hračky s názvem Aibo, vyvinuté firmou SONY, se umějí orientovat v prostoru, rozpoznávat barvy, vnímat směr zvuku, pohybovat se a simulovat 6 emocí. Na to, že vznikly v roce 1999, toho neumí vůbec málo. Cena však byla astronomická a dosahovala 45 000 dolarů.

zdroj: http://wallpapers.free-review.net/wallpapers/21/Entertainment_Robot_Aibo_-_Dogs.jpg
Vlastní RoboPejsek
Pokud máme k dispozici robotickou stavebnici LEGO, můžeme si postavit robotického pejska za zlomek ceny. Nejspíše nebude tak dokonalý, ale bude náš a i jeho chování si můžeme sami naprogramovat. A co by měl dělat? Má-li být pejskem, měl by určitě za námi chodit a měl by poslouchat některé příkazy, např. sedni a lehni. Můžete ale vymyslet a pejska naučit celou řadu dalších činností. Na ukázku možného řešení se můžete podívat na níže umístěném videu.
Že nevíte, jak na to? Nevadí, společně si ukážeme, jak začít, a poradíme si i některé finty. Třeba u sledování a zadávání příkazů si pomůžeme infračervenou ovladačkou, ale to již předbíhám. ;-)
Vyžadované pomůcky
Pro komplexní realizaci úlohy je zapotřebí toto vybavení:
- robotická stavebnice LEGO Mindstorms EV3 (45544 EV3 Základní souprava),
- PC s programovacím prostředím LEGO EV3 (či alternativní),
- infračervený senzor 45509 EV3 IR senzor,
- infračervený ovladač 45508 EV3 IR Ovladač.
TIP: Úloha je s omezením řešitelná i bez infračerveného senzoru a vysílače. Příkazy lze zadávat tlačítky či pomocí barev vložených pod alternativně připojený barevný senzor (součástí sady). Pro řízení pohybu pejska je možno využít ultrazvukový senzor odhalující překážky. Pejsek se pak pohybuje, dokud je před ním volno, a v případě trvající překážky se otočí.
Metodický list pro dlouhodobý badatelský projekt
|
Téma |
RoboPejsek |
|
|
Tematický celek |
LEGO ROBOTIKA |
|
|
Motivační rámec projektu |
Úloha je postavena na tvorbě robotického "mazlíčka", který vykonává studentem naprogramované příkazy, jako je např. sedni, lehni, štěkej, hlídej či aby studenta sledoval jako pejsek na vodítku. K řízení je použit infračervený senzor a ovladač. |
|
|
Počet žáků |
Ideálním počtem pro řešení této úlohy jsou dva studenti na jednu stavebnici LEGO Mindstorms EV3. Práce ve dvojici umožní optimální využití žáků a poskytne možnost konzultace i konfrontace různých způsobů řešení v rámci skupiny. V případě potřeby je však možno upravit počet na 1 až 3 studenty na jednu stavebnici. U většího počtu studentů často dochází k nevytížení některého z žáků, který si jen velmi těžko hledá možné uplatnění. Při řešení úlohy je možno si práci na vyřešení úlohy rozdělit (1 - 2 studenti pracují na konstrukci robota, další programují ovládací program). |
|
|
Věk žáků |
15+ | |
|
Pomůcky |
Pro komplexní realizaci úlohy je zapotřebí toto vybavení:
Pozn: Úloha je s omezením řešitelná i bez infračerveného senzoru a vysílače. Příkazy lze zadávat tlačítky či pomocí barev vložených pod alternativně připojený barevný senzor (součástí sady). Pro řízení pohybu pejska je možno využít ultrazvukový senzor odhalující překážky (pejsek se pohybuje, pokud je před ním volno). |
|
|
Vhodná místa realizace projektu |
Běžná učebna vybavená počítači s nainstalovaným programovacím prostředím EV3 (či alternativním) a dostatečným prostorem pro otestování řízení pejska ovladačem. |
|
|
Cíle aktivit |
Dosažené cíle v rámci dlouhodobého badatelského projektu se značně liší dle způsobu vedení aktivity. Ta může být omezena na řešení dílčích zejména na programování zaměřených úloh či rozšířena o celkovou konstrukci robota a vysvětlení možnosti navigace v rámci prostoru. V případě řešení konstrukce by studenti měli dokázat:
Programováním robota by studenti zapojení do této činnosti měli zlepšit své dovedností v oblastech:
Řešení projektu je však do jisté míry závislé na návrhu studentů. Dá se však předpokládat, že po absolvování studenti dokáží:
|
|
|
Rozvíjené kompetence |
Kompetence k řešení problémů. |
|
|
Předchozí znalosti |
Projekt není vhodný pro úplné začátečníky práce se systémem LEGO. Problematická je zejména konstrukce, která musí být samonosná, pohyblivá a ve které je potřeba vytvořit převod pro ovládání zadních nohou třetím motorem. Při poskytnutí návodu na sestavení je však konstrukce bezproblémová. Úlohu je možno řešit i s méně zkušenými studenty. V tom případě je pak vhodné žákům poskytnout dostatečnou oporu a úlohy společně rozdělit na dílčí snáze řešitelné části. |
|
|
Mezipředmětové vztahy |
Automatizace, fyzika, matematika |
|
|
Časový plán |
Fáze projektu |
Metody a formy, motivace |
|
|
Stanovovat přesný časový plán jednotlivých činností u projektu či badatelsky zaměřené činnosti učitelem není vhodné. Čas je velmi závislý na zkušenostech, znalostech a dovednosti jednotlivých skupin (jedinců) i na způsobu pomoci (či prozrazení podstaty problému) učitelem. Uvedeme proto jen seznam dílčích částí projektu s odhadovaným časovým rozsahem.
|
|
|
Hodnocení |
Hodnocení úlohy není vyžadováno. Podstatně větším přínosem je závěrečné představení hotového pejska a jeho funkcí před ostatními skupinami. Tato forma více působí na vnitřní zpětnou vazbu a motivaci studentů. |
|
|
Návaznosti |
||
|
Poznámky |
|
|
Konstrukce RoboPejska
Úlohu RoboPejsek lze řešit několika způsoby, konstrukcí na základě návodu a konstrukcí vlastního robota. Jsou odlišné zejména zaměřením, množstvím pomůcek, ale též i časovou náročností.
Konstrukce na základě návodu
Prvním jednodušším a časově méně náročným způsobem je nechat studenty sestavit RoboPejska podle poskytnutého návodu. Konstrukce podle návodu není časově tak náročná jako tvorba vlastní konstrukce, navíc vede k jistému výsledku, který v případě vlastní tvorby nemusí být vždy zaručen. Nemůžeme však očekávat, že se tímto způsobem budou u studentů rozvíjet schopnosti vytvářet vlastní robotické konstrukce. Účelem tohoto kroku je urychlit konstrukci a zbývající čas dát k dispozici pro tvorbu řídicího programu RoboPejska.

Námi vytvořený soubor konstrukce si můžete stáhnout <zde>. K prohlížení je zapotřebí mít nainstalovaný program LEGO Digital Designer. Pokud tuto možnost nemáte, můžete si vyexportovaný návod s omezenými funkcemi prohlédnout na této adrese.
Pozn.: Program LEGO Digital Designer potřebný k prohlížení a editaci souboru konstrukce je ke stažení na adrese http://ldd.lego.com/cs-cz/download.
Tvorba vlastní konstrukce
Druhým postupem je možnost nechat studenty robotického pejska nejen naprogramovat, ale i vymyslet a sestavit jeho konstrukci. Pejsek by měl umět vykonat povely: sedni, lehni, štěkej a měl by se umět pohybovat za signálem infravysílače. Důležité je, aby si studenti uvědomili, co všechny tyto funkce znamenají pro konstrukci jejich robota, a domysleli, jakým způsobem pejsek dosáhne toho, aby si např. sedl či lehl.
Nemáte-li nakoupeno dostatečné množství dalších technických dílů, studenti též brzy zjistí, že jsou konstrukčně limitováni a mohou používat jen díly, které jsou dostupné.
Pohyb pejska
Aby pejsek uměl jezdit za signálem, musí být vybaven motorkem. Pokud by se měl pohybovat pouze rovně, bylo by možno konstrukci vyřešit pomocí jediného motoru. Pro zatáčení pejska do stran je však potřeba konstrukci vybavit dvěma motory (možnost volby směru (rychlosti) do jednotlivých stran). Pokud by měl pejsek chodit pomocí posunu všech nožiček, byla by konstrukce ještě náročnější a nejspíše bychom potřebovali větší množství motorů, než je počet obsažený v základní sadě.

Při řešení pohybu robota je možno využít tvaru servomotorů tak, aby připomínaly nohy. Tíha motorů zároveň bude zvyšovat přítlak kolečka na podložku.
Prvotní myšlenkou bylo robotického pejska vybavit čtveřicí koleček pro snazší zatáčení. Jak se ukázalo, pejsek se skutečně snáze pohyboval směrem vpřed, dokonce si i lépe lehal a sedal. Problém však nastal při ovládání IR vysílačkou, kdy pryžová kolečka kladla v zatáčení značný odpor. Pejsek navíc nevypadal jako pejsek, a tak byla kolečka odstraněna a nahrazena kluzáky. Ty snáze mění směr, ale nehodí se pro nerovné či drhnoucí povrchy. Délka předních noh byla nastavena dle výšky zadní části pejska.
Sedání a lehání pejska
Sedání a lehání pejska je nejsnáze realizovatelné pohybem noh vůči tělu. Vytvořené zadní nohy jsme proto jako celek připevnili na osičku, se kterou jsme měli v úmyslu hýbat. Pohyb měl být realizován velkým motorem, který má průchozí uchycení a dostatečnou sílu. Na rozdíl od předchozí verze NXT je však stavebnice EV3 vybavena jen dvěma velkými motory, které jsme potřebovali již pro realizaci pohybu. Využít jsme proto museli střední motor s vyšším počtem otáček a neprůchozím kolmým uchycením.
Problém č. 1 - kolmé uchycení: Střední motor má řadu výhod, pro tuto realizaci se však příliš nehodil. Při přímém uchycení noh by vyčníval zcela mimo pejska. Bylo proto potřeba vymyslet takový převod, který by umožňoval podélné umístění a přichycení motoru v těle pejska a zároveň by ovládal k němu kolmě umístěnou osičku.
Problém č. 2 - výkon a rotace: Po úspěšné realizaci uchycení a kolmého převodu jsme očekávali, že vše již půjde bez dalších problémů. Pro převod jsme vymysleli dvě varianty. Jedna využívala stejně velká ozubená kolečka, která převáděla v poměru 1:1, druhá konstrukce měla z důvodu zmenšeného prostoru kolečko na motoru větší než kolečko na ose a tak pohyb osy oproti motoru urychlovala. Tato varianta se ukázala být zcela nepoužitelná a nedokázala s osou pohnout. Též varianta převodu 1:1 nebyla dobrá. Střední motor byl příliš rychlý a zadníma nohama hýbal příliš. Následnou zátěž při návratu nohou nezvládl a zasekl se, případně poškodil konstrukci. Řešením bylo pohyb motoru zpřevodovat do pomala a tím zvýšit ovladatelnost i sílu motoru. Z důvodu omezeného prostoru se jako ideální ukázalo využití šnekového převodu.
Problém č. 3 - zkrut osičky: Zadní nohy byly propojené jen pomocí křížové osičky. Jak se ukázalo, byla tato osička při pohybu motorů velmi namáhána, pejsek vstával nerovnoměrně a hrozilo její poškození. Pro rovnoměrné přenášení krutu byly obě části zpevněny a propojeny dvojicí rovných kostek, které můžete vidět na obrázku výše.
Problém č. 4 - nastavení nohou a překlápění robota: Až při tvorbě programu jsem zjistil, jak je otravné nastavovat nohy po nevydařeném pokusu do výchozí polohy. Model jsem proto mírně upravil a doplnil o ozubené kolečko pro možnost manuálního nastavení úhlu nohou vůči tělu při vypnutém robotu (viz černé ozubené kolečko na obrázku výše). Správné nastavení úhlu nohou bylo důležité zejména při návratu ze sedu, kdy se při špatném odhadu pejsek příliš zaklonil a převrátil se na záda. Ke zmírnění dopadu mimochodem sloužil také ocásek, který část energie pohltil a nasměroval pád robota do strany tak, aby primární pád nebyl na řídicí jednotku.
TIP pro verzi NXT: Velké servomotory sady NXT nemají kříže pro uchycení osičky pro náklon nohou. Tento problém můžete částečně obejít konstrukcí využívající zpevněné křížové T. Konstrukci naleznete na této adrese. U verze NXT je potřeba též, s ohledem na chybějící horní díry pro upevnění, upravit zpevnění konstrukce nohou.
Upevnění hlavy
Upevnění hlavy se zdálo být jednoduché. Opak byl však pravdou. Hlava tvořená řídicí jednotkou je nejtěžší částí robota, a proto ji bylo nutno umístit nejen tak, aby připomínala pejska, ale též i tak, aby se model při pohybu a sedu nepřeklápěl. Ani v našem modelu není vyvážení zcela optimální a při přílišném sedu způsobuje překlopení, ale po správném nastavení nedělá větší problémy. Hlava je umístěna pod úhlem, přední nohy jsou předsazeny.
Umístění senzoru
Ideálním místem pro umístění infračerveného senzoru je hlava. Senzoru nic nepřekáží, má plný rozhled a je navíc umístěn na nejvyšším místě, takže robot lze ovládat i ze stoje. Robot fungoval velmi dobře, jenže jako pejsek nevypadal. Rozhodli jsme se proto senzor umístit tak, aby nebyl příliš vidět a nekazil estetický dojem. Z technických důvodů bylo vybráno místo pod tělem (sedacím motorem) pejska. Nevýhoda tohoto řešení se objevila při ovládání. Díky nohám, které částečně zakrývají přímý výhled a odrážejí infračervené paprsky, se někdy stane, že snímač špatně vyhodnotí vzdálenost a polohu vysílače v určitém segmentu. Pejsek se pak nechová zcela podle našich očekávání, ale zase vypadá jako pejsek ;-).
Pro lepší ovládání z výšky jsme senzor mírně natočili směrem vzhůru. Přední červená spojka senzor držela, druhá zadní ho jen nadzvedávala.
Dokončení pejska
Na závěr už zbývalo dokončit pejska tak, aby vypadal jako pejsek. Přidali jsme plandající uši, bočnice a příčné spojky připomínající trup, drápky i dekoraci nožiček částečně zakrývající kolečka a přichytili kabely.
Programové řešení RoboPejska
Hlavní konstrukci robotického pejska máme již za sebou. Můžeme sice ještě objevit nedokonalosti a konstrukci upravit, ale i pro objevení těchto chyb potřebujeme pejska naprogramovat. Nyní nás proto čeká tvorba programu.
V rámci projektu RoboPejsek budeme používat grafické programovací prostředí LEGO Mindstorms Education EV3, jehož výhodou je relativní jednoduchost. Prostředí je vhodné zejména pro výuku začátečníků, ale poskytuje i některé rozšiřující funkce pro pokročilejší uživatele. Plnohodnotné prostředí je sice placené, ale existuje i zdarma dostupná omezená varianta Home, která by nám mohla postačovat.

Rozdělení programového řešení
Řešit celý program najednou by bylo značně obtížné a z výukového pohledu nevhodné. Méně zkušení studenti by se v programu a při jeho řešení ve vzniklých problémech ztráceli a nezažívali by pocit úspěchu z vyřešení dílčích úloh.
Program je proto vhodné rozdělit na jednotlivé dílčí činnosti vedoucí k tvorbě komplexního programu. Jejich řazení jsme se pokusili sestavit podle předpokládané náročnosti a nově využívaných znalostí a dovedností.
- Pozdrav při zapnutí
- Štěkání pejska na povel
- Povel sedni a lehni
- Sleduj mě očima
- Pojeď ke mně
Pozn.: Témata jsou uvedena jako pomůcka pro vyučujícího. V rámci řešení programu je vhodné, aby na ně, např. v rámci diskuse, přišli sami studenti. Úlohou učitele je žáky při diskusi směřovat k cíli a poskytnout jim zpětnou vazbu, např. v podobě náročnosti jednotlivých kroků.
1. Pozdrav při zapnutí
Na úvod je potřeba realizovat některé z jednoduchých úloh, které povedou k odbourání prvotního strachu a zároveň zvýší motivaci studentů. Úloha by měla též představit základní zvyklosti ve tvorbě programu v daném programovacím řešení. Jak pěkné by bylo, kdyby pejsek vypadal jako pejsek a při zapnutí nás pozdravil.
V rámci úlohy proto vytvoříme první program, který pejskovi přidá oči a zaštěká.
Práce s displejem
Displej pracuje v několika režimech. Pro nás je nejdůležitější režim obrázku (Image), který na celém displeji zobrazí předpřipravený obrázek. Ten je možno si vybírat z galerie prvků, kde se nachází i různé varianty očí (Eyes).

Spuštění programu a zjištění první nefunkčnosti
Pokud student takto vytvořený program spustí, zjistí, že RoboPejsek nic neudělá a program nefunguje. Není to však pravda. Program udělá přesně to, co se po něm chce. Vykreslí očička, a hned jak může, skončí. Prvním "řešením problému" je vložit za vykreslení blok čekání, druhým pak vložit prázdný cyklus.

Poznámka: Před spuštěním programu je samozřejmě nutno řídicí jednotku zapnout a připojit (kabel či přes bluetooth) k počítači.
Štěkání pejska
Řídicí jednotka EV3 je vybavena reproduktorem a umí přehrávat zvuky. Pro přehrání zvuků máme v zelené sekci Action k dispozici blok Sound s obrázkem reproduktoru. Blok se ovládá obdobně jako blok displeje s tím rozdílem, že volíme režim Play File a následně zvukový soubor z galerie.

2. Štěkání pejska na povel
V dalším kroku, který je jen mírným rozšířením, můžeme chtít, aby pejsek štěkal na povel. Tím povelem může být stisk tlačítka na infračervené ovládačce či řídicí jednotce. Obě dvě varianty jsou typově velmi podobné.
První řešení, na které by studenti mohli přijít, by mohlo spočívat ve změně typu čekání. Nečekalo by se na určitý čas, ale na stisk tlačítka. Poté by se přehrál zvuk.

Toto řešení však do budoucna není zcela vhodné, jelikož nepodporuje volbu jednotlivými tlačítky, i když studenty bychom za ně měli určitě pochválit.
3. Povel sedni a lehni
Povel sedni a lehni je vhodné vymyslet a otestovat nejprve ve zcela samostatné části programu, poté až přidat spuštění na základě stisku příslušného tlačítka.
Jak povel sedni, tak i lehni, bude pracovat s natočením středního motoru upravujícího polohu nožiček vůči tělu. Správný rozsah je potřeba otestovat. Při příliš velkém rozsahu hrozí překlopení pejska a poničení modelu, při malém pak pejsek nedělá dobře, co má.
Hodnoty počtu otáček či stupňů je dobré postupně navyšovat tak, aby nedošlo k poškození konstrukce pejska. V případě problémů lze běh programu kdykoli nouzově zastavit stiskem šedého tlačítka umístěného vlevo hned pod displejem.
Pro rychlejší testování doporučujeme motor následně programově vrátit do předchozí polohy (počet otáček či výkonu vynásobíme -1).
Chceme-li zadat např. 3,5 otáčky motoru, musíme zadat číslo s desetinnou tečkou (např. 3.5). Upozorňujeme, že otáčky jsou vázány na pohyb motoru, nikoli pohyb nožiček. Ten je dán převodem.

Chyby: Velmi častou chybou žáků je záměna portu. Té lze předcházet připojením robota v době návrhu (mění automaticky písmenko portu dle připojených zařízení, např. C).
Reakce na stisk tlačítka
Vytvořenou, otestovanou a funkční část kódu by bylo potřeba vykonávat jen v případě, že bylo stisknuto příslušné tlačítko. Toho lze dosáhnout větvením programu na základě podmíněného výrazu (podmínky). Bloky pro podmíněné vykonání se nacházejí v oranžové sekci prostředí Flow Control pod názvem bloku Switch.

Tento blok může být řízen buďto externí podmínkou, nebo může být napojen např. na senzor a následně vyhodnocovat splnění očekávaného stavu. V našem případě se hodí blok napojit na infračervený senzor a režim porovnání - vzdálený vstup (Infrared sensor > Compare > Remote), kde si v dalším parametru zvolíme, která tlačítka budou znamenat splnění podmínky.
Pokud je takto uvedená podmínka splněna, vykonává se část s fajfkou (zaškrtnutím), pokud není, je proveden obsah v části s křížkem.
Chyba číslo dvě aneb ono mi to zase nefunguje
Pokud bychom spustili takto vytvořený program, zjistíme, že nám nebude fungovat. Je dobré se žáků zeptat, jak program probíhá a co má dělat, a případně je později upozornit na to, že program skončí (mohou vidět na displeji) a již opětovně netestuje stisk tlačítka na ovládači. Program nám nyní jen ihned po startu zkontroluje, zda senzor nezachytil signál o stisku požadovaného tlačítka, a skončí.

Pokud chceme, aby program toto testoval opakovaně, musíme použít cyklus. V programovacím prostředí EV3 máme k dispozici pouze dva typy cyklů, s pevným počtem průchodů a s podmínkou na konci. Oba jsou reprezentovány jedním blokem Loop, v němž si volíme typ cyklu. Chybí nám cyklus s podmínkou na začátku a též cyklus s pevným počtem průchodů vyžaduje, aby proběhl alespoň jednou.
Podmínka pro ukončení cyklu může být různá, od počtu průchodů, porovnání hodnoty vstupu senzoru po časový limit. Velmi specifickým prvkem, který se v programování v rámci LEGO robotů používá velmi často, je nekonečný cyklus. Tento cyklus spolu s během celého programu přerušujeme vypnutím pomocí tlačítka umístěného vlevo pod displejem jednotky.
Protože chceme, aby náš RoboPejsek testoval signály z IR vysílačky opakovaně, použijeme nekonečný cyklus, do kterého zařadíme dříve vytvořené testování.
Rozlišení příkazů sedni a lehni (přidání více příkazů)
Pejsek si již na vyžádání sedne. Pokud chceme, aby si místo sednutí lehnul, stačí jen upravit směr prvotního natáčení a návratu a zjistit a nastavit míru (úhel) natočení.
Protože chceme, aby pejsek reagoval na více příkazů, musíme mu přidat další povely. Možnosti jsou následující. Buďto blok testování podmínky do cyklu umístíme ještě jednou, nebo původní přepneme do režimu měření (Infrared Sensor > Measure > Remote) a aktivujeme pohled více voleb (Tabbed View). Ten poskytuje i na místo úspornější grafické zobrazení.

UPOZORNĚNÍ: Položka záložek označená tečkou je brána za výchozí, pokud nebude nalezena žádná z uvedených voleb tlačítek. V důsledku by to pro nás znamenalo, že by si pejsek pořád dokola sedal, i když by nebylo stisknuto žádné tlačítko. Je proto vhodné, abychom zařadili prázdnou položku nestisknuto žádné tlačítko a dali ji jako výchozí pro všechny ostatní kombinace.
4. Sleduj mě
Pro řešení pohybu RoboPejska za ovládačkou by bylo vhodné zjistit vzdálenost IR ovládačky a úhel, kam je potřeba robopejska natočit. Zjišťování bude realizováno IR senzorem. Ten funguje ve dvou režimech Proximity Mode (měření vzdálenosti optickým senzorem), který nyní nepotřebujeme, a Beacon Mode (režim navigace).
Režim navigace informuje o vzdálenosti IR vysílače od ovladače (v rozsahu 0 - 100) a o segmentu (bezrozměrné číslo -25 až 25), v němž se vysílač nachází. Pro lepší pochopení funkce doporučujeme následující obrázek. Upozorňujeme, že vracená vzdálenost senzorem není v centimetrech a vyjadřuje spíše, zda je objekt blízko či daleko.

Vypisování segmentu na displeji
Informace o segmentech jsou velmi orientační. Při praktickém použití se mnohokrát ukázala jejich nestálost a nelineárnost. Není proto vůbec od věci, když si senzorem vracené hodnoty otestujeme informativním zobrazením na displeji.

Sledování segmentu očima
Práci se segmentem můžeme nacvičit ovládáním očí pejska. Ty budou ovládačku zdánlivě sledovat. Program lze realizovat kombinovanou podmínkou, kterou lze pro zmenšení prostoru přepnout do režimu Flat view.

5. Pojeď ke mně
Má-li robotický pejsek jezdit za ovládačkou, potřebujeme, aby uměl zjistit nejen směr, ale i její vzdálenost. Protože se jedná o bezrozměrné číslo, je ho vhodné nejprve otestovat, obdobně jako u segmentu.
Informace o vzdálenosti

Pohyb vpřed
Nyní můžeme napojit zjištěnou vzdálenost na výkon motoru. Pokud bude nulový, motor zastaví.

Zastavení dle vzdálenosti
Robotický pejsek by pro věrnější chování nemusel jezdit až k ovladačce, ale mohl by se zastavit v určité vzdálenosti od ní. Toho dosáhneme omezením výkonu. Můžeme si pomoci větvením programu i proměnnou.

TIP: Aby se pejsek nezastavoval skokově, můžete vzdálenost upravovat změnou jejího výkonu.
Přidání segmentu
Pro zatáčení robota již v jednoduché variantě stačí přidat segment jako parametr zatáčení robota. Tento způsob řešení je závislý na pojezdu a pejsek se tak nebude otáčet, budeme-li s ovládačkou příliš blízko.

6. Další funkce
Rozšíření RoboPejska se meze nekladou. Lze přidat např. povely pro hlídání, aport či kombinaci naučených pohybu. Pokud by nám základní tlačítka ovládačky nepostačovala, můžeme využít tlačítkové kombinace. Nezapomeňte však, že stisk prvního tlačítka může být vyhodnocen jako stisk samostatného tlačítka, a je proto vhodné s tím počítat v programu.
Další funkcí, kterou lze robotického pejska vybavit, je detekce překážek. IR senzor v sobě obsahuje optický modul, který detekuje překážky do maximální vzdálenosti 75 cm.
Pokud nemáte IR vysílač či ovladač, můžete robotického pejska vybavit ultrazvukovým a optickým senzorem. Ovládání pak můžete provádět barvami.