Line Follower - Băiatu Bianca 333CA

Introducere

Robot care urmarește o linie neagră pe fundal alb.

Descriere generală

Scopul proiectului

Proiectul presupune construirea unui robot și de a-l capacita să urmarească o traiectorie. Această traiectorie este dată de o linie neagra pe un fundal alb. Robotul reușește să urmarească linia cu ajutorul a doi senzori infraroșu care îi detectează poziția față de linia ce trebuie urmată. Robotul are de asemenea și un senzor ultrasonic care îi permite să detecteze obstacolelele de pe drum și să le ocolească.

Rolul proiectului

Un line follower (urmaritor de linie) este util în industrie într-o varietate de aplicații, inclusiv:

1. Sisteme de transport și sortare: Un line follower poate fi utilizat într-un sistem de transport sau sortare automatizat pentru a ghida și urmări linii sau marcaje pe podea. Acesta poate fi utilizat pentru a transporta sau sorta obiecte într-o linie de producție sau în depozite.

2. Sisteme de navigație în interior: În medii industriale complexe sau în spațiile de producție mari, line follower-ul poate fi utilizat ca parte a unui sistem de navigație în interior pentru a ghida vehiculele sau roboții către destinații specifice.

Utilitatea proiectului

Line follower-ul este util datorită mai multor motive:

1. Automatizare: Line follower-ul permite automatizarea proceselor industriale prin urmărirea și ghidarea unui traseu prestabilit. Acesta elimină nevoia de intervenție umană constantă, ceea ce duce la o eficiență și productivitate sporită.

2. Precizie: Line follower-ul poate urmări linii sau marcaje cu precizie mare. Acesta poate detecta și corecta abaterile de la traseu, asigurând un transport sau o navigație precisă.

3. Flexibilitate: Line follower-ul poate fi programat să urmărească linii sau marcaje în diferite configurații și medii. Acesta poate fi adaptat pentru a se potrivi nevoilor specifice ale aplicației industriale, fiind astfel versatil în utilizare.

Schema bloc

Hardware Design

Software Design

Mediu de dezvoltare: Arduino IDE

Funcționarea programului

Programul începe prin a defini pinii folosiți de pe plăcuța Arduino și variabilele globale.

Setup()

În funcția setup() sunt setati ca output pinii ce controlează motoarele și vitezele acestora și pinul Trig al senzorului ultrasonic HR-SR04. Ca input sunt setați pinii senzorilor infraroșu și butonul. Tot aici sunt apelate funcțiile set_initial_position() (care oprește motoarele și trece pinii acestora pe LOW) și setup_interrupts() (care setează întreruperile venite de la pinul butonului legat la PD2).

Loop()

În funcția loop() se calculează mai întâi distanța față de obstacole cu ajutorul senzorului ultrasonic prin apelul funcției avoid_obstacle().

Dacă distanța calculată este mai mare de 8cm se apelează funcția find_position(). În această funcție se citesc valorile senzorilor infraroșu. În funcție de aceste valori se determină dacă robotul trebuie să meargă înainte, la dreapta, la stânga sau să se oprească. În funcție de valoarea returnată se apelează funcțiile move_forward(), move_right(), move_left() care setează vitezele motoarelor după necesitate.

Dacă distanța calculată este mai mică de 8cm robotul ocolește obstacolul făcând la dreapta, mergând înainte și apoi la stânga până întâlnește din nou linia neagră.

Rezultate Obţinute

Puteți observa rezultatele obținute prin intermediul celor două clip-uri de mai jos:

https://youtube.com/shorts/Pbcc4F2RteU?feature=share

https://youtu.be/U3EZHQZltl8

Concluzii

Cea mai mare dificultate întâmpinată în implementarea acestui proiect a fost epuizarea foarte rapidă a bateriilor și necesitatea ajustării vitezei în funcție de nivelul de descărcare a acesteia. Pe de altă parte proiectul a fost interesant și plănuiesc să continui să îl dezvolt. Voi încerca să îl programez folosind algoritmul PID (din păcate nu i-am dat de cap).

Download

Jurnal

  1. 25 aprilie - achiziționare piese
  2. 30 aprilie - pagină documentație
  3. 1-15 mai - realizare hardware
  4. 15-26 mai - realizare software

Bibliografie/Resurse

pm/prj2023/adarmaz/bianca.baiatu.txt · Last modified: 2023/05/29 20:14 by bianca.baiatu
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