Sommario:

Riciclare il robot di smistamento: 15 passaggi (con immagini)
Riciclare il robot di smistamento: 15 passaggi (con immagini)

Video: Riciclare il robot di smistamento: 15 passaggi (con immagini)

Video: Riciclare il robot di smistamento: 15 passaggi (con immagini)
Video: Come si RICICLA la PLASTICA? Tutti i SEGRETI di una INDUSTRIA (molto) SPECIALE 2024, Dicembre
Anonim
Image
Image
Ottenere i dati
Ottenere i dati

Sapevi che il tasso medio di contaminazione nelle comunità e nelle imprese arriva fino al 25%? Ciò significa che uno su quattro pezzi di riciclaggio che butti via non viene riciclato. Ciò è dovuto a un errore umano nei centri di riciclaggio. Tradizionalmente, i lavoratori smisteranno i rifiuti in contenitori diversi a seconda del materiale. Gli esseri umani sono destinati a commettere errori e finiscono per non smistare correttamente la spazzatura, portando alla contaminazione. Poiché l'inquinamento e il cambiamento climatico diventano ancora più significativi nella società odierna, il riciclaggio svolge un ruolo enorme nella protezione del nostro pianeta. Usando i robot per smistare i rifiuti, i tassi di contaminazione diminuiranno drasticamente, per non parlare di molto più economici e sostenibili. Per risolvere questo problema, ho creato un robot di smistamento di riciclo che utilizza l'apprendimento automatico per smistare i diversi materiali di riciclo.

Passaggio 1: parti

Assicurati di avere le seguenti parti da seguire insieme a questo tutorial:

Parti stampate in 3D (vedi il passaggio sotto)

Raspberry Pi RPI 4 4GB

Acceleratore USB Google Coral

Arduino Uno R3

Modulo fotocamera Raspberry Pi V2

Alimentatore da parete CC 5V 2A

Alimentatore CC 12V

SG90 9g Micro Servi 4pz.

Dado autobloccante in nylon autobloccante M3 x 0,5 mm 100 pz.

Viti Titanio Testa Bottone M3x20 10pz.

Servomotore analogico con coppia di ingranaggi in metallo MG996R 4 pezzi.

Samsung 32 GB Seleziona scheda di memoria

Cavo flessibile Adafruit per fotocamera Raspberry Pi - 1 metro

Kit assortimento di dadi per distanziatori distanziatori in ottone maschio femmina M2

Ventola da 60 mm 12V

Scatola progetto 6,69 "x 5,12" x 2,95"

Passaggio 2: parti stampate in 3D

Dovrai stampare in 3D tutte le parti per il braccio robotico. Puoi trovare tutti i file qui.

Passaggio 3: codice

Si prega di clonare il mio repository GitHub per seguire questo tutorial.

Passaggio 4: ottenere i dati

Per addestrare il modello di rilevamento degli oggetti in grado di rilevare e riconoscere diversi materiali di riciclaggio, ho utilizzato il set di dati della rete che include 2527 immagini:

  • 501 bicchiere
  • 594 carta
  • 403 cartone
  • 482 plastica
  • 410 metallo
  • 137 spazzatura

L'immagine sopra è un esempio di una delle immagini dal set di dati.

Questo set di dati è molto piccolo per addestrare un modello di rilevamento di oggetti. Ci sono solo circa 100 immagini di spazzatura che sono troppo poche per addestrare un modello accurato, quindi ho deciso di lasciarle fuori.

Puoi utilizzare questa cartella di Google Drive per scaricare il set di dati. Assicurati di scaricare il file dataset-resized.zip. Contiene l'insieme di immagini che sono già ridimensionate a una dimensione più piccola per consentire un allenamento più rapido. Se desideri ridimensionare le immagini grezze a tuo piacimento, non esitare a scaricare il file dataset-original.zip.

Passaggio 5: etichettare le immagini

Etichettare le immagini
Etichettare le immagini

Successivamente, dobbiamo etichettare diverse immagini di diversi materiali di riciclaggio in modo da poter addestrare il modello di rilevamento degli oggetti. Per fare ciò, ho utilizzato labelImg, un software gratuito che consente di etichettare i riquadri di delimitazione degli oggetti nelle immagini.

Etichetta ogni immagine con l'etichetta appropriata. Questo tutorial ti mostra come. Assicurati di rendere ogni riquadro di delimitazione il più vicino possibile al bordo di ciascun oggetto per garantire che il modello di rilevamento sia il più accurato possibile. Salva tutti i file.xml in una cartella.

La foto sopra mostra come etichettare le tue immagini.

Questa è un'esperienza molto noiosa e noiosa. Per fortuna per te, ho già etichettato tutte le immagini per te! Potete trovare qui.

Passaggio 6: formazione

In termini di formazione, ho deciso di utilizzare l'apprendimento per trasferimento utilizzando Tensorflow. Questo ci consente di addestrare un modello decentemente accurato senza una grande quantità di dati.

Ci sono un paio di modi in cui possiamo farlo. Possiamo farlo sul nostro computer desktop locale sul cloud. L'addestramento sulla nostra macchina locale richiederà molto tempo a seconda di quanto sia potente il tuo computer e se disponi di una potente GPU. Questo è probabilmente il modo più semplice secondo me, ma ancora una volta con il lato negativo della velocità.

Ci sono alcune cose fondamentali da notare sul trasferimento dell'apprendimento. Devi assicurarti che il modello pre-addestrato che utilizzi per l'allenamento sia compatibile con Coral Edge TPU. Puoi trovare i modelli compatibili qui. Ho usato il modello MobileNet SSD v2 (COCO). Sentiti libero di sperimentare anche con gli altri.

Per allenarti sul tuo computer locale, consiglierei di seguire il tutorial di Google o il tutorial di EdjeElectronics se eseguito su Windows 10. Personalmente, ho testato il tutorial di EdjeElectronics e ho raggiunto il successo sul mio desktop. Non posso confermare se il tutorial di Google funzionerà, ma sarei sorpreso se non funzionasse.

Per allenarti nel cloud, puoi utilizzare AWS o GCP. Ho trovato questo tutorial che puoi provare. Utilizza le TPU cloud di Google che possono addestrare il tuo modello di rilevamento degli oggetti in modo super veloce. Sentiti libero di usare anche AWS.

Sia che ti alleni sul tuo computer locale o nel cloud, dovresti ottenere un modello tensorflow addestrato.

Passaggio 7: compilazione del modello addestrato

Compilazione del modello addestrato
Compilazione del modello addestrato

Affinché il modello addestrato funzioni con Coral Edge TPU, è necessario compilarlo.

Sopra c'è un diagramma per il flusso di lavoro.

Dopo l'addestramento, è necessario salvarlo come grafico congelato (file.pb). Quindi, è necessario convertirlo in un modello Tensorflow Lite. Nota come dice "Quantizzazione post-allenamento". Se hai utilizzato i modelli pre-addestrati compatibili quando utilizzi l'apprendimento per trasferimento, non è necessario farlo. Dai un'occhiata alla documentazione completa sulla compatibilità qui.

Con il modello Tensorflow Lite, è necessario compilarlo in un modello Edge TPU. Vedi i dettagli su come farlo qui.

Passaggio 8: modello di rilevamento del riciclaggio

Se non vuoi superare la seccatura di addestrare, convertire e compilare il modello di rilevamento degli oggetti, dai un'occhiata al mio modello di rilevamento del riciclo qui.

Passaggio 9: distribuire il modello

Distribuisci il modello
Distribuisci il modello

Il passaggio successivo consiste nell'impostare Raspberry Pi (RPI) e Edge TPU per eseguire il modello di rilevamento degli oggetti addestrato.

Innanzitutto, imposta l'RPI utilizzando questo tutorial.

Quindi, configura Edge TPU seguendo questo tutorial.

Infine, collega il modulo della fotocamera RPI al Raspberry Pi.

Ora sei pronto per testare il tuo modello di rilevamento degli oggetti!

Se hai già clonato il mio repository, ti consigliamo di accedere alla directory RPI ed eseguire il file 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/labels.txt

Dovrebbe apparire una piccola finestra e se metti una bottiglia d'acqua di plastica o altro materiale di riciclo, dovrebbe rilevarlo come nell'immagine sopra.

Premi la lettera "q" sulla tastiera per terminare il programma.

Passaggio 10: costruire il braccio robotico

Costruisci il braccio robotico
Costruisci il braccio robotico

Il braccio robotico è un braccio stampato in 3D che ho trovato qui. Basta seguire il tutorial su come configurarlo.

L'immagine sopra mostra come è venuto fuori il mio braccio robotico.

Assicurati di collegare i pin del servo ai pin I/O di Arduino nel mio codice. Collega i servi dal basso verso l'alto del braccio in questo ordine: 3, 11, 10, 9, 6, 5. Se non lo colleghi in questo ordine, il braccio sposterà il servo sbagliato!

Prova a vederlo funzionare navigando nella directory Arduino ed eseguendo il file basicMovement.ino. Questo afferrerà semplicemente un oggetto che metti davanti al braccio e lo lascerà cadere dietro.

Passaggio 11: collegamento dell'RPI e del braccio robotico

Collegamento dell'RPI e del braccio robotico
Collegamento dell'RPI e del braccio robotico

Per prima cosa dobbiamo montare il modulo della fotocamera nella parte inferiore dell'artiglio. L'immagine sopra mostra come dovrebbe apparire.

Cerca di allineare la fotocamera il più dritta possibile per ridurre al minimo gli errori nell'acquisizione del materiale di riciclo riconosciuto. Sarà necessario utilizzare il cavo a nastro lungo del modulo della fotocamera come mostrato nell'elenco dei materiali.

Successivamente, è necessario caricare il file roboticArm.ino sulla scheda Arduino.

Infine, non ci resta che collegare un cavo USB tra la porta USB di RPI e la porta USB di Arduino. Questo permetterà loro di comunicare via seriale. Segui questo tutorial su come configurarlo.

Passaggio 12: ritocchi finali

Tocchi finali
Tocchi finali
Tocchi finali
Tocchi finali

Questo passaggio è completamente facoltativo ma mi piace mettere tutti i miei componenti in una bella scatola di progetto.

Le immagini sopra mostrano come appare.

Puoi trovare la casella del progetto nell'elenco dei materiali. Ho appena praticato dei fori e ho usato dei distanziatori in ottone per montare l'elettronica. Ho anche montato 4 ventole di raffreddamento per mantenere un flusso d'aria costante attraverso l'RPI e il TPU quando è caldo.

Passaggio 13: corsa

Ora sei pronto per accendere sia il braccio robotico che l'RPI! Sull'RPI, puoi semplicemente eseguire il file recycle_detection.py. Si aprirà una finestra e il braccio robotico inizierà a funzionare proprio come nel video dimostrativo! Premi la lettera "q" sulla tastiera per terminare il programma.

Sentiti libero di giocare con il codice e divertiti!

Passaggio 14: lavoro futuro

Spero di usare R. O. S. per controllare il braccio robotico con movimenti più precisi. Ciò consentirà una raccolta più accurata degli oggetti.

Passaggio 15: domande?

Sentiti libero di lasciare un commento qui sotto se hai domande!

Consigliato: