czech english

Robotem rovně 2015

nová kategorie: ,,robotické speciály''

Soutěž autonomních robotů v Písku již dobře znáte — letos se konal sedmý ročník. Přesto se pokusím o mini-reportáž jako poděkování organizátorům a upřesnění jak to s Heidi a Husky opravdu bylo …

Heidi + Husky/robotika.cz

Do Písku jsem se letos chtěl podívat a jelikož zatím sešlo z autonomního zahradního traktoru, tak jsem si vymyslel náhradní program: kombinaci drony Heidi s pozemním robotem Husky. Přišlo mi, že se musím naučit autonomně přistávat na definovaný heliport a toto bylo krásné cvičení.
Tento „článek” by měl být také ukázkou toho, jak se původní teorie může diametrálně lišit od výsledné reality. A konečně se můžete také škodolibě smát a nebo mi třeba poradit jak to opravit.
Plán byl jednoduchý: naučit dronu létat nad značkou a přitom vysílat video z přední kamery do řídícího robota Husky. Tam by běžel kód na navigaci drony z loňska s tím, že místo řízení drony by podle toho zatáčel robot. Teoreticky by stačilo propojit jen dva existující skripty.
Tak to byl začátek. První překážka byla, že na Husky nebylo OpenCV. Jelikož jsem ho ten týden instaloval již podruhé na Virtual Boxu s Ubuntu, tak jsem se do toho odvážně pustil i na Husky. Chyba lávky — systém byl moc zastaralý (rok a půl?) a vyžadoval upgrade.
To už jsem začal být trošku nervozní. Přeci jenom upgrade znamená potenciální problémy a na jejich řešení nebyl dostatečný časo-prostor. Ale jo, čert to vem. Pustil jsem upgrade a ten selhal na chybějících nových verzích ROS modulů.
Tož jsem na chvíli pauznul OpenCV a zkusil komunikaci Husky-Heidi. Oba používají Wi-Fi jako Access Point, ale přišlo mi snazší to změnit na Husky. Podle výrobce by to mělo jít, ale … „neprostřílel” jsem se. Zkoušel jsem to i na domácí síti, Husky router se tvářil, že se připojil, ale tím to i skončilo.
Do toho jsem řešil divný reboot stroje, když jsem odblokoval eStop, případně divoké skoky, pokud odblokování přežil. Důvod mi stále není jasný, ale vypadalo to, že extra pauza s posíláním rychlostí (0,0) po odblokování eStop situaci zlepšila. V každém případě to byla krásná předehra k tomu, co mne čekalo ráno v Písku.
Noc před soutěží jsem ještě naivně psal kus kódu, který by běžel na mém notebooku a propojoval Heidi s Husky. Na analýzu obrazu jsem rezignoval, i když na notebooku byla tato varianta ještě možná, a tak to měla být pouze ver0, kdy přes Husky eStop tlačítko donutím dronu vzlétnout a přistát.
Jestli jsem na vás byl v Písku mezi 8-9h ošklivý, tak se dodatečně omlouvám. Pokud by vás zajimaly detaily, tak viz anglická verze článku o Husky (broken link). Prostě jsem ráno nemohl popojet ani 1m. ROS moduly nenaběhly. Po „chvíli” jsem zjistil, že vůbec nejsou vidět USB zařízení v /dev a paprsek naděje se objevil teprve po odpojení a připojení USB kabelu pro řízení motoru a IMU jednotky (mimochodem po restartu to zase nefungovalo).
Co jsem to ráno (asi) udělal jinak, než kdy před tím, bylo zapojení PrimeSense ještě před startem počítače. Většinou jsem na něj zapomněl a zapojil ho až za běhu. Myslím, že Honza měl teorii, že si USB zařízení braly moc proudu a tak je počítač raději odpojil. Proč to ale následně dělal pokaždé, nevím.
Husky nakonec jel na loňský kód a vítězná strategie byla upravit PWM na motorech (diff). Jinak video na Heidi zlobilo podobně jako loni a on stejně první start (kde jsem zase zapomněl 60s timeout, po kterém šla čtyřtulka automaticky na přistání) nejlépe demonstruje, o co jsem se snažil:


Komentáře

Chem drone

V Písku: super akce, super lidi a "AfterParty", potažmo AfterKafe a pro vyvolené i řízek se salátem … -> úžasně strávený den. Plus ještě diplom a medaile B-)

Odkazy