Obsah:
- Krok 1: Spotrebný materiál
- Krok 2: Vyhlásenie o probléme
- Krok 3: Diaľkové ovládanie Bluetooth
- Krok 4: Rozpoznávanie nárazov
- Krok 5: Rozpoznanie života
- Krok 6: Spustite to !
Video: Mars Roomba: 6 krokov
2024 Autor: John Day | [email protected]. Naposledy zmenené: 2024-01-30 11:59
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.
Krok 1: Spotrebný materiál
Čo budete potrebovať na realizáciu tohto projektu:
- Robot vysávača iRobot Create2 Roomba
- Malinový koláč
- Kamera Raspberry Pi
- Najnovšia verzia MATLABu
- Sada nástrojov na inštaláciu Roomba pre MATLAB
- Aplikácia MATLAB pre mobilné zariadenie
Krok 2: Vyhlásenie o probléme
Dostali sme za úlohu použiť MATLAB na vývoj rovera, ktorý by bolo možné použiť na Marse, aby sme pomohli vedcom pri zbere údajov o planétach. V našom projekte sme sa zaoberali funkciami diaľkového ovládania, rozpoznávania nárazov na objekty, rozpoznávania vody, rozpoznávania života a spracovania obrazu. Aby sme dosiahli tieto úspechy, kódovali sme pomocou príkazov sady nástrojov Roomba na manipuláciu s mnohými funkciami programu Create2 Roomba od iRobot.
Krok 3: Diaľkové ovládanie Bluetooth
Táto snímka prevedie kód na ovládanie pohybu robota Roomba pomocou funkcií Bluetooth vášho zariadenia smartphone. Na začiatku si stiahnite aplikáciu MATLAB do svojho smartfónu a prihláste sa do svojho účtu Mathworks. Po prihlásení prejdite na „viac“, „nastavenia“a pripojte sa k počítaču pomocou jeho adresy IP. Po pripojení sa vráťte k „ďalším“a vyberte „senzory“. Klepnite na tretí senzor na hornom paneli s nástrojmi obrazovky a klepnite na spustenie. Teraz je váš smartphone diaľkovým ovládaním!
Kód je nasledujúci:
pričom 0 == 0
pauza (.5)
PhoneData = M. Orientácia;
Azi = PhoneData (1);
Rozteč = údaje o telefóne (2);
Strana = údaje o telefóne (3);
hrbole = r.getBumpers;
ak Strana> 80 || Strana <-80
r.stop
r.beep ('C, E, G, C^, G, E, C')
prestávka
elseif Strana> 20 && Strana <40
r.turnAngle (-5);
elseif Strana> 40
r.turnAngle (-25);
elseif Side-40
r.turnAngle (5);
elseif Strana <-40
r.turnAngle (25);
koniec
ak je rozstup> 10 && rozstup <35
r.moveDistance (.03)
elseif Rozteč> -35 && Rozteč <-10
r.moveDistance (-. 03)
koniec
koniec
Krok 4: Rozpoznávanie nárazov
Ďalšou funkciou, ktorú sme implementovali, bolo zistiť náraz Roomby do objektu a potom opraviť jeho aktuálnu cestu. Aby sme to urobili, museli sme použiť podmienené údaje z údajov zo snímačov nárazníka, aby sme zistili, či došlo k zasiahnutiu predmetu. Ak robot narazí na predmet, ustúpi o 0,2 metra a otočí sa v uhle určenom na nárazník. Po stlačení položky sa otvorí ponuka so slovom „off“.
Kód je zobrazený nižšie:
pričom 0 == 0
hrbole = r.getBumpers;
r.setDriveVelocity (.1)
ak bumps.left == 1
msgbox ('Uff!');
r.moveDistance (-0,2)
r.setTurnVelocity (.2)
r.turnAngle (-35)
r.setDriveVelocity (.2)
elseif bumps.front == 1
msgbox ('Uff!');
r.moveDistance (-0,2)
r.setTurnVelocity (.2)
r.turnAngle (90)
r.setDriveVelocity (.2)
elseif bumps.right == 1
msgbox ('Uff!');
r.moveDistance (-0,2)
r.setTurnVelocity (.2)
r.turnAngle (35)
r.setDriveVelocity (.2)
elseif bumps.leftWheelDrop == 1
msgbox ('Uff!');
r.moveDistance (-0,2)
r.setTurnVelocity (.2)
r.turnAngle (-35)
r.setDriveVelocity (.2)
elseif bumps.rightWheelDrop == 1
msgbox ('Uff!');
r.moveDistance (-0,2)
r.setTurnVelocity (.2)
r.turnAngle (35)
r.setDriveVelocity (.2)
koniec
koniec
Krok 5: Rozpoznanie života
Kódovali sme systém rozpoznávania života, aby čítal farby predmetov pred ním. Tri druhy života, pre ktoré sme kódovali, sú rastliny, voda a mimozemšťania. Za týmto účelom sme zakódovali senzory na výpočet priemerných hodnôt červenej, modrej, zelenej alebo bielej farby. Tieto hodnoty boli porovnané s prahovými hodnotami, ktoré boli manuálne nastavené na určenie farby, na ktorú sa fotoaparát pozerá. Kód by tiež vykreslil cestu k objektu a vytvoril mapu.
Kód je nasledujúci:
t = 10;
i = 0;
pričom t == 10
img = r.getImage; imshow (img)
pauza (0,167)
i = i + 1;
red_mean = priemer (priemer (obrázok (:,:, 1)));
blue_mean = priemer (priemer (obrázok (:,:; 3)));
green_mean = priemer (priemer (obrázok (:,:; 2)));
white_mean = (blue_mean + green_mean + red_mean) / 3; %chce túto hodnotu približne 100
nine_plus_ten = 21;
green_threshold = 125;
blue_threshold = 130;
white_threshold = 124;
red_threshold = 115;
zatiaľ čo deväť_plus_ten == 21 %zelene - život
if green_mean> green_threshold && blue_mean <blue_threshold && red_mean <red_threshold
r.moveDistance (-. 1)
a = msgbox ('nájdený možný zdroj života, vykreslená poloha');
pauza (2)
vymazať (a)
[y2, Fs2] = audioread ('z_speak2.wav');
zvuk (y2, Fs2)
pauza (2)
%rastlina = r.getImage; %imshow (rastlina);
%save ('plant_img.mat', závod ');
%umiestnenia pozemku v zeleni
i = 5;
prestávka
inak
nine_plus_ten = 19;
koniec
koniec
nine_plus_ten = 21;
zatiaľ čo nine_plus_ten == 21 %modrá - woder
if blue_mean> blue_threshold && green_mean <green_threshold && white_mean <white_threshold && red_mean <red_threshold
r.moveDistance (-. 1)
a = msgbox („zdroj vody bol nájdený, poloha je zakreslená“);
pauza (2)
vymazať (a)
[y3, Fs3] = audioread ('z_speak3.wav');
zvuk (y3, Fs3);
%woder = r.getImage; %imshow (woder)
%save ('water_img.mat', woder)
%umiestnenia pozemku modrou farbou
i = 5;
prestávka
inak
nine_plus_ten = 19;
koniec
koniec
nine_plus_ten = 21;
pričom deväť_plus_ten == 21 %biely - mimozemšťania monkaS
if white_mean> white_threshold && blue_mean <blue_threshold && green_mean <green_threshold
[y5, Fs5] = audioread ('z_speak5.wav');
zvuk (y5, Fs5);
pauza (3)
r.setDriveVelocity (0, 0,5)
[ys, Fss] = audioread ('z_scream.mp3');
zvuk (ys, Fss);
pauza (3)
r.stop
% alien = r.getImage; %imshow (mimozemšťan);
% save ('alien_img.mat', mimozemšťan);
i = 5;
prestávka
inak
nine_plus_ten = 19;
koniec
koniec
ak i == 5
a = 1; %uhla otáčania
t = 9; %ukončiť veľkú slučku
i = 0;
koniec
koniec
Krok 6: Spustite to !
Po napísaní celého kódu skombinujte všetko do jedného súboru a voila! Váš robot Roomba bude teraz plne funkčný a bude fungovať podľa reklamy! Ovládací prvok Bluetooth by však mal byť buď v samostatnom súbore, alebo by mal byť od zvyšku kódu oddelený pomocou %%.
Užívajte si robota !!
Odporúča:
Premena vašej robota Roomba na vozítko Mars: 5 krokov
Premena vašej robota Roomba na vozítko Mars:
Mars Rover používajúci Raspberry Pi: 5 krokov
Mars Rover používajúci Raspberry Pi: Vážení všetci veľkí učenci, vždy ma zaujíma, ako vedieť o mars roveri, ktorý má 6 kolies, ktoré dokážu prejsť po celom povrchu Marsu a skúmať veci zo Zeme. Tiež chcem vec preskúmať sedením na prenosnom počítači. Teraz si myslím, že je ten správny čas to urobiť a
Projekt Mars Roomba UTK: 4 kroky
Mars Roomba Project UTK: UPOZORNENIE: TOTO BUDE FUNGOVAŤ IBA AK JE ROOMBA NASTAVENÁ V RIADNOM ŠPECIÁLNOM SPÔSOBE, TENTO INŠTRUKTÍV VYTVORILA A URČILA POUŽÍVAŤ UNIVERZITA V TENNESSEE ŠTUDENTOCH A FACULTY Tento kód sa používa na miestne nainštalovanie miestnosti. napísané a
Prieskumný robot Mars: 4 kroky
Mars Reconnaissance Robot: Tento návod je podrobný sprievodca programovaním a riadením prieskumného robota Mars. Na začiatok je potrebné získať zoznam nasledujúcich materiálov: Nabitý iRobot vytvorený na mieru podľa Tickle College of Eningeering Univerisity of Ten
IRobot Create-Mars Expedition Rover Mark I: 4 kroky
Rover IRobot Create-Mars Expedition Rover Mark I: Tento návod vás naučí, ako nastaviť iRobot Create pomocou kódovania MatLab. Váš robot bude schopný vyhľadávať minerály pomocou rozlišovania tvarov, manévrovať v členitom teréne pomocou senzorov útesu a bude schopný