Tomáš Kot 


Mobilní robot Hercules – detaily projektu

← Zpět na přehled referencí.

Základní informace o robotu

Financování, původ

Robot Hercules - stav z konce roku 2010

Mobilní robot byl vytvořen na Katedře robototechniky, na práci se podíleli doktorandi a zaměstnanci katedry.

Robot byl z větší části financován z projektu MPO TANDEM FT-TA3/014/2006-2009 nazvaného Výzkum a vývoj speciálního víceúčelového zásahového vozidla se systémem operativní změny parametrů, využívaného pro záchranu osob i materiálních hodnot, při katastrofách, požárech, povodních, expedicích a protiteroristických akcích. Příjemce podpory: FITE, a.s., spolupříjemce: VŠB-TU Ostrava, prof. Ing. Jiří Skařupa, CSc.

Fotografie

Více snímků je k dispozici v galerii webu Katedry robototechniky, především v následujících albech:

Technické parametry

Podvozek 4kolový odpružený, natáčecí zadní náprava, hnaná přední náprava s diferenciálem
Motory pojezd: DC motor, zatáčení: servo, rameno: 3 Maxon EC motory, chapadlo: DC motor
Senzory laserový snímač vzdálenosti na rameni, inkrementální snímače polohy v pohonech ramene, odporový teploměr měřící teplotu okolí, detektor plynů Dräger X-am 5000
Kamery stereovizní kamerová hlava na rameni, couvací kamera na podvozku
Řídicí systém dálkové bezdrátové řízení všech funkcí z počítače
Přenos signálu pojezd: Radiocrafts RC1280HP (868 MHz); obrazy z kamer, řízení ramene a signály senzorů: Wi-Fi (UDP)
Rozměry podvozek: 990 x 710 x 675; délky článků ramene: 450 mm, 860 mm (dosah 1390 mm)
Hmotnost 165 kg (140 kg podvozek + 25 kg rameno)
Nosnost 115 kg podvozek; 1,1 kg rameno

Popis a historie robotu

Robot Hercules - stav ze začátku roku 2009

Jako podvozek tohoto mobilního robotu byl použit elektrický invalidní vozík InvaCare, konstrukčně upravený na katedře pro uložení potřebné dodatečné elektroniky a uchycení manipulační nadstavby. Díky použití vysoce optimalizovaného a konstrukčně výborně zvládnutého podvozku má mobilní subsystém robotu vynikající parametry, zejména dojezd na baterie, nosnost, rozsah rychlostí, výkon a manévrovatelnost. Jako poměrně obtížný oříšek se ukázala problematika řízení funkcí tohoto podvozku (zapínání, přepínání rychlostí, jízda, zatáčení) dálkově pomocí počítače - původní řídicí systém vozíku je založen na specializované a uzavřené sběrnici typu CAN, jejíž protokol se nepodařilo vyluštit. Problém se nakonec podařilo obejít a pojezd je možno plně řídit dálkově z vlastní řídicí aplikace, prostřednictvím katedrou navržené a vyrobené elektroniky.

Robot Hercules - stav z poloviny roku 2009

Manipulační nadstavba je kompletně navržená a realizovaná katedrou. Jedním z hlavních požadavků byla vzhledem k okolnostem co nejmenší náročnost výroby (časová i finanční), proto jsou např. všechny tři pohonné jednotky totožné, bez ohledu na nižší skutečné zatížení některých kloubů. Konstrukční jednoduchost má však i své výhody, především je nutné zmínit nulové mechanické vůle, díky čemuž je možno provádět velmi přesné a jemné polohování. Manipulátor má 3 stupně volnosti, všechny klouby jsou osazeny diskovými elektromotory MAXON EC90F 60 W doplněnými o harmonické převodovky. Pro nízkoúrovňové řízení pohonů ramene jsou využity jednotky Maxon EPOS propojené CAN sběrnicí.

Na přírubu manipulátoru je možno uchytit libovolný efektor včetně orientačního ústrojí. V současné době je robot vybaven pevným dvoučelisťovým chapadlem se softwarově volitelnou sílou stisku (7 úrovní v každém směru).

Robot Hercules - kamerová hlava

Robot je vybaven stereovizní kamerovou hlavou umístěnou na začátku posledního článku manipulátoru, což umožnuje jak neustálé sledování objektu manipulace, tak rozhlížení pomocí kamer při jízdě nebo průzkumu prostředí. V prostoru mezi kamerami je integrován laserový dálkoměr s dosahem 25 metrů. Podvozek robotu je dále vybaven třetí kamerou určenou pro navigaci při jízdě vzad.

Robot je možno řídit bezdrátově z operátorského pracoviště (kufříku) vybaveného potřebnou elektronikou, akumulátorem, vysílací a přijímací technikou a notebookem s dotekovou obrazovkou. Všechny funkce robotu jsou sloučeny do jedné uživatelsky příjemné a přehledné aplikace; při návrhu uživatelského rozhraní byl hlavní důraz kladen na obraz z kamerového subsystému. Všechny důležité funkce je možno ovládat pomocí jediného bezdrátového ovladače (gamepadu), přičemž manipulátor má režim vhodný pro rozhlížení pomocí kamer a režim vhodný pro manipulaci. Nezbytné informace jsou integrovány přímo do obrazu z kamer, pokročilé funkce a údaje jsou k dispozici na panelu v pravé části aplikace. Operátor má rovněž možnost využít 3D brýle pro stereovizi.

Samotný robot je osazen dvojicí minipočítačů (Via EPIA a netbook Asus EEE), z nichž na jednom běží serverová aplikace řídicí pohyby manipulátoru a zpracovávající signály senzorů a ve druhém běží aplikace, která snímá a komprimuje obraz z kamer. Obě tyto serverové aplikace komunikují s klientskou aplikací (operátorský kufřík) pomocí Wi-Fi. Signály pro pojezd robotu jsou přenášeny pomocí rádiového signálu, kvůli jeho vyšší spolehlivosti v budovách a zarušeném prostředí.

V září roku 2010 byl robot doplněn o odporový teploměr pro měření teploty okolí a především o detektor plynů Dräger X-am 5000, který je možno vybavit čidly až pro 5 různých plynů. Údaje z tohoto detektoru (a i z teploměru) jsou samozřejmě přenášeny do operátorského kufříku a zobrazeny přehledně na obrazovce. Robot byl dále doplněn o další krytování a byla vylepšena řídicí aplikace. Primární motivací pro tyto úpravy byla účast robotu Hercules na největší letecko-armádně-bezpečnostní akce ve střední Evropě – Dnů NATO v Ostravě, kde byl robot největším lákadlem na stánku Fakulty strojní, resp. Katedry robototechniky. Robot byl k vidění i na všech následujících ročnících této akce.

Můj podíl na projektu

Má práce spočívala především ve vytvoření řídicího systému vyšší úrovně umožňujícího komfortní dálkové ovládání všech funkcí robotu lidským operátorem.

Struktura řídicího systému

Systém se skládá z části běžící na počítači v robotu (server) a z části běžící na počítači operátorského stanoviště (klient). Kvůli nízké výkonnosti počítače Via EPIA umístěného v robotu bylo nutné pro zpracování obrazu z kamer přidat další počítač (netbook Asus EEE), který je vyhrazen pouze pro tento úkol. Serverová část systému je tak vlastně tvořena dvěma na sobě naprosto nezávislými aplikacemi.

Serverová aplikace pro video

Jedná se o konzolovou aplikaci naprogramovanou ve Visual C++. Aplikace po spuštění rozpozná zapojené kamery a čeká na navázání spojení s klientskou aplikací pomocí vlastního komunikačního protokolu využívajícího UDP. Pokud je komunikace aktivní, jsou snímány obrázky z kamer, komprimovány pomocí Intel® IPP a posílány klientské aplikaci. Komunikace probíhá v obou směrech – z klientské aplikace přicházejí instrukce o tom, z kterých kamer a v jaké kvalitě má být obraz posílán.

Hlavní serverová aplikace

Jedná se o Windows aplikaci naprogramovanou ve Visual C++ s využitím dialogového okna (dialog box resource). Ovládací prvky na dialogovém okně mají spíše informativní a servisní účel, jejich použití za běžných okolností není nutné, operátor robotu s nimi vůbec nepřichází do kontaktu.

Aplikace zajišťuje především logiku pohybů ramene (inverzní úloha kinematiky, rampy rozjezdu a brzdění, antikolizní systém atd.) včetně komunikace s jednotkami EPOS (řídicí jednotky pohonů Maxon). Druhým hlavním úkolem je čtení a zpracovávání dat ze senzorů.

Obousměrné spojení s klientskou aplikací je i zde řešeno pomocí vlastních UDP datagramů obsahujících potřebné příkazy, resp. zpětnou vazbu.

Robot Hercules - obálky používané antikolizním systémem

Antikolizní systém zabraňuje, aby rameno při kolizi poškodilo sebe nebo jiné části robotu. Algoritmus provádí extrapolaci úhlových rychlostí článků ramene pro odhad poloh článků za určitý čas a v této poloze kontroluje hrozící průniky definovaných párů orientovaných ohraničujících kvádrů (oriented bounding box), které přibližně obalují kritické části robotu (viz obrázek vpravo). Detekce průniků je prováděna pomocí poučky o oddělující ose (separating axis theorem).

Klientská aplikace

Robot Hercules - klientská aplikace

Tato aplikace je jediná, se kterou přichází do styku operátor robotu a proto obsahuje propracované uživatelské rozhraní. Aplikace byla naprogramována ve Visual C++ a obsahuje vlastní grafický engine využívající Direct3D, pomocí kterého jsou vykreslovány i ovládací prvky.

Hlavním účelem této aplikace je interakce s operátorem jak pomocí zobrazených informací, tak získáváním a zpracováváním vstupních dat. Operátor aplikaci ovládá především gamepadem (s využitím Xinput nebo DirectInput v závislosti na typu gamepadu). Méně často používané funkce je možno ovládat klávesnicí, dotykovou obrazovkou nebo touchpadem.

Robot Hercules - detail vysunutého panelu

Aplikace běží v celoobrazovkovém režimu. Hlavní část obrazovky je věnována obrazu z primární kamery robotu (vykreslován je samozřejmě pouze pokud je aktivní spojení s video serverem). Po levé straně jsou umístěny tři zasouvající se panely s pomocnými ovládacími prvky pro rameno (viz obrázek vpravo), kamery a komunikaci. V dolní části se zobrazují případné chybové ikonky, v horní části jsou vypisována textová hlášení.

Pás na pravé straně obrazovky obsahuje malý obraz ze sekundární kamery (většinou zadní kamera), který se po kliknutí zvětší. Dále je zde interaktivní 3D model robotu ukazující operátorovi v reálném čase skutečnou polohu ramene či natočení kol. Tento pohled má plynule volitelný úhel záběru a rovněž je možno jej kliknutím zvětšit. Ve středí části pásu jsou umístěny základní ovládací prvky ramene a pojezdu (zapínání, volba režimů) a dole pak informace ze senzorů.

Aplikace se automaticky poukouší udržovat spojení s výše popsanými dvěma serverovými aplikacemi, přičemž komunikace s každou z nich probíhá nezávisle (rameno je možno plně ovládat i bez spojení s kamerami a opačně). Komunikace s modulem pojezdu probíhá pomocí rádiového modulu prostřednictvím RS232.