This is an old revision of the document!
Proiectul presupune construirea unui robot autonom capabil să găsească calea de ieșire dintr-un labirint cu pereți opaci. Acesta va avea atașați senzori care, împreună cu algoritmi de navigare, va explora labirintul și va găsi soluția optimă pentru a ajunge la ieșire.
Scopul proiectului este de a oferi o soluție practică pentru situațiile în care este necesară explorarea sau navigarea în medii restrictive și periculoase.
Ideea a pornit ca un sprijin pentru zonele afectate de conflicte armate unde sunt prezente mine terestre, întrucât existența unui robot capabil să le detecteze și să ofere o soluție sigură și eficientă pentru eliminarea lor ar putea fi de mare ajutor.
Poate contribui la salvarea vieților și la reducerea impactului negativ asupra oamenilor, unde un robot autonom capabil să se deplaseze într-un mediu restrictiv poate fi de mare ajutor.
Mediu de dezvoltare: Arduino IDE
Biblioteci utilizate: Wire.h, LiquidCrystal_I2C.h
Programul este gândit să detecteze când ar trebui ca mașina să facă viraje folosind regula mâinii stângi: întâi încearcă să vireze la stânga, dacă nu reușește încearcă să meargă înainte, apoi în dreapta și în final dacă niciunul din aceste cazuri nu sunt îndeplinite, se întoarce. Ecranul afișează un mesaj corespunzător dacă acesta merge sau stă pe loc. Cu ajutorul unui întrerupător alimentez motoarele și plăcuța arduino.
Funcția unde se află toată logica implementării este loop(), unde se și realizează regula mâinii stângi și tot acolo se realizează citirea de pe senzori cu ajutorul analogRead() ca după să se decidă ce viraje are de realizat robotul.
Motoarele sunt grupate câte două (cele din stânga și cele din dreapta), întrucât pe fiecare parte comenzile de deplasare sunt la fel pentru ambele roți și sunt controlate prin PWM, utilizând funcția analogWrite() din framework.
A fost un proiect destul de challenging, fiind prima oară când am realizat și partea hardware, însă am învățat lucruri noi care cu siguranță vor fi utile.