Cuprins:
- Pasul 1: Piese
- Pasul 2: Părți imprimate 3D
- Pasul 3: Cod
- Pasul 4: Obținerea datelor
- Pasul 5: Etichetarea imaginilor
- Pasul 6: Antrenament
- Pasul 7: Compilarea modelului instruit
- Pasul 8: reciclați modelul de detectare
- Pasul 9: Implementați modelul
- Pasul 10: Construiește brațul robotizat
- Pasul 11: Conectarea RPI și brațul robotizat
- Pasul 12: Atingeri finale
- Pasul 13: Alergare
- Pasul 14: Munca viitoare
- Pasul 15: Întrebări?
Video: Reciclarea robotului de sortare: 15 pași (cu imagini)
2024 Autor: John Day | [email protected]. Modificat ultima dată: 2024-01-30 11:43
Știați că rata medie de contaminare în comunități și companii variază până la 25%? Asta înseamnă că una din patru bucăți de reciclare aruncate nu se reciclează. Acest lucru este cauzat de o eroare umană în centrele de reciclare. În mod tradițional, lucrătorii vor sorta gunoiul în coșuri diferite, în funcție de material. Oamenii sunt obligați să comită erori și ajung să nu sorteze coșul de gunoi în mod corespunzător, ducând la contaminare. Pe măsură ce poluarea și schimbările climatice devin și mai semnificative în societatea actuală, reciclarea are un rol imens în protejarea planetei noastre. Prin utilizarea roboților pentru a sorta coșul de gunoi, ratele de contaminare vor scădea drastic, ca să nu mai vorbim de mult mai ieftine și mai durabile. Pentru a rezolva acest lucru, am creat un robot de sortare a reciclării care utilizează învățarea automată pentru a sorta între diferite materiale de reciclare.
Pasul 1: Piese
Asigurați-vă că aveți următoarele părți de urmat împreună cu acest tutorial:
Piese imprimate 3D (vezi pasul de mai jos)
Raspberry Pi RPI 4 4GB
Accelerator USB Google Coral
Arduino Uno R3
Raspberry Pi Camera Module V2
Sursă de alimentare de perete 5V 2A DC
Alimentare DC 12V
SG90 9g Micro Servo 4buc.
M3 x 0,5 mm Oțel inoxidabil autoblocant nailon hexagonal piuliță de blocare 100buc.
Șuruburi titan M3x20 cu cap buton 10buc.
Servomotor analogic cuplu cu angrenaj metalic MG996R 4buc.
Samsung 32GB Select Memory Card
Cablu flex Adafruit pentru cameră Raspberry Pi - 1 metru
M2 Tată de sex feminin alamă distanțier distanțier șurub Kit asortiment piuliță
60mm 12V ventilator
6,69 "x 5,12" x 2,95 "Casetă de proiect
Pasul 2: Părți imprimate 3D
Va trebui să imprimați 3D toate piesele pentru brațul robotizat. Puteți găsi toate fișierele aici.
Pasul 3: Cod
Vă rugăm să clonați depozitul meu GitHub pentru a urma împreună cu acest tutorial.
Pasul 4: Obținerea datelor
Pentru a instrui modelul de detectare a obiectelor care poate detecta și recunoaște diferite materiale de reciclare, am folosit setul de date de gunoi care include 2527 de imagini:
- 501 pahar
- 594 hârtie
- 403 carton
- 482 plastic
- 410 metal
- 137 gunoi
Imaginea de mai sus este un exemplu al uneia din imaginile din setul de date.
Acest set de date este foarte mic pentru a antrena un model de detectare a obiectelor. Există doar aproximativ 100 de imagini de coș de gunoi care sunt prea puține pentru a antrena un model precis, așa că am decis să îl las în afara.
Puteți utiliza acest folder Google Drive pentru a descărca setul de date. Asigurați-vă că descărcați fișierul dataset-resized.zip. Acesta conține setul de imagini care sunt deja redimensionate la o dimensiune mai mică pentru a permite un antrenament mai rapid. Dacă doriți să redimensionați imaginile brute după propriul dvs. gust, nu ezitați să descărcați fișierul dataset-original.zip.
Pasul 5: Etichetarea imaginilor
Apoi, trebuie să etichetăm mai multe imagini cu diferite materiale de reciclare, astfel încât să putem instrui modelul de detectare a obiectelor. Pentru a face acest lucru, am folosit labelImg, un software gratuit care vă permite să etichetați casetele de delimitare a obiectelor în imagini.
Etichetați fiecare imagine cu eticheta corespunzătoare. Acest tutorial vă arată cum. Asigurați-vă că faceți fiecare casetă de delimitare cât mai aproape de marginea fiecărui obiect pentru a vă asigura că modelul de detectare este cât mai exact posibil. Salvați toate fișierele.xml într-un folder.
Fotografia de mai sus arată cum să etichetați imaginile.
Aceasta este o experiență foarte plictisitoare și amețitoare. Din fericire pentru tine, am etichetat deja toate imaginile pentru tine! O puteți găsi aici.
Pasul 6: Antrenament
În ceea ce privește instruirea, am decis să folosesc învățarea prin transfer folosind Tensorflow. Acest lucru ne permite să instruim un model decent, fără o cantitate mare de date.
Există câteva moduri în care putem face acest lucru. O putem face pe computerul nostru local de pe cloud. Instruirea pe mașina noastră locală va dura foarte mult, în funcție de cât de puternic este computerul dvs. și dacă aveți un GPU puternic. Acesta este probabil cel mai simplu mod în opinia mea, dar din nou cu dezavantajul vitezei.
Există câteva lucruri cheie de remarcat despre învățarea prin transfer. Trebuie să vă asigurați că modelul pre-antrenat pe care îl utilizați pentru antrenament este compatibil cu TPU Coral Edge. Aici puteți găsi modele compatibile. Am folosit modelul MobileNet SSD v2 (COCO). Simțiți-vă liber să experimentați și cu alții.
Pentru a vă antrena pe mașina dvs. locală, aș recomanda să urmați tutorialul Google sau tutorialul EdjeElectronics dacă rulează pe Windows 10. Personal, am testat tutorialul EdjeElectroncs și am ajuns la succes pe desktopul meu. Nu pot confirma dacă tutorialul Google va funcționa, dar aș fi surprins dacă nu.
Pentru a vă antrena în cloud, puteți utiliza AWS sau GCP. Am găsit acest tutorial pe care îl puteți încerca. Folosește cloud-urile Google TPU care vă pot antrena modelul de detectare a obiectelor foarte rapid. Simțiți-vă liber să utilizați și AWS.
Indiferent dacă vă antrenați pe mașina dvs. locală sau în cloud, ar trebui să ajungeți la un model de tensor flux instruit.
Pasul 7: Compilarea modelului instruit
Pentru ca modelul dvs. instruit să funcționeze cu TPU Coral Edge, trebuie să îl compilați.
Mai sus este o diagramă pentru fluxul de lucru.
După antrenament, trebuie să îl salvați ca grafic înghețat (fișier.pb). Apoi, trebuie să-l convertiți într-un model Tensorflow Lite. Rețineți cum scrie „cuantificarea post-antrenament”. Dacă ați folosit modele pre-antrenate compatibile atunci când utilizați învățarea prin transfer, nu este necesar să faceți acest lucru. Consultați aici documentația completă privind compatibilitatea.
Cu modelul Tensorflow Lite, trebuie să îl compilați la un model Edge TPU. Vedeți detalii despre cum să faceți acest lucru aici.
Pasul 8: reciclați modelul de detectare
Dacă nu doriți să treceți peste dificultățile de antrenament, conversie și compilare a modelului de detectare a obiectelor, verificați aici modelul meu de detectare a reciclării.
Pasul 9: Implementați modelul
Următorul pas este să configurați Raspberry Pi (RPI) și Edge TPU pentru a rula modelul de detectare a obiectelor instruit.
Mai întâi, configurați RPI utilizând acest tutorial.
Apoi, configurați TPU-ul Edge urmând acest tutorial.
În cele din urmă, conectați modulul camerei RPI la raspberry pi.
Acum sunteți gata să vă testați modelul de detectare a obiectelor!
Dacă ați clonat deja depozitul meu, veți dori să navigați la directorul RPI și să rulați fișierul test_detection.py:
python test_detection.py --model recycle_ssd_mobilenet_v2_quantized_300x300_coco_2019_01_03 / detect_edgetpu.tflite --labels recycle_ssd_mobilenet_v2_quantized_300x300_coco_2019_01_03
O fereastră mică ar trebui să apară și dacă puneți o sticlă de apă din plastic sau alt material de reciclare, ar trebui să o detecteze ca în imaginea de mai sus.
Apăsați litera „q” de pe tastatură pentru a termina programul.
Pasul 10: Construiește brațul robotizat
Brațul robotizat este un braț tipărit 3D pe care l-am găsit aici. Doar urmați tutorialul privind configurarea acestuia.
Imaginea de mai sus arată cum mi-a ieșit brațul robotizat.
Asigurați-vă că conectați pinii servo la pinii I / O Arduino din codul meu. Conectați servo-urile de jos în partea de sus a brațului în această ordine: 3, 11, 10, 9, 6, 5. Dacă nu îl conectați în această ordine, brațul va muta servo greșit!
Testați pentru a vedea cum funcționează navigând la directorul Arduino și rulând fișierul basicMovement.ino. Aceasta va apuca pur și simplu un obiect pe care îl așezați în fața brațului și îl veți lăsa în spate.
Pasul 11: Conectarea RPI și brațul robotizat
Mai întâi trebuie să montăm modulul camerei în partea inferioară a ghearelor. Imaginea de mai sus arată cum ar trebui să arate.
Încercați să aliniați camera cât mai dreaptă posibil pentru a minimiza erorile la apucarea materialului reciclat recunoscut. Va trebui să utilizați cablul panglică al modulului lung al camerei, așa cum se vede în lista de materiale.
Apoi, trebuie să încărcați fișierul roboticArm.ino pe placa Arduino.
În cele din urmă, trebuie doar să conectăm un cablu USB între portul USB al RPI și portul USB al Arduino. Acest lucru le va permite să comunice prin serial. Urmați acest tutorial despre cum să configurați acest lucru.
Pasul 12: Atingeri finale
Acest pas este complet opțional, dar îmi place să pun toate componentele într-o cutie mică de proiect.
Imaginile de mai sus arată cum arată.
Puteți găsi caseta de proiect pe lista de materiale. Tocmai am făcut câteva găuri și am folosit standuri de alamă pentru a monta electronica. De asemenea, am montat 4 ventilatoare de răcire pentru a menține un flux constant de aer prin RPI și TPU când este fierbinte.
Pasul 13: Alergare
Acum sunteți gata să porniți atât brațul robot, cât și RPI! Pe RPI, puteți rula pur și simplu fișierul recycle_detection.py. Aceasta va deschide o fereastră și brațul robot va începe să ruleze la fel ca în videoclipul demo! Apăsați litera „q” de pe tastatură pentru a termina programul.
Simțiți-vă liber să jucați cu codul și să vă distrați!
Pasul 14: Munca viitoare
Sper să folosesc R. O. S. pentru a controla brațul robotizat cu mișcări mai precise. Acest lucru va permite preluarea mai precisă a obiectelor.
Pasul 15: Întrebări?
Nu ezitați să lăsați un comentariu mai jos dacă aveți întrebări!
Recomandat:
Reciclarea CD-urilor în mașinile de curse: 8 pași (cu imagini)
Reciclarea CD-urilor în mașinile de curse: Bună tuturor. Aceasta este mașina noastră de curse auto. Este complet gratuită și automată. Dacă sunteți părinte, va fi foarte potrivit să vă jucați cu copiii dvs. Făcându-l foarte simplu, va fi foarte interesant Vă voi îndruma, hai să o facem
Pălăria de sortare a lui Moș Crăciun: 10 pași (cu imagini)
Palaria de sortare a lui Moș Crăciun: Am lucrat îndeaproape cu Atelierul lui Moș Crăciun pentru a vă aduce această inovație în comunicarea obraznică sau plăcută pe listă. Acum, puteți verifica în timp real dacă faptele voastre bune și rele v-au afectat poziția pe lista obraznică sau drăguță a lui Moș Crăciun! Un proiect distractiv
Expunerea UV la PCB prin reciclarea unui scaner vechi: 6 pași (cu imagini)
Expunerea la UV la PCB prin reciclarea unui scaner vechi: Bună, așa am făcut expunerea la UV la PCB prin reciclarea unui scaner vechi
Control ieftin al robotului de luptă Arduino: 10 pași (cu imagini)
Controlul ieftin al robotului de luptă Arduino: renașterea robotilor de luptă în state și a războaielor de roboți din Marea Britanie mi-a reaprins dragostea pentru robotica de luptă. Așa că am găsit un grup local de constructori de bot și am scufundat chiar înăuntru. Ne luptăm la scara de greutate a furnicilor din Marea Britanie (limită de greutate de 150 de grame) și mi-am dat seama repede
Sortare robotică a mărgelelor: 3 pași (cu imagini)
Sortarea robotică a mărgelelor: În acest proiect, vom construi un robot pentru a sorta mărgelele Perler după culoare. Am dorit întotdeauna să construiesc un robot de sortare a culorilor, așa că atunci când fiica mea s-a interesat de realizarea mărgelelor Perler, am văzut acest lucru ca pe o oportunitate perfectă .Perler margele sunt utilizate t