Reconstrucție scenă 3D cu OpenCV

O idee care mie mi s-a părut foarte tare și pe care am susținut-o până cu o zi înainte de RobotX a fost folosirea unor camere video (camere de telefoane mobile, spre exemplu ;) ) pe cele trei locuri de baliză care sunt disponibile unei echipe la Eurobot, pentru a determina permanent unde sunt obiectele poziționate pe masă. Am mai scris despre ideea asta aici.

Ideea mi s-a părut bună pentru că (1) masa este colorată optim din punct de vedere al contrastului pentru a face computer vision pe ce iese din camere, (2) telefoane mobile ar avea suficientă putere de procesare, camere suficient de bune și un factor de formă ideal pentru ce aveam noi nevoie.

Deși până la urmă soluția nu a putut fi folosită cu Pufoșenia, pentru că nu am avut vreme să o definitivăm, niște rezultate tot am obținut, și poate pot părea interesante. Continuă să citești Reconstrucție scenă 3D cu OpenCV

O idee pentru Eurobot

Tema de anul ăsta pentru Eurobot, concursul de robotică autonomă la care participăm de câțiva ani, se numește „Chess’up”, și în esență spune că ai o tablă de șah și robotul care are mai multe piese la sfârșitul timpului de 90 de secunde pe culoarea lui câștigă. Am mai scris aici de regulile Eurobot, pentru cei interesați puteți găsi mai multe detalii la oameni pe site.

Una din ideile pe care le încercăm anul ăsta este determinarea obiectelor de pe masa de concurs cu ajutorul a 3 camere video (avem la dispoziție trei locuri pentru a plasa balize, la o anumită înălțime, pe marginea mesei). Ideea o avem din octombrie, dar zilele astea am reușit să fac ceva progrese.

Continuă să citești O idee pentru Eurobot

Eurobot aftermath

N-am mai scris, nici de la Rapperswil nici după. Nu a mai fost timp, dar nici putere. Pentru cei care nu au urmărit blogul echipei, după ce am montat-o pe petronela și am luat cina, am început niște teste, care la 5AM s-au terminat dezastruos cu distrugerea uneia dintre plăcile de control.

La „consiliul de urgență” de dimineață am reușit să facem un ugly (and I mean ugly) hack și să facem câteva lucruri să funcționeze. Am reușit să ne omologăm și am  jucat trei ture de calificare și ne-am clasat pe penultimul loc. Un rezultat dezamăgitor, dar având în vedere circumstanțele, nici nu cred că se putea face mai mult.

Înafara problemelor noastre legate de Petronela, organizarea a fost, ca de obicei, foarte OK. Cazare la sala de sport, abonament gratuit pentru participanții Eurobot la transportul în comun în zona interesantă, mâncare ok (chiar și un BBQ într-una din seri), reducere la un mega party studențesc :P

Nu mai știu exact pe zile cum s-au întâmplat lucrurile, dar înafară de aspecte competiționale:

  • ne-a prins ploaia pe podul de peste Zurichsee
  • ne-am plimbat pe la castelul din Rapperswil și am văzut și căprioarele ălora de acolo
  • am găsit un Ferrari și un hangar de Porche-uri
  • am mers la un festival studențesc la care am avut reducere la jumate :)
  • am dormit peste tot pe unde am stat jos (pe scări, pe scaune, pe mese, …)
  • am văzut elefanți și girafe și canguri la Kinderzoo

Sâmbătă seara și duminică seara am ieșit cu băieții la o plimbare (peste lac, în celălalt canton) și la o bere prin oraș (mulțumim Upsiders și Fratelli pentru bere :P).

Certificat participare Eurobot2010

Adi a pus o selecție de poze aici. Eu n-am mega poze :)

După cum spuneam
Pinkies
Eurobot competition area
How cool is that?
Pe o parte ce castel era de-un vin
Și pe partea cealaltă de-o friptură

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