Obsah:
- Krok 1: Díly
- Krok 2: 3D tištěné díly
- Krok 3: Kód
- Krok 4: Získání dat
- Krok 5: Označení obrázků
- Krok 6: Školení
- Krok 7: Kompilace trénovaného modelu
- Krok 8: Model detekce recyklace
- Krok 9: Nasazení modelu
- Krok 10: Postavte si robotickou ruku
- Krok 11: Připojení RPI a robotické paže
- Krok 12: Poslední dotyky
- Krok 13: Běh
- Krok 14: Budoucí práce
- Krok 15: Otázky?
Video: Recyklační třídicí robot: 15 kroků (s obrázky)
2024 Autor: John Day | [email protected]. Naposledy změněno: 2024-01-30 08:20
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ů
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
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
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
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
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
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:
Arduino - Robot pro řešení bludiště (MicroMouse) Robot po zdi: 6 kroků (s obrázky)
Arduino | Maze Solving Robot (MicroMouse) Wall Následující robot: Vítejte, jsem Isaac a toto je můj první robot „Striker v1.0“. Tento robot byl navržen tak, aby vyřešil jednoduché bludiště. V soutěži jsme měli dvě bludiště a robot dokázal je identifikovat. Jakékoli další změny v bludišti mohou vyžadovat změnu v
Třídící klobouk: 3 kroky
Třídící klobouk: Když se blížíme k ročnímu období, kdy se oblékáme do různých kostýmů, jeden rok se naši zaměstnanci školy rozhodli mít témata podle oddělení. Harry Potter byl oblíbenou volbou, a když jsem se opravdu dostával do svého řemesla háčkování panenek Amigurumi a
Jak se staví robot SMARS - Arduino Smart Robot Tank Bluetooth: 16 kroků (s obrázky)
Jak stavět robot SMARS - Inteligentní robotický tank Arduino Bluetooth: Tento článek je hrdě sponzorován společností PCBWAY. PCBWAY vyrábí vysoce kvalitní prototypy desek plošných spojů pro lidi z celého světa. Vyzkoušejte to sami a získejte 10 PCB za pouhých 5 $ na PCBWAY ve velmi skvělé kvalitě, díky PCBWAY. Motorový štít pro Arduino Uno
Pracovní třídící klobouk od Harryho Pottera: 8 kroků
Pracovní třídící klobouk od Harryho Pottera: V našem mudlovském světě neexistuje žádný kouzelný klobouk, který by nás třídil do našich domů. Využil jsem tedy této karanténní příležitosti k výrobě třídicího klobouku
PAPER HUNGRY ROBOT - Pringles Recycle Arduino Robot: 19 kroků (s obrázky)
PAPER HUNGRY ROBOT - Pringles Recycle Arduino Robot: Toto je další verze Hungry Robot, kterou jsem postavil v roce 2018. Tento robot můžete vyrobit bez 3D tiskárny. Vše, co musíte udělat, je koupit plechovku Pringles, servomotor, snímač přiblížení, arduino a některé nástroje. Můžete si stáhnout všechny