Slalom

Cílem úlohy je, aby robot TurtleBot samostatně projel slalomovou dráhu. Zadání je rozděleno do tří úloh podle náročnosti řešení:

  1. robot projede startovní branku
  2. robot projede dráhu obřího slalomu
  3. robot projede dráhu slalomu

Obecná pravidla

Základní pravidla pro řešení úkolu, která jsou společná pro všechny úlohy různé obtížnosti.

Slalomová dráha a branky

Startovní pozice a branka Fig. 1: Startovní pozice a branka

Slalomová dráha je vyznačena brankami. Jednotlivé branky jsou vymezeny dvěma tyčkami stejné barvy. Tyčky tvoří v našem případě různobarevné papírové válce o průměru 50mm a výšce cca 350mm. Samotná branka je definována jako spojnice mezi středy příslušných tyček. Střed branky je středem této spojnice. Osa branky je kolmice na spojnici tyček, která prochází středem branky. Šířka branky je dána vzdáleností bližších stěn tyček, které vymezují danou branku. Dráha začíná startovní brankou, která je následována jednou, nebo více traťovými brankami.

Pro průjezd drahou je podstatný směr jízdy, který je definován jako spojnice středů dvou následujících branek, nebo jako spojnice dvou následujících tyček. Startovní/cílová branka je vyznačena dvěma zelenými tyčkami. Její šířka je 500mm +/- 20mm (přesnost umístěni). Traťové branky jsou vyznačeny červenými a modrými tyčkami.

Startovní pozice

Startovní pozice je ve směru jízdy před startovní brankou. Střed robotu ve startovní pozici bude umístěn minimálně ve vzdálenosti a = 300mm od startovní branky (měřeno rovnoběžně s její osou) a maximálně ve vzdálenosti b = 1300mm. Střed robotu bude od osy startovní branky vzdálen maximálně o 600mm (na obě strany). Podélná osa robotu bude odkloněna od směru osy startovní branky maximálně o ± 60º, ale vždy tak, aby byla alespoň jedna tyčka startovní branky v zorné poli RGB kamery na robotu. Startovní pozice vůči startovní brance je znázorněna na výkresu figure 1.

Průběh jízdy

Nejprve operátor (student) spustí program v robotu. Poté vyučující stanoví startovní pozice a orientaci robota. Operátor umístí robota na startovní pozici (včetně orientace). Jízdu spustí operátor stisknutím tlačítka na základně robota, nebo dotykem na display robota. Robot poté zahájí činnost a nadále bude již stanovený úkol řešit zcela samostatně. Všechny potřebné algoritmy musí být implementovány v řidicím počítači robotu. Robot nesmí být v průběhu jízdy řízen z jiného počítače.

V průběhu jízdy robot projíždí jednotlivé branky a přitom nesmí srazit žádnou z tyček ani se jí dotknout.

Bezpečnostní nárazník

V průběhu jízdy musí být aktivní mechanický nárazník robota. Kdykoliv bude v průběhu jízdy nárazník aktivován (náraz do překážky), musí robot neprodleně zastavit a ukončit jízdu.

Pravidla pro jednotlivé úlohy

1. Projetí startovní brankou

Robot bude umístěn na startovní pozici dle obrázku figure 1. Po spuštění má robot za úkol projet startovní brankou. Robot musí projet brankou celým svým objemem aniž by se dotkl tyček, které vyznačují tuto branku. Za splnění úlohy může být maximálně uděleno 35 bodů.

2. Obří slalom

Vzájemná poloha branek Fig. 2: Vzájemná poloha branek obřího slalomu

Stejně jako v případě úlohy “projet startovní brankou” bude robot umístěn na startovní pozici dle obrázku figure 1. Po spuštění má robot za úkol projet startovní brankou, kterou tvoří zelené tyčky. Po projetí startovní brankou bude robot pokračovat v průjezdu tratě, která je vyznačena traťovými brankami. Traťové branky jsou tvořeny tyčkami stejné barvy. Použity jsou tyčky modré a červené. Barva tyček po sobě následujících branek je rozdílná (střídá se červená a modrá).

Robot musí projet vytyčenou trať aniž by se dotkl tyček, které vyznačují branky. Každý dotyk s tyčkou branky bude penalizováná ztrátou 2 bodů z hodnocení úlohy. Za projetí trati bude považován okamžik, kdy robot protne (jakoukoliv částí) poslední branku. Poslední branka není nijak označena. Robot může po protnutní poslední branky dále pokračovat v jízdě. Případné sražení tyček po protnutí poslední branky nebude již bráno v úvahu. Pro porovnání jednotlivých řešení změříme čas průjezdu trati, který měříme od okamžiku protnutí startovní branky po okamžik protnutí branky poslední.

Geometrické uspořádání branek je znározněno na figure 2. Šířka branek pro “obří slalom” d = 450 až 600mm. Minimální vzdálenost dvou libovolných tyček různých branek je h ≥ 500mm. Maximální vzdálenost středů následujících branek je 1000mm. Směr jízdy může s osou branky svírat úhle maximální úhel 30° (|α| a |ß| ≤ 30°).

Každý robot bude mít 2 pokusy, z nichž bude vybrán ten lepší (dle bodů a času) jako výsledek řešení úlohy. Za splnění úlohy může být maximálně uděleno 55 bodů.

3. Klasický slalom

Vzájemná poloha branek klasického slalomu Fig. 3: Vzájemná poloha branek klasického slalomu

I v tomto případě bude robot umístěn na startovní pozici dle figure 1. Po spuštění má robot za úkol projet startovní brankou, dále pokračovat v jízdě po vyznačené trati a projet cílovou brankou. Startovní a cílová branka je vymezena dvěma tyčkami zelené barvy, které jsou od sebe vzdáleny 500mm. Osa startovní branky určuje směr jízdy. Tratí robot projíždí v tomto směru. Trať je vyznačena brankami, které tvoří vždy pouze jedna tyčka. Barva tyčky udává z které strany má být objížděna. Červené tyčky se objíždějí zleva a při průjezdu zůstávají po pravé straně robota. Modré tyčky se objíždějí zprava a při průjezdu zůstávají po levé straně robota.

Geometrické uspořádání branek je znázorněno na figure 3. Kterékoliv dvě tyčky mezi nimiž má robot projet budou od sebe vzdáleny minimálně h ≥ 450mm. Tyčka vyznačující následující branku je vždy nejbližší k tyčce vyznačující branku právě projížděnou a to v polorovině dané směrem jízdy a kolmicí na něj v místě projížděné branky. Směr jízdy definovaný spojnicí středů po sobě následujících tyček se může v místě tyčky měnit maximálně o ±60°. V případě červené branky je to úhel 0° ≤ α ≤ 60° měřený od směru jízdy vpravo a v případě branky modré je to úhel 0° ≤ β ≤ 60° měřený od směru jízdy vlevo. Úhel mezi směrem jízdy a osou startovní či cílové branky může být maximálně ±30°. První tyčka (branka) bude vzdálena od startovní branky minimálně 500mm.

Robot musí projet vytyčenou trať aniž by se dotkl tyček, které vyznačují branky. Každý dotyk s tyčkou branky bude penalizovaná ztrátou 2 bodů z hodnocení úlohy. Za projetí trati bude považován okamžik, kdy robot protne (jakoukoliv částí) cílovou branku. Robot může po protnutí cílové branky dále pokračovat v jízdě. Pro porovnání jednotlivých řešení změříme čas průjezdu trati, který měříme od okamžiku protnutí startovní branky po okamžik protnutí branky cílové.

Každý robot bude mít 2 pokusy, z nichž bude vybrán ten lepší (dle bodů a času) jako výsledek řešení úlohy. Za splnění úlohy může být maximálně uděleno 70 bodů.

Bodové hodnocení

Náročnosti dané úlohy odpovídá uvedené maximální bodové hodnocení. Každý z týmů může v průběhu semestru řešit jednu či více úloh. Tým získá bodové hodnocení odpovídající bodovému hodnocení úlohy s největší náročností, kterou úspěšně vyřešil. Uvedený maximální počet bodů odpovídá bezchybnému splnění úlohy. Počet udělených bodů může být nižší v závislosti na funkčnosti předvedeného řešení.

Všichni členové týmu obdrží stejné bodové hodnocení (bodové hodnocení týmu). V případě, že některý z členů týmu v rámci tohoto předmětu nepracuje, mohou ostatní členové týmu navrhnout cvičícímu jeho vyřazení z týmu čí snížení jeho bodového hodnocení. To je možné zejména při předvedení řešení úlohy, kdy by měli být všichni členové týmu přítomni. Cvičící tento požadavek posoudí, prodiskutuje ho se všemi členy týmu a o hodnocení dotčeného studenta rozhodne.

courses/b3b33lar/tasks/slalom_cs.txt · Last modified: 2022/02/13 23:55 by krsek