Satura rādītājs:
- 1. darbība: 1. darbība: nepieciešamie materiāli
- 2. darbība: 2. darbība: Roomba koda iestatīšana/iegūšana
- 3. darbība: 3. darbība: klints sensoru/LED gaismu uzstādīšana
- 4. darbība: 4. darbība. Šķēršļu pārbaude
- 5. darbība: 5. darbība
Video: Roomba MATLAB projekts: 5 soļi
2024 Autors: John Day | [email protected]. Pēdējoreiz modificēts: 2024-01-30 10:56
Pašreizējais NASA plāns attiecībā uz Marsa roveri ir paredzēts, lai tas būtu datu savācējs un klīst apkārt Marsam, savācot augsnes paraugus, lai tos atgrieztu uz Zemes, lai zinātnieki varētu redzēt, vai uz planētas ir bijušas iepriekšējās dzīvības formas. Turklāt rover nosūta atpakaļ attēlus zinātniekiem, lai viņi varētu palīdzēt pārvietoties pa roveri un novērst iespējamās problēmas.
Mūsu grupas ideja mūsu projektam ir tāda, ka roveris darīs to pašu, ko NASA roveris, kurš 2020. gadā atstās zemi, bet arī, lai kartētu zemes ģeogrāfiju. Roomba spētu nojaust klintis un apstāties, pirms tas nokrīt, un pēc tam dublēties, pagriezties un mainīt kursu, lai tas nenokristu un netiktu sabojāts. Cita mūsu ideja, kas iekļauta mūsu projektā, ir, lai roomba varētu uzzīmēt redzamos orientierus un parādīt sižetu katru reizi, kad cilpa ir pabeigta un tā norise ir pabeigta.
Šī pamācība ir paredzēta ikvienam citam, kurš vēlas izveidot tāda paša veida kodu savai roomba.
1. darbība: 1. darbība: nepieciešamie materiāli
Jums būs nepieciešams:
- Istabiņa
- MATLAB
- Šis fails, lai palaistu roomba
- Plakana virsma
- Galda virsma, kas darbojas kā "klints"
2. darbība: 2. darbība: Roomba koda iestatīšana/iegūšana
Pēc failu ievadīšanas ekrāns izskatīsies šādi.
3. darbība: 3. darbība: klints sensoru/LED gaismu uzstādīšana
Šis kods jūsu istabai precīzi pateiks, kādā leņķī pagriezties, pārbaudīs informāciju par akumulatoru, pateiks istabai, cik ātri jāiet, un pārbaudīs, vai nav personas, izmantojot roomba kameru. Tas arī pīkstēs, ja identificēs personu, un apstāsies pirms nokāpšanas no klints.
% mēģiniet rob.setLEDDigits ('') x = 0; y = 0; teta = 0; šķērslis = ; cikls = 1; AngCorr = @(x) x + 3,059.*X.^0,4205; %Funkcija, lai labotu pagrieziena leņķus, kamēr rob.getBatteryInfo.percent> 15 rob.setLEDDigits (") rob.setDriveVelocity (0,1) %Go %Pārbaudīt personu, ja AA_checkperson (rob) rob.beep end %Pārbaudiet klints sensoru, ja AA_cliffcheck (rob) rob.stop rob.setLEDDigits ('Cliff') pauze (0,5) šķērslis (cikls) = 2; AA_cliffbeep (rob) %Dublēt un pagriezt rob.moveDistance (-. 15) rob.turnAngle (30) beigas
4. darbība: 4. darbība. Šķēršļu pārbaude
Šis kods ļaus Roomba pārbaudīt apkārt esošos priekšmetus un pārbaudīs trieciena sensoru, lai pārliecinātos, ka tas apstājas, pirms tas pats sevi sabojā.
%Pārbaudiet gaismas sensoru, ja AA_lightcheck (rob) rob.stop rob.setLEDDigits ('Siena') pauze (0,5) šķērslis (cikls) = 1; %Wall AA_wallbeep (rob) %Back Up And Turn rob.moveDistance (-. 15) rob.turnAngle (30) end %Pārbaudiet sasituma sensoru, ja AA_bumpcheck (rob) rob.stop rob.setLEDDigits ('Wall') pauze (0.5) šķērslis (cikls) = 1; %Wall AA_wallbeep (aplaupīt) %Back Up And Turn rob.moveDistance (-. 15) rob.turnAngle (30) end %Ja nav, ja ir tukšs (šķērslis) šķērslis (cikls) = 0; elseif garums (šķērslis) <cikla šķērslis (cikls) = 0; beigas
5. darbība: 5. darbība
Šis kods liks jūsu roomba uzzīmēt, ar ko tā saskaras savā ceļojumā. Šāds sižets parādīsies pēc tam, kad roomba būs apstājies.
%Iegūt pozīciju d = rob.getDistance; ja cikls == 1 teta (cikls) = 0; x (cikls) = d.*cosd (teta (cikls)); % kopējais nobrauktais attālums x y (cikls) = d.*sind (teta (cikls)); % kopējais nobrauktais attālums citur teta (cikls) = teta (cikls-1) + rob.getAngle; x (cikls) = d.*cosd (teta (cikls)) + x (cikls-1); % kopējais nobrauktais attālums x y (cikls) = d.*sind (teta (cikls)).*d + y (cikls-1); %kopējais nobrauktais attālums y beigās %Pārtraukuma nosacījums, ja rob.getButtons.clean break end %Palielinājuma cikla cikls = cikls + 1; beigas rob.stop uz i = 1: cikls, ja šķērslis (i) == 1 %Sienas gabals (x (i), y (i), 'Marķieris', 'kvadrāts', 'MarkerEdgeColor', 'r') cits šķērslis (i) == 2 %klints diagramma (x (i), y (i), 'marķieris', 'o', 'MarkerEdgeColor', 'k') beigu teksts (.9, 0,9, sprintf ('Square = Wall / nCircle = Cliff '),' Units ',' normalized ') aiztur beigu % briesmu signālu, kamēr patiesa rob.beep pauze (3), ja rob.getButtons.clean break end end % catch % rob.stop % end
Ieteicams:
Gimbal stabilizatora projekts: 9 soļi (ar attēliem)
Gimbal stabilizatora projekts: kā izveidot gimbalu Uzziniet, kā izveidot 2 asu kardānu savai darbības kamerai. Mūsdienu kultūrā mums visiem patīk ierakstīt video un iemūžināt mirkļus, it īpaši, ja esat satura veidotājs kā es, jūs noteikti esat saskāries ar problēmu tik nestabils video
MATLAB kontrolējamā Roomba: 5 soļi
MATLAB kontrolēta Roomba: Šī projekta mērķis ir izmantot MATLAB, kā arī modificētu iRobot programmējamo robotu. Mūsu grupa apvienoja mūsu kodēšanas prasmes, lai izveidotu MATLAB skriptu, kas izmanto daudzas iRobot funkcijas, tostarp klints sensorus, bufera sensoru
Mars Roomba projekts UTK: 4 soļi
Mars Roomba Project UTK: ATRUNA: TAS TIKS TIKAI, JA ROOMBA IESTATĪTU ĪPAŠI, ŠO INSTRUKCIJU TIKA IZVEIDOTA UN NOLŪKUSI IZMANTOT TENSESA STUDENTU UN FAKULTĀTES UNIVERSITĀTE Šis kods tiek izmantots, lai iestatītu rakstīts un s
Roomba projekts: 5 soļi (ar attēliem)
Roomba projekts: šī pamācība tika izveidota, izpildot Dienvidfloridas universitātes Makecourse projekta prasības (www.makecourse.com). Šī pamācība aptvers visas nepieciešamās darbības un sastāvdaļas, kas nepieciešamas, lai saliktu manu Roomba projektu
Roomba ar MATLAB: 4 soļi (ar attēliem)
Roomba ar MATLAB: Šis projekts izmanto MATLAB un programmējamu robotu iRobot Create2. Pārbaudot savas zināšanas par MATLAB, mēs varam programmēt Create2, lai interpretētu attēlus un noteiktu signālus. Robota funkcionalitāte galvenokārt ir atkarīga no