This is an old revision of the document!


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

Download

O arhivă (sau mai multe dacă este cazul) cu fişierele obţinute în urma realizării proiectului: surse, scheme, etc. Un fişier README, un ChangeLog, un script de compilare şi copiere automată pe uC crează întotdeauna o impresie bună ;-).

Fişierele se încarcă pe wiki folosind facilitatea Add Images or other files. Namespace-ul în care se încarcă fişierele este de tipul :pm:prj20??:c? sau :pm:prj20??:c?:nume_student (dacă este cazul). Exemplu: Dumitru Alin, 331CC → :pm:prj2009:cc:dumitru_alin.

Jurnal

Puteți avea și o secțiune de jurnal în care să poată urmări asistentul de proiect progresul proiectului.

Bibliografie/Resurse

Listă cu documente, datasheet-uri, resurse Internet folosite, eventual grupate pe Resurse Software şi Resurse Hardware.

Export to PDF

pm/prj2022/dbrezeanu/obstacle-avoider.1654550600.txt.gz · Last modified: 2022/06/07 00:23 by alexandra.liferi
CC Attribution-Share Alike 3.0 Unported
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0