160 likes | 291 Views
Rozpoznávanie objektov pomocou OpenCV v robotickom simulátore iCub-a. Michal Rataj - Bakalárska práca. Plán a postup práce. iCub simulátor, YARP. http://eris.liralab.it/wiki/Main_Page
E N D
Rozpoznávanie objektov pomocou OpenCV v robotickom simulátore iCub-a Michal Rataj - Bakalárska práca
iCub simulátor, YARP • http://eris.liralab.it/wiki/Main_Page • iCub je robotická platforma vyvíjaná konzorciom RobotCub, robot ma veľkosť trojročného dieťaťa a má 53 stupňov voľnosti. Vo svojej práci však pracujem so simulátorom iCub-a, ktorý je vernou kópiou skutočného robota a poskytuje všetku potrebnú funkcionalitu. • YARP – YetAnother Robot Platform – knižnice, protokoly a nástroje slúžiace na komunikáciu s robotom (simulátorom).
iCub simulátor, YARP www.cthacks.com, www.easyicon.cn, eris.liralab.it
iCub simulátor, YARP • Príkazy priamo z príkazového riadku:// natočenie ramenayarprpc /icubSim/leftarm/rpc:i // pripojenie na portset pos 0 45 // príkaz • Požiadavka na komunikáciu z programovacieho prostredia
iCub simulátor, YARP • Ten istý príkaz pomocou C++ Networkyarp ; RpcClient worldclient ; // Vytvorenie RPC klienta worldclent . open ( "/sim/armRPC" ) ; // Vytvorenie por tu worldclient . addOutput ( „/icubSim/r ightarm/ rpc : i " ) ; Bottle cmd , response ; // Pripravenie správy cmd . addString ( " set " ) ; cmd . addString ( "pos " ) ; cmd . addInt ( 0 ) ;cmd . addInt ( 4 5 ) ; wo r l d c l i e n t . wr i t e (cmd , response ) ; // Odoslanie správyp r i n t f ( r e spons e . t oSt r ing ( ) ) ; • Nepraktické pri väčšom počte príkazov.
iCub simulátor, YARP • Ten istý príkaz pomocou motorického rozhrania YARPu v C++ Networkyarp ; Propertyoptions ; options . put ( " device " , " r emotecont rolboard " );options . put ( " local" , "/ test / client " ) ;options . put ( " remote " , "/ icubSim/ rightarm" ) ;. . . . .command=0; // Pripravenie natočenia kĺbov . command[0]=-50; command[ 1 ]=2 0 ; command[2]=-10; pos->positionMove (command . data ( ) ) ; // príkaz
OpenCV • http://opencv.org/ • Na spracovanie jednotlivých obrazov získaných z očí robota budem používať funkcie, ktoré poskytuje knižnica OpenCV. Jedná sa o funkcie na nájdenie hrán, vyhladenie a rozostrenie, vyhľadanie kontúr a obrysov, orezanie obrazu atď.
Ukladanie dát • Reprezentácia tvaru – PHOG metóda, ktorej výsledkom je jednorozmerný vektor (veľkosť podľa parametrov) • Reprezentácia farby – jednorozmerný vektor s 225 stĺpcami • Obe metódy sú implementované v OpenCV a sú priložené aj v priečinku s iCub-om
Spracovanie dát • Neurónová sieť – objekt popisujúce vektory (farba, tvar) budú slúžiť ako trénovacia množina pre neurónovú sieť. • Učenie s učiteľom, backpropagation – učenie objektov, určovanie ďalších akcií simulátora, rozpoznávanie objektov • SOM – self-organizingmap – reprezentácia údajov (farba) pomocu mapy