Robot v bludišti

Určování ujeté vzdálenosti

Pokud budeme chtít vytvářet program, díky kterému musí robot urazit nám předem známou vzdálenost, dostáváme se před první problém, který musíme vyřešit. Pro ovládání servomotorů LEGO Mindstorms EV3 totiž máme k dispozici tři režimy ovládání:

  • otáčení motoru po určitou dobu udávanou v sekundách,
  • otáčení motoru o určitý počet stupňů (0 - 360°) -> 360° = 1 otáčka,
  • otáčení motoru o určitý počet otáček.

Na základě tohoto zjištění vyvstává otázka, jak zjistit a v čem určit vzdálenost, pokud má náš robot ujet například 30 cm? Pro přesné měření vzdálenosti máme několik možností a ty si není představíme.

Měření ujeté vzdálenosti

První z možností jak určovat vzdálenost, kterou robot urazí je vyjádřit ji počtem otáček, které má motor vykonat. Tímto způsobem vždy docílíme stejné vzdálenosti, která není ovlivněna rychlostí otáčení motoru. Vyvstává ovšem jeden zásadní problém. Jakou vzdálenost robot urazí, když se motor, který jej pohání, otočí o jednu či více otáček? Tuto vzdálenost můžeme zjistit několika způsoby.

  • Změření předem připravené dráhy - jedním z nejjednodušších řešení, které nám pomůže zjistit ujetou vzdálenost může být prosté změření ujeté vzdálenosti při provedení jedné otáčky. Ve výuce je možné si připravit jednoduché papírové měřítko dlouhé alespoň 30 cm. Díky tomu budeme mít přehled, jakou vzdálenost náš robot při ujetí jedné otáčky urazí a dále si již při nastavováních dalších vzdáleností budeme jistější.
    • Měřítko ke stažení ve formátu PDF - vytvořeno pro černobílý tisk na papír formátu A4. Navrženo pro měření malého počtu otáček (navrženo na 25 cm nebo pomocí slepení obou dílů rozšiřitelné na 50 cm).
  • Označení výchozí pozice kola - při drobném natáčení či vyjádření ujeté vzdálenosti v otáčkách si můžeme pomoci značkou na plášti kola. Řešením může být značka bílým fixem na černém plášti. Ta nám bude označovat výchozí pozici. Po provedení pohybu zjistíme, o kolik otáček se změnila výchozí pozice oproti aktuální. Získáme tak hodnotu vyjádřenou počtem otáček.
    • Na obrázku můžete vidět příklad s využitím označení výchozí pozice na plášti kola. Značku jsme natočili směrem dolů. Následně otočíme kolem robota například o čtvrt otáčky a buď metrem nebo pomocí měřícího proužku papíru zjistíme, že náš robot urazil například 5 cm. Vzdálenost u tohoto příkladu závisí na velikosti použitého kola.

Označení kola

Měření pomocným proužkem papíru - kompromisem mezi předchozími dvěma možnostmi je měření pomocí proužku papíru, který nám bude sloužit ke změření ujeté vzdálenosti. Proužek omotáme kolem pláště kola a změříme tak, jakou vzdálenost robot urazí, pokud se kolo otočí kolem své osy. Je dobré tuto činnost kombinovat s označením výchozí pozice. 

Využití měření u jednotlivých režimů

Otáčení motoru o určitý počet otáček

Při měření vzdálenosti, kterou robot urazí pokud jeho pohyb řídíme pomocí počtu vykonaných otáček motoru, můžeme využít všechny tři předchozí možnosti měření. Dráha, kterou robot urazí navíc není ovlivněna rychlostí pohybu. Závisí pouze na zadaném počtu otážek.

Otáčení motoru o určitý počet stupňů

Ve své podstatě se jedná o stejný způsob řízení jako u řízení počtem otáček. Platí totiž jednoduchý vztah, kde 1 otáčka = 360°.

Otáčení motoru po určitou dobu

Doba otáčení jednoho či více motorů se v tomto případě udává v sekundách. Opět si můžeme na úvod změřit, jakou vzdálenost robot urazí například za 5 sekund. Musíme ovšem brát v potah důležitý fakt. Ujetá vzdálenost závisí na rychlosti otáčení motorů. Jinou vzdálenost robot za 5 vteřin ujede rychlostí 50% a dvojnásobnou, pokud pojede rychlostí 100%.