České Vysoké Učení Technické v Praze | Fakulta Elektrotechnická | Katedra řídicí techniky EN | CZ

Zadání soutěžní úlohy - Pac-Man

Zadání úlohy - Pac-Man

Cílem úlohy je sestavit a naprogramovat robota tak, aby v časovém limitu samostatně bez jakékoliv další pomoci (ovládání robota pomocí hlasu, bluetooth či jiných komunikačních kanálů) projel co největší část bludiště. V bludišti mohou být pohybující se duchové, kteří omezují volný pohyb Pac-Mana . O vítězství rozhoduje velikost projeté plochy v bludišti, které bude odpovídat počet získaných bodů.

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 sestav. Jsou možné dvě varianty sestav: 1. Základní souprava LEGO® MINDSTORMS® Education (9797), soupravy technických dílů (9648 nebo 9695) – doplňkové pasivní díly, síťového adaptéru (9833 nebo 8887) a jednoosého gyroskopického senzoru (1044 NXT Gyroskop). 2. Základní souprava LEGO® MINDSTORMS® Education 45544 EV3, soupravy doplňkových dílů 45560 EV3 a síťového adaptéru (8887)

Konstrukce robota

Ke konstrukci robota lze využít pouze dílů z výše uvedených stavebnic. Za díly z dané stavebnice lze považovat pouze takové díly, které jsou uvedeny na seznamu obsahu příslušné sady (vyobrazeny na kartách příslušných setů). Použití vázacích pásků a obalů, s nimiž jsou sady dodávány, není přípustné. Díly stavebnice mohou držet pohromadě pouze pomocí standardních spojovacích prvků LEGO.

Robot by neměl mít větší půdorys než 28cm (délka) x 28cm (šířka).

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.

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í NXT kostky (řídicí jednotka LEGO® MINDSTORMS®). Řídicí jednotka při odevzdání musí obsahovat standardní firmware LEGO® MINDSTORMS®. Při programování 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!

Soutěžní plocha

Soutěžní plocha je vodorovná. Celkové rozměry soutěžní plochy (pojezdové plochy bludiště), kterou bude robot projíždět je 2520mm (délka) x 1680mm (šíř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 (bludiště) je pomyslně rozdělena na 9 x 6 (celkem 54 čtverců o velikosti 280mm x 280mm). V každém čtverci může být umístěna překážka nebo je pojezdovou plochou bludiště. Příklad možného uspořádání bludiště je na obr. 1 a fotografie skutečného provedení pak na obr. 2.

Hrací plocha 2014





















Obr 1: Příklad uspořádání soutěžní plochy

Hrací plocha 2014 - foto















Obr. 2: Fotografie skutečného provedení soutěžní plochy

Každý čtverec, který je pojezdovou plochou, je osazen elektronickým modulem kruhového tvaru o průměru 50mm. Modul je zasazen do laminátové desky tak, že nevyčnívá nad pojezdovou plochu. Vlastní elektronický modul je osazen řídicí elektronikou, LED indikací a Hallovými senzory. Hallovy senzory slouží k indikaci průjezdu robota. Průjezd je indikován na základě přítomnosti magnetu nad senzorem. Při průjezdu robota nad elektronickým modulem dojde prostřednictvím magnetu k aktivaci senzorů, zhasnutí LED indikace a robotu je připočten jeden bod.

Každý robot proto musí být vybaven magnetem/magnety. Na robotu bude umístěn technický díl 3703 (viz obr. 3), do kterého budou vlisovány 3 magnety. Technický díl by měl být umístěn na robotu tak, aby byl maximálně ve výšce 10mm nad pojezdovou plochou. Doporučujeme umístit technický díl tak, aby byl symetricky od středu osy robota.

Technický díl 3703


Obr 3: Technický díl 3703

Překážky tvoří čtvercové moduly o rozměrech 280 x 280 mm, které jsou slepeny ze třech ohraněných laminátových desek o tloušťce 25mm, takže celková výška je 75mm (viz obr. 4 – pohled ze shora a obr. 5 – pohled zespodu). Překážky budou upraveny tak, aby se při běžném kontaktu s robotem nepohybovaly

Čtvercový modul










Obr. 4 Čtvercový modul bludiště o rozměrech 280mm x 280mm – pohled zeshora

Čtvercový modul










Obr. 5 Čtvercový modul bludiště o rozměrech 280mm x 280mm – pohled zespodu

Pravidla pro průjezd bludiště

Úkolem robota v každé soutěžní jízdě je projet co největší část bludiště v daném časovém intervalu. První průjezd robota každým čtvercem osazeným elektronickým modulem, na něž je bludiště rozděleno, bude registrován a robotu bude připočten bod. Cílem je nasbírat co největší počet bodů. Bod bude robotu připočten jen v případě, že robot projede daný čtverec a bude aktivován magnetický senzor elektronického modulu. Tato skutečnost bude následně signalizována zhasnutím indikátoru daného čtverce. Jedná se o klasickou úlohu prohledávání bludiště do hloubky

Konfigurace bludiště se může mezi jednotlivými koly soutěže změnit.

Před začátkem každé soutěžní jízdy mají hráči k dispozici přípravný čas pro kalibraci senzorů či výběr programu. Přípravný čas je přitom limitován maximální délkou jedné minuty.

Po přípravě soutěžící umístí svého robota do pozice označené START (viz obr. 1).

Robota soutěžící spustí stisknutím tlačítka (na řídicí jednotce NXT nebo pomocí dotykového senzoru) na pokyn hlavního rozhodčího (vyučujícího) soutěže, který zároveň spustí časomíru. 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ě

Po spuštění časomíry mají roboti 90 sekund na nasbírání co největšího počtu bodů

Robotu není dovoleno překonávat jakýmkoliv způsobem překážky umístěné uvnitř bludiště.

V bludišti může být umístěn jeden nebo i více duchů (robotů), kteří budou robotu ztěžovat pohyb v bludišti. Duch nebo duchové se budou pohybovat po předem dané trajektorii s danou rychlostí a soutěžící robot by měl být schopen ducha detekovat a změnit odpovídajícím způsobem svůj pohyb. V případě, že se duch dotkne soutěžícího robota nebo naopak, je ukončen předčasně sběr bodů, i když ještě neuplynul časový limit a soutěžící robot je odstraněn z hrací plochy a jsou mu přitom započteny nasbírané body.

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

  • Robot není schopen bez pomoci pokračovat.
  • Robot se dotkne jakoukoliv svojí částí ducha, který se pohybuje v bludišti
  • Robot opustí hrací plochu
  • 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.

    Pohyb duchů

    Ve všech předkolech určených pro středoškolské týmy nebude duch použit.

    Obecná ustanovení

    Pokud není uvedeno jinak, vede porušení kteréhokoliv z uvedených pravidel k diskvalifikaci robota v dané jízdě. V zápisu bude uvedeno, že v dané jízdě získal 0 bodů. O dodržení pravidel a diskvalifikaci rozhoduje hlavní rozhodčí (vyučující) 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ě do 60s od jejího skončení. Na protesty podané po tomto časovém limitu nebude brán zřetel.

    Organizace soutěže

    V průběhu soutěžního kola je zakázáno testovat a upravovat program robota s výjimkou přípravného času 1 minuty před jízdou, které se robot účastní. Pro roboty bude vyhrazen prostor (depo), kde musí být robot po zahájení soutěžního kola umístěn, s vyjímkou jízd v nichž se účastní a odpovídajících přípravných časů. V tomto prostoru bude k dispozici rozvod elektrické energie pro dobíjení baterie robota (možnost připojit síťový adaptér). Robot v depu musí mít vypnutou řídicí jednotku.

    1. kolo soutěže

    V prvním kole bude mít každý ze soutěžících týmů postupně 2 pokusy o projetí bludiště s cílem získat co největší počet bodů. Mezi prvním a druhým pokusem může dojít ke změně konfigurace bludiště. Příklad tabulky pro zápis výsledků je na obr. 6

    Skupiny


















    Obr. 6: Příklad tabulky pro zápis výsledků v 1. kole

    Pořadí jízd:

  • 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
  • Stanovení pořadí týmů v prvním kole:

    Na základě součtu bodů získaných v obou jízdách 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 dvou jízd).

    2. Při rovnosti bodů dvou nebo více týmů rozhoduje větší počet bodů získaných v jednotlivé jízdě.

    3. Hod hrací kostkou (hozené vyšší číslo vyhrává, v případě rovnosti se hází opakovaně do rozhodnutí).

    2. kolo soutěže

    Do druhého kola postoupí šestnáct nejlepších týmů, přičemž budou nasazeni do 2. kola (vyřazovacích bojů) podle následujícího klíče: Vítěz prvního kola bude nasazený proti nejhoršímu týmu z prvního kola (16. tým), druhý tým z prvního kola bude nasazený proti patnáctému týmu atd. Nasazení týmů ve 2. kole (vyřazovací systém) je na obr. 7.

    Pavouk 2014


















    Obr. 7: nasazení týmů ve 2. kole (vyřazovací systém).

    Jízda a vítězství v ní

    Ve 2. kole (osmifinále, čtvrtfinále, semifinále, souboj o 3 místo a finále) budou spolu soupeřit vždy dvojice robotů. Dvojice se utká ve dvou po sobě jdoucích jízdách. Vítězem se stává robot, který v součtu z obou jízd získá větší počet bodů. V případě rovnosti bodů rozhodne o vítězi větší počet bodů nasbíraných v jedné z jízd. Pokud by ani toto kritérium nerozhodlo o vítězi, bude následovat hod hrací kostkou (hozené vyšší číslo vyhrává, v případě rovnosti se hází opakovaně do rozhodnutí).

    Odkazy

    Webová stránka, na které je možné stáhnout software NXT-G 2.0 (soubor typu iso image)

    Download "Balíček firmwarů"

    Webová stránka, na které je možné stáhnout software NXC (test release) a Mindstorms NXT Driver v1.02

  • Informace o programovacím jazyku NXT-G
  • Informace o programovacím jazyku NXC
  • Informace o programovacím jazyku LeJOS-NXJ
  • 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

    Video možného řešení připravované letošní úlohy: