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
[1] Kybernoid22