Indholdsfortegnelse:
- Trin 1: Trin 1: Nødvendige materialer
- Trin 2: Trin 2: Opsætning/hentning af kode til Roomba
- Trin 3: Trin 3: Opsætning af klippesensorer/LED -lys
- Trin 4: Trin 4: Kontrol af forhindringer
- Trin 5: Trin 5: Plotte
Video: Roomba MATLAB -projekt: 5 trin
2024 Forfatter: John Day | [email protected]. Sidst ændret: 2024-01-30 08:28
Den nuværende plan, som NASA har for Mars -roveren, er, at den skal være en dataindsamler og vandre rundt på Mars og samle prøver af jorden for at bringe den tilbage til Jorden, så forskere kan se, om der var tidligere livsformer på planeten. Derudover sender roveren billeder tilbage til forskere, så de kan hjælpe med at navigere i roveren og løse eventuelle problemer, den måtte have.
Vores gruppes idé til vores projekt er, at roveren skal gøre det samme som NASA -roveren, der forlader jorden i 2020, men at den også skal kortlægge landets geografi. Roomba ville være i stand til at fornemme klipper og stoppe sig selv, før den falder af, og derefter bakke op, dreje og ændre kurs, så den ikke falder og bliver beskadiget. Vores anden idé, der er integreret i vores projekt, er, at roomba skal kunne plotte de vartegn, den ser, og vise et plot hver gang sløjfen er færdig, og dens forløb er blevet kørt.
Denne instruerbare er for alle andre, der gerne vil oprette den samme type kode til deres roomba.
Trin 1: Trin 1: Nødvendige materialer
Du får brug for:
- En roomba
- MATLAB
- Denne fil til at køre roomba
- En flad overflade
- En bordoverflade til at fungere som en "klippe"
Trin 2: Trin 2: Opsætning/hentning af kode til Roomba
Din skærm vil se sådan ud, når du har indtastet filerne.
Trin 3: Trin 3: Opsætning af klippesensorer/LED -lys
Denne kode fortæller din roomba nøjagtigt hvilken vinkel den skal dreje, tjekker batterioplysningerne, fortæller din roomba, hvor hurtigt den skal gå, og for at kontrollere, om en person er gennem roombas kamera. Det vil også bippe, hvis det identificerer en person, og stoppe sig selv, før det går ud af en klippe.
% prøv rob.setLEDDigits ('') x = 0; y = 0; theta = 0; forhindring = ; cyklus = 1; AngCorr = @(x) x + 3.059.*X.^0.4205; %Funktion til at korrigere drejningsvinkler, mens rob.getBatteryInfo.percent> 15 rob.setLEDDigits ('') rob.setDriveVelocity (0.1) %Gå %Check For Person, hvis AA_checkperson (rob) rob.beep end %Check Cliff Sensor hvis AA_cliffcheck (rob) rob.stop rob.setLEDDigits ('Cliff') pause (0,5) forhindring (cyklus) = 2; AA_cliffbeep (rob) %Sikkerhedskopier og drej rob.moveDistance (-. 15) rob.turnAngle (30) ende
Trin 4: Trin 4: Kontrol af forhindringer
Denne kode får roomba til at kontrollere, om der er ting omkring den, og vil kontrollere stødføleren for at sikre, at den stopper, før den beskadiger sig selv.
%Kontroller lyssensoren, hvis AA_lightcheck (rob) rob.stop rob.setLEDDigits ('Wall') pause (0.5) forhindring (cyklus) = 1; %Wall AA_wallbeep (rob) %Sikkerhedskopier og drej rob.moveDistance (-. 15) rob.turnAngle (30) end %Check Bump Sensor hvis AA_bumpcheck (rob) rob.stop rob.setLEDDigits ('Wall') pause (0.5) forhindring (cyklus) = 1; %Wall AA_wallbeep (rob) %Sikkerhedskopier og drej rob.moveDistance (-. 15) rob.turnAngle (30) end %If none if isempty (hinder) hinder (cyklus) = 0; elseif længde (forhindring) <cyklus forhindring (cyklus) = 0; ende
Trin 5: Trin 5: Plotte
Denne kode fortæller din roomba at planlægge, hvad den støder på på sin rejse. Et plot som dette vil dukke op, efter at roomba er stoppet.
%Få position d = rob.getDistance; hvis cyklus == 1 theta (cyklus) = 0; x (cyklus) = d.*cosd (theta (cyklus)); % total tilbagelagt afstand i x y (cyklus) = d.*sind (theta (cyklus)); % total tilbagelagt afstand i y ellers theta (cyklus) = theta (cyklus-1) + rob.getAngle; x (cyklus) = d.*cosd (theta (cyklus)) + x (cyklus-1); % total tilbagelagt afstand i x y (cyklus) = d.*sind (theta (cyklus)).*d + y (cyklus-1); %total tilbagelagt afstand i y ende %Pausetilstand, hvis rob.getButtons.clean break end %Forøgelsescykluscyklus = cyklus + 1; slut rob.stop for i = 1: cyklus hvis forhindring (i) == 1 %Vægplot (x (i), y (i), 'Marker', 'square', 'MarkerEdgeColor', 'r') ellershindring (i) == 2 %Cliff plot (x (i), y (i), 'Marker', 'o', 'MarkerEdgeColor', 'k') sluttekst (.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
Anbefalede:
Gør din Roomba til en Mars Rover: 5 trin
Gør din Roomba til en Mars Rover:
Roomba Bot the Bulider: 5 trin (med billeder)
Roomba Bot Bulider: Bot the Builder er en roomba, der med " grabbers " fastgjort til fronten vil kunne flytte objekter rundt. Koden med den er indstillet til at optage den første sats med en GUI -boks, som du kan styre med bare et klik med musen. Efter
MATLAB -styret Roomba: 5 trin
MATLAB -styret Roomba: Målet med dette projekt er at udnytte MATLAB samt en modificeret iRobot programmerbar robot. Vores gruppe kombinerede vores kodningsevner for at oprette et MATLAB -script, der bruger mange funktioner i iRobot, herunder cliff -sensorer, kofanger -sensorer
Fra Roomba til Rover på bare 5 trin !: 5 trin
Fra Roomba til Rover på bare 5 trin !: Roomba -robotter er en sjov og nem måde at dyppe tæerne i robotikens verden. I denne Instructable vil vi detaljeret beskrive, hvordan man konverterer en simpel Roomba til en kontrollerbar rover, der samtidigt analyserer sine omgivelser. Deleliste1.) MATLAB2.) Roomb
Roomba With MATLAB: 4 trin (med billeder)
Roomba With MATLAB: Dette projekt gør brug af MATLAB og en iRobot Create2 programmerbar robot. Ved at sætte vores viden om MATLAB på prøve kan vi programmere Create2 til at fortolke billeder og registrere signaler. Robotens funktionalitet afhænger hovedsageligt af