Jízda podle směrovek

Robot TurtleBot má za úkol samostatně projet trať vyznačenou směrovými ukazateli (směrovkami). Zadání je rozděleno do tří úloh podle náročnosti řešení:

  1. robot najde nejbližší ukazatel a zastaví před ním
  2. robot projede trať vyznačenou minimálně 3 ukazateli
  3. robot projede trať vyznačenou minimálně 5 ukazateli a při tom se vyhne překážkám
Součástí hodnocení úlohy bude také posouzení kvality programového kódu. Kvalita kódu bude hodnocena v rozsahu 3 bodů, které jsou součástí hodnocení úlohy.

Obecná pravidla

Rozměry ukazatele a startovní pozice Fig. 1: Rozměry ukazatele a startovní pozice

Ukazatele směru a trasa

Trasa, po níž má robot projet, je vyznačena ukazateli směru. Ukazatele směru jsou tvořeny sloupky. Sloupky jsou vyrobeny z papírových tubusů o průměru 50mm a výšce cca 350mm. K dispozici jsou sloupky modré, červené a zelené. Ukazatel směru sestává ze dvou sloupků různé barvy, které jsou od sebe vzdáleny 50mm (nejkratší vzdálenost mezi stěnami sloupků). Uprostřed spojnice středů sloupků je střed ukazatele. Tímto středem prochází osa ukazatele, která je kolmá na spojnici středů sloupků. Geometrie v půdorysu a rozměry ukazatele jsou znázorněny na výkrese figure 1. Ukazatele směru jsou dvou druhů. Druh určuje chování robotu, když k ukazateli dojede. Pokud stojí vlevo sloupek modrý a vpravo červený, robot se otočí vpravo. Pokud je vlevo sloupek červený a vpravo modrý, robot se otáčí doleva. U ukazatele tedy robot vždy zahne ve směru červeného sloupku.

Startovní pozice

Startovní pozice je před prvním ukazatelem ve výseči s vrcholem ve středu ukazatele. Úhel výseče je +/- 45º od osy ukazatele (uhel α). Ve startovní pozici bude střed robotu minimálně ve vzdálenosti a = 500mm od prvního ukazatele (měřeno rovnoběžně s jeho osou) a maximálně ve vzdálenosti b = 3000mm. Robot může být libovolně natočen. První ukazatel směru je vždy nejblíže středu robotu ze všech ukazatelů. Oblast možných startovních pozic je znázorněna na výkresu figure 1 modrým obrysem.

Průběh jízdy

Nejprve operátor (student) spustí program v robotu. Poté vyučující stanoví startovní pozici 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 displeji 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 řídicí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í vyznačenou trasu. Robot nejprve najde první ukazatel směru a dojede před něj. Dle jeho druhu se robot otočí vpravo či vlevo a hledá další ukazatel směru, k němuž dojede. V průběhu jízdy nesmí robot srazit žádný ze sloupků ani se jich 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

Zastavení robotu před ukazatelem Fig. 2: Zastavení robotu před ukazatelem (úloha 1.).

1. Příjezd k prvnímu směrovému ukazateli

Robot bude umístěn na startovní pozici dle obrázku figure 1. Po spuštění má robot za úkol najít nejbližší směrový ukazatel a dojet k němu. Robot musí zastavit před nalezeným směrovým ukazatelem, jak je zobrazeno na figure 2. Vzdálenost robotu od ukazatele musí být maximálně 50±5mm (měřena nejkratší vzdálenost od povrchu robotu ke spojnice bližších stěn sloupků). Střed robotu nesmí být dál než 30mm od osy ukazatele. Robot by měl být natočen tak, aby kamera směřovala na střed ukazatele. Barevnou kombinaci sloupků si volí řešitelé sami z dostupných sloupků (zvolenou kombinaci uvedou ve zprávě).

Na splnění úlohy je stanoven časový limit 3 minuty (po úplné zastavení robotu). Za splnění úlohy může být uděleno maximálně 40 bodů

2. Průjezd tratě bez překážek

Stejně jako při řešení 1. úlohy je robot umístěn na startovní pozici dle figure 1. Po spuštění robot vyhledá první (nejbližší) směrový ukazatel a dojede k němu. Robot musí k ukazateli dojet dle specifikace uvedené v 1. úloze nebo ho minout v obdobné vzdálenosti (diskutováno ve zprávě). Podle typu ukazatele bude vyhledávat robot následující ukazatel vpravo či vlevo od něj. Následující ukazatel musí být v daném směru, a to ve výseči široké ρ = 90°, která začíná od úhlu β = 45° měřeno od osy ukazatele, jak ukazuje figure 3.

Vzdálenost středů po sobě následujících ukazatelů je minimálně 500mm. Následující ukazatel je vždy nejbližším ukazatelem v dané výseči. Osa následujícího ukazatele může se spojnicí jeho středu se středem ukazatele předchozího svírat úhel δ ≤ 45°.

Robot musí dojet alespoň ke třetímu ukazateli. Pokud bude robot schopen dojet dál, bude mu za každý další ukazatel, k němuž dojede, připočten 1 bod navíc. Maximálně však 3 body.

Parametry vyznačené tratě Fig. 3: Parametry vyznačené tratě

Na splnění úlohy je stanoven časový limit 5 minut. Za splnění úlohy může být maximálně uděleno 55 bodů z toho 3 body za dojetí k ukazatelům nad minimální požadovaný počet.

3. Průjezd tratě s překážkami

Jízda po trati probíhá stejně jako v případě úlohy 2 „Průjezd tratě bez překážek“. V prostoru však mohou být umístěny překážky, které tvoří sloupky různých barev. Sloupky tvořící překážky stojí samostatně (minimální vzdálenost středů je 100mm) nebo vedle sebe, ale netvoří nikdy dvojice, které by barevně odpovídaly ukazatelům. Překážky nebudou umístěny před ukazatelem ani ve směru jízdy od ukazatele blíže než 500mm. Překážky nebudou zakrývat následující ukazatel při pohledu z místa, kde stojí robot před ukazatelem (figure 2).

Robot musí dojet alespoň k pátému ukazateli. Pokud bude robot schopen dojet dál, bude mu za každý další ukazatel, k němuž dojede, připočten 1 bod navíc. Maximálně však 3 body.

Na splnění úlohy je stanoven časový limit 6 minut. Za splnění úlohy může být maximálně uděleno 70 bodů z toho 3 body za dojetí k ukazatelům nad minimální požadovaný počet.

Bonusová úloha

Tuto úlohu robot splní, pokud zastaví u ukazatele tvořeného dvěma zelenými sloupky. Tento ukazatel bude umístěn jako poslední na vyznačené trati. Záleží na řešitelích, kolikátý na trati tento ukazatel bude. Za splnění této bonusové úlohy budou uděleny 3 body navíc.

courses/b3b33lar/tasks/signpost_cs.txt · Last modified: 2024/02/22 16:25 by krsek