Zadání soutěžní úlohy - Přesun kostek

Zadání úlohy - Přesun kostek

Cílem úlohy je sestavit a naprogramovat robot tak, aby v časovém limitu 90s samostatně bez jakékoliv další pomoci (ovládání robota pomocí hlasu, bluetooth či jiných komunikačních kanálů není dovoleno) přemístil a případně roztřídil co nejvíc barevných kostek rozmístěných na soutěžní ploše do předem definovaných úložišť (skladišť). Soutěž bude organizována jako vzájemný zápas dvou robotů na symetricky rozděleném hracím plánu (viz obr. 1). O vítězství rozhoduje počet získaných bodů.

Obrázek

Obr. 1 Uspořádání hracího hřiště

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 díly explicitně uvedené. Jsou možné následující varianty souprav a dílů:

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

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).

 

Je možné použít právě jedné výše uvedené sestavy buď NXT nebo EV3. Není dovoleno kombinovat technické součásti vzájemně z výše uvedených sestav NXT a EV3.

Konstrukce robota

Ke konstrukci robota lze využít pouze dílů z výše uvedených sestav. Za díly ze soupravy 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ů). 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.

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

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í) a jen krátce (méně než 1s).

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 vysvětlí funkčnost dotčených částí programu.

Soutěžní plocha a skladiště

Soutěžní plocha (hřiště) je vodorovná deska. Celkové rozměry soutěžní plochy (pojezdové plochy) jsou 2560 mm (délka) x 1720 mm (šířka). Soutěžní plocha (deska) má šedý laminátový povrch, na části desky bude upevněn bílý papír s vyznačenými černými čarami, které slouží pro usnadnění navigace robotů (viz obr. 2). Soutěžní plocha je opatřena boční lištou (stěnou) z dřevotřísky s šedým laminátovým povrchem, která nad pojezdovou plochou tvoří stěny o výšce 75 mm.

Soutěžní plocha je rozdělen dvěma černými čárami uprostřed přes celou šířku soutěžní plochy.

Na ploše jsou symetricky vyznačeny černé čáru určené pro navigaci robotů. Tloušťka černé čáry je konstantní v rozmezí 18-25 mm.

Na obou polovinách soutěžní plochy jsou vyznačena žlutými čtverci (viz obr. 2) celkem 3 úložiště (skladiště). Na krajních pozicích budou na tyto žluté čtverce představující skladiště položeny rámečky se dnem vyrobené z bílé laminátové desky (viz obr. 3 a obr. 4). Jedná se o dva různě vysoké rámečky s půdorysem 280mm x 280mm. Nízké skladiště má výšku stěny 50mm (viz obr. 5) a vysoké skladiště 100mm (viz obr. 6). Rozmístění rámečků bude neměnné a bude odpovídat obr. 3. Na obr. 7 je vidět porovnání nízkého a vysokého skladiště.

Obrázek

 

Obr. 2  Soutěžní plán

Obrázek

Obr. 3 Umístění rámečků představujících úložiště (skladiště) na hracím hřišti

Obrázek

Obr. 4 Umístění rámečků představujících úložiště (skladiště) na hracím hřišti

Obrázek

Obr. 5 Nízký rámeček 50mm

Obrázek

Obr. 6 Vysoký rámeček 100mm

Obrázek

Obr. 7 Porovnání nízkého a vysokého rámečku

Na hřišti bude dále umístěno 24 barevných kostek o rozměrech 47 x 47 x 50mm. Každý soutěžní tým bude mít na své polovině hřiště k dispozici 12 barevných kostek (4 x žlutá, 4 x modrá a 4 x červená). Kostky dané barvy budou umístěny vždy na stejném místě. Rozmístění je vidět na obr. 8 a obr. 9 a je neměnné. Od středu hřiště budou vždy 4 červené, dále 4 žluté a 4 modré kostky. Jednotlivé kostky budou položeny na střed příslušné černé čáry v místech vyznačených žlutými čárkami kolmo k černým čarám (viz obr. 2). Jednotlivé kostky budou od sebe vzdáleny na černé čáře 100 mm (měřeno od středu ke středu kostky). Jednotlivé černé čáry jsou od sebe vzdáleny 200 mm (měřeno od středu ke středu černé čáry). Černé čáry vedoucím ke žlutým čtvercům reprezentující úložiště (skladiště) vedou doprostřed až k vlastním žlutým čtvercům.

Obrázek

Obr. 8 Rozmístění barevných kostek na hracím hřišti

Obrázek

Obr. 9 Rozmístění barevných kostek na hracím hřišti

Všechny kostky budou stejně velké (viz obr. 10 a obr. 11) a složené z LEGO kostek, které je možné zakoupit například na:

https://www.magnetickysvet.cz/q-bricks-unicolor---modre-kostky-300-ks_24

https://www.magnetickysvet.cz/q-bricks-unicolor---cervene-kostky-300-ks_25

https://www.magnetickysvet.cz/q-bricks-unicolor---zlute-kostky-300-ks_22

Obrázek

Obr. 10 Stavba kostky

Obrázek

Obr. 11 Stavba kostky

Pravidla pro souboje robotů

Před zahájením jízdy lze položit na hřiště robota na libovolné místo tak, aby se jeho podvozek dotýkal černé čáry (případně půdorys robota zasahoval do černé čáry). Na povel startéra spustí účastník (operátor) robota stiskem tlačítka aniž by s ním pohnul robota. Spuštění je možné provést tlačítkem na řídicí jednotce NXT nebo EV3 kostky, nebo pomocí dotykového senzoru. 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ě diskvalifikován v dané soutěžní jízdě.

Zároveň se spuštěním robotů je spuštěna časomíra. Robot má po startu 90 sekund na získání co největšího počtu bodů.

Před začátkem každé soutěžní jízdy mají hráči na požádání k dispozici přípravný čas pro kalibraci senzorů či výběr programu z řídicí jednotky (NXT nebo EV3 kostka). Přípravný čas je limitován maximální délkou jedné minuty. Během tohoto času není dovoleno nahrávat řídicí programy do řídicí jednotky (NXT nebo EV3 kostky).

Úkolem robota je přesunout v daném časovém limitu co nejvíce barevných kostek do jednotlivých úložišť (skladišť). Není dovoleno kostkami házet, je však možné je zvednout např. pomocí ramene a pustit jí na hrací plochu z výšky maximálně 100mm. Robot se může pohybovat libovolně po hřišti a je mu dovoleno se dotknout rámečků tvořících skladiště i okraje hřiště. Robot se smí pohybovat pouze na své polovině hřiště. Robot nesmí přejet dvojitou černou čáru uprostřed hřiště.

Za každou barevnou kostku umístěnou v úložišti (skladišti) vyznačeným žlutým čtvercem získává robot jeden bod. Bod robot získá i v případě, že kostka není celým svým objemem uvnitř vyznačeného žlutého čtverce. Stačí tedy, aby se kostka jakýmkoliv způsobem dotýkala vnější strany nakresleného žlutého čtverce vyznačujícího úložiště (skladiště). Pokud by tedy např. robot přesunul všech 12 barevných kostek do úložiště (skladiště) vyznačeného žlutým čtvercem, získal by celkem 12 bodů.

Za každou barevnou kostku umístěnou v úložišti (skladišti) vyznačeným rámečkem o výšce 50 mm získává robot dva body. Za každou barevnou kostku umístěnou v úložišti (skladišti) vyznačeným rámečkem o výšce 100 mm získává robot tři body. Body robot získá i v případě, že kostka není celým svým objemem uvnitř rámečku, ale nesmí se dotýkat pojezdové plochy hřiště. Pokud by tedy např. robot přesunul všech 12 barevných kostek do skladiště vyznačeného rámečkem o výšce 50 mm, získal by celkem 24 bodů. Pokud přesune všechny kostky do skladiště o výšce 100mm, získá celkem 36 bodů.

Pokud budou v některém z úložišť (skladišť) kostky pouze jedné barvy, počet bodů se zdvojnásobí. Například pokud budou ve  skladišti vyznačené žlutým čtvercem 4 červené kostky, robot by získal 4 x 1 x 2 = 8 bodů. Pokud budou v úložišti (skladišti) vyznačeným rámečkem o výšce 50 mm 4 modré kostky, robot získá  4 x 2 x 2 = 16 bodů a tak dále. Pokud robot roztřídí všechny kostky dle barev, může získat až 8 + 16 +24 = 48 bodů.

Na obrázcích 12 až 17 jsou příklady přemístěných kostek a bodové ohodnocení.

Obrázek

Obr. 12 Příklad č.1 – 7 kostek v úložišti (skladišti) vyznačeném žlutým čtvercem (ohodnocení 1) = 7 x 1 = celkem 7 dosažených bodů

Obrázek

Obr. 13 Příklad č.2 – 9 kostek v úložišti (skladišti) vyznačeným rámečkem o výšce 50 mm (ohodnocení 2) = 9 x 2 = celkem 18 dosažených bodů

Obrázek

Obr. 14 Příklad č.3 – 8 kostek v úložišti (skladišti) vyznačeným rámečkem o výšce 100 mm (ohodnocení 3) = 8 x 3 = celkem 24 dosažených bodů

Obrázek

Obr. 15 Příklad č.4 – počítáno zleva 4 (červené kostky) x 2 (ohodnocení) x 2 (stejná barva) +  4 (žluté kostky) x 1 (ohodnocení) x 2 (stejná barva) + 4 (modré kostky) x 3 (ohodnocení) x 2 (stejná barva) = 16 + 8 + 24 = 48 bodů (maximum dosažených bodů)

Obrázek

Obr. 16 Příklad č.5 – počítáno zleva 3 (počet kostek různých barev) x 2 (ohodnocení) +  4 (počet kostek různých barev) x 1 (ohodnocení) + 3 (modré kostky) x 3 (ohodnocení) x 2 (stejná barva) = 6 + 4 + 18 = 28 bodů

Obrázek

Obr. 17 Příklad č.6 – počítáno zleva 1 (žlutá kostka) x 2 (ohodnocení) x 2 (stejná barva) +  2 (červené kostky) x 1 (ohodnocení) x 2 (stejná barva) + 3 (modré kostky) x 3 (ohodnocení) x 2 (stejná barva) = 4 + 4 + 18 = 26 bodů

Soutěžní jízda bude ukončena dříve pokud:

  • Robot sebere roztřídí a umístí všechny kostky
  • Robot není schopen bez pomoci pokračovat
  • Robot opustí hrací plochu nebo přejede dvojitou černou čáru uprostřed hřiště
  • Soutěžící se dotkne robota nebo ho odstraní z hrací plochy
  • Poruší některé z pravidel uvedených výše

Pokud je soutěžní jízda ukončena dříve, než uplyne časový limit, robot je odstraněn z hrací plochy a jsou mu přitom započteny doposud získané body.

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 (absolvuje tři souboje) na hracím hřišti s cílem získat co největší počet bodů. Soutěž bude probíhat paralelně na dvou hracích hřištích.

Pořadí soubojů:

  • Tým č.1 a Tým č.2 (podle přihlášení na prvním hracím hřišti), Tým č.3 a Tým č.4 (podle přihlášení na druhém hracím hřišti)
  • Tým č.5 a Tým č.6 (podle přihlášení na prvním hracím hřišti), Tým č.7 a Tým č.8 (podle přihlášení na druhém hracím hřišti)
  • Tým č.9 a Tým č.10 (podle přihlášení na prvním hracím hřišti), Tým č.11 a Tým č.12 (podle přihlášení na druhém hracím hřišti)
  • Tým č.13 a Tým č.14 (podle přihlášení na prvním hracím hřišti), Tým č.15 a Tým č.16 (podle přihlášení na druhém hracím hřišti)
  • Tým č.17 a Tým č.18 (podle přihlášení na prvním hracím hřišti), Tým č.19 a Tým č.20 (podle přihlášení na druhém hracím hřišti)
  • Tým č.21 a Tým č.22 (podle přihlášení na prvním hracím hřišti), Tým č.23 a Tým č.24 (podle přihlášení na druhém hracím hřišti)
  • Tým č.25 a Tým č.26 (podle přihlášení na prvním hracím hřišti), Tým č.27 a Tým č.28 (podle přihlášení na druhém hracím hřišti)
  • Tým č.29 a Tým č.30 (podle přihlášení na prvním hracím hřišti), Tým č.31 a Tým č.32 (podle přihlášení na druhém hracím hřišti)
  • atd.

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

Pořadí po prvním kole bude určeno na základě součtu bodů získaných daným robotem ve třech pokusech (soubojích). Stanovovat pořadí se bude takto:

  1. Vyšší celkový počet bodů (součet tří pokusů).
  2. Při rovnosti bodů dvou nebo více týmů rozhoduje větší počet bodů získaných v jednotlivých pokusech (soubojích).
  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 nejlepších pokusů (soubojů).
  4. Pokud pořadí nelze určit na základě předchozích pravidel, následuje hod hrací kostkou (hozené vyšší číslo vyhrává, v případě rovnosti se hází opakovaně do rozhodnutí).

2. kolo soutěže

Do 2. kola soutěže mohou postoupit týmy, které v 1. kole soutěže získaly v součtu alespoň 12 bodů. Nejvýše však postupuje 24 týmů podle pořadí. Pokud bude postupujících týmů méně než 17, postupují všechny týmy přímo do 3. kola soutěže. V opačném případě postupuje nejlepších 8 týmů podle pořadí v 1. kole soutěže přímo do 3. kola soutěže a týmy na 9. až 24. místě se utkají o postup do 3. kola soutěže. 2. kolo soutěže bude organizováno jako jeden vzájemný souboj, z něhož vždy vítěz postoupí do 3. kola soutěže. Vítězem utkání se stává tým, který získá v souboji více bodů. Jestliže oba týmy získají maximální počet bodů, zvítězí robot, který získal maximální počet bodů prokazatelně rychleji. Pokud nebude možné o vítězi rozhodnout, bude následovat druhý souboj a pokud ani ten 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í).

Ve 2. kole soutěže se utkají týmy umístěné v pořadí po 1. kole následovně:

9. tým - 24. tým (vítěz bude nasazen ve 3. kole soutěže jako 9. tým pořadí)

10. tým - 23. tým (vítěz bude nasazen ve 3. kole soutěže jako 10. tým pořadí)

11. tým - 22. tým (vítěz bude nasazen ve 3. kole soutěže jako 11. tým pořadí)

12. tým - 21. tým (vítěz bude nasazen ve 3. kole soutěže jako 12. tým pořadí)

13. tým - 20. tým (vítěz bude nasazen ve 3. kole soutěže jako 13. tým pořadí)

14. tým - 19. tým (vítěz bude nasazen ve 3. kole soutěže jako 14. tým pořadí)

15. tým - 18. tým (vítěz bude nasazen ve 3. kole soutěže jako 15. tým pořadí)

16. tým - 17. tým (vítěz bude nasazen ve 3. kole soutěže jako 16. tým pořadí)

 3. kolo soutěže

Od 3. kola soutěže je zakázáno upravovat konstrukci tobota a upravovat řídicí program robota.

3. 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 s pomocí nasazování tak, aby se dva „papírově“ nejsilnější 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 dalšího souboje ve větvi vítězů. 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.

3. kolo soutěže bude organizováno jako jedno vzájemné utkání dvou robotů. Vítězem utkání se stává tým, který získá více bodů. Pokud týmy dosáhnou maximálního počtu bodů, zvítězí tým, který dosáhl tohoto maximálního počtu bodů 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ý souboj a pokud ani ten 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í).

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 60s od jejího skončení). Na protesty podané po tomto časovém limitu nebude brán zřetel.

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ý čí pověřený zástupce). Změna týmu není možná, pokud se již žá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ě).

Odkazy

Soutěžící týmy si můžou stáhnout v pdf formátu černou čáru s úložišti (skladišti) na bílém podkladu pro vytištění a trénink, která bude použita při vlastní soutěži:

Černá čára v pdf formátu

 

Webová stránka, na které je možné stáhnout LEGO® MINDSTORMS® Education EV3 Software

Základní informace o LEGO Mindstorms: pdf

Metodika práce s NXT-G: pdf,ppt
Základní návod na programování pomocí NXT-G: pdf,ppt
Referenčná príručka 1 ku grafickému jazyku NXT-G
Referenčná príručka 2 ku grafickému jazyku NXT-G

Základní prezentace - Programování LEGO robotů pomocí NXC
Základní návod na programování pomocí NXC: pdf,ppt
NXT tutorial sk
Programovacia príručka k stavebnici LEGO NXT Mindstorm

Základní prezentace - Srovnání LEGO Mindstorms NXT vs. EV3
Základní prezentace - regulátory: pdf,ppt

Základní prezentace - Robotický seminář pro střední školy