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: Dva neverovatna trika za vaše kupatilo, za koje još niste znali 😲 Sve blista i miriše! 2024, Studeni
Anonim
Image
Image
Dobivanje podataka
Dobivanje podataka

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

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

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

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

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

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

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 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: