Parkovací asistent

V této hodině navážema na předchozí aktivity s ultrazvukovým senzorem. Využijeme tento senzor k vyhledání dostatečného místa na parkování a následnému zajetí do řady vozidel.

10.1 Dříve než začneme

Než začneme s tvorbou parkovacího asistenta, prozkoumáme nový blok se zajímavou funkcí.


Vysvětli, k čemu slouží následující program a jeho sekce.

📝Sekce A: 

📝Sekce B: 

📝Sekce C: 

📝Sekce D:

📝Program slouží k:




📝Co by program po spuštění zobrazoval, pokud bychom v sekci A zadali místo 0 hodnotu 10?

📝Vysvětli, jak by program fungoval, pokud bychom blok ze sekce A vložili přímo před blok podmínky (SEKCE C)?

Co musíme upravit, aby program každý stisk počítal za 10?  


Vysvětli, jakou má program na obrázku funkci.




Otevřete si předchozí program 🔗.

Co bychom museli změnit, aby program zjišťoval minimální vzdálenost?

Změněný program vyzkoušej.

10.2 Jak bude parkovací asistent fungovat?

⚙️ K řešení úlohy využijte ultrazvukový senzor umístěný na straně robota.

❗ Úlohu se pokuste řešit samostatně. Níže uvedené informace využijte jen, vyčerpáte-li všechny náměty a nebudete-li si vědět rady.

✋ Programování parkovacího asistenta se bude skládat z několika dílčích kroků. Nejprve musí robot dokázat nalézt volné místo na zaparkování. Následně si ověřit, jestli je místo dostatečně velké a nakonec robota naučíme zjistit, zda na místě pro zaparkování není nějaká překážka.

✋ 10.3 Nalezení začátku volného místa

Otevřete programovací prostředí EV3 a řešte jednotlivé úkoly uvedené v záložkách níže vedoucích k nalezení začátku volného parkovacího místa.

Vytvořte program, díky kterému robot detekuje začátek volného místa pro zaparkování. Po nalezení místa zastaví a oznámí to dlouhým výrazným tónem.


❓ Jak robot pozná, že nalezl volné místo na zaparkování?

💡 Nápověda: Robot projíždí ulicí. Po celou dobu měří vzdálenost pomocí ultrazvukového senzoru. Jak se jeho měření bude lišit, když pojede podél řady zaparkovaných automobilů a když nalezne volné místo?

Už víte jak úlohu vyřešit?

✋ Může být tento program správným řešení aktivity? Pokud ne, proč?


10.4 Tvorba vlastního bloku

Program, který vytváříme, bude ve výsledku poměrně rozsáhlý. Pro jeho zpřehlednění si můžeme vytvořit vlastní bloky. Stačí si označit všechny bloky, které do něj chcete zahrnout a v horním menu vybrat položku „Tools“ a následně „My Block Builder“.

V okně, které se nám otevře si následně zvolíme název bloku, jeho volitelný popis a ikonku, která se na bloku bude zobrazovat. Vytvořený blok se nám následně přiřadí do poslední záložky programových bloků s názvem „My Blocks“.

💡 Vyzkoušejte si: Vytvořte si z programu pro detekci začátku volného parkovacího místa vlastní blok. Poté ho vložte na plochu programovacího prostředí a program spusťte. Našli jste nějaký rozdíl?

✋ 10.5 Měření potřebné vzdálenosti

Druhým krokem vytvoření programu je nalezení dostatečně velkého místa na zaparkování. Robot už sice umí nalézt začátek volného parkovacího místa, ale neví, jestli je místo dostatečně velké.

Vytvořte program, pomocí kterého robot změří, zda je místo pro zaparkování dostatečně velké a pokud ano, tak do něj zajede, pokud ne, vydá chybové hlášení nebo tón.

💡 TIP: Jak nejjednoduším způsobem zjistit, jestli je prostor pro zaparkování dostatečné veliký?
Nejdříve musíte vědět, jak dlouhý náš robot je. Jakmile detekuje začátek parkovacího místa, popojede o vzdálenost své délky a znovu ověří, jestli je zde volno.

❓ Mohl by takovýto parkovací asistent fungovat v reálném životě?

Jaké by u něj mohly nastat problémy?

Prodiskutujte ve skupině a své postřehy si zapište.



🙋🏻 10.6 Rozšiřující aktivita pro rychlé žáky

Možná jste během diskuse došli k tomu, že předchozí řešení by nebylo příliš správné. Může totiž dojít k tomu, že na místě, které robot vyhodnotil jako volné bude zaparkovaná motorka, umístěná popelnice nebo sloup veřejného osvětlení. V aktivitě níže se tedy naučíme, jak tento problém vyřešit.


Analyzujte následující program a zjistěte, k čemu slouží. Upozorňujeme, že pro vás bude velmi důležitý k řešení závěrečné funkce robota. Až zjistíte, co tento program dělá, použitejte předchozí získané znalosti a zkuste úlohu vyřešit.

Pokud si nevíte rady, pomůcku najdete v záložce „Nápověda“.

💡 Tip: Nový blok, který v programu vidíte, se jmenuje „Motor Rotation“ a najdete ho ve žluté záložce. Slouží k měření nebo porovnávání počtu otáček motoru ve stupních nebo otáčkách.

Na závěr si shrneme všechny informace. Ke správnému vyřešení aktivity musíte vyřešit několik dílčích kroků:

1) Nalézt volné místo pro parkování.
2) Změřit, zda je místo pro parkování dostatečně velké.
3) Ověřit, zda na parkovacím místě není nějaká překážka.
4) Úspěšně zaparkovat.