czech english

RoboOrienteering 2019

Mariánské Lázně, jubilejní desátý ročník

Letos se jubilejního desátého ročníku zúčastnilo deset týmů, což naposledy bylo prý v roce 2011. Pro mne osobně to bylo v Mariánkách poprvé. Soutěž samotná byla naším interním SubT Robotika Team STIX milníkem aneb integrační test robotů připravujících se na SubT Challenge (Robík, Kloubák, Eduro, MOBoS a Max). Jinak soutěž byla i letos mezinárodní: dva německé týmy a jeden slovenský.

Týmy

Seznam týmů naleznete na oficiálních stránkách soutěže, ale nějak mi to nesedí. Konkrétně mi chybí JECC tým, který měl s sebou dva roboty. Je možné, že tedy vystupovali jako jeden tým (Udo a Bernhard, chybějící JECC Fesl?) a pak by německé týmy byly pouze dva (JECC Lois a JECC Fesl), slovenský Istrobotics, Robotický klub Mariánské Lázně, AmBot a „našich” pět týmů (Short Circuits, ND Team, R-Team, Eduro a CZU-Robotika).

Místo

Park na hranici Mariánských Lázní je poměrně rozlehlý a otevřený. Základna sousedí s místem na piknik, husté rozkvetlé keře (užitečné i k jiným účelům), dostatek laviček a stolů pro všechny týmy — radost, organizačně to Karel s Martinou zvládli opravdu pěkně. A to nemluvím o téměř neomezené zásobě kávy, bábovky a i domyšlený polední „catering” (objednávali jsme si všichni pizzu). Roboti a notebooky zase ocenili zdroj elektřiny, kterou zajišťoval v křoví schovaný generátor. Parkovat se dalo podél příjezdové cesty, cca 200m pěšky, bez problémů.

Organizace soutěže

Soutěž probíhala ve třech kolech, kterým předcházela homologace a nulté testovací kolo. V parku bylo celkově zaměřeno 46 potenciálních pozic pro bodované kužely, plus start a cíl definovaný dvojicí kuželů. Z nich pak bylo připraveno 10 sad (A, B, …, I), které se losovaly.
Přiznám se, že pro mne dvojí indexování bylo trošku matoucí a zdrojem chyby, kterou jsem řešil nulté a první kolo — přehlédl jsem dokument, který ještě jednotlivé kontrolní body „svazoval” s odpovídajícími indexy se souřadnicemi. Ve „velitelském stanu” tato informace byla k dispozici, ale to jsem zjistil až později … za mne asi přání mít rovnou indexy v pomocné mapce, tj. např. K4-46 místo K4 což pro sadu I znamená index 46 (pro sadu H je to pak např. 26).
Jednotlivé cíle jsou různě bodově hodnocené, takže účastníci mohou taktizovat o jaké se vůbec snažit, aby během hodiny získali bodů co nejvíce. K dispozici jsou i různé „násobící faktory” za odhození golfového míčku nebo projetí cílovou brankou.

Eduro a Kloubák

Je to smutné, ale detailnější představu mám pouze o vývoji, přípravě a výsledcích robotů Eduro a Kloubák. Eduro jsem se rozhodl přihlásit v úterý 18/6 po té, co Kloubák měl problémy ujet i jeden metr (příčina zatím neznámá — možná vadný BLDC motor, driver nebo Hall senzory v kole, nebo něco úplně jiného). Původně měl dorazit i Spider3, ale jsem rád, že to letos nebylo — nadělal by z parku možná pěknou paseku!
Kloubáka Jakub a studenti HonzaK, TomášP a MartinS ve zbytku týdne upgradeovali: nahradili podezřelé kolo, napájeli konektory ze senzoru napřímo a experimentovali s vyhazovačem golfových míčků vytištěným na 3D tiskárně. V pátek večer byly k dispozici první logy s Lord IMU s integrovanou GPS (omylem nahrány starým kódem, tj. bez posílání GPS souřadnic a opravy parsování datových paketů).
Eduro jsme vzali jak bylo 6/6 naposledy v šachtě Josef (ještě lehce zablácené), přibalili GPS a původní Lord IMU z Kloubáka a v 6:00 vyrazili z ČZU (za zvuku školních alarmů).
Cesta byla naštěstí dlouhá a školní dodávku řídil Jakub, takže byl cca dvouhodinový prostor na přípravu kódu. Od PavlaJ jsem měl k dispozici kód pravděpodobnostní mřížky a VFH na vyhýbání se překážkám. Dalším kusem kódu bylo experimentování s Spider3 (viz Robotour Marathon 2018). Spider3 ale může zatáčet všemi koly směrem kterým chce jet a tak existující kód (řízení, status, odhad pozice a úhlů) nebyl úplně kompatibilní.
Na homologaci jsme u obou robotů použili kód na SubT, tj. v našem případě jízda podél levé nebo pravé zdi. Stačilo to. Nulté kolo jsme pak jeli 17m rovně, což pro Eduro bylo OK, ale Kloubák měl trošku problémy, pokud si to dobře pamatuji. V ostrém prvním kole pak selhali oba roboti (částečně chybně zadaným cílem).
Druhé kolo bylo pro Eduro již zajímavější — opravil jsem různě převody stupňů/radiánů, pro navigaci použil primárně IMU (starý VectorNav) přemapoval USB porty, kde se potkávala GPS a Lord IMU (/dev/ttyACM0 a /dev/ttyACM1) a věřte nevěřte Eduro krásně dojelo k 92 metrů vzdálenému kuželu a zpět do cíle.
Třetí kolo jsme již vyplnili více kontrolních bodů a stejnou konfiguraci a gpsnav.py nahráli i Kloubáka. Na Kloubákovi byly dva „detaily”:
  • v konfiguraci chyběla řádka ["imu.rotation", "app.rot"], takže aplikace nedostávala Eulerovy úhly pro navigaci
  • Lord IMU má Y-ovou osu obráceně, takže to bylo třeba zrcadlově převrátit (ono by to šlo udělat i jinou konfigurací senzoru, ale do toho jsem se na místě nepouštěl).
Oba roboti úspěšně navigovali několik desítek metrů (možná i stovek) než to oba naprali do stromu (ano, na integraci vyhýbání se překážkám nedošlo). Eduro se dokonce několikrát tvářilo „inteligentně” a přímou jízdu obsahovalo i několik „kliček”, ale nenechte se zmýlit! Pravděpodobně se resetovaly motory nebo zakolísala IMU/GPS. Ze dvou lidarů a kamery se nepoužil pro navigaci ani bit.

Výsledky

Nemám teď výsledkovou listinu, ale pár míst si pamatuji. MOBoS/Short Circuit skončil na posledním místě, ale přesto si myslím, že byl PavelJ spokojený (briefing bude až v pondělí v práci). Robot totiž již autonomně navigoval, používal NVidia Jetson Nano a RealSense a bez GPS neměl žádné bodové ambice (možná jeden blízký kužel).
Na předposledním místě skončil Kloubák/CZU-Robotika a před před posledním Eduro, takže za mne cíl splněn (oba roboti bodovali a Eduro bylo o chlup lepší).
A pak si to pamatuji zase od nejlepších: vyhrál Karel s Explorerem/organizátor, na druhém místě byli Istrobotics a třetím Robík/ND Team, který si ublížil ad hoc zásahy do funkčního kódu. Čtvrté místo pak obsadil JECC Lois (skončil u něj soudek s pivem) a pak už nevím. Doplním. Hotovo:
Celkové hodnocení
Celkové hodnocení
Bylo pěkné, že všichni roboti jezdili a neviděli jsme žádné ležáky.

Různé

Přihodím ještě pár postřehů k diskusi a případnému dalšímu směrování soutěže.

Týmy robotů

Vzpomněl jsem si, že po soutěži v Rychnově 2016 jsem doporučoval nějakou formu spolupráce robotů. Kdyby nic, tak by se vzájemně lépe poznali. Já jsem si tu kombinaci Eduro/Kloubák užil a možná škoda, že jsme nevzali na korbu MOBoSe a nevyhodili ho i s míčkem někde u kuželu . Možná příští rok.
Teď mi tak přišlo, že v prvním kole by každý soutěžil za sebe, ve druhém dva roboti společně a ve třetím i tři. Ano uznávám, že by se to špatně hodnotilo, ale vadí to?

Max vs. Sum

U Robotour jsme pro celkové hodnocení používali součet bodů za všechna kola a stejně je tomu tak i u RoboOrienteeringu. Prostě vítězství patří tomu, komu to dlouhodobě nejlépe funguje. Pokud v nějakém kole vypadnete, tak máte smůlu.
Robotem rovně změnilo před pár lety pravidla, že vítězí ten, jenž dosáhne v nějakém kole nejvíce bodů, tj. maximum ze všech jízd (mimochodem stejného pravidla používá DARPA pro SubT Challenge). Soutěž se tak stává zajímavější, protože do poslední chvíle není jasné, jestli se štěstěna neobrátí na dříve méně úspěšný tým. S postupem času také týmy začínají více riskovat aby překonaly i sami sebe.

Roboti za ručičku

Co mne včera na soutěži překvapilo jak se tady „roboti vodili za ručičku”. Ano byl to kontrast k SubT, kdy pošlete robota branou tunelu a pak už jenom doufáte, že se vám jednou vrátí. Když jsem viděl pomocné kopnutí do Robíka (ano, o chvíli později jsem stejný trik použil na Eduro, které zapadlo do díry), tak jsem se trošku styděl. Vzpomínám, že Martin Locker původně dokonce STOP tlačítko považoval za diskvalifikaci … že si roboti musí vždy za každé situace poradit a neublížit si … prostě druhý extrém. Možná by mohli být plně autonomní roboti bodově zvýhodnění, pokud je nechají majitelé/autoři „ať si v parku nějak poradí, jen až se vrátí” a nikdo je nedoprovázel?

Poděkování

Ještě jednou bych rád poděkoval organizátorům za příjemný soutěžní den a šanci se potkat s ostatními robotiky. Příště by asi mělo smysl dorazit na místo o den dříve, jako to udělali R-team, Istrobotics a německé týmy. Bylo by tak více času na testování a diskuse.
p.s. pokud máte nějaké fotky nebo video, tak prosím pošlete a já je doplním (stejně tak oficiální výsledkovou listinu až bude zveřejněna)