Czech English

Kybernoid 2022

robotická únikovka

Cílem letošní soutěže Kybernoid22 je sestavit a naprogramovat robota tak, aby v časovém limitu samostatně bez jakékoliv další pomoci našel cestu z bludiště postaveného z kartonových krabic. Robot by neměl do překážek narážet, kontakt je časově penalizován. O vítězství rozhoduje výsledný čas pro dosažení cíle se započítáním případných penalizací.


Pravidla

Pravidla pro první ročník této soutěže byla poněkud strohá. Úkolem robota je dostat se během časového limitu 25 minut z bludiště, které je vytvořené z lepenkových krabic. Jediným zásadním údajem je minimální šířka uliček 80 až 100 cm.

Náš robot

Robota pro soutěž stavěli Klára Tománková (konstrukce a mechanika) a Tomáš Červený (software). Slušivý design mu dodal Kamil Hylák. Vzhledem k ne úplně jasnému zadání byla prosazena cesta maximální jednoduchosti hardwaru i softwaru.
Robot má diferenciální podvozek. Základem je deska vyříznutá z překližky, původně o šířce 40 cm, ale po vyzkoušení v uličce šířky 80 cm zmenšena na 30 cm a upravena do tvaru kruhu pro jednodušší otáčení v rozích.
Pohon zajišťují dva stejnosměrné elektromotory s převodovkou 50:1 s modelářskými koly s mechovkou o průměru 70 mm. Třetí opěrný bod původně zajišťovalo pevné ostruhové kolo. Ale po zveřejnění fotek podlahy (beton s dělícími drážkami) bylo nahrazeno otočným ostruhovým kolem.
Mozkem robota je arduino Uno, které ovládá motory přes dvojitý H-můstek. Pro detekci stěny jsou použity čtyři sonary. Nejdůležitější informace jsou zobrazovány na LCD displeji. Napájení zajišťují tři články LiON 18650.
Protože nebylo jasné, jak může soutěžní hřiště vypadat, zvolili jsme nejjednodušší algoritmus pro procházení bludištěm, tj. sledování stěny. Ten je sice jednoduchý a spolehlivý, ale není funkční v bludišti se smyčkami (ostrůvky). Nakonec bylo implementováno jednoduché rozšíření. Pokud je robot v bludišti déle než by trvalo jeho opuštění, pokud by v bludišti smyčka nebyla, robot se otočí o 180° a tím vymění stěnu a pokračuje dále. To by za "dobrých" podmínek mohlo vyřešit problém smyčky v bludišti. Díky tomuto řešení se využily jen 2 sonary, levý boční pro měření vzdálenosti od stěny a levý přední pro detekci zdi před robotem.

Naše účast

Samotná soutěž probíhala v jedné z výstavních hal v Letňanech. Do soutěže bylo přihlášeno 16 středoškolských týmů. Nakonec se dostavilo 7 týmů, avšak jednomu se robota nepovedlo oživit a tak do vlastní soutěže nastoupilo pouze 6 robotů.
Původně bylo avizováno, že budou dvě stejná hřiště o rozměrech 8 x 8 metrů, na kterých pojedou vždy dva roboty paralelně, aby soutěž probíhala rychleji. Nakonec díky malému počtu soutěžících bylo rozhodnuto, že hřiště bude pouze jedno, ale větší cca 15 x 10 m. Před stavbou vlastního bludiště museli týmy předat roboty do "depa" a nesměli už na nich provádět žádné změny. Pořadí startu robotů bylo nalosováno, startujeme jako pátí (předposlední).
Postavené bludiště je průjezdné sledováním stěny. Ale díky tomu, že má bludiště dvojnásobnou velikost, budeme mít problém. Pro velikost bludiště 8 x 8 m jsme kvalifikovaně odhadli, že i při nejhorší cestě, to robotovi nebude trvat více než 5 minut, aby se dostal ven. To je i nastavený limit pro otočení a změnu sledované stěny. Bohužel ještě cesta podél levé stěny je skoro dvojnásobně delší než podle pravé stěny a náš robot sleduje levou stěnu. A tedy téměř jistě to za 5 minut ve z bludiště nestihne.
Při vystoupení prvních čtyř týmů se ukazuje, že úkol není tak jednoduchý, jak na první pohled vypadá. Žádný z robotů se nedostává dále než do poloviny cesty. Většina soutěžících implementovala nějaké složitější algoritmy pro procházení bludištěm většinou s tím, že předpokládali pravoúhlé cesty v bludišti. Cesty byly různě křivolaké (však se to také v pravidlech neuvádělo, že by měly být pravoúhlé).
Nastává čas startu našeho robota. Tomáš ho přináší do startovního místa a spouští. Robot se bez problémů vydává na svoji cestu. Sleduje levou stěnu a tak projde téměř celé bludiště. Sem tam do nějaké krabice narazí, detekce sonarem není stoprocentní. Většinou se tak stává, když je proti sonaru hrana krabice. Tím získáváme nějaké trestné sekundy.
Zhruba po 2 minutách se robot vrací do místa startu (projel dvě slepé cesty). Je jasné, že to za 5 minut nestihne. Nakonec máme víc štěstí než bychom čekali. V páté minutě je robot ve slepé uličce, provede přesně otočku o 180° a chytá se protilehlé stěny a projíždí tak slepou cestu znovu, ale po stejné stěně! Kdyby se to nestalo ve slepé uličce, tak by se robot začal vracet zpět. Díky této šťasné náhodě dosahuje cíle v čase 6:23. Po připočtení 6 penalizací za dotek (6 x 10s) je výsledný čas 7:23.


Část jízdy našeho vítězného robota
Už je na řadě jen jeden soupeř, tým z SPŠ Ječná. Podle rozhovoru před soutěží měli obrovské plány, ale nakonec prý to nestihli, a tak vzali mBota (hotový výukový robot) a napsali sledování stěny stejně jako my. Zvolili však pravou stěnu, která je v tomto bludišti výrazně výhodnější, ale malý robotek je zase oproti našemu pomalejší. I tak do cíle dorazí v čase 6:36. Po započtení penalizací (7 x 10s) je výsledný čas 7:46. Vítězíme.
Soutěž proběhla ve velmi příjemné atmosféře. Byla to premiéra jak pro soutěžící, tak i pro pořádající Univerzitu obrany v Brně. My jsme si to prima užili a opět se ukázalo, že lepší je jednodušší, ale spolehlivé řešení.
Jako cenu jsme si odvezli 3D tiskárnu od Průši (tedy až po té, co jsme odmítli 1. cenu - elektrický skateboard - co s ním).

Stránky soutěže


Foto (zdroj Univerzita obrany Brno)