Sadržaj:
- Korak 1: Dijelovi
- Korak 2: 3D štampani dijelovi
- Korak 3: Kodirajte
- Korak 4: Dobivanje podataka
- Korak 5: Označavanje slika
- Korak 6: Obuka
- Korak 7: Sastavljanje obučenog modela
- Korak 8: Model otkrivanja recikliranja
- Korak 9: Implementirajte model
- Korak 10: Izgradite robotsku ruku
- Korak 11: Povezivanje RPI -a i robotske ruke
- Korak 12: Završni dodiri
- Korak 13: Trčanje
- Korak 14: Budući rad
- Korak 15: Pitanja?
Video: Robot za sortiranje recikliranja: 15 koraka (sa slikama)
2024 Autor: John Day | [email protected]. Zadnja izmjena: 2024-01-30 08:05
Jeste li znali da se prosječna stopa zagađenja u zajednicama i preduzećima kreće do 25%? To znači da se svaki četvrti komad recikliranja koji bacite ne reciklira. To je uzrokovano ljudskom greškom u centrima za reciklažu. Tradicionalno, radnici će sortirati smeće u različite kante ovisno o materijalu. Ljudi su dužni griješiti i na kraju neće pravilno sortirati smeće, što dovodi do onečišćenja. Kako zagađenje i klimatske promjene postaju sve značajnije u današnjem društvu, recikliranje ima ogroman dio u zaštiti naše planete. Korištenjem robota za sortiranje smeća, stope zagađenja će se drastično smanjiti, da ne spominjemo mnogo jeftinije i održivije. Da bih to riješio, stvorio sam robota za sortiranje recikliranja koji koristi mašinsko učenje za sortiranje između različitih materijala za recikliranje.
Korak 1: Dijelovi
Uz ovaj vodič vodite računa o sljedećim dijelovima:
3D štampani dijelovi (pogledajte korak ispod)
Raspberry Pi RPI 4 4 GB
Google Coral USB Accelerator
Arduino Uno R3
Modul kamere Raspberry Pi V2
5V 2A DC zidno napajanje
DC 12V napajanje
SG90 9g Mikro Servo 4 kom.
M3 x 0,5 mm Matica od nerđajućeg čelika sa samoblokiranjem, najlonska šesterokutna matica 100 kom.
M3x20 Titanium vijci s gumbom, 10 kom.
MG996R Analogni servo motor sa metalnim zupčanikom, 4 kom.
Samsung 32GB Odaberite Memorijska kartica
Adafruit Flex kabel za Raspberry Pi kameru - 1 metar
M2 Muški ženski razmaknik od mesinga Odstojni vijčani komplet za navrtke
60mm 12V ventilator
6,69 "x 5,12" x 2,95 "Projektna kutija
Korak 2: 3D štampani dijelovi
Morat ćete 3D ispisati sve dijelove robotske ruke. Sve datoteke možete pronaći ovdje.
Korak 3: Kodirajte
Molimo klonirajte moje GitHub spremište da biste slijedili ovaj vodič.
Korak 4: Dobivanje podataka
Za obuku modela otkrivanja objekata koji može otkriti i prepoznati različite materijale za recikliranje, upotrijebio sam skup podataka o smeću koji sadrži 2527 slika:
- 501 staklo
- 594 papir
- 403 karton
- 482 plastika
- 410 metal
- 137 smeće
Gornja slika je primjer jedne na slikama iz skupa podataka.
Ovaj skup podataka je vrlo mali za obučavanje modela otkrivanja objekata. Postoji samo oko 100 slika smeća koje su premale za uvježbavanje točnog modela, pa sam odlučio to izostaviti.
Ovu mapu Google pogona možete koristiti za preuzimanje skupa podataka. Obavezno preuzmite datoteku set-resized.zip. Sadrži skup slika koje su već promijenjene u manju veličinu kako bi se omogućio brži trening. Ako želite promijeniti veličinu neobrađenih slika po vlastitom nahođenju, slobodno preuzmite datoteku set-original.zip.
Korak 5: Označavanje slika
Zatim moramo označiti nekoliko slika različitih materijala za recikliranje kako bismo mogli obučiti model otkrivanja objekata. Da bih to učinio, koristio sam labelImg, besplatni softver koji vam omogućuje označavanje okvira za ograničavanje objekata na slikama.
Označite svaku sliku odgovarajućom oznakom. Ovaj vodič vam pokazuje kako. Pobrinite se da svaki ograničavajući okvir bude što bliže rubu svakog objekta kako biste bili sigurni da je model otkrivanja što je moguće precizniji. Spremite sve.xml datoteke u mapu.
Gornja fotografija prikazuje kako označiti svoje slike.
Ovo je vrlo dosadno i otupljujuće iskustvo. Srećom po vas, već sam vam označio sve slike! Možete ga pronaći ovdje.
Korak 6: Obuka
Što se tiče obuke, odlučio sam koristiti transferno učenje koristeći Tensorflow. To nam omogućuje obuku pristojno preciznog modela bez velike količine podataka.
Postoji nekoliko načina na koje to možemo učiniti. To možemo učiniti na našem lokalnom desktop računaru u oblaku. Obuka na našoj lokalnoj mašini trajat će jako dugo, ovisno o tome koliko je vaš računar moćan i imate li snažan GPU. Ovo je vjerovatno najlakši način po mom mišljenju, ali opet sa nedostatkom brzine.
Postoje neke ključne stvari na koje treba obratiti pažnju pri transfernom učenju. Morate biti sigurni da je unaprijed obučeni model koji koristite za obuku kompatibilan s Coral Edge TPU. Ovdje možete pronaći kompatibilne modele. Koristio sam MobileNet SSD v2 (COCO) model. Slobodno eksperimentirajte i s drugima.
Za obuku na vašoj lokalnoj mašini, preporučio bih da slijedite Googleov vodič ili EdjeElectronics vodič ako radite na Windows 10. Lično sam testirao EdjeElectroncs vodič i postigao uspjeh na radnoj površini. Ne mogu potvrditi hoće li Googleov vodič raditi, ali bio bih iznenađen da nije.
Za vježbanje u oblaku možete koristiti AWS ili GCP. Pronašao sam ovaj vodič koji možete isprobati. Koristi Googleove oblačne TPU -ove koji mogu super brzo obučiti vaš model otkrivanja objekata. Koristite i AWS.
Bilo da trenirate na lokalnoj mašini ili u oblaku, trebali biste završiti s obučenim modelom tenzorskog toka.
Korak 7: Sastavljanje obučenog modela
Da bi vaš obučeni model radio s TPU -om Coral Edge, morate ga sastaviti.
Gore je dijagram toka posla.
Nakon treninga morate ga spremiti kao zamrznuti grafikon (.pb datoteka). Zatim ga morate pretvoriti u model Tensorflow Lite. Zapazite kako piše "Kvantizacija nakon treninga". Ako ste koristili kompatibilne unaprijed obučene modele prilikom korištenja transfernog učenja, to ne morate činiti. Kompletnu dokumentaciju o kompatibilnosti pogledajte ovdje.
S modelom Tensorflow Lite morate ga kompajlirati u Edge TPU model. Detalje o tome kako to učiniti pogledajte ovdje.
Korak 8: Model otkrivanja recikliranja
Ako ne želite prelaziti na muke oko obuke, pretvaranja i sastavljanja modela otkrivanja objekata, pogledajte moj model otkrivanja recikliranja ovdje.
Korak 9: Implementirajte model
Sljedeći korak je postavljanje Raspberry Pi (RPI) i Edge TPU -a za pokretanje modela otkrivanja obučenih objekata.
Prvo postavite RPI pomoću ovog vodiča.
Zatim postavite Edge TPU slijedeći ovaj vodič.
Na kraju, spojite modul kamere RPI na malinu pi.
Sada ste spremni za testiranje vašeg modela otkrivanja objekata!
Ako ste već klonirali moje spremište, htjet ćete otići u direktorij RPI i pokrenuti datoteku test_detection.py:
python test_detection.py --model recycle_ssd_mobilenet_v2_quantized_300x300_coco_2019_01_03/detection_edgetpu.tflite --oznake recycle_ssd_mobilenet_v2_quantized_300x300_coco_2019_01_03/labels.txt
Mali prozor bi trebao iskočiti i ako stavite plastičnu bocu za vodu ili drugi materijal za recikliranje, trebao bi to otkriti kao na gornjoj slici.
Pritisnite slovo "q" na tastaturi da biste završili program.
Korak 10: Izgradite robotsku ruku
Robotska ruka je 3D štampana ruka koju sam pronašao ovdje. Samo slijedite vodič za postavljanje.
Gornja slika prikazuje kako je moja robotska ruka ispala.
Provjerite jeste li priključili servo pinove na Arduino I/O pinove u mom kodu. Povežite servo od dna prema vrhu ruke ovim redoslijedom: 3, 11, 10, 9, 6, 5. Ako ih ne povežete ovim redoslijedom, ruka će pomaknuti pogrešan servo!
Testirajte da vidite da li radi tako što ćete otići u Arduino direktorij i pokrenuti datoteku basicMovement.ino. Ovo će jednostavno zgrabiti predmet koji postavite ispred ruke i baciti ga iza.
Korak 11: Povezivanje RPI -a i robotske ruke
Prvo moramo montirati modul kamere na dno kandže. Gornja slika prikazuje kako bi trebala izgledati.
Pokušajte poravnati kameru što je moguće ravno kako biste smanjili greške pri hvatanju prepoznatog materijala za recikliranje. Morat ćete koristiti dugački trakasti kabel modula kamere kako se vidi na popisu materijala.
Zatim morate prenijeti datoteku roboticArm.ino na Arduino ploču.
Konačno, samo moramo spojiti USB kabel između USB porta RPI -a i USB porta Arduina. To će im omogućiti komunikaciju putem serijske veze. Slijedite ovaj vodič o tome kako to postaviti.
Korak 12: Završni dodiri
Ovaj korak je potpuno neobavezan, ali volim staviti sve svoje komponente u lijepu malu projektnu kutiju.
Gornje slike prikazuju kako to izgleda.
Okvir projekta možete pronaći na popisu materijala. Upravo sam izbušio neke rupe i upotrijebio mesingane nosače za montažu elektronike. Ugradio sam i 4 ventilatora za hlađenje kako bi se održao stalan protok zraka kroz RPI i TPU kada je vruće.
Korak 13: Trčanje
Sada ste spremni za uključivanje i robotske ruke i RPI -a! Na RPI -u možete jednostavno pokrenuti datoteku recycle_detection.py. Ovo će otvoriti prozor i robotska ruka će početi raditi kao u demo videu! Pritisnite slovo "q" na tastaturi da biste završili program.
Slobodno se poigrajte s kodom i zabavite se!
Korak 14: Budući rad
Nadam se da ću koristiti R. O. S. za upravljanje robotskom rukom preciznijim pokretima. To će omogućiti preciznije prikupljanje objekata.
Korak 15: Pitanja?
Slobodno ostavite komentar ispod ako imate pitanja!
Preporučuje se:
Šešir za sortiranje: 3 koraka
Šešir za razvrstavanje: Kako smo blizu godišnjeg doba u koje se odijevamo u različite kostime, jedne godine je školsko osoblje odlučilo da ima teme po odjeljenjima. Harry Potter bio je popularan izbor, a kako sam se zaista upuštao u svoj zanat heklanja lutki Amigurumi i s
Deda Mrazov šešir za sortiranje: 10 koraka (sa slikama)
Santa's Sorting Hat: Blisko smo surađivali s Djedovom radionicom kako bismo vam predstavili ovu inovaciju u nestašnoj ili lijepoj komunikaciji s spiskom. Sada možete provjeriti u stvarnom vremenu jesu li vaša dobra i loša djela uticala na vaš položaj na Deda Mrazovoj listi Naughty ili Nice! Zabavan projekt
Mašina za sortiranje čarobnog mramora LittleBits: 11 koraka (sa slikama)
Mašina za sortiranje čarobnog mramora LittleBits: Jeste li ikada htjeli sortirati mramore? Onda ste mogli napraviti ovu mašinu. Više nikada nećete morati prelistavati vreću mramora! To je čarobna mašina za sortiranje mramora, koja koristi senzor boje za Adafruit, tip TCS34725 i Leonarda Arduina iz
Mašina za sortiranje vijaka: 7 koraka (sa slikama)
Mašina za sortiranje vijaka: Jednog dana u laboratoriji (FabLab Moskva), vidio sam svog kolegu zauzetog sortiranjem pune kutije vijaka, matica, prstenova i drugog hardvera. Zaustavivši se pored njega, gledao sam na trenutak i rekao: " To bi bio savršen posao za mašinu. &Quot; Nakon kratkog pogleda
Robotsko sortiranje perlica: 3 koraka (sa slikama)
Robotsko sortiranje perlica: U ovom projektu ćemo izgraditi robota za sortiranje Perlerovih perlica po boji. Uvijek sam želio izgraditi robota za sortiranje boja, pa kad se moja kći zainteresirala za izradu Perler perlica, vidio sam ovo kao savršenu priliku .Perler perle se koriste za