Taula de continguts:

Recicla el robot d'ordenació: 15 passos (amb imatges)
Recicla el robot d'ordenació: 15 passos (amb imatges)

Vídeo: Recicla el robot d'ordenació: 15 passos (amb imatges)

Vídeo: Recicla el robot d'ordenació: 15 passos (amb imatges)
Vídeo: COMO HACER UN ROBOT DE CARTON ARTICULADO - IDEAS DE MANUALIDADES PARA HACER EN CASA RECICLANDO 2024, Juliol
Anonim
Image
Image
Obtenir les dades
Obtenir les dades

Sabíeu que el percentatge mitjà de contaminació a les comunitats i empreses arriba fins al 25%? Això significa que una de cada quatre peces de reciclatge que llenceu no es recicla. Això es deu a un error humà als centres de reciclatge. Tradicionalment, els treballadors classifiquen les escombraries en diferents contenidors segons el material. Els éssers humans estan obligats a cometre errors i acaben no classificant correctament les escombraries, cosa que provoca la contaminació. A mesura que la contaminació i el canvi climàtic esdevenen encara més importants a la societat actual, el reciclatge té una part important en la protecció del nostre planeta. En utilitzar robots per ordenar les escombraries, les taxes de contaminació disminuiran dràsticament, per no dir molt més barates i sostenibles. Per solucionar-ho, vaig crear un robot d’ordenació de reciclatge que utilitza l’aprenentatge automàtic per ordenar entre diferents materials de reciclatge.

Pas 1: parts

Assegureu-vos que teniu les següents parts a seguir junt amb aquest tutorial:

Parts impreses en 3D (vegeu el pas següent)

Raspberry Pi RPI 4 4 GB

Accelerador USB de Google Coral

Arduino Uno R3

Mòdul de càmera Raspberry Pi V2

Font d'alimentació de paret de 5V 2A DC

Alimentació DC 12V

SG90 9g Micro Servos 4pcs.

Femella de bloqueig hexagonal de niló autoblocant M3 x 0,5mm d'acer inoxidable 100pcs.

Cargols de titani de capçal de botó M3x20 10 unitats.

Servomotor analògic de parell motor MG996R 4pcs.

Targeta de memòria Samsung 32GB Select

Cable flexible Adafruit per a càmera Raspberry Pi - 1 metre

Assortiment de rosques separadores de cargol separador de llautó femella femella M2

Ventilador de 12 mm de 60 mm

Caixa del projecte de 6,69 "x 5,12" x 2,95"

Pas 2: peces impreses en 3D

Haureu d’imprimir en 3D totes les parts del braç robotitzat. Podeu trobar tots els fitxers aquí.

Pas 3: Codi

Cloneu el dipòsit de GitHub per seguir aquest tutorial.

Pas 4: Obtenir les dades

Per entrenar el model de detecció d'objectes que pugui detectar i reconèixer diferents materials de reciclatge, he utilitzat el conjunt de dades de la paperera que inclou 2527 imatges:

  • 501 got
  • 594 paper
  • 403 cartró
  • 482 plàstic
  • 410 metall
  • 137 escombraries

La imatge superior és un exemple d'una de les imatges del conjunt de dades.

Aquest conjunt de dades és molt petit per formar un model de detecció d'objectes. Només hi ha unes 100 imatges d’escombraries massa petites per formar un model precís, així que vaig decidir deixar-ho de banda.

Podeu utilitzar aquesta carpeta de Google Drive per baixar el conjunt de dades. Assegureu-vos de descarregar el fitxer dataset-resized.zip. Conté el conjunt d'imatges que ja es redimensionen a una mida més petita per permetre un entrenament més ràpid. Si voleu canviar la mida de les imatges en brut al vostre gust, descarregueu el fitxer dataset-original.zip.

Pas 5: etiquetar les imatges

Etiquetatge de les imatges
Etiquetatge de les imatges

A continuació, hem d’etiquetar diverses imatges de diferents materials de reciclatge per poder entrenar el model de detecció d’objectes. Per fer-ho, he utilitzat labelImg, un programari gratuït que us permet etiquetar quadres que delimiten objectes en imatges.

Etiqueta cada imatge amb l'etiqueta adequada. Aquest tutorial us mostra com fer-ho. Assegureu-vos que cada quadre de delimitació sigui el més a prop del límit de cada objecte per assegurar-vos que el model de detecció sigui el més precís possible. Deseu tots els fitxers.xml en una carpeta.

La foto superior mostra com etiquetar les vostres imatges.

Aquesta és una experiència molt tediosa i increïble. Afortunadament per vosaltres, ja us he etiquetat totes les imatges. El podeu trobar aquí.

Pas 6: formació

Pel que fa a la formació, vaig decidir utilitzar l'aprenentatge per transferència mitjançant Tensorflow. Això ens permet formar un model decentment precís sense una gran quantitat de dades.

Hi ha un parell de maneres de fer-ho. Ho podem fer a la nostra màquina d’escriptori local al núvol. L'entrenament a la nostra màquina local trigarà molt de temps en funció de la potència del vostre equip i de la vostra GPU. Aquesta és probablement la forma més senzilla al meu parer, però de nou amb la desavantatge de la velocitat.

Hi ha algunes coses clau a destacar sobre l’aprenentatge per transferència. Heu d’assegurar-vos que el model pre-entrenat que utilitzeu per a la formació sigui compatible amb el TPU Coral Edge. Aquí podeu trobar models compatibles. He utilitzat el model MobileNet SSD v2 (COCO). No dubteu a experimentar amb altres també.

Per entrenar a la vostra màquina local, us recomanaria que seguiu el tutorial de Google o el tutorial EdjeElectronics si s'executa al Windows 10. Personalment, he provat el tutorial EdjeElectroncs i he aconseguit l'èxit al meu escriptori. No puc confirmar si el tutorial de Google funcionarà, però em sorprendria si no ho faci.

Per entrenar al núvol, podeu utilitzar AWS o GCP. He trobat aquest tutorial que podeu provar. Utilitza els núvols TPU de Google que poden entrenar el model de detecció d’objectes de manera ràpida. Feu servir també AWS.

Tant si entreneu a la màquina local com al núvol, hauríeu d’acabar amb un model de tensorflow entrenat.

Pas 7: compilació del model entrenat

Recopilació del model entrenat
Recopilació del model entrenat

Perquè el vostre model entrenat funcioni amb el Coral Edge TPU, heu de compilar-lo.

A la part superior es mostra un diagrama per al flux de treball.

Després de l’entrenament, heu de desar-lo com a gràfic congelat (fitxer.pb). Després, heu de convertir-lo en un model Tensorflow Lite. Tingueu en compte com diu "Quantització post-formació". Si heu utilitzat els models pre-entrenats compatibles quan utilitzeu l'aprenentatge per transferència, no cal que ho feu. Feu un cop d'ull a la documentació completa sobre compatibilitat aquí.

Amb el model Tensorflow Lite, heu de compilar-lo amb un model Edge TPU. Vegeu detalls sobre com fer-ho aquí.

Pas 8: reciclar el model de detecció

Si no voleu superar la molèstia d’entrenar, convertir i compilar el model de detecció d’objectes, consulteu el meu model de detecció de reciclatge aquí.

Pas 9: desplegueu el model

Desplegueu el model
Desplegueu el model

El següent pas és configurar Raspberry Pi (RPI) i Edge TPU per executar el model de detecció d'objectes entrenat.

Primer, configureu el RPI mitjançant aquest tutorial.

A continuació, configureu Edge TPU seguint aquest tutorial.

Finalment, connecteu el mòdul de la càmera RPI al raspberry pi.

Ja esteu a punt per provar el vostre model de detecció d'objectes.

Si ja heu clonat el dipòsit, voldreu anar al directori RPI i executar el fitxer 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

Ha d’aparèixer una finestra petita i, si poseu una ampolla d’aigua de plàstic o un altre material de reciclatge, hauria de detectar-la com la imatge superior.

Premeu la lletra "q" al teclat per finalitzar el programa.

Pas 10: Construeix el braç robòtic

Construeix el braç robòtic
Construeix el braç robòtic

El braç robòtic és un braç imprès en 3D que he trobat aquí. Només heu de seguir el tutorial per configurar-lo.

La imatge superior mostra com va resultar el meu braç robòtic.

Assegureu-vos que connecteu els pins de servo als pins d'E / S Arduino del meu codi. Connecteu els servos de baix a dalt del braç en aquest ordre: 3, 11, 10, 9, 6, 5. Si no el connecteu en aquest ordre, el braç mourà el servo equivocat.

Proveu-lo per funcionar navegant al directori Arduino i executant el fitxer basicMovement.ino. Això simplement agafarà un objecte que col·loqueu davant del braç i el deixareu enrere.

Pas 11: Connexió del RPI i del braç robòtic

Connexió del RPI i del braç robòtic
Connexió del RPI i del braç robòtic

Primer hem de muntar el mòdul de la càmera a la part inferior de l’urpa. La imatge superior mostra com ha de quedar.

Intenteu alinear la càmera el més recta possible per minimitzar els errors en agafar el material de reciclatge reconegut. Haureu d’utilitzar el cable de cinta llarg del mòdul de la càmera tal com es veu a la llista de materials.

A continuació, heu de penjar el fitxer roboticArm.ino a la placa Arduino.

Finalment, només hem de connectar un cable USB entre el port USB de l’RPI i el port USB de l’Arduino. Això els permetrà comunicar-se mitjançant sèries. Seguiu aquest tutorial sobre com configurar-lo.

Pas 12: tocs finals

Tocs finals
Tocs finals
Tocs finals
Tocs finals

Aquest pas és completament opcional, però m'agrada posar tots els meus components en una petita caixa de projectes.

Les imatges anteriors mostren el seu aspecte.

Podeu trobar el quadre del projecte a la llista de materials. Acabo de perforar alguns forats i he utilitzat separadors de llautó per muntar l’electrònica. També he muntat 4 ventiladors de refrigeració per mantenir un flux d'aire constant a través de l'RPI i el TPU quan està calent.

Pas 13: córrer

Ja esteu a punt per encendre tant el braç robotitzat com el RPI. Al RPI, només podeu executar el fitxer recycle_detection.py. Això obrirà una finestra i el braç robòtic començarà a funcionar igual que al vídeo de demostració. Premeu la lletra "q" al teclat per finalitzar el programa.

No dubteu a jugar amb el codi i divertiu-vos!

Pas 14: Treball futur

Espero utilitzar R. O. S. per controlar el braç robòtic amb moviments més precisos. Això permetrà recollir objectes amb més precisió.

Pas 15: preguntes?

Si teniu cap pregunta, no dubteu a deixar un comentari a continuació.

Recomanat: