Sisukord:
- Samm: osad
- 2. samm: 3D -prinditud osad
- 3. samm: kood
- 4. samm: andmete hankimine
- Samm: piltide sildistamine
- 6. samm: koolitus
- 7. samm: koolitatud mudeli koostamine
- 8. samm: ringlussevõtu tuvastamise mudel
- 9. samm: mudeli juurutamine
- 10. samm: ehitage robotkäsi
- 11. samm: RPI ja robotkäe ühendamine
- 12. samm: viimased puudutused
- 13. samm: jooksmine
- 14. samm: tulevane töö
- 15. samm: küsimusi?
Video: Ringlussevõtu robot: 15 sammu (piltidega)
2024 Autor: John Day | [email protected]. Viimati modifitseeritud: 2024-01-30 08:47
Kas teadsite, et kogukondade ja ettevõtete keskmine saastatuse määr on kuni 25%? See tähendab, et üks neljast visatud ringlussevõtu tükist ei lähe ringlusse. Selle põhjuseks on inimlikud vead ringlussevõtukeskustes. Traditsiooniliselt sorteerivad töötajad prügi sõltuvalt materjalist erinevatesse prügikastidesse. Inimesed teevad kindlasti vigu ja lõpuks ei sorteeri prügi korralikult, põhjustades saastumist. Kuna reostus ja kliimamuutused muutuvad tänapäeva ühiskonnas veelgi olulisemaks, võtab ringlussevõtt meie planeedi kaitsmisel tohutu osa. Kasutades prügi sorteerimiseks roboteid, väheneb saastumismäär järsult, rääkimata palju odavamast ja säästvamast. Selle lahendamiseks lõin ringlussevõtu sorteerimisroboti, mis kasutab masinõpet, et sortida erinevate ringlussevõetavate materjalide vahel.
Samm: osad
Veenduge, et teil oleks selle õpetusega kaasas järgmised osad:
3D -prinditud osad (vt allpool olevat sammu)
Raspberry Pi RPI 4 4GB
Google Coral USB -kiirendi
Arduino Uno R3
Vaarika Pi kaamera moodul V2
5V 2A DC seina toiteallikas
Alalisvoolu 12V toide
SG90 9g Mikroservod 4tk.
M3 x 0,5 mm roostevabast terasest iselukkuv nailonist kuuskantmutter 100 tk.
M3x20 nupppea titaankruvid 10tk.
MG996R Metal Gear pöördemomendi analoog servomootor 4tk.
Samsung 32GB Valige mälukaart
Adafruit Flex kaabel Raspberry Pi kaamerale - 1 meeter
M2 isane naissoost messingist vahekihi seiskruvimutri assortimendikomplekt
60 mm 12 V ventilaator
6,69 x 5,12 x 2,95 tolli projektikast
2. samm: 3D -prinditud osad
Peate 3D -printima kõik robotkäe osad. Kõik failid leiate siit.
3. samm: kood
Palun kloonige minu GitHubi hoidla, et seda õpetust järgida.
4. samm: andmete hankimine
Objekti tuvastamise mudeli koolitamiseks, mis suudab tuvastada ja ära tunda erinevaid ringlussevõtu materjale, kasutasin prügikasti andmestikku, mis sisaldab 2527 pilti:
- 501 klaasi
- 594 paberit
- 403 papp
- 482 plastikust
- 410 metallist
- 137 prügi
Ülaltoodud pilt on näide ühest andmestiku piltidest.
See andmekogum on objekti tuvastamise mudeli koolitamiseks väga väike. Prügikastis on ainult umbes 100 pilti, mida on täpse mudeli koolitamiseks liiga vähe, seega otsustasin selle välja jätta.
Andmekogumi allalaadimiseks saate seda Google'i draivikausta kasutada. Laadige kindlasti alla fail dataset-resized.zip. See sisaldab piltide komplekti, mis on juba väiksemaks muudetud, et võimaldada kiiremat treenimist. Kui soovite muuta toores piltide suurust oma maitse järgi, laadige alla fail dataset-original.zip.
Samm: piltide sildistamine
Järgmisena peame märgistama mitu kujutist erinevatest ringlussevõtu materjalidest, et saaksime objekti tuvastamise mudelit koolitada. Selleks kasutasin labelImg -i, tasuta tarkvara, mis võimaldab piltidel objektide piirikastid sildistada.
Märgistage iga pilt õige sildiga. See õpetus näitab teile, kuidas. Veenduge, et iga piirdekast oleks iga objekti piiri lähedal, et tuvastusmudel oleks võimalikult täpne. Salvestage kõik.xml -failid kausta.
Ülaltoodud foto näitab, kuidas oma pilte sildistada.
See on väga tüütu ja meelt tiritav kogemus. Tänan teid, ma olen kõik pildid teile juba sildistanud! Selle leiate siit.
6. samm: koolitus
Koolituse osas otsustasin kasutada ülekandeõpet Tensorflow abil. See võimaldab meil koolitada üsna täpset mudelit ilma suure hulga andmeteta.
Selleks on paar võimalust. Saame seda teha kohalikus lauaarvutis pilves. Meie kohalikus masinas treenimine võtab väga kaua aega sõltuvalt sellest, kui võimas on teie arvuti ja kas teil on võimas GPU. See on minu arvates ilmselt kõige lihtsam viis, kuid jällegi kiiruse miinusega.
Ülekandeõppe puhul tuleb tähele panna mõningaid olulisi asju. Peate veenduma, et koolituseks kasutatav eelkoolitatud mudel ühildub Coral Edge TPU-ga. Ühilduvaid mudeleid leiate siit. Kasutasin mudelit MobileNet SSD v2 (COCO). Katsetage julgelt ka teistega.
Kohalikus masinas treenimiseks soovitaksin järgida Google'i õpetust või EdjeElectronics'i õpetust, kui kasutate operatsioonisüsteemi Windows 10. Isiklikult olen katsetanud EdjeElectroncs õpetust ja saavutanud edu oma töölaual. Ma ei saa kinnitada, kas Google'i õpetus töötab, kuid ma oleksin üllatunud, kui see ei töötaks.
Pilves treenimiseks võite kasutada AWS -i või GCP -d. Leidsin selle õpetuse, mida saate proovida. See kasutab Google'i pilv -TPU -sid, mis suudavad teie objektide tuvastamise mudeli ülikiirelt treenida. Kasutage julgelt ka AWS -i.
Ükskõik, kas treenite oma kohalikus masinas või pilves, peaksite saama koolitatud tensorflow mudeli.
7. samm: koolitatud mudeli koostamine
Selleks, et teie koolitatud mudel töötaks Coral Edge TPU -ga, peate selle koostama.
Ülal on diagramm töövoo kohta.
Pärast treeningut peate selle salvestama külmutatud graafikuna (.pb -failina). Seejärel peate selle teisendama Tensorflow Lite mudeliks. Pange tähele, kuidas see ütleb "Koolitusjärgne kvantimine". Kui kasutasite ülekandeõppe kasutamisel ühilduvaid eelkoolitatud mudeleid, ei pea te seda tegema. Vaadake täielikku dokumentatsiooni ühilduvuse kohta siit.
Tensorflow Lite mudeli puhul peate selle kompileerima Edge TPU mudeliks. Vaadake üksikasju selle kohta, kuidas seda teha.
8. samm: ringlussevõtu tuvastamise mudel
Kui te ei soovi objektide tuvastamise mudeli väljaõppe, teisendamise ja koostamise vaeva üle vaadata, vaadake minu ringlussevõtu tuvastamise mudelit siit.
9. samm: mudeli juurutamine
Järgmine samm on seadistada Raspberry Pi (RPI) ja Edge TPU treenitud objektide tuvastamise mudeli käitamiseks.
Esmalt seadistage RPI selle õpetuse abil.
Seejärel seadistage Edge TPU selle õpetuse järgi.
Lõpuks ühendage RPI kaamera moodul vaarika pi -ga.
Nüüd olete valmis oma objektide tuvastamise mudelit testima!
Kui olete minu hoidla juba klooninud, soovite navigeerida RPI kataloogi ja käivitada faili test_detection.py:
python test_detection.py --modell 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
Väike aken peaks ilmuma ja kui panete plastikust veepudeli või muu ringlussevõetava materjali, peaks see selle tuvastama nagu ülaltoodud pildil.
Programmi lõpetamiseks vajutage klaviatuuril tähte "q".
10. samm: ehitage robotkäsi
Robotkäsi on 3D -trükitud käsi, mille ma siit leidsin. Järgige lihtsalt selle seadistamise õpetust.
Ülaltoodud pilt näitab, kuidas mu robotkäsi välja kukkus.
Veenduge, et ühendate servopoldid minu koodi Arduino I/O kontaktidega. Ühendage servod käe alt ülespoole järgmises järjekorras: 3, 11, 10, 9, 6, 5. Kui te seda selles järjekorras ei ühenda, liigub käsi vale servo!
Testige selle toimimist, navigeerides Arduino kataloogi ja käivitades faili BasicMovement.ino. See haarab lihtsalt eseme, mille asetate käe ette, ja viskab selle taha.
11. samm: RPI ja robotkäe ühendamine
Kõigepealt peame kaamera mooduli küünise põhja külge kinnitama. Ülaltoodud pilt näitab, kuidas see välja peaks nägema.
Proovige joondada kaamera võimalikult sirgeks, et minimeerida vigu tuvastatud taaskasutusmaterjali haaramisel. Peate kasutama pikka kaameramooduli lintkaablit, nagu on näidatud materjalide loendis.
Järgmisena peate üles laadima roboticArm.ino faili Arduino tahvlile.
Lõpuks peame lihtsalt ühendama USB -kaabli RPI USB -pordi ja Arduino USB -pordi vahele. See võimaldab neil suhelda jada kaudu. Järgige seda õpetust selle seadistamise kohta.
12. samm: viimased puudutused
See samm on täiesti valikuline, kuid mulle meeldib panna kõik oma komponendid kenasse väikesesse projektikarpi.
Ülaltoodud pildid näitavad, kuidas see välja näeb.
Projekti kasti leiate materjalide loendist. Puurisin just mõned augud ja kasutasin elektroonika paigaldamiseks messingist eraldusjooni. Paigaldasin ka 4 jahutusventilaatorit, et kuumana hoida RPI ja TPU kaudu pidevat õhuvoolu.
13. samm: jooksmine
Nüüd olete valmis sisse lülitama nii robotkäe kui ka RPI! RPI -l saate lihtsalt käivitada faili recycle_detection.py. See avab akna ja robotkäsi hakkab jooksma täpselt nagu demovideos! Programmi lõpetamiseks vajutage klaviatuuril tähte "q".
Mängige koodiga ringi ja nautige!
14. samm: tulevane töö
Loodan kasutada R. O. S. juhtida robotkätt täpsemate liigutustega. See võimaldab objektide täpsemat ülesvõtmist.
15. samm: küsimusi?
Küsimuste korral jätke julgelt kommentaar allpool!
Soovitan:
PAPER HUNGRY ROBOT - Pringles Recycle Arduino robot: 19 sammu (piltidega)
PABER HUNGRY ROBOT - Pringles Recycle Arduino Robot: See on teine versioon Hungry Robotist, mille ehitasin 2018. aastal. Saate selle roboti teha ilma 3D -printerita. Kõik, mida pead tegema, on lihtsalt osta Pringlesi purk, servomootor, lähedusandur, arduino ja mõned tööriistad. Saate alla laadida kõik
Joy Robot (Robô Da Alegria) - avatud lähtekoodiga 3D -trükitud, Arduino jõul töötav robot!: 18 sammu (koos piltidega)
Joy Robot (Robô Da Alegria) - avatud lähtekoodiga 3D -trükitud, Arduino jõul töötav robot!: Esimene auhind võistlusrataste võistlusel, teine auhind võistlusel Arduino võistlusel ja teine koht disaini lastele väljakutsel. Aitäh kõigile, kes meie poolt hääletasid !!! Roboteid jõuab igale poole. Alates tööstuslikest rakendustest kuni
Või robot: eksistentsiaalse kriisiga Arduino robot: 6 sammu (piltidega)
Või robot: eksistentsiaalse kriisiga Arduino robot: see projekt põhineb animeeritud sarjal "Rick ja Morty". Ühes episoodis teeb Rick roboti, mille ainus eesmärk on või toomine. Bruface'i (Brüsseli tehnikateaduskond) üliõpilastena on meil mecha jaoks ülesanne
Ringlussevõtu meeldetuletuslamp ümbertöödeldud veepudelist: 7 sammu
Ümbertöödeldud veepudeli ümbertöötlemise meeldetuletuslamp: see näitan teile, kuidas valmistada ringlussevõetud veepudelist kena ja lihtne kaasaskantav lamp. See mitte ainult ei heida oma valgust tundide kaupa, vaid loob ka jututüki, mis ajendab teisi liituma meie võitlusega, et päästa maakera. Salvestage need va
DIY prototüübid (robotid või kunstidisain), omatehtud tükkidega (ringlussevõtu juhend) Esimene osa: 4 sammu
DIY prototüübid (robotid või kunstidisain), omatehtud tükkidega (ringlussevõtujuhend) Esimene osa: see juhend ei selgita, kuidas mõnda robotit või kunstikujundust ehitada, ei selgita, kuidas neid kujundada, kuid see on juhend selle leidmiseks materjalid, mis sobivad robotite prototüüpide ehitamiseks (mehaanikuks) (valdav enamus neist on