Innehållsförteckning:
- Steg 1: Steg 1: Material som behövs
- Steg 2: Steg 2: Konfigurera/skaffa kod för Roomba
- Steg 3: Steg 3: Konfigurera klippsensorer/LED -lampor
- Steg 4: Steg 4: Kontrollera om det finns hinder
- Steg 5: Steg 5: Plotta
Video: Roomba MATLAB -projekt: 5 steg
2024 Författare: John Day | [email protected]. Senast ändrad: 2024-01-30 12:45
Den nuvarande planen som NASA har för Mars -rovern är att den ska vara en datainsamlare och ströva runt Mars och samla jordprover för att ta tillbaka till jorden så att forskare kan se om det fanns några tidigare livsformer på planeten. Dessutom skickar rovern tillbaka bilder till forskare, så att de kan hjälpa till att navigera i rovern och åtgärda eventuella problem.
Vår grupps idé för vårt projekt är att rovern ska göra samma sak som NASA -rovern som kommer att lämna jorden 2020, men att den också ska kartlägga landets geografi. Roomba skulle kunna känna av klippor och stoppa sig själv innan den ramlar av och sedan backa, vända och ändra sin kurs så att den inte faller och skadas. Vår andra idé som är integrerad i vårt projekt är att roomba ska kunna rita ut landmärken den ser och visa en plot varje gång slingan är klar och dess kurs har körts.
Denna instruerbara är för alla andra som vill skapa samma typ av kod för sin roomba.
Steg 1: Steg 1: Material som behövs
Du kommer behöva:
- En roomba
- MATLAB
- Denna fil för att köra roomba
- En plan yta
- En bordsyta för att fungera som en "klippa"
Steg 2: Steg 2: Konfigurera/skaffa kod för Roomba
Din skärm kommer att se ut så här när du matar in filerna.
Steg 3: Steg 3: Konfigurera klippsensorer/LED -lampor
Denna kod kommer att berätta för din roomba exakt vilken vinkel den ska vända, kontrollera batteriinformationen, berätta för din roomba hur snabbt den ska gå och för att kontrollera efter en person genom roombas kamera. Det kommer också att pipa om den identifierar en person och stoppar sig själv innan han går av en klippa.
% försök rob.setLEDDigits ('') x = 0; y = 0; theta = 0; hinder = ; cykel = 1; AngCorr = @(x) x + 3.059.*X.^0.4205; %Funktion för att korrigera svängvinklar medan rob.getBatteryInfo.percent> 15 rob.setLEDDigits ('') rob.setDriveVelocity (0.1) %Gå %Kontrollera person om AA_checkperson (rob) rob.beep slut %Kontrollera Cliff Sensor om AA_cliffcheck (rob) rob.stop rob.setLEDDigits ('Cliff') paus (0,5) hinder (cykel) = 2; AA_cliffbeep (rob) %Back Up And Turn rob.moveDistance (-. 15) rob.turnAngle (30) end
Steg 4: Steg 4: Kontrollera om det finns hinder
Den här koden får roomba för kontroll av föremål runt den och kontrollerar bumpsensorn för att se till att den stannar innan den skadar sig själv.
%Kontrollera ljussensorn om AA_lightcheck (rob) rob.stop rob.setLEDDigits ('Wall') paus (0,5) hinder (cykel) = 1; %Vägg AA_wallbeep (rob) %Säkerhetskopiera och vrid rob.moveDistance (-. 15) rob.turnAngle (30) slutet %Kontrollera bumpsensorn om AA_bumpcheck (rob) rob.stop rob.setLEDDigits ('Wall') paus (0.5) hinder (cykel) = 1; %Wall AA_wallbeep (rob) %Back Up And Turn rob.moveDistance (-. 15) rob.turnAngle (30) end %If none if isempty (hinder) hinder (cykel) = 0; elseif längd (hinder) <cykelhinder (cykel) = 0; slutet
Steg 5: Steg 5: Plotta
Denna kod kommer att berätta för din roomba att rita ut vad den möter på sin resa. En tomt som denna kommer att visas efter att roomba har slutat.
%Få position d = rob.getDistance; om cykel == 1 theta (cykel) = 0; x (cykel) = d.*cosd (theta (cykel)); % total distans rest i x y (cykel) = d.*sind (theta (cykel)); % total distans rest i y annars theta (cykel) = theta (cykel-1) + rob.getAngle; x (cykel) = d.*cosd (theta (cykel)) + x (cykel-1); % total distans rest i x y (cykel) = d.*sind (theta (cykel)).*d + y (cykel-1); %total distans rest i y slut %Avbrottstillstånd om rob.getButtons.clean paus slut %Ökningscykel cykel = cykel + 1; avsluta rob.stop för i = 1: cykla om hinder (i) == 1 %Väggdiagram (x (i), y (i), 'Marker', 'square', 'MarkerEdgeColor', 'r') annarsif hinder (i) == 2 %Cliff plot (x (i), y (i), 'Marker', 'o', 'MarkerEdgeColor', 'k') sluttext (.9, 0.9, sprintf ('Square = Wall / nCircle = Cliff '),' Units ',' normalized ') håller på slutet % Distress Signal medan true rob.beep pausar (3) if rob.getButtons.clean break end end % catch % rob.stop % end
Rekommenderad:
Förvandla din Roomba till en Mars Rover: 5 steg
Förvandla din Roomba till en Mars Rover:
Roomba Bot the Bulider: 5 steg (med bilder)
Roomba Bot Bulider: Bot the Builder är en roomba, som med " grabbers " fäst på framsidan kommer att kunna flytta föremål runt. Koden med den är inställd för att spela in den första satsen med en GUI -låda som du kan styra med bara ett musklick. Efter
MATLAB -kontrollerad Roomba: 5 steg
MATLAB -styrd Roomba: Målet med detta projekt är att använda MATLAB samt en modifierad iRobot programmerbar robot. Vår grupp kombinerade våra kodningskunskaper för att skapa ett MATLAB -skript som använder många funktioner i iRobot, inklusive klippsensorer, stötfångare
Från Roomba till Rover på bara 5 steg !: 5 steg
Från Roomba till Rover i bara fem steg !: Roomba -robotar är ett roligt och enkelt sätt att doppa tårna i robotikens värld. I denna instruktionsbok kommer vi att beskriva hur man konverterar en enkel Roomba till en kontrollerbar rover som samtidigt analyserar sin omgivning.Parts lista1.) MATLAB2.) Roomb
Roomba med MATLAB: 4 steg (med bilder)
Roomba med MATLAB: Detta projekt använder sig av MATLAB och en iRobot Create2 programmerbar robot. Genom att testa vår kunskap om MATLAB kan vi programmera Create2 för att tolka bilder och upptäcka signaler. Robotens funktionalitet beror huvudsakligen på