Obsah:
- Krok 1: Krok 1: Potřebné materiály
- Krok 2: Krok 2: Nastavení/Získání kódu pro robot Roomba
- Krok 3: Krok 3: Nastavení snímačů útesu/LED světel
- Krok 4: Krok 4: Kontrola překážek
- Krok 5: Krok 5: Vykreslování
Video: Roomba MATLAB Project: 5 kroků
2024 Autor: John Day | [email protected]. Naposledy změněno: 2024-01-30 08:22
Současný plán, který má NASA pro Mars rover, je, aby to byl sběrač dat a potuloval se po Marsu a sbíral vzorky půdy, které by přivedl zpět na Zemi, aby vědci mohli zjistit, zda na planetě existovaly nějaké předchozí formy života. Rover navíc posílá zpět obrázky vědcům, aby jim mohli pomoci s navigací v roveru a opravit případné problémy, které by mohly mít.
Myšlenkou naší skupiny na náš projekt je, aby rover udělal totéž jako rover NASA, který v roce 2020 opustí Zemi, ale aby také zmapoval geografii země. Roomba by dokázala vycítit útesy a zastavit se, než spadne, a pak couvat, otáčet se a měnit směr tak, aby nespadla a nebyla poškozena. Naší další myšlenkou integrovanou do našeho projektu je, aby roomba dokázala vykreslit orientační body, které vidí, a zobrazit zápletku pokaždé, když je smyčka dokončena a její běh byl spuštěn.
Tento návod je určen pro kohokoli jiného, kdo by chtěl pro svůj roomba vytvořit stejný typ kódu.
Krok 1: Krok 1: Potřebné materiály
Budete potřebovat:
- Roomba
- MATLAB
- Tento soubor ke spuštění roomba
- Rovný povrch
- Povrch stolu, který bude fungovat jako „útes“
Krok 2: Krok 2: Nastavení/Získání kódu pro robot Roomba
Po zadání souborů bude vaše obrazovka vypadat takto.
Krok 3: Krok 3: Nastavení snímačů útesu/LED světel
Tento kód sdělí vašemu robotovi Roomba přesně, jaký úhel má otočit, zkontroluje informace o baterii, řekne vašemu robotu, jak rychle má jet, a pomocí kamery Roomba zjistí osobu. Bude také pípat, pokud identifikuje osobu, a zastaví se, než se vydá z útesu.
% zkuste rob.setLEDDigits ('') x = 0; y = 0; theta = 0; překážka = ; cyklus = 1; AngCorr = @(x) x + 3,059.*X.^0,4205; %Funkce pro opravu úhlů otáčení při rob.getBatteryInfo.percent> 15 rob.setLEDDigits ('') rob.setDriveVelocity (0,1) %Go %Check for Person if AA_checkperson (rob) rob.beep end %Check Cliff Sensor if AA_cliffcheck (rob) rob.stop rob.setLEDDigits ('Cliff') pauza (0,5) překážka (cyklus) = 2; AA_cliffbeep (rob) %Back Up and Turn rob.moveDistance (-. 15) rob.turnAngle (30) end
Krok 4: Krok 4: Kontrola překážek
Tento kód získá robota Roomba ke kontrole položek kolem něj a zkontroluje nárazový senzor, aby se ujistil, že se zastaví, než se sám poškodí.
%Zkontrolujte světelný senzor, pokud AA_lightcheck (rob) rob.stop rob.setLEDDigits ('Wall') pauza (0,5) překáž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) překážka (cyklus) = 1; %Wall AA_wallbeep (rob) %Back Up and Turn rob.moveDistance (-. 15) rob.turnAngle (30) end %If none if isempty (překážka) překážka (cyklus) = 0; elseif délka (překážka) <překážka cyklu (cyklus) = 0; konec
Krok 5: Krok 5: Vykreslování
Tento kód řekne vašemu roomba, aby vykreslil, s čím se na své cestě setká. Děj, jako je tento, se objeví poté, co se roomba zastaví.
%Získejte pozici d = rob.getDistance; pokud cyklus == 1 theta (cyklus) = 0; x (cyklus) = d.*cosd (theta (cyklus)); % celkové ujeté vzdálenosti za x y (cyklus) = d.*sind (theta (cyklus)); % celkové ujeté vzdálenosti v y jinak theta (cyklus) = theta (cyklus-1) + rob.getAngle; x (cyklus) = d.*cosd (theta (cyklus)) + x (cyklus-1); % celkové ujeté vzdálenosti za x y (cyklus) = d.*sind (theta (cyklus)).*d + y (cyklus-1); %celkové ujeté vzdálenosti za konec y %Podmínka přerušení, pokud rob.getButtons.clean konec přestávky %Přírůstkový 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 (0,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
Doporučuje:
Roomba Bot Bulider: 5 kroků (s obrázky)
Roomba Bot Bulider: Bot the Builder je roomba, která s " grabbery " připevněné na přední straně budou moci pohybovat předměty kolem. Kód s ním je nastaven tak, aby zaznamenával první pohyb pomocí pole GUI, které můžete ovládat pouhým kliknutím myši. Po
MATLAB Controlled Roomba: 5 kroků
MATLAB Controlled Roomba: Cílem tohoto projektu je využít MATLAB i upravený programovatelný robot iRobot. Naše skupina spojila naše kódovací schopnosti, aby vytvořila skript MATLAB, který využívá mnoho funkcí iRobot, včetně snímačů útesu, senzoru nárazníku
Mars Roomba Project UTK: 4 kroky
Mars Roomba Project UTK: UPOZORNĚNÍ: TOTO BUDE FUNGOVAT POUZE POKUD JE ROOMBA NASTAVENA V PŘÍPADNÉM ZVLÁŠTNÍM ZPŮSOBU, TENTO NÁVOD BYL VYTVOŘEN A URČEN K POUŽITÍ UNIVERZITOU ŽÁKŮ TENNESSEE STUDENTŮ A FACULTY Tento kód slouží k místnímu spuštění místnosti napsáno a
Roomba Project: 5 kroků (s obrázky)
Roomba Project: Tento instruktážní program byl vytvořen v rámci splnění projektového požadavku Makecourse na University of South Florida (www.makecourse.com). Tento instruktážní program pokryje všechny potřebné kroky a komponenty potřebné k sestavení mého projektoru Roomba
Roomba With MATLAB: 4 Steps (with Pictures)
Roomba s MATLABem: Tento projekt využívá MATLAB a programovatelného robota iRobot Create2. Tím, že testujeme naše znalosti o MATLABu, jsme schopni naprogramovat Create2 tak, aby interpretoval obrázky a detekoval signály. Funkčnost robota závisí především na