Obsah:

Recyklační třídicí robot: 15 kroků (s obrázky)
Recyklační třídicí robot: 15 kroků (s obrázky)

Video: Recyklační třídicí robot: 15 kroků (s obrázky)

Video: Recyklační třídicí robot: 15 kroků (s obrázky)
Video: Třídí jako blesk. Extrémně rychlý FANUC M-1iA/0.5SL 2024, Červenec
Anonim
Image
Image
Získání dat
Získání dat

Věděli jste, že průměrná míra kontaminace v komunitách a podnicích se pohybuje až do 25%? To znamená, že jeden ze čtyř kusů recyklace, které vyhodíte, nebude recyklován. To je způsobeno lidskou chybou v recyklačních centrech. Pracovníci tradičně třídí odpadky do různých popelnic v závislosti na materiálu. Lidé jsou povinni dělat chyby a nakonec nebudou třídit odpadky, což vede ke kontaminaci. Jelikož se znečištění a změna klimatu v dnešní společnosti stávají ještě významnějšími, recyklace hraje velkou roli při ochraně naší planety. Použitím robotů k třídění odpadu se míra kontaminace drasticky sníží, nemluvě o mnohem levnějších a udržitelnějších. Abych to vyřešil, vytvořil jsem robot na třídění odpadu, který pomocí strojového učení třídí různé recyklované materiály.

Krok 1: Díly

Spolu s tímto tutoriálem se ujistěte, že máte k dispozici následující části:

3D tištěné díly (viz krok níže)

Raspberry Pi RPI 4 4GB

Google Coral USB Accelerator

Arduino Uno R3

Modul kamery Raspberry Pi V2

5V 2A DC napájecí zdroj

Napájení DC 12V

Micro servo SG90 9g 4ks.

Nylonová šestihranná pojistná matice z nerezové oceli M3 x 0,5 mm 100 ks.

Titanové šrouby s hlavou M3x20 10 ks.

Analogový servomotor MG996R s kovovým točivým momentem a analogovým servomotorem.

Samsung 32GB Vyberte paměťovou kartu

Flex kabel Adafruit pro kameru Raspberry Pi - 1 metr

Sada M2 Samec Mosazný Distanční Distanční Distanční Šroub Sada Matice Sada

60mm 12V ventilátor

Box projektu 6,69 palců x 5,12 palců x 2,95 palců

Krok 2: 3D tištěné díly

Budete muset vytisknout 3D díly pro robotickou ruku. Všechny soubory najdete zde.

Krok 3: Kód

Klonujte prosím mé úložiště GitHub a postupujte podle tohoto tutoriálu.

Krok 4: Získání dat

K trénování modelu detekce objektů, který dokáže detekovat a rozpoznávat různé recyklační materiály, jsem použil datový soubor koše, který obsahuje 2527 obrázků:

  • 501 skla
  • 594 papír
  • 403 lepenka
  • 482 plast
  • 410 kov
  • 137 odpadků

Výše uvedený obrázek je příkladem jednoho z obrázků z datové sady.

Tato datová sada je velmi malá na trénování modelu detekce objektů. Existuje pouze asi 100 obrázků odpadků, které jsou příliš málo na to, aby se vycvičil přesný model, a proto jsem se rozhodl to vynechat.

Tuto složku na Disku Google můžete použít ke stažení datové sady. Nezapomeňte si stáhnout soubor dataset-resized.zip. Obsahuje sadu obrázků, u kterých již byla změněna velikost na menší velikost, což umožňuje rychlejší trénink. Pokud chcete změnit velikost nezpracovaných obrázků podle svých představ, můžete si stáhnout soubor dataset-original.zip.

Krok 5: Označení obrázků

Označování obrázků
Označování obrázků

Dále musíme označit několik obrázků různých recyklačních materiálů, abychom mohli trénovat model detekce objektů. K tomu jsem použil labelImg, bezplatný software, který vám umožňuje na obrázcích označovat rámečky ohraničující objekty.

Každý obrázek označte příslušným štítkem. Tento tutoriál vám ukáže jak. Ujistěte se, že je každé ohraničovací pole co nejblíže okraji každého objektu, aby byl detekční model co nejpřesnější. Uložte všechny soubory.xml do složky.

Výše uvedená fotografie ukazuje, jak označit obrázky.

Je to velmi únavný a otupující zážitek. Naštěstí pro vás jsem již všechny obrázky označil! Najdete ho zde.

Krok 6: Školení

Pokud jde o školení, rozhodl jsem se využít přenosové učení pomocí Tensorflow. To nám umožňuje trénovat slušně přesný model bez velkého množství dat.

Můžeme to udělat několika způsoby. Můžeme to udělat na našem místním stolním počítači v cloudu. Školení na našem místním počítači bude trvat velmi dlouho v závislosti na tom, jak výkonný je váš počítač, a pokud máte výkonný GPU. To je podle mě asi nejsnazší způsob, ale opět se stinnou stránkou rychlosti.

O přenosu učení je třeba poznamenat několik klíčových věcí. Musíte se ujistit, že předem natrénovaný model, který používáte pro školení, je kompatibilní s TPU Coral Edge. Kompatibilní modely najdete zde. Použil jsem model MobileNet SSD v2 (COCO). Nebojte se experimentovat také s ostatními.

Chcete -li trénovat na místním počítači, doporučuji sledovat výukový program společnosti Google nebo výukový program EdjeElectronics, pokud běží na systému Windows 10. Osobně jsem testoval výukový program EdjeElectroncs a na svém počítači jsem dosáhl úspěchu. Nemohu potvrdit, zda bude návod Google fungovat, ale byl bych překvapen, kdyby ne.

Chcete -li trénovat v cloudu, můžete použít AWS nebo GCP. Našel jsem tento návod, který můžete vyzkoušet. Využívá cloudové TPU od Googlu, které dokáže super rychle vycvičit váš model detekce objektů. Neváhejte také použít AWS.

Ať už trénujete na místním počítači nebo v cloudu, měli byste skončit s natrénovaným modelem tensorflow.

Krok 7: Kompilace trénovaného modelu

Kompilace trénovaného modelu
Kompilace trénovaného modelu

Aby váš trénovaný model fungoval s Coral Edge TPU, musíte jej zkompilovat.

Nahoře je diagram pracovního postupu.

Po tréninku jej musíte uložit jako zmrazený graf (soubor.pb). Poté jej musíte převést na model Tensorflow Lite. Všimněte si, jak se říká „Kvantizace po tréninku“. Pokud jste při používání přenosového učení používali kompatibilní předem vycvičené modely, nemusíte to dělat. Podívejte se na úplnou dokumentaci o kompatibilitě zde.

U modelu Tensorflow Lite jej musíte zkompilovat do modelu Edge TPU. Podrobnosti o tom, jak to provést, najdete zde.

Krok 8: Model detekce recyklace

Pokud se nechcete trápit s tréninkem, převáděním a kompilací modelu detekce objektů, podívejte se zde na můj model detekce recyklace.

Krok 9: Nasazení modelu

Nasazení modelu
Nasazení modelu

Dalším krokem je nastavení Raspberry Pi (RPI) a Edge TPU pro spuštění trénovaného modelu detekce objektů.

Nejprve pomocí tohoto tutoriálu nastavte RPI.

Dále nastavte Edge TPU podle tohoto tutoriálu.

Nakonec připojte modul RPI kamery k Raspberry Pi.

Nyní jste připraveni otestovat model detekce objektů!

Pokud jste již klonovali moje úložiště, budete chtít přejít do adresáře RPI a spustit soubor 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

Mělo by vyskočit malé okno a pokud dáte plastovou láhev s vodou nebo jiný recyklovaný materiál, mělo by to detekovat jako na obrázku výše.

Program ukončíte stisknutím písmene „q“na klávesnici.

Krok 10: Postavte si robotickou ruku

Postavte si robotickou ruku
Postavte si robotickou ruku

Robotické rameno je 3D tištěné rameno, které jsem našel zde. Postupujte podle pokynů k jeho nastavení.

Obrázek výše ukazuje, jak moje robotická ruka dopadla.

Ujistěte se, že připojíte servo piny k I/O pinům Arduino v mém kódu. Připojte serva zespodu k horní části ramene v tomto pořadí: 3, 11, 10, 9, 6, 5. Nepřipojení v tomto pořadí způsobí, že rameno přesune nesprávné servo!

Vyzkoušejte, zda funguje, tak, že přejdete do adresáře Arduino a spustíte soubor basicMovement.ino. Jednoduše uchopíte předmět, který položíte před paži, a odhodíte jej za sebou.

Krok 11: Připojení RPI a robotické paže

Propojení RPI a robotické paže
Propojení RPI a robotické paže

Nejprve musíme namontovat modul kamery na spodní část drápu. Obrázek výše ukazuje, jak by to mělo vypadat.

Pokuste se fotoaparát zarovnat co nejrovněji, abyste minimalizovali chyby při uchopení rozpoznaného recyklovaného materiálu. Budete muset použít dlouhý plochý kabel modulu kamery, jak je vidět v seznamu materiálů.

Dále musíte nahrát soubor roboticArm.ino na desku Arduino.

Nakonec musíme jen připojit USB kabel mezi USB port RPI a USB port Arduina. To jim umožní komunikovat přes sériové číslo. Postupujte podle tohoto tutoriálu, jak to nastavit.

Krok 12: Poslední dotyky

Poslední dotyky
Poslední dotyky
Poslední dotyky
Poslední dotyky

Tento krok je zcela volitelný, ale rád bych všechny své komponenty vložil do pěkného malého rámečku projektu.

Obrázky výše ukazují, jak to vypadá.

Rámeček projektu najdete v seznamu materiálů. Právě jsem vyvrtal několik otvorů a pomocí mosazných podpěr namontoval elektroniku. Také jsem namontoval 4 chladicí ventilátory, které udržují konstantní proudění vzduchu přes RPI a TPU, když jsou horké.

Krok 13: Běh

Nyní jste připraveni zapnout jak robotickou ruku, tak RPI! Na RPI můžete jednoduše spustit soubor recycle_detection.py. Tím se otevře okno a robotické rameno začne běžet stejně jako v demo videu! Program ukončíte stisknutím písmene „q“na klávesnici.

Nebojte se hrát s kódem a bavte se!

Krok 14: Budoucí práce

Doufám, že použiji R. O. S. k ovládání robotické paže přesnějšími pohyby. To umožní přesnější vyzvednutí předmětů.

Krok 15: Otázky?

Pokud máte nějaké dotazy, neváhejte zanechat komentář níže!

Doporučuje: