Table of Contents

Wall-E Obstacle Avoider

Intoduction

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.

Descriere generală

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.

Hardware Design

Piese:

  • Arduino Uno
  • L293D Motor Driver Shield
  • TT Gear Motor x4
  • Roata x4
  • Servo Motor
  • Ultrasonic Sensor
  • DC Power Switch
  • Baterie de 9V
  • 9V battery snap connector

Software Design

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();
}

Rezultate Obţinute

Concluzii

Proiectul a fost o oprortunitate de a invata cum sa lucrez cu L293D Motor Driver Shield si cu celelalte componente. Am invatat sa lipesc fire si cum sa conectez optim componentele. La inceput mi-a fost greu pentru ca nu eram foarte sigura cum sa lucrez cu motoarele si cu senzorul ultrasonic dar pana la urma i-am dat de capat cu ajutorul internetului.

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).

Download

Jurnal

  • 2-8 mai - alegere tema proiect
  • 9-15 mai - search de piese
  • 16 mai - comanda piese
  • 17-28 mai - realizare proiect
  • 3-5 iunie - realizare documentație

Bibliografie/Resurse

Export to PDF