Un robot line follower este o mașină autonomă ce poate urmări o anumită traiectorie reprezentată printr-o linie neagră, de aproximativ 2 centimetri lățime, pe un fundal alb.
Roboțelul este construit din 3 module:
Robotul va fi coordonat de microcontrolerul ATMega16 la care vor fi conectați cei 3 senzori și driver-ul care comandă cele două motoare.
Algoritmul după care este ghidată mașina este următorul:
Componente:
Robotul folosește senzorii de contrast pentru a se ghida pe traseu. Un senzor este compus dintr-un LED cu infraroșu (emițător) și un fototranzistor pentru infraroșu (receptor).
Senzorii funcționează după următorul principiu:
Pentru controlul motorului am folosit driverul integrat L298N. Intrările ENABLE_A și ENABLE_B ale driverului sunt conectate pe ieșirile de PWM ale microncotroller-ului. Astfel se poate seta din program turația motoarelor.
Alimentarea se realizează cu ajutorul unei baterii de 9V pentru placa de bază (stabilizatorul de tensiune asigurand tensiunea corespunzătoare, de 5V pentru microcontroler) și cu ajutorul a 3 baterii de 1,5V pentru motoare. Mașinuța mai dispune de un buton pentru pornirea și oprirea alimentării.
Mediul de dezvoltare folosit a fost AVR Studio. Pentru încarcarea programului pe placuță am folosit avrusbboot.
Algoritmul de funcționare al robotului este unul simplu:
Pentru a controla motoarele am folosit fast PWM cu prescaler 1024 , non-inverting mode.
Robotul reușește de cele mai multe ori să urmeze linia, având uneori probleme la virajele strâmte. O altă problema a mașinuței pare să fie lumina prea puternică. Deși senzorii sunt teoretic de infraroșu, lumina înfluențează valorile pe care aceștia le recepționează.
Proiectul a fost unul interesant. Am avut ceva probleme cu realizarea senzorilor, dar până la urmă au ieșit. Totuși, credem că senzorii “de cumpărat” ar fi fost ceva mai preciși și mai eficienți. Implementarea software nu a ridicat probleme deoarece ne-au ajutat laboratoarele și algoritmul nu a fost deloc complicat.