Blogu' lu' Yeti idei trăznite, experienţe nebanale şi păreri subiective

17May/100

Eurobot – etapa națională

Nu știu dacă mai trebuie să spun ce este Eurobot, cei mai mulți dintre voi care mă cunoașteți ați auzit povestea: e un concurs anual de robotică autonomă în care doi roboți concurează unul împotriva celuilalt pe o masă de 3 x 2 metri, fără să se încurce unul pe celălalt, și au 90 de secunde pentru a îndeplini o sarcină. Roboții sunt perfect autonomi (aka nu sunt telecomandați). Detalii aici.

Tema de anul ăsta se numește Feed the World, și pe scurt trebuie să găsești și să transporți roșii (bile roșii), portocale (bile ... portocalii, mai grele decât roșiile), și știuleți de porbum (cilindri albi și negri - cei negri sunt stricați și nu pot fi culeși).

Am început lucrul pentru robot din timp anul ăsta, dar după primele întâlniri a devenit clar că aveam probleme. Micvs încărcat de ore, Dan, plecat în Germania să îi facă pe ăia mai deștepți, eu, printre altele, cu probleme cu banii ... Acum câteva săptămâni am reluat treaba. Împreună cu Dan, Micvs, Adi, Matei, Mircea și Sergiu, am făcut de toate, mecanică, electronică, programare, grafică, măturat pe jos :). În ultimele săptămâni am pus toți osul la robotul pentru anul ăsta. Am avut tot felul de probleme, și în ultima săptămână aproape că nu am dormit deloc. Ca de obicei, în ultima seara înainte de concurs, toată lumea era în laborator.

Petronela, robotul nostru, era gândit să facă lucruri mărețe și precise. Pe măsură ce ultimele ore și minute până la concurs treceau, am renunțat pe rând la mai multe subsisteme (adica în termeni plastici i-am făcut o lobotomie :D). La ora 9:15 eram prezenți la concurs.

La etapa națională care a fost vineri, 14 mai, în corpul AN, au venit cam 10 echipe, din care 6 de la Sibiu, noi din UPB împreună cu colegii de la RobotiqueFF de la Fils, niște baieți e la Iași și o echipă de la Oradea.

Omologările (pentru că roboții trebuie să demonstreze că corespund regulilor înainte să intre în concurs) s-au terminat la ora 14, noi am fost a 4-a echipă omologată din cele 5 care au rămas în total. Chiar înainte de omologarea oficială am dat de câteva probleme destul de serioase (one of them caused by me :|), totuși, le-am depășit.

Au urmat apoi meciurile, fiecare cu fiecare, deci 4 meciuri. În primul nu am reușit să marcăm, dar am plecat din zona de start, deci am luat 50 de puncte. În al doilea am reușit și am marcat două bile roșii, și am câștigat meciul, deci am strâns ceva puncte. Echipele de la Sibiu erau foarte bine pregătite, și ne depășeau lejer. Al treilea meci l-am ratat cu totul, ne-am blocat într-o margine. A fost un moment destul de trist și ne cam pierdusem speranța, dar, în al patrulea meci, Petronela a fost în formă și s-a dat cumva peste cap și a împins două bile și un porumb alb în zona de marcare, ceea ce ne-a clasat direct minim pe locul III, la o distanță (infimă dar existentă) de celălalte două echipe mai "mici". Apoi, una din echipele de la Sibiu nu a reușit să marcheze "cu poarta goală" și ne-am dus direct pe II. Iuhuuu :)

O să încerc să povestesc despre robot altă dată, ce are prin el și de ce e deștept. Ce e important acum este că Petronela și echipa OVP participă la finalele Eurobot 2010, care vor avea loc la 30 de km de Zurich, în Elveția, peste două săptămâni! :D

Sper să revin cu filmulețe de la meciuri, și cu poze de la Ioana, care a fost și ea în vizită.

Update: poze de la Ioana.

Petronela bucăți mici miercuri noaptea

Petronela joi dimineața

Echipa OVP 2010

Mai sus eram forat serioși. Noi de fapt suntem așa

25Mar/101

INTED2010

După cum ziceam, am fost la prima mea conferință, INTED2010, la Valencia. Pe numele complet International Technology, Education and Development Conference, conferința este o ocazie de întâlnire pentru profesori, ingineri și alte nații de oamenii interesați, în special, de utilizarea tehnologiei în educație, dar și de educație în tehnologie. Mai are două conferințe soră, la Barcelona și la Madrid, și adună oameni din ceva de genul 80 de țări. Sunt convins că undeva în tot sistemul ăsta intra și ocazia pentru profesori de peste oricare din oceane, dar și de mai de-aproape de a îmbina utilul cu plăcutul și de a avea un pic de vacanță în Spania :)

Anyway, eu n-am mai fost la conferințe de-astea vreodată, așa că am avut megamorcov, și am tot negociat cu mama ce haine să-mi iau și de-astea, ba chiar m-am și ras! :D Am avut de prezentat două articole pe care le-am scris împreună cu profu' (sau mai repede, le-a scris profu' împreună cu mine). Unul s-a intitulat Overusing the Internet - Problems in technical education și discuta probleme legate de superficialitate cu care studenții noștri folosesc Internet-ul pentru a face copy + paste și-atât. Sunt multe de zis aici, multe de dezbătut, și nu vă pot da să citiți articolul că am predat drepturile de autor spaniolilor pentru conferință, așa că vă invit la povești pe tema asta.

Celălalt articol a fost mult mai direct, o prezentare a unui proiect care se întâmplă la noi la facultate. Articolul s-a intitulat Education by research, și prezintă o idee pe care încercăm să o implementăm acum în echipa noastră, prin care să îi încurajăm pe studenți să se implice în proiecte de cercetare, ca remediu la plângerea constantă că nu fac chestii practice în facultate.

Am avut megamorcov la prezentare, la amandouă. Am lucrat și am repetat prezentările de zeci de ori, să încerc să le bag în 12 minute. La prima sesiune am înțeles prost și nu am dus prezentarea la timp (dar s-a rezolvat cu bunăvoința ălora). La a doua a mers mai bine, deja știam cât de cât despre ce e vorba. Am găsit mult mai ușor să stau să îi ascult pe alții după ce am terminat eu de prezentat, și m-am plimbat între cele 5 piste paralele (parallel tracks, oare așa s-o zice în română?) căutând lucruri interesante.

Nu pot să zic ca am găsit ceva cu adevărat valoros, multă lume prezenta situația din diferite locuri, dar mi s-au părut un pic mai aproape de realitate decât ce se întâmpla la noi. Am ascultat oameni care folosesc cu succes Podcasturi în cursuri, oameni care folosesc înregistrări video pentru a ajunge la studenții care nu pot veni la curs, am auzit despre școli care sunt flexibile și se mulează pe nevoile studenților. Evident, sunt convins ca nu e roz situația nici la alții, dar atitudinea generală este cu totul alta ca la noi (și mi-a confirmat mai multe din presupunerile mele legate despre cum se face / cum ar trebui să se facă educația la nivel universitar).

În ultima zi, pe 10 martie, organizatorii ne-au oferit un tur (cu ghid cu tot) al Valenciei. Am văzut niște chestii fenomenale, cum ar fi Piața Centrală (unde mi-am dat seama că cultura mea despre viața marină este exact 0) și Ciutat de les Arts i les Ciències, care este un complex fenomenal de clădiri mega SF făcute de un arhitect de-al lor (unu Calatrava). Am mai dat o tură prin oraș, ne-a arătat ghida una alta, apoi am avut liber. Am fost la concertul de petarde din piața publică (care se întâmpla în fiecare zi în săptămâna dinainte de festivalul lor local, Fallas) și apoi am hotărât să îmi construiesc niște cultură marină și am fost la acvariu (care este cel mai mare din Europa :P), unde am și învățat că cultura se plătește, pentru că am dat aproape 20 de euroi pe bilet :).

Conferința a fost la un hotel de cinci stele, destul de fancy, dar eu am stat la unul de 4 stele, mai jos pe drum, către port, la 5 minute. A fost evident mai ieftin, dar m-am simțit foarte bine, cred că mai bine decât mi-ar fi fost la 5 stele. E un hotel micuț, într-o clădire veche, se numește Kris Consul del Mar și are niște scoruri megaok.

Sunt multe de zis despre Valencia, și e o destinație bună pentru un weekend de fugit de acasă. Am văzut foarte multe piste de biciclete, și mulți bicicliști. Au port la mediterană, care e aproape de centrul orașului. Aveau un râu ce trecea prin oraș și se vărsa în mare, dar după ce a făcut urât răul prin anii '50, l-au mutat mai într-o parte și au tras ditai parcu pe unde trecea râul odata. A, și încă o chestie, când cauți pe Google Maps să vezi pe unde sunt stațiile de metrou, îți zice pentru fiecare stație când vine următorul metrou pentru fiecare direcție. Isn't that just cool?

Acvariul, etajul I

Jellyfish :P Caii de mare sunt mult mai cool, though!

La piață :)

Și mai la piață! (Șunca aia ajunge până la 12EUR / 100g)

OperaHouse (SF Building by Calatrava dude)

Opera și Hemisferico (care are înauntru un IMAX Dome)

Closing Glass of Wine

Nu, nu m-am tuns. Da, mi-am luat sacou. Nu, nu ma veți vedea cu el :)

Mai multe poze, aici.

19Feb/103

Doctorat progress

Am tot zis că o să vorbesc un pic aici despre proiectul meu de doctorat și în ce stadiu suntem acum cu el. Here goes.

Tema generală a proiectului este conversia imaginii în sunet, cu aplicații în ghidarea nevăzătorilor. Adică vrem să transmitem unui nevăzător un sunet care să descrie scena pe care o are în față, în sunet. De aici, pornind de la conceptul de brain plasticity, sperăm ca nevăzătorii să poată să își re-antreneze zona din creier responsabilă cu captarea imaginii pentru a prelucra informația sonoră pe care o suprapunem noi sunetelor existente. Există ceva cercetare în domeniul ăsta, și eu sunt în procesul de a descoperi exact câtă și ce rezultate are.

Între timp, ne-am propus să facem niște teste, să ne facem o imagine asupra diferitelor abordări posibile. Continuând munca începută de Alex Iordan la proiectul lui de diplomă, am scris o aplicație care folosește gstreamer (pentru captură), PIL (pentru procesare imagine), glade și pygtk (pentru interfață) și pyaudiere (pentru generare sunet), pe care să o putem folosi în teste. Mi-a luat ceva vreme până am citit toate cele, dar acuma merge destul de ok.

În principiu, preiau imaginea de la un webcam, o trec în grayscale și apoi în imagine binară (alb / negru). Pe imagine definesc macropixeli (pentru a mă ajuta cu viteza de procesare :P) în funcție de care decid dacă imaginea pe care o văd este în interiorul unei ținte, dacă am prins și din țintă și din fundal sau daca văd doar fundal. Evident, testele sunt extrem de simple, cu doar două culori, ținta și fundalul, și doar două dimensiuni.

Obiectivul testelor de acum este de a vedea dacă prin mișcarea capului și limitarea puternică a dimensiunii imaginii poți să îți dai seama care sunt formele pe care le ai în față (curbe, unghiuri drepte, colțuri, dimensiuni ...). Săptămâna trecută, înainte să plec la Alba, am făcut un prim rând de teste, și a mers destul de bine. Evident, sunt și lucruri care nu au mers atât de bine (spre exemplu, sunetul pentru cele trei cazuri posibile este continuu și înnebunitor), dar pentru asta avem versiunea 0.02 :P

Astăzi am făcut partea de binarizare și m-am mai jucat un pic cu pyaudiere pentru generarea de sunet intermitent.

Deși proiectul ăsta este mai puțin despre software decât despre alte chestii, ta-daaa, un screenshot din varianta curentă a aplicației:

Eyecam în acțiune

22Jan/102

New toy :D

Am tot zis că o să scriu despre ce fac pentru doctorat, dar tot n-am apucat. Dar o să scriu. Ideea e că astăzi a venit în sfărșit noul webcam (că webcamul vechi eram cam pușcat), un Canyon CNR-WCAM813 cu 50 de lei de la eMag, Acuma, ideea a fost să construim un dispozitiv experimental (adică cu care să putem face experimente) în care webcam-ul să vadă ce văd eu, inclusiv când îmi mișc capul. Ne-am gândit la un sistem stil frontală (pentru ne-munțomani, frontala îi lanterna aia ce ți-o pui pe cap :P), care probabil va fi și soluția finală, dar pentru prima tură de experimente am folosit o șapcă, primită sponsorizare de la cei cinci care au rămas patru (mulțumeeesc).

Un pic de bormașina, niște prinzătoare de plastic, și, taaa-daaaa:

Camera e prinsă cu șurubul original pe sub cozoroc

La primele teste, inclusiv unghiul camerei este bun, as in centrul imaginii este drept în fața mea :) One more picture:

Eh, e chiar stylish, nu? :P

Tagged as: , 2 Comments
13Jan/101

Grafice rapide pe Linux

Deși nu ne-am calificat la FRC2010, am învățat mai multe lucruri utile și pentru multe alte feluri de proiecte. Spre exemplu, primeam date de la accelerometrul ala, și le salvam pe un card în microSD. Pentru mine, pe Linux, a fost destul de nasol să fac graficul acceleratie(x) în OOo Calc, pentru că erau foarte multe puncte, și efectiv nu se descurca, și graficul rezultat era greu de aranjat.

Așa că am început să folosim Octave, care este un soft de genul Matlab (evident, opensource și mai puțin dezvoltat ca Matlab), și interfața grafică QtOctave. Am luat datele de la accelerometru, dar și punctele unde am înregistrat noi curbele, și valorile de prag pe care le calculam la fiecare tură. Ce mi-a s-a părut foarte tare a fost că în 20 de minute am făcut un script python cu niște expresii regulate, care spărgea fișierul provenit de la mașină în mai multe seturi de date, și o funcție Octave care să tragă niște grafice după care să ne estimăm noi algoritmul. Practic, din trei clickuri, era gata tot, și și foarte repede.

Octave-ul e doar este o soluție la îndemână pentru învârtit datele, pentru aranjat în matrici. De acolo, de fapt octave-ul folosește gnuplot, care se poate folosi și standalone, și care și el este o super sculă :D

Anyway, toate sculele astea sunt gratis, și, even better, opensource.

Tadaaaaa

26Dec/090

Idei de licențe

Înainte să plec la Vienna, am avut o discuție cu profu' despre cum ar trebui să abordez tema de doctorat și una din chestiile ce le-am decis e că am putea să propunem niște teme de licență, să mai împart ce am eu de descoperit / inventat la mai mulți.

So, până acum am stabilit în linii mari trei idei de teme de licență:

  • Recunoaștere de texte din imagini aleatoare, în principal din outdoor (nume de străzi, firme, reclame, anunțuri, numere de mașină). Tema are două elemente, unul este stabilirea existenței unei forme de text într-o imagine (într-un mod eficient) și al doilea este recunoașterea textului efectiv (care poate fi deformat în mai multe feluri, din cauza poziției, sau a suportului - i.e. un stâlp rotund, sau să fie de sus în jos ...)
  • Transformarea de forme geometrice în sunet. Stabilirea unei metode (experimentale) prin care un set de forme geometrice în sunet. Formele geometrice pot fi de la simple (gen un dreptunghi, un disc) la lucruri mai complicate, dar toate vor fi bicolore.
  • Determinarea distanței față de un obiect dat și a poziției obiectului într-un cadru prin analiza dimensiunii obiectului, într-un flux video live, și transmiterea acestei informații pe un canal audio către un utilizator.

O regulă importantă este că ne dorim să dezvoltăm / folosim algoritmi independenți de limbaj și platformă, folosind tehnologii opensource. N-aș vrea să avem programe în Matlab folosind biblioteci proprietare (ca să nu mai spunem hackuite).

Dacă sunteți interesați de așa ceva, sau poate știți pe cineva care ar putea fi, dați un semn. Revin cu detalii după ce mai stabilesc chestii.

26Dec/090

ZigBee – Serială

Am zis că o să revin, foarte scurt, cu ultimul dizpozitiv pe care l-am inventat pentru cursul de RIE. E vorba de un adaptor, de la modulul ZigBee de la Atmel de care vorbeam înainte, la o serială (RS232). Pe ăsta l-am și nimerit la fix și încap toate mufele cum trebuie :D

Back

Front

Front

Pentru că deja am lipit chestii SMD (mă rog, pe astea ce le-am avut până acum), placa asta nu a mai fost o provocare din punctul ăsta de vedere. Totuși, am învățat multe chestii de PCB / gSchem cu ocazia plăcii ăsteia. O dată, am făcut update la gSchem cu ce este în repo-ul lor, versiune care se mișcă mult mai bine (și arată mai bine). Am făcut update și la PCB, dar nu am prins schimbări majore.

Apoi, am descoperit trei feature-uri de la PCB care mi-au fost de real ajutor. Prima, cea mai neimportantă, este că poți mări un text dacă stai cu mouse-ul deasupra lui și apeși pe S. Apoi, am reușit să potrivesc dimensiunea discului de cubru care rămâne în jurul găurii (pentru ca ale mele erau prea mici și se corodau sau le luam din greșeală cu bormașina). Și cea mai folositoare chestie ce am găsit-o, utilă îndeosebi când ai și componente SMD și și de-alea normale, dar și când lucrezi la o placă cu două fețe, este posibilitatea de a vedea cealaltă parte a plăcii și de a muta elemente pe cealaltă parte a plăcii (adică le oglindește direct programul).

Tagged as: , No Comments
25Dec/091

ACS Winter Skating

I did it, i was there :). Am fost la patinat, deși eventul a fost la 5 și eu la 8 aveam tren spre Cluj și de acolo Vienna. A fost foarte foarte tare, mai ales partea în care am fost doar noi, calculatorișitii și automatiștii pe gheață. Au fost puțini profesori (aici mă refer la profesori de-ăia cu prof. în fața numelui). Eu am reușit să văd doar unul :) Au fost totuși mulți oameni de pe ambele părți ale "catedrei" :)

A fost ca și cum am fi mers cu toată gașca la patinoar :) Am stat în principiu cu micvs, corneluș și adi, dar m-am întâlnit cu mulți cunoscuți de prin facultate și m-am bucurat că am putut să mai schimbăm două vorbe.

După o oră de patinat, s-a făcut o pauză, ca să refacă oamenii gheața pentru tura oficială de la 6. S-a văzut instant că erau politehniști toți oamenii de acolo: în loc să ne îngrămădim la vin fiert și mâncare, toți stăteam și ne uitam fascinați la mașina de refăcut gheața, și dezbăteam cum face, după ce algoritm merge pe gheața and so on :)). După, s-a dat drumu și la restul populației (nonACS) pe gheață și s-a aglomerat puternic și n-a mai fost atât de cool, dar am mai stat așa, până pe la 7. Oricum eram mult prea obosiți ca să mai stăm :))

Mai pe sfârșit, când era oarecum frig. De la Matei :D

micvs, matei și manu

Răzvan Deaconescu, the one in charge with ACS Winter Skating

Tagged as: , 1 Comment
15Dec/090

Rezumaaat

Am avut câteva zile destul de pline, să zic așa :). Am înaintat puțin cu lucrarea de doctorat, voi scrie un post separat despre ce am reușit și ce nu am reușit să fac, ideea e ca am mai făcut un pas :)

Aș vrea să spun că nu știu cum se descurcă oamenii care ies în oraș în fiecare seară. Am fost vineri, sâmbătă, luni și marți, și deja lista mea cu task-uri din categoria overdue nu mai încape pe ecran. Vineri am fost într-un local destul de ok, un loc de-ăla de știi dintr-o privire că o să te simți bine: polare peste tot (mă refer la haine, nu la vodci :P), ghete de munte de calitate, atmosferă voioasă, bere affordable, mese scorojite de lemn ... beton. Am băut și am povestit până când a adormit tineretul pe mese, și după aia am mai stat un pic și am plecat :D

În weekend am reușit două treburi worth mentioning. Am făcut și ultima plăcuță pentru modulele ZigBee (și o să revin cu o poză și mai multe detalii curând), care nu este un masterpiece, dar am învățat câteva lucruri foarte utile în utilizarea programului de făcut plăcuțe din gEDA, PCB.

Și am mai reușit să înaintez puțin în misiunea mea de a ghida nevăzătorii prin sunet pe un traseu bicolor (care este primul baby-step pe care trebuie să îl fac în doctorat). Vineri seara am avut un prototip foarte barbar gata, și m-am învârtit de nebun pe hol la facultate cu ochii închiși ca să mă pierd să pot să-l testez :)

Am mai făcut ceva worth mentioning, marți seara am condus și eu 500 de metri lumina păcii, adusă de la Vienna de Adi Secal și echipa lui. Nice :)

11Dec/090

Elefantu’ pe patine revine din nou: toată facultatea pe patine!

Într-o super mișcare (care mă face să mă gândesc la cum s-au schimbat lucrurile de când eram eu student, după cum zice și Vlad), Facultatea de Automatică și Calculatoare cheamă tot poporul din facultate, de pe ambele părți ale catedrei, cum se zice, la patinoar.

That's right, joia viitoare, pe 17 decembrie, la ora 17:00, se merge la patinoar cu "școala" :D, la patinoarul din Drumul Taberei (unde am fost și eu acum două posturi). Este un site care se ocupă de prezentarea eventului, aici, și invitația pe Facebook, aici.

Noi plecăm la Viena joi seara, cu gașca de la cercetași, dar doar la 8, așa că eu plănuiesc să-mi las ruscacul la școală, să mă rup pe patine, și după aia să mă duc la gară. Se pare că studenții trebuie să anunțe la șefii de grupă că vor să meargă.Costă 10 lei, și avem, înafară de o oră ACS exclusiv, încă două ore (de la 18:00 - 20:00) incluse în banii ăștia. Pentru cine e ca mine și nu are patine, patinele costă tot 10 lei (care este dealtfel tariful standard acolo la patinoar).

Ne vedem acolo :D

ACS pe patine