Controlul Unui Robot Mobil Prin Gesturi Umane

download Controlul Unui Robot Mobil Prin Gesturi Umane

of 66

Transcript of Controlul Unui Robot Mobil Prin Gesturi Umane

  • 8/6/2019 Controlul Unui Robot Mobil Prin Gesturi Umane

    1/66

    UNIVERSITA . "DUNAREA DE JOS" G'ALATI.FACULTATEA DE STIINTA C'ALCULATO'ARELORSPEClALI1.ARL~~ _:\.LI'01)IA.TIC,A~llNFORMATICA APLICATA

    indrumitor:~.l. dr, iD'g~Solea RJizvan

    AbsolvennCozma Daniel

    -2010-

  • 8/6/2019 Controlul Unui Robot Mobil Prin Gesturi Umane

    2/66

    UNIVERS ATEA "UUNAREA DE JOS" GALATIFACUL TATE~ DE STIINTA CALCULATOARELORSF'EClALUAR_.\: A lT TOM 1\.T IC A S I INFORMATICA APLICATA

    Controlul unul robot mobil'-prin gesturi umane

    indrum,ator:~J~dr, ing~~oleaRitzv,an Absolvent:Cozma Daniel

    -2010

  • 8/6/2019 Controlul Unui Robot Mobil Prin Gesturi Umane

    3/66

    Cuprins

    Lista flgurilor " " " ., " 5Introdueere " , + , ,, ' . . , . , , ." ,8Capirot:lIll ~ At.hbipa ~iprn eesarea im agjuiJlor", i ll 0

    ~.l Ac,hiz~"liaim aginilor ., ", , ,., , ,.101,.2Procesarea im aginilor .................................. " ".", " ,."" " """ ",, "' 111.3 Notiuni generale " .., " , " '"" "'"' "." " , ~2

    1.3..1 Spa;tii de culort "' ., ,...............", ..." ...., " m 21.3,} Co.ne,c:tivitatea p ixe ii lo r .. ... .. . .. .. ... .. ... .. .. ... " , " "' '', , " " , ," ' ,. 141.3.3 Trans/(Jf,rniiri aplicate imag .inilor . .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ... .. . , . ...151 . 3 . 4 Tipuri de imagini " " ", " "....m 6

    1 . 4 + Acfi]zipa imaginilor folosind pacheml software Matlab J7] . . 5 . . Pmeesarea imaginilor folosind pachetul software Matlab " , ,., "', ,., ,.. 18

    1,5.1 Binari'ZCJrea . im~ginl l(Jr 18I5 "2 E ro da rea ~'idila ta l'ea jorm elor din trmo imagin e bin ariza tii.. .. , , 201 .5 .3 E llm i na re a f ormelo lj ' iumpl:erea &{i;ufilordin forme .. ... . ... .. .... .20

    Co,:i.tolu.12 ~ Preieetarea ~iimp~ementarea.algor.itmU!hd , .222.1 Cunoasterea ~i definirea proh lem eL , 222.2 Elaborarea de solutii alternative ~i evaluarea lor , 222.3 S elec tarea eelei rom . bune solut ii . . .. . .. . .. . .. . .. . .. . .. . .. . .. . . . " . . ", ., . . . .. . . . .. . .. . .. . .. . .. . .. . .. . 222.4 D esignnt sissem ul ui. ,............................""' "' ,. ,.....""' ...2325 Implementarea solutiei alese " , 23

    2.5.1 Jden t if icare ,a~ i msnararea formelor .................., 282.5.2 incadrwealormeide interes imr-un patndater , ',.292, ,5.3 Separareaformei de ime.res d e rest:ul.im~ginii......................................3025.4 CalculuJ cemretor de greutate aleformelor prezeme tn . imag ine ..... . .. . . .3 02 . 5 . jC alculul distcm tei din tre dcn lii pun cte , " .3 A2.: 5 . .6 Ca /cu i 'l ll unghlulu i d in trec ire ,a .p ta pare le lt i Clit axa O x ce treee princmtrulformei fld rea pta fo rm a tiJ d e ce.n tru lfo,rmei $i cen troidul acesteia .J.I

    Capirolul . 3 - .Resnnde bard.ware,iI soiftwar>cfoiosite , 333 .1 Robotul m obil. " 33

    3 .1 .1 S cu rt is to rie at robo/.il or mobil! " .3 3],.J.2 Modelul cinem atic al robotului. . .. . .... . .. . .. . .. .. . .. .. . .. . .. . .. . .. . .. .. . .. . .. .. .... .. . ...35

  • 8/6/2019 Controlul Unui Robot Mobil Prin Gesturi Umane

    4/66

    3. ,1.3 CtIJ'lJ.cren In-I! 1"obu/~lui , " "", ,,, ,, ,, , ,.. , ,........... , .. 363.2 Camera web _ _ , , ' """ ",""'"_" " 383 . ,3 L ib rariile AR t< \ .. . .. , . . . . . . . . . . . " . . . .. . . . . . . . , . . .. . , , . .. , ,.383.4 Simulatorul MobileSim,. ._'.---....., "." " " " "................ ,.......393.5 Pachetul software 1 \ , 1 1 \ rLAB , , _ 403.6 Legamra dintre Matlab ~iARIA _....................... , , ..40

    Capirro l, ul, 4 ~ RUJutate expertmearale , , " , , .4 24.1 Psezemarea rezultatelor pentru gestul STOP ."" , " ,', ,', " ,,', , ,.424 ..2 P re ze nta re a re zu lta te lo r p en tru g es tu l STANGA .._................. ,..................... '._4441 .3Prezentarea re zu lta te lo r p ern ru g es tu l DREAPTA ,,, ,' , , , ", , ,"414fAPrezentarea rezultatelor pentru gestul iNAPOJ._ _ .. . _. .. .. .. . . , .. .. , __. .. .. .. . .. .. .. .. . 504.5 Prezentarea rezultatelor pentru gestul IN A1N TE . __ _ __ ..--_ - -.- -_S34. ,6 Rezula ta te geaerale, "" '''" " " "." "." "" " " ., 56

    , C ,on .c lu z !ii . .. .. . .. .. ,. .. . . , . , .. .. . .. .. .. . '. .. . . .. . .. .. .. .. .. . .. .. .. .. '. .. .. . .. .. ' '" " ." ' '' ". .. . ' " " . . " _ ,, 58lJ:ibliogrnfie ,,, "" ''"" " " , ,.:59

  • 8/6/2019 Controlul Unui Robot Mobil Prin Gesturi Umane

    5/66

    is ta fig :urilo r

    F igura i nt roduc ere : Scena - 1 de care' S~ pornit aceast1ll. lucrare ., , : : : 1F igura I.I - F iltru Bayer __n - _ ,.'10Figura ].2 - Codarea RGB $ o i eodarea YCher , 13Figura ].3 - R-epr;ezent~rellpixelilor d culoare in Matil.lJb , + ", 13Figura L4-Spatiul. de culori HSI. (s1ing;:i)~spatiul de eulorl HSV (d reapta) , , .l4Figura W .5- Exemphi de 8-

  • 8/6/2019 Controlul Unui Robot Mobil Prin Gesturi Umane

    6/66

    F ig ura . 2 ..9 - Des enar eaF igura 2..10 - Form a de .

    er Injurul forruei de interes 30t3 de restul imaginii .........................................................0

    Figura 2.] 1- Reprezemares pe __ uigonemetrica valorilor functiei atan2 32F igura 3 .1 - G eneratiile d e robed ] de la S c:ny 33Figura 3.2 - Robotul BigD g Iansa Boston Dynamics .34Figura 3 ..3 - Robotul Seekur produs de MobHeRohoits.inc 34F igura 3 .4 - M odelulem em arie a robotului m obil P eop~eB(lL .35Figura 3.5 =Ceracteristicile rohetului, 36Figura 3.6 _ Dimensiuniie robotului +++ 3 , 6 .F igura 3 .7 - P anoul d e control a roboului Peoplelsot.. 37F ig ura 3 .8 - R ep re-L en ta;rea p rln c ip alelo r .1 ibrari i ARIA .. . , +.... 3 9Figura 3.9 - Legsnaa d in tre MATLAB ~iJibrariile ARlA 40Figura 3.]0 - Diagramade clasea ~nt.erle~eiARIA-~TLAB 41F igura 4 . I - A ch iz itie: STOP .42Figura 4..2 - Binarizare: STl)P._ + 42Figdra 4 .3 - E rodareIDU atare: STOP 43F igura 4 .4 - E Jim inare spa~H .aJJbe!m.argini/gitud; STOP ++ 43Pigura 4.5- Incadrarein dreptunghi; STOP .,43f:igura. 4.6 - Sepamrea fO,l'me~: S-TOP 44F ig ura 4.7 - A !c hiz itie: S 1'AN,GA 44Figum .4 l . 8 : - E I inarizare: Sf ANGA , ,..........4F igura 4.9 - E rodare/D ilatare: STANGA ,45F igura 4.1 0 - Ehm inare spatll a~be/ma:rginilgallri: ST ANGA 4:5F ig ura 4 .1 1 - Inc ad rnre in d repnm g hi: S TANGA + ,4 5Figura 4.12 - Separarea form ei: ST A .NGA . + 46F igura 4. ] 3 - Snap-shot M obU eS im : ST AN GA . + ++ . .46F igura 4.14 - Pozitie robot: STA_NGA ..46Figura 4.15 - Orientate robot: STANGA +.+ +++ .47Figura 4 . . J 6 - Achizi~ie: DREA.P 'TA 4'7F igura 4 .1 7 - B iaarlz are: .DR E-A.PTA + _ 47"Figura.4.18 - Erodare/D ilatare: DREAPTA .48F igura 4+19 - E] im inare spa~i~~ lbe!m a:rginU giU li'i: DREA PTA . ..48Figura 4..20 - incadrare in dreptunghi: DREAPTA .48Figura 4.21- Separarea formei: DREMT A + 4'9F igura 4.22 - Snap-shot M obileS im : DREAPT A 49

  • 8/6/2019 Controlul Unui Robot Mobil Prin Gesturi Umane

    7/66

    Fwgura 4.23 _ Poz itie A ---......... - -, ., ,., , , 49Figura 4.24 - Orientar rooot: 0 ,\P'l A ,.., 50Figura 4.25 - A:ch[ziti.e: i l ' \ AN 50F i: g-U fa4 .26 - B inariz ar e: h > : . - \ roI .._ , 50F igu ra 4 . .2 7 - B roda re 'D i la ra re : ~_,.\roL " 51Figura 4..28 - Eliminate spatf albe ma:rg~ni/gaur[! INAPOL., , 51Pigura 4.29 - lncad m re in drepmnghi: i N MOL 5'~F igura 4 ..30 - Separarea form ei: iNAPOL ., ., :52F igura 4.31 - S nap-shot M obileS lm : INAPOL , ,., , , 52F ig ura 4 ..3 2 _ .Pozi1~e robot: INAPOL ., ., . , 52F igura. 4 .3 .3 - O d entare rob ot. '[N.A.POI 53F ig ura ,4 .3 4 - A c hiz ltlc : .fN.AlNl'E 53F igura 4 .35 - B inarizaee: INA INTE 53F igura 4 ..36 - Brodare/O ilatare: tN .A INTE 54F ig l.ua 437 _ B lim inare sp~fj[a]belmargi.n.ijgiU!ri: tNA fNTE 54Figura 4.38 _ fncadrare indreptangh i: iNA INTE 54H gum 4.3 '9 - Separarea form ei: iNAmTE 55F ig ura 4 .4 00 - S nap-s hot M o bilefilm : iNAINTE 55Figura 4.41 - Pozitie robot: iNAIN1E " 5.5Figura 4,42 - Orientare robot INAlNTE 56F~gura 4 ..43 - R ezultare sim ulator suita de gesturi., "." 56F igura 4.44 -P ozitia robotului I ,e z u h : a .t i! , i n urma , efbcmi \l ir iiunei suite d e gesturi 57F igura 4.45 _ O rientarea robotului rezuh ati ~n urma .ei i' ec t !l~ ii !l !1ei suOC ede gesteri., 57

  • 8/6/2019 Controlul Unui Robot Mobil Prin Gesturi Umane

    8/66

    In trod ueereOamenii se exprima din cele mai vechi t impuri cu ajutorul gesturilor, Aoestea

    reprezinta mostenirea noastraancestrala, de aceea viitnriinosti roboji ax trebui s a recuaoasca~isa rescjioneze laanumite gestur i umane. Pentrucaacestia sa poata identifica imaginile , ~ 1 L 1nevoie d e 0camera dit m al buna ~i0putere de _ pm c e,..:;;areare, R ob otii s un t d in c e in c e m a l.folositi deoareee au unele avantsje faf& de oameni, 1 n priIDuli rand, nu obosesc ~i nu seplictisesc la efectuarea unor task-uri repetitive," lki1e obstacole tehnice ~ 1 l J . i t a K n ~ . t e in.procesarea imaginilor lareprezinta condi tri1e de iluminare schlmbatoare chiar ~i de la ora laora inexact aceeasi ]ncinJt~mt~i nevoia de putere mare de proeesare, Pentru a dep~i}iacesteobstacole, algoritmii de procesare video se pot aplica foarte bine in hale san camere in . care seem ~ .. . Ie.] ,0 d'" de n " . . .,. "Hil ace .a~ ,on, ltll, __u]]J.Jnare,Pentru aceste oond~p.~am imsginat urmatorul scenanu: ointreprind:er,e folcseste

    roboti mobili penrm traspertul echipamentelor ~ : i . marfurilor de pe linia de asamblare spredepoz ite , i.nmod norma l, a ce ste depozite c omunic aunu i s erv er ImormatH d espre g rad ullor d e] l1J:C~, dar laun moment-da t , aceasta 1:e 'g3tur~.epozite-server este i .ni tre :m pta. Pentru a nnafeeta productivitatea, un operator uman trebuie s a ghideze robotii spre depozitele libere, Casa.na fienevoie de un angajat special pregooipentmaoesttip de misiune, monrampe roboti encam era si uncalculator pentru idennflcareagesnuilor e fe ctu are d e cine, acest opeJator.

    Depozit Istanga d r 'Gapta

    Depozit 1inainte

    Figura introdncere: Scenariul de la care s-a pornit aceasta luerare

    8

  • 8/6/2019 Controlul Unui Robot Mobil Prin Gesturi Umane

    9/66

    I i D . aceasta Icrare am prespus ca oper~torul efecm.~. dOM cinci g-:es1ruri.importantepemru I,ooot stanga, drea:pta.. -nte. inapoi t} l stop. 'lnprinud. cailJpUol a m . prezeJ.umodalitatea de achizltionare a imsginilor cu ajuto:rul paehetulul software MatLab (MatrixLaooraJ iuo[ } ') ~_ prineipalele comenzi utilizate inpmcesare:a. video. [ n c ap ito lu l al doilea amlexplic31t wgo[iitmul i m p h ; : m e T I t a L in unn ato:rn[ , c a p . ~ . t D : 1deseriem caraeteristicile I ' O l 1 o h d u r muti[izat,. mediul de dezvoltase .ARIA (Advanced Robolmcs Interface for Appliestions) ~i.~egi1turadintre ARIA ~iMatl.ab, in ultimul capitol prezent1i.m rezultetele experanentaleobtinate in urma implementarii practice a . a lgor i tmu l 11~.

  • 8/6/2019 Controlul Unui Robot Mobil Prin Gesturi Umane

    10/66

    Capltolul IAebizitia $i preeesarea imaginilor

    1.1 Adlizifia i.magimlo['tn ~iinta caleulatoarelor procesa.rea imaginilor reprezinta 0 imum de procesare de

    semnal, in care intrarea 0 reprezinta 0 imagine san 0 succesi IDle de imagini, far iesirea 0reprezinta 0 a ltA ima g in e, d erivB J.taa m irnrare, sau un set d e param etri dedusi cu. w jutond .imaginii de intrare, Cele jnai multe procesari de imagine trateaza aestea ca semnalebidimensionale, iar operatiile aplicate asupraacestora eeprezinta operatii desintalnite a:pBca1e~i semnalelor uaidimensionale, cumar f i filttsrea, cuantizarea, corectiile de diferite tipuri,apHfic[d, etc"

    Imagistiea digitala re;prezinita\ procesul de creare a imaginilor digitale ..Aeest preces ainceput illanii '60pe:ntrl:L atrece peste inoonv'eoie~tele imaginilor analogice achizitionate pefilm. 0 imagine digltar~ poate fi creata direct dintr-o seena fizica ell ajuto:ru[ unei camere, sauprin transfurmerea analog-digitala a unei imagini analogice deja existents cusjutoeul unuiscanner prin procesul de digitizare: esaraionare - cuantizare ..IinaginHe mai pot fi sintetizate ~ien ajutorul unorecuatil matematice san modele geornetricevproces ce este CU!llOSC1!1'it carenderizsre aimaginilor,

    Camerele a.chizi~1.oneazl1imagini de 0 calltatenu indeajuns de booa pentru a aplicaalgoritmi complecsi, S-a pornit en camere cu senzori fotoelectrici CCD (Charge.~C(}upledDevices; mai apoi intrand incompetitie ~isenzorii APS (Active-Pixel SensQr). cunoscuti ca ~isenzori CMOS (Complememary Metal-Oxide-Semico.nducmr).

    C am erele, ind iferent de senzorii cu care sunt ech ipate, folosesc 0 lentiW c arefDca]jzeaza imaginea asupra senzorilor fotoelectrici, Pentru imaginile color, deasuprasenzorilor se plaseaza un filtru, eel mai folesit fiind Filtrul Bayer de tip GRGB (Green-Red~Green-Blue).

    IIIiiii,...~"'.F igura ]. I - F iltru Bayer

  • 8/6/2019 Controlul Unui Robot Mobil Prin Gesturi Umane

    11/66

    Software-ul utilizer In procesarea imaginilorestepachetul de programe lWttlalJ,deoarece are deja implementstun tool-box foarte potent pentru editarea imaginilor, Cucatavem 00. hardware mai putemic, cu a t \ a J t transformsrile video VOl' fimai rapide, iar rohotnlvaprim] mai rapid comenzi.

    C~pilo1u11- Achizitia si ~ imaginilorLa 0 camera en ~~.:l ceD. fiecare senzorare un eondensator care se lncarca in

    nm.ctie de intensitatea luminii care cade asupra lui. CI:rcuHul de contrel 0blig.i condensatoriisatrimita sarcina eleetrica spre \ ecinul lui, iarcondensatorul din capatul nlndu~ui trimitesarcina.unui amplificator de sarcina, care (Itransforma inte-o tensiune electrica,

    La 0 camera de ti pAPS. fieeare senzor este 0 fotodioda MOS. iar circuitul decontrol achizi~~oneaz:ainfonnaria din. fiecare senzor 1 1 1 aeelasi timp, ceea ce fare ca.ares! tipde camere safie mai rapide in achizitionarea imaginilor deem una en senzori de tip ceD .

    Dupa aC!hiz~!io:nareaimaginii ~itrs ns form a rea e~ tn informatie digitala, d in camera,aeeste informatii sunt transmise calcularorului prin portal USB catre computer, care va facediferite transformari pentru a ajunge la 0 imagine coerenta din punct de vedere acomputerului,

    1.2 P ro eee a re a im a giiD Ji~ .o rImaginile an nevoie de procesare lnprlncipa[ pentru a fi mai usor vizualizste ~~

    mtelese de caire un operator uman, Procesarea d e im ag ini ajutii ~iIn extragerea informatiiloresentiale dinrr-o imag ine ,

    Procesarea imaginilor presupune transformarea semnal ului bidimensional cu aju~orulmal multor tebnici. eel mai des, asu:pra imaginilor se efectueazatransformari euclidiene:In .a [ iH~, micserare sau rotire, sau coreetii de culori, cum ar fi: ajustariale luminozitatii ~]contrastelui san modificari ale culorilor, Mai far se efectneaza naesformari de tipul: reducereazgomo tu ln i s au evidemiereenmchiikrr.

    Apli.c;atiiale procesarii imaginilor gasim ] 1 1 1 . mal mnlte domenii, cum. ar fi:1. Vederea eomputa!hmala - este otehnologie ce permite masinilor . s a ~,vad8!n.

    Acea sta te hn olo gie accepta aFHcali~ die control a robotilor sau vehicalelor autonome, Idedelectate a evenimentelorpemru supraveghere video ~inumarare a. obieetelor, sen interactineaom-masina, imaginile f ii nd folos ite ca intr~i la procesel-masina

    2. Sortare opt/eli - este un proces de sortare vizualaat obiectelor, C oo r um simplasortare Sf efectueaza eli ajutond.ooei fetodiode san fctorezisteme care 'inregisiteaza eanritateade lumina reffecara de obiect, Sortarea complexa presupune '0 camera video pentru detectareaculorilor san ehiarrecunoesterea fcrmelor,

  • 8/6/2019 Controlul Unui Robot Mobil Prin Gesturi Umane

    12/66

    3. Deteqia ere- - este 0aplieatiecomputationala ce permite identificarea fetelor~. ignorarea restului irnaginii. Detectarea este i!tSOlid.. de cele mai multe ' O n ~i de identificareapersoanelor dupa caracterisricile f tei. Mai nou, aceasta aplicstie vine ~i tn ajutoru~ salvariienergiei: daca 0 persoana pri veste un morntor sanun televizor i~iste distras, pentru 0vremerenunrand la aceasta acti vitate. respeetivul echipament 'i~i scade Iuminozitatea p a n a l laintoareerea persoenei respective.

    4. Urmarirea benzii de circulatie - este un mecanism de avertizare a soferului incszul illcare autovehiculul pMlis~te banda de mers ~inu a fost semnalizata nici 0 schimbare,Aces! sistem este unul mvaziv deoarece poate prelua controlul masinii ~ireaducerea aeesteiape banda de mers 'in.cazul in care soferul nn reactioneeza,

    5. Imagistiea medicala - este un proces ce presupune crearea imaginilor eorpul uiurnaa pentru proceduri clinice,

    1..3Nofiuni geaerelein prezenta lucrare vom considera imaginileca fiind matrici bi sautridimensiorale,

    Fieeare elemental matricii va reprezeatao cantitete de culoare prezenta in . scena fizica, l l i noontinuare prezentam spatiile de culori, ccnectivitatea pixelilor, transformari punctuale f iilocale ~itipuri de imagini digitale,

    1..3.t Sp:a:pide eularlSpapul de culori folosit in aceasta lucrare este ROB (Red-Green-Blue), ~i a lost

    codat el l doi algoritmi: RGB ~iYCbCx.Codarea ROB este una sumativa, in care diferite niveluri de lumina rosie, verde ~i

    albastra sunt cumulate pentru a produce alte culori. Deoarece aceasta codarepresupune multiredundanta in ceea ce priveste detaliile imaginii, pentru a scade volumul de date transmise s-ao]OS.1todarea YCbCr care presupune snmarea unui strat de Iuminanta in tonuri de gri, carevacontine informatii despre detaliile imaginii ~ia doua straturi de crominanfa: diferenta dealbastru ;;i diferenta de: rosu, care nu au nevoie de detalii, astfel lncat putem transmite 0imagine cu detalii mai mnlte codand-o YCbCr,. dar vom pierde din acuratetea culorilor. Cumoehiul uman are mai multe celule sensibile la luminozitate dedit Ia culoare, aeeasta diferentaintre codari va fipractic invizibila,

    Trecereade la codarea YCbCr la ROB se face utilizand tormulelel'l:R .=1.164 (Y - 16) +1.596(C R -128)G =t.]64(Y -li6) - O.813(CR -128) - 0.392(C B-128)B=L164(Y -16) -2.011(C8 -128)

  • 8/6/2019 Controlul Unui Robot Mobil Prin Gesturi Umane

    13/66

    C ap tto lu l 1 - A c hiz ifia si ~ ~-ea imaginilor

    F igara 1 .2 - C odarea RO B ; ; . i codarea yeller

    Codarea ROB pr,esupune ea fiecare pixel p(i,j) at imaginii va fi caracterizat de' treivalori cuprinse i:rutte () ~i I, corespunzatori fiecarui strat de culoare, astfel: alb=] r . 1,1]~negm=[O ,O ,O] ; m~u= [ l,O , 0 ] ; v er d e= [O .1. 0 ];. a lb as tr u= [ 0 ,0 ,1 ] ; ga lb en= [ i1,00] ;magen t a= [1.0: I ]:,eyan=[o..i ,1]:.

    F ig ura: 1 .3 - R ep rez entarea p ix elilo r d e c ulo are in M a tlab

    Alte s P a J ! r i de culeri existente mai sunt '$ ] HSL (Hue-Samration-Lightl1,ess) san HSV(Hue-Saturation-Value) care cod eaza pixelii d e culoare tot cu treI valork nuanra reprezernatadeunghiul in plan orizomal lacare se gaseste culoarea t a lA d e c en trul sectiunii prin ,cil~nd!Cu]"spatiului culorilor, s1lJmraMacare reprezinta distanta Iacare s e g as~te culoarea fata de centrulsectiunii prin cilindrn, ~~iurninozitatea, san valoareacare reprezinta int l lvimea la care segil,se~~eeuloarea ~ de valoarea de negro in cilindml spatiuluiculorilor.

    Velorile pentru mmnia. saturatie ~ivaloare sauIuminanta sunteuprinse intre limitele:.H 'E; I[O,360

    a). S E [ O,l] , v.L E [ 0.1 ] .

    13

  • 8/6/2019 Controlul Unui Robot Mobil Prin Gesturi Umane

    14/66

    Figura l ..4 -Spatiul de culori HSL (stfutga)~spatiul de culori HSV (dreapta)

    13.2, Ceneetivitatea pixelilorUn pixel p(iJ) poate avea vecini la nord, est. sud t? [ vest: p(i.J -1)~p( i+Ij). p(i,j+ 1),

    p(i-l.j ).ace~tia formand 0vecinatatepecare 0vom nota el l V4(P), 'C IDlOSCUt i i~ica vecinatateVon Neumann. Aeelasi pixel poate avea, pe lang! vecinetatea V4(P) ~i0 yecin~Ua:tenotataVo(p) formam din vecinii la nord-est. sud-est, sud-vest ~inord-vest: p(i+] J -1), p(i+1J+ 1). p(i~Lj+I), p.(i-lJ-l). Reuninnea celor dona v'ec~ti Vip) ~iVo(p) formeaza '0 vecinatate notaU\V8(P) fermata dintoti pixeliienumerati mal sus: p(i.j-l), p(i+1J=I) p(i+lJ), p(i+l,j+]),p(i,j+ 1),p(i -1j+ I), p( i-I "j ) ~ip(i =1J-l). CUDo;scuta~ica vecinata te Moore.

    Dupa ce am definit aceste vecinstati, putem defini c u a j,l lto ru ~ lor doua tipuri deconectivitati :

    1. 4-conectivitate[2]: doi pixeli p]~i P2 se afla in relatie de 4-conecu:]vitate dacapixelul P 2 s e g as es te inspatial v ,ec- inruAtilorV4(P I). si r'eciproc;pix. 'i:du1 pl s e g as es te in s patiu lvec inam tHor V4CP 2).

    2 . , 8 - 0 0 : n . e c t i v i t a : w e ( 2 J : doi pixeli Pi ~iP2 se aB a in relatie de 4~oonectivitate dacapixelul P 2 se gas~te in spatiul vecina ta ti lo l l V g(pl), s i reeip ro c, p ix elu l 1 '1 s e g as es te in. spatiulvecinatatilor V g(P2).

    Doipixeli P I ii] po sunt conectati daca exista ua drum D de la pixelul P I cafre pixelulPm . in exemplul prezentat mill jos, pixelul p(2,2) se aIIa itl relatie de 4-conectivitate ~i 8-c on ec tivi ta te c u p ix elu l p(l; J), ~iinrelatie d e8 =oo nec tiv i.ta te c u p(3 -,1).

    123123

    1 : 1 1 I1 1 1 1 '; 1 I1 ' 1 1 1 i

    Figura ].5 - Exemplu de 8-conectivjtate

    14

  • 8/6/2019 Controlul Unui Robot Mobil Prin Gesturi Umane

    15/66

    Acea:sta caracteristica . . . . = - san 8~Clonect[v~tateoaca un rol impertant in numarareaformelor existente intr-o imagine a.b-negru, Dupi cum. pntem vedea ~ mai jos, dadt vomconsiders 'ca fonnele snnt regiuni de pixeli 4-lOmlectaJtr avem rom multe forme decal da.ci amconsideraca fonnele snnt determ inaie deregi wile de pixeli g~C(Jllec:t~t~"

    1 23 4 5 5123456

    1 1 11 1 1 11 : 1 1 1 I

    1 11 1 1 11

    12345612: 3456

    1 1 1 I1 1 11 1 1 1 1I 1 1

    1 1 1 11

    Figura L6- Numsrarea formelor formate din grupuri depixeli4, (gffinga)~i 8~conectali (dreapta)

    1.3,,3 Trarndormari aplicate !i:magioiilorImaginile pot suteri transformari oeaec teU7~ un pixel independent de cei din jurului

    lui, san in fanetie de vecinii & a i . Astfel, primul tip de transformeri se mai nnmesc ~ltransfonnari punctuale, iar eel de-a! doilea tip poarta numele de transformari locale,

    eel mal des aplicare transformarikrcale sunt modificarea luminozitatii ~.i acontrastului, Acestea presupun modificarea valorii fiecarui pixel din imagine dupa 0 lunetiede tipul eelor prezentate in graficele de 111$] jos:

    -+100~--a)jI;-0111~~% ', --li1lO%

    /j m J"c,. .

    Figura 1.7 - Functiile ce descriu modificarea comrastului (sffinga) ~ia [uminozit~~li (dreapta)

    De cele mill.mulre ori, in vederea ,computa~i.onalijse lucreaza en imagni alb-negru, ~ideaceea se apeleaza la modificarile valorilor pixelilor astfel incat 0 imaginein tonuri. de gri.

    IS

  • 8/6/2019 Controlul Unui Robot Mobil Prin Gesturi Umane

    16/66

    16

    Capitolul ]- Achizitia ~iproeesarea imaginiloreste transformsta in una alb-nezru orin setarea contrastului la +100% .81 modifiearea~ ,lumiaozitstii astfellnc&t subieczul de interes s a d.evina alb, iar restul negre.

    -100'% -50% 0% +50% +100%Figura l$-Exemplu de modificare a eoetrastului

    -100% -50% 0% +50% +100%Figura l ,.9- Exemplu de modificarea hmlIDoziUijii

    Transfcrmarile localepresupun schimbarea valorii unui pixel infunciie de valorilevecinilor Iui, De obicei se iau 'Fnconsiderare v l , ' X : i n a : t a : ~ ide dimensiuni irnpare (3x3 , 5x5~7x7~etc.) eentrate pe pixelul d e interes . A cest tip de transform ari se poate irupfut[ to doua madcategorii:

    1. Transforrnari ce vizeaza filtrereaimaginii: aplicarea filtrelor de tip Gauss, filtreradiale. filtre de tip edge-smoothing, etc.

    2. Transformari De vizeaza descoperirea marglnHor.

    a ,@ ]Figura I,0 - Transformari Ioeale ale unei imagini: s.tanga- imaginea originala;

    eentru - detectarea marginilor; dreapta - aplicarea unui filtru Gaussian

    1.3.4 Tipuri . de :lmagin:iP~Pachetul software Matlab lucreaza cu patru fipuri de imagini: imagini binare,

    indexate, r u m vele de gri 1 ? i RG B. Im aginile im po:rtate 1111 .atlah sum reprezentaie ea rnatric ide dimensiuni MxN~unde M ~iN reprezinta rezolutia imagiaiipe erizontala ~iverticala,

  • 8/6/2019 Controlul Unui Robot Mobil Prin Gesturi Umane

    17/66

    Capitolul 1 - Achizitia '~ip~ea imaginilorO imag .i n e b in u ri i este reprezenfato1 Il!1Matlabea 0matrice ell valor] intre zero ~~.unu,

    undecu zeroeste reprezeatata euloarea neagra, iar cu unu culoarea alNl!.Matricea va aveadimensiuni MxN .

    o imagine in tonuri de Wi este reprezenta:Ui,Cal.0 matrice de dimensiuni MxN.in carefiecare element este euprins intre zero ~i255 (pentmfinagitWe reprezen ta te pe 8 biti) san lnkezero ~i65535 (peatru imaginile reprezentate pe 16 biti),

    o .im ag in e i n de xa tll estereprezentataprin doua matrici: una de dimensiune M:XNcecontine indieiiculorilor dintr..o paleta. de culcri. Paleta de culori este 0matdce de dimensiuniPx3. unde P]1epr'ezinm numarnl de culori disponibile penfru imagine,

    lmaginile .RGB suntm atric i de dimensiune lVil IxNx:3~unde fiecare strat al matridireprezinta cantitatea de culoare rosie, verde sau albastraprezenta in imagine ..Astfel, un pixelva avea forma X={rofU. verde, albastru].

    Folosind functiile puse Ja dispozitie de M ' a u N a b putem transforma reprezentareaimaginilor dimr-ua tip in ahnl:Functie Matlsb Tipul conversiei efecmate Apelul functieiim2bw De la once tip de im agine lacalb-negru BW ""'im 2bw (X , m ap, level);wndl2gray De la imagine indexata la tonuri de gri I=ind2gray(X~m.ap);ind2rgb De Ia imagine indexata la ROB RGB=in.d2rgb(X,maip);grayzind D e la 'w nurld e gri la im agine indexata [X . map ]"1]'.a.y2~nd(I.n)~gray2rg!b D e la tonuri d e gr i la ReGB RGJB=2Fay2rgb( l ,n) ;rgb2ind De la R:Gl I9~a imagine indexata [X,mapJ"'Tgb2ind(RGB. I D . J ~rgh2grayO:e la ReUBla ronuri de gri I =Tgb2~.ay(RGB};

    1.4 Achizifia ilUagini~or folo.sind paehetul software Ma'tiab[4]InhlcfMea de f'al~ am C 'O lo sitp ac hetu li software Mat]ab d eom ecefM 1 e d eja

    implementat an toolbox de editare a imaginilor. Mw.p dintre algoritmii eomplecsi de'e:rodarefdilMare a imaginii, de eliminare a zgnmotalui san de calcul a centroizilor t} i ariilorfo rm e lo r, s e g as es c dej a imp~ .ementat i macest to olb ox , a ces ta fiin d u til in alg oritrn ul n os tru .

    Pentru achizitia imaginilorcream 0. :1:1L1I1ctiee care 0 vom nami hllitCamerac. Inaceasta funetie ereamlegatara dintre camera ~iMa:tlab ell ajntorul comenzik

    obj =video.input('adap.torname' , deviceJlJ..Yormat J:Cream astfel lLID, obiect de intrare video obj)aresta. fiind legatura dintre MMhtb ~i

    dispozitivul video. Folosind ccmanda ilnaqhwinfo aflam ce dispozitive hardware deachizitiea imagiailor a:vemconectate[a computer, deseoperind astfel numele dispozitivulniadapio.rname. Dacaavem m ai:m 1:11e dis po zitiv e d ,f ; a c el as i tip, avem nevoie ~~ d e ID~ill

    17

  • 8/6/2019 Controlul Unui Robot Mobil Prin Gesturi Umane

    18/66

    Capitolul 1-Achizi t ia ~i~. imaginilordispoziti vului de la care dorirn sa eehizitionam imag in il e . .In cezul in care nu memionamacestID~ Be vecachizitiona imagini de la dispozitivul cu Ilr-ul eel mai mic. Tot aici puiemmentiona rezolutia 'in care dorim sa aehizitionem imaginile, acest lucru mi~o:rood timpul deprocesa:re;,deoarece nu mai trebuie : s A sealam Imagines la 0 rezolutie mai mica.

    P emru .a mod if ie a proprietatile enbiectulu.i de a ch iz itie v om fo lo si functiile:src =gets,e,lectedsource(obj); care cauta mate obieetele sursa ale obiectnlui objset(obj,PropertyName,PropertyValue); setam diferite proprietati ale sursei, cum ar

    fi: Beeklightf'ompeusation - eompensarea luminii de fundal.care poate f pornita san eprita;Brightness > Iminoz i taee ; Contrast - contrastnl; Exposure ~ cantitatea de lumina caretrebuie s~ 'cad.a' pe senzor; Exposurelvlode - modul de e:x:punere: manual sao automat;GanU11a- luminanta imaginii; Hue - nuanta imaginii; Saturation - satwa];a culorii; Sharpness- elaritatea imaginii; WmJeBahmre -baJansul. de alb; \VhlteBalanceM.od.e - modul balansuluide albrautomat san manual,

    Dupa ce facern aceste seHiri, mai trebuie sa setam numarul de frameuriacbizitioeatela 0 declansare a camerei, modul de deelaasare a camerei ~i numsrul de' declansari aleeamerei, folosind comenzile:

    seucam, IFmmesPerTriggerr>,l j, "- setam numarul de frameuri achizitionate la 0declansare a camerei In 1 freme/declansare;t riggercon fig(cam, .1

  • 8/6/2019 Controlul Unui Robot Mobil Prin Gesturi Umane

    19/66

    Capitolul l - Achizitia si imaginilor'RGE ;:;;;cbcrlrg: rBC ~ROB rep 'l"eZ in l1 i irnaginea ln form at R.GB ce va fi

    Figura 1.11 - Diferenta dintre 0 afisarea unei imagini in formatYCbCr (st&lga) ~iunaRGB (dreapta)

    Dupa sceastatransformare, dorim ca hnaginea color s a fie transformata in unamonocroma, Aces; lucru se realizeaza ell ajutorul comenzii .Matmb:

    BW = im2bw(L level); - transformam imaginea in tonuri de gri I in una alb-negruBW separand pixelii albi de cei negri dupa un nivel,

    ~n cazul in care acest nivel nlllJeste stabilit, el va fi implicit 0.5. In unele cazuri,pentru 0'mIDbuna transformare ..Acest nivel de 0.5 nu este bun deoarece putem avea niveluridiferite de lumlnozitate, astfel elivnm calcula nivelul optim folosind comanda Matlab:

    level = graytnresh(I); - unde level reprezima nivelul optim de separate a valorilor deluminozitate a. imaginii I, calculat dupa metoda Otsu, care calculeaza nivelul optim deseparate astfel ' I D e a t dispersia valorilor de Iuminos ~iinnmecat s~ fie minima.

    Figura 1.12 - Diferente 'intre binarizarea unei imagini ROB (stanga) folosind niveluri diferite:05 implicit (centru) ~i03] 76 caleulat cu functia graythresh (dreapta)

    19

  • 8/6/2019 Controlul Unui Robot Mobil Prin Gesturi Umane

    20/66

    C~pi~olul i l l - Achiz[tI2 si proeesarea imaginilor1.5.2 Endarea, si diI3 fonnelor d.t~ ~m,9.gineiDama.ti.in umlQ.i)rinari.zariiirn .:':11i_ putem observa difente puncte ~illinii subfill decu~om,e

    care nu rejpl'ez~nta interes peznru ~orim1l~l nostru, mai mult, unele puncte reprezereaidzgamotal de aebizitie a informatiei. zgomot d a J t o r a m . cal:irHiii~mferioa:re a camerei, aiDterferen!e]o:r a:parute lntre achizitia informatiei ~iprocesarea acestela Saall a driverelor deeaillitate iDI~l1ioar~a . e ch ip amenn sl u! har dwa re ,

    Erodarea jJlesupuneeliminarea pixelilcralbi care se :lfUi ~a~,x~enomlunei forme ..Lafiecare noua aplicarea erod arii un nou strat de pixeli ex-tenon s un! t ra ns {ol !11 l ,a Jt~.n pixelinegri, Apilicirnd eredsrea de un D!l!ill)iksafieient de ori, formele din imagine VOl !: diffipirea"imaginear5rn.nM,d neaJgt'll in totalitate.

    Emdarea fnrmeler r u b e 0realizam eu .a.jubJful comenzil MaUab:BW2 ' =bwm 'O rp h(BW , 'e ro de ',n ); .~ .m nde form ele albe din ~magin.ea1BW SWlJ . ~ erodate

    de n o n pentru a o,bline im aginea BW 2 ,0PU81d operatiei de erndare 11rep:r1ezmta dHailt'.ea. Aeeesta presuenne adiugarea de

    p~xeH aJ.bl m . argW ii form ei. L a fiec are noW i aplicare a d ilatirii un !lOU skat de pixeli negri dela m arg inea form ei s unt trans fonnafi inp1xeH a lb i, Ap li ci nd d H a J . r t a i t e a de un numar suficientde ori, fonnele din imagine VOi:'fuziona 1m3 en cealal ] ta. imsginea devenind au]bam totalitaee ..

    Dilatarea formelor r u b e (Irealizsm ell:aju:lorul eomenzii Matlab:BW 2 = I ;rwmorph(BW . 'dilate ~ n); ~ unde fm m ele albe din im aginea BW sunt ,dibtae

    de n ori pentru a obtine mmgine~lBW2.

    Figura, 1.m 3 - Mod~tldlriaJduse Wle~imagini alb-negra (centro):erodarea (stanga:) ~idilstarea (drearpta)

    IJ;.3, Elimma:rea formeloll' ~~uDIp~erea giiUlrUor din formePentru a exirage diferite car,a.cterisMcTmpurtante dmtr-o Imagine, uneori este nevoie

    sa e li :l11 rurnim.iferite forme ca re nu pre zmt ii. in .te fe s~ s ruu si. UlIDIplem diferi.te gaun d in form e.Eliminarea formelor ae face ingeneral dll!pi smunite el i t e r n . Presupunand cil forma de intereseste .aproape de centrul imagi_nii ~i este distinct~li.de celelalte forme" in lll!crarea d.e fu~,am

    20

  • 8/6/2019 Controlul Unui Robot Mobil Prin Gesturi Umane

    21/66

    Capitolul 1 - Achizitia ,i,..,-esarea imaginiloreliminat fonnele care se atin an d margine) dar ~iformele care aveau arii mult mai mieiddt forma . noas t ra de interes,

    Eliminarea formelor cu arii mal rule] deed! W1 anum it prag 0' facem 0111ajutorulfunetiei Matlab:

    B W 2 ee b ' \ .+QJ'eaopen (B ff ~ P. conn); m uncle din imaginea BW eliminam formeIec la cu ls re d u pil ic on n (4 san 8 ) veci ni , care s unt m a i mici decst prag ul P .

    Eliminarea formelor rube care se ating de margine 0 efectnam cu ajutornl functieiMatlab:

    B W 2 "'" im clea rbopder(B W , con n); - unde dill imaginea BW eiiminam formelecal.CllLate.dup!. conn {4 sau 8) v eo in i c are ating marginea imaginii,

    Umplerea gaurilor din tonne reprezinrno alta etapa importanta din extragereacaracteristicilor dintr-o imagine, Obiectu nostru de interes este reprezentat ideal de 0 formacontinua, dar dincauza zgomotului de achizitie, in interiorul acestei forme potapare gruparide pixeli negri, Pentru eliminsrea acestora folosim comanda Matlab:

    BW ' 2 = irn jW (lJW , 'h oles'); - unde din imaginea JaW inlocnim gruparile de pixelinegri In coniurati de pixeli albi en alb.

    Figura 1.14 - Modificari aduse unei imagini (stanga-stanga):: eliminareaunei suprafete depixeli albi mai mid decu1 un anumit prag (centro-stanga); eliminarea snprafetelor de pixeli

    albi ee se sting de margine (centru-dreapta); umplerea gaurilor (dreepta-dreapta)

    21

  • 8/6/2019 Controlul Unui Robot Mobil Prin Gesturi Umane

    22/66

    C apitolu1 2- P roiec tarP ..aCapitolul H

    Proiectare . ,: i Implementarea algodtmului

    2..1 Cm!loa~tere:a ~idefinirea problemelA'Voo.d la d ispoz itie unro bot 3LLIDnom P eoplelsot cu. (Icamera i U i!l c om pu te r, se cere

    caacesta safie controlat de catre un operateruman. Robotul vatrebui s a efectueze doar rotatiisUmgwdreapta, deplashi inamte/inapoi ~iopriri,

    2..2Elabmrarea de s~lUlfii alternative ~i evaluarealorPentru a realiza controlul robotului va fi nevnie in primul lind de un software

    compatibil ARli\. in al doilea rind software-ul a~es va trebui s a poata procesa imaginisiextrage d in e~.ed iferite earaeteris tlc i ell. ajuto:rw carora vom lua decizii ell privire la comrolnlrobotului,

    Pemru pro blema cea maiimportanta, avem de ales intre programarea 1 1 1 doua m ed ii.consacrate: VisualC san MatlehProgramarea se face :l.afelde usor in ambele cazuri, si d e ,aceea alegerea intre acestea revine programatorului,

    Pentru eonducerea robotuluiputem implementa mai multe golUf~i : folosirea unei1magtm afi~a:!e _pe 1 1 1 1 ' 1 display seu pe (I matrice de LlE[)"'uri. folosirea uncr instrumenee(baghete/palete) cu semne distincte, folosirea gesturilor umane, etc.

    Pemrurecunoasterea formelorpueern folosi orice limbajde programare de nivel inaltcare lucreaza ell matrici, deoerece imaginileaehizitionate sunt trsnsformate in matrici denum e re eel u rm e az a s a f ie interpretate.

    23 Seleetarea eelei mal bnne solupi.S o l U J t m tea mai U1?Of de implementst presupune felosirea gesmrilor de c a r r e operasor,

    d eosreee asafel 1 1J.u .r fjneoie de pregs tiri spec iale peatru aces ta,A v fu 1d la dispo.zit~e 0 caJmerli ~I un com puter/laptoppotem eontrola robotul m obil

    folosind Visua1C san Matlab ...Deoarece pachetul software Matlabase deja implementat uatoolbox d e ed itare a im ag inilor, acestava avea lIn avantaj illnfata Visua]C.

    Chiar daca . nu toate m n;c* H1,eARIA au f os t imp l emen ta te in librariile de controlfolosite de Matlab. funetiile importante de comanda, citire a pozqiei san citire a sonarelor auf os t c re ate . Denareeecontrolnl ro botului U 1I1pr,esupullce functii difieil de implementer dow: cuaeestec om enz i, putem im p lem en ta a lg oritm u l de control u.?QrillMatil lab.

  • 8/6/2019 Controlul Unui Robot Mobil Prin Gesturi Umane

    23/66

    iar, tot sohnia Matlsb este mai buna, deoarece nucleulcesare ajung [a un pre] de sub 200' SD; pe camll pachetulD-

    Capitolul 2 - ProiecDin punct d ' \

    M.artl ab Imp re una c u tool boVisualfstudio 2008 depaseste

    2.4 .DesigQuJ sistem u lu mDaca robotul mobil este eehipat cu computer eu sistem de operare Linux, pachetul

    software Matlab se poate instala direct pe aeesta, iar camera se poate conecta prin USB. I ncazul nostru robotul mobil Rill eta. echipat cu computer, astfel c a proeesarea imaginilor s-arealiz1l!~pe m : J J netbook Asus EeePC 1005P, i~ achiz]lia acestora s-a realizat en ajutorulcamerei web integrate de 1.3 Megal-ixeli, care prezinta 0 calitate ridicata a irnaginilorachizitionate, dar imaginile sunt transmise folosind codarea YCbCr.

    Figura 2. l - Netbook-ul utilizat ptactic in aceasta aplicatie

    2..5 1mpi ,em enta rea. solutiei alese,Pentru detenninarea gestului efectuat de operatorul uman trebuie s a urmam llilset de

    pasi reprezentati schematic in figura 2.7: inilializrun robotul, inilialiwD camera, initializamun contor care poate un numar finit sau infinit, achizitionam imaginile de la camera ~i lep rocesam, Daca avem m ai mutt de .0 form! i-nimagine vorn achizitiona 0 alta imagine ~dac.anu, vom cakwa: aria formei, iar dad1 aria este mal mica decit 0HmlUi-inamtim pentru a neaprupia de operator, Daea forma are 0 arie destul de mare vom trece la calculul eersruluiformei ~~a eentruidnlui acesteia, in continuare calculam distanta dints aeestea ~i unghiulformatde dreapta paralela cu axa Ox ce trece prin centroid cu dreapta ce uneste eele douapuncte ..

    Pentru determinarea ges tului efectuat, deoarece avem un numar rotc de gesturiefectuate am diferentiat gesturile ell ajLrt:ond pozitiei centrului de greutate al formei fa.~.~.ecemrul geometric al acesteia, Astfe 1 . , . .ecare ..,est areplasat centro idull a : 0 anumita di s tanl a ~ ]un anumit ooghi r a t a de central im _ - --

  • 8/6/2019 Controlul Unui Robot Mobil Prin Gesturi Umane

    24/66

    g eom etric . as tfe l di vorn ~Pentru gestul stop. f -- se apropie de 0 elipsa, ~i are ,ceI!JJtroid1]j~flpro~pee eentrul

    raza in jurul cersrului pentru care orice centroid valnsemna stop. Pentru .stanga. centroidul Sf' va afla indreapta centrului imaginii deearece formaI'i'illme~are 0 pondere r o m marc in imagine decat forma degetului, !In.aces1 caz a : J : W : I . impus ca,crnltroidu] s a fie m ai departe dec.it raza de s top, ~ . dreapta ce trece prin eJ ~icentftlll S11formeze cu. dreapta paralela cuax a.Ox. ce trece prwncentrul imag~n~iun l ln g l M . mai mare de45 sau mai mic decat 4S~.Pentre dreapta conditia va fi ca acestunghi sa fie mal mare de[350 san mai mie de -~35" Pentru inainte, cersroidulse va afla sub cemru .astiel cl1!lngh~1l1jtrebuie sa fie cuprins mtr,e:-4,so ~i-135Q..Pentm inapoi. centroiaul van doosurpm, centrului, iaruaghiul va trebui safie oupr ins m t r e 45D si ]3 5D

    Dupa deplasarea robotului urmeaza incrementarea e on to ru lu i ~ l verificarea daca 81dep.a~it limita fin]ta Sailil infinita. Daca nu a dep~it Limim. continuam eu aehizijionareawl1aginWlor. data. s-a depi~ltlinrita, oprimprogramnl.

    'Figura 2.2 - Gest semnalizare SiWlga

    24

  • 8/6/2019 Controlul Unui Robot Mobil Prin Gesturi Umane

    25/66

    Figura 1.4 - Gest semnaliaare iaapoi

  • 8/6/2019 Controlul Unui Robot Mobil Prin Gesturi Umane

    26/66

    Capito lul 2 =Proiect I' i area a lgori tm u lu i

    I~JF ig ura 2 ,.5 - G es t s em n aliz are Inainte

  • 8/6/2019 Controlul Unui Robot Mobil Prin Gesturi Umane

    27/66

    RI :GHT

    FORWARD

    BACK

    N u

    STOP LI'="""""""'~~

  • 8/6/2019 Controlul Unui Robot Mobil Prin Gesturi Umane

    28/66

    Capito l u l 2 - I1 Pm iec tarea. . ...In urma procesari 12 care a fost supuss hnaginea, peocesari prezentate in

    subeapitolul I.S al aeestei .Uit.~ va trebui s a calculam centrele degreutate al formelor. I ncazul in cere avem I]singum. .-rna 0 vom incoom intr-un patrulsterpentru a : f i . mai u~orvizualizata, apoi vnm separa. forma de restul imaginii, iI vom calcula central geometric icentrul de greutate. in functie de uncle 51; plaseazacentroidul fala de centrul formei, VO'lUeomanda robotul,

    1.5..1J.dentificare.a , i Duma.ra I lea. ;forme[oT~SISepararea ~[ numars rea formelor dintr-o imagme se face ill. general folosind

    algoritmul T\VO-Pass prezentat 'in continuare.T rec erea 1 :~ni~ianzrunnnmsruleoloanei C""l, namarul liniei L=I ~ieticheta ]E=L, vectorii Vj CUI.

    etichetelepixelilor mcorrjiuratori.Pas l - Pixelulaflat la linia L ~icoloana C apartine baek-ground-ului?

    Pas2 - Da -Am ajuns Ia capatnl liniei?Da - resetam C, incremenram L~trecem~a Pas 1Nu - incrementam C, treeem la Pasl

    Pas'l - Nu -Vecinii V~NV~N sanNE all etichets?Da - retinem etiehetele diferite ale pixelilor Ineonjuratori In vectorul Vb

    etiehetam pixel ul CIl eticheta de valuate minima a vecinilor ~incrementami, tree em la Pas2

    Nu- etiehetam pixelul ell eticheta E, ineremeorsm E" trecem la Pas]Trecerea 2:P as 1 - Reunim vectorii Vi I a c are in te rs ec tia es te diferita de (IInvectori VjPas2 - Determinam minimal dinfiecare vector VjPas3 - WOC,uinl ill matrice etichetele dill vectorii Vj cu minimurile eehivalentedeterminate la PaJs2.

  • 8/6/2019 Controlul Unui Robot Mobil Prin Gesturi Umane

    29/66

    C apitolul 2 - P roieet tarea a lgor itmu lu i

    Figura 2.8 - Eticheterea formelor: etiehetarea ina~nte de algoritm (sus). etichetarea dup'ap rima tr ec e re ( jo s -s tanga ), etichetarea dupa a dona tre e e re ( jo s-d re ap ta )

    I.S.2 incaorarea.Jionne:ii de iiuteres intr-DD potrulO'EerUrmatoarea etapa in aplicarea algoritmul uipresupune incad:rnrea formei gasite

    I nt r- 1 Jn pat ru la te r, Acea st a etapa nu are 0 importan~ p r e . a . m are in identificarea form ei ~determinarea comenzii ce trebuie date rebotului, dar eaare importanta tn efectuarea unorgesturi cat mai dare de cetrea operator ..Daca robotul este echipat i cu un display" atunci sepoa te a fis a imag in ea a ch iz itio na ta ~ii .ncadlraforma selectata c a f iin d impnrtanta,

    P en tru a rea liz a a ce as ta in ca dra re folosim eomanda Matlab:STATS = regionprops(BW, 'BoundingBox '); -uude in STATS salvam vectorii cu

    valorile coordonatelor pe Ox 1 } i Oy ale coltului din stanga sus. $ i vectorul cu hmgimile pe O x~iOy ale form ei d e interes ..

    Folosindu-ne de acesti vectori putem afla toateeoljurile patrulaterului ce ~ncadrea'Wforma, Dupa ce am salvat in doi vectori distineti coordonatele pe O-x i?l respectiv pe 0, alea ee sto r c el tu ri, p utem desena Iin iile c e u nes c ac es te c olturi folo sind u-n e d e funciaMadab:

    line(:,"Y , 'P ro pertyN ame!; pro pe rt)n -'a lu e, .. .); - unde X reprezinta vectorul ellcoordonarele pe axa Ox ale colpnilor (va fl . nevoie ca ulfima valoare din aces! vector sa fieidentica eli prima pentru a avea un poligon inchis ) 1 , Y reprezinta vectorul ell coordonaiele peaxa Oy ale colturilor,

  • 8/6/2019 Controlul Unui Robot Mobil Prin Gesturi Umane

    30/66

    Capitolul 2 - Proi ec ementarea algori tmu l u i

    Figura 2.'9 - Desenarea unui parrulater injurul formei de interes

    2..5.3 Se-par:areaformei de mteres de restul imagmiiDupa etichetarea fonnelor urmatorul pas in identificarea sensului indicateste s a

    separam forma de interes de restul imaginii, W . cazul in care pe viitor dorim s a identificamforma prin algoritmi complecsi, aceasta separarene ajuta s a eliminam erorile de identificareaparute in urma apliearii acestor algoritmi pe 'intreaga imagine ..

    Pentru a salva dear forma de ineeres ~ a. 0 separa de restul imagini i folosim functiaMatlab:

    STATS = regiO'n.props(B~ 'FilledJ'tmge J " - unde in STATS salvam matricea cecontine dosr forma de interes, en extremitatile aeesteia atingand marginile imaginii .

    7 ; ; ; ; i l

    F ig ura 2 .1 () - F orm a , d e in teres separata de restul imaginii

    2.5.4 Calcutul eentrelor de greutate ale formelor IUe~(lnte in 'im,agineI 6 ]:In geometric, eentroidul unci forme bidimensionale reprezinm intersectia tuturor

    liniilor care impart obiectul in dona. p . a : q i ca greutati egale, Putem calcula centroidnl uneiformeprinmai muhe metode.

  • 8/6/2019 Controlul Unui Robot Mobil Prin Gesturi Umane

    31/66

    Centro.idul unui set de s= ~ "- x_ x ~. . ... x:~.ponte fi calcuil.at C!!l a.juUQrul fermuleicc= XI +X2 +K +.1(',,-

    kCentreidal unei forme bidjrne' l1! l loElaJe .f poetefi ealculat prin mlLpir1i re:& aeesteia in

    mat multe subfiguri simple SF, calcularea eentmidului Cj ~~aariilor AiacestOI subfiguri, apoiealenldnd eentroidul en aJu~oliU]form ulei:

    ~n eaznl ga~]ri~ord in form~ in fo rm il1 1 ~. anile vor fi adUIULr te C1!l semn sehimbat ma ce as ta f ormul a,

    Centtoiduill (C~~Cy) u_nul poligon mchis cu n ,co~~lld(Xl)) Yo), {Xl , y]}.~... (Xneb Ytt-~)care nu se intersecteaza pe; sine ~l!1SU~] poate : 1 1 caleulat C-Il ajutorul formnlelor:

    1 n-.Lc, ::.:.- ~) x J + ' X i + U } ( x ;Y f+ U - x i+ ~Y i )6Ai~I n " ' : . 1C" = 6 .A Ltvi +YJ,+])(XIYJ~I ' -X,+lYJ)

    [=

  • 8/6/2019 Controlul Unui Robot Mobil Prin Gesturi Umane

    32/66

    calcula unghiul format de cele c:"':' repte calculend rlistanta pe Ox ~idistanta pe Oy dintrecentrul fonnei ~icentroidul rorm~_

    Pentru caleulul acestui llll;t! f iCISm functia Matlab:P = atan2, (y ,x) , : - unde y ~ix reprezinta dissantelepe Oy ~iOx de, la eentrul formei la

    centroldul ei, iar Peste ungh iu l i il il tr e[1t.- n) calculat dupa formula:

    p=

    3 r c t a J { ; )7r + a r c t a n ( ~ )- 1 r + a r c t ~ ( ~ )n;

    y~Ox

  • 8/6/2019 Controlul Unui Robot Mobil Prin Gesturi Umane

    33/66

    frware fo~osi~eCapitolal Ifl

    Re u ele ",'fare ~isoftware folosite

    3.1.1 Sen" i:dQnii: alrn botilor mobiljEvolutia robotilor incepe cu a l doilea FdZboimo,ndlw, datorita dezvoltarii ~tij1'l!~ei

    calculasoarelor ~ia. ciberneticii. Majoritatea erabombe .zbmatoare CMe de tenau i ll it r~o 2 l o . n a . dinjurul ~~nteisierau controlate prin RADAR, un exemplu eloevent fiind rachetele Vl { i ' i V2deevoltate de nazisti.

    in anii' 60 ~auni\lersiwmea Johns Hopkins. dimBalItym.orea dezveltatua .moot conduspria sonare, care: [~~.cauta singur statia de incarcare. I:n snii '70 Universitatea Standforddezvolm whoP. care folosesc eamere pentruurmarirea ..~iniei. La. mcepultulanilof 'SO aces!robot ajunge s3 t ocoleasca 0bstacole ~isa c reez eh arti d e ob stac ole, Tet 'in aceas ta perio ad a.universitetea Bnndeswehe din Munchencong,tru]e~tepril1!la! ma~~na robctizata care eracapabiHi s a ruleze eu pooa 1 8 1 . 90 . k :m ! h . pe strazi pustii,

    ~ n prim a. jum atate a 001101 '90 B leep s a fie vinduti primii roboti Helpmate folositi Ililspitale, In aeeasta perioada continua dezvclterea vehieulului autonom a l unV'ers~tii:tiwBuadeswehr CQ!ea j l l o g e s~ p . 8 i . F C lurgil.:i s t a J . 1 I ~ de sure de kilornetri pe autostrada e l l viteze dep m l a 1la 130 k:m1h in condi!ii detrafie intens,

    'lruJaepind c uanul 1 '9 95 Ji(lbotii Pioneer ,aJung pe piala la un pret reznnaail, itlcu:mjanda st fe l d e zvoUa re a roboti cii m univers itat i ~ . iinm~.rn .~e; .n anrrui1996"97 NASA f finr it e pe Marteroboml Sojoumer centrolat de pe ~Prunll1]it in 1999 Sony p re z in ta Aibo - robotul-caine capaibi1~ . m ~ : e m o t] ( m C 2 e : c u . mediul ul!ccm~1]j[at(Dir.

    ffgura. : 3 _ 1 - Gene ra tiile d e to boli Aibo de la Sony

    33

  • 8/6/2019 Controlul Unui Robot Mobil Prin Gesturi Umane

    34/66

    incepOOd ca milenicl .: --~ dezvoltarea mk]igenlei co~ectie a rebotiler, acei~wamteracliolilind pentru a efecrea _ i-uri comune. in anul 2004 DARPA (Defense AdvancedRe se ar c.h P r oje ct s Ag en c J') f!11.a'1_e:l:ZA primul concurs de condueerea vehieulelor autonome,concurs C ;M erlln1 a avut ci~tigaIOri.

    i n . 2005 concursul BARP A Grand ChaUenge este ci~.tigat d.e eehipa uaiversitatiiStanford, Calwf"Onl la . Tot in aeest an Boston Dynamics prodnceun robot pstruped cu rolul dea transporta ifllCMclltwide pfuIa. la 1DO kg pe suprafete foatte accidentate. ]12mJ6 se opr~~eproductia robotului Aibo, dar este Iansat de dille MobileRobots ..nc 10botulPatrellsot,

    A nnl. 2007 inseamna un avans in coboti!ciilreaHzat en a~ uto:rutillD A RP A , c are 3.organizat DARPA Urban Challenge, concwsc~Cigat de echipa universitatii Carnegie Mellon,Pennsylvania, dar doar ~ase din cele 35 de ech ipe tnsc rise au m.cheiai! eoncursul. 1'0t:illseestml~Mo bileRobQ tsJtiJ:l : :,~ooseazASeekur, primul moot I,)~d]rectional ne-m ilitar eu c.a!pabil l iti~io u.trln o:r~ a u n p re t a co es :ibH ..

    Figlllfa 3.3 - R obotul Seeknrprodus d e Moh iil eRQ bets.inc

    Rebotul al carui algoritm de:control ~"'Iamruplementat:m aeeasta Iuerere este robotulP e op leBo t, c ar e face p arte d in fam i lia. de robofi Pioneer de la Mobi~e&obijtsjnc"34

  • 8/6/2019 Controlul Unui Robot Mobil Prin Gesturi Umane

    35/66

    35

    Capito iul 3 - Resursele ~ . oftware folosite

    Robotul Peolplellot este un robot cu dona roti motosre eli tractiune independenta ioi roata de tip cassor folosita penrm a-I stabiliza, Controlul directiei robotului se realizeazaprin comanda diferentiata a celor aoua motoere ce asigura tractiunea.

    y" 1 1, X l

    v ~f}_ _ _ _ _ _ _ _ __ L ~ ~ ~V r

    1 0

    \'.\dFigura 3.4 - Modelul cinematic al robotului mobil P,eop]eBot

    Considerand miscarea robotului inplanul xOycu rostogolireideala i'i fika alunecare,modelul cinematic poatefi saris ca:

    Unde (x.y) E 1 f l 2 . indica pozitia robotului in coordonate carteziene, ()E (-{f.,ff]reprezinta orientarea robotului fatll de axa Ox, iar v EV c: 9 iI ~iillEW < : : : 9t reprezinta vitezaHniarAsirespectiv viteza unghi ularaa robotului.

    De aiciputem scoatemodelul einematic al robotului ca fiind:.& = 'Y o cos8 ') ~li' sine, iar ~ (U In cootrolul robotului avem nevoie de vitezele pentru fiecare roata, Acestea pot fi

    scrise ca:- viteza pentru roam din dreapta; vr =V + o r - I ,- viteza pentru mata dill stanga: 1V [ :=l'-@ I .

  • 8/6/2019 Controlul Unui Robot Mobil Prin Gesturi Umane

    36/66

    ftware folosite

    3,.1.3 CeraeteristieilRobotul Peoplelsct fo!

    ,,-I ' 1 1 0 1 ''...uU1. 'pentru aplicarea algoritmului de control este un robot

    academic special construit pemru imerarti1ilI1eacu oamenii,

    u : : r l:r--'\l~la'r=Dif~:roaJealillioPorM pe ;Q t l' tJ __ . .ioysook .ButQnu l pE!l'Itruqpfirea de Ufge1l!aJ

    P tunt ea un fe r io :; rr -~ c usonara i l ' lrOi~ ~ p w.a1:e

    ~,

    Figura 3..5- Caracteristicile robotului

    Robotul Peoplelsot este construit dill aluminiu, cu doua roti motoare cu tractiuneindependema ~io roat11,de tip castor pentru stabilitate, Motoarele sunt de eurent continau ellsens reversibil echipate 'ell encodere de rezolutie mare.

    Robotul are 0 tna1,pme totala de 1.] 15 rum, tar iruUlillleaprimei punti este de237 mm. Lungimea robotului este de 515 mm, iar distanta dimre roti de 429 mID. Razaeercului in care mbotul efectueaza 0 rotatie completa este de 302 mID. Diametrul unei repmotoare este de aproximativ 195 nun.

    t~IIII\0100\

    Figura 3-6 - Dimensiunile robotnlui

  • 8/6/2019 Controlul Unui Robot Mobil Prin Gesturi Umane

    37/66

    Capitnlul 3 - Resursel- - 1 U "e folosite

    Roboml poar.epoa te u rea. 0 panta cu 0 in~

    ~ ...... t-.. - 0- v~tezl de apmxin ' . l .a l l~v 800 mmls (2.88 kmIh) ~i_ ~ - ax irn . 5 1 0 ~ ] o tre epta de m ax im lli5m m - 1 . - & 'V i teze miei,- -- - a' 3 kg (poate astfe~ c~ahate_rii de rezerv~ peneru (:I

    a JU l ~o'll om i em a i m a re ) . .Robotuleste eehipat en un microcentroller ruse Renesas de;4+4.2368MHz ,CIll : 3 2 Kmemorie RAM ~j 128 K memorie Flash. Comunicatiile de daJtuee efeetueaza printr-ua ports er ia l RS -2 32 c en fi gu rabi l de Ja 9 . ' f ipana La 1~5 .2 Kbaru d.

    Pentru detectarea obstacolelor mbotul are 3 ~ruri de c~e8 sonare; d Q 1 I ! 1 a j:lepur.D~eaejos tn fa~~~i~nspate~~I unul pe puntea de SI15, in f i l t H . Pentru deteetarea treptelor, m r ow ] are2 senzeri 1!nfraRo~u.[ar pentru oprirea in cazul Incare obstaeolul nu a f O I S t detectat de sonares:.;w . de Slemiolilii IR robotul este ecmpat el l d.cm.i siruri de cate 8 bare deprotec~~e cu switch-urid ig it aj e . .

    PWR@ 0MOTORSSTATUS@)0RESET

    @OATTERY@ OAUXl OAUX2

    SERIAL/ ! ! S - _ 2 3 2 ' j@@RX TX

    Figur.a.: 3.1 - Panoul de control arohcehsi Peoplelsot

    Paaoul de controlal robctului are un coneetor serial .RS,-132~idOni I . .EDLmi careind.1JC~etivitatea liniei de date. Msiaee tin. LED care indica starea PORNIT/OPR]T~ uaulcarle indica s tafea robotului: illQ i$teptwe sau in execu;t~e~iW1 1.E]I) bieolor CW1e indica stareade Incarwcareabateriei,

    Pentru oprirea ,d1emg;enti a robetului, aeesta este echlpait 'co.unbaton E-S'fOr care illcazu l in c ar e e ste a pa sa :t flU m ai alim Le~ m otoarele, iarrobotul se opw ~te. P entrua eliberabuto[ l lw , aces ta t rebu ie a:pasat ~] rasneit,

    37

  • 8/6/2019 Controlul Unui Robot Mobil Prin Gesturi Umane

    38/66

    3.2 Camera. webCamera web este 0 eamera de tip CMOS ell L300.000 pixeliintegrata in . netbook-ul

    A sus E eeP C. R ezul nU a mex ima suponam. de a ,'c eas ti c ame ra e ste [ 2 8 Ox~960p ix eli, d a r p en truat seade timpul de ,caku], imaginile au fest acillzitionate 1nrezohqia de 320x2.40 pixeli,

    ' " 3 - L L . ' " . . , A R I . . . IUJJ.'.' bJrarlll@ .... '. .l1!t\RIA - Advanced Robotics: Interlace for Applications- este un mediu de dezvoltaee

    open-source c-meas. igwi. 0 interfata server-cliem pemru robotii prodl~i de firmaMob]leRobot,Csjnc. Fiind scrisa :}l [mplemeliltan in C++~ ARIA poate fi folosit atilt pesistemele de operareWindows, colt~i Linux .P entru comp ila re a progrsmelor ce se folosese deHb t'JriU e AR IA este nevoie d e pachetulrvllcrosofl: Visu;aJS tud io 2003 san 2008 pem rusisternele de o:pe:rarreWindows,. ~ide compilaterul G++ 3..x pentru sistemele de cp era re L i aux,Medi ul de dezvaltare este erientat pe obieete (OOP) peni trn l . folosirea elaselor ~idiferi~elowtipuri de obieete, Comunicarea de date se reaU~ peintr-o cenexiune de tip serial RS-232cu robowl. san prin ethernet ell simulatorul MohHeSim,

    ARIA este [Ip~ai l f cHmade dezvoltare software pentru conteolul robotilor mobifi prinCMe putem impl ementS!. $1 s taNl i detWlii de nivel scizutrn. ll1lteractilmea eliens-server (inChlSivre~Hsti.ci ethernet ~ r u eomunieare se.rirua de date), procesareapacheselor ell jnforma~H de Iaserves .~jcomenz-1 teraporizarea ciclurilor robowlui~i implementarea unni wstchdeg,multithreading, ~i ofeta un suport pentru comunicareacu 0 varietate de aecesorii ( ! Ip~~onal .e~abi~e [a mbomlllPl~op].eBot: (display:. caenera, lASER SICK. gripper ell 2 sau 7 grade delib ere as e, b ump ere , s e.nm ri i r u i i a . r o l : i i , . gWiSOOp anelogic, e tc ..... , e are s un s (;omp a!tibwle euaproape l ltoati igama d . e : roboti . .MobileR.obo~sJf iC.

    Software-ul de dezvoltare furnizat de prQduc~tor permitecontrolul dinamic atv ie ez elo r (Hn ia di ~i de rotatie) . a ec ele ra tie i ~ ~.deceleratiei, directiei ~ipoziUei robotului,Integreaza . faci~im!] d.e inkare/i e-~~redin partea utilizaroruliw,. de eomuaieare ell diverseaceesorf i , Ma!wmu ll, . :~ ~ implementarea ac~ruuni~() Irderunh:e .d e pregramator, arvnd . de jaimplemeatate rC I serie deactiuni de evitare a. obstaeolelor ~ .i un s~;gtemmal ti-thread incapsulatpentr u ap li ca tH cu rn ai m u lte fire de executi e.

    Sistemul de com anicare via sockemri inc lus w n A .P ~: (A ppUCaDE lo n P rog ramm i ngMer faoe ) :f ac il ite .a z i c o amn i ca re a mtre obieetele A1UA . Un avanta;ji al aeestui mediu esiefaptuJ. c A . obiec-teJe,cbse din MI -ul ARIA sum sb. 't lc t! .J lI fi !te .u..ni ti il i care m.~I,i l l [eaziae~~vitatead e im plem entare a d~ferHj]Qralg oritm i d e- c ontrol: A rUm (u tH itati g en erale ), A rM a th (functiimatematice ~~decalcul), ArPoSie (dsterminarea pozitiei), ruSecrofs (prin care se line evrndenlamm!ie.iicomplete til robctalui), ~onfig (salvarea ~iinc~{:;area.paramet:riWor ] , ( ) b o t w . u r r u ) .

    .38

  • 8/6/2019 Controlul Unui Robot Mobil Prin Gesturi Umane

    39/66

    ArRobat

    Capitclul l-Rc -~foosiH:

    Figura 3.8 - Reprezentarea principalelor librarii AlUi\.

    3.4 Simulatoru~Mobil~SilD~ll~Acest program oferit de firma MobileRobotsjnc sim ul eazatoate platformele oferite

    de aceasta firma, fiind un produs software util pentru Iucrul cuacesti roboti, deoareeeprogramele cornpilate vor putea fi rulate pe simulator ill. lo c de robotul real. Un a.van.tlitjalacestui simulator este faptul c~ putem importa haIti CH obsracole brinedefinite, iararia In cafese poa.te misca robotul este infinita, Un dczavanta] a] .hilieste faptul c a pentru eomanda desetare a vitezelor pentru celc doua roti, parametrii ccmenzii trebuie trimisi in nglinda pentru aefeetua aceeasi miscare:

    setVel1fPBot~~100;H)O); - robotselVeI2(,PBot,. lOO,-U){ )) : - simulatorMobHeSjm este 0 versiune imbunWt~~~taa simulatorului Stage ereat in. cadrul

    proiectului Player/Stage. Coneetarea ell s:imulatorulse efcctueaza prin portul TCP(Transmission Cootrol Protocol) 8[0 I.

    Programul perminte alegerea modelului de robot eel urmeaza a fi simulat si hartamediu l U , ] inc onj m at-or ~ n care U!mleazru S.al fie simulat robotul, Dupa pornirea simulatonslui, se.mkalU. programul-sursa, ian!"MobUeSim va incepe simularea comenzilor primite. D]J] meniulMobilesim putem reseta pozitia rnbotului, putem afisa citirile sonarelor saulaseralui sanafi sarea c AH parcurse d e robot.

    39

  • 8/6/2019 Controlul Unui Robot Mobil Prin Gesturi Umane

    40/66

    Capitolul 3 - Resursele M . . l : ' \ : ~ si software folosite1.5 Paehetul sofm are !\lATLABMATLAB (MATrix L'\BoralOry) este un. pachet de programeereat special pentru

    lucrul ell matrici, Este 1lI!1parhet de tool-box-uri ereat special pentru catcule stiintifice ~iingineresti, Mathili este un prod us al firmei MathWorks. Matlab permite manipulareamatricilor, vizualizarea functiilnr, implementarea algoritmilor, crearea de iD .terfete .~ ]interaetiunea cu altea~hcaFi" Mat 1alb e uti lizat pe larg in industrie, if! universitsti ~1edisponibilcross-platform, sub diverse sisteme de operare: Windows, LimJX ~iMac OS,

    Software-ul Matlab este creat in jurul limbaj ului de pmgramrn:e en acelasi nume,Comenzilepot fi scrise ~iexecutate direct din linie comanda, dar pot fl . grupate ~iin scripiurisau funetii ape1abliie.Aplicalia noastra a fest in 'l lp ierneni tar ta folos ind versiunea lR2(}09b aMatlab,

    3.~6Legaturn d~Dtre Matlab ~iA.R1A[iL31Legatura dintre Matlab ~ialtelimbaj e de pmgramare poate fi . realizar prinmaimulte

    metode, Limbajele de programare C sauFOR1'RAN pot folosi Matlab ca motor de proceserea datelor prin folosirea l ibrariilor specifice Matlab, Oastfel de librarie permite aplicatiei . s acomunice C - I J 0 lnstan,~a Matlab printr=o interfa$a COM pemru sisternul de opera:re Windows.Aceasta interfata face transferul de date de la ~i di:treMaJl:lab :} i de procesarea datelor prinapelarea functi ilor.

    O alta. metoda consta In c rearea d e fi;~ i!ereM EX (M lftD tiabEX ecutaib1 !e) " Aceste fisieresum formate din doua parli dinstinete. Prima parte cuprinde rutina ce implemerneazafunc~k)naHtalell dotili, poate fi unalgoritm numeric optimizat, 0 :l:'!Jlt~na de eomunicare ell {Ipiesa hardware deosebita, etc. A doua parte a fisierului MEXeste reprezeD!mti de rutina deaeces, Responsabilitatea sa este aceea de a crea 0irrterfataimre Matlab ~ipastea de procesare,Aceasta verifica ~i faca fisierul MEXeste apelat cu argumente valide. Rutina deaceesapeleaza rutina de prooes.a:re dll]lP~.erificarea argumentelor, Acest tip de. fisiere MEX SUITtfolosite frecvent datorita performsmeler sporite Muse ap]jc~t]ei

    Figura 3.9 - L eg atura d intre lV IA .T LP ill ~iIibrariile ARIA

  • 8/6/2019 Controlul Unui Robot Mobil Prin Gesturi Umane

    41/66

    Diagrama de clase ~ -~~l j ARIA-MAILAB este descrisa in figura 3.l0. inaplicana implemennna in 1 \ larla ::.-~U folosit doar 00 parte dintre .fufilc-liHece apartin interfetei:

    robot/nit - realizeaza in i [ializarea TO botului, ~] primeste '~)3. parametrunurnele robotului:

    N)bot/niISim - realizeaza initializarea robotului din simutatorul Mobileflim~ primeste ca parametru numele robotului;

    runAsync - prirneste ca psrametru numele robotului ~i apeleaza metodarunA..s:ync din clasa ArRobot.:,il porneste robotul in mod asincron;

    set Ve l - setea z a viteza robotul ui, primeste ca parametri numele robotului ~iviteza liniara a acestuia:

    '. set V el2 - seteaza viteza robotului, prim~te ca pararnetri numele robotului,viteza rotii din stiinga ~j iteza rotii din dreapta;

    setHeading - seteaza orientarea robotului, prirncste ca parametri numelernbotului ~iorientarea d o : r i H i a robotului;

    position primeste ell parametru numele robotului .? ] returneaza intr-unvector de dimensiune 3x 1 cc contine coordonatele robotului pe celedona axe de coordonate ~] orientarea acestuia: X r Y r ~i6 ' r ;

    shutdfl'rlln - primeste ca parametru numele robotulul ~iiachide conxiunea cuacesta;

    stop - primeste ea parametru nnmele robotnlui ~iU opreste apelandmetodaARIA s~opO;

    41

    Figura 3. W - Diagrams de clase a interfetei ARlA-MATLAB.

  • 8/6/2019 Controlul Unui Robot Mobil Prin Gesturi Umane

    42/66

    Capitolul a - ReznltatCapitolul IV

    Rezultate experimentale

    In urma aplicarii algoritmului robotul se va misca spre directia indicata de operatoruluman. Am tratat in cominuare fiecare gest in parte $i unde a fost posi hi] am prezentat ~itraiectoria robotului.

    4.1 Prezeatarea rezuttatelor pentru gestul.STOP Achizitia imaginii; lO=ge ld ata (c am , 1 );

    Figura 4.1 - Achizitie: STOP Binarizarea: lOln'J!=l~m2bw( IO , 0 .45 ) ;

    Figura 4.2- Binarizare: STOP

  • 8/6/2019 Controlul Unui Robot Mobil Prin Gesturi Umane

    43/66

    Capitolul 4 - Rezultaie ~;:ale. - Erodarc Di ~_ !Om=bwmorph{JOmiJ,.!crode~l);

    10m=bwrr.or 'dilatel~2);

    Figura 4.3 - Erodare/Dilatare: STOP

    ., Eliminare spatiialbe/margini/ gaur]: 10m =bwareaopen(JOm, 500);lOm=imc lea rborde .r (JOm) ,: 10m J= .im fiU ( IOm, . 'ho le s') ;

    Figl!lt'd~.4 - Eliminsre spatii albe/mergini/gauri: STOP

    Figura 4.5 - Incadra re in dreptuughi: STO'

  • 8/6/2019 Controlul Unui Robot Mobil Prin Gesturi Umane

    44/66

    SeparatehJ.FiUedi

    ~=egionprops(logical(IOmJ), 'Filled/mage'); hand=catfl,

    Figura 4.6 - Separarea formei: STOP

    4.2 Prezentarea rezaltatelor pentru :estu[ STANGA Achizitia imaginii: 1 ,0=ge td ala ( c am , 1 );

    Figura 4.7 - Achizitie: STANGA

    '. Binarizarea: IDm' l l=im2bw(10; O.45} ;

    Figura 4.8 - Binarizare: STANGA

  • 8/6/2019 Controlul Unui Robot Mobil Prin Gesturi Umane

    45/66

    zre: IOm=bwmot'ph{JOb'w, 'erode', l];IOm=bw ' rph Hhn : dilate ',2);

    Figura 4.'9 - Erodare'Dtlatare: STANGA

    Eliminare spatiialbe/margini/ganri; 10m =b. .tJareaopen(lOm, 500);'JOm=imclearbordertltlm); JOmJ=.im.fill (10m, 'holes';

    Figura 4.] 0 - Eliminate spatii albe/margini/gauri: STANGA

    '. fncadtare in dreptunghi: lin e(s qx ,.s qy , 'L in e W id th "2);

    Figura 4.11 - Incedrare in drepnmghi: STANGA

  • 8/6/2019 Controlul Unui Robot Mobil Prin Gesturi Umane

    46/66

    Caprulolui4- Rezuhaie ~e Separate f ~. .::~!-regifmpl'op8(iogi'(;al(JOm J), 'Filledlmage'}; hand=cat{1,

    hl .Filledl.r"

    Figura 4.J2 - Separarea formei: STANGA

    Snap-shot ell programul MobHeSim Jaefectuarea gestului STANGA

    left+*

    pc eo -u. . . . . . . . .

    F ig -u ta 4 J 3 - Sna ]J'"s ho t Moh ile iS .rum :STANGA

    " Pozitia robotului la efeetuarea gestului STANGA

    ? '!l!J~'!ii el.i- ..l . ! m

    1000

    ~Fi.zi ii" "" 0.. .-. (mno)

    Figura 4.14 - Pozitie robot: SIANGA

  • 8/6/2019 Controlul Unui Robot Mobil Prin Gesturi Umane

    47/66

    Capitolul 4 - Rezultare ~raJe O rientarea roO mlui la efeetuarea gestului STANGA

    l O O

    '. .

    ~ s~rro"'(>-11l;I

    7

    Figura 4.15 - Ori.en:taref1olJot: STANGA

    4.3 Prezentarea rezultatelor pentru gestel DREAPTA Achizifia imaginii: 10= getdat:a{cam" J);'

    Figura 4. [6- Achizitie, DREAPTA

    B inarizarea: JObw=im2bw( JG ,O . 4 5 );

    Figura 4.['7 - Binarizare: UREMIA

  • 8/6/2019 Controlul Unui Robot Mobil Prin Gesturi Umane

    48/66

    Erndare ..........""""""IOm=bt tm

    ; IOm=bwmo rp h(IO bw , 'ero de', 1 );

    F igura 4 . [ 8 - E rod aee/D iletaee: DREAPTA

    Eliminate spatii alWmghll1~lI:ri: JDm=bwarea op en (!Om ,. 5 0G ),-lOm==imc le .a rbo rde.r (10m) ; 10m J=im f ill ( 10m , 'holes ,;

    Figura 4 . .19 - Eliminarespatii aliDe/margini lgauri: DREAPT A

  • 8/6/2019 Controlul Unui Robot Mobil Prin Gesturi Umane

    49/66

    Erodare D" atare: IOm-bwmorph(JObw, 'erode 'J);JOm= bwm orp h T Om .. 'd ila te '.2)';

    Figura 4 r .18 - Em dare/D ilatare: D R EA PT A

    Eliminare spatii a~be/marg]n]!gauri: IOm=owareaopen(JOm,500);lOm=imdearborder(JOm); lOmJ=imfill(lOm, 'holes'};

    Figura 4.19 - Eliminare spaii albe/margini/gauri: DREAPT A

    '. incadmre 10 dreptunghi: l ine{sqx.,sqy, 'I ineWid th 1 , 2 ) , :

    Figura 4.20 ~ Incad.rare in dreptnnghi: DREAPT A

  • 8/6/2019 Controlul Unui Robot Mobil Prin Gesturi Umane

    50/66

    . . S eparare i ~ =regw.nprop8(logical(JOm _j), 'Fmedlmaf{e~;hand=cat(1.hI.FiUedlm!1. i

    LFigura 4.2 l - S epararea formei: D REA PT A

    .. S nap -sh ot c u. pro gram u l M o bH eS im ].a efec tns rea g estnlu i VIREMIA

    'E ' !lilID-sI.0'~"-.,l~

    F ig ura 4 .22 - S nap-sh ot M o bilefiim : D RE AP T A

    P oz itia robotuluila efectuaeea gestului DJ.EMTA

    0'

    1(00 -

    uPo1~iII~(Ij; ~_.ru(om!)

    Figura 4.23 -Pozipe robot: DREAPTA,ttij

    49

  • 8/6/2019 Controlul Unui Robot Mobil Prin Gesturi Umane

    51/66

    Orientarea ro :~rn b.efectnarea gestului DREAPTA

    1 ( 1 )

    -~115 Er a r m a n n rnu-dui 8

    Figura 4.24 - Orientare robot: DREAlPl'A

    4.4 Prezentaeea rezuUate i( jJor pentr l1l gestul iNAPOI Achizitiaimsginii: IO=getdata(cam, 1);

    Figura4.25 - Adrizitie: tNAPO~

    Binarizarea: lObw=lmlbw(JO, 0.45);

    . , .

    10

    50

  • 8/6/2019 Controlul Unui Robot Mobil Prin Gesturi Umane

    52/66

    Capitolul 4, =Rezultare e"~:"'J.ile Erodare Dilezre: JO m= bw morph(IO bw , 'erode 1 , . 1 ) ;

    . lOm=bwmorp Om. dilatf;;!,2),"

    Figura 4.,27 - Erodare/Dilatare: INArOi

    Eliminare spatii albe/mocginilgauri: IOm= bw area op en (JOm"5 (J()),"lOm=imclearborder(lO:m).; 10m J=imfill(IOm, 'holes');

    '. fucad:rare indreptunghi: line(sqx,sqy, 'lineWidthl,2);

    Figura 4.2'9 - Incadrare 1 1 1 1 l dreptJUnghi: lN APOl

    51

  • 8/6/2019 Controlul Unui Robot Mobil Prin Gesturi Umane

    53/6652

    Separate form':": hl-regionprops(logical(IOm_j), 'Filledlmage'); hand=cattl,hl.Filledlmag -

    , JFigura 4.3 0 - Separarea formei: iNMOl

    Snap-shot ell programul MoOileSim la efectuarea gestului tN APO I. . -

    Figura 431 - Snap-shot Mobilesim: :INAPOI

    Pozijiarobomlui la efeetuarea gestului INAPOI

    1000

    ~ 1iJJ-5'!!-;;~.~~,~~

    Po! l l i\ l . . b . lu l, j

    mP~~B pa au o b u u i ' (mm ) 100II

  • 8/6/2019 Controlul Unui Robot Mobil Prin Gesturi Umane

    54/66

    entale'. Orientarea tuiui Laefec tuarea ges tu lui N A P O r

    i'!i!l

    -

    .t O O

    - , ~c ~ ,6Nurnanrl~lu.; 7 ~I '0 "

    Figura 4.33 - Orientate robot:rnAPOI

    4.5 Prezentarea rezulrateler pentru gestul iNAlNTE,. A ch iz itia im aginii: lO=getdata(mm11);

    F igura 4 .34 - Achizitie: INAfNTE

    Binarizarea: IObw=im2bw(IO, 0, 45);

    Figura 4.35 - Binarizare: c\AI\"TE

  • 8/6/2019 Controlul Unui Robot Mobil Prin Gesturi Umane

    55/66

    .. Ercdare/Dilaiare: IOm=bwmorph (JObw , 'e ro de ', 1 );JOm=bwmorph 10

    Figura 4-36 - Erod~eJnilataIe:lN tUNI-E

    Eliminate spatii albe/margirri/gaari: JOm =bwareaopen (10m,5 G O ) , :JOm =.imclearb.order(lOm),o IOmJ=irnfill (lOm , 'h o! e s) ,"

    Figura 437 - Eliminare s~ii albe/margini/gauri : iNAINTE

    '. incad r.a:~:e ill dreptunghi: Une(sqx,sqYi. trine Width ',2);"

    Figura 438 - incadrare in drepnmghi : lNAmTE

    54

  • 8/6/2019 Controlul Unui Robot Mobil Prin Gesturi Umane

    56/66

    Capitolul4 - Rezultate experimentaie Separate forma. iz . T=regjonprops(logical(JOm _j), 'Filledlmage'); hanci=cat(l,

    hLFUled]mogeJ:

    ., Snap-shoteu programul MobHeSim. L a efeetuarea ge;srulu:i.1N AJNTEp

    Figura: 4.40 - Snap-shot MohileSim: INA[NTE

    .POZlpZI. roboml ui la efectuarea gestului ft.,rAINTE

    ~ ~.sj o"li~c~,1 ' f O

    -1(1;0

    BPoo!II~~ o~~_ulUl C < n m l KID

    Figura 4.41- Pozitie robot: INAIN1E

  • 8/6/2019 Controlul Unui Robot Mobil Prin Gesturi Umane

    57/66

    Capitelul 4 =Rezalraie ~ea efectuarea gesmlui INAINTE

    +.;i.

    D

    Figura ~.42 - Orientate robot:iNAINTE

    itc)Rezu~a.tate generaleP en tru e fe etu are a s uite i d e g es tu ri: S ,[OP '., iNA_ rnTE~ DREAPTA , rnAPOI~iNAPOI ,

    iNAINTE~ Sf ANGA~INA[NTE, tNArNTE~OREAPl' A ,. a r m . ob ti nu t UFm a to ar el e [ ez rn ]t at eexper imerna le :F - ~ :M.bilollirl '(

    : = I I J J iT . . E:iI)t~:l?!l!!iildJ ifor , i i i ~.1lIi ~QI tl ;i :~t1 11;1nI ' C P Ipol18101.>l!o~ie~,.tai:S~"~fC~i!!~,I.~(!!I;~: R~~d!r~ ,. ~li~!l!I1~~~ 0 1 1 , TCPpg~ @!D~. :: d

    F ig ura 4 .4 3 -lRe zu ]ta te s Imu la to r snitf! d e g es tn ri

    56

  • 8/6/2019 Controlul Unui Robot Mobil Prin Gesturi Umane

    58/66

    Capitolul 4 - Rezultate expenmenta,eP o: zit ia re b etu lu i

    IE 5(10..- ":;"0.ae o~0QIiCi.

  • 8/6/2019 Controlul Unui Robot Mobil Prin Gesturi Umane

    59/66

    Cuncluzli

    58

    in aceasta 1 ~ prezentar posioilitatea implememarii conducerii robotilormobili eu aiutorul gesturi or umane,Programul a fast implernentat in Matlab, urilizandu-se posibilitatea acestuia de acomanda robotii de la Mobilekobots cu ejutorul librariilor ARIA.Marele avantaj al acestei implemetari 'it reprezima faptul ca poate fi implementatfoarte usor pe oriceplatforma robotica pe care se pot achizitiona ~iprocesa imagini, I n urma

    precesarii obtinem lID sens indicat de operatorul uman, si in functie de aeesta se ian masurilede rigoare.Impedimentele de care m-am Iovit in implernentarea acestui algoritm au fost unhardware ell pueere de procesare mica, dartotusi ell portabilitate mare, ~icalitatea inferioara acamerei C U I ew e am realizat achizitionarea imaginilor, 0 alta piedica intalnhrl a fast ~ .isehimbarea conditiilor de lumina embientala, datorita earora binarizarea imagaulor dadeagres, I'n viitor voi implementa un algoritrn de calibrare a nivelului de lumina peste care pixeliidevin de culoare alba, si sub care pixelii devin de culoare neagra,In viitor va trehui sa realizez un algoritm de recunoastere a formelor pentru a extindenumarul de gestnri sipentru a evita anumite citiri eronate aparnte destul de des ill timpulimplementerii programului. Va trebui sa. folosesc un hardware mai performam ell putere deprocesare mai mare, ~i0camera de calitate superioara pentru a achizitiona ~ipreluera imaginide o calitate mai buna,

  • 8/6/2019 Controlul Unui Robot Mobil Prin Gesturi Umane

    60/66

    Bibliografie

    [1] L. Pillai ~Color Space Converter, XAPP283[2] G,. Puscasu, B. Codres - Semnale si metode de pro cesare, EditnraUniversitatii Duna rea de Jos, Galati, 2004[3] Image Processing. Toolbox User's Guide" The MathWorks, inc. ,2007[4] R. Gonzalez, R.Woods - Digital Image Processing Using AtlA:TLAB,2nd

    edition, Gatesmark Publishing, 2009[5] T. Gotch, Y. Ohta, M. Yoshida, Y. Shirai - Component labeling algorithm

    for video rate processing, 1987[6] P. Bourke- Calculating the area and centroid of a polygon, 1988[7] E. Deza & M. Deza - Encyclopedia ofDistances, Springer ~2009[8] http~llmsdn.micl"osoft .CQm!,en-usnibra1Ylbb238940.aspx1[9]R. Solea, U. Nunes, A. Filipescu, D. Cernega - Sliding mode control fortrajectory tracking of an intelligent wheelchair, The annals of

    ~~DUNAREADE J08~~ University (If Galati, FASCICLE Ill, Vot32 ,2009I [ 10] PerformanoePeopleBot Operations Manual, Mobilekobots Inc., 2'007I [ 11 ] Aria Reference Manual, 2002[12] ht tJg :IJrobots .mobilero bots.qunlwikiiMobi ]eSim[13]1 Jonas Borgstrom - ARIA and Matlab Integration With Applications, 2005

    59

  • 8/6/2019 Controlul Unui Robot Mobil Prin Gesturi Umane

    61/66

    .An.exa.1'%~~~%~~%%l~%%%%I%b'~'%%%%%~~~%~ ,. i%~ %~%%%~%%~~%%%%*%%y%%%%%,%%~%t%,%%~t Prog rarwl principal %~'I%~%1%i%i~~~'i%~S%%%%'l~%~~~.%%t1%%1~~.~%u%%J~% ~~i~ %%~~%~~b%&~%%%%~%~warning ( 'off' }icl@ar alltcic;elf;imaqr'E:set;i='O.;n.. input (' l?orn:"U .robot'.:;:!. aau simu':"a;:orul7',1-r:;bat/2-simulato.rl ');n=c.n.ar (n) ;if n==l

    init.Robot(,PBat ');elseif n=2ini tSym.' ' PBot I ) ;.elsedi.ep (' ~.ti gres'~ comanda ") ir et.urnrendcam=ini tCamera ( , camr } ;for i=1: 2()[cerrt r r s,YI ari.a, IOrm._f] =iroProcesare (cam);

    pos=posi tion ( ,PBoc' ) ;pozitiex(i)~pos(l);pozitiey(i)=pos(2);pozitieteta(i}=pos(3);

    hold on;if s(1)=1 .& & s(2)",2if aria>1000plot (round (cerrt r (:,1)), round (CE'mt.r (:. 2)} , T *r ...

    y(:, 2) 12, y(: ,.1)12,' +b'};hold on;[sqxFsqy]=irnDreptunghi{IOm_f);~.ine (sqx, .sqy, Linef.rii d t h ' f 2) ;[hand, cent.rh, yh, u, d]=imSens (TOm_f; ;st.lbplot(236)cIa;iro:show(hand};h ol d o nplot. (round(centrh (:,1) l,ound (cent.rh{;, 2) ) I '1~45&&u=-18 0do (~left r } ;

    elseif u=-135do ( .,fo~r,.f.:n:d j );

    60

  • 8/6/2019 Controlul Unui Robot Mobil Prin Gesturi Umane

    62/66

    e n delsedo{;S::Op' )1=1+1;if i>4

    hreak;e n dclear hand ih o l d o f f ;

    elsee n den dand

    t=1:1ength{pozitieteta}ifigure (10)plot(poziti@x,pozitiey,'-r');axis s q u a r e ;title(Tpozit=a rcbotului');xl abel ( !Pozi,tiil. pe ox a robot ulUL {mJ1:11') ,;yl.a.bBl ( I' PozitLa pe Oy a robot ului (mmj'};figure (1l}plot(t,pozitieteta,'*b');axf s ('[0 21-190 190J);t i t l e ( ' 0 r ientarea ~cbotu l~i ' } ;xl abel ( NumaruI f zame-euIui };ylabel ( rOriel1l::.a rea in grade') istopPro.g:ram(cam, r PBo':' ) :

    AU1exa l%%'t%%%%~l%%%~%%1~%t}%~" .%%%%%~%%%%~i~~%~%~i%%%%~~~ij%~%%%%%%i%%%'6t%%%%%%t~ F' ~ n c t i c e r ea l ie a z e i n l t i a: : ' i za r e a .a ne r e I %%'~%~~%1~%t~%%1%t%~%~~%~%%~~%~~~%%%'% '%%%~~~1v%~~~%%*%%~%%~%%%%%~%%g%%,%%%function carn=initCarm.era (~lcan=v Ldeoi.nput; {'l.-!invid.eo,1. IYLTY2_320x24C r) ~src_ vid=getsel'ectedsource (cam);set (src_ vl,d, 'Ra

  • 8/6/2019 Controlul Unui Robot Mobil Prin Gesturi Umane

    63/66

    --- --- ----- -- - - - -- - -

    Anexa.3F~~cti a e n ~e ~_i =a za

    % ' S , , : S H t . - ' "i : : I ~ I function ini.t.Sym.(n]open {~c: \progr:':;l1l F~le~\MobileRobots\McbilQSil'll\MobileSli'!l:. exe') idisp ( '''-pasa t.i. 0 tas te dupa ce ali deschi s pr cqr-amul MobileSim');d!.i.sp (' s i astep,:ati ~ ;"'ij U Ldz az e a proq:::arr.u':_ui",!)pause;robotIni t~iim{oJ ,ruMs ync (n} ,~s e tVe l {n , 0) ,

    An.exa 4

  • 8/6/2019 Controlul Unui Robot Mobil Prin Gesturi Umane

    64/6663

    irnsbow (lOrn_ f} ,x=re.gionp.rops{logical {IOffi_f),rcentr0ldr)~e en tr =ca t(l . x.Ce ntr oi d);a=sd.ze (cent r) ;y=size {10m_f) ;aria=bwar~a(IOm_f};

    Anexa 6%~~ft~A~~~~~t%Si%~~ t~ ~%.~~~~~~~~%%%%li%~~~~~%.~u~ %%. '%~ ~%%~%.~.~ ~g%lS%= f ~\~nctia eu j uterul car ei.a c.es:enam nn ~"ireptunghj %~ in juru I cbl ect.ui.ut .iJent":'Ilcat % .'t%~~%~i%%.Q%%%%%%~ilb~.u%'.~~tB%%%%~ ~1 ~~.i ~.~~~ii{~~~%~~%.~ta %%~%~furict;ion [sq;.::, s q y] = i m D r e pt u n gh i (lOm_ f)bb-regionprops tlogical (10m_ f) , : 3 o u n d ir _ gB cx ' ) ;bourtdbox=cat; {l, bb. EoundingBox.) ;coltx=boundbox("l); colty~boundbox(:f2);Lenqt.hx=boundbox ( : l 3); lengthy=boundbox ( : ,4) ;cl-[coltx colty J;c2~[coltx colty+lengthy];c3= [coltx+lengthx. co Lty+Lenqt.hy'l zc4=[col tx+Lenqt.hx colty ] sqx- [cl ( : ,1) c2 ( : ,1) c3{r, I} e4 (r, l} cl (r, l} ]~sqy= [ cl { ~ f 2) c2 { : r 2} c3 (: : 2} c4 (:i 2} cl (~,2) 1 ,

    Anex:a.7i~'%~%:~~%~~t%u~~~i~ ~ ~~~. i)~~%~%i~%%%~fD*~D~~%~%%%~~~%%%~%%%~lt~~~%%~% ~unctia ce ret~lneaza sensul spre care se i n d i ca ~

    function [hand, cent rn, yh, u. d]=imsena (rOm_f)hl=reg1onprops (logical (IOIl1_f)I .,Fi llQdIrnage "};hand=ca t{1, hi. Filbd.Irnag'e} ;xh = r e g i o n p r o p s { l o q i c a l ( h a n d } , ' c e n t r o i c l ' ) ;centrh=cat(l, xh.Centroid),yh=size{hand);centrx=round(-centrh{: T l}) +yh.(:, 2}/2;centrv=roundf -centrh (:, 2}) +yh(: f 1}12;ce ni mx= O: ce ni my= O.u=unqhi(centrx,centry).d=df, stan t.a ("cent rx T cent r Y cen.imx,.c~nim.y);

  • 8/6/2019 Controlul Unui Robot Mobil Prin Gesturi Umane

    65/66

    -=.function u=unqha (.lilt Y}u.=a.tan2 (~hx) *180/pb

    Aoexa'9" '

  • 8/6/2019 Controlul Unui Robot Mobil Prin Gesturi Umane

    66/66

    pa.use (5) ;8etVel(rpBOl~IO);el.se if strcmp (0, ~back I }

    afisare {"back ' };s e t V el ( ,P El o t ',-2(0) ;pause ~,J I ;6~tVel['?Bct',O);e l seif strclilp {Fl, 's-;:QP' }s"fLsa,re {'8t.op' ) isgtVel('PBot',O);pause (5)

    elsedisp ( '''_ti gresi t c onauda de depl.;:! s';L1r~ a r'obot.u Iu I , I )e n d

    A ! E l e .x a 1 2: =u ncti a e u a ~,_to ru 1 ca r~; ~ o pr im pr ogr am l1l~-' ._U_~ ,{.~ % % % ; ! . ,

    function stopProgram (a,.b)

    stop (a},st,opRunning (b} ;shutdown (b) ;