Sisukord:
- 1. samm: 1. samm: vajalikud materjalid
- 2. samm: 2. samm: Roomba koodi seadistamine/hankimine
- 3. samm: 3. samm: kaljuandurite/LED -tulede seadistamine
- 4. samm: 4. samm: takistuste kontrollimine
- 5. samm: 5. samm: joonistamine
Video: Roomba MATLAB projekt: 5 sammu
2024 Autor: John Day | [email protected]. Viimati modifitseeritud: 2024-01-30 08:49
Praegune plaan, mis NASA -l Marsi roveri jaoks on, on see, et see oleks andmekoguja ja rändaks ümber Marsi, kogudes mullaproove Maale tagasi toomiseks, et teadlased näeksid, kas planeedil oli ka varasemaid eluvorme. Lisaks saadab rover teadlastele pilte, et nad saaksid aidata roveril navigeerida ja lahendada võimalikud probleemid.
Meie grupi idee meie projekti jaoks on, et rover teeks sama, mis NASA rover, kes 2020. aastal maalt lahkub, aga ka kaardistaks maa geograafia. Roomba oleks võimeline tundma kaljusid ja peatuma enne, kui see maha kukub, ning seejärel varundama, pöörama ja muutma oma suunda, et see ei kukuks ega saaks kahjustada. Meie teine idee, mis on meie projekti integreeritud, on see, et roomba saaks joonistada nähtavad vaatamisväärsused ja näidata maatükki iga kord, kui tsükkel on lõppenud ja selle kulg on joostud.
See juhend on mõeldud kõigile teistele, kes soovivad oma roomba jaoks sama tüüpi koodi luua.
1. samm: 1. samm: vajalikud materjalid
Sa vajad:
- Tuba
- MATLAB
- See fail roomba käivitamiseks
- Tasane pind
- Lauapind, mis toimib "kaljuna"
2. samm: 2. samm: Roomba koodi seadistamine/hankimine
Pärast failide sisestamist näeb teie ekraan välja selline.
3. samm: 3. samm: kaljuandurite/LED -tulede seadistamine
See kood ütleb teie roomale täpselt, millise nurga all pöörata, kontrollib aku teavet, ütleb toale, kui kiiresti edasi minna, ja kontrollib roomba kaamera kaudu inimest. See piiksub ka siis, kui tuvastab inimese, ja peatub enne kaljult mahatulekut.
% proovige rob.setLEDDigits ('') x = 0; y = 0; teeta = 0; takistus = ; tsükkel = 1; AngCorr = @(x) x + 3,059.*X.^0,4205; %Funktsioon pöördenurkade parandamiseks, kui rob.getBatteryInfo.percent> 15 rob.setLEDDigits ('') rob.setDriveVelocity (0,1) %Go %Check Person Check if AA_checkperson (rob) rob.beep end %Kontrolli kaljuandurit, kui AA_cliffcheck (rob) rob.stop rob.setLEDDigits ('Cliff') paus (0,5) takistus (tsükkel) = 2; AA_cliffbeep (rööv) %Varunda ja pööra rob.moveDistance (-. 15) rob.turnAngle (30) lõpp
4. samm: 4. samm: takistuste kontrollimine
See kood kontrollib roomba ümbritsevate esemete olemasolu ja kontrollib põrkeandurit, et veenduda, kas see peatub enne, kui see ennast kahjustab.
%Kontrollige valgusandurit, kui AA_lightcheck (rööv) rob.stop rob.setLEDDigits ('Sein') paus (0,5) takistus (tsükkel) = 1; %Seina AA_seinapiiks (röövimine) %Tagasi üles ja pööramine rob.moveDistance (-. 15) rob.turnAngle (30) lõpp %Kontrollige põrkeandurit, kui AA_bumpcheck (rööv) rob.stop rob.setLEDDigits ('Sein') paus (0.5) takistus (tsükkel) = 1; %Sein AA_seinapiiks (röövimine) %Tagasi üles ja pööre rob.moveDistance (-. 15) rob.turnAngle (30) lõpp %Kui pole, kui tühi (takistus) takistus (tsükkel) = 0; elseif pikkus (takistus) <tsükli takistus (tsükkel) = 0; lõpp
5. samm: 5. samm: joonistamine
See kood ütleb teie roombale, et ta saaks välja mõelda, mida ta oma teekonnal kohtab. Selline süžee ilmub pärast toa peatumist.
%Asendi hankimine d = rob.getDistance; kui tsükkel == 1 teeta (tsükkel) = 0; x (tsükkel) = d.*cosd (teeta (tsükkel)); % läbitud vahemaadest x y (tsükkel) = d.*sind (teeta (tsükkel)); kogu läbitud teepikkus % mujal teeta (tsükkel) = teeta (tsükkel-1) + rob.getAngle; x (tsükkel) = d.*cosd (teeta (tsükkel)) + x (tsükkel-1); % läbitud teepikkustest x y (tsükkel) = d.*sind (teeta (tsükkel)).*d + y (tsükkel-1); %kogu läbitud vahemaa y lõpus %Katkestustingimus, kui rob.getButtons.puhasta pausi lõpp %Suurendustsükli tsükkel = tsükkel + 1; lõpp rob.stop i = 1 jaoks: tsükkel, kui takistus (i) == 1 %Seinajoon (x (i), y (i), 'Marker', 'square', 'MarkerEdgeColor', 'r') elseif takistus (i) == 2 %Cliff plot (x (i), y (i), 'Marker', 'o', 'MarkerEdgeColor', 'k') lõpptekst (.9, 0.9, sprintf ('Square = Wall / nCircle = Cliff '),' Units ',' normalized ') hoiavad end % hädasignaali, samas kui tõene rob.beep paus (3), kui rob.getButtons.clean break end end % catch % rob.stop % end
Soovitan:
Roomba muutmine Mars Roveriks: 5 sammu
Oma Roomba muutmine Mars Roveriks:
Roomba Bot the Bulider: 5 sammu (koos piltidega)
Roomba Bot the Bulider: Bot the Builder on roomba, mis koos " grabbers " esiosa külge kinnitatud saab objekte ringi liigutada. Sellega kood on seatud salvestama esimest liikumist graafilise kasutajaliidese kastiga, mida saate juhtida vaid hiireklõpsuga. Pärast
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
Roomba projekt: 5 sammu (piltidega)
Roomba projekt: see juhend on loodud Lõuna -Florida ülikooli Makecourse'i projektinõude täitmiseks (www.makecourse.com). See juhend sisaldab kõiki vajalikke samme ja komponente, mis on vajalikud minu Roomba projekti kokkupanekuks
USB -toitega põleti! See projekt võib põleda läbi plasti / puidu / paberi (lõbus projekt peab olema ka väga peen puit): 3 sammu
USB -toitega põleti! See projekt võib põleda läbi plasti / puidu / paberi (lõbus projekt peab olema ka väga peen puit): ÄRGE TEE SEDA USB -KASUTAMISEGA !!!! avastasin kõikidest kommentaaridest, et see võib teie arvutit kahjustada. mu arvutiga on kõik korras. Kasutage 600m 5v telefonilaadijat. Ma kasutasin seda ja see töötab hästi ning midagi ei saa kahjustada, kui kasutate toite peatamiseks turvakork