Zadání soutěžní úlohy - Pathfinder

Cíl projektu Pathfinder

Cílem úlohy je sestavit a naprogramovat robot 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) projel co nejrychleji:

 

  1. Dráhu od startu vyznačenou na podložce černou čarou a zároveň z podložky nesjel.
  2. Bludiště, které následuje na konci černé čáry (viz bod 1), aniž by přejížděl překážky.
  3. Dráhu vyznačenou na podložce černou čarou od konce bludiště (viz bod 2) do cíle a zároveň z podložky nesjel

 

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é následující varianty sestav:

 

nebo

  1. 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).
  2. Základní souprava LEGO® MINDSTORMS® Education 45544 EV3, souprava doplňkových dílů 45560 EV3 a síťový adaptér (8887)

 

Konstrukce robota

Ke konstrukci robota lze využít pouze dílů z výše uvedených sestav. Za díly z dané sestavy lze považovat pouze takové díly, které jsou uvedeny na seznamu obsahu příslušné soupravy (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.

Robot by neměl mít větší půdorys než 28cm (délka) x 28cm (šířka). Rozměrové omezení je dáno rozměrem startovního/cílového prostoru a šířkou průjezdu bludištěm. Rozměry je možné překročit, pokud to nezpůsobí porušení jiného pravidla soutěže

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 nebo EV3 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í NXT nebo EV3 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 se bude skládat ze dvou hracích hřišť umístěných vedle sebe (viz obr. 1). První hrací hřiště (bludiště) bude mít rozměry 2560 mm (délka) x 1720 mm (šířka), druhé hrací hřiště (sledování černé čáry) pak bude mít rozměry 1100 mm (délka) x 1720 mm (šířka). Níže uvedený soutěžní plán je pouze ilustrativní. Může dojít jak ke změně polohy startovací a cílové oblasti, ke změně uspořádání dráhy nebo ke změně rozmístění překážek v bludišti.

Obrázek
Obr 1: Příklad uspořádání hracích hřišť pro ROBOSOUTĚŽ 2016 (SŠ a předmět Roboti - FEL ČVUT)

Hrací hřiště (desky) mají šedý laminátový povrch, na druhé z nich bude upevněn bílý papír s vyznačenou černou čarou (dráha). První hrací hřiště je opatřeno 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. Druhé hrací hřiště má pojezdovou plochu ve výšce bočnic prvního hřiště. Z druhého hracího hřiště, na němž bude upevněn bílý papír s vyznačenou černou čarou (dráha) je nutné sjet o 75mm na pojezdovou plochu prvního hřiště, projet bludištěm a na jeho konci vyjet opět na druhé hřiště. Robot musí sjet resp. vyjet o 75mm. Pro tento účel budou instalovány šikmé nájezdy o vodorovné délce 560mm. Černá čára vyznačující dráhu bude vždy před nájezdem vedena minimálně 80 mm rovně v ose nájezdu. V bludišti nebude dráha před nájezdem vyznačena, ale bude bludiště postaveno tak, aby před nájezdem byla dráha v bludišti vedena v ose nájezdu a to v délce minimálně 28cm (jeden modul) jak ukazuje obr. 1.

Celková délka čáry se může pohybovat od 1 do 6 metrů. Čára může mít jakýkoliv tvar a její tloušťka se může měnit v rozmezí 10 až 70 mm. Minimální poloměr zatáčky je 120 mm. Čára se může při dodržení minimálního poloměru zatáčky rozdělit a pokračovat dvěma různými směry. Čáry se nemohou křížit. Vzdálenost mezi čarami (s výjimkou rozdělení) je minimálně 100 mm. Osa černé čáry vyznačující dráhu však není nikde blíže okraji podložky než 180 mm.

Na soutěžním plánu je vyznačen prostor startu a cíle světle žlutou čarou. Startovní a cílový prostor je čtverec o rozměrech minimálně 280 x 280 mm. Startovní a cílovou čáru tvoří hranice tohoto prostoru či prostorů, které si jsou nejblíže (měřeno podél dráhy). Startovní i cílová čára je vyznačena symetricky k ose dráhy v šířce minimálně 280 mm. Čára je v úseku 80 mm před startovní a cílovou čarou vedena rovně (kolmo ke startovní a cílové čáře). Startovní i cílový prostor mohou být totožné.

Soutěžní plocha bludiště (první hrací hřiš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ř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. 2 – pohled ze shora a obr. 3 – pohled zespodu). Překážky budou upraveny tak, aby se při běžném kontaktu s robotem nepohybovaly.

Obrázek

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

Obrázek

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

Pravidla průjezdu dráhy a bludiště

Robota lze do startovní pozice položit ručně a na povel startéra spustit stiskem tlačítka (bez posunutí robota). Dále již musí robot pokračovat sám, bez jakékoliv vnější pomoci (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 diskvalifikován v dané soutěžní jízdě.

Před startem je robot umístěn do prostoru startu (startu a cíle) a nesmí žádnou svou částí přesahovat startovní čáru. V průběhu jízdy nesmí robot podstatným způsobem měnit svojí velikost (půdorys) zejména za účelem rychlejšího protnutí cílové čáry.

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 z řídicí jednotky (NXT nebo EV3 kostka). Přípravný čas je přitom 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).

Robot musí umět sledovat černou čáru zprava či zleva. Pokud robot sleduje černou čáru musí jí v průběhu jedné jízdy sledovat vždy z jedné strany.

Robot se nesmí odchýlit od sledované čáry více jak 100 mm a nesmí si zkrátit cestu. V případě většího odchýlení nebo zkrácení cesty jízda končí. Za výsledek je v takovém případě považováno ujetí dráhy do místa, kdy robot udělal chybu.

Robotu není dovoleno překonávat jakýmkoliv způsobem překážky umístěné uvnitř bludiště. V bludišti můžou být slepé odbočky, vždy však bude existovat právě jedna cesta průjezdu bludištěm. Není dovoleno, aby si robot projel dráhu eventuálně bludiště na nečisto a zapamatoval si např. rozmístění překážek v bludišti, které by využil ve vlastní jízdě. Není také dovoleno zadávat do programu konfigurace bludiště (rozmístění překážek). Robot musí být schopný se orientovat v bludišti samostatně. Volba senzorů a strategie průjezdu závisí pouze na jednotlivých týmech. Při orientaci v bludišti se roboti samozřejmě smějí dotýkat stěn.

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

Při dodržení výše uvedených podmínek může robot projet stanovenou dráhu libovolným způsobem. Maximální čas pro jednu jízdu je stanoven na 120 sekund.

V dané jízdě (souboji) vítězí ten robot, který jako první protne cílovou čáru v časovém limitu. Pokud během časového limitu 120 sekund žádný robot neprotne cílovou čáru, vyhrává ten robot, který urazí delší vzdálenost. Pokud není možné jednoznačně určit vítěze, jízda (souboj) se opakuje.

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

  • Robot není schopen bez pomoci pokračovat.
  • 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 je mu započítána ujetá vzdálenost.

Organizace soutěže

Soutěž 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 obvykle losem nebo 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 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.

Výsledky turnaje nejsou zcela jednoznačné, i když první čtyři místa určena jednoznačně jsou. O další místa se účastníci dělí (viz obr. 4).

Obrázek

Obr. 4 Příklad turnajového pavouka

V průběhu soutěžního kola je zakázáno testovat a upravovat jakýmkoliv způsobem řídicí program robota. Pro 16 nejlepších robotů, kteří postoupí z druhého kola, bude vyhrazen prostor (depo), kde musí být robot po zahájení soutěžního kola umístěn, s výjimkou 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. Od druhého kola soutěže je zakázáno měnit (upravovat) řídicí program v řídicí jednotce (NXT nebo EV3 kostka). Čísla soutěžních kol jsou uvedena na hracím plánu.

Jízda (souboj) a vítězství v ní

V každém kole budou spolu soupeřit vždy dvojice robotů. Dvojice se utká v jedné jízdě (souboji). Vítězem se stává robot, který jako první v časovém limitu dojede do cíle nebo robot, který po skončení časového limitu ujel větší vzdálenost. V případě, že nepůjde jednoznačně rozhodnou o vítězi, jízda (souboj) se bude opakovat. Pokud by ani druhá jízda nerozhodla 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í).

Obrázek

Obr. 5 Příklad uspořádání hracích hřišť V Zengerově posluchárně

Obrázek

Obr. 6 Fotografie příkladu uspořádání hracího hřiště

Obrázek

Obr. 7 Fotografie příkladu uspořádání hracího hřiště

Obrázek

Obr. 8 Fotografie příkladu uspořádání hracího hřiště

Obrázek

Obr. 9 Fotografie příkladu uspořádání hracího hřiště

Obecné ustanovení

V době testování robota na soutěžním plánu před vlastní soutěží není dovoleno provádět jakékoliv explicitní měření rozměrů dráhy.

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

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.

Odkazy

Soutěžící týmy si můžou stáhnout v pdf formátu černou čáru na bílém podkladu pro vytištění a trénink, které budou použity při vlastní soutěži:

Černá čára v pdf formátu
Černá čára v pdf formátu - nájezd

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