Բովանդակություն:
- Քայլ 1: Քայլ 1: Անհրաժեշտ նյութեր
- Քայլ 2: Քայլ 2. Կարգավորեք/ստացեք կոդ Roomba- ի համար
- Քայլ 3: Քայլ 3. Կառուցեք ժայռերի տվիչներ/LED լուսարձակներ
- Քայլ 4: Քայլ 4. Խոչընդոտների առկայության ստուգում
- Քայլ 5: Քայլ 5. Դավադրություն
Video: Roomba MATLAB նախագիծ ՝ 5 քայլ
2024 Հեղինակ: John Day | [email protected]. Վերջին փոփոխված: 2024-01-30 09:49
Ներկայիս ծրագիրը, որ NASA- ն ունի Մարսագնացների վերաբերյալ, այն է, որ այն լինի տվյալների հավաքող և պտտվի Մարսի շուրջը ՝ հավաքելով հողի նմուշներ Երկիր վերադարձնելու համար, որպեսզի գիտնականները կարողանան տեսնել, թե արդյոք մոլորակում գոյություն ունեին կյանքի նախկին ձևեր: Բացի այդ, արբանյակը հետ է ուղարկում պատկերներ գիտնականներին, որպեսզի նրանք կարողանան օգնել նավարկող սարքում և շտկել դրա հետ կապված ցանկացած խնդիր:
Մեր խմբի գաղափարը մեր նախագծի վերաբերյալ այն է, որ արբանյակն անի նույնը, ինչ ՆԱՍԱ -ի թռիչքը, որը լքելու է երկիրը 2020 թվականին, բայց նաև քարտեզագրելու երկրի աշխարհագրությունը: Սենյակը կարող է զգալ ժայռերը և կանգ առնել ինքն իրեն ընկնելուց առաջ, այնուհետև հետ կանգնել, շրջվել և փոխել իր ընթացքը, որպեսզի չընկնի և չվնասվի: Մեր նախագծում ներառված մեր մյուս գաղափարն այն է, որ roomba- ն կարողանա գծել իր տեսած տեսարժան վայրերը և ամեն անգամ օղակի ավարտից և ընթացքն ավարտելուց հետո ցույց տալ սյուժե:
Սա ուսանելի է ցանկացած այլ անձի համար, ով կցանկանար ստեղծել նույն տեսակի ծածկագիր իրենց սենյակի համար:
Քայլ 1: Քայլ 1: Անհրաժեշտ նյութեր
Ձեզ հարկավոր կլինի.
- Մի սենյակ
- MATLAB
- Այս ֆայլը գործարկելու է roomba- ն
- Հարթ մակերես
- Սեղանի մակերես, որը հանդես կգա որպես «ժայռ»
Քայլ 2: Քայլ 2. Կարգավորեք/ստացեք կոդ Roomba- ի համար
Ֆայլերը մուտքագրելուց հետո ձեր էկրանն այսպիսին կլինի:
Քայլ 3: Քայլ 3. Կառուցեք ժայռերի տվիչներ/LED լուսարձակներ
Այս ծածկագիրը ճշգրտորեն կպատմի ձեր roomba- ին, թե որ անկյունը շրջել, ստուգեք մարտկոցի տվյալները, ձեր սենյակին կասի, թե որքան արագ է գնում և ինչ -որ անձի ստուգելու սենյակի տեսախցիկի միջոցով: Այն նաև ձայնային ազդանշան կտա, եթե ճանաչի մարդուն, և ինքն իրեն կանգնեցնի նախքան ժայռից դուրս գալը:
% փորձել rob.setLEDDigits ('') x = 0; y = 0; թետա = 0; խոչընդոտ = ; ցիկլ = 1; AngCorr = @(x) x + 3.059.*X.^0.4205; %Rob.getBatteryInfo.percent> 15 rob.setLEDDigits ('') rob.setDriveVelocity (0.1) %Գնալ %Ստուգել անձի համար, եթե AA_checkperson (rob) rob.beep վերջ %Check Cliff Sensor if AA_cliffcheck (rob) rob.stop rob.setLEDDigits ('Cliff') դադար (0.5) խոչընդոտ (ցիկլ) = 2; AA_cliffbeep (կողոպուտ) %Back Up And Turn rob.moveDistance (-. 15) rob.turnAngle (30) վերջ
Քայլ 4: Քայլ 4. Խոչընդոտների առկայության ստուգում
Այս ծածկագիրը կստանա roomba- ն ՝ իր շուրջը գտնվող իրերի ստուգման համար, և կստուգի հարվածի տվիչը ՝ համոզվելու համար, որ այն կանգ է առնում, նախքան ինքն իրեն վնասելը:
%Ստուգեք լույսի ցուցիչը, եթե AA_lightcheck (կողոպուտ) rob.stop rob.setLEDDigits ('Wall') դադար (0.5) խոչընդոտ (ցիկլ) = 1; %Պատ AA_wallbeep (կողոպուտ) %Back Up And Turn rob.moveDistance (-. 15) rob.turnAngle (30) end %Ստուգեք Bump Sensor, եթե AA_bumpcheck (կողոպուտ) rob.stop rob.setLEDDigits ('Wall') դադար (0.5) խոչընդոտ (ցիկլ) = 1; %Wall AA_wallbeep (կողոպուտ) %Back Up And Turn rob.moveDistance (-. 15) rob.turnAngle (30) end %Եթե ոչ մեկը, եթե դատարկ (խոչընդոտ) խոչընդոտ (ցիկլ) = 0; elseif երկարություն (խոչընդոտ) <ցիկլի խոչընդոտ (ցիկլ) = 0; վերջ
Քայլ 5: Քայլ 5. Դավադրություն
Այս ծածկագիրը կպատմի ձեր roomba- ին ՝ գծագրել այն, ինչ հանդիպում է իր ճանապարհորդության ընթացքում: Այսպիսի սյուժեն կհայտնվի սենյակի ավարտից հետո:
%Ստացեք պաշտոն d = rob.getDistance; եթե ցիկլ == 1 թետա (ցիկլ) = 0; x (ցիկլ) = դ.*cosd (theta (ցիկլ)); % ընդհանուր ճանապարհորդություն x y (ցիկլ) = d.*sind (theta (ցիկլ)); % ընդհանուր ճանապարհորդություն y ուրիշ տետա (ցիկլ) = theta (ցիկլ -1) + rob.getAngle; x (ցիկլ) = դ.*cosd (theta (ցիկլ)) + x (ցիկլ -1); % ընդհանուր ճանապարհորդություն x y (ցիկլ) = d.*sind (theta (ցիկլ)).*d + y (ցիկլ -1); %ընդհանուր ճանապարհորդություն y վերջում %Break վիճակ, եթե rob.getButtons.clean break end %Բարձրացման ցիկլ = ցիկլ + 1; վերջ rob.stop- ի համար i = 1: ցիկլ եթե խոչընդոտ (i) == 1 %Պատի գծապատկեր (x (i), y (i), 'Marker', 'square', 'MarkerEdgeColor', 'r') elseif արգելք (i) == 2 %Cliff plot (x (i), y (i), 'Marker', 'o', 'MarkerEdgeColor', 'k') վերջնական տեքստ (.9, 0.9, sprintf ('Square = Wall / n Շրջանակ = ժայռ »),« Միավորներ »,« նորմալացված ») վերջը պահեք % Distress ազդանշանը մինչ իսկական rob.beep դադար (3), եթե rob.getButtons.clean break end end % catch % rob.stop % end
Խորհուրդ ենք տալիս:
Կենդանիների սննդի ամանի ավտոմատ նախագիծ. 13 քայլ
Կենդանիների սննդի գավաթների ավտոմատ նախագիծ. Այս հրահանգը կներկայացնի և կբացատրի, թե ինչպես կարելի է կառուցել ավտոմատացված, ծրագրավորվող ընտանի կենդանիների սնուցող սարք `կցված սննդի ամաններով: Ես կցել եմ այստեղ տեսանյութ, որը պատկերում է, թե ինչպես են գործում ապրանքները և ինչ տեսք ունի
MATLAB վերահսկվող Roomba: 5 քայլ
MATLAB Controlled Roomba. Այս նախագծի նպատակն է օգտագործել MATLAB- ը, ինչպես նաև փոփոխված iRobot ծրագրավորվող ռոբոտը: Մեր խումբը համատեղեց մեր կոդավորման հմտությունները `ստեղծելու համար MATLAB սցենար, որն օգտագործում է iRobot- ի բազմաթիվ գործառույթներ, ներառյալ ժայռերի տվիչները, բամպերի զգայունությունը
10 հիմնական Arduino նախագիծ սկսնակների համար: Կատարեք առնվազն 15 նախագիծ մեկ տախտակով: 6 քայլ
10 հիմնական Arduino նախագիծ սկսնակների համար: Կատարեք առնվազն 15 նախագիծ մեկ տախտակով: Arduino Project & Ուսուցողական խորհուրդ; Ներառում է 10 հիմնական Arduino նախագիծ: Բոլոր կոդերը, Gerber ֆայլը և այլն: Ոչ SMD! Հեշտ զոդում բոլորի համար: Հեշտ շարժական և փոխարինելի բաղադրիչներ: Դուք կարող եք կատարել առնվազն 15 նախագիծ մեկ բո
Roomba նախագիծ. 5 քայլ (նկարներով)
Roomba նախագիծ. Այս հրահանգը ստեղծվել է Հարավային Ֆլորիդայի համալսարանի Makecourse- ի նախագծի պահանջի կատարման համար (www.makecourse.com): Այս հրահանգը կներառի բոլոր անհրաժեշտ քայլերն ու բաղադրիչները, որոնք անհրաժեշտ են իմ Roomba նախագիծը հավաքելու համար
Roomba MATLAB- ով. 4 քայլ (նկարներով)
Roomba With MATLAB: Այս նախագիծը օգտագործում է MATLAB- ը և iRobot Create2 ծրագրավորվող ռոբոտը: Փորձարկելով MATLAB- ի մասին մեր գիտելիքները, մենք կարողանում ենք ծրագրավորել Creat2- ը պատկերների մեկնաբանման և ազդանշանների հայտնաբերման համար: Ռոբոտի ֆունկցիոնալությունը հիմնականում կախված է