Cuprins:

Robot de urmărire a liniei pentru algoritmi de predare a controlului: 3 pași
Robot de urmărire a liniei pentru algoritmi de predare a controlului: 3 pași

Video: Robot de urmărire a liniei pentru algoritmi de predare a controlului: 3 pași

Video: Robot de urmărire a liniei pentru algoritmi de predare a controlului: 3 pași
Video: OZN-uri - 12 ambarcațiuni extraterestre preluate presupus în posesia noastră 2024, Noiembrie
Anonim
Image
Image
Robot de urmărire a liniei pentru algoritmi de predare
Robot de urmărire a liniei pentru algoritmi de predare
Robot Line Follower pentru predarea algoritmilor de control
Robot Line Follower pentru predarea algoritmilor de control

Am proiectat acest robot de linie în urmă cu câțiva ani, când eram profesor de robotică. Obiectivul acestui proiect a fost să-i învăț pe studenții mei să codeze un robot care urmărește linia pentru o competiție și, de asemenea, să compare între controlul If / Else și PID. Și nu în ultimul rând, modul în care mecanica și lungimea robotului afectează acești algoritmi de control. Scopul a fost de a-l face mai rapid și de încredere.

L-am făcut să fie programat cu Arduino IDE, dar este, de asemenea, posibil să utilizați IDE-ul de dezvoltare pe care îl preferați. Are un PIC32 puternic cu un bootloader USB, deci nu aveți nevoie de un programator. De asemenea, are un comutator ON / OFF, o resetare și un buton de pornire / program. LED-urile sunt conectate la semnalul PWM al motoarelor, astfel încât să puteți vedea cu ușurință puterea pe care o aplicați.

Robotul este complet modular pentru experimentare și ușor de reparat în cazul în care aveți un accident cu el. Acest lucru face din acest robot instrumentul perfect pentru învățarea programării într-un mod foarte distractiv. Studenții mei îl folosiseră o perioadă lungă de timp și învățaseră de fiecare dată ceva nou, chiar și controlul PID. Ca să nu mai vorbim că bara senzorului folosește un algoritm pentru a returna un număr întreg, valoare negativă, robotul este la stânga, pozitiv la dreapta și zero este la centrul liniei.

Provizii

2motoare de viteze micro metalice 6V cu suporturi extinse de sprijin (Orice raport de transmisie este ok, ale mele sunt 10: 1)

1x placa senzor de linie

1x unitate de control principală

1x 20 prin fir plat, distanță de 1 mm. Al meu are 20 cm lungime.

1x linker acrilic (tăiat în acrilic transparent de 3 mm)

1x 1/8 minge cu rotire (a mea este metalică)

2x roată din cauciuc, 3 cm diametru.

1x baterie Lipo. Puteți alimenta robotul până la 10v, dar rețineți că motoarele sunt evaluate pentru 6v.

Unele șuruburi M2 și piulițe pentru a atașa totul împreună.

Dacă doriți să vă creați propriile fișiere de proiectare, schemele și tot ce trebuie construit sunt atașate la pasul următor.

Pasul 1: Hardware-ul

Hardware-ul
Hardware-ul
Hardware-ul
Hardware-ul
Hardware-ul
Hardware-ul
Hardware-ul
Hardware-ul

După cum puteți vedea în imagini, toate componentele sunt SMD, este ocazia perfectă de a vă exersa abilitățile de lipire. Acest robot a fost lipit de 3 dintre studenții mei, așa că îl puteți face fără probleme. Toate fișierele de proiectare sunt atașate, puteți vedea fișierele cu EAGLE. Gerber-urile sunt, de asemenea, incluse, dacă doriți să plăcile producătorului preferat de PCB.

Cele două plăci sunt unite împreună cu o piesă acrilică, este inclus și modelul tăiat cu laser. Am folosit șuruburi și piulițe M2 pentru a-l menține în poziție. Rola de bilă este, de asemenea, plasată aici. Și dacă prăbușiți robotul, acrilul se va sparge și va proteja plăcile de daune, ideal pentru testare! Firul plat este utilizat pentru a face conexiunea între CPU și placa senzorului. Motoarele sunt ușor conectate cu fire la placa CPU.

Notă: PIC utilizează un firmware personalizat, este o versiune modificată a firmware-ului original DP32. Puteți obține firmware-ul aici. O conexiune ICSP este inclusă în partea de jos a plăcii CPU.

Pasul 2: Software-ul

Software-ul
Software-ul
Software-ul
Software-ul

Vă recomand să utilizați Arduino IDE pentru a programa robotul. Așa cum v-am spus înainte, acest liniar se bazează pe PIC32MX250 și îl face compatibil cu chipKIT DP32. Trebuie doar să instalați pachetul chipKIT pe managerul de pachete de pe IDE-ul Arduino și sunteți gata de plecare. De asemenea, îl puteți programa pe MPLAB sau IDE-ul dorit, dar puteți învăța baza pe Arduino.

Restul este ca programarea oricărei alte plăci Arduino. Conectați robotul la computer cu un cablu micro USB și apăsați butonul de program imediat după ce ați apăsat reset. Apoi trimiteți schița cu butonul de încărcare din IDE.

Am inclus 3 schițe pe acest tutorial. Primul testează matricea senzorilor, al doilea este un liniar If / Else și ultimul este un liniar PID. Totul funcționează deja, totuși va trebui să ajustați unele valori dacă schimbați designul. Și, de asemenea, nu ezitați să vă faceți propriile! Există modalități mai bune de a realiza algoritmul liniar, experimentarea este cheia succesului.

Pasul 3: Experimentare

Experimentarea
Experimentarea
Experimentarea
Experimentarea
Experimentarea
Experimentarea

Aceasta este într-adevăr cea mai importantă parte, ar trebui să încercați toate posibilitățile și să o găsiți pe cea care funcționează pentru dvs.

Simțiți-vă liber să experimentați cu roți și materiale cu diametru diferit. Schimbați lungimea robotului modificând îmbinarea acrilică. Folosiți o altă baterie, chiar și cu o tensiune diferită. De asemenea, poate fi mai mic sau mai mare. Poate un alt raport de transmisie pentru motoare.

Modificați software-ul pentru a utiliza mai puțini senzori sau chiar încercați alt algoritm, puteți fi surprins cât de mult se poate schimba performanța. Sau de ce nu, dacă sunteți un utilizator avansat, faceți acest lucru cu MPLAB.

Cerul este limita!

Ca un sfat suplimentar … Reglarea câștigurilor PID este o călătorie fascinantă în care puteți afla efectele asupra robotului atunci când urmați linia cu diferite valori de Kp, Kd și Ki. Ore și ore de învățare garantate !!! Copiii nu vor observa că folosesc de fapt matematica pentru a îndeplini toate sarcinile necesare.

Sper să vă bucurați de acest lucru instructiv, dacă aveți nevoie de ceva, întrebați-mă în comentarii. Mulțumesc pentru lectură:)

Recomandat: