Proiectul constă în realizarea unui robot care evita obstacolele si cauta ruta optima in care sa se deplaseze. Scopul pe care l-am urmărit în implementarea robotului a fost sa relizez un robot care sa fie baza unor urmatoare proiecte (+ un ajutor in a cara obiecte). Ideea mi-a venit cand am vazut delivery robots din Helsinki, imi doresc ca in viitor sa fac ceva asemanator asa ca am pornit cu baza. Desi putem cara obiecte si singuri, e mult mai usor sa nu o facem asta, plus e mult mai distractiv sa automatizam un task usor intr-un mod atat de dragut (robotul seamana cu Wall-e) de aceea am ales sa fac acest robot cu ajutorul placii de dezvoltare Arduino Uno.
Wall-E este alimentat de o baterie de 9 volti si porneste atunci cand este actionat power switch-ul de langa aceasta. Cand robotul este alimentat acesta isi va indrepta senzorul ultrasonic in fata si va astepta cateva secunde inainte de a merge inainte. Wall-E merge in linie dreapta pana cand da de un obstacol ce poate fii semnalat cu ajutorul senzorului ultrasonic, atunci cand se intampla asta Wall-E o sa roteasca senzorul in stanga si in dreapta cu ajutorul servomotorului, distinge directia in care nu este un obstacol sesizabil si isi schimba directia.
Modul in care functioneaza robotul este simplu. Cand placa este alimentata servo motorul indreapta senzorul in fata. Cand distanta este mai mica sau egala cu 15, robotul de intoarce si verifica distanta din stanga si din dreapta.
if(distance<=15) { moveStop(); delay(100); moveBackward(); delay(300); moveStop(); delay(200); distanceR = lookRight(); delay(200); distanceL = lookLeft(); delay(200);
Daca distanta fata de un obiect din dreapta este mai mare mare decat cea din stanga Wall-E merge la dreapta, in caz contrar merge la stanga:
if(distanceR>=distanceL) { turnRight(); moveStop(); }else { turnLeft(); moveStop(); } }else { moveForward(); } distance = readPing(); }
Pe parcurs mi-au venit mai multe idei si robotul a trecut prin multe modificari pana sa ajunga asa cum este acum. La inceput m-am gandit sa folosesc numai doua motoare,insa am observat ca are o stabilitate si o directie mult mai buna cu doua adaugate. Prima incercare de software nu includea masurarea rutei optime, Wall-E o lua la dreapta indiferent de situatie ceea ce era o pierdere de timp asa ca am decis sa sortez cumva cea mai potrivita ruta.
In final am reusit sa fac un obstacle avoider cu ruta optimizata, marele lui plus fiind ca este dragut (seamana cu Wall-E).
Resurse Hardware.