ARGroup Aleš Ruda

ARBot Z - do nové sezóny s novým robotem

by Administrator 11. April 2015 21:23

Po více jako roce příprav se konečně podařilo sestavit nového robota. Vychází ze zkušeností s předchozím vozítkem. Dobře fungující věci byly zachovány a ty slabší byly přepracovány či aspoň vylepšeny.

V první řadě byla vyměněna řídící jednotka. Je použita vývojová deska Zedboard s SoC Zynq 7020 od Xilinx. K dispozici je 512 MB RAM, 32 GB SD, srdcem je dvoujádrový ARM Cortex A9 + NEON na 600 MHz a hlavně hradlové pole o 85 tisících logických jednotek. Zedboard běží na Linuxu a jako hlavní programovací platforma je použito mono a jazyk C#.

Místo smykem řízeného podvozku je použit diferenciální s 3. pasivním kolem. Modelářská kola o průměru 17 cm a dva motory PG36555126000-50.9K řízené profesionální jednotkou SDC2160 od Robotequ poskytují potřebnou trakci.

Šasí je postaveno z letecké 2 mm překližky a smrkových nosníků 7 mm. Prostě modelařina. Jednotlivé dily byly řezány laserem a až na pár drobných chybek ve výkresech vše sedlo naprosto dokonale.

Osvědčená AHRS VN-100 od VectorNav byla zachována, jen došlo k upgradu na nejnovější verzi. Obdobně GPS uBlox NEO 7M je novější verzí původní.

Počet sonarů byl zredukován na 2 a je použita levná verze HC-SR04 za to každý ze sonarů je možné natáčet servem. Uvidíme, zda to bude přínosem.

Serva ovládá jednotka SSC-32. 32 serv by mohlo snad stačit i do budoucna.

Novinkou v senzorech jsou dva optické odometry založené na ADNS 3080, snad pomohou lépe odečítat polohu a orientaci robotu. Dalším novým smyslem je "hmat". Robot má dva taktilní FSR senzory integrované v předním nárazníku.

Energii robotu dodávají 4 LiFePo články o kapacitě 14.5 Ah chráněné SBM. Dost bylo zoufalého pípání při podpětí a zničených článků.

To nejlepší nakonec. Z obrazu kamery se dá vytáhnout mnoho informací a tak má robot stereoskopickou kameru s čipy Aptina MT9V032, které mají globální uzávěrku a jsou schopny pracovat v HDR režimu. Data je nutné nějak zpracovat a právě k tomu je použito hradlové pole ze Zynq. Tím se nám kruh pěkně uzavřel. Jo, kamera je pohyblivá ve dvou osách.

A jak to celé vypadá?

 

 ARBot Z

ARBot Z

 

Časem přibude snad i nějaké pěkná výmalba.

Tags:

ARBot

ARBot hardware

by Administrator 28. September 2013 11:27

ARBot během let prošel několika upravami. Jeho první verze byla sestavena z následujících komponent:

Z uvedených component jsem sestrojil pokusnou verzi na které se projevil take první problem. Hladká kola dobře fungovala na linu či parketách, ale v terénu prokluzovala a robot se špatně pohyboval.

ARBot - první pokus

Hladká kola jsem vymněníl za outdoor verzi o průměru 110 mm.

ARBot - první verze po úpravách

Dalším problémem, který na sebe nedal dlouho čekat, byla GPS. Ukázalo se, že ná velmi vážný problem s příjmem signalu v blízkosti BlackFin procesoru. Pro dobrý příjem bylo nutné dát GPS do vzdálenosti cca 50 cm od DSP. To nebylo akceptovatelné a tak jsem vybral GPS LEA-5H od uBloxu, která je podstatně odolnějsí rušení. A aby toho neylo dost tak jsem měřením zjistil, že kompas CMPS03 má dost mizernou převodní charakteristiku. Cyba 15 stupnů žádný problem. Graf bohužel skončil kdesi v propadlišti dějin a tak nezbývá než uvěřit. Kompas byl nahrazen vynikající AHRS jednoutkou VN-100 od VectorNav. Což se ukácalo jako dobrý tah. Další úpravou byla výměna motorových jednotek MD23, které tuhly za kvalitnější MD25.  Poslední "ranou" bylo rozhodnutí organizátorů Robotur o povinosti vézt 5l soudek piva.

 

Finálně je robot sestaven z:

  • šasi A4WD1 od Lynxmotion,
  • 2x motorové řídící jednotky MD25,
  • 4x motory EMG30,
  • 4x outdoor kola 110 mm,
  • 3x sonar SRF08,
  • GPS uBlox LEA-5H,
  • AHRS vectornav VN-100,
  • OLED display μOLED-3202X-P1T
  • řídící jednotka SRV01 s DSP BF537, kamerou OV9655, a WiFi modulem,
  • 10x NiMH 4,5 Ah.
ARBot - finální verze
ARBot - finální verze
ARBot - pohled pod pokličnku
ARBot - pohled pod pokličnku

Tags:

ARBot

ARBot zvítězil v Robotour 2013

by Administrator 23. September 2013 12:37
Pohár

Letošní ročník Robotour se konal v polské Lodži pod záštitou tamní university. Roboty se proháněly po památkově chráněném parku Jozefa Poniatowkiego. Počasí se vydařilo a tak jedinou nepřijemností byla tragická dopravní situace. Posledních 150 km před Lodží jsme jeli 3.5 hodiny.

Nulté - testovací kolo proběhlo velmi dobře až na cíl, kde robot misto aby se otočil zpět ke startu začal kroužit dokola. Že by nějaká chybka? Vlastně dvě. Kroužit by robot neměl. Při zatáčení by měl omezit dopřednou rychlost tak aby právě ke kroužení nedošlo. A za druhé se měl otočit a jet ke startu. Na opravu bylo času dost a tak jsem se do ní pustil. Omezení dopředné rychlosti bylo kvuli testu v minulosti zakomentovano a pro návrat ke startu chyběla jedna podmínka. Zadal jsem cílové souřadnice 1. kola a hurá na start.

1. kolo - startovní hvizd, minutový odpočet a ... nic. Robot jen sebou škubnou a zastavil se. V tu chvilku jsem si vzpoměl na předešlý večer jak jsem Martinovi říkal, že do fungujících věcí se nemá šahat. Byl jsem na sebe pěkně naštvanej.  Nu co 50 minut by na opravu mohlo stačit, vždyť chybka může být jen na jednom řádku s podmínkou pro návrat na start. A taky přesně dle Murphyho zákonů byla. Ještě to otestovat a hurá do druhého kola. Ale co to!? Robot co chvilku zchromnul na zadní kolečka, která se přestala otáčet. Obdobně mi už jednou tuhly motorové jednotky MD23. Fakt už jsem viděl všechno četně! Čas druhého kola nadešel a tak nebylo už co řešit. Buť to vyjde a nebo ne.

2. kolo - robot se rozjel a tak mi spadl kámen ze srdce. Je pravdou, že po několika desítkách metrů v táhlé zatáčce se začal podivně cpát doprava a pak i zabočil do divné cestičky, ale po pár metrech se otočil a vrátil se zpět na správnou cestu. Po několika dalších desítkách metrů zas táhnul doprava. Otočil se do protisměru a cca 10 metrů se vrátil, následovalo otočení do správného směru. Taková zajímavá osmička. Tohle zopakoval ještě jednou, ale naštěstí se stále držel na cestě. Postupně čím dál častěji robot pípáním oznamoval pokles napětí na baterkách. Závěrečnou rovinku již projel bezproblému. V cíli se otočil a vydal se jinou cestou ke startu. Po cca 100 metech už pískal permanentně a téměř se přestal pohybovat. Baterka byla na dně. A tak byl robot zastaven. Super výkon.

3. kolo - po krátkém nabíjení se robot opět rozjel. Zvládnul dvakrát správně odbočit a pak se zastavil 150 metrů od cíle na terénní nerovnosti kdy se dostaly dvě kola do vzduchu. I tak byl v kole nejlepší.

4. kolo - start z 1. pozice. Počáteční mizerná nálada byla ta tam. Robot perfektně projel úvodní rovinku a po odbočení začal objíždět lavičku bohužel směrem do trávníku.

[youtube:Xxb1eJOH4Kc]

 

Po sečtení výsledků ze všech 4 kol ARBot vystoupal na pomyslnou zlatou bednou.

 

Na tomhle místě bych chtěl poděkovat všem organizátorům za úžasné nasazení. 

Dik

 

 

 

 

Tags:

ARBot

Úspěch na Robotem Rovně 2013

by Administrator 22. May 2013 10:44

První letošní soutěž outdoor robotů je za náma.

Po zkušenostech z minulých let jsem se rozhodl nevymýšlet pro letošek nové a dokonalejší algoritmy, ale soustředit se na jejich perfektní odladění. Jedinou změnou tak byla předělávka algoritmu pro detekci hranice vozovky. Jinak vše při starém.

Robota jsem testoval na téměř rovném úseku mezi Jižákem a Kateřinkama o délce cca kilometr. Vše fungovalo více jak dobře.

Příprava na Robotem Rovně 2013 [youtube:UWz0u1cn5Sc]

Na vlastní soutěž jsem jel s velkou nadějí. Počasí po cestě do Písku vypadalo dost děsivě. Naštěstí v 8 ráno se na jiho-západě objevilo modrojasno a tak už to zůstalo po celý den.

Na startu prvního kola jsem ftipkoval se sudím, že se nebudem vzájemně zdrožovat ať tam napíše 314 metrů. O 12 minut později robot skutečně 314 metrů ujel. Stejného výkonu dosáhnul i v dalších kolech jen v malinko lepším čase. Na trati se projevoval jediný problém pár metrů před prvním stánkem, kdy robot 3 krát ze 4 případů prudce zahnul doleva, ale po cca 1 metru se zas srovnal. Po druhém kole jsem uvažoval, že zvýším rychlost robotu na 1.5 m/s, abych časově dohnal robota Explorer, ale do věcí, které fungují se nemá hrabat a tak jsem ponechal prověřených 0.5 m/s.

Průjezd cílem 4. kola [youtube:6zHxx_LyT_8]

Výsledné 2. místo je skvělým úspěchem a dává naději na dobré umístění v podzimní Robotour.

Chtěl bych poděkovat Radioklubu Písek za perfektní organizaci a nádherné počasí.

Tags:

ARBot

Detekce kraje vozovky

by Administrator 11. April 2013 11:19

Vyjdeme z jednoduché představy. Pro levý okraj platí, že vlevo od něj není cesta a v pravo až ke středu cesta je. Pro pravý okraj platí to samé jen stranově otočené.

(1)
  • - kriterium levého kraje vozovky
  • - pravděpodobnost sjízdnosti vozovky
  • - levá hranice vozovky
  • - střed vozovky

Levý kraj vozovky je v místě kde nabývá maxima. Vztah (1) lze dále upravovat.

(2)

Poslední člen je konstanta a polohu maxima vůbec neovlivní. Stejně tak je možné výraz násobit libovolnou konstantou. V diskrétním případě integrály přejdou na sumy a výpočet je možné udělat iteračně.

(3)
(4)
Obrázek – detekce okraje vozovky

Tags:

ARBot

Robotour 2012

by Administrator 21. September 2012 11:03

Minulou sobotu se konal další ročník Robotour. Po Bratislavě a Vídní se soutěž vrátila do obtížného prostředí Stromovky. Spousty stromů blokujících GPS sigál, různé povrchy, výmoly a muldy, někdy pekně zelená traička a jindy zas hlína těžky odlišitelná od chodníku.

V pátek se konala homologace. Po drobných problémech jako jsou pády SW robota a absence některých cest v mapě se podařilo homologovat. Další čas jsem věnoval obhlidce prostředí a testování.

[youtube:tbOjNT5ZXAk]

V sobotu v 9:30 se konalo testovací kolo. Robot ani po 10 minutách nechitil GPS signál a tak velmi rychle skončil mimo cestu.

První kolo bylo naplánováno na 11:00. Dvacet minut dopředu jsem spustil robota aby chytil GPS, to se podařilo velmi rychle a tak jsem hýřil dobrou náladou. Deset minut před startem byly předány souřadnice startu. Zadat je do programu, prěkompilovat, a nahrát do robotu jsou cca 3 minutky práce. Ověřit správnost zadání a již jen čekat na první a druhý hvizd 2 a 1 minutu před startem. Čas startu se blíží a nervozita vrcholí. Ozívá se hvizd. V pohodě jestě jedna minuta, ale proč všichni šahli na roboty a odstoupili? To byl asi už ten druhý hvizd blesklo mi hlavou a také jsem robota odstartoval. Martin Dlouhý jen konstatoval "ARBot diskvalifokován". Ach jo, za blbost se platí.

Druhé kolo v 14:00. Jediné co mi letělo hlavou bylo dávej pozor. Ulovit GPS signál, zadat souřadnice, překompilovat, nahrát, první, druhé písknutí a start. Tentokrát to vyšlo. Robot brzy dojel zácpu která vznikla na cestičce.

[youtube:7cGjgg9iqVw]

Předjel Karlíka, projel první křižovatku a před druhou křižovatkou ještě předjel Shorty.

[youtube:wxqFlOW_A0c]

Na další křižovatce ARBot odbočil doprava a miřil k cíli. Bohužel po několi desítkách metrů náhle odbočil doleva. Zrovna v místě kde nebyla mimo cestu tráva. Ale proč odbočil? Při pohledu do mapy bylo hned jasno. Krátká cestička v místě schodů. V tomto kole ARBot dojel nejdál ze všech robotů. Super. :-)

Do třetího kola v 16:00 jsem šel s velkou nadějí. Start se zdařil. Robot se úspěšně vyhnul ostatním robotům a řítíl se přes mostek, kde dojel stojící Quido. Bohužel zrovna v okamžiku kdy Quido začal couvat. Ani jeden z robotů už nestačil zastavit.

ARBot se celkově umístil na 5. mistě což je určite pěkný výsledek.

 

Rád bych poděkoval organizátorům za perfektní práci a již teď se těším na další ročník, který se bude konat v Polsku.

 

 

Tags:

ARBot

Robotem rovně 2012

by Administrator 12. June 2012 20:22

Letošnímu ročníku oblíbené robotické soutěže nepřálo počasí. Jak říká klasik "Chčije a chčije". Robot byl navlečen do pláštěnky z igelitové tašky a pro jistotu byl ještě doplněn inteligentním nosičem deštníku.

Robotem rovně 2012 - ARBot
Robotem rovně 2012 - ARBot

Hmed od homologace robot z nejasného důvodu táknul doprava. Jediné co bylo možně rychle udělat bylo upravit bajvoko deklinaci kompasu a hurá do prvního kola. Bohužel po 33 metrech robot vjel do travy. Jen tak mimo soutěž následoval posun robota na střed cesty a restart. Ejhle robot dojel az do cile.

Do druhého kola jsem znovu upravil deklinaci kompasu a robot tentokrát dojel na znacku 75 metrů. Po restartu opět dojel až do cíle. Zajímavé bylo, že největší odchylka směru byla hned na startu. Že by nějaké porušení magnetického pole? Že by to způsoboval ten vobrovskej reprák po pravé straně?

Třetí kolo probíhalo dle známého scénáře. Úprava deklinace, start a vyjetí po 80 metrech. Nebudu to dál natahovat. Valnou část problému s kompasem jsem si způsobil sám. Kompas jsem kalibroval bez namontovanýho displeje, na kterým je malinkej repraček a tím se to celé rozhodilo.

Celkové 6. místo bylo určitě pod očekáváním, na druhou stranu nový lokalizační algoritmus dokázal robota udržet na cestě i přes chybu údaje kompasu.

Organizátoři odvedli skvělý výkon, účast byla hojná a tak jediné co se nepovedlo bytlo to počasí.

Tags:

ARBot

Příprava na Robotem Rovně 2012

by Administrator 9. May 2012 17:36

Prvním testem je ujet 100 metrů před barákem.

[youtube:iqZmswQmyVE]

Dál bych chtěl zkusit 400 metrovou rovinku u Keterinek, ale nevim zda to stihnu.

Tags:

ARBot

Tuhnutí MD23

by Administrator 2. April 2012 20:14

Asi tak rok po pořízení dvou motorových jednotek MD23 se začal projevovat takový záhadný problém. Pár minut po spuštění robota bylo vše OK, ale pak najednou se něco zbabralo a jeden motor se začal točit v opačném směru a výrazně se zpomalila akcelerace motorů. Žádné přeprogramování parametů jednotky nepomáhalo obnovit fuknčnost, jediné co zabralo bylo vypnutí. Problém se s časem projevoval častěji a častěji, postupně se objevil na obou jednotkách, na internetu se mi nepodařilo najít řešení a ani popis podobného chování. Celé trápení vyvrcholilo destrukcí obou jednotek. Koupil jsem dvě nové a vše bylo OK.

Jaké bylo mé překvapení když po nějakém čase opět začaly problémy. Tentokrát se projevovaly výpadky na I2C sběrnici. Po odpojení motorových jednotek problémy přetaly. Takže zase něco s MD23. Pomocí osciloskopu jsem našel nějaké zákmity na SDA a SCL vodičích. Zákmity jsem přes 12V napájení, kde dosahovaly 400 mVpp, vystopoval až za 5V stabilizátor na MD23, kde byly spičky 1.5 Vpp. Což bylo s jistotou za hranicí povoleného napájení PIC procesoru na motorové jednotce. Mimochodem to také znamená, že stabilizátor tyto pulzy zesiluje. Frown Pulzy vznikaly synchronně se spínáním výkonových tranzistoů motorové jednotky.

S postupem času se obtíže stupňovaly a začaly se projevovat stejně jako před rokem. Po čase se opět jednotky odporoučely. Asi nějaká větší spička.

Další dodávka jednotek už obsahovala modernější MD25. Spičky v 12V napájení byly výrazně menší a na 5V zanedbatelné.

Špičky v napájení MD23. Červeně 12V a žlutě 5V. Odfiltrovaná stejnosměrná složka.

Po dvou letech jednotky MD25 stále pracují jak mají. 

Tags:

ARBot

Detekce vozovky

by Administrator 16. January 2012 13:35

Metod jak rozložit obraz na různé oblasti je spousta, problém je najít tu pro náš případ nejúčinější. Nechci se tu rozepisovat o jednotlivých metodách, spíše ukáži co jsem zkoušel a s jakými výsledky.

První volbou je výběr barevného prostoru:

  • YUV – barvu reprezentuje dvěma parametry YU, jas udává Y, nativní formát modulu SRV1
  • RGB – každá ze složek ovlivňuje barvu a jas, nepříliš vhodné pro výpočty
  • HSV – parametr H určuje barvu, na šedé vozovce značně mnění hodnotu, nevhodné

Segmentační metody:

  • Visiir – segmentační metoda vyvinutá Jiřím Išou,
  • YUVBoxFilter – hodnoty YUV pixelů oblasti před robotem ohraničí boxem a všechny pixely s YUV v tomto boxu považuje za sjízdné, má problémy se stínama, neobsahuje znalost jak vypadá sjízdná cesta,
  • YUVSampleHistFilter – spočte pravděpodobnost výskytu hodnoty YUV pixelu oblasti před robotem, kterou pokládá za sjízdnou a všem pixelům obrazu přiřadí pravděpodobnost sjízdnosti na základě YUV, má problémy se stínama, neobsahuje znalost jak vypadá sjízdná cesta,
  • YUVHistFilter – všem pixelům přiřadí pravděpodobnost sjízdnosti na základě YUV, pravděpodobnost sjízdnosti konkrétní hodnoty YUV je určena na základě trénovací množiny z MSRC-v2 image database, tato metoda je implementačně nejjednodušší a zárověň dává velmi dobré výsledky, nikdy nebude považovat trávu za sjízdnou, nevýhodou je, že se neadaptuje měnícím se podmínkám reálného světa,
  • YUVGraphFilter – pomocí grafového algoritmu rozdělí obraz na oblasti s podobnou hodnotou YUV a dle průměrné hodnoty YUV v této oblasti přiřadí pravděpodobnost sjízdnosti obdobným způsobem jako YUVHistFilter, je výpočetně náročná.

 

Srovnání segmentačních metod
 Porovnání segmentačních metod, poslední řádek ukazuje vyvažení bíle posunuté směrem k žluté barvě, kde poslední dvě metody ztrácí na kvalitě

Tags:

ARBot

Month List