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-)