Orodha ya maudhui:
- Hatua ya 1: Sehemu Zinazohitajika
- Hatua ya 2: Faili na Usanidi wa Kamera
- Hatua ya 3: Upimaji wa Awali wa Roomba
- Hatua ya 4: Mfano Msimbo wa MATLAB
Video: Msaidizi wa Mwanaanga Roomba: Hatua 4
2024 Mwandishi: John Day | [email protected]. Mwisho uliobadilishwa: 2024-01-30 12:53
Mradi huu unafanywa kwa kutumia Raspberry Pi 3 kwenye bodi ya iRobot Tengeneza Toleo la 2. MATLAB hutumiwa kupanga roboti kufuata maagizo maalum kwa kutumia sensorer na kamera. Sensorer na kamera hutumiwa kutekeleza majukumu maalum ambayo yangefuata mwanaanga na kumpa uwezo wa kuwasiliana na kituo chake cha nyumbani ikiwa chochote kitaenda vibaya.
Hatua ya 1: Sehemu Zinazohitajika
1. iRobot Unda Toleo 2
Uundaji wa iRobot ni sehemu muhimu zaidi ya mradi huu kwani inaweza kusanidiwa na inaweza kuwa uwakilishi mzuri kwa rover halisi inayofuata waanga na kuwasaidia katika siku zijazo
2. Raspberry Pi 3
Raspberry Pi ilikuwa programu inayoweza kutumika kwa mradi huu. Nambari imeundwa kwa Pi na toleo la Pi iliyoambatanishwa ni 3 (mfano B). Bodi zingine zinazoweza kupangiliwa kama vile arduino zinatumika, hata hivyo, arduino na bodi zingine nyingi zitahitaji kuweka alama tofauti kuliko ilivyoelezwa katika hatua nyingine
3. Moduli ya Kamera ya Raspberry Pi
Uunganisho pekee wa nje na Raspberry Pi inayohitajika kwa mradi huu ni Moduli ya Kamera. Moduli ya kamera ni sehemu muhimu kwa mradi huu, kwani roomba itafanya kazi tu kulingana na inavyoona kwenye kamera
4. MATLAB 2018a
Toleo la pili la hivi karibuni la MATLAB, 2018a, lilitumika kwa usimbuaji uliohusika katika usanidi huu. Kuna uwezekano kwamba matoleo mengine mengi ya MATLAB yatafanya kazi na hii kwani programu ya roomba imekuwa karibu kwa muda
Hatua ya 2: Faili na Usanidi wa Kamera
1. Raspberry Pi na uhusiano wa Kamera na roomba
- Pi inaweza kuungana na iRobot moja kwa moja na USB ndogo. Hiyo ndiyo yote inahitaji kuwa tayari kutumia. Walakini, inashauriwa iwekwe salama kwenye roomba kama vile inavyoonyeshwa kwenye picha wakati wote wa uwasilishaji hadi sasa.
- Kamera ina unganisho la moja kwa moja na Raspberry Pi na inashauriwa sana kwamba kitu kinunuliwe au kifanywe ili kushikilia kamera moja kwa moja. Hakuna uhakika wa kweli kwa kamera ikiwa haiwezi kushikiliwa kuonyesha kile roomba inaona.
2. Faili
- Baada ya kuweka kila kitu na kushikamana, hakikisha roboti imewekwa upya na iko tayari kwa kushikilia vifungo vya "Doa" na "Dock" kwa sekunde 10 pamoja.
- Hapa ndipo MATLAB inahitajika kwanza. Faili za roomba zinahitaji kuwekwa kwanza na yote ambayo inahitajika kwa faili hizi ni kukimbia ni nambari iliyotolewa kwenye kiunga hiki:
- https://ef.engr.utk.edu/ef230-2017-08//projects/roβ¦
Hatua ya 3: Upimaji wa Awali wa Roomba
Kuna hundi nyingi za awali zinazopaswa kufanywa kwenye roomba ili kuhakikisha inafanya kazi.
1. Hakikisha umeunganishwa na mtandao huo wa WiFi kama roomba. Bila hii, hautawahi kuungana kupitia MATLAB.
2. Tafuta roomba yako imepewa nambari gani ili uweze kuunganisha haswa kwenye roomba uliyochagua. Kwa mfano, ikiwa nambari yako ya roomba ni 30, ungeiunganisha kwa kuandika roomba (30) kwenye dirisha la amri katika MATLAB.
3. Roomba inaweza kudhibitiwa kupitia miundo katika MATLAB. Kwa mfano, ikiwa utaweka nambari yako ya roomba (30) kwa variable 'r', roboti inaweza kusogezwa mbele na amri r.moveDistance (0.2, 0.1).
Kuna amri nyingi tofauti ambazo zinaweza kufahamishwa kwa roomba na hizi zinaweza kuonekana kwa kuandika 'doc roomba' kwenye dirisha la amri.
5. Sensorer za usomaji mwepesi, mapema, na mwamba zinaweza kusomwa kwa kutumia amri zinazoonekana kwenye 'doc roomba' lakini njia ya kuwa na menyu safi na nadhifu ili kuona data ya sensa inaweza kuonekana kwa kutumia 'r.testSensorsors '.
6. Baada ya kujaribu yote haya, programu ya kukusanya picha ya roboti inaweza kutumika kusoma na kuona picha zilizopigwa. Nambari ya msingi ya hii itakuwa img = r.getImage na imshow (img);.
7. Thamani za RGB za picha zinaweza kupatikana na nambari red_mean = maana (maana (img (:,:, 1)));
green_mean = maana (maana (img (:,:, 2))); na bluu_maana = maana (maana (img (:,:, 3)));.
Hatua ya 4: Mfano Msimbo wa MATLAB
Kwa wakati huu, sasa uko tayari kutumia sensorer na programu ya kuchukua picha kuunda spin yako mwenyewe kwenye Mfano wa Msaada wa Binadamu wa Mars Rover. Mfano wetu ni kufuata mwanaanga kwa kufuatilia rangi nyeupe na kuelekea kwake. Roboti italia ikiwa sensorer zinasoma maadili ya hali ya juu ili mwanaanga aweze kuweka upya roboti ikiwa imekwama au kwenda kuichukua na kuiweka upya ikiwa imekwama kwenye mwamba. Walakini, inasoma tu makosa haya maadamu inaona nyeupe. Bila kuwa na uwezo wa kuona rangi nyeupe, roboti itaingia katika hali ya makosa. Imepangwa kutuma aina mbili tofauti za barua pepe kwenye msingi wa nyumba kulingana na kile inachokiona. Ikiwa itaona rangi ya ngozi ya mwanaanga, hiyo sio nzuri, kwa hivyo itaarifu msingi wa nyumbani ikiwa mwanaanga ana ngozi inayoonyesha na shida ya suti. Ujumbe mwingine umeandaliwa ikiwa mwanaanga atatoweka machoni. Ikiwa hakuna rangi nyeupe au ngozi inayoonyesha kamera, roboti itazunguka na kutuma barua pepe nyingine, lakini tofauti. Picha ambazo roomba haiwezi kuona mwanaanga zitatumwa pamoja na ujumbe katika barua pepe. Nambari ya mradi wetu imeonyeshwa hapa chini:
kwa i = 1:.1: 3 img = r.getImage; picha (img) red_mean = maana (maana (img (:,:, 1))); green_mean = maana (maana (img (:,:, 2))); blue_mean = maana (maana (img (:,:, 3))); ikiwa nyekundu_maanisha> 110 && red_mean 110 && blue_mean 110 && green_mean0 || | mapema.kushoto> 0 || mbele. 0 r.beep () r.beep () r.beep () r.stop elseif cliff.left <10 || mwamba kushoto. Mbele <10 || mwamba.kulia Mbele <10 || mwamba.kulia 700 || mwangaza kushoto mbele> 700 || mwanga.kushotoCenter> 700 || mwanga. HaliCenter> 700 || Nuru mbele kulia> 700 || light.right> 700 r.beep () r.beep () r.beep () r.beep () r.beep () r. simama nyingine kwa i = 1: 2 r.soveDistance (0.2, 0.1) r. setDriveVelocity (.3,.2) r.st end end end if green_mean <35 && blue_mean <35% rangi ya ngozi inayoonyesha (inahitaji kurekebishwa kulingana na rangi ya ngozi ya mwanaanga) r.beep (); r.beep (); r.beep (); barua = '[email protected]'; % hutuma barua pepe kuonyesha suti imezimwa psswd = 'ndio'; mwenyeji = 'smtp.gmail.com'; bandari = '465'; emailto = '[email protected]'; m_subject = 'mada'; m_text = 'mtihani'; setpref ('Mtandao', 'E_mail', barua); setpref ('Mtandao', 'SMTP_Server', mwenyeji); setpref ('Mtandao', 'SMTP_Username', barua); setpref ('Mtandao', 'SMTP_Password', psswd); props = java.lang. System.getProperties; prop.setProperty ('mail.smtp.user', barua); prop.setProperty ('mail.smtp.host', mwenyeji); prop.setProperty ('mail.smtp.port', bandari); prop.setProperty ('mail.smtp.starttls.enable', 'kweli'); props.setProperty ('mail.smtp.debug', 'kweli'); props.setProperty ('mail.smtp.auth', 'kweli'); prop.setProperty ('mail.smtp.socketFactory.port', bandari); props.setProperty ('mail.smtp.socketFactory.class', 'javax.net.ssl. SSLSocketFactory'); props.setProperty ('mail.smtp.socketFactory.fallback', 'uongo'); sendmail (emailto, 'Msaada!', 'sare ya wanaanga imezimwa!', img); mwisho ikiwa nyekundu_maana 135 || kijani_maana 135 || blue_mean 135 for j = 1: 2% ikiwa nyeupe haiwezi kupatikana na robot r.turnAngle (360) mail = '[email protected]'; psswd = 'ndio'; mwenyeji = 'smtp.gmail.com'; bandari = '465'; emailto = '[email protected]'; m_subject = 'mada'; m_text = 'mtihani'; setpref ('Mtandao', 'E_mail', barua); setpref ('Mtandao', 'SMTP_Server', mwenyeji); setpref ('Mtandao', 'SMTP_Username', barua); setpref ('Mtandao', 'SMTP_Password', psswd); props = java.lang. System.getProperties; prop.setProperty ('mail.smtp.user', barua); prop.setProperty ('mail.smtp.host', mwenyeji); prop.setProperty ('mail.smtp.port', bandari); prop.setProperty ('mail.smtp.starttls.enable', 'kweli'); props.setProperty ('mail.smtp.debug', 'kweli'); props.setProperty ('mail.smtp.auth', 'kweli'); prop.setProperty ('mail.smtp.socketFactory.port', bandari); props.setProperty ('mail.smtp.socketFactory.class', 'javax.net.ssl. SSLSocketFactory'); props.setProperty ('mail.smtp.socketFactory.fallback', 'uongo'); sendmail (emailto, 'Msaada!', 'Mwanaanga hawezi kupatikana!', img); r.acha mwisho mwisho mwisho
Kwa wazi ni fujo hapa, lakini inapaswa kung'oka mara tu ikinakiliwa. Nywila na barua pepe kwa hili zinapaswa kutolewa na wale wanaofanya mradi huu wazi.
Walakini, mfano wetu ni moja tu ya njia nyingi za kuzunguka na roboti hii kuifanya iwe sawa na kila mtu. Kuna mambo mengi tofauti ya kufanywa, ambayo unaweza kujitoshea kwako.
Ilipendekeza:
Simama Rahisi kwa Msaidizi wa Acoustic MiniLev: Hatua 12 (na Picha)
Simama Rahisi kwa Msaidizi wa Acoustic MiniLev: Mradi huu haungewezekana na mradi wa kushangaza ambao Dk Asier Marzo aliunda. https://www.instructables.com/Acoustic-Levitator/ Kama miradi yote mzuri, hii ilianza kuwa rahisi na ilikua kadri muda ulivyozidi kwenda. Baada ya kusoma Dk. Marzo intracta
WLED (kwenye ESP8266) + IFTTT + Msaidizi wa Google: Hatua 5
WLED (kwenye ESP8266) + IFTTT + Msaidizi wa Google: Mafunzo haya yatakuanza kutumia IFTTT na Msaidizi wa Google kwa WLED kwenye ESP8266.Kuanzisha WLED yako & ESP8266, fuata mwongozo huu juu ya tynick:
Msaidizi wa hali ya hewa wa DIY: Hatua 6
Msaidizi wa Hali ya Hewa wa DIY: Mara ya mwisho nilitumia ESP32 kutengeneza kituo cha matangazo ya hali ya hewa, ambacho kinaweza kutangaza hali ya hewa ya sasa. Ikiwa una nia, unaweza kuangalia maelezo ya awali. Sasa ninataka kutengeneza toleo lililoboreshwa, kwamba nitachagua jiji kuangalia sisi
Saa ya Cosmo - Inabadilisha Rangi Kila Wakati Mwanaanga Anaingia Kwenye Nafasi: Hatua 8 (na Picha)
Saa ya Cosmo - Inabadilisha Rangi Kila Wakati Mwanaanga Anaingia Kwenye Nafasi: Halo! Je! Wewe ni mpenzi wa nafasi? Ikiwa ndio basi hi-fi! Ninapenda nafasi na unajimu. Ni wazi mimi sio mwanaanga kwenda huko juu na kuangalia kwa karibu ulimwengu. Lakini kila wakati ninapogundua kuwa mtu kutoka duniani amesafiri kwenda mbinguni, napata msukumo
Msaidizi wa Bustani Roomba Bot: Hatua 8
Msaidizi wa Bustani wa Roomba Bot: Kiara Myers, Ahmad Alghadeer, na Madison Tippet Kusudi: Hii inaweza kufundisha jinsi ya kupanga Roomba Bot, ukitumia MATLAB, kupitia bustani, kugundua matunda / mboga-umbo la duara ambazo zimeiva vya kutosha kuchumwa kulingana na