Obsah:

Robot na triedenie odpadu: 15 krokov (s obrázkami)
Robot na triedenie odpadu: 15 krokov (s obrázkami)

Video: Robot na triedenie odpadu: 15 krokov (s obrázkami)

Video: Robot na triedenie odpadu: 15 krokov (s obrázkami)
Video: Страшные истории. Странные правила ТСЖ. Ночью он забрался в наш дом. Ужасы 2024, November
Anonim
Image
Image
Získanie údajov
Získanie údajov

Vedeli ste, že priemerná miera kontaminácie v komunitách a podnikoch sa pohybuje až do 25%? To znamená, že jeden zo každých štyroch kusov recyklácie, ktoré vyhodíte, sa nerecykluje. Je to spôsobené ľudskou chybou v recyklačných strediskách. Pracovníci tradične triedia odpadky do rôznych košov v závislosti od materiálu. Ľudia sú povinní robiť chyby a skončiť tak, že nebudú správne triediť odpadky, čo povedie ku kontaminácii. Keďže znečistenie a zmena klímy sú v dnešnej spoločnosti ešte dôležitejšie, recyklácia zohráva obrovskú úlohu pri ochrane našej planéty. Použitím robotov na triedenie odpadu sa miera kontaminácie drasticky zníži, nehovoriac o oveľa lacnejších a udržateľnejších. Aby som to vyriešil, vytvoril som robot na triedenie odpadu, ktorý pomocou strojového učenia triedi medzi rôznymi recyklovanými materiálmi.

Krok 1: Diely

Spolu s týmto tutoriálom sa uistite, že máte k dispozícii nasledujúce časti:

3D tlačené diely (pozri krok nižšie)

Raspberry Pi RPI 4 4 GB

Google Coral USB Accelerator

Arduino Uno R3

Modul kamery Raspberry Pi V2

Napájanie na stenu 5V 2A DC

Napájanie DC 12V

Micro servo SG90 9g, 4 kusy.

Samojistná nylonová šesťhranná poistná matica M3 x 0,5 mm z nerezovej ocele 100 ks.

Skrutky s titánovou hlavou M3x20 s titánovou hlavou, 10 kusov.

Analógový servomotor MG996R s kovovým prevodom a krútiacim momentom, 4 kusy.

Samsung 32 GB pamäťová karta Select

Flex kábel Adafruit pre kameru Raspberry Pi - 1 meter

Súprava sortimentu skrutiek s oddelenými maticami a dištančnými skrutkami M2

60 mm 12V ventilátor

Krabica projektu 6,69 palcov x 5,12 palcov x 2,95 palcov

Krok 2: 3D tlačené diely

Budete musieť 3D tlačiť všetky diely robotického ramena. Všetky súbory nájdete tu.

Krok 3: Kód

Klonujte moje úložisko GitHub a postupujte podľa tohto tutoriálu.

Krok 4: Získanie údajov

Na trénovanie modelu detekcie objektov, ktorý dokáže detekovať a rozpoznať rôzne recyklačné materiály, som použil súbor údajov koša, ktorý obsahuje 2527 obrázkov:

  • Sklo 501
  • Papier 594
  • 403 kartón
  • 482 plast
  • 410 kov
  • 137 odpadkov

Vyššie uvedený obrázok je príkladom obrázkov z množiny údajov.

Tento súbor údajov je veľmi malý na trénovanie modelu detekcie objektov. Existuje iba asi 100 obrázkov koša, ktoré sú príliš málo na to, aby sa vycvičil presný model, a preto som sa rozhodol to vynechať.

Tento priečinok na Disku Google môžete použiť na stiahnutie súboru údajov. Nezabudnite si stiahnuť súbor dataset-resized.zip. Obsahuje sadu obrázkov, ktorých veľkosť je už zmenená na menšiu veľkosť, aby bolo umožnené rýchlejšie školenie. Ak by ste chceli zmeniť veľkosť nespracovaných obrázkov podľa vlastného vkusu, pokojne si stiahnite súbor dataset-original.zip.

Krok 5: Označenie obrázkov

Označovanie obrázkov
Označovanie obrázkov

Ďalej musíme označiť niekoľko obrázkov rôznych recyklačných materiálov, aby sme mohli trénovať model detekcie objektov. Na to som použil labelImg, bezplatný softvér, ktorý vám umožňuje na obrázkoch označovať rámčeky ohraničujúce objekty.

Každý obrázok označte správnym štítkom. Tento tutoriál vám ukáže ako. Uistite sa, že každé ohraničovacie pole je čo najbližšie k okraju každého objektu, aby bol detekčný model čo najpresnejší. Uložte všetky súbory.xml do priečinka.

Vyššie uvedená fotografia ukazuje, ako označiť obrázky.

Je to veľmi únavný a otupujúci zážitok. Našťastie pre vás som už všetky obrázky označil! Nájdete ho tu.

Krok 6: Školenie

Čo sa týka školení, rozhodol som sa využiť transferové učenie pomocou Tensorflow. To nám umožňuje trénovať slušne presný model bez veľkého množstva údajov.

Môžeme to urobiť niekoľkými spôsobmi. Môžeme to urobiť na našom lokálnom stolnom počítači v cloude. Školenie na našom miestnom počítači bude trvať veľmi dlho v závislosti od toho, aký výkonný je váš počítač a či máte výkonný grafický procesor. Toto je podľa mňa asi najľahší spôsob, ale opäť s poklesom rýchlosti.

O prenosovom vzdelávaní je potrebné poznamenať niekoľko kľúčových vecí. Musíte sa uistiť, že vopred vyškolený model, ktorý používate na školenie, je kompatibilný s procesorom Coral Edge TPU. Kompatibilné modely nájdete tu. Použil som model MobileNet SSD v2 (COCO). Nebojte sa experimentovať aj s ostatnými.

Ak chcete trénovať na svojom lokálnom počítači, odporučil by som postupovať podľa pokynov spoločnosti Google alebo návodu pre program EdjeElectronics, ak beží na systéme Windows 10. Osobne som testoval návod pre program EdjeElectroncs a dosiahol som úspech na pracovnej ploche. Nemôžem potvrdiť, či bude návod od Googlu fungovať, ale bol by som prekvapený, ak nie.

Na tréning v cloude môžete použiť AWS alebo GCP. Našiel som tento návod, ktorý môžete vyskúšať. Využíva cloudové TPU od spoločnosti Google, ktoré dokáže super rýchlo natrénovať váš model detekcie objektov. Neváhajte použiť aj AWS.

Bez ohľadu na to, či trénujete na miestnom počítači alebo v cloude, mali by ste skončiť s natrénovaným modelom tensorflow.

Krok 7: Zostavenie trénovaného modelu

Zostavenie trénovaného modelu
Zostavenie trénovaného modelu

Aby váš trénovaný model fungoval s Coral Edge TPU, musíte ho skompilovať.

Hore je diagram pracovného postupu.

Po tréningu ho musíte uložiť ako zmrazený graf (súbor.pb). Potom ho musíte previesť na model Tensorflow Lite. Všimnite si, ako sa hovorí „Kvantizácia po tréningu“. Ak ste pri prenosovom učení používali kompatibilné vopred vyškolené modely, nemusíte to robiť. Pozrite sa na úplnú dokumentáciu o kompatibilite tu.

Pri modeli Tensorflow Lite ho musíte skompilovať s modelom Edge TPU. Podrobnosti o tom, ako to urobiť, nájdete tu.

Krok 8: Recyklačný model detekcie

Ak nechcete absolvovať školenia, prevádzanie a zostavovanie modelu detekcie objektov, pozrite sa na môj model detekcie recyklácie tu.

Krok 9: Nasadenie modelu

Nasadiť model
Nasadiť model

Ďalším krokom je nastavenie Raspberry Pi (RPI) a Edge TPU na spustenie modelu trénovanej detekcie objektov.

Najprv pomocou tohto tutoriálu nastavte RPI.

Ďalej nastavte Edge TPU podľa tohto tutoriálu.

Nakoniec k malinovému pi pripojte modul kamery RPI.

Teraz ste pripravení otestovať svoj model detekcie objektov!

Ak ste už klonovali moje úložisko, budete chcieť prejsť do adresára RPI a spustiť súbor 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

Malo by vyskočiť malé okno a ak dáte plastovú fľašu s vodou alebo iný recyklovaný materiál, malo by to zistiť ako na obrázku vyššie.

Program ukončíte stlačením písmena „q“na klávesnici.

Krok 10: Postavte si robotickú ruku

Postavte si robotickú ruku
Postavte si robotickú ruku

Robotické rameno je rameno s 3D tlačou, ktoré som našiel tu. Pri nastavovaní postupujte podľa pokynov.

Obrázok vyššie ukazuje, ako moja robotická ruka dopadla.

Uistite sa, že ste pripojili servopiny k vstupným/výstupným kolíkom Arduino v mojom kóde. Pripojte serva zdola k hornej časti ramena v tomto poradí: 3, 11, 10, 9, 6, 5. Ak ho nezapojíte v tomto poradí, rameno posunie nesprávne servo!

Vyskúšajte, či to funguje, prejdite do adresára Arduino a spustite súbor basicMovement.ino. Jednoducho uchopíte predmet, ktorý mu položíte pred ruku a odhodíte ho za seba.

Krok 11: Pripojenie RPI a robotického ramena

Pripojenie RPI a robotického ramena
Pripojenie RPI a robotického ramena

Najprv musíme namontovať modul kamery na spodok pazúry. Obrázok vyššie ukazuje, ako by to malo vyzerať.

Pokúste sa fotoaparát zarovnať čo najrovnejšie, aby ste minimalizovali chyby pri uchopení rozpoznaného recyklovaného materiálu. Budete musieť použiť plochý kábel modulu kamery, ako je vidieť v zozname materiálov.

Ďalej musíte nahrať súbor roboticArm.ino na dosku Arduino.

Nakoniec musíme len pripojiť kábel USB medzi port USB RPI a port USB Arduino. To im umožní komunikovať prostredníctvom sériovej linky. Nasledujte tento návod, ako to nastaviť.

Krok 12: Konečné dotyky

Záverečné dotyky
Záverečné dotyky
Záverečné dotyky
Záverečné dotyky

Tento krok je úplne voliteľný, ale rád by som vložil všetky svoje súčasti do pekného malého boxu projektu.

Obrázky vyššie ukazujú, ako to vyzerá.

Rámček projektu nájdete v zozname materiálov. Práve som vyvŕtal niekoľko otvorov a na montáž elektroniky som použil mosadzné podpery. Namontoval som tiež 4 chladiace ventilátory, aby v horúcom stave udržiaval konštantný prúd vzduchu cez RPI a TPU.

Krok 13: Beh

Teraz ste pripravení zapnúť robotické rameno aj RPI! Na RPI môžete jednoducho spustiť súbor recycle_detection.py. Otvorí sa okno a robotické rameno začne bežať rovnako ako v demo videu! Program ukončíte stlačením písmena „q“na klávesnici.

Neváhajte sa hrať s kódom a bavte sa!

Krok 14: Budúca práca

Dúfam, že použijem R. O. S. na ovládanie robotického ramena presnejšími pohybmi. To umožní presnejšie vyberanie predmetov.

Krok 15: Otázky?

V prípade akýchkoľvek otázok neváhajte zanechať komentár nižšie!

Odporúča: