Obsah:
- Krok 1: Krok 1: Potrebný materiál
- Krok 2: Krok 2: Nastavenie/získanie kódu pre robot Roomba
- Krok 3: Krok 3: Nastavenie senzorov útesu/LED svetiel
- Krok 4: Krok 4: Kontrola prekážok
- Krok 5: Krok 5: Plotovanie
2024 Autor: John Day | [email protected]. Naposledy zmenené: 2024-01-30 11:59
Súčasný plán, ktorý má NASA pre rover Mars, je, že bude zberateľom údajov a bude sa túlať po Marse a zbierať vzorky pôdy, ktoré by priviedol späť na Zem, aby vedci zistili, či na planéte existovali nejaké predchádzajúce formy života. Rover tiež posiela obrázky vedcom, aby im pomohli navigovať v roveri a vyriešiť prípadné problémy.
Myšlienka našej skupiny na náš projekt je, aby rover urobil to isté, čo rover NASA, ktorý opustí Zem v roku 2020, ale aby tiež zmapoval geografiu krajiny. Roomba by dokázala vycítiť útesy a zastaviť sa skôr, ako spadne, a potom cúvať, otáčať sa a meniť smer tak, aby nespadla a nepoškodila sa. Našou ďalšou myšlienkou integrovanou do nášho projektu je, aby roomba dokázala vykresliť orientačné body, ktoré vidí, a zobraziť sprisahanie vždy, keď je slučka dokončená a prebieha jej priebeh.
Tento návod je pre kohokoľvek iného, kto by chcel pre svoj roomba vytvoriť rovnaký typ kódu.
Krok 1: Krok 1: Potrebný materiál
Budete potrebovať:
- Roomba
- MATLAB
- Tento súbor na spustenie Roomba
- Rovný povrch
- Povrch stola, ktorý má pôsobiť ako „útes“
Krok 2: Krok 2: Nastavenie/získanie kódu pre robot Roomba
Po zadaní súborov bude vaša obrazovka vyzerať takto.
Krok 3: Krok 3: Nastavenie senzorov útesu/LED svetiel
Tento kód povie vašej robote Roomba, aký uhol sa má otočiť, skontroluje informácie o batérii, oznámi vašej izbe, ako rýchlo má ísť, a skontroluje osobu prostredníctvom kamery Roomba. Zaznie tiež zvukový signál, ak identifikuje osobu, a zastaví sa, než sa spustí z útesu.
% skúste rob.setLEDDigits ('') x = 0; y = 0; theta = 0; prekážka = ; cyklus = 1; AngCorr = @(x) x + 3,059.*X.^0,4205; %Funkcia na opravu uhlov otáčania pri rob.getBatteryInfo.percent> 15 rob.setLEDDigits ('') rob.setDriveVelocity (0,1) %Choďte %Skontrolujte osobu, ak AA_checkperson (rob) rob.beep end %Skontrolujte snímač útesu, ak AA_cliffcheck (rob) rob.stop rob.setLEDDigits ('Cliff') pauza (0,5) prekážka (cyklus) = 2; AA_cliffbeep (rob) %Zálohovanie a otáčanie rob.moveDistance (-. 15) rob.turnAngle (30) end
Krok 4: Krok 4: Kontrola prekážok
Tento kód dostane robota Roomba na kontrolu položiek okolo neho a skontroluje nárazový snímač, aby sa ubezpečil, že sa zastaví skôr, ako sa poškodí.
%Skontrolujte svetelný senzor, ak AA_lightcheck (rob) rob.stop rob.setLEDDigits ('Wall') pauza (0,5) prekážka (cyklus) = 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) prekážka (cyklus) = 1; %Wall AA_wallbeep (rob) %Back Up and Turn rob.moveDistance (-. 15) rob.turnAngle (30) end %Ak nie je, ak je prázdny (prekážka) prekážka (cyklus) = 0; elseif dĺžka (prekážka) <prekážka cyklu (cyklus) = 0; koniec
Krok 5: Krok 5: Plotovanie
Tento kód povie vašej roombe, aby vykreslila, s čím sa na svojej ceste stretne. Dej, ako je tento, sa objaví potom, čo sa roomba zastaví.
%Získať pozíciu d = rob.getDistance; ak cyklus == 1 theta (cyklus) = 0; x (cyklus) = d.*cosd (theta (cyklus)); % celkovej prejdenej vzdialenosti za x y (cyklus) = d.*sind (theta (cyklus)); % celkovej prejdenej vzdialenosti v y else theta (cyklus) = theta (cyklus-1) + rob.getAngle; x (cyklus) = d.*cosd (theta (cyklus)) + x (cyklus-1); % celkovej prejdenej vzdialenosti za x y (cyklus) = d.*sind (theta (cyklus)).*d + y (cyklus-1); %celkovej prejdenej vzdialenosti za koniec y %Podmienka prerušenia, ak rob.getButtons.čistý koniec prestávky %Prírastkový cyklus cyklus = cyklus + 1; end rob.stop for i = 1: cycle if překážka (i) == 1 %Wall plot (x (i), y (i), 'Marker', 'square', 'MarkerEdgeColor', 'r') elseif překážka (i) == 2 %Cliff plot (x (i), y (i), 'Marker', 'o', 'MarkerEdgeColor', 'k') end text (.9, 0,9, sprintf ('Square = Wall) nCircle = Cliff '),' Units ',' normalized ') hold on end % Distress Signal true true rob.beep pause (3) if rob.getButtons.clean break end end % catch % rob.stop % end
Odporúča:
Premena vašej robota Roomba na vozítko Mars: 5 krokov
Premena vašej robota Roomba na vozítko Mars:
Roomba Bot the Bulider: 5 krokov (s obrázkami)
Roomba Bot the Bulider: Bot the Builder je roomba, ktorý s " drapákmi " pripevnený na prednej strane bude môcť pohybovať predmetmi. Kód s ním je nastavený tak, aby zaznamenával prvý pohyb pomocou poľa GUI, ktoré môžete ovládať jediným kliknutím myši. Po
Roomba riadená systémom MATLAB: 5 krokov
MATLAB Controlled Roomba: Cieľom tohto projektu je využiť MATLAB, ako aj upravený programovateľný robot iRobot. Naša skupina skombinovala naše kódovacie schopnosti a vytvorila skript MATLAB, ktorý používa mnoho funkcií iRobot, vrátane senzorov útesu, senzora nárazníka
Parkovanie Roomba Room: 6 krokov
Roomba Parking Pal: Tento projekt používa iRobot Create programovateľný roomba, MATLAB r2018a a MATLAB mobile. Pri použití týchto troch médií a našich znalostí kódovania sme naprogramovali iRobot Create tak, aby interpretoval farby a používal palubné snímače na plnenie úloh. Tento
Mars Roomba: 6 krokov
Mars Roomba: Tento návod vás prevedie návodom na obsluhu vákuového robota Roomba ovládaného Raspberry Pi. Operačný systém, ktorý budeme používať, je prostredníctvom MATLABu