Cuprins:
- Pasul 1: Pasul 1: Materiale necesare
- Pasul 2: Pasul 2: Configurarea / obținerea codului pentru Roomba
- Pasul 3: Pasul 3: Configurarea senzorilor de stâncă / a luminilor LED
- Pasul 4: Pasul 4: Verificarea obstacolelor
- Pasul 5: Pasul 5: Complotarea
Video: Proiectul Roomba MATLAB: 5 pași
2024 Autor: John Day | [email protected]. Modificat ultima dată: 2024-01-30 11:45
Planul actual pe care NASA îl are pentru roverul Marte este ca acesta să fie un colector de date și să se plimbe în jurul lui Marte, colectând probe de sol pentru a le readuce pe Pământ, astfel încât oamenii de știință să poată vedea dacă au existat forme de viață anterioare pe planetă. În plus, rover-ul trimite înapoi imagini oamenilor de știință, astfel încât aceștia să poată ajuta navigarea roverului și să remedieze orice probleme ar putea avea.
Ideea grupului nostru pentru proiectul nostru este ca rover-ul să facă același lucru cu rover-ul NASA care va părăsi pământul în 2020, dar și să identifice geografia țării. Roomba ar fi capabil să simtă stâncile și să se oprească înainte să cadă, apoi să facă backup, să se întoarcă și să-și schimbe cursul, astfel încât să nu cadă și să fie deteriorat. Cealaltă idee integrată în proiectul nostru este ca roomba să poată trasa reperele pe care le vede și să arate un complot de fiecare dată când bucla este terminată și cursul acesteia a fost rulat.
Acest instructable este pentru oricine altcineva care ar dori să creeze același tip de cod pentru roomba lor.
Pasul 1: Pasul 1: Materiale necesare
Vei avea nevoie:
- A roomba
- MATLAB
- Acest fișier pentru a rula roomba
- O suprafață plană
- O suprafață de masă pentru a acționa ca o „stâncă”
Pasul 2: Pasul 2: Configurarea / obținerea codului pentru Roomba
Ecranul dvs. va arăta astfel după ce introduceți fișierele.
Pasul 3: Pasul 3: Configurarea senzorilor de stâncă / a luminilor LED
Acest cod îi va indica camerei dvs. exact ce unghi trebuie să rotească, va verifica informațiile despre baterie, va spune camerei dvs. cât de repede să meargă și să verifice dacă există o persoană prin camera camerei. De asemenea, va emite un sunet dacă identifică o persoană și se va opri înainte de a ieși de pe o stâncă.
% încercați rob.setLEDDigits ('') x = 0; y = 0; theta = 0; obstacol = ; ciclu = 1; AngCorr = @ (x) x + 3.059. * X. ^ 0.4205; % Funcție pentru corectarea unghiurilor de rotație în timp ce rob.getBatteryInfo.percent> 15 rob.setLEDDigits ('') rob.setDriveVelocity (0.1)% Mergi% Verifică persoana dacă AA_checkperson (rob) rob.beep end% Verifică senzorul de stâncă dacă AA_cliffcheck (rob)) rob.stop rob.setLEDDigits („Cliff”) pauză (0,5) obstacol (ciclu) = 2; AA_cliffbeep (rob)% Back Up and Turn rob.moveDistance (-. 15) rob.turnAngle (30) end
Pasul 4: Pasul 4: Verificarea obstacolelor
Acest cod va primi roomba pentru verificarea articolelor din jurul său și va verifica senzorul de umflare pentru a vă asigura că se oprește înainte de a se deteriora singur.
% Verificați senzorul de lumină dacă AA_lightcheck (rob) rob.stop rob.setLEDDigits („Perete”) pauză (0,5) obstacol (ciclu) = 1; % Perete AA_wallbeep (rob)% Back Up and Turn rob.moveDistance (-. 15) rob.turnAngle (30) end% Verificați senzorul Bump dacă AA_bumpcheck (rob) rob.stop rob.setLEDDigits („Wall”) pauză (0,5) obstacol (ciclu) = 1; % Perete AA_wallbeep (rob)% Back Up and Turn rob.moveDistance (-. 15) rob.turnAngle (30) end% Dacă nu există dacă este gol (obstacol) obstacol (ciclu) = 0; elseif lungime (obstacol) <ciclu obstacol (ciclu) = 0; Sfârșit
Pasul 5: Pasul 5: Complotarea
Acest cod vă va spune roomba să descrie ceea ce întâlnește în călătoria sa. Un complot ca acesta va apărea după ce roomba s-a oprit.
% Obțineți poziția d = rob.getDistance; if cycle == 1 theta (cycle) = 0; x (ciclu) = d. * cosd (theta (ciclu)); % dist total parcurs în x y (ciclu) = d. * sind (theta (ciclu)); % distanță totală parcursă în altceva theta (ciclu) = theta (ciclu-1) + rob.getAngle; x (ciclu) = d. * cosd (theta (ciclu)) + x (ciclu-1); % dist total parcurs în x y (ciclu) = d. * sind (theta (ciclu)). * d + y (ciclu-1); % distanță totală parcursă la sfârșitul anului% Stare de pauză dacă rob.getButtons.clean sfârșit de pauză% Ciclu ciclu de creștere = ciclu + 1; end rob.stop for i = 1: cycle if obstacle (i) == 1% Grafic de perete (x (i), y (i), 'Marker', 'square', 'MarkerEdgeColor', 'r') elseif obstacle (i) == 2% Cliff plot (x (i), y (i), 'Marker', 'o', 'MarkerEdgeColor', 'k') text final (.9, 0.9, sprintf ('Square = Wall / nCircle = Cliff '),' Units ',' normalized ') hold on end% Distress Signal while true rob.beep pause (3) if rob.getButtons.clean break end end% catch% rob.stop% end
Recomandat:
Proiectul Lightshowpi: 4 pași
Proiectul Lightshowpi: Bună ziua tuturor! Acesta este ghidul meu oficial despre cum să creați un spectacol de lumini folosind lightshowpi începând din octombrie 2020
Proiectul Creative Switch de Christopher Serafin: 4 pași
Proiect Creative Switch de Christopher Serafin: Salutări! Pentru acest proiect de comutare creativă, am decis să încerc să adaug lumini LED la o geantă de umăr, în acest caz o husă de transport Nintendo 3DS. Pungile de umăr obișnuite ar putea fi un pic plictisitoare, dar cu unele lumini LED, cu siguranță poate lumina orice geantă
Roomba controlată MATLAB: 5 pași
MATLAB Controlled Roomba: Scopul acestui proiect este de a utiliza MATLAB, precum și un robot programabil iRobot modificat. Grupul nostru a combinat abilitățile noastre de codificare pentru a crea un script MATLAB care utilizează multe funcții ale iRobot, inclusiv senzorii de stâncă, sensul barei de protecție
Proiectul Mars Roomba UTK: 4 pași
Mars Roomba Project UTK: DISCLAIMER: ACEASTA VA FUNCȚIONA DOAR DACĂ ROOMBA ESTE CONFIGURATĂ ÎN MOD DETERMINAT, ACEST INSTRUCTABIL A FOST CREAT PENTRU A FI UTILIZAT DE STUDENȚII ȘI FACULTATEA UNIVERSITĂȚII TENNESSEE Acest cod este utilizat pentru a configura un Roomba pentru a rula local. scris și s
Roomba Cu MATLAB: 4 pași (cu imagini)
Roomba With MATLAB: Acest proiect folosește MATLAB și un robot programabil iRobot Create2. Punând la încercare cunoștințele noastre despre MATLAB, suntem capabili să programăm Create2 pentru a interpreta imagini și a detecta semnale. Funcționalitatea robotului depinde în principal de