Tým doktorandů a studentů naší katedry RoverOva se letos již potřetí zúčastnil se svým robotem K3P4 mezinárodní soutěže mobilních robotů European Rover Challenge 2020 a dosáhl vynikajícího 2. místa. Tým rovněž získal dvě speciální ceny - za nejlepší analýzu a nejlepší autonomní navigaci. Soutěže se účastnilo celkem 46 týmů z celého světa.
Letošní ročník soutěže se kvůli epidemii Covid-19 odehrával v jiné podobě než v minulých letech, soutěž se nyní konala na dálku a všichni účastníci soutěžili se stejným roverem. Úkolem tedy nebylo navrhnout co nejlepší konstrukční řešení robotu, členové týmů se více zaměřili na soutěžní disciplíny simulující geologický průzkum Marsu a tvorbu software pro platformu, kterou poskytli organizátoři.
Jak probíhala soutěž?
Soutěžní body se získávají v průběhu roku a to už od přihlášení, které má uzávěrku na konci března. Přihláška se obsahově zhodnotí a týmu se připočtou první body. Další body získávají z průběžné zprávy (preliminary report) v květnu, z video dokumentace v červenci a z konečné zprávy v srpnu. Tyto body jsou poté připočteny k bodům získaným při samotné soutěži v září. V minulých letech se soutěž konala vždy v Polsku a týmy v rámci tří soutěžních dní plnily čtyři úkoly s roverem (mobilním robotem), který si do Polska přivezli, a jeden prezentační úkol. Letos kvůli Covid-19 však došlo k nutným změnám v pravidlech a průběhu soutěže.
Jak se organizátoři soutěže vypořádali se světovou pandemií?
Organizátoři soutěže se rozhodli celou událost nezrušit a přizpůsobili se neustále se měnící situaci. V létě oznámili, že pracují na verzi soutěže na dálku a v průběhu dvou měsíců před soutěží upřesňovali, jak bude soutěž v nové verzi probíhat. Změn bylo opravdu hodně. Namísto toho, aby týmy připravovali vlastní rover a cestovali s ním do Polska, každý tým ovládal roboty ze své země. Pro tyto potřeby zajistili organizátoři mobilní roboty Leo Rover, robotická ramena UR3 a softwarovou platformu Freedomrobotics. Členy týmu RoverOva na Katedře robotiky tak čekaly úplně nové úkoly. Práce na vlastním roveru se pozastavily a začaly přípravy na ovládání robotu na stovky kilometrů daleko.
Jak fungovalo ovládání robotů na dálku?
Pro tyto účely nám sloužila platforma freedomrobotics.ai (FR), díky které se lze připojit na jakýkoliv robot s nainstalovaným Robot Operating System (ROS) a FR agentem. Poté už stačí mít zmíněný robot zapnutý a připojený na internet a v FR online platformě lze vidět pohled z kamer, data ze senzorů a další informace z robotu. Zároveň se dá robot řídit pomocí virtuálního nebo reálného joysticku. Připojení však není kdovíjak plynulé, často jsme dostávali video ve špatné kvalitě s rychlostí přibližně jeden snímek za sekundu. Platforma má však spoustu vychytávek a není složité ji nastavit. Také poskytuje jednoduchý bridge pro SSH, takže jsme robot řídili na dvou počítačích, jeden operátor ovládal robot před platformu FR a druhý spouštěl funkce přes SSH.
Jak vypadaly soutěžní úkoly?
Z původních pěti soutěžních úkolů (prezentace, navigace, manipulace, sběr, věda) zůstala nezměněná pouze prezentace, která akorát probíhala přes videohovor. Sběr (collection task) byl ze soutěže vypuštěn úplně.
Manipulace (manipulation task), která v minulosti spočívala v jízdě roveru k ovládacímu panelu a manipulaci s ovládacími prvky na panelu, byla prováděla na fixním stanovišti s průmyslovým kolaborativním robotem UR3. Pomocí ovladače na Xbox jsme přes platformu FR ovládali robot UR tak, abychom přepnuli několik vypínačů na panelu, zvedli adaptér ze země a zapojili jej do klasické zástrčky a zvedli ethernetový kabel a zapojili jej do panelu. Přepínání tlačítek nebyl problém, trefit se však s vidlicí do zásuvky nebo s malým ethernetovým konektorem do zdířky bylo velice obtížné a dostali jsme se jen na dotek.
Navigační (Navigation task) a vědecké (science task) úlohy byly spojeny do jedné. V navigační část byla velice podobná minulým ročníkům. V podstatě šlo o projetí zadaných bodů na mapě. K tomu každý tým dostal souřadnice kontrolních bodů v metrech od startovacího bodu. Hodnotila se přesnost, s jakou robot dojede na kontrolní body a míra autonomie, tedy jestli robot ovládá člověk, nebo jede sám. Zároveň byl v této úloze zakomponován průzkum povrchu. Před soutěží dostali týmy 3d model terénu a fotky z dronu, které měly popsat a vytvořit podle nich hypotézu o stáří geologických jevů na povrchu. Během jízdy poté měli hypotézu ověřovat, fotit důkazy a po jízdě je vyhodnocovat.
Jak se tým na soutěž připravoval?
Během srpna proběhla jedna testovací jízda s Leo roverem v Polsku, během této jízdy jsme si vyzkoušeli připojení a ovládání robotu. Po testovací jízdě nám organizátoři poskytli záznam rosbag, což je vlastně záznam všeho, co se v robotu během jízdy děje, videa z kamer, data ze senzorů, ovládací příkazy, to všechno lze potom znovu přehrávat. Na začátku září proběhla další testovací jízda s Leo roverem a test ovládání ramena UR3. Z těchto testů jsme měli také k dispozici záznamy.
Organizátoři soutěže také poskytli simulační prostředí s modelem roveru v programu Gazebo. Simulace také obsahovala model terénu, který odpovídal reálnému terénu na soutěži.
Na základě záznamů a simulací jsme připravili vlastní ROS balíček, který jsme nainstalovali do Docker kontejneru a odeslali organizátorům soutěže před začátkem jízd. Pak už stačilo, aby organizátoři nahráli a spustili připravený kontejner v robotu a my se připojili.