Orodha ya maudhui:

Rekebisha Upangaji wa Roboti: Hatua 15 (na Picha)
Rekebisha Upangaji wa Roboti: Hatua 15 (na Picha)

Video: Rekebisha Upangaji wa Roboti: Hatua 15 (na Picha)

Video: Rekebisha Upangaji wa Roboti: Hatua 15 (na Picha)
Video: DEMU ALIWA NYUMA HADI KINYESI CHATOKA (ANGALIA VIDEO HADI MWISHO) 2024, Julai
Anonim
Image
Image
Kupata Takwimu
Kupata Takwimu

Je! Unajua kwamba kiwango cha wastani cha uchafuzi katika jamii na biashara ni hadi 25%? Hiyo inamaanisha kuwa moja kati ya kila vipande vinne vya kuchakata unavyotupa haipati kuchakatwa tena. Hii inasababishwa kwa sababu ya makosa ya kibinadamu katika vituo vya kuchakata. Kijadi, wafanyikazi watatatua takataka kwenye mapipa tofauti kulingana na nyenzo. Wanadamu watalazimika kufanya makosa na kuishia kutochagua takataka vizuri, na kusababisha uchafuzi. Kadiri uchafuzi wa mazingira na mabadiliko ya hali ya hewa yanavyokuwa muhimu zaidi katika jamii ya leo, kuchakata upya kunachukua sehemu kubwa katika kulinda sayari yetu. Kwa kutumia roboti kuchambua takataka, viwango vya uchafuzi vitapungua sana, bila kusahau bei rahisi na endelevu zaidi. Ili kutatua hili, niliunda roboti ya kuchakata ambayo hutumia ujifunzaji wa mashine kutatua kati ya vifaa tofauti vya kuchakata.

Hatua ya 1: Sehemu

Hakikisha una sehemu zifuatazo za kufuata pamoja na mafunzo haya:

Sehemu zilizochapishwa za 3D (angalia hatua hapa chini)

Raspberry Pi RPI 4 4GB

Kichocheo cha USB cha Matumbawe

Arduino Uno R3

Moduli ya Kamera ya Raspberry Pi V2

Ugavi wa Umeme wa 5V 2A DC

Ugavi wa umeme wa DC 12V

SG90 9g Micro Servos 4pcs.

M3 x 0.5mm cha pua Kujifunga kwa Nylon Hex Lock Nut 100pcs.

Kitufe cha M3x20 Kichwa cha Titanium Screws 10pcs.

MG996R Metal Gear Torque Analog Servo Motor 4pcs.

Samsung 32GB Chagua Kadi ya Kumbukumbu

Cable ya Adafruit Flex kwa Kamera ya Raspberry Pi - mita 1

M2 Kiume cha Shaba Spacer Standoff Screw Nut Assortment Kit

60mm 12V Shabiki

6.69 "x 5.12" x 2.95 "Sanduku la Mradi

Hatua ya 2: Sehemu zilizochapishwa za 3D

Utahitaji kuchapisha 3D sehemu zote kwa mkono wa roboti. Unaweza kupata faili zote hapa.

Hatua ya 3: Kanuni

Tafadhali onyesha hazina yangu ya GitHub kufuata mafunzo haya.

Hatua ya 4: Kupata Takwimu

Ili kufundisha mtindo wa kugundua kitu ambao unaweza kugundua na kutambua vifaa tofauti vya kuchakata, nilitumia setaseti ya trashnet ambayo inajumuisha picha 2527:

  • 501 glasi
  • 594 karatasi
  • Kadibodi 403
  • 482 plastiki
  • 410 chuma
  • 137 takataka

Picha hapo juu ni mfano wa moja kwenye picha kutoka kwa mkusanyiko wa data.

Hifadhidata hii ni ndogo sana kufundisha mtindo wa kugundua kitu. Kuna picha 100 tu za takataka ambazo ni kidogo sana kufundisha mfano sahihi, kwa hivyo niliamua kuiacha.

Unaweza kutumia folda hii ya gari la google kupakua setaseti. Hakikisha kupakua faili ya dataset-resized.zip. Ina seti ya picha ambazo tayari zimebadilishwa ukubwa mdogo ili kuruhusu mafunzo haraka. Ikiwa ungependa kubadilisha picha mbichi kwa kupenda kwako mwenyewe, jisikie huru kupakua faili ya dataset-original.zip.

Hatua ya 5: Kuandika Picha

Kuandika Picha
Kuandika Picha

Ifuatayo, tunahitaji kuweka lebo picha kadhaa za vifaa tofauti vya kuchakata ili tuweze kufundisha mtindo wa kugundua kitu. Ili kufanya hivyo, nilitumia labelImg, programu ya bure ambayo hukuruhusu kuweka alama kwenye visanduku vyenye vitu kwenye picha.

Andika lebo kila picha na lebo inayofaa. Mafunzo haya yanaonyesha jinsi. Hakikisha kufanya kila sanduku linalofungwa kuwa karibu na mpaka wa kila kitu ili kuhakikisha kuwa mfano wa kugundua ni sahihi iwezekanavyo. Hifadhi faili zote za.xml kwenye folda.

Picha hapo juu inaonyesha jinsi ya kuweka lebo kwenye picha zako.

Huu ni uzoefu wa kuchosha na kufadhaisha akili. Asante kwako, tayari nimekuandikia picha zote! Unaweza kuipata hapa.

Hatua ya 6: Mafunzo

Kwa suala la mafunzo, niliamua kutumia ujifunzaji wa uhamishaji kwa kutumia Tensorflow. Hii inatuwezesha kufundisha mfano sahihi bila data nyingi.

Kuna njia kadhaa ambazo tunaweza kufanya hivyo. Tunaweza kuifanya kwenye mashine yetu ya eneo-kazi kwenye wingu. Mafunzo kwenye mashine yetu ya hapa itachukua muda mrefu sana kulingana na jinsi kompyuta yako ilivyo na nguvu na ikiwa una GPU yenye nguvu. Hii labda ndiyo njia rahisi kwa maoni yangu, lakini tena kwa shida ya kasi.

Kuna mambo muhimu ya kutambua kuhusu ujifunzaji wa uhamisho. Unahitaji kuhakikisha kuwa mtindo uliopewa mafunzo uliyotumia kwa mafunzo unaambatana na Coral Edge TPU. Unaweza kupata mifano inayofaa hapa. Nilitumia mfano wa MobileNet SSD v2 (COCO). Jisikie huru kujaribu wengine pia.

Ili kufundisha kwenye mashine yako ya karibu, ningependekeza ifuate mafunzo ya Google au mafunzo ya EdjeElectronics ikiwa inaendeshwa na Windows 10. Binafsi, nimejaribu mafunzo ya EdjeElectroncs na nimefaulu kwenye eneo-kazi langu. Siwezi kuthibitisha ikiwa mafunzo ya Google yatafanya kazi, lakini nitashangaa ikiwa hayafanyi kazi.

Ili kufundisha katika wingu, unaweza kutumia AWS au GCP. Nimepata mafunzo haya ambayo unaweza kujaribu. Inatumia wingu la Google TPU ambalo linaweza kufundisha mtindo wako wa kugundua kitu haraka sana. Jisikie huru kutumia AWS pia.

Iwe unafundisha kwenye mashine yako ya ndani au kwenye wingu, unapaswa kuishia na mfano wa mafunzo ya tensorflow.

Hatua ya 7: Kukusanya Mfano uliofunzwa

Kuandaa Mfano uliofunzwa
Kuandaa Mfano uliofunzwa

Ili mtindo wako uliofunzwa ufanye kazi na Coral Edge TPU, unahitaji kuijumuisha.

Hapo juu ni mchoro wa mtiririko wa kazi.

Baada ya mafunzo, unahitaji kuihifadhi kama grafu iliyohifadhiwa (faili ya.pb). Kisha, unahitaji kuibadilisha kuwa mfano wa Tensorflow Lite. Kumbuka jinsi inavyosema "hesabu ya baada ya mafunzo". Ikiwa unatumia mifano iliyofundishwa ya mapema wakati unatumia ujifunzaji wa uhamishaji, hauitaji kufanya hivi. Angalia nyaraka kamili juu ya utangamano hapa.

Na mfano wa Tensorflow Lite, unahitaji kuijumuisha kwa mfano wa Edge TPU. Tazama maelezo juu ya jinsi ya kufanya hivyo hapa.

Hatua ya 8: Tengeneza Mfano wa Kugundua

Ikiwa hautaki kupita juu ya shida ya mafunzo, kubadilisha, na kuandaa mtindo wa kugundua kitu, angalia mfano wangu wa kugundua tena hapa.

Hatua ya 9: Tumia Mfano

Tumia Mfano
Tumia Mfano

Hatua inayofuata ni kuanzisha Raspberry Pi (RPI) na Edge TPU ili kuendesha mtindo wa kugundua kitu kilichofunzwa.

Kwanza, weka RPI ukitumia mafunzo haya.

Ifuatayo, weka Edge TPU kufuatia mafunzo haya.

Mwishowe, unganisha moduli ya kamera ya RPI na pi ya rasipberry.

Sasa uko tayari kujaribu mfano wako wa kugundua kitu!

Ikiwa tayari umeunda ghala langu, utahitaji kuelekea saraka ya RPI na uendeshe faili ya test_detection.py:

chatu test_detection.py --model recycle_ssd_mobilenet_v2_quantized_300x300_coco_2019_01_03 / detect_edgetpu.tflite - lebo za kuchakata tena_ssd_mobilenet_v2_quantized_300x300_coco_2019_01_03 / labels.txt

Dirisha dogo linapaswa kutokea na ikiwa utaweka chupa ya maji ya plastiki au vifaa vingine vya kuchakata, inapaswa kugundua kama picha hapo juu.

Bonyeza barua "q" kwenye kibodi yako ili kumaliza programu.

Hatua ya 10: Jenga mkono wa Roboti

Jenga mkono wa Roboti
Jenga mkono wa Roboti

Mkono wa roboti ni mkono uliochapishwa wa 3D niliopata hapa. Fuata tu mafunzo juu ya kuiweka.

Picha hapo juu inaonyesha jinsi mkono wangu wa roboti ulivyotokea.

Hakikisha unaunganisha pini za servo kwa kulingana na pini za Arduino I / O katika nambari yangu. Unganisha servos kutoka chini hadi juu ya mkono kwa utaratibu huu: 3, 11, 10, 9, 6, 5. Kutokuiunganisha kwa utaratibu huu kutasababisha mkono kusonga servo isiyo sawa!

Jaribu kuiona ikifanya kazi kwa kuvinjari kwenye saraka ya Arduino na kuendesha faili ya basicMovement.ino. Hii itachukua kitu ambacho unaweka mbele ya mkono na kukiacha nyuma.

Hatua ya 11: Kuunganisha RPI & Robotic Arm

Kuunganisha RPI & Arm Robotic
Kuunganisha RPI & Arm Robotic

Kwanza tunahitaji kuweka moduli ya kamera chini ya kucha. Picha hapo juu inaonyesha jinsi inapaswa kuonekana.

Jaribu kupatanisha kamera moja kwa moja iwezekanavyo ili kupunguza makosa katika kunyakua vifaa vya kutofautisha vinavyotambulika. Utahitaji kutumia kebo ndefu ya kamera ya moduli ya kamera kama inavyoonekana katika orodha ya vifaa.

Ifuatayo, unahitaji kupakia faili ya roboticArm.ino kwenye bodi ya Arduino.

Mwishowe, lazima tu tuunganishe kebo ya USB kati ya bandari ya USB ya RPI na bandari ya USB ya Arduino. Hii itawaruhusu kuwasiliana kupitia serial. Fuata mafunzo haya juu ya jinsi ya kuweka hii.

Hatua ya 12: Kugusa Mwisho

Kugusa Mwisho
Kugusa Mwisho
Kugusa Mwisho
Kugusa Mwisho

Hatua hii ni ya hiari kabisa lakini napenda kuweka vifaa vyangu vyote kwenye kisanduku kizuri cha mradi.

Picha hapo juu zinaonyesha jinsi inavyoonekana.

Unaweza kupata sanduku la mradi kwenye orodha ya vifaa. Nilichimba tu mashimo kadhaa na nikatumia vishindo vya shaba kupanda vifaa vya elektroniki. Niliweka pia mashabiki 4 wa kupoza kuweka mtiririko wa hewa mara kwa mara kupitia RPI na TPU wakati wa moto.

Hatua ya 13: Mbio

Sasa uko tayari kuwasha mkono wa roboti na RPI! Kwenye RPI, unaweza tu kuendesha faili ya recycle_detection.py. Hii itafungua dirisha na mkono wa roboti utaanza kukimbia kama vile kwenye video ya onyesho! Bonyeza barua "q" kwenye kibodi yako ili kumaliza programu.

Jisikie huru kucheza karibu na nambari na ufurahie!

Hatua ya 14: Kazi ya Baadaye

Natumai kutumia R. O. S. kudhibiti mkono wa roboti na harakati sahihi zaidi. Hii itawezesha kuokota vitu sahihi zaidi.

Hatua ya 15: Maswali?

Jisikie huru kuacha maoni hapa chini ikiwa una maswali yoyote!

Ilipendekeza: