Sadržaj:
- Korak 1: Dijelovi
- Korak 2: 3D ispisani dijelovi
- Korak 3: Kodirajte
- Korak 4: Dobivanje podataka
- Korak 5: Označavanje slika
- Korak 6: Trening
- Korak 7: Sastavljanje obučenog modela
- Korak 8: Model otkrivanja recikliranja
- Korak 9: Implementirajte model
- Korak 10: Izgradite robotsku ruku
- Korak 11: Spajanje 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 promjena: 2024-01-30 09:34
Jeste li znali da se prosječna stopa zagađenja u zajednicama i poduzećima kreće do 25%? To znači da se svaki četvrti komad recikliranja koji bacite ne reciklira. To je uzrokovano ljudskom pogreškom u centrima za recikliranje. 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 zaštite naše planete. Korištenjem robota za sortiranje smeća, stope zagađenja drastično će se smanjiti, a da ne spominjemo mnogo jeftinije i održivije. Da bih to riješio, stvorio sam robota za sortiranje recikliranja koji koristi strojno 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 ispisani 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 Samoblokirajuća najlonska šesterokutna matica od 100 komada, od nehrđajućeg čelika.
M3x20 vijci s titanskom glavom s gumbom 10kom.
MG996R Analogni servo motor s metalnim zupčanikom, 4 kom.
Samsung 32 GB Odaberite memorijsku karticu
Adafruit Flex kabel za Raspberry Pi kameru - 1 metar
M2 Muški ženski razmaknik od mesinga Odstojni vijčani set matica
60 mm 12V ventilator
6,69 "x 5,12" x 2,95 "Projektna kutija
Korak 2: 3D ispisani dijelovi
Morat ćete 3D ispisati sve dijelove robotske ruke. Sve datoteke možete pronaći ovdje.
Korak 3: Kodirajte
Molimo klonirajte moje spremište GitHub da biste slijedili ovaj vodič.
Korak 4: Dobivanje podataka
Za uvježbavanje 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 je skup podataka 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 database-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 skupova podataka-original.zip.
Korak 5: Označavanje slika
Zatim moramo označiti nekoliko slika različitih materijala za recikliranje kako bismo mogli uvježbati model otkrivanja objekata. Za to sam upotrijebio labelImg, besplatni softver koji vam omogućuje označavanje okvira koji ograničavaju objekte na slikama.
Označite svaku sliku odgovarajućom oznakom. Ovaj vodič će vam pokazati kako. Svaka granična kućica neka bude što bliže rubu svakog objekta kako bi model otkrivanja bio što točniji. 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: Trening
Što se tiče obuke, odlučio sam koristiti prijenosno učenje koristeći Tensorflow. To nam omogućuje obuku pristojno točnog 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 stolnom računalu u oblaku. Obuka na našem lokalnom stroju trajat će jako dugo, ovisno o tome koliko je vaše računalo moćno i imate li snažan GPU. Ovo je vjerojatno 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 istrenirani model koji koristite za obuku kompatibilan s TPU-om Coral Edge. Ovdje možete pronaći kompatibilne modele. Koristio sam model MobileNet SSD v2 (COCO). Slobodno eksperimentirajte i s drugima.
Za vježbanje na vašem lokalnom stroju, preporučio bih da slijedite Googleov vodič ili EdjeElectronics vodič ako radite na sustavu Windows 10. Osobno sam testirao vodič EdjeElectroncs 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 trenirati vaš model otkrivanja objekata. Koristite i AWS.
Bilo da trenirate na svom lokalnom stroju 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 tijeka rada.
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 za prijenosno učenje koristili kompatibilne unaprijed obučene modele, to ne morate činiti. Cijelu dokumentaciju o kompatibilnosti pogledajte ovdje.
S modelom Tensorflow Lite morate ga kompajlirati u Edge TPU model. Pojedinosti 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, ovdje pogledajte moj model otkrivanja recikliranja.
Korak 9: Implementirajte model
Sljedeći korak je postavljanje Raspberry Pi (RPI) i Edge TPU -a za pokretanje obučenog modela otkrivanja objekata.
Najprije postavite RPI pomoću ovog vodiča.
Zatim postavite Edge TPU slijedeći ovaj vodič.
Na kraju, spojite modul RPI kamere na malinu pi.
Sada ste spremni testirati svoj model 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/detektiraj_edgetpu.tflite -oznake recycle_ssd_mobilenet_v2_quantized_300x300_coco_2019_01_03/labels.txt
Trebalo bi iskočiti mali prozorčić, a ako stavite plastičnu bocu za vodu ili drugi materijal za recikliranje, trebao bi ga otkriti kao na gornjoj slici.
Pritisnite slovo "q" na tipkovnici za završetak programa.
Korak 10: Izgradite robotsku ruku
Robotska ruka je 3D tiskana 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. Spojite servosisteme odozdo 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 direktorij Arduino i pokrenuti datoteku basicMovement.ino. Tako ćete jednostavno zgrabiti predmet koji postavite ispred ruke i ispustiti ga iza sebe.
Korak 11: Spajanje RPI -a i robotske ruke
Prvo moramo montirati modul kamere na dno kandže. Gornja slika prikazuje kako bi trebala izgledati.
Pokušajte fotoaparat poravnati što je moguće ravno kako biste smanjili pogreške pri hvatanju prepoznatog materijala za recikliranje. Morat ćete koristiti dugački vrpčani kabel modula kamere kako se vidi na popisu materijala.
Zatim morate prenijeti datoteku roboticArm.ino na Arduino ploču.
Na kraju, samo moramo spojiti USB kabel između USB porta RPI -a i USB priključka Arduina. To će im omogućiti komunikaciju putem serijskog priključka. 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 mjedene stope za montažu elektronike. Ugradio sam i 4 ventilatora za hlađenje kako bi održao stalan protok zraka kroz RPI i TPU dok je vruć.
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 tipkovnici za završetak programa.
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 točnije prikupljanje objekata.
Korak 15: Pitanja?
Slobodno ostavite komentar ispod ako imate pitanja!
Preporučeni:
Šešir za sortiranje: 3 koraka
Šešir za razvrstavanje: Kako smo blizu tog godišnjeg doba u koje se odijevamo u razne kostime, jedne godine naše školsko osoblje odlučilo je imati teme po odjelima. Harry Potter bio je popularan izbor, a kako sam se zaista upuštao u svoj zanat heklanja lutki Amigurumi i s
Radni šešir za sortiranje od Harryja Pottera: 8 koraka
Radni šešir za sortiranje od Harryja Pottera: U našem svijetu maglova ne postoji čarobni šešir koji bi nas svrstao u naše kuće. Stoga sam iskoristio ovu priliku u karanteni da napravim šešir za razvrstavanje
Mašina za sortiranje čarobnog mramora LittleBits: 11 koraka (sa slikama)
LittleBits Magični stroj za sortiranje mramora: Jeste li ikada htjeli sortirati mramore? Tada biste mogli napraviti ovaj stroj. Više nikada nećete morati prelistavati vreću mramora! To je čarobni stroj za sortiranje mramora, koji koristi senzor boje za Adafruit, tip TCS34725 i Leonarda Arduina iz
Stroj za sortiranje vijaka: 7 koraka (sa slikama)
Stroj za sortiranje vijaka: Jednog dana u laboratoriju (FabLab Moskva) vidio sam svog kolegu zauzetog sortiranjem pune kutije vijaka, matica, prstenova i drugog hardvera. Zastavši kraj njega, sekundu sam gledao i rekao: " Bio bi to savršen posao za stroj. &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 to kao savršenu priliku . Perler perle se koriste t