Sisällysluettelo:
- Vaihe 1: Tarvikkeet
- Vaihe 2: Ongelmalausunto
- Vaihe 3: Bluetooth -kaukosäädin
- Vaihe 4: Vaikutusten tunnistaminen
- Vaihe 5: Elämän tunnistaminen
- Vaihe 6: Suorita se
Video: Mars Roomba: 6 vaihetta
2024 Kirjoittaja: John Day | [email protected]. Viimeksi muokattu: 2024-01-30 09:02
Tämä opas opastaa sinua Raspberry Pi -ohjatun Roomba -tyhjiöbotin käytön suuntiin. Käyttämämme käyttöjärjestelmä on MATLABin kautta.
Vaihe 1: Tarvikkeet
Mitä sinun on kerättävä tämän projektin toteuttamiseksi:
- iRobotin Create2 Roomba -imurin botti
- Raspberry Pi
- Raspberry Pi -kamera
- MATLABin uusin versio
- Roomban asennustyökalupakki MATLABille
- MATLAB -sovellus mobiililaitteelle
Vaihe 2: Ongelmalausunto
Saimme tehtäväksi kehittää MATLABin avulla roverin, jota voitaisiin käyttää Marsissa auttaaksemme tutkijoita planeetatietojen keräämisessä. Projektissamme käsitellyt toiminnot olivat kaukosäädin, esinevaikutusten tunnistus, veden tunnistus, elämän tunnistus ja kuvankäsittely. Näiden saavutusten saavuttamiseksi koodasimme Roomban työkalupakkikomennoilla manipuloidaksemme iRobotin Create2 Roomban monia toimintoja.
Vaihe 3: Bluetooth -kaukosäädin
Tämä dia kulkee koodin läpi Roomban liikkeen ohjaamiseksi älypuhelimesi Bluetooth-ominaisuuksien avulla. Aloita lataamalla MATLAB -sovellus älypuhelimeesi ja kirjautumalla sisään Mathworks -tilillesi. Kun olet kirjautunut sisään, siirry "lisää", "asetukset" ja muodosta yhteys tietokoneeseen sen IP -osoitteen avulla. Kun yhteys on muodostettu, palaa "lisää" -kohtaan ja valitse "anturit". Napauta näytön yläreunan työkalupalkin kolmatta anturia ja napauta sitten Käynnistä. Älypuhelimesi on nyt kaukosäädin!
Koodi on seuraava:
kun taas 0 == 0
tauko (.5)
PhoneData = M. Orientation;
Azi = Puhelintiedot (1);
Pitch = Puhelintiedot (2);
Sivu = Puhelintiedot (3);
kuoppia = r.getBumpers;
jos sivu> 80 || Sivu <-80
r. stop
r. piippaus ('C, E, G, C^, G, E, C')
tauko
elseif Sivu> 20 && Sivu <40
r.kierroskulma (-5);
muuten jos puoli> 40
r.kierroskulma (-25);
elseif Side-40
r. kääntökulma (5);
elseif Sivu <-40
r.kierroskulma (25);
loppuun
jos Pitch> 10 && Pitch <35
r.moveDistance (.03)
elseif Pitch> -35 && Pitch <-10
r.moveDistance (-. 03)
loppuun
loppuun
Vaihe 4: Vaikutusten tunnistaminen
Toinen toteuttamamme toiminto oli havaita Roomban vaikutus esineeseen ja korjata sen nykyinen polku. Tätä varten meidän täytyi käyttää ehtoja puskurianturien lukemilla sen määrittämiseksi, osuiko kohde. Jos robotti osuu esineeseen, se perääntyy.2 metriä ja pyörii kulmassa, jonka mukaan puskuri osui. Kun kohde on osunut, näkyviin tulee valikko, jossa näkyy sana "oof".
Koodi näkyy alla:
kun taas 0 == 0
kuoppia = r.getBumpers;
r.setDriveVelocity (.1)
jos kolhuja.vasen == 1
msgbox ('Oho!');
r.moveDistance (-0,2)
r.setTurnVelocity (.2)
r.turnAngle (-35)
r.setDriveVelocity (.2)
elseif bumps.front == 1
msgbox ('Oho!');
r.moveDistance (-0,2)
r.setTurnVelocity (.2)
r.turnAngle (90)
r.setDriveVelocity (.2)
elseif kuoppia. oikea == 1
msgbox ('Oho!');
r.moveDistance (-0,2)
r.setTurnVelocity (.2)
r.turnAngle (35)
r.setDriveVelocity (.2)
elseif bumps.leftWheelDrop == 1
msgbox ('Oho!');
r.moveDistance (-0,2)
r.setTurnVelocity (.2)
r.turnAngle (-35)
r.setDriveVelocity (.2)
elseif bumps.rightWheelDrop == 1
msgbox ('Oho!');
r.moveDistance (-0,2)
r.setTurnVelocity (.2)
r.turnAngle (35)
r.setDriveVelocity (.2)
loppuun
loppuun
Vaihe 5: Elämän tunnistaminen
Koodasimme elämän tunnistusjärjestelmän lukemaan sen edessä olevien esineiden värit. Kolme elämäntapaa, jotka koodasimme, ovat kasvit, vesi ja muukalaiset. Tätä varten koodasimme anturit punaisen, sinisen, vihreän tai valkoisen keskiarvon laskemiseksi. Näitä arvoja verrattiin kynnyksiin, jotka asetettiin manuaalisesti määrittämään väri, jota kamera katsoo. Koodi piirtää myös polun kohteeseen ja luo kartan.
Koodi on seuraava:
t = 10;
i = 0;
kun taas t == 10
img = r.getImage; imshow (img)
tauko (0,167)
i = i + 1;
red_mean = keskiarvo (keskiarvo (img (:,:, 1)));
blue_mean = keskiarvo (keskiarvo (img (:,:, 3)));
green_mean = keskiarvo (keskiarvo (img (:,:, 2)));
white_mean = (blue_mean + green_mean + red_mean) / 3; %haluaa tämän arvon noin 100
nine_plus_ten = 21;
vihreä_kynnys = 125;
sininen_kynnys = 130;
valkoinen_kynnys = 124;
punainen_kynnys = 115;
kun taas nine_plus_ten == 21 %vihreä - elämää
jos green_mean> green_threshold && blue_mean <blue_threshold && red_mean <red_threshold
r.moveDistance (-. 1)
a = msgbox ('mahdollinen elämän lähde löydetty, sijainti piirretty');
tauko (2)
poista (a)
[y2, Fs2] = ääniluku ('z_speak2.wav');
ääni (y2, Fs2)
tauko (2)
%kasvi = r.getImage; %imshow (kasvi);
%säästä ('plant_img.mat', plant ');
%tontin sijainti vihreänä
i = 5;
tauko
muu
nine_plus_ten = 19;
loppuun
loppuun
nine_plus_ten = 21;
kun taas nine_plus_ten == 21 %sininen - woder
jos blue_mean> blue_threshold && green_mean <green_threshold && white_mean <white_threshold && red_mean <red_threshold
r.moveDistance (-. 1)
a = msgbox ('vesilähde on löydetty, sijainti on piirretty');
tauko (2)
poista (a)
[y3, Fs3] = ääniluku ('z_speak3.wav');
ääni (y3, Fs3);
%woder = r.getImage; %imshow (woder)
%säästö ('water_img.mat', woder)
%tontin sijainti sinisenä
i = 5;
tauko
muu
nine_plus_ten = 19;
loppuun
loppuun
nine_plus_ten = 21;
kun taas nine_plus_ten == 21 %valkoinen - aliens monkaS
jos white_mean> white_threshold && blue_mean <blue_threshold && green_mean <green_threshold
[y5, Fs5] = ääniluku ('z_speak5.wav');
ääni (y5, Fs5);
tauko (3)
r.setDriveVelocity (0,.5)
[ys, Fss] = ääniluku ('z_scream.mp3');
ääni (ys, Fss);
tauko (3)
r. stop
% ulkomaalainen = r.getImage; %imshow (ulkomaalainen);
% save ('alien_img.mat', ulkomaalainen);
i = 5;
tauko
muu
nine_plus_ten = 19;
loppuun
loppuun
jos i == 5
a = 1; %kääntökulmaa
t = 9; %lopettaa suuren silmukan
i = 0;
loppuun
loppuun
Vaihe 6: Suorita se
Kun kaikki koodit on kirjoitettu, yhdistä ne kaikki yhdeksi tiedostoksi ja voila! Roomba -robotti on nyt täysin toimiva ja toimii mainostetun mukaisesti! Bluetooth -ohjaimen on kuitenkin oltava joko erillisessä tiedostossa tai erotettuna muusta koodista %%: lla.
Nauti robotin käytöstä !!
Suositeltava:
Roomban muuttaminen Mars Roveriksi: 5 vaihetta
Roomban muuttaminen Mars Roveriksi:
Mars Rover Raspberry Pi: n avulla: 5 vaihetta
Mars Rover Raspberry Pi: llä: Rakas kaikki suuri oppija, olen aina utelias tietämään mars -roverista, jolla on 6 pyörää, jotka voivat kulkea Marsin koko pinnalle ja tutkia asioita Maasta. Haluan myös tutkia asiaa istumalla kannettavalle tietokoneelleni. Joten nyt on mielestäni oikea aika tehdä se ja
Raspberry Pi - Autonomous Mars Rover with OpenCV Object Tracking: 7 askelta (kuvilla)
Raspberry Pi - Autonomous Mars Rover with OpenCV Object Tracking: Powered by Raspberry Pi 3, Open CV -objektin tunnistus, ultraääni -anturit ja vaihdemoottorit. Tämä rover voi seurata mitä tahansa koulutettua kohdetta ja liikkua missä tahansa maastossa
Mars Roomba Project UTK: 4 vaihetta
Mars Roomba -projekti UTK: VASTUUVAPAUSLAUSEKE: TÄMÄ TOIMII VAIN, JOS ROOMBA ON MÄÄRITETTY ERITTÄIN TÄLLÄ, TÄMÄ OHJE on luotu ja sen on tarkoitus käyttää TENNESSEE -YLIOPISTOJEN JA FACULTY -palvelun avulla. Tämän koodin avulla voidaan määrittää kirjoitettu ja s
IRobot Create-Mars Expedition Rover Mark I: 4 vaihetta
IRobot Create-Mars Expedition Rover Mark I: Tämä ohje opettaa sinulle, miten voit määrittää iRobot Createin käyttämällä MatLab-koodausta. Robotillasi on kyky etsiä mineraaleja erottamalla muodot, ohjata karua maastoa kallioanturien avulla ja