Orodha ya maudhui:

Mradi wa Roomba MATLAB: Hatua 5
Mradi wa Roomba MATLAB: Hatua 5

Video: Mradi wa Roomba MATLAB: Hatua 5

Video: Mradi wa Roomba MATLAB: Hatua 5
Video: Alikiba - Mvumo Wa Radi (Official Music Video) 2024, Novemba
Anonim
Mradi wa Roomba MATLAB
Mradi wa Roomba MATLAB

Mpango wa sasa ambao NASA inao juu ya rover ya Mars ni kuwa mkusanyaji wa data na kuzunguka karibu na Mars, kukusanya sampuli za mchanga ili kurudisha Duniani ili wanasayansi waweze kuona ikiwa kulikuwa na aina zozote za maisha zilizopita kwenye sayari. Kwa kuongezea, rover hutuma tena picha kwa wanasayansi, ili waweze kusaidia kusafiri kwa rover na kurekebisha shida zozote ambazo zinaweza kuwa nazo.

Wazo la kikundi chetu kwa mradi wetu ni kwamba rover afanye sawa na rover ya NASA ambayo itaondoka duniani mnamo 2020, lakini pia kuorodhesha jiografia ya ardhi. Roomba ingeweza kuhisi miamba na kujisimamisha kabla ya kuanguka, na kisha kurudi nyuma, kugeuka, na kubadilisha njia yake ili isianguke na kuharibiwa. Wazo letu lingine lililounganishwa katika mradi wetu ni kwamba roomba iweze kupanga alama za alama ambazo inaona, na kuonyesha njama kila kitanzi kinapokamilika na kozi yake imekuwa ikiendeshwa.

Hii inaweza kufundishwa kwa mtu mwingine yeyote ambaye angependa kuunda nambari moja ya nambari ya roomba yao.

Hatua ya 1: Hatua ya 1: Vifaa vinahitajika

Hatua ya 1: Vifaa vinahitajika
Hatua ya 1: Vifaa vinahitajika
Hatua ya 1: Vifaa vinahitajika
Hatua ya 1: Vifaa vinahitajika

Utahitaji:

  1. Roomba
  2. MATLAB
  3. Faili hii ya kuendesha roomba
  4. Uso wa gorofa
  5. Sehemu ya meza ya kutenda kama "mwamba"

Hatua ya 2: Hatua ya 2: Kuweka / Kupata Nambari ya Roomba

Hatua ya 2: Kuweka / Kupata Msimbo wa Roomba
Hatua ya 2: Kuweka / Kupata Msimbo wa Roomba

Skrini yako itaonekana hivi ukisha ingiza faili.

Hatua ya 3: Hatua ya 3: Kuweka Sensorer za Mwamba / Taa za LED

Nambari hii itakuambia roomba yako haswa pembe gani, angalia maelezo ya betri, mwambie roomba yako jinsi ya haraka, na uangalie mtu kupitia kamera ya roomba. Pia italia ikiwa inamtambulisha mtu, na ijisimamishe kabla ya kwenda kwenye mwamba.

% jaribu rob.setLEDDigits (") x = 0; y = 0; theta = 0; kikwazo = ; mzunguko = 1; AngCorr = @ (x) x + 3.059. * X. ^ 0.4205; Kazi ya kurekebisha pembe za kugeuza wakati rob.getBatteryInfo.percent> 15 rob.setLEDDigits (") rob.setDriveVelocity (0.1)% Go% Angalia Mtu ikiwa AA_checkperson (rob) rob. Beep end% Angalia Sura ya Cliff ikiwa AA_cliffcheck (rob wizi.wacha kuiba.setLEDDigits ('Cliff') pause (0.5) kikwazo (mzunguko) = 2; AA_cliffbeep (kuiba)% Rudi Juu Na Ugeuke rob.moveDistance (-. 15) rob.turnAngle (30) mwisho

Hatua ya 4: Hatua ya 4: Kuchunguza Vizuizi

Nambari hii itapata roomba ya kukagua vitu vilivyo karibu nayo, na itaangalia sensa ya mapema ili kuhakikisha inasimama kabla ya kujiumiza.

Angalia Sensorer ya Nuru ikiwa AA_lightcheck (rob) rob.stop rob.setLEDDigits ('Wall') pause (0.5) kikwazo (mzunguko) = 1; % Wall AA_wallbeep (rob)% Rudi Juu Na Ugeuke rob.moveDistance (-. 15) rob.turnAngle (30) end% Angalia Sensorer Bump ikiwa AA_bumpcheck (rob) rob.stop rob.setLEDDigits ('Wall') pause (0.5) kikwazo (mzunguko) = 1; % Wall AA_wallbeep (rob)% Rudi Juu Na Ugeuke rob.moveDistance (-. 15) rob.turnAngle (30) end% Ikiwa hakuna ikiwa ni kizuizi (kikwazo) kikwazo (mzunguko) = 0; urefu mwingine (kikwazo) <kikwazo cha mzunguko (mzunguko) = 0; mwisho

Hatua ya 5: Hatua ya 5: Kupanga njama

Hatua ya 5: Kupanga njama
Hatua ya 5: Kupanga njama

Nambari hii itamwambia roomba yako kupanga njiani ambayo hukutana nayo katika safari yake. Njama kama hii itaonekana baada ya roomba kusimama.

Pata Nafasi d = rob.getDistance; ikiwa mzunguko == 1 theta (mzunguko) = 0; x (mzunguko) = d. * cosd (theta (mzunguko)); % jumla ya kusafiri kwa x y (mzunguko) = d. * sind (theta (mzunguko)); % jumla ya kusafiri kwa y theta nyingine (mzunguko) = theta (mzunguko-1) + rob.getAngle; x (mzunguko) = d. * cosd (theta (mzunguko)) + x (mzunguko-1); % jumla ya kusafiri kwa x y (mzunguko) = d. * sind (theta (mzunguko)). * d + y (mzunguko-1); % jumla ya kusafiri katika mwisho% Hali ya kuvunja ikiwa ni rob.getButtons. mwisho wa mapumziko safi% Mzunguko wa ongezeko = mzunguko + 1; mwisho rob.stop for i = 1: mzunguko ikiwa kikwazo (i) == 2% Kiwanja cha mwamba (x (i), y (i), 'Alama', 'o', 'MarkerEdgeColor', 'k') maandishi ya mwisho (.9, 0.9, sprintf ('Mraba = Ukuta Circle = Cliff '),' Units ',' normalized ') shikilia Mwisho% Ishara ya Dhiki wakati kweli rob.beep pause (3) ikiwa rob.getButtons.cle break end end% catch% rob.stop% end

Ilipendekeza: