Zadání soutěžní úlohy "ROBO číšník" - finále.

Cíl projektu "ROBO číšník"

Cílem úlohy je sestavit a naprogramovat robota s rampou a vozíkem tak, aby samostatně bez jakékoliv další pomoci (ovládání robota pomocí hlasu, bluetooth či jiných komunikačních kanálů není dovoleno) převezl co nejrychleji po nerovné dráze vozík umístěný na rampě a na konci zastavil (cílová pozice). V rámci finále ROBOSOUTĚŽE může být požadováno projet dráhu tam a zpět. V cílové pozici robot neskončí, ale bude pokračovat zpět do pozice startovní, kde zastaví. O vítězství rozhoduje počet získaných bodů. Body robot získává průjezdem jednotlivými poli (moduly) hracího hřiště. Vozík při tom nesmí z rampy vyjet ani se dotknout jiné části robota.

Vybavení pro řešení úlohy

Každý tým může použít při řešení soutěžní úlohy pouze díly ze stanovených souprav a vyjmenovaných dílů. Jsou možné následující varianty sestav souprav a dílů (varianty nelze kombinovat):

  • Základní souprava LEGO® MINDSTORMS® Education 45544 EV3, souprava doplňkových dílů 45560 EV3 a síťový adaptér (8887). Tuto sestavu doporučujeme.

 

Seznam technických dílů základní soupravy LEGO® MINDSTORMS® Education 45544 EV3

Seznam technických dílů soupravy doplňkových dílů 45560 EV3

 

nebo

  • Základní souprava LEGO® MINDSTORMS® EV3 Home Edition 31313, souprava doplňkových dílů 45560 EV3 a síťový adaptér (8887). Místo infračerveného senzoru obsaženého v základní soupravě LEGO® MINDSTORMS® EV3 Home Edition 31313 je možné použít 45504 EV3 ultrazvukový senzor.

 

Seznam technických dílů základní soupravy LEGO® MINDSTORMS® EV3 Home Edition 31313

Seznam technických dílů soupravy doplňkových dílů 45560 EV3

 

nebo

  • Základní souprava LEGO® MINDSTORMS® Education (9797), souprava technických dílů (9648 nebo 9695) – doplňkové pasivní díly, síťový adaptéru (9833 nebo 8887) a jednoosý gyroskopický senzor (1044 NXT Gyroskop).

 

Seznam technických dílů základní soupravy LEGO® MINDSTORMS® Education (9797)

Seznam technických dílů soupravy technických dílů 9648 NEBO Seznam technických dílů soupravy technických dílů 9695

Konstrukce robota

Ke konstrukci robota lze využít pouze dílů z výše uvedených sestav (pouze jedné z uvedených variant). Za díly z dané sestavy lze považovat pouze takové díly, které jsou uvedeny v seznamu dílů obsažených v příslušné soupravě (vyobrazeny na kartách příslušných setů), nebo jsou v rámci sestavy jmenovány. Lze použít jen maximálně takový počet jednotlivých dílů, jaký je uveden v přehledu dílů dané sestavy. Použití vázacích pásků a obalů, s nimiž jsou soupravy dodávány, není přípustné. Díly stavebnice mohou držet pohromadě pouze pomocí standardních spojovacích prvků LEGO.

Robot nesmí mít na startovní pozici půdorys větší než 28 x 28cm.

Není povoleno používat kluzný podvozek. Za podvozek či jeho část je považována jakákoliv součást robota, která je při pohybu robota po rovině ve styku s pojezdovou plochou (i dočasně) a přenáší na pojezdovou plochu část váhy robota. Kluzný podvozek je takový, jehož libovolná část se po pojezdové ploše neodvaluje, ale klouže. Za porušení pravidel nebude považováno, pokud není kluzný podvozek součástí návrhu robota a vznikl pouze poškozením konstrukce v dané jízdě (např. nárazem do překážky). Porušením pravidla také není dotyk pevné části konstrukce s pojezdovou plochou, pokud se tak stává pouze nahodile (např. při prudkém zastavení), jen krátce (méně než 1s), nebo v době, kdy se robot po pojezdové ploše nepohybuje (např. stojí a zvedá se).

Za žádných okolností není přípustné vybavit robot zařízením zajišťujícím předčasné dosažení cíle zejména za cenu změny jeho půdorysu, který měl na startu.

Programování robota

V rámci řešených úkolů a soutěže je povoleno využít libovolného programovacího jazyka k naprogramování EV3 nebo NXT kostky (řídicí jednotka LEGO® MINDSTORMS®). Řídicí jednotka při odevzdání (vrácení zapůjčené) musí obsahovat standardní firmware LEGO® MINDSTORMS®. Při programování EV3 nebo NXT kostky a testování robota lze využít k napájení akumulátor, vlastní baterie nebo síťový adaptér. Při vlastní soutěži je možné použít pouze akumulátor nebo baterie!

Pravidla soutěže předpokládají samostatnou práci účastníků (žáků/ studentů). Je dovoleno užívat cizí knihovny a části kódu, které implementují zejména standardní algoritmy. Takové knihovny a části kódu však musí být veřejně dostupné (např. na internetu) a to již před soutěží (alespoň měsíc). Je možné také využít rady třetí strany, ale výsledný program musí být prací členů týmu. Není dovoleno používat programy kolegů (dalších účastníků), pokud se nejedná o případ veřejně dostupného kódu. Členové týmu jsou povinni v případě pochybnosti autorství obhájit tak, že předvedou a vysvětlí funkčnost dotčených částí programu.

Robot nesmí mít v paměti zadán explicitně plán zvlněné dráhy.

UPOZORNĚNÍ: Použití lepidel, šroubů a jiných spojovacích materiálů není povoleno.

Rampa s vozíkem

Součástí konstrukce robota je rampa, na níž bude umístěn převážený vozík. Rampa může být (pravděpodobně musí být) nakláněna. Provedení rampy ze stavebnice LEGO Mindstorms EV3 je zachyceno na obr. 1, provedení ze stavebnice LEGO Mindstorms NXT je na obr. 2. K rampě je možné přidávat další technické díly, které slouží k uchycení rampy a současně neovlivní její funkci (zejména pohyblivost vozíku). Jiné technické díly se přidávat nesmějí (např. závaží na spodní časti rampy).

Rampa s vozíkem bude umístěná podélně ve směru jízdy robota po celou dobu jízdy robota.

Obr. 1 Rampa s vozíkem – provedení ze stavebnice LEGO Mindstorms EV3

Obr. 2 Rampa s vozíkem – provedení ze stavebnice LEGO Mindstorms NXT

Pro stavbu rampy s vozíkem je k dispozici návod na sestavení pro LEGO Mindstorms EV3návod na sestavení pro LEGO Mindstorms NXT. Konstrukci není možné měnit, ale je možné umístit gyroskopický senzor na druhé straně rampy s vozíkem.  U rampy s vozíkem není nutné použít ani gyroskopický senzor ani ultrazvukový senzor, ale v případě jejich použití je nutné je umístit dle návodu pro konstrukci rampy s vozíkem. V případě, že nebude použit ultrazvukový nebo gyroskopický senzor, je možné z rampy odebrat technické díly sloužící k uchycení daného senzoru. V případě nedodržení požadovaných vlastností rampy nebude tým připuštěn do soutěže, či může být i dodatečně diskvalifikován.

Soutěžní plocha

Soutěžní plocha (hřiště) je vodorovná deska. Celkové rozměry soutěžní plochy jsou 2560 mm (délka) x 1720 mm (šířka). Podkladem soutěžní plochy je šedá laminátová deska ohraněná bočními lištami (laminátová deska), které tvoří nad pojezdovou plochou stěny o výšce 75mm. Soutěžní plocha je pomyslně rozdělena na 9 x 6 (celkem 54 čtverců o velikosti 280mm x 280mm – viz obr. 4). V každém čtverci může být umístěn šikmý modul  nebo je pojezdovou plochou. Příklad možného uspořádání zvlněné dráhy je na obr. 4.

Obr. 4 Soutěžní plocha (hřiště)

Obr. 5 Příklad možného uspořádání zvlněné dráhy

V ROBOSOUTĚŽI pro SŠ budou použita dvě hrací hřiště, které budou spojena mosty. Příklad možného uspořádání hracích hřišť úlohy „ROBO číšník“ je na obr. 6 Konfigurace hracího hřiště se může mezi jednotlivými jízdami změnit.

Obr. 6 Příklad možného uspořádání hracích hřišť pro úlohu „ROBO číšník“ a bodování

Soutěžní dráha je přímá, ale má nerovný povrch různé výšky. Povrch klesá a stoupá pod různým úhlem, ale vždy ve směru osy dráhy.  Dráha se skládá z jednotlivých unifikovaných segmentů o půdorysu 28x28cm (délka x šířka).

Startovní i cílové pole budou tvořeny jedním čtvercem o rozměru 28 x 28cm vždy v základní výšce. Toto pole může být barevně zvýrazněno (viz obr. 7). Pro detekci startovního a cílového pole může robot využít boční lištu (laminátová deska). V případě startovního a cílového pole tvoří lišta nad pojezdovou plochou stěny o výšce 75mm i ve směru jízdy. Vedle dráhy u startovního a cílového pole budou umístěny vždy dva čtvercové moduly typu 1 (viz obr. 7).

Obr. 7 Startovní a cílové pole

Soutěžní dráha je sestavena na základní desce z těchto modulů:

  1. Šikmý modul (viz obr. 8)
  2. Čtvercový modul typu 2 (viz obr. 9)
  3. Čtvercový modul typu 1 (viz obr. 10)
  4. Trojnásobný most spojujícím obě dvě hrací hřiště (viz obr. 11)
  5. Čtyřnásobný most spojujícím obě dvě hrací hřiště (viz obr. 12)

 

Jednotlivé moduly mají základní rozměr 280x280mm (+/- 2mm). Základní výška jednoho modulu je 75mm (modul slepen z laminátových ohraněných desek tl. 25mm).

Dráha může být vedena i po pojezdové ploše hracího hřiště.

Obr. 8 Šikmý modul

Obr. 9 Čtvercový modul typu 2 (pohled seshora a pohled zezdola)

Obr. 10 Čtvercový modul typu 1 (pohled seshora a pohled zezdola)

Obr. 11 Trojnásobný obdélníkový modul typ o rozměrech 840mm x 280mm (+-3mm) – pohled seshora a pohled zezdola

Obr. 12 Čtyřnásobný obdélníkový modul typ o rozměrech 1120mm x 280mm (+-3mm) – pohled seshora a pohled zezdola

Na obr. 13 je zjednodušený náčrtek trojnásobného mostu, který může spojovat obě hrací hřiště

Obr. 13 Náčrtek zjednodušené verze mostu, který může spojovat obě hrací hřiště.

Dráha může být sestavena z libovolného počtu segmentů uvedených výše. Při sestavování dráhy budou dodržena tato omezení:

  • Maximální úhel stoupání a klesání je 15 stupňů
  • Maximální změna sklonu mezi dvěma po sobě následujícími segmenty je 30 stupňů (viz např. obr. 14)

Obr. 14 Příklad maximální změny sklonu mezi dvěma po sobě následujícími segmenty

Mezi jednotlivými moduly (mezi šikmými nebo mezi rovným a šikmým modulem) může být výšková diference +/- 2mm (viz např. obr. 15). Soutěžící robot by měl být schopen tuto výškovou diferenci překonat.

Obr. 15 Možná výšková diferenci mezi jednotlivými navazujícími moduly

Na obr. 16 je fotografie možné realizace části zvlněné dráhy

Obr. 16  Fotografie možné realizace části zvlněné dráhy

Průjezd zvlněnou dráhou

Úkolem robota je projet co nejrychleji připravenou dráhu a přitom převézt na rampě předepsaného tvaru umístěný vozík. Na začátku soutěžící umístí robota do startovního pole a spustí ho. Robot musí poté zcela samostatně projet dráhu jedním směrem, až dosáhne cílového pole. V cílovém poli musí robot zastavit. V případě finále ROBOSOUTĚŽE může být požadováno, aby robot na cílovém poli nezastavil, ale pokračoval v jízdě zpět směrem na pole startovní (jízda tam a zpět). Robot v tomto případě zastaví až se vrátí na startovní pole.

Robot se po zahájení soutěžní jízdy musí pohybovat samostatně, ovládání robota pomocí hlasu, bluetooth či jiných komunikačních kanálů není dovoleno. V případě porušení pravidel je tým okamžitě vyloučen ze soutěže.

Po celou dobu jízdy robot veze na rampě vozík. Vozík se smí dotýkat pouze rampy (přidržení není povoleno) a nesmí po celou dobu jízdy vyjet z rampy. Vozík umístí na rampu soutěžící. Vozík se musí po rampě volně pohybovat v podélném směru. Vozík nesmí být nijak upravován, namáčen, zatěžován ani lepen. Pro zajištění stejných podmínek soutěžních týmů budou pro soutěž použity dva vozíky, s nimiž pojedou všichni roboti. Pokud vozík v průběhu jízdy spadně z rampy na dráhu, soutěžící tým nesmí vozík odstranit z dráhy, jinak bude jízda ihned ukončena.

Před začátkem jízdy musí být robot celým svým objemem umístěn ve startovním poli a žádná jeho část nesmí přesahovat hranici tohoto pole. Pro tyto účely se hranicí startovního pole rozumí půdorys startovního pole kolmo promítaný směrem vzhůru. Za dosažení konce dráhy (cílového prostoru) bude považováno, pokud robot celým svým objemem překročí vyznačenou hranu čtvercového modulu a bude svojí větší částí v tomto cílovém poli. Nesmí se však dotýkat horních vodorovných ploch okolních překážek (zejména čtvercového modulu typu 1) a horní vodorovné plochy bočních lišt.

Robot má časový limit 90s na projetí dané dráhy.

Jízda bude ukončena pokud:

1. Robot opustí dráhu

2. Robot se dotkne svojí částí předmětu mimo dráhu (stůl apod.)

3. Robot není bez pomoci schopen pokračovat v jízdě na dráze

4. Při překročení maximálního času pro průjezd dráhou (90s).

5. Soutěžící se dotkne robota (například sám zvedne robota z dráhy).

6. Pokud robot dosáhne cílového pole a zastaví, nebo v případě jízdy tam a zpět dosáhne startovního pole a zastaví.

Pokud je soutěžní jízda ukončena dříve, než robot projede celou dráhu, robot je odstraněn z hrací plochy a bude zaznamenán počet dosažených bodů.

Obr. 17 Příklady nesprávně umístěného vozíku

Bodování přejezdu zvlněné dráhy je uvedeno na obr. 18. Dva body budou robotu připočteny, pokud se bude nacházet svojí větší částí nad modulem v dalsím sloupci a současně vozík nevyjede z rampy nebo nezmění svoji polohu vůči rampě nebo se nedotkne jiné části robota, nebo jiného objektu, který není součástí horní plochy plošinky určené pro převážení vozíku. Robot dosáhne cílového prostoru, pokud bude v cílovém prostoru svojí větší částí. Robot na cílovém poli musí zastavit s výjimkou jízdy tam a zpět, kdy musí zastavit na startovním poli. Pokud robot dosáhne cílového pole a zastaví, získá k 36 bodům za projetí polí navíc bonus 4 bodů, tzn., že za přejezd celé zvlněné dráhy ze startovní do cílové pozice může robot získat maximálně 40 bodů. Pokud v průběhu soutěžní jízdy spadne vozík z rampy, robot může pokračovat v přejezdu zvlněné dráhy do cílového prostoru, ale za každý modul v daném sloupci, kde se bude nacházet svojí větší částí nad modulem, získá pouze jeden bod. Pouze jeden bod získá i v případě, že v daném modulu rampa s vozíkem nebudou v podélném směru dráhy.

Např. pokud by robotu během jízdy spadl vozík z rampy ve sloupci za 8 bodů a následně robot dojel do cílové pozice a zastavil by, získal by 6 bodů za první tři sloupce, 15 bodů za další projeté sloupce a 4 body za zastavení. Celkem by tak získal 25 bodů.

Úloha je koncipována, aby týmy byly ohodnoceny i v případě, že by jim vozík z rampy spadl hned na začátku soutěžní jízdy a mohly pokračovat v jízdě do cílového prostoru.

Obr. 18 Příklad možného uspořádání hracích hřišť pro úlohu „ROBO číšník“ a bodování

Organizace soutěže

1. kolo soutěže

V prvním kole bude mít každý ze soutěžících týmů postupně 3 pokusy na hracím hřišti s cílem získat co největší počet bodů. Mezi těmito pokusy může dojít ke změně konfigurace dráhy.

Pořadí soubojů:

  • Tým č.1 a Tým č.2
  • Tým č.3 a Tým č.4
  • Tým č.5 a Tým č.6
  • Tým č.7 a Tým č.8
  • Tým č.9 a Tým č.10
  • Tým č.11 a Tým č.12
  • Tým č.13 a Tým č.14
  • Tým č.15 a Tým č.16
  • Tým č.17 a Tým č.18
  • Tým č.19 a Tým č.20
  • Tým č.21 a Tým č.22
  • Tým č.23 a Tým č.24
  • Tým č.25 a Tým č.26
  • Tým č.27 a Tým č.28
  • Tým č.29 a Tým č.30
  • Tým č.31 a Tým č.32
  • Tým č.33 a Tým č.34
  • Tým č.35 a Tým č.36
  • atd.

Stanovení pořadí týmů v prvním kole:

 Na základě součtu bodů získaných ve třech soutěžních pokusech daným robotem je určeno pořadí po prvním kole. Stanovovat pořadí se bude takto:

  1. Celkovým počtem bodů (součet tří soutěžních pokusů).
  2. Při rovnosti bodů dvou nebo více týmů rozhoduje větší počet bodů získaných v jednotlivých soutěžních pokusech.
  3. Při rovnosti bodů dvou nebo více týmů rozhoduje větší počet bodů získaných v součtu ze dvou soutěžních pokusů.
  4. Hod hrací kostkou (hozené vyšší číslo vyhrává, v případě rovnosti se hází opakovaně do rozhodnutí).

Do 2. kola soutěže postupuje 16 týmů podle pořadí.

2. kolo soutěže

 2. kolo soutěže bude probíhat ve formě vyřazovacího systému na dvě porážky. Vyřazovací systém na dvě porážky je méně obvyklá modifikace vyřazovacího systému, rozpisu utkání turnajů některých her a sportů (tzv. oboustranný pavouk). Turnajem nepostupují jen vítězové, ale i účastníci, kteří prohráli zatím jen jednou. Graf rozpisu utkání se skládá jak z části pro vítěze jako ve vyřazovacím systému, tak i části pro účastníky, kteří již jednou prohráli.

Páry účastníků do turnaje vstupují podobně jako ve vyřazovacím systému, tedy budou nasazeny tak, aby se dva „papírově“ nejsilnější (týmy s nejlepšími výsledky v 1. kole) mohli sejít jako neporažení až ke konci turnaje. Na začátku jsou všichni ve větvi vítězů. Ti, co vyhrají, postupují do druhého kola. Ti, kteří prohrají, přecházejí na začátek větve poražených.

Vítěz každého kola ve větvi vítězů se v následujícím kole setká s dalším jiným vítězem z této větve. Poražený z tohoto duelu přechází do větve poražených. Vítěz každého kola ve větvi poražených se v následujícím kole setká s některým poraženým z větve vítězů. Pro poražené ve větvi poražených turnaj končí, neboť prohráli již podruhé.

Na konci turnaje se vítěz větve vítězů utká v zápase o celkové vítězství s vítězem větve poražených. Pokud v tomto utkání vyhraje vítěz větve poražených, hraje se ještě jeden zápas mezi těmito dvěma účastníky. Tím je zaručeno, že vítěz turnaje jako jediný neokusí porážku více než jednou.

2. kolo soutěže bude organizováno jako vzájemné utkání dvou robotů v jedné jízdě. Vítězem utkání se stává tým, který získá v této jízdě více bodů. Pokud týmy dosáhnou maximálního počtu bodů (včetně bodů za zastavení v cílovém prostoru), zvítězí tým, který dosáhl tohoto maximálního počtu bodů (cílového prostoru) prokazatelně dříve. Jestliže oba týmy získají maximální počet bodů za stejný čas (nebudeme schopni rozhodnout prokazatelně, který tým byl rychlejší), bude následovat druhá jízda a pokud ani ta nerozhodne o vítězi, bude následovat hod hrací kostkou (vyšší číslo vyhrává, v případě rovnosti se hází opakovaně do rozhodnutí). V případě, že týmy dosáhnou stejného počtu bodů (nikoliv však maximálního počtu bodů), vítězem se stane ten tým, jehož robot doveze dál rampu s vozíkem (délka je dána počtem modulů počítaných od začátku).

Např. pokud by robotu spadl vozík z rampy na sloupci za 10 bodů a následně dojel do cíle a robot zastavil, tým by získal 8 bodů za čtyři moduly, které přejel s vozíkem na rampě, 14 bodů za dojetí do cíle a 4 body za zastavení. Celkem by tak tým získal v soutěžní jízdě 26 bodů. Pokud by druhý robot dovezl vozík na rampě do sloupce za 26 bodů a tam jízdu ukončil, stal by se tento robot vítězem této soutěžní jízdy (souboje).

 Obecná ustanovení

Pokud není uvedeno jinak, vede porušení kteréhokoliv z uvedených pravidel k diskvalifikaci robota v dané jízdě (prohra v dané jízdě). O dodržení pravidel a diskvalifikaci rozhoduje hlavní rozhodčí (Martin Hlinovský nebo jím pověřený zástupce) dohlížející na průběh soutěže. Jeho rozhodnutí je konečné.

Kterýkoliv člen týmu může podat protest proti výsledku v dané jízdě ihned po jejím skončení (maximálně však do 30 s od jejího skončení). Na protesty podané po tomto časovém limitu nebude brán zřetel.

Pokud nebude po zahájení souboje (jízdy) spuštěna časomíra (chyba organizátorů) bude souboj (jízda) okamžitě po tomto zjištění přerušena a bude se opakovat. Souboj (jízda) se nemusí opakovat, pokud by byl zřejmý vítěz i bez spuštěné časomíry.

Organizátor soutěže má právo ověřit autorství programu v robotovi formou dotazů k jeho funkcionalitě. Pokud ani jeden člen týmu nebude schopný odpovědět na otázky týkající se funkce robota, bude tím zpochybněno autorství programu a bude to považováno za porušení pravidel soutěže. Účastníci na požádání musí umožnit organizátorům nahlédnout do kódu programu za účelem ověření, zda odpovídá pravidlům soutěže. V těchto případech porušení pravidel si organizátor vyhrazuje právo takový tým vyloučit ze soutěže, a to kdykoliv v průběhu soutěže až do chvíle vyhlášení celkových výsledků. Vyloučený tým pak bude v další části soutěže nahrazen týmem, který byl naposledy vyřazen vyloučeným týmem.

Žák/ student se může účastnit soutěže pouze jako člen jednoho týmu. Změna týmu, v němž se dotčený soutěže účastní, je možná pouze na základě souhlasu organizátora / hlavního rozhodčího (Martin Hlinovský či pověřený zástupce). Nový žák/student nemůže být zařazen do týmu (nahradit jiného žáka/ studenta), pokud se již tento žák/ student soutěže zúčastnil jako člen jiného týmu (robot tímto týmem připravený se dostavil ke startu v první jízdě).