Indholdsfortegnelse:
- Trin 1: Dele
- Trin 2: 3D -printede dele
- Trin 3: Kode
- Trin 4: Hentning af data
- Trin 5: Mærkning af billederne
- Trin 6: Træning
- Trin 7: Kompilering af den uddannede model
- Trin 8: Genbrug detektionsmodel
- Trin 9: Implementér modellen
- Trin 10: Byg robotarmen
- Trin 11: Tilslutning af RPI og robotarm
- Trin 12: Sidste hånd
- Trin 13: Løb
- Trin 14: Fremtidigt arbejde
- Trin 15: Spørgsmål?
![Genbrugssorteringsrobot: 15 trin (med billeder) Genbrugssorteringsrobot: 15 trin (med billeder)](https://i.howwhatproduce.com/images/009/image-24302-j.webp)
Video: Genbrugssorteringsrobot: 15 trin (med billeder)
![Video: Genbrugssorteringsrobot: 15 trin (med billeder) Video: Genbrugssorteringsrobot: 15 trin (med billeder)](https://i.ytimg.com/vi/Il91V75Pcus/hqdefault.jpg)
2024 Forfatter: John Day | [email protected]. Sidst ændret: 2024-01-30 08:26
![Image Image](https://i.howwhatproduce.com/images/009/image-24302-2-j.webp)
![](https://i.ytimg.com/vi/dlkS8SC_BcU/hqdefault.jpg)
![Hent data Hent data](https://i.howwhatproduce.com/images/009/image-24302-3-j.webp)
Vidste du, at den gennemsnitlige forureningsrate i lokalsamfund og virksomheder ligger på op til 25%? Det betyder, at hver fjerde genbrugsstik, du smider, ikke bliver genbrugt. Dette skyldes menneskelige fejl i genbrugscentre. Traditionelt vil arbejdere sortere affald i forskellige skraldespande afhængigt af materialet. Mennesker er forpligtet til at lave fejl og ender med ikke at sortere skraldespanden ordentligt, hvilket fører til forurening. Efterhånden som forurening og klimaændringer bliver endnu mere betydningsfulde i nutidens samfund, tager genbrug en stor rolle i at beskytte vores planet. Ved at bruge robotter til at sortere affald vil forureningshastighederne falde drastisk, for ikke at nævne meget billigere og mere bæredygtig. For at løse dette skabte jeg en genbrugssorteringsrobot, der bruger maskinlæring til at sortere mellem forskellige genbrugsmaterialer.
Trin 1: Dele
Sørg for, at du har følgende dele at følge sammen med denne vejledning:
3D -printede dele (se trin nedenfor)
Raspberry Pi RPI 4 4GB
Google Coral USB Accelerator
Arduino Uno R3
Raspberry Pi kameramodul V2
5V 2A DC vægforsyning
DC 12V strømforsyning
SG90 9g Micro Servoer 4stk.
M3 x 0,5 mm rustfrit stål selvlåsende nylon sekskantlåsemøtrik 100 stk.
M3x20 Knaphoved Titaniumskruer 10stk.
MG996R Metal Gear Torque Analog Servomotor 4stk.
Samsung 32 GB Vælg hukommelseskort
Adafruit Flex kabel til Raspberry Pi kamera - 1 meter
M2 Hane Kvinde Messing Spacer Standoff Skruemøtrik Sortiment Kit
60 mm 12V blæser
6,69 "x 5,12" x 2,95 "projektboks
Trin 2: 3D -printede dele
Du skal 3D -udskrive alle dele til robotarmen. Du kan finde alle filerne her.
Trin 3: Kode
Klon venligst mit GitHub -arkiv for at følge med i denne vejledning.
Trin 4: Hentning af data
For at træne objektgenkendelsesmodellen, der kan registrere og genkende forskellige genbrugsmaterialer, brugte jeg papirkurven til datasæt, som indeholder 2527 billeder:
- 501 glas
- 594 papir
- 403 pap
- 482 plast
- 410 metal
- 137 skraldespand
Billedet ovenfor er et eksempel på et på billederne fra datasættet.
Dette datasæt er meget lille til at træne en objektdetekteringsmodel. Der er kun omkring 100 billeder af skraldespand, der er for lidt til at træne en præcis model, så jeg besluttede at udelade det.
Du kan bruge denne Google Drive -mappe til at downloade datasættet. Sørg for at downloade filen dataset-resized.zip. Det indeholder det sæt billeder, der allerede er ændret til en mindre størrelse for at muliggøre hurtigere træning. Hvis du gerne vil ændre størrelsen på de rå billeder til din egen smag, er du velkommen til at downloade filen dataset-original.zip.
Trin 5: Mærkning af billederne
![Mærkning af billederne Mærkning af billederne](https://i.howwhatproduce.com/images/009/image-24302-4-j.webp)
Dernæst skal vi mærke flere billeder af forskellige genbrugsmaterialer, så vi kan træne objektdetekteringsmodellen. For at gøre dette brugte jeg labelImg, en gratis software, der giver dig mulighed for at mærke objektgrænsekasser i billeder.
Mærk hvert billede med den korrekte etiket. Denne vejledning viser dig hvordan. Sørg for at gøre hver afgrænsningsboks så tæt på grænsen for hvert objekt for at sikre, at detektionsmodellen er så præcis som muligt. Gem alle.xml -filer i en mappe.
Billedet ovenfor viser, hvordan du mærker dine billeder.
Dette er en meget kedelig og åndssvag oplevelse. Heldigvis for dig har jeg allerede mærket alle billederne til dig! Du kan finde den her.
Trin 6: Træning
Med hensyn til træning besluttede jeg at bruge transfer learning ved hjælp af Tensorflow. Dette giver os mulighed for at træne en anstændigt præcis model uden en stor mængde data.
Der er et par måder, vi kan gøre dette på. Vi kan gøre det på vores lokale stationære maskine i skyen. Uddannelse på vores lokale maskine vil tage meget lang tid, afhængigt af hvor kraftfuld din computer er, og hvis du har en kraftfuld GPU. Dette er nok den letteste måde efter min mening, men igen med den negative side af hastigheden.
Der er nogle vigtige ting at bemærke om transfer læring. Du skal sikre dig, at den foruddannede model, du bruger til træning, er kompatibel med Coral Edge TPU. Du kan finde kompatible modeller her. Jeg brugte MobileNet SSD v2 (COCO) modellen. Prøv også gerne med andre.
For at træne på din lokale maskine, vil jeg anbefale at følge Googles tutorial eller EdjeElectronics -tutorial, hvis den kører på Windows 10. Personligt har jeg testet EdjeElectroncs tutorial og nået succes på mit skrivebord. Jeg kan ikke bekræfte, om Googles tutorial vil fungere, men jeg ville blive overrasket, hvis den ikke gør det.
For at træne i skyen kan du bruge AWS eller GCP. Jeg fandt denne vejledning, som du kan prøve. Den bruger Googles sky -TPU'er, der kan træne din objektdetekteringsmodel superhurtigt. Brug også gerne AWS.
Uanset om du træner på din lokale maskine eller i skyen, skal du ende med en uddannet tensorflow -model.
Trin 7: Kompilering af den uddannede model
![Udarbejdelse af den uddannede model Udarbejdelse af den uddannede model](https://i.howwhatproduce.com/images/009/image-24302-5-j.webp)
For at din uddannede model kan fungere med Coral Edge TPU, skal du kompilere den.
Ovenfor er et diagram for arbejdsgangen.
Efter træning skal du gemme den som en frossen graf (.pb -fil). Derefter skal du konvertere det til en Tensorflow Lite -model. Bemærk, hvordan der står "Kvantisering efter træning". Hvis du brugte de kompatible foruddannede modeller, når du brugte transfer-læring, behøver du ikke at gøre dette. Se hele dokumentationen om kompatibilitet her.
Med Tensorflow Lite -modellen skal du kompilere den til en Edge TPU -model. Se detaljer om, hvordan du gør dette her.
Trin 8: Genbrug detektionsmodel
Hvis du ikke vil gå over besværet med at træne, konvertere og kompilere objektdetekteringsmodellen, kan du tjekke min genbrugsmodel her.
Trin 9: Implementér modellen
![Implementér modellen Implementér modellen](https://i.howwhatproduce.com/images/009/image-24302-6-j.webp)
Det næste trin er at konfigurere Raspberry Pi (RPI) og Edge TPU til at køre den uddannede objektdetekteringsmodel.
Konfigurer først RPI'en ved hjælp af denne vejledning.
Konfigurer derefter Edge TPU efter denne vejledning.
Tilslut sluteligt RPI -kameramodulet til hindbærpi.
Du er nu klar til at teste din objektdetekteringsmodel!
Hvis du allerede klonede mit lager, vil du navigere til RPI -biblioteket og køre filen test_detection.py:
python test_detection.py --model recycle_ssd_mobilenet_v2_quantized_300x300_coco_2019_01_03/detect_edgetpu.tflite -etiketter recycle_ssd_mobilenet_v2_quantized_300x300_coco_2019_01_03/labels.t
Et lille vindue skal dukke op, og hvis du lægger en vandflaske af plast eller andet genbrugsmateriale, skal det registrere det som billedet ovenfor.
Tryk på bogstavet "q" på tastaturet for at afslutte programmet.
Trin 10: Byg robotarmen
![Byg robotarmen Byg robotarmen](https://i.howwhatproduce.com/images/009/image-24302-7-j.webp)
Robotarmen er en 3D -printet arm, jeg fandt her. Følg bare vejledningen om opsætning.
Billedet ovenfor viser, hvordan min robotarm viste sig.
Sørg for at slutte servostifterne til i henhold til Arduino I/O -benene i min kode. Tilslut servoerne fra bunden til toppen af armen i denne rækkefølge: 3, 11, 10, 9, 6, 5. Hvis du ikke tilslutter den i denne rækkefølge, får armen til at flytte den forkerte servo!
Test for at se det fungerer ved at navigere til Arduino -biblioteket og køre basicMovement.ino -filen. Dette vil simpelthen gribe et objekt, som du placerer foran armen og taber det bagved.
Trin 11: Tilslutning af RPI og robotarm
![Tilslutning af RPI og robotarm Tilslutning af RPI og robotarm](https://i.howwhatproduce.com/images/009/image-24302-8-j.webp)
Vi skal først montere kameramodulet i bunden af kloen. Billedet ovenfor viser, hvordan det skal se ud.
Prøv at justere kameraet så lige som muligt for at minimere fejl ved at få fat i det genkendte genbrugsmateriale. Du bliver nødt til at bruge det lange kameramodulbåndkabel som vist på materialelisten.
Dernæst skal du uploade roboticArm.ino -filen til Arduino -kortet.
Endelig skal vi bare tilslutte et USB -kabel mellem RPI's USB -port og Arduino's USB -port. Dette giver dem mulighed for at kommunikere via seriel. Følg denne vejledning om, hvordan du konfigurerer dette.
Trin 12: Sidste hånd
![Sidste hånd Sidste hånd](https://i.howwhatproduce.com/images/009/image-24302-9-j.webp)
![Sidste hånd Sidste hånd](https://i.howwhatproduce.com/images/009/image-24302-10-j.webp)
Dette trin er helt valgfrit, men jeg kan godt lide at putte alle mine komponenter i en dejlig lille projektboks.
Billederne ovenfor viser, hvordan det ser ud.
Du kan finde projektboksen på materialelisten. Jeg har lige boret nogle huller og brugt messing -standoffs til at montere elektronikken. Jeg monterede også 4 køleventilatorer for at holde en konstant luftstrøm gennem RPI og TPU, når den er varm.
Trin 13: Løb
Du er nu klar til at tænde for både robotarmen og RPI! På RPI'en kan du simpelthen køre recycle_detection.py -filen. Dette åbner et vindue, og robotarmen begynder at køre ligesom i demo -videoen! Tryk på bogstavet "q" på tastaturet for at afslutte programmet.
Du er velkommen til at lege med koden og have det sjovt!
Trin 14: Fremtidigt arbejde
Jeg håber at bruge R. O. S. at styre robotarmen med mere præcise bevægelser. Dette vil muliggøre en mere præcis opsamling af objekter.
Trin 15: Spørgsmål?
Efterlad en kommentar herunder, hvis du har spørgsmål!
Anbefalede:
Sådan gør du: Installation af Raspberry PI 4 Headless (VNC) med Rpi-imager og billeder: 7 trin (med billeder)
![Sådan gør du: Installation af Raspberry PI 4 Headless (VNC) med Rpi-imager og billeder: 7 trin (med billeder) Sådan gør du: Installation af Raspberry PI 4 Headless (VNC) med Rpi-imager og billeder: 7 trin (med billeder)](https://i.howwhatproduce.com/images/001/image-1574-23-j.webp)
Sådan gør du: Installation af Raspberry PI 4 Headless (VNC) med Rpi-imager og billeder: Jeg planlægger at bruge denne Rapsberry PI i en masse sjove projekter tilbage i min blog. Tjek det gerne ud. Jeg ville tilbage til at bruge min Raspberry PI, men jeg havde ikke et tastatur eller en mus på min nye placering. Det var et stykke tid siden jeg konfigurerede en hindbær
Arduino Halloween Edition - Pop -out -skærm med zombier (trin med billeder): 6 trin
![Arduino Halloween Edition - Pop -out -skærm med zombier (trin med billeder): 6 trin Arduino Halloween Edition - Pop -out -skærm med zombier (trin med billeder): 6 trin](https://i.howwhatproduce.com/images/002/image-5208-7-j.webp)
Arduino Halloween Edition - Zombies Pop -out -skærm (trin med billeder): Vil du skræmme dine venner og lave skrigende støj i Halloween? Eller vil du bare lave en god sjov? Denne pop-out-skærm fra Zombies kan gøre det! I denne Instructable vil jeg lære dig, hvordan du nemt laver jump-out zombier ved hjælp af Arduino. HC-SR0
Sådan adskilles en computer med nemme trin og billeder: 13 trin (med billeder)
![Sådan adskilles en computer med nemme trin og billeder: 13 trin (med billeder) Sådan adskilles en computer med nemme trin og billeder: 13 trin (med billeder)](https://i.howwhatproduce.com/images/006/image-15346-7-j.webp)
Sådan adskilles en computer med nemme trin og billeder: Dette er en instruktion om, hvordan du adskiller en pc. De fleste af de grundlæggende komponenter er modulopbyggede og nemme at fjerne. Det er dog vigtigt, at du er organiseret omkring det. Dette hjælper med at forhindre dig i at miste dele og også ved at lave genmonteringen til
Ciclop 3d Scanner My Way Trin for trin: 16 trin (med billeder)
![Ciclop 3d Scanner My Way Trin for trin: 16 trin (med billeder) Ciclop 3d Scanner My Way Trin for trin: 16 trin (med billeder)](https://i.howwhatproduce.com/images/001/image-177-97-j.webp)
Ciclop 3d Scanner My Way Step by Step: Hej alle sammen, jeg kommer til at indse den berømte Ciclop 3D -scanner.Alle trin, der er godt forklaret på det originale projekt, er ikke til stede.Jeg lavede nogle rettelser for at forenkle processen, først Jeg udskriver basen, og end jeg genstarter printkortet, men fortsæt
Sådan styrer du husholdningsapparater med fjernsyn med fjernbetjening med timerfunktion: 7 trin (med billeder)
![Sådan styrer du husholdningsapparater med fjernsyn med fjernbetjening med timerfunktion: 7 trin (med billeder) Sådan styrer du husholdningsapparater med fjernsyn med fjernbetjening med timerfunktion: 7 trin (med billeder)](https://i.howwhatproduce.com/images/001/image-363-56-j.webp)
Sådan styrer du husholdningsapparater med fjernsyn med fjernbetjening med timerfunktion: Selv efter 25 års introduktion til forbrugermarkedet er infrarød kommunikation stadig meget relevant i de seneste dage. Uanset om det er dit 55 tommer 4K -fjernsyn eller dit billydsystem, har alt brug for en IR -fjernbetjening for at reagere på vores