Sisällysluettelo:
- Vaihe 1: Vaihe 1: Tarvittavat materiaalit
- Vaihe 2: Vaihe 2: Roomban koodin määrittäminen/saaminen
- Vaihe 3: Vaihe 3: Kalliosensorien/LED -valojen asentaminen
- Vaihe 4: Vaihe 4: Esteiden tarkistaminen
- Vaihe 5: Vaihe 5: Piirustus
Video: Roomba MATLAB -projekti: 5 vaihetta
2024 Kirjoittaja: John Day | [email protected]. Viimeksi muokattu: 2024-01-30 09:02
Nykyinen suunnitelma, jonka NASA on suunnitellut Mars -roverille, on se, että se on tiedonkerääjä ja vaeltaa Marsin ympärillä keräämällä näytteitä maaperästä tuodakseen takaisin Maalle, jotta tiedemiehet voivat nähdä, onko planeetalla aiempia elämänmuotoja. Lisäksi rover lähettää kuvia tiedemiehille, jotta he voivat auttaa navigoimaan roverissa ja korjaamaan mahdolliset ongelmat.
Ryhmämme ideana projektillemme on, että rover tekee saman kuin NASAn rover, joka lähtee maapallolta vuonna 2020, mutta myös kartoittaa maan maantieteellisen sijainnin. Roomba kykenisi havaitsemaan kallioita ja pysähtymään ennen kuin se putoaa, ja sitten perääntymään, kääntymään ja muuttamaan kurssiaan, jotta se ei putoa ja vahingoitu. Toinen ideamme, joka on integroitu projektiin, on, että roomba pystyy piirtämään näkemänsä maamerkit ja näyttämään juonen aina, kun silmukka on valmis ja sen kulku on suoritettu.
Tämä ohje on tarkoitettu kaikille muille, jotka haluavat luoda samantyyppisen koodin roomballeen.
Vaihe 1: Vaihe 1: Tarvittavat materiaalit
Tarvitset:
- Huone
- MATLAB
- Tämä tiedosto roomban suorittamiseen
- Tasainen pinta
- Pöytäpinta, joka toimii "kalliona"
Vaihe 2: Vaihe 2: Roomban koodin määrittäminen/saaminen
Näyttö näyttää tältä, kun syötät tiedostot.
Vaihe 3: Vaihe 3: Kalliosensorien/LED -valojen asentaminen
Tämä koodi kertoo roomballe tarkalleen, mihin kulmaan tulee kääntyä, tarkistaa akun tiedot, kertoo roomballesi kuinka nopeasti mennä ja tarkistaa, onko henkilö Roomban kameran kautta. Se myös piippaa, jos se tunnistaa henkilön, ja pysähtyy ennen kuin lähtee kalliolta.
% kokeile rob.setLEDDigits ('') x = 0; y = 0; teeta = 0; este = ; sykli = 1; AngCorr = @(x) x + 3,059.*X.^0,4205; %Toiminto kääntökulmien korjaamiseksi rob.getBatteryInfo.percent> 15 rob.setLEDDigits ('') rob.setDriveVelocity (0,1) %Go %Tarkista henkilö jos AA_checkperson (rob) rob.beep end %Tarkista Cliff Sensor jos AA_cliffcheck (rob) rob.stop rob.setLEDDigits ('Cliff') tauko (0,5) este (sykli) = 2; AA_cliffbeep (ryöstö) %Varmuuskopioi ja käännä rob.moveDistance (-. 15) rob.turnAngle (30) end
Vaihe 4: Vaihe 4: Esteiden tarkistaminen
Tämä koodi saa roomban tarkistamaan ympärillään olevat kohteet ja tarkistaa törmäysanturin varmistaakseen, että se pysähtyy ennen kuin se vahingoittaa itseään.
%Tarkista valotunnistin, jos AA_lightcheck (ryöstö) rob.stop rob.setLEDDigits ('Seinä') tauko (0,5) este (sykli) = 1; %Wall AA_wallbeep (ryöstö) %Varmuuskopioi ja käännä rob.moveDistance (-. 15) rob.turnAngle (30) end %Tarkista Bump Sensor jos AA_bumpcheck (rob) rob.stop rob.setLEDDigits ('Wall') tauko (0.5) este (sykli) = 1; %Seinä AA_seinäpiippaus (ryöstö) %Varmuuskopioi ja käännä rob.moveDistance (-. 15) rob.turnAngle (30) end %Jos ei mitään, jos tyhjä (este) este (sykli) = 0; elseif pituus (este) <pyöräilyesto (sykli) = 0; loppuun
Vaihe 5: Vaihe 5: Piirustus
Tämä koodi kehottaa roombaasi piirtämään, mitä se kohtaa matkansa aikana. Tällainen juoni tulee näkyviin, kun roomba on pysähtynyt.
%Hae sijainti d = rob.getDistance; jos sykli == 1 teeta (sykli) = 0; x (sykli) = d.*cosd (teeta (sykli)); % kokonaismatkasta x y (sykli) = d.*sind (theta (sykli)); % kokonaismatka y muussa teetassa (sykli) = teeta (sykli-1) + rob.getAngle; x (sykli) = d.*cosd (teeta (sykli)) + x (sykli-1); % kokonaismatkasta x y (sykli) = d.*sind (theta (sykli)).*d + y (sykli-1); %kokonaismatka y lopussa %Tauko -ehto, jos rob.getButtons.clean break end %Lisäysjakso = sykli + 1; loppuun rob.stop i = 1: pyöräile, jos este (i) == 1 %Seinäkaavio (x (i), y (i), 'Marker', 'square', 'MarkerEdgeColor', 'r') elseif este (i) == 2 %Cliff plot (x (i), y (i), 'Marker', 'o', 'MarkerEdgeColor', 'k') lopun teksti (.9, 0.9, sprintf ('Square = Wall) nCircle = Cliff '),' Units ',' normalized ') odottavat % % hätäsignaalia, kun taas tosi rob.beep pause (3) if rob.getButtons.clean break end end % catch % rob.stop % end
Suositeltava:
Roomba Bot the Bulider: 5 vaihetta (kuvilla)
Roomba Bot the Bulider: Bot the Builder on roomba, jossa on " nappaajat " etuosaan kiinnitetty pystyy liikuttamaan esineitä. Sen mukana tuleva koodi on asetettu tallentamaan ensimmäinen liike graafisella käyttöliittymällä, jota voit hallita vain hiiren napsautuksella. Afte
MATLAB -ohjattu Roomba: 5 vaihetta
MATLAB -ohjattu Roomba: Tämän projektin tavoitteena on hyödyntää MATLABia ja muokattua iRobot -ohjelmoitavaa robottia. Ryhmämme yhdisti koodaustaitomme luodaksemme MATLAB -komentosarjan, joka käyttää monia iRobotin toimintoja, mukaan lukien kallioanturit, puskurin tunnistimet
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
Roomba Parking Pal: 6 vaihetta
Roomba Parking Pal: Tämä projekti käyttää iRobot Create -ohjelmoitavaa roombaa, MATLAB r2018a ja MATLAB mobile. Käyttämällä näitä kolmea tietovälinettä ja koodaustaitojamme ohjelmoimme iRobot Createin tulkitsemaan värejä ja käyttämään sisäisiä antureita tehtävien suorittamiseen. Tämä
Roomba ja MATLAB: 4 vaihetta (kuvilla)
Roomba ja MATLAB: Tässä projektissa käytetään MATLABia ja iRobot Create2 -ohjelmoitavaa robottia. Laittamalla tietomme MATLABista testiin voimme ohjelmoida Create2: n tulkitsemaan kuvia ja havaitsemaan signaaleja. Robotin toiminnallisuus riippuu lähinnä siitä