czech english

URPI FEI STU Bratislava

Bratislava

Tento tým z Bratislavy předvedl, že i během celodenního klání je možné na robotu pracovat a že existují výjimky, kdy se dá něco vylepšit. To bylo vidět na stále lepších výsledcích z jednotlivých kol, kdy poslední, nejlepší, kolo zajistilo týmu URPI FEI STU Bratislava druhé místo.

Súťaž mobilných robotov ROBOTOUR 2007

Marian Kľúčik, Roman Murár, Ľubomír Petrovič, František Duchoň

Abstrakt

Príspevok pojednáva o prístupe autorov, k riešeniu problematiky riadenia mobilného robota na súťaži ROBOTOUR 2007. V príspevku je popísaný hardvér robota – jeho senzory, pohonný systém, napájanie a tiež riadiaci systém. V ďalších častiach je popísaný prístup k riadeniu robota v podmienkach súťaže a tiež je popísané využitie hardvéru robota.

Úvod

Sme zamestnanci a doktorandi Ústavu riadenia a priemyselnej informatiky Fakulty elektrotechniky a informatiky STU v Bratislave. Na našom oddelení sa zaoberáme robotikou a umelou inteligenciou. V súčasnosti sú na našom pracovisku k dispozícii dva výkonnejšie mobilné robotické systémy – jeden pre indoor (vnútorné) priestory [1], ktorý je vyobrazený na obr. 1. a jeden pre outdoor (vonkajšie) priestory, s ktorým sme sa zúčastnili súťaže a predstavíme ho neskôr.
Mobilná robotika je v súčasnosti dynamicky sa rozvíjajúcim priemyselným odvetvím. Mobilné roboty vytvárajú nové možnosti automatizácie rôznych činností, využívajú sa pri činnostiach v nebezpečnom prostredí, alebo pri plnení úloh v náročných fyzikálnych podmienkach napr. na dne mora pri hľadaní nerastných surovín, v prieskume kráterov sopiek, čiže v prostrediach nebezpečných, alebo z iného dôvodu neprístupných človeku a samozrejme tiež pre uľahčenie práce v rôznych odvetviach. V bežnom použití sa dnes už vyskytujú roboty, ktoré pomáhajú v domácnosti – automatické vysávače, automatické kosačky alebo tiež ako „obsluhujúci personál“ v nemocniciach. Čoraz častejšie sa objavujú mobilné roboty s komplexnejším správaním, zatiaľ len s použitím v armáde alebo na súťažiach. Súťaž je menej agresívna metóda zmerať schopnosti a možnosti rôznych pracovísk a ľudí. Myšlienka zúčastniť sa na súťaži ROBOTOUR vznikla niekedy pred letnými prázdninami tohto roku – ale v tomto období nebol ešte k dispozícii vhodný mobilný robot. Vhodný hardvér bol získaný približne mesiac pred súťažou. V nasledujúcich častiach je celkovo predstavený mobilný robot a naznačený prístup k riešeniu riadiaceho systému.

Vybavenie robota MRVK-01

Robot, ktorý bol predvedený na súťaži dala naša fakulta v rámci programu VEGA [2] vyrobiť v ZŤS VVÚ Košice, a. s. Vzhľadom na to, že pracovisko sa zaoberá prevažne riadením, vždy bol problém vyrobiť mechanický podvozok, ktorý by podliehal náročným kritériám. Robot MRVK-01 zobrazený na obr. 2, tieto náročné kritériá spĺňa. Robot má štvorkolesový podvozok s diferenčným spôsobom riadenia pohybu, ktorý je schopný prejazdu členitejším terénom. Základom pohonného systému sú dva jednosmerné motory.
Prevod krútiaceho momentu z motorov na kolesá je riešený dvojstupňovými prevodovkami. Prevodový pomer teda možno meniť v troch stupňoch: 1:1, 1:2 a neutrál. Na výstupných hriadeľoch dvojstupňovej prevodovky sú umiestnené prevodovky SPINEA [3] s pevným prevodovým pomerom. Otáčky hriadeľa motora a otáčky výstupného hriadeľa sú snímané rotačnými inkrementálnymi snímačmi, ktoré sa dajú využiť na odometriu. Robot je napájaný z dvoch akumulátorových paketov, z ktorých jeden je tvorený jedenástimi NiMH článkami, každý s nominálnym napätím 1,2 V. Kapacita jednej sady batérií je 15Ah.
Jedným z hlavných senzorov, ktoré máme na robote k dispozícii je farebná kamera FCB-IX11AP (1/4" super HAD CCD, 40x ZOOM (10x optický / 4x digitálny), 460 TVr)[4]. Kamera je polohovaná dvojicou servopohonov. Je ju možné polohovať v horizontálnej rovine v rozsahu -120° až +180° a vo vertikálnej rovine v rozsahu -30° až +90°. Ďalším senzorom je laserový skener Hokuyo URG-04LX [5]. Skener sníma len vo vodorovnej rovine, s dosahom takmer 4m, s rozlíšením 1mm, uhlovým rozlíšením 0.36° a rozsahom skenovania 260°. Dôležitým prístrojom (hlavne pre súťaž) je GPS prijímač GARMIN GPS 18-5Hz [6]. Robot je vybavený snímačmi pre sledovanie pohybu a orientácie robota v priestore: gyroskopy ADIS16250, dvojosový inklinometer/akcelerometer ADIS16201, jednoosové akcelerometre ADXL103, jednoosový inklinometer ADIS16203 [7], elektronický kompas CMPS03 [8] a potenciometer snímajúci vzájomný uhol natočenia ramien, na ktorých sú upevnené kolesá robota. Medzi bezpečnostné senzory patrí šesť ultrazvukových snímačov vzdialenosti MaxSonar EZ-1 a tiež po bokoch sú ďalšie ultrazvukové snímače vzdialenosti SRF08.
Základným riadiacim systémom je priemyselný počítač od firmy Advantech. Procesor má taktovaciu frekvenciu 400MHz, operačnú pamäť 256 MB RAM a 1GB HDD typu Compact Flash. Okrem rozhraní pre myš, klávesnicu, SVGA, 2xUSB, LAN, tento počítač disponuje aj štyrmi komunikačnými portami - RS232, RS422 alebo RS485 a jedným PCMCIA slotom. K počítaču je tiež pripojený 54 Mbps multifunkčný bezdrôtový 2,4GHz access point WL-5460AP pre bezdrôtovú komunikáciu robota s prípadným operátorským počítačom. Osobitne je možný prenos aj videosignálu – je to zabezpečené pomocou bezdrôtového 5.8 GHz video vysielača VideoComm TX-5808. Príjem videosignálu je možný prijímačom VideoComm RX-5808 [9].

Implementácia riadenia

Robot bol dodaný len so základnými procedúrami, ktoré vývojári nevyhnutne potrebovali pre otestovanie jednotlivých subsystémov robota. Takáto bola aj požiadavka na robota. Z pohľadu vybavenia a zaručenej funkčnosti jednotlivých podsystémov mal náš tím na prvý pohľad „jednoduchú“ úlohu, zložitejšie bolo, že na túto „jednoduchú“ úlohu bol k dispozícii len jeden mesiac. Na to, aby sa robot stal autonómnym, bolo treba vyriešiť nasledujúce základné problémy:
  • určiť a implementovať riadiaci systém – potenciálny hardvér aj softvér,
  • napísať podprogramy pre získavanie a posielanie údajov zo/do všetkých podsystémov robota v rámci jednej aplikácie
  • implementovať autonómne riadenie robota t. j. určitú inteligenciu robota
Základom pre akékoľvek práce na robote bolo vyriešenie problému určenia hardvéru a operačného systému riadiaceho systému robota. Základná idea pre riadenie robota v súťaži bola kamera – v počiatočných fázach sme považovali kameru za hlavný prístroj. Od tohto sa odvíjali aj požiadavky na riadiaci systém. Faktom bolo, že základný riadiaci systém nebude mať dostatočný výpočtový výkon na spracovanie obrazu a súčasne aj na riadenie jednotlivých súčastí robota. Bolo treba určiť hardvér hlavného riadiaceho počítača. Uvažovalo sa nad dvomi variantmi – laptop alebo malý počítač VIA EPIA. Výhody laptopu sú jasné – dá sa jednoducho umiestniť na robota, má vlastné napájanie a je na ňom k dispozícii vhodné rozhranie pre programovanie. Nevýhoda tohto riešenia bola, že nebol k dispozícii vhodný hardvér pre laptop na digitalizáciu obrazu z kamery. Výhoda počítača VIA EPIA bola, že bol k dispozícii vhodný hardvér pre získavanie obrazu. Ako grabber bola použitá televízna karta do PCI slotu. Ďalšou výhodou tohto riešenia bolo, že počas prevádzky robota nemusel bežať užívateľský interfejs – šetril sa výpočtový výkon. Nevýhodou tohto počítača bolo, že ako zdroj energie museli slúžiť batérie robota. To, že ktorý systém sa použije ako riadiaci systém sa nakoniec rozhodlo až v noci pred hlavnou súťažou. Operačný systém pre hlavný riadiaci počítač bol vlastne preddefinovaný – na základnom počítači bol Linux Debian. Ako programovací jazyk bol určený jazyk C++, konkrétne vývojové prostredie KDevelop.
Po vyriešení problematiky základnej koncepcie riadiaceho systému robota sa mohla začať fáza sprístupňovania údajov do vytváranej aplikácie. Samozrejme tiež v tejto fáze bolo riešené aj posielanie príkazov do robota – príkazy pre pohybový systém a tiež pre senzory. Táto fáza bola najzaujímavejšia a zároveň aj najviac časovo náročná. Počas tejto fázy bolo predmetom diskusií riešenie hlavnej aplikácie – počas jedného mesiaca príprav na súťaž vznikli a zavrhli sa tri riadiace aplikácie. Základom všetkých vytvorených aplikácií bolo riešenie komunikácie medzi oboma počítačmi. Komunikácia bola riešená pomocou socketov – takto bol zabezpečený prístup k údajom, ktoré získaval základný počítač a tiež boli zabezpečené možnosti pre posielanie príkazov na jednotlivé zariadenia robota. Získavanie údajov zo senzorov pozostávalo v parsovaní údajov, ktoré permanentne posielal základný počítač na príslušné porty (v prípade jednoduchých prístrojov). Pri zložitejších prístrojoch, ako v prípade laserového skenera, bolo treba riešiť komunikačné protokoly priamo od výrobcov zariadení a následne ich parsovať do podoby prijateľnej pre naše aplikácie. Počas príprav na súťaž boli sprístupnené údaje zo všetkých senzorov a prístrojov na palube robota. Na obr. 3 je znázornená vizualizácia údajov z laserového skenera a tiež obraz z kamery. Môžeme si všimnúť, že na vizualizácii z laserového skenera je zreteľne vidieť roh skrine.
Jedna stránka problému bola v sprístupnení údajov zo senzorov, druhá bola v správnosti poskytovaných údajov. Toto bol prípad GPS snímača – bol zrejme problém s fixovaním snímača na satelity. Do súťaže ostával jeden týždeň, nebola implementovaná žiadna inteligencia ani rozvinuté spracovanie obrazu. Obraz mal byť základom autonómneho riadenia a navyše GPS zariadenie, ktoré malo byť v podstate druhým základným senzorom, nefungovalo správne.
Počas celého obdobia programovania robota sa uvažovalo nad rôznymi koncepciami riadiaceho systému. Týždeň pred súťažou nebola v konečnom dôsledku implementovaná žiadna komplexná koncepcia. Má to súvis najmä s faktom, že bolo dosť iných problémov, ktoré bolo treba nutne vyriešiť a naprogramovať (napr. sprístupňovanie údajov, testovanie atď.), ďalej aj s tým, že nebolo isté či budú fungovať základné senzory. Problémom pri kamere bolo rozpoznávanie cesty a problémom GPS, už spomínaná fixácia na satelity. Na nasledujúcich riadkoch sú opísané jednotlivé uvažované stratégie:
Stratégia č. 1: Hlavným senzorom je kamera, prídavný resp. hlavný riadiaci počítač slúži ako hlavná inteligencia t. j. spracuje obraz a na základe tohto spracovania sa vykonáva pohyb robota. Rozpoznávanie predpokladanej cesty robota malo byť založené na rozpoznávaní okrajov chodníka – segmentácia obrazu, identifikácia čiar. Táto koncepcia sa ukázala do určitej miery problematická. Bola implementovaná identifikácia čiary, ktorá fungovala pomerne rýchlo (na základe Houghovej transformácie implementovanej v OpenCV knižnici [10]), aj pomerne spoľahlivo za stabilných svetelných podmienok a správne nastavených parametrov. Práve toto bolo kameňom úrazu – stabilné svetelné podmienky a správne nastavené parametre – nebol dostatok času na uskutočnenie dostatočne veľkého množstva experimentov a optimalizácie rozpoznávania. Napriek týmto problémom bola snaha o spojazdnenie tohto variantu riešenia.
Stratégia č. 2: Táto stratégia predpokladala funkčnosť všetkých senzorov. Hlavným senzorom, ktorý mal určovať globálnu stratégiu pohybu, bolo GPS. Kontrolu mal zabezpečovať kompas. Pri pokusoch počas príprav bolo zistené, že tento prístroj má nelineárny priebeh a výstup je silne rozkmitaný v rozsahu ±6 stupňov. Bolo rozhodnuté, že na kontrolu otáčania, hlavne na križovatkách, sa bude využívať gyroskop. Kamera mala slúžiť ako kontrolný nástroj pre zotrvanie na chodníku. Ostatné snímače ako laserový skener a ultrazvuky mali plniť bezpečnostnú úlohu – mali zabrániť kolíziám. Objavila sa úvaha, že laserový skener by bolo možné využiť tiež ako senzor, ktorý by zabránil tomu, že robot zíde z chodníka (podľa stromov, lavičiek a. p.). Pri experimentoch vykonaných vo vonkajšom prostredí sa však ukázalo, že laserový skener je do značnej miery ovplyvňovaný poveternostnými podmienkami (prach, vietor). Na záver predstavenia tejto stratégie musíme konštatovať, že túto stratégiu sme nestihli a vlastne ani nemohli vôbec implementovať – dôvodom bol už spomínaný problém fixácie GPS a tiež spracovanie obrazu z kamery.
Stratégia č. 3: Táto stratégia predpokladala ako hlavný senzor kompas, na základe ktorého by bolo riadené smerovanie robota a na základe odometrie určované miesta zmeny kurzu. Žiadaná hodnota natočenia robota mala byť generovaná pomocou RNDF. Táto stratégia bola v podstate od počiatku zavrhovaná z dôvodu už spomínanej nelinearity a príliš rozkmitaných údajov z kompasu – pred súťažou nebola vôbec implementovaná.
Stratégia č. 4: Táto stratégia mala byť založená na podobnom princípe ako predchádzajúca, len hlavným prístrojom mal byť gyroskop. Gyroskop spôsoboval nestabilné držanie smeru z dôvodu meniaceho sa driftu a zakmitanej výstupnej veličiny. Počas pohybu sa chyba integrovala.
Boli uvažované mnohé stratégie, ale v súťaži to napokon dopadlo úplne inak. Stav robota deň pred odchodom na súťaž by sa dal označiť za minimálne „zaujímavý“. Ako autonómne riadenie boli implementované len jednoduché procedúry, ktoré neboli veľmi použiteľné v súťaži (napr. pohyb po chodbe na základe laserového skenera). Deň pred odchodom na súťaž ešte nebol vyriešený ani problém GPS a ani problém kamery, kompas bol chápaný ako nespoľahlivý. Očakávali sme aj problém s batériami.

Súťaž ROBOTOUR 2007

Po príchode na miesto súťaže, sa začalo s prípravami na homologizáciu. Príprava pozostávala v príprave stop tlačítka, nalepenia majáku a v naprogramovaní stratégie pohybu počas homologizácie. Logicky bola použitá čiastočne odskúšaná stratégia pomocou kompasu a odometrie. Bolo odhadnuté, že na vzdialenosť, ktorá sa vyžadovala pri homologizácii stačí využiť aj pomerne nepresný kompas. Do riadiaceho systému bol implementovaný určitý počet bodov, v ktorých sa vždy po určitej prejdenej vzdialenosti mal korigovať smer podľa kompasu. Stratégia sa ukázala ako funkčná – homologizácia bola úspešná.
Na druhý deň bola hlavná súťaž. Úlohou v súťaži bolo prejsť trasu dlhú približne 1 km, ktorá sa skladala z rôznych úsekov. Úseky boli rôznorodé, od križovatiek cez rovné úseky, od úsekov s dlaždicami po asfaltové úseky a od úsekov bez prekážok až po úseky so statickými prekážkami. Za prejdenie jedného úseku bolo možné získať jeden bod, pri prejdení úseku s nejakou užitočnou záťažou 2 body. Na samotnú súťaž bol robot už lepšie pripravený – počas noci sa podarilo upevniť a spojazdniť v dovtedy nevyskúšanej konfigurácii pôvodne zamýšľaný hlavný počítač VIA EPIA a tiež esteticky upraviť robota. V prvom kole bol úmysel nastúpiť s tým istým algoritmom ako pri homologizácii – nepodarilo sa však spustiť riadiaci program na hlavnom počítači. Prvé kolo sme teda ani nenastúpili. Druhé kolo dopadlo trochu lepšie – podarilo sa spustiť riadiaci program – bohužiaľ robot zišiel z dráhy už v prvom úseku. V druhom úseku sa stalo to isté a pokus bol v tomto kole ukončený bez bodov. Pred tretím kolom bol zmenený algoritmus riadenia a robot bol naučený časť trate. Bola uplatnená záchranná stratégia, ktorej účelom bolo bodovať. Stratégia sa ukázala ako účinná – robot prešiel dostatočnú vzdialenosť so ziskom 22 bodov (robot niesol tiež užitočný náklad). S prekvapením sme tiež zistili, že to vyzerá aj na pekné umiestnenie. V ďalších kolách sa podarilo úspech zopakovať a bol získaný dostatok bodov na druhé miesto. Pôvodne zavrhovaná stratégia pomocou kompasu a odometrie sa ukázala ako veľmi jednoduchá a veľmi účinná, dôkazom úspešnosti tejto stratégie boli aj výsledky iných tímov.

Záver

Z nášho pohľadu možno účasť na súťaži ROBOTOUR 2007 zhodnotiť ako veľmi úspešnú. Čas, ktorý bol k dispozícii sa maximálne využil. Bolo vykonané množstvo programátorskej práce na robote a bolo získaných množstvo skúseností. Náš výsledok a nielen náš ukázal, že jednoduchý algoritmus riadenia robota môže mať naozaj dobré výsledky. Základom úspechu bol kvalitný hardvér – väčšia hmotnosť a robustnosť mechanizmu zabezpečili dostatočnú stabilitu riadenia robota týmto jednoduchým algoritmom (kompas a odometria). Kvalita použitého stroja sa ukázala aj pri samotnom programovaní – po odladení obslužných procedúr, čo sa robotovi prikázalo to spravil. Zámerom do budúcnosti je urobiť robota inteligentnejším – okrem jednoduchého prejdenia trate by mal byť schopný obchádzať prekážky na trati, určovať náhradné trasy v prípade znemožneného prejazdu a. pod. Robot by mal vyžívať pri svojom prejazde terénom celú škálu senzorov. Dúfame, že v budúcom ročníku sa zúčastníme súťaže práve s takto inteligentným robotom, ktorý bude schopný prejsť celú dráhu a aj s tým, že by bol schopný sa vyhýbať potenciálnym náhodným prekážkam.

Poďakovanie

Tento príspevok vznikol za podpory grantovej agentúry Ministerstva školstva SR VEGA 1/3120/06

Literatúra

[1] Murár, R. –– Kľúčik, M. ― Jurišica, L.: Mechatronické vyhodnotenie trakčného systému mobilného robota, AT&P journal PLUS 2007, č. 2, ISSN 1336-5110
[2] Vedecká grantová agentúra MŠ SR a SAV (VEGA), http://www.minedu.sk/index.php?rootId=416, 31. 10. 2007
[3] http://www.spinea.sk/, 31. 10. 2007
[7] http://www.analog.com/, 31. 10. 2007
[9] Jurišica, L. – Murár, R. – Duchoň, F. – Kľúčik, M. – Petrovič, Ľ.: Roboty do vonkajšieho prostredia, AT&P journal 11/2007, ISSN 1335-2237
[10] OpenCV Library: http://www.intel.com/technology/computing/opencv/, 31. 10. 2007
Ing. Marian Kľúčik Ing. Roman Murár, PhD. Ing. Ľubomír Petrovič, Ing. František Duchoň,
FEI STU Ústav riadenia a priemyselnej informatiky Ilkovičova 3 812 19 Bratislava