RSS
 

Archive for the ‘Roboţi’ Category

Eurobot aftermath

17 Jun

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ă

 
No Comments

Posted in Roboţi

 

Eurobot – etapa națională

17 May

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

 
No Comments

Posted in Roboţi

 

Rețele Industriale Eterogene și Tolerante la Defecte

23 Jan

Semetrul ăsta, înafară de documentarea și punerea în temă pentru doctorat, am dat o mână de ajutor la o materie numită Rețele Industriale Eterogene și Tolerante la Defecte. Am pus acum ceva vreme niște prezentări aici pe blog, care au fost prezentări pe care le-am făcut la cursurile de RIETD cand au venit mai mulți studenți decât profesori (s-a întâmplat de vreo trei ori).

Înafară de cursuri, a fost o serie de teme de laborator, în care s-au implicat 8 studenți din cei aproximativ 20 de la modulul lor de master, și 6 au predat temele la sfârșitul semestrului. Când le-am propus, lui Alex și mie ni s-au părut temele mișto, dar se pare că lor nu :). Temele se ocupau cu roboței Mindstorms NXT, cu comunicație Bluetooth, cu comunicație ZigBee și cu alte trăznăi în aceeași gamă (lista completă cu temele și cu descrierea lor este aici).

Până la urmă, am avut niște rezultate interesante, spre exemplu toate cele 3 echipe au implementat comunicația Bluetooth între doi roboți, într-o formă sau alta. Una din echipe s-a evidențiat în mod deosebit, prin implementarea unui task condus prin Bluetooth între mai mulți roboți, dar și un sistem de pasare a mesajelor printr-un nod central și o interfața de conducere a robotului prin intermediul unui GUI cu un volan, de pe PC.

Băieților din echipa asta din urmă le-am propus să își mai rafineze proiectul și să încerce să scrie un articol pentru conferința Eurobot.

Înafară de studenții de mai sus, au mai fost trei studenți la doctorat care au ales materia asta ca una din cele 4 materii care trebuie făcute în pregătirea doctorală, care în principiu toți trei s-au ocupat de ZigBee.

Cu acordul lor, voi pune codul în SVN-ul de la robot, așa că dacă sunt pasionați Mindstorms NXT out there, să poată să refolosească ce au făcut ei :)

Testul final pentru materie a fost grilă și l-am pregătit eu. Am încercat să pun întrebări de bun simț, cu răspunsuri nu neapărat evidente dar deductibile și ușor de identificat chiar dacă dădeai numai un ochi pe prezentări, nu și pe documentația relativ serioasă pe care am pus-o pe site. Totuși, din 19 întrebări, doar 2 din cei 8 studenți a făcut mai mult de jumătate, ceea ce m-a cam întristat. Adică măcar pe prezentările care erau pe site puteau să dea un ochi…

 
 

EpicFail, cu picături de pozitivitate

13 Jan

Luni a fost preselecția pentru faza pe facultate a Freescale Race Challenge 2010, despre care am mai scris mai demult. Foarte pe scurt, echipele de pe la noi din departament s-au calificat și au trecut mai departe, toate mai puțin a mea :). Ce m-a lovit cel mai tare nu a fost că nu ne-am calificat, ci că nici nu am apucat să arătăm ce știm. Cu programul nostru mașinuța a “murit” în tura de învățare, înainte să facă orice deștept, la o viteză cu care alte echipe au mers destul de bine. Nu știu, cauciucurile, uzura mecanică a motorului, nu știu ce s-a întâmplat. Cert este că nici nu am apucat să concurăm.

Aaaaaanyway :) Am lucrat cu Adi un weekend încheiat la program (30 și ceva de ore cu pauză de budă și de ciorbă de burtă), și alte câteva ore împrăștiate prin decembrie. Am dezvoltat un algoritm destul de deștept de învățare, care parcurgea traseul, îl reducea la un set de curbe, și apoi îl scria pe card într-o formă redus (fișierele de învățare aveau până într-o sută de bytes).

După aia aveam un algoritm de rulare care prima data citea într-un array curbele astea, și verifica daca nu cumva s-a trecut la urmatoarea curbă în funcție de ce facea accelerometrul ala care masura accelerația laterală. Am mai făcut noi un fel de filtru acolo, să se sincronizeze bine pe circuit, și i-am mai zis să accelereze pe o bucată (gen 40 – 50%) din liniile drepte. Am încercat să mai implementăm și o accelerare pe ieșirile din curbă în cazul în care după curbă urma linie dreaptă, dar am renunțat la asta, pentru că era prea târziu.

Duminică după masa devenise aproape imposibil să putem testa extensiv algoritmul, l-am testat cât o fost, și i-am dat send. Ghinion cu tura de învățare.

În cazul în care v-ați întrebat vreodată cum merg mașinuțele astea, uite, o tură de test a lui Matei:

Pe circuit. Ceața aia din poza e cauzată de o altă mașină care a trecut în timp ce făceam poza :)

 
 

Prezentare I2C

11 Nov

Astăzi, în prezența a 3 studenți (câți studenți, atâți profesori) de la AII am susținut o prezentare a magistralei I2C. Am vorbit câte un pic de protocol, de DDC, de SMBus, de TWI-ul de pe ATMega și de pe NXT-uri. Cred ca am avut cam multe slide-uri :)

În aceeași companie, Alex Iordan a susținut o prezentare despre magistrala Seriplex, utilizată în medii industriale pentru dispozitive care au nevoie de lațime mică de bandă și delay-uri și interferențe mici.

Atașez prezentarea mea aici, în speranța că cineva o va găsi interesantă.

Și prezentarea Seriplex, de Alex :D

 
 

Roboteală

09 Nov

La sugestia lui Matei am făcut marțea trecută o scurtă întâlnire cu vechea echipă de “tineret” de la roboți (Simina, Adi, Matei). dar au venit și Raluca (care e colegă cu noi la doctorat) și Manuela. Tot la ideea lui Matei, am hotărât să demarăm un concurs intern, eventual ceva pregătitor pentru competiția de la Vienna de anul viitor.

Momentan discutăm, dar cel mai probabil competiția va fi de puck collect (adunare de jetoane) și va fi deschisă tuturor doritorilor :). Vom publica detalii în curând pe ed304.cs.pub.ro.

Între timp, am aflat de o competiție nouă, în care va fi implicată anul ăsta și școala noastră: Freescale Race Challenge. Ideea e foarte simplă, Freescale si Carrera dau mașinuțe, circuite integrate și un PCB fiecărei echipe, și tu trebuie să îi dai minte mașinuței aleia să meargă pe o șină cât mai repede, să învețe traseul și să nu iasă niciodată de pe șină la viraje. Abia aștept! :)

De exemplu: http://www.youtube.com/watch?v=QArqoEMoyXY

 
No Comments

Posted in Roboţi

 

First robot meeting

14 Oct

Azi am reușit în sfârșit să mă adun cu colegii mei de echipă pentru robot să vorbim de planurile pentru măreața noastă intrare în competiția Eurobot. Deja ar fi a patra participare la rând, dar performanțele noastre nu au crescut cu creșterea experienței, ci, dimpotrivă, au scăzut, iar anul trecut nu am reușit să trecem nici de faza națională :P

Anul ăsta însă suntem hotărâți să facem treaba cât se poate de bine, și să ne mișcam mai din timp și să facem cel mai super robot ever build by man. Poate :) Mă simt foarte motivat să lucrez la robotu ăsta, nu știu de ce, am un feeling că suntem suficient de pregătiți, măcar pentru top16. Acuma noi cu planurile totdeauna am stat bine, cu implementarea, mai puțin :)

Săptămâna viitoare îmi propun să re-inaugurez http://ed304.cs.pub.ro, să începem din nou echipele de roboți pentru competițiile de la Vienna, Eurobot, dar și pentru Barcelona, unde anul ăsta va fi prima noastră participare.

rect2952

 
No Comments

Posted in Roboţi

 

Licență

30 May

Da, da, am reușit (cu greu) să scap de restanțe, și acum am voie să intru în licență acum în vară. De lunea trecută lucrez aproape nonstop, deși lucrul la proiectul ăsta l-am început undeva prin februarie.

Proiectul meu este realizarea unei platforme mobile pentru dezvoltarea de roboți autonomi. Adică o bază de la care să poți pleca mai departe să îți faci robotul.

Ieri am reușit să termin asamblarea, m-am muncit destul de mult, dar a ieșit ca în planuri, cu mici variații :) O să pun poze mâine, azi n-am mai ajuns la școală că o plouat și mi-am luat vacanță.

Până acum am făcut o punte H cu relee pentru controlul motorului principal, cu care am avut o grămadă de probleme și încă nu i-am rezolvat toate hibele, și am scris un driver în Java pentru controlul robotului prin adaptorul serial 2 wireless pe care îl avem. Bine, driver-ul mai dă mici rateuri, dar sunt fixable, cred :). Planul e să scriu drivere pentru mai multe limbaje de programare, să fie așa, ca un api către robotul ăsta. A, și am mai scris driver-ul pentru LCD, în mare. Adică mai treuie aranjat un pic :).

Poze cu placa pentru puntea H, în diferite stagii de dezvoltare:

După aplicarea foliei Press and Peel

După aplicarea foliei Press and Peel

După corodare și după muuulte găuri

După corodare și după muuulte găuri

Placa completă, cu toate piesele pe ea

Placa completă, cu toate piesele pe ea

Testare :)

Testare :)

 
 

PORTC pe ATMega32

20 May

Scriu acest post pentru că e util să înveți din nopțile pierdute ale altora, ca să ai timp să-ți pierzi nopțile pe altceva, mai interesant :).

Am ajuns târziu ieri la școală, pentru că am fost să dau jos blana, și m-am hotărât să nu plec până nu fac modulul de condus motorul să meargă (o să scriu mai pe larg despre el, în mai multe posturi despre a mea viitoare licență). Evident, treaba părea simplă și a devenit tot mai groasă pe măsură ce treceau orele.

Am scăpat de câteva conexiuni greșite, mi-am dat seama ca am pus diodele de protecție de peste bobinele de la relee pe dos, totul părea ok până într-un punct. Pun un ATMega32 nou nouț în soclu, setez direct AVR Eclipseu la 1MHz ca sa nu mai resetez fuse-uri, programez, super tare, merge. Pun multimetru pe picioarele ATMega, care ar fi trebuit să tragă tot portul C pe ieșire, pe 0. Jumate din pini erau la 0. Restu, la Vcc. WTF?

Îmi dau seama un pic mai târziu că PC0 și PC1 sunt legați la conectorul meu pentru I2C, și sunte legați la Vcc cu niște pull-up-uri ca să meargă cu brick-urile NXT. Bun. Dar restul? Mai erau cel puțini 3 pini care erau strâmbi. Din care unu exact ăla pe care mi-am legat eu ieșirile pentru comanda la motor. Am mai pierdut vreo oră, două întrebându-l pe prof, căutând scurt-uri pe placă …

Am scos porțile logice, am zis ca poate fac alea ceva. Niet, no luck. Am schimbat controller-ul cu cel de la mașinuța pentru Eurobot, aceeași poveste. Într-un final, pe la 6:45 AM, deja mă ridicasem de pe scaun să merg la șaorma, mă gândesc să mă uit eu pe datasheet la ATMega să vad dacă n-au ei ceva șmecherie cu Portu C. Urmeaza partea cu informație utilă din acest post:

Se pare că ATMega32 (și presupun că și alte ATMega-uri) au anumite PORT-uri din portul C care nu pot fi utilizate pentru I/O în momentul în care este activat JTAG-ul pe controller. Este vorba despre pinii PC5, PC4, PC3 și PC2. Soluția, evident, este să se dezactiveze JTAG-ul. Asta se poate face prin de-programarea siguranței (fuse) JTAGEN de pe ATMega. Eu am folosit AVRDude (pentru Linux), pe Windows foloseam PonyProg. Pentru AVRDude, ca să nu cauți referințe grămadă prin datasheet, există site-ul asta, care îți formează automat comanda pentru avrdude.

 
1 Comment

Posted in Roboţi

 

Cumpărături în București, experiențe personale

03 Apr

A venit vremea să ne ocupăm și de Eurobot, și pentru că anul acesta vrem un robot solid, făcut bine, avem nevoie de niște materiale de construcție mai tari ca plasticul și scotch-ul dublu adeziv (deși, sunt convins că scotch-ul va rămâne permanent în inventarul echipei noastre :) ). Pentru pereți și carcasă, am vrut inițial să folosim plexiglas, dar Dan a venit cu o idee mai bună, și anume să folosim policarbonat. Policarbonat-ul este un material special, foarte rezistent, din care sunt făcute, spre exemplu, CD-urile. Policarbonatul celular se folosește acum mai peste tot – unii îl folosesc peste poarta de fier forjat să nu vadă trecătorii în curte, alții îl folosesc la uși la baie, și în unele locuri a luat locul tablei ondulate. E un material relativ ușor, foarte rezistent și mai ușor de prelucrat decât metalul.

Există și o variantă mai rigidă de policarbonat, policarbonatul compact, care e exact ca plexiglas-ul, doar că e ceva mai rezistent. Aici, cu policarbonatul compact începe povestea mea despre o zi de cumpărături prin București. Prima firmă pe care am găsit-o care vinde așa ceva (pentru că la Brico nu este) era în Pantelimon. Ce-am zis (ce zic toți albaiulienii despre Pantelimon, sunt convins) – blocuri, băieți de cartier … Dar pentru că blocuri și băiețași am mai văzut, am luat echipa și pe la ora 12 jumate am plecat spre ceea ce noi credeam că este un depozit.

Dan se uitase în prealabil pe hartă, și cu o scurtă escală la Eroilor am luat troleu 69 spre Pantelimon. La nici 3 stații de la Eroilor se urcă vreo 10 – 15 aurolaci, care încep să se înghesuie în spatele mașinii spre față. Că se înghesuiau era o chestie, dar mirosea prin tot troleu a prelandez (nu știu daca așa miroase aurolacu ăla ce-l bagă-n ei, da era some strong shit). Ne-am dat jos (noi și tot restu lumii) undeva pe la Foișorul de Foc, toți cu expresii de-alea de genu ”ai uitat unde mergem? la ce să te aștepți la altceva?”. Am luat altceva (85, parcă) până în Baicului.

Eu vedeam Baicului așa, ca un ”hood” din filmele cu gangsta. În schimb, când am ajuns acolo, aproape imediat ne-a cuprins așa sentimentul apăsător că ceva nu este în regulă cu locul ăla. Am mers spre strada cu depozitul, am trecut peste o cale ferată, dar nu ne simțeam deloc în mijlocul unui oraș mare, și apoi, am luat-o la dreapta pe o străduță de am ajuns direct la sat. Străduța noastră se termina direct în ALTĂ cale ferată. La 1km în stânga și în dreapta se vedeau blocurile mari ,trademark Bucureși. Dar noi eram la țară: case cu acareturi de tot felul, dintre care una cu un etaj și o scară exterioară înghesuită cumva acolo, cu numele depozitului pe care îl căutam noi pe ea.

Tot locul, toată treaba era extrem de spookie. Dar aveam adresa, aveam numele firmei, se potrivea, și ne-am făcut curaj și am intrat. Oamenii de fapt chiar aveau acolo depozit, și, într-un final, am reușit să înțelegem că de fapt materialul ăsta nu-i doar foarte mișto, ci și foarte scump (cam 3 milioane metru pătrat la 6mm grosime), dar le-am povestit oamenilor că suntem robotiști și ne-au vândut o fâșie de policarbonat cu reducere specială de studenți.

Necazul a fost că nu ne așteptam să fie așa scump și nu aveam bani. Am cerut indicații către cel mai aproape bancomat, și am luat-o în direcția aproximativă indicată. Am mai întrebat la un magazin la colțul străzii (care evident ne-a dat alte indicații), și am ajuns destul de repede in the middle of nowhere, printre niște blocuri semipărăsite, niște străzi goale și gri, mărginite de aceeași cale ferată. Eram toți așa, cu urechile ciulite și parcă cu ochii în toate părțile, aveam sentimentul ăla ciudat că ceva nu este de loc în regulă și că noi nu prea căutam bine ce căutam pe unde eram (și nu mă refer la bancomate). Am întâlnit o singură persoană pe strada, am întrebat de bancomate și ne-o zis ca nu se există așa ceva în fundul de lume unde eram. Până la urmă am luat o mașină (cred că tot la inspirația lui Dan) și am ajuns undeva la Doamna Ghica, de unde am scos banii, și ne-am întors cu același autobuz de unde am plecat, să plătim.

De menționat că la Doamna Ghica am văzut un câine, maidanez, de-ăsta de nici o rasă, care era cel puțin de două ori mai mare decât orice câine maidanez am văzut vreodată, îmi ajungea undeva la șold. Întorși să dam banii, pe strada rurală pe care era depozitul, unul din vecini ținea de un câine să nu scape din curte, un câine iarăși, imens. La ușa din spate a depozitului stătea de gardă, evident, un alt câine imens. Am luat placa, am zis mulțam și am băgat urgent talpă până la mașina care ne-a adus în “cartierul minunat”.

Cine a numit Bucureștiul Micul Paris, n-a fost decât pe Victoriei în zilele ei bune. Am fost la Paris, și nu-i așa. La un moment dat eu ziceam că Bucureștiul că seamănă cu Istambul-ul, sau mă rog, cu cum îmi imaginez eu Istambulul pentru că n-am fost încă pe-acolo, dar ce-am văzut joi nu seamănă cu nimic. Este doar ”o realitate crudă” din inima capitalei României și sper să nu mai am drum în capătul ăla de lume prea curând.