This is an old revision of the document!
Inspirația a avut un număr de surse cu care am interacționat de-a lungul timpului:
Proiectul constă în realizarea unui robot de tipul line follower care să urmărească o linie/curbă plană desenată cu negru pe un plan alb, controlul realizându-se la nivel software. De asemenea, robotul dispune și de un senzor de distanță ultrasonic cu ajutorul căruia poate evita obstacolele întâlnite pe traseu.
Robotul va consta dintr-un microcontroller (Arduino UNO) așezat pe un suport, împreună cu un servomotor SG90 care va dezvolta puterea necesară pentru roți (pentru deplasarea robotului). Pentru a detecta dacă traseul urmat de robot este corect, robotul dispune de 2 senzori (fotorezistori) care au rolul de a indica dacă sub fiecare dintre ei există o linie neagră sau nu. Dacă este o linie neagră, atunci robotul se va deplasa în direcție opusă față de poziția senzorului. Mișcarea va fi îmbunătățită cu ajutorul unui regulator implementat în software (PID). Scopul este ca robotul nostru să parcurgă complet o curbă plană închisă cu diverse grade de curbură (testarea controlului implementat într-o situație reală). Robotul va dispune și de 2 LED-uri (unul roșu și unul verde) pentru a indica dacă robotul urmează traseul dorit sau nu.
Pentru realizarea proiectului am folosit următoarele componente:
Aici avem design-ul hardware și schema electrică a sistemului nostru, conform cu cele descrise mai sus (am înlocuit driver-ul MX1508 cu un driver standard, L298D pentru care am realizat legăturile pe pinii comuni, și cele 2 benzi de senzori cu 6 senzori de infraroșu generici din Tinkercad):
Schema electrică este următoarea:
proiect_pm_line_follower_electric_scheme.pdf
Funcționarea din punct de vedere software a proiectului este descrisă în următoarea diagramă:
În partea de setup am realizat inițializarea senzorilor (pe pinii pe care au fost conectați) și calibrarea senzorilor de infraroșu, cu ajutorul bibliotecii QTRSensors. În partea de loop, se determină eroarea amplasării liniei față de cei 6 senzori dispuși 3 câte 3, iar apoi modificarea efectivă în vitezele celor două motoare se determină folosind un regulator PID (proporțional integrativ derivativ), astfel: modificarea va fi reprezentată de o sumă de 3 termeni, dintre care:
Apoi am adaptat viteza celor două motoare în funcție de această modificare determinată (am modificat vitezele în sensul reducerii acestora, în cazul existenței unei modificări majore).
06.05.2023: Schița documentației 27.05.2023: Realizarea design-ului hardware 28.05.2023: Testarea întregului design hardware: senzori și motoare 29.05.2023: Lipirea unor componente în laboratorul de PM 29.05.2023: Implementare software (+ fine tuning parametrii PID) 30.05.2023: Prezentare proiect PM Fair