Zadání soutěžní úlohy "Ping-pong"

Zadání úlohy - Ping-pong

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 pingpongových míčků 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ázek

Obr. 1 Ilustrační obrázek a fotografie soutěžní plochy rozdělené na dvě samostatná hrací 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 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 (strana 66 - 69)

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

 

nebo

  • Základní souprava LEGO® Education 45678 SPIKE™ Prime Set a LEGO® Education 45681 SPIKE™ Prime Expansion Set
  •  

Seznam technických dílů základní soupravy LEGO® Education 45678 SPIKE™ Prime Set

Seznam technických dílů LEGO® Education 45681 SPIKE™ Prime Expansion Set

 

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.

Velikost robota není omezena.

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

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

 

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 kostky, NXT kostky (řídicí jednotka LEGO® MINDSTORMS®) nebo programovatelného Hubu (LEGO® Education SPIKE™ Prime). Řídicí jednotka při odevzdání (vrácení zapůjčené) musí obsahovat standardní firmware LEGO® MINDSTORMS®. Při programování EV3 kostky 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.

 

Soutěžní plocha

Soutěžní plocha (hřiště) je vodorovná deska. Celkové rozměry soutěžní plochy (hřiště) jsou 1680 mm x 1249 mm. 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 4 x 6 (celkem 24 čtverců o velikosti 280mm x 280mm – viz obr. 1 a fotografie viz obr. 2). Na větší části laminátové desky bude upevněn bílý papír s čarami vyznačující hřiště a vyznačenými místy pro umístění pingpongových míčků.
Na hřišti jsou nakresleny černé čáry pro navigaci robotů. Tyto čáry mají konstantní tloušťku, která se dle tisku může pohybovat v rozmezí 18-25 mm.

Obrázek

Obr. 2 Fotografie jednoho hracího hřiště "Ping-pong"

V ROBOSOUTĚŽI bude použita jedna soutěžní plocha, která bude rozdělena na dvě samostatná hrací hřiště, která budou oddělena laminátovou deskou představující síťku na stolní tenis o rozměrech 1680mm (délka) x 155mm (výška) x 22mm (šířka) - viz obr. 3. Laminátová deska představující síťku na stolní tenis bude pevně připevněna k hracímu hřišti.

Obrázek

Obr. 3 Laminátová deska představující síťku na stolní tenis o rozměrech 1680mm (délka) x 155mm (výška) x 22mm (šířka)

Na hřišti bude umístěno 20 pingpongových míčků (viz obr. 5) o průměru 40mm. Pingpongové míčky budou umístěny vždy na stejném místě a symetricky vůči ose hřiště. Rozmístění je vidět na ilustračním obr. 1 a na fotografii viz obr. 2.

Šest žlutých a šest zelených pingpongových míčků v řadě bude od sebe ve vzdálenosti 280mm ± 10mm (měřeno od středu ke středu míčku). Dva krajní žluté i zelené míčky míčky budou umístěny ve vzdálenosti 140mm ± 10mm (měřeno opět od středu míčku) od bočních hran hřiště a všechny žluté míčky budou umístěny ve vzdálenosti 269mm ± 10mm (měřeno opět od středu míčku) od laminátové desky představující síťku na stolní tenis. Šest zelených pingpongových míčků bude umístěno v řadě ve vzdálenosti 140mm ± 10mm (měřeno od středu ke středu míčku) od řady šesti žlutých pingpongových míčků.

Čtyři červené pingpongové míčky v řadě a dva červené a dva modré pingpongové míčky v řadě budu od sebe umístěny ve vzdálenosti 280mm ± 10mm (měřeno od středu ke středu míčku). Čtyři krajní červené pingpongové míčky v řadách budou umístěny ve vzdálenosti 140mm ± 10mm (měřeno opět od středu míčku) od bočních hran hřiště. Čtyři červené pingpongové míčky budou umístěny v řadě ve vzdálenosti 140mm ± 10mm (měřeno od středu ke středu míčku) od řady složené ze dvou červených a dvou modrých pingpongových míčků. Řada složená ze dvou červených a dvou modrých pingpongových míčků bude umístěna ve vzdálenosti 280mm ± 10mm (měřeno od středu ke středu míčku) od řady zelených pingpongových míčků. Vše je přehledně na obr. 4.

Obrázek

Obr. 4 Náčrtek soutěžní plochy s kótami

Každý míček bude umístěn na podložce o tloušťce 1,2mm s vnitřním průměrem 8,8mm a vnějším průměrem 20mm (viz obr. 5), která zajišťuje jeho stabilitu. Podložky je možné si vytisknout na 3D tiskárně (viz obr. 5). Zde je možné si stáhnout data pro 3D tiskárnu. 3D tisk je možný bez podpor.

Obrázek

 

Obrázek

Obr. 5 Model podložky - 3D tisk

Obrázek

Obr. 6 Pingpongové míčky (průměr 40mm, váha 2,4g)

Originální pingpongové míčky (viz obr. 6) lze zakoupit na AMAZONU. Pro vlastní přípravu na ROBOSOUTĚŽ je možné využít běžné pingpongové míčky, které lze zakoupit v ČR (např. na Decathlon nebo na alza nebo na SPORTISIMO)

Ke stažení je k dispozici nákres hracího hřiště v pdf formátu.

Na obou polovinách soutěžní plochy jsou vyznačena žlutými čtverci nebo žlutými obdélníky (viz obr. 1) 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. 7 a obr. 8). Jedná se o dva různě vysoké rámečky s půdorysem 280mm x 280mm (tloušťka laminátové desky je 18mm). Nízké skladiště má výšku stěny 50mm (viz obr. 7) a vysoké skladiště 100mm (viz obr. 8). Rozmístění rámečků bude neměnné a bude odpovídat obr. 1. Na obr. 9 je vidět porovnání nízkého a vysokého rámečku. Skladiště s půdorysem 280mm x 280mm budou na soutěžní ploše položeny (jsou dostatečně těžké). Třetí skladiště vyznačené žlutým obdélníkem (viz obr. 10) bude vyrobené z bukového dřeva a nalakované o rozměrech viz obr. 11. Třetí skladiště bude připevněno k hracímu hřišti pomocí oboustranné lepící pásky nebo jiným obdobným způsobem.

Obrázek

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

Obrázek

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

Obrázek

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

Obrázek

Obr. 10 Obdélníkový rámeček - fotografie

Obrázek

Obr. 11 Obdélníkový rámeček - náčrtek s rozměry

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 na řídicí jednotce NXT kostky nebo EV3 kostky nebo na programovatelném Hubu (Spike Prime), nebo pomocí např. dotykového senzoru. Není dovoleno pouštět program z notebooku, tabletu, mobilního telefonu nebo jiného obdobného zařízení. Jiné než uvedené způsoby spuštění programu, konzultujte předem s organizátorem soutěže . 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 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, EV3 kostka nebo programovatelný Hub). 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, EV3 kostka nebo programovatelný Hub).

Vzhledem k tomu, že ve 2. kole soutěže (vyřazovací pavouk) budou k dispozici dvě hrací hřiště a vždy na jednom bude probíhat souboj dvou robotů a na druhém se mezitím budou připravovat další dva týmy (mají na to 90s) bude možné v tomto případě požádat pouze o přípravný čas v délce 20s na kalibraci senzorů či výběr programu z řídicí jednotky (NXT, EV3 kostka nebo programovatelný Hub). V případě, že robot nebude po přípravném čase v délce 20s připraven k jízdě, bude v dané jízdě diskvalifikován.

Úkolem robota je sebrat co nejvíc pingpongových míčků a umístit je jakýmkoliv způsobem do jedenotlivých skladišť.

Jízda bude ukončena pokud:

1. Robot opustí hrací hřiště

2. Robot se dotkne svojí částí předmětu mimo hřiště (stůl apod.)

3. Robot není bez pomoci schopen pokračovat v jízdě

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 hracího hřiště).

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

Maximálně může tým získat v jednom souboji 75 bodů.

Úkolem robota je přesunout v daném časovém limitu co nejvíce barevných pingpongových míčků do jednotlivých úložišť (skladišť). 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 bočních stěn hřiště z vnitřní a horní strany. Robot se smí pohybovat pouze na svém hřiště. Robot nesmí jakoukoliv svojí částí zasáhnout do prostoru hřiště sousedního.

Za každý pingpongový míček umístěný v úložišti (skladišti) vyznačeným žlutým obdélníkem (viz obr. 9) získává robot jeden bod.

Za každý pingpongový míček umístěný 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ždý pingpongový míček umístěný v úložišti (skladišti) vyznačeným rámečkem o výšce 100 mm získává robot tři body.

Pokud budou v některém z úložišť (skladišť) pingpongové míčky pouze jedné barvy, počet bodů se zdvojnásobí. Například pokud budou ve  skladišti vyznačené žlutým obdélníkem 6 červených pingpongových míčků, robot by získal 6 x 1 x 2 = 12 bodů. Pokud bude v úložišti (skladišti) vyznačeným rámečkem o výšce 50 mm 6 zelených pingpongových míčků, robot získá  6 x 2 x 2 = 24 bodů a tak dále. Pokud robot roztřídí všechny pingpongové míčky dle barev, může získat až 12 + 24 +36 = 72 bodů.

Jedinou výjimku tvoří 2 pingpongové míčky modré barvy (na každém hracím hřišti), které pokud budou umístěné na hrací ploše znamenají -1 bod za každý míček. Pokud by se modrý pingpongový míček nacházel v úložišti (skladišti) vyznačeným rámečkem o výšce 50 mm znamenalo by to -2 body za každý modrý pingpongový míček. Pokud by se modrý pingpongový míček nacházel v úložišti (skladišti) vyznačeným rámečkem o výšce 100 mm znamenalo by to -3 body za každý modrý pingpongový míček. Cílem je tedy pokusit odstranit modré pingpongové míčky z hracího hřiště (stačí pokud je bude mít robot v zásobníku a nebudou se dotýkat hracího hřiště). Je možné tyto modré pingpongové míčky přesunout do prostoru druhého soutěžícího robota a tím mu přinést záporné body za tyto modré pingpongové míčky.

Pokud by např. robot přemístil všech 20 pingpongových míčků do úložišti (skladišti) vyznačeným rámečkem o výšce 100 mm získal by 18 x 3 body (za 6 zelených, 6 červených a 6 žlutých pingpongových míčků) a 2 x -3 body za dva modré pingpongové míčky. Celkem by tedy získal 54 - 6 = 48 bodů.

Pokud soutěžící robot v časovém limitu 90s ukončí svojí jízdu (zastaví se a nebude se hýbat) a zvukově (akustický signál) informuje o této skutečnosti, získá navíc 3 body. Akustický signál musí zaznít až po zastavení robota, musí trvat minimálně 5s a musí být dostatečně hlasitý. Po vydání akustického signálu o ukončení jízdy se robot již nesmí pohnout.

V daném souboji vítězí ten robot, který získá větší počet bodů. V případě rovnosti bodů zvítězí ten tým, který dosáhl daného počtu bodů rychleji. Za čas, kdy robot dosáhl daného počtu bodů považujeme okamžik ukončení jízdy. 

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 (nepůjde o souboje) s cílem získat co největší počet bodů.

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
  •  

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 postupujÍ všechny týmy.

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) mohly 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 stejného počtu bodů, zvítězí tým, který dosáhl tohoto počtu bodů prokazatelně dříve. Jestliže oba týmy získají stejný 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í).

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