Sadržaj:

Robot za sortiranje recikliranja: 15 koraka (sa slikama)
Robot za sortiranje recikliranja: 15 koraka (sa slikama)

Video: Robot za sortiranje recikliranja: 15 koraka (sa slikama)

Video: Robot za sortiranje recikliranja: 15 koraka (sa slikama)
Video: Radim u Privatnom muzeju za bogate i slavne. Хорор приче. Užas. 2024, Juli
Anonim
Image
Image
Dobivanje podataka
Dobivanje podataka

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

Označavanje slika
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

Sastavljanje obučenog modela
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

Implementirajte model
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

Napravite robotsku ruku
Napravite 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

Povezivanje RPI -a i robotske ruke
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

Završni dodiri
Završni dodiri
Završni dodiri
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: