This shows you the differences between two versions of the page.
pm:prj2023:gpatru:483 [2023/05/25 15:58] ioana.dinu0810 |
pm:prj2023:gpatru:483 [2023/05/26 10:57] (current) ioana.dinu0810 [Concluzii] |
||
---|---|---|---|
Line 70: | Line 70: | ||
===== Rezultate Obţinute ===== | ===== Rezultate Obţinute ===== | ||
+ | 1. Testarea unitara a servomotoarelor a demonstrat necesitatea unui algoritm de tip PID, mai ales a componentei P, deoarece chiar daca si fara componenta proportionala, urmarirea era realizata, procesul nu era unul cu performante mari in ceea ce priveste urmarirea referintei si stabilizarea. Servomotoarele tindeau sa se reintoarca la pozitia neutra dupa fiecare modificare a unghiului. \\ | ||
+ | 2. Dupa adaugarea a doi factori Kp diferiti in functie de plan (pe Ox am uitizat 0.4, iar pe Oy, 0.5), am obtinut o urmarire vizibil imbunatatita. \\ | ||
+ | 3. Dupa ce am testat functionalitatea de centrare, am implementat deplasarea in spatiu. Cei mai importanti parametri de modificat au fost dimensiunile width (80) si height (60) ale obiectului vazut de camera. \\ | ||
+ | {{:pm:prj2023:gpatru:ryobo_final.png?400|}} \\ | ||
===== Concluzii ===== | ===== Concluzii ===== | ||
+ | Ryobo este un prototip in ceea ce priveste conceptul de __visual servoing__. In acest proiect am dorit sa punctez cateva notiuni mai provocatoare, din mai multe puncte de vedere: \\ | ||
+ | 1. **Control**: Pentru a face robotul sa functioneze, am avut nevoie de prioritizarea uneia dintre urmariri, astfel incat sa creez o activitate cat mai determinista. Am folosit un algoritm proportional de control pentru motoare, cu factori alesi experimental. \\ | ||
+ | 2. **Machine Learning**: Camera ruleaza un algoritm de detectie bazat pe hue-ul si contrastul din imaginile capturate. \\ | ||
+ | 3. **"Economie" in ceea ce priveste componentele**: Am folosit toate cele 6 canale de PWM disponibile pe ATmega328P si rezultatul este satisfacator, chiar daca pot fi aduse imbunatatiri: cresterea vitezei motoarelor, multithreading etc. Nu am folosit un senzor de distanta pentru a identifica aproprierea obeictului, ci am prelucrat software datele de la camera. \\ | ||
+ | 4. **Utilitatea**: Algoritmii de acest gen nu trebuie sa isi gaseasca sfarsitul in implementarea pe roboti miniaturali, ci, odata ce tehnologia avanseaza, pot fi folositi pe drone, in mediul industrial sau pentru securitate.\\ | ||
+ | |||
===== Download ===== | ===== Download ===== | ||
<note> | <note> | ||
- | - Proiectul din punct de vedere software (inclusiv readme): https://gitlab.com/smp2023/331ab/ryobo.git \\ | + | - Proiectul detaliat poate fi descarcat de aici (inclusiv readme): https://gitlab.com/smp2023/331ab/ryobo.git \\ |
- | - Documentatie detaliata: https://calm-lilac-b60.notion.site/Documentatie-Ryobo-04c33d21374745c6969c2b7464e8acd0 \\ | + | |
</note> | </note> | ||
- | |||
===== Jurnal ===== | ===== Jurnal ===== | ||
+ | Primul pas a fost controlul servo-urilor in functie de inputul prelucrat de la camera:\\ | ||
{{:pm:prj2023:gpatru:evolution1.jpeg?400|}} \\ | {{:pm:prj2023:gpatru:evolution1.jpeg?400|}} \\ | ||
+ | Am inceput sa printez piesele din corpul robotului. Aici este primul body: \\ | ||
{{:pm:prj2023:gpatru:evolution2.jpeg?400|}} \\ | {{:pm:prj2023:gpatru:evolution2.jpeg?400|}} \\ | ||
+ | Pentru a oferi stabilitate tuturor componentelor din interior, inclusiv placii Arduino Uno, am printat si body-ul din mijloc de care este prinsa placa, avand si bratul de servo fixat deasupra. Al treilea body este cel mobil. Pentru a-i asigura stabilitate am folosit 3 ball casters care aluneca pe body-ul din mijloc atunci cand servomotorul misca platforma. \\ | ||
+ | {{:pm:prj2023:gpatru:ryobo_aproapeasamblat.jpg?400|}} \\ | ||
+ | Am identificat existenta unei probleme legate de miscarea camerei in planul Oy. Suportul de care urma sa fie prins bratul servomotorului era la baza camerei. Orice mica ajustare a servomotorului ar fi miscat camera destul de puternic. Pentru o centrare mai buna, am distantat camera mai mult de platforma mobila si am prins bratul servomotorului la mijlocul sau, nu la baza. \\ | ||
+ | {{:pm:prj2023:gpatru:ryobo_identificareparghie.jpg?400|}} \\ | ||
===== Bibliografie/Resurse ===== | ===== Bibliografie/Resurse ===== |