Sisukord:
- Samm: tarvikud
- 2. samm: probleemipüstitus
- Samm: Bluetoothi kaugjuhtimispult
- 4. samm: mõju tuvastamine
- 5. samm: elutuvastus
- 6. samm: käivitage see
Video: Mars Roomba: 6 sammu
2024 Autor: John Day | [email protected]. Viimati modifitseeritud: 2024-01-30 08:48
See juhend juhendab teid Raspberry Pi juhitava Roomba vaakumpotti käitamise suundades. Kasutatav operatsioonisüsteem on MATLABi kaudu.
Samm: tarvikud
Selle projekti elluviimiseks peate koguma järgmist:
- iRoboti Creat2 Roomba tolmuimeja robot
- Vaarika Pi
- Raspberry Pi kaamera
- MATLABi uusim versioon
- Roomba installimise tööriistakast MATLAB -i jaoks
- Rakendus MATLAB mobiilseadme jaoks
2. samm: probleemipüstitus
Meile tehti ülesandeks kasutada MATLAB -i roveri väljatöötamiseks, mida saaks Marsil kasutada, et aidata teadlastel planeedi andmeid koguda. Meie projektis käsitletud funktsioonid olid kaugjuhtimine, objektide mõju tuvastamine, vee tuvastamine, elutuvastus ja pilditöötlus. Nende saavutuste saavutamiseks kodeerisime Roomba tööriistakasti käske, et manipuleerida iRoboti loodud Create2 Roomba paljude funktsioonidega.
Samm: Bluetoothi kaugjuhtimispult
See slaid läbib koodi, mis võimaldab Roomba liikumist juhtida teie nutitelefoni Bluetooth-funktsioonide abil. Alustuseks laadige oma nutitelefoni alla rakendus MATLAB ja logige sisse oma Mathworksi kontole. Kui olete sisse loginud, minge jaotisse "Veel", "Seaded" ja ühendage oma arvutiga selle IP -aadressi kasutades. Kui olete ühenduse loonud, minge tagasi "rohkem" ja valige "andurid". Puudutage ekraani ülemisel tööriistaribal kolmandat andurit ja puudutage nuppu Start. Nüüd on teie nutitelefon kaugjuhtimispult!
Kood on järgmine:
samas 0 == 0
paus (.5)
Telefoniandmed = M. Orientation;
Azi = Telefoniandmed (1);
Pigi = Telefoniandmed (2);
Külg = Telefoniandmed (3);
muhke = r.getBumpers;
kui külg> 80 || Külg <-80
r.peatus
r. piiks ('C, E, G, C^, G, E, C')
murda
elseif pool> 20 && külg <40
r.pöördenurk (-5);
muidu kui külg> 40
r.pöördenurk (-25);
elseif Side-40
r.pöördenurk (5);
elseif Külg <-40
r.pöördenurk (25);
lõpp
kui Pitch> 10 && Pitch <35
r.moveDistance (.03)
elseif Pitch> -35 && Pitch <-10
r.moveDistance (-. 03)
lõpp
lõpp
4. samm: mõju tuvastamine
Teine meie rakendatud funktsioon oli tuvastada Roomba mõju objektile ja seejärel parandada selle praegust rada. Selleks pidime kasutama kaitseraua anduritelt saadud konditsioone, et teha kindlaks, kas mõni objekt sai löögi. Kui robot tabab objekti, taandub see 0,2 meetrit ja pöörleb nurga all, mille järgi kaitseraud tabati. Kui üksus on tabatud, avaneb menüü, kus kuvatakse sõna "ooh".
Kood on näidatud allpool:
samas 0 == 0
muhke = r.getBumpers;
r.setDriveVelocity (.1)
kui muhke.vasak == 1
msgbox ('Ooh!');
r.moveDistance (-0,2)
r.setTurnVelocity (.2)
r.turnAngle (-35)
r.setDriveVelocity (.2)
elseif muhke.esine == 1
msgbox ('Ooh!');
r.moveDistance (-0,2)
r.setTurnVelocity (.2)
r.turnAngle (90)
r.setDriveVelocity (.2)
elseif muhke.õige == 1
msgbox ('Ooh!');
r.moveDistance (-0,2)
r.setTurnVelocity (.2)
r.turnNurk (35)
r.setDriveVelocity (.2)
elseif muhke.leftWheelDrop == 1
msgbox ('Ooh!');
r.moveDistance (-0,2)
r.setTurnVelocity (.2)
r.turnAngle (-35)
r.setDriveVelocity (.2)
elseif löögid.rightWheelDrop == 1
msgbox ('Ooh!');
r.moveDistance (-0,2)
r.setTurnVelocity (.2)
r.turnNurk (35)
r.setDriveVelocity (.2)
lõpp
lõpp
5. samm: elutuvastus
Kodeerisime elutuvastussüsteemi, et lugeda selle ees olevate objektide värve. Kolm eluliiki, mida me kodeerisime, on taimed, vesi ja tulnukad. Selleks kodeerisime andurid punase, sinise, rohelise või valge keskmise väärtuse arvutamiseks. Neid väärtusi võrreldi lävenditega, mis olid kaamera poolt vaadatava värvi määramiseks käsitsi määratud. Kood joonistaks ka tee objektini ja kaardi loomise.
Kood on järgmine:
t = 10;
i = 0;
samas kui t == 10
img = r.getImage; imshow (img)
paus (0,167)
i = i + 1;
red_mean = keskmine (keskmine (img (:,:, 1)));
blue_mean = keskmine (keskmine (img (:,:, 3)));
roheline_mean = keskmine (keskmine (img (:,:, 2)));
valge_mean = (sinine_mees + roheline_mean + punane_mean) / 3; %soovib seda väärtust umbes 100
üheksa_pluss_ten = 21;
roheline_lävi = 125;
sinine_lävi = 130;
valge_lävi = 124;
punane_lävi = 115;
samas nine_plus_ten == 21 %roheline - elu
if green_mean> green_threshold && blue_mean <blue_threshold && red_mean <red_threshold
r.moveDistance (-. 1)
a = msgbox ('leiti võimalik eluallikas, joonistatud asukoht');
paus (2)
kustutada (a)
[y2, Fs2] = helilugemine ('z_speak2.wav');
heli (y2, Fs2)
paus (2)
%taim = r.getImage; %imshow (taim);
%säästa ('plant_img.mat', plant ');
krundi asukoht roheliselt
i = 5;
murda
muidu
üheksa_pluss_ten = 19;
lõpp
lõpp
üheksa_pluss_ten = 21;
samas nine_plus_ten == 21 %sinine - woder
if blue_mean> blue_threshold && green_mean <green_threshold && white_mean <white_threshold && red_mean <red_threshold
r.moveDistance (-. 1)
a = msgbox ('veeallikas on leitud, asukoht on joonistatud');
paus (2)
kustutada (a)
[y3, Fs3] = helilugemine ('z_speak3.wav');
heli (y3, Fs3);
%woder = r.getImage; %näitus (woder)
%säästa ('water_img.mat', woder)
Krundi asukoht %sinine
i = 5;
murda
muidu
üheksa_pluss_ten = 19;
lõpp
lõpp
üheksa_pluss_ten = 21;
samas nine_plus_ten == 21 %valge - tulnukate monkaS
if white_mean> white_threshold && blue_mean <blue_threshold && green_mean <green_threshold
[y5, Fs5] = helilugemine ('z_speak5.wav');
heli (y5, Fs5);
paus (3)
r.setDriveVelocity (0,.5)
[ys, Fss] = helilugemine ('z_scream.mp3');
heli (ys, Fss);
paus (3)
r.peatus
välismaalane % = r.getImage; %imshow (välismaalane);
% säästa ('alien_img.mat', tulnukas);
i = 5;
murda
muidu
üheksa_pluss_ten = 19;
lõpp
lõpp
kui ma == 5
a = 1; %pöördenurk
t = 9; %lõpetab suure silmuse
i = 0;
lõpp
lõpp
6. samm: käivitage see
Kui kogu kood on kirjutatud, ühendage see kõik üheks failiks ja voila! Teie Roomba robot on nüüd täielikult töökorras ja töötab reklaamitud viisil! Kuid Bluetooth -juhtelement peaks olema kas eraldi failis või ülejäänud koodist eraldatud %% -ga.
Naudi oma roboti kasutamist !!
Soovitan:
Roomba muutmine Mars Roveriks: 5 sammu
Oma Roomba muutmine Mars Roveriks:
Mars Rover Raspberry Pi abil: 5 sammu
Mars Rover, kasutades Raspberry Pi: Kallis kõik suur õppija, mul on alati uudishimulik teada marsruuteri kohta, millel on 6 ratast, mis läbivad kogu Marsi pinna ja uurivad asju Maalt. Tahan ka sülearvutis istudes asja uurida. Nii et nüüd on mul õige aeg seda teha ja
Raspberry Pi - autonoomne Mars Rover koos OpenCV objektide jälgimisega: 7 sammu (koos piltidega)
Raspberry Pi - autonoomne Mars Rover koos OpenCV objektide jälgimisega: toiteallikaks Raspberry Pi 3, avatud CV objektide tuvastamine, ultraheliandurid ja reduktoriga alalisvoolumootorid. See rover saab jälgida mis tahes objekti, mille jaoks ta on koolitatud, ja liikuda igal maastikul
Mars Roomba projekt UTK: 4 sammu
Mars Roomba Project UTK: LAHTIÜTLUS: See toimib ainult siis, kui ROOMBA seadistatakse väga konkreetsel viisil, see juhend loodi ja kavatseti kasutada TENNESSEE ÜLIKOOLI JA FACULTY poolt kirjutatud ja s
IRobot Create-Mars Expedition Rover Mark I: 4 sammu
IRobot Create-Mars Expedition Rover Mark I: See juhend õpetab teile, kuidas seadistada iRobot Create MatLabi kodeeringu abil. Teie robotil on võimalus otsida mineraale, eristades kujundeid, manööverdada ebatasasel maastikul kaljuandurite abil ja tal on võime