Innholdsfortegnelse:
- Trinn 1: Trinn 1: Nødvendige materialer
- Trinn 2: Trinn 2: Sette opp/få kode for Roomba
- Trinn 3: Trinn 3: Sette opp klippesensorer/LED -lys
- Trinn 4: Trinn 4: Se etter hindringer
- Trinn 5: Trinn 5: Plotte
Video: Roomba MATLAB -prosjekt: 5 trinn
2024 Forfatter: John Day | [email protected]. Sist endret: 2024-01-30 11:24
Den nåværende planen som NASA har for Mars -roveren er at den skal være en datainnsamler og vandre rundt Mars og samle prøver av jorda for å bringe tilbake til jorden slik at forskere kan se om det var noen tidligere livsformer på planeten. I tillegg sender roveren bilder tilbake til forskere, slik at de kan hjelpe deg med å navigere i roveren og fikse eventuelle problemer.
Vår gruppes idé for prosjektet vårt er at roveren skal gjøre det samme som NASA -roveren som skal forlate jorden i 2020, men at den også skal kartlegge landets geografi. Roomba ville være i stand til å føle klipper og stoppe seg selv før den faller av, og deretter sikkerhetskopiere, snu og endre kursen slik at den ikke faller og blir skadet. Vår andre idé integrert i prosjektet vårt er at roomba skal kunne plotte ut landemerkene den ser, og vise et plott hver gang løkken er ferdig og kursen har blitt kjørt.
Denne instruksen er for alle andre som ønsker å lage den samme typen kode for sin roomba.
Trinn 1: Trinn 1: Nødvendige materialer
Du vil trenge:
- En roomba
- MATLAB
- Denne filen for å kjøre roomba
- En flat overflate
- En bordoverflate for å fungere som en "klippe"
Trinn 2: Trinn 2: Sette opp/få kode for Roomba
Skjermen din vil se slik ut når du har lagt inn filene.
Trinn 3: Trinn 3: Sette opp klippesensorer/LED -lys
Denne koden vil fortelle din roomba nøyaktig hvilken vinkel den skal snu, sjekke batteriinformasjonen, fortelle din roomba hvor fort den skal gå, og for å se etter en person gjennom roomba -kameraet. Det vil også pippe hvis det identifiserer en person, og stoppe seg selv før du går av en klippe.
% prøv rob.setLEDDigits ('') x = 0; y = 0; theta = 0; hinder = ; syklus = 1; AngCorr = @(x) x + 3.059.*X.^0.4205; %Funksjon for å korrigere svingvinkler mens rob.getBatteryInfo.percent> 15 rob.setLEDDigits ('') rob.setDriveVelocity (0.1) %Gå %Se etter person hvis AA_checkperson (rob) rob.beep end %Kontroller Cliff Sensor hvis AA_cliffcheck (rob) rob.stop rob.setLEDDigits ('Cliff') pause (0,5) hinder (syklus) = 2; AA_cliffbeep (rob) %Back Up And Turn rob.moveDistance (-. 15) rob.turnAngle (30) end
Trinn 4: Trinn 4: Se etter hindringer
Denne koden får romba til å sjekke om det er ting rundt den, og sjekker støtsensoren for å sikre at den stopper før den skader seg selv.
%Kontroller lyssensoren hvis AA_lightcheck (rob) rob.stop rob.setLEDDigits ('Wall') pause (0.5) hinder (syklus) = 1; %Wall AA_wallbeep (rob) %Back Up and Turn rob.moveDistance (-. 15) rob.turnAngle (30) end %Check Bump Sensor if AA_bumpcheck (rob) rob.stop rob.setLEDDigits ('Wall') pause (0.5) hinder (syklus) = 1; %Wall AA_wallbeep (rob) %Back Up And Turn rob.moveDistance (-. 15) rob.turnAngle (30) end %If none if isempty (hinder) hinder (syklus) = 0; elseif lengde (hinder) <syklus hinder (syklus) = 0; slutt
Trinn 5: Trinn 5: Plotte
Denne koden vil fortelle din romba å plotte ut hva den møter på sin reise. Et plot som dette vil dukke opp etter at roomba har stoppet.
%Få posisjon d = rob.getDistance; hvis syklus == 1 theta (syklus) = 0; x (syklus) = d.*cosd (theta (syklus)); % total distanse tilbakelagt i x y (syklus) = d.*sind (theta (syklus)); % total distansert distanse i y ellers theta (syklus) = theta (syklus-1) + rob.getAngle; x (syklus) = d.*cosd (theta (syklus)) + x (syklus-1); % total distansert distanse i x y (syklus) = d.*sind (theta (syklus)).*d + y (syklus-1); %total distansert distanse i y ende %Pausetilstand hvis rob.getButtons.clean pause slutt %Økende syklus = syklus + 1; avslutt rob.stop for i = 1: syklus hvis hinder (i) == 1 %Vegplott (x (i), y (i), 'Marker', 'square', 'MarkerEdgeColor', 'r') elseif hinder (i) == 2 %Cliff plot (x (i), y (i), 'Marker', 'o', 'MarkerEdgeColor', 'k') slutttekst (.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
Anbefalt:
Gjør Roomba til en Mars Rover: 5 trinn
Gjør Roomba til en Mars Rover:
Roomba Bot the Bulider: 5 trinn (med bilder)
Roomba Bot Bulider: Bot the Builder er en roomba, som med " grabbers " festet til fronten vil kunne flytte objekter rundt. Koden med den er satt til å registrere den første satsen med en GUI -boks som du kan kontrollere med bare museklikk. Etter
MATLAB -kontrollert Roomba: 5 trinn
MATLAB -kontrollert Roomba: Målet med dette prosjektet er å bruke MATLAB så vel som en modifisert iRobot programmerbar robot. Gruppen vår kombinerte kodingskunnskapene våre for å lage et MATLAB -skript som bruker mange funksjoner i iRobot, inkludert klippesensorene, støtfangersensoren
Fra Roomba til Rover på bare 5 trinn !: 5 trinn
Fra Roomba til Rover på bare 5 trinn !: Roomba -roboter er en morsom og enkel måte å dyppe tærne i robotikkens verden. I denne instruksen vil vi detaljere hvordan du konverterer en enkel Roomba til en kontrollerbar rover som samtidig analyserer omgivelsene. Deleliste1.) MATLAB2.) Roomb
Roomba With MATLAB: 4 trinn (med bilder)
Roomba With MATLAB: Dette prosjektet bruker MATLAB og en iRobot Create2 programmerbar robot. Ved å sette vår kunnskap om MATLAB på prøve, kan vi programmere Create2 til å tolke bilder og oppdage signaler. Robotens funksjonalitet avhenger hovedsakelig av