Orodha ya maudhui:
- Hatua ya 1: Vifaa
- Hatua ya 2: Taarifa ya Shida
- Hatua ya 3: Udhibiti wa Kijijini cha Bluetooth
- Hatua ya 4: Utambuzi wa Athari
- Hatua ya 5: Utambuzi wa Maisha
- Hatua ya 6: Endesha !
Video: Mars Roomba: Hatua 6
2024 Mwandishi: John Day | [email protected]. Mwisho uliobadilishwa: 2024-01-30 12:52
Inayoweza kufundishwa itakuongoza katika mwelekeo wa kutumia bot ya utupu ya Raspberry Pi inayodhibitiwa ya Roomba. Mfumo wa uendeshaji ambao tutatumia ni kupitia MATLAB.
Hatua ya 1: Vifaa
Nini utahitaji kukusanya ili kutekeleza mradi huu:
- iRobot's Create2 Roomba utupu safi bot
- Pi ya Raspberry
- Kamera ya Raspberry Pi
- Toleo la hivi karibuni la MATLAB
- Sanduku la zana la kufunga Roomba kwa MATLAB
- Matumizi ya MATLAB ya kifaa cha rununu
Hatua ya 2: Taarifa ya Shida
Tulipewa jukumu la kutumia MATLAB kuunda rover ambayo inaweza kutumika kwenye Mars ili kusaidia wanasayansi kukusanya data za sayari. Kazi ambazo tulishughulikia katika mradi wetu zilikuwa za kudhibiti kijijini, utambuzi wa athari za kitu, utambuzi wa maji, utambuzi wa maisha, na usindikaji wa picha. Ili kufikia mafanikio haya, tuliandika kwa kutumia amri za kisanduku cha Roomba kudhibiti kazi nyingi za i2Romba ya iRobot.
Hatua ya 3: Udhibiti wa Kijijini cha Bluetooth
Slide hii itatembea kupitia nambari kudhibiti mwendo wa Roomba kwa kutumia uwezo wa Bluetooth wa kifaa chako cha smartphone. Kuanza, pakua programu ya MATLAB kwa smartphone yako na uingie kwenye akaunti yako ya Mathworks. Mara tu umeingia, nenda kwa "zaidi", "mipangilio", na uunganishe kwenye kompyuta yako ukitumia anwani yake ya IP. Mara baada ya kushikamana, rudi kwa "zaidi" na uchague "sensorer." Gonga kwenye sensorer ya tatu kwenye mwambaa zana wa juu wa skrini, na ugonge kuanza. Sasa, smartphone yako ni udhibiti wa kijijini!
Nambari ni kama ifuatavyo:
wakati 0 == 0
pumzika (.5)
SimuData = Mlo wa M.
Azi = SimuData (1);
Lami = SimuData (2);
Upande = SimuData (3);
matuta = r.getBumpers;
ikiwa Upande> 80 || Upande <-80
r.acha
r. beep ('C, E, G, C ^, G, E, C')
kuvunja
upande mwingine> 20 && Side <40
r. TurnAngle (-5);
mwingineif Side> 40
r. TurnAngle (-25);
mwingineif Side-40
r. TurnAngle (5);
mwingineif upande <-40
r. TurnAngle (25);
mwisho
ikiwa Pitch> 10 && Pitch <35
r.soveDistance (.03)
vingine ikiwa Pitch> -35 && Pitch <-10
r.soveDistance (-. 03)
mwisho
mwisho
Hatua ya 4: Utambuzi wa Athari
Kazi nyingine ambayo tulitekeleza ilikuwa kugundua athari ya Roomba ndani ya kitu na kisha kurekebisha njia yake ya sasa. Ili kufanya hivyo, ilibidi tutumie hali na usomaji kutoka kwa sensorer bumper kuamua ikiwa kitu kiligongwa. Ikiwa roboti itagonga kitu, itahifadhi mita.2, na itazunguka kwa pembe iliyoamuliwa na ambayo bumper ilipigwa. Mara tu kitu kinapogongwa, menyu hujitokeza ikionyesha neno "oof."
Kanuni imeonyeshwa hapa chini:
wakati 0 == 0
matuta = r.getBumpers;
r.setDriveVelocity (.1)
ikiwa matuta.kushoto == 1
msgbox ('Oof!');
r.soveDistance (-0.2)
r.setTurnVelocity (.2)
r. TurnAngle (-35)
r.setDriveVelocity (.2)
mwingineif matuta.mbele == 1
msgbox ('Oof!');
r.soveDistance (-0.2)
r.setTurnVelocity (.2)
r. TurnAngle (90)
r.setDriveVelocity (.2)
vingine ikiwa matuta. sawa == 1
msgbox ('Oof!');
r.soveDistance (-0.2)
r.setTurnVelocity (.2)
r. zungusha (35)
r.setDriveVelocity (.2)
mwingine ikiwa matuta.leftWheelDrop == 1
msgbox ('Oof!');
r.soveDistance (-0.2)
r.setTurnVelocity (.2)
r. TurnAngle (-35)
r.setDriveVelocity (.2)
mwingine ikiwa matuta.rightWheelDrop == 1
msgbox ('Oof!');
r.soveDistance (-0.2)
r.setTurnVelocity (.2)
r. zungusha (35)
r.setDriveVelocity (.2)
mwisho
mwisho
Hatua ya 5: Utambuzi wa Maisha
Tuliandika mfumo wa utambuzi wa maisha ili kusoma rangi za vitu mbele yake. Aina tatu za maisha ambazo tuliandika ni mimea, maji, na wageni. Ili kufanya hivyo, tuliandika sensorer ili kuhesabu wastani wa rangi nyekundu, bluu, kijani au nyeupe. Maadili haya yalilinganishwa na vizingiti ambavyo viliwekwa kwa mikono kuamua rangi ambayo kamera inaangalia. Nambari hiyo pia ingeandaa njia ya kitu na kuunda ramani.
Nambari ni kama ifuatavyo:
t = 10;
i = 0;
wakati t == 10
img = r.getImage; imshow (img)
pumzika (0.167)
i = i + 1;
red_mean = maana (maana (img (:,:, 1)));
blue_mean = maana (maana (img (:,:, 3)));
green_mean = maana (maana (img (:,:, 2)));
njia nyeupe = (maana ya samawati + maana ya kijani + nyekundu_maana) / 3; % wanataka hii val takriban 100
tisa_plus_ten = 21;
kizingiti kijani_ 125 = 125;
kizuizi_buluu = 130;
kizuizi_ nyeupe = 124;
kizingiti nyekundu = 115;
wakati nine_plus_ten == 21% kijani - maisha
ikiwa green_mean> green_threshold && blue_mean <blue_threshold && red_mean <red_mean <
r.soveDistance (-. 1)
a = msgbox ('chanzo kinachowezekana cha maisha kilipatikana, eneo limepangwa');
pumzika (2)
futa (a)
[y2, Fs2] = audioread ('z_speak2.wav');
sauti (y2, Fs2)
pumzika (2)
% mmea = r.piga picha; % imshow (mmea);
% kuokoa ('mmea_img.mat', mmea ');
% eneo la njama katika kijani kibichi
i = 5;
kuvunja
mwingine
tisa_plus_ten = 19;
mwisho
mwisho
tisa_plus_ten = 21;
wakati nine_plus_ten == 21% ya bluu - woder
ikiwa blue_mean> blue_threshold && green_mean <green_threshold && white_mean <white_mean && red_mean <red_threshold
r.soveDistance (-. 1)
a = msgbox ('chanzo cha maji kimepatikana, eneo limepangwa');
pumzika (2)
futa (a)
[y3, Fs3] = audioread ('z_speak3.wav');
sauti (y3, Fs3);
% woder = r.piga picha; % imshow (woder)
% kuokoa ('water_img.mat', woder)
Eneo la njama katika bluu
i = 5;
kuvunja
mwingine
tisa_plus_ten = 19;
mwisho
mwisho
tisa_plus_ten = 21;
wakati nine_plus_ten == 21% nyeupe - wageni monkaS
ikiwa nyeupe_maana> kizuizi_chafu && bluu_maana <bluu_ kizingiti && green_mean
[y5, Fs5] = audioread ('z_speak5.wav');
sauti (y5, Fs5);
pumzika (3)
r.setDriveVelocity (0,.5)
[ys, Fss] = audioread ('z_scream.mp3');
sauti (ys, Fss);
pumzika (3)
r.acha
% mgeni = r.getImage; % imshow (mgeni);
% kuokoa ('alien_img.mat', mgeni);
i = 5;
kuvunja
mwingine
tisa_plus_ten = 19;
mwisho
mwisho
ikiwa i == 5
a = 1; % inageuka pembe
t = 9; kusitisha kitanzi kikubwa
i = 0;
mwisho
mwisho
Hatua ya 6: Endesha !
Baada ya nambari yote kuandikwa, inganisha yote kuwa faili moja na voila! Bot yako ya Roomba sasa itafanya kazi kikamilifu na itafanya kazi kama ilivyotangazwa! Walakini, udhibiti wa Bluetooth unapaswa kuwa katika faili tofauti au kutengwa na nambari yote na %%.
Furahiya kutumia roboti yako !!
Ilipendekeza:
Kugeuza Roomba Yako Kuwa Rover ya Mars: Hatua 5
Kubadilisha Roomba Yako Kuwa Rover ya Mars:
Mars Rover Kutumia Raspberry Pi: Hatua 5
Mars Rover Kutumia Raspberry Pi: Mpendwa Mwanafunzi Mkuu, siku zote huwa na hamu ya kujua juu ya mars rover, Kuwa na magurudumu 6 ambayo yanaweza kwenda juu ya mars na kukagua vitu kutoka Duniani. Ninataka pia kuchunguza jambo kwa kukaa kwenye kompyuta yangu ndogo. Kwa hivyo sasa nina kitu wakati wake sahihi wa kuifanya na
Raspberry Pi - Autonomous Mars Rover na Ufuatiliaji wa Kitu cha OpenCV: Hatua 7 (na Picha)
Raspberry Pi - Autonomous Mars Rover na Ufuatiliaji wa Kitu cha OpenCV: Inayoendeshwa na Raspberry Pi 3, Fungua utambuzi wa kitu cha CV, sensorer za Ultrasonic na motors za DC. Rover hii inaweza kufuatilia kitu chochote ambacho imefundishwa na kuhamia kwenye eneo lolote
Mradi wa Mars Roomba UTK: Hatua 4
Mradi wa Mars Roomba UTK: KANUSHO: HII ITAFANYA KAZI TU IKIWA ROOMBA IMEWEKWA KWA NJIA KILA MAALUM, HIYO INAELEZEKA ILIUMBWA NA INATAMANIWA KUTUMIWA NA CHUO KIKUU CHA WANAFUNZI WA TENNESSEE NA FASIAMALI Nambari hii inatumiwa kuanzisha Roomba kukimbia ndani imeandikwa na s
Roboti ya Upelelezi wa Mars: Hatua 4
Roboti ya Upelelezi wa Mars: Hii inayoweza kuagizwa ni mwongozo wa hatua kwa hatua wa kupanga na kuamuru Robot ya Upelelezi wa Mars. Kuanza, mtu lazima apate orodha ya vifaa vifuatavyo: IRobot inayotozwa itengenezewe umeboreshwa na Chuo cha Tickle cha Eniveering Univerisity of Ten