Obsah:
- Krok 1: Spotřební materiál
- Krok 2: Prohlášení o problému
- Krok 3: Dálkové ovládání Bluetooth
- Krok 4: Rozpoznání nárazu
- Krok 5: Rozpoznání života
- Krok 6: Spusťte to
Video: Mars Roomba: 6 kroků
2024 Autor: John Day | [email protected]. Naposledy změněno: 2024-01-30 08:22
Tento Instructable vás provede pokyny k ovládání vakuového robota Roomba ovládaného Raspberry Pi. Operační systém, který budeme používat, je prostřednictvím MATLABu.
Krok 1: Spotřební materiál
Co budete potřebovat k realizaci tohoto projektu:
- Robot vysavače iRobot Create2 Roomba
- Raspberry Pi
- Fotoaparát Raspberry Pi
- Nejnovější verze MATLABu
- Sada nástrojů pro instalaci Roomba pro MATLAB
- MATLAB aplikace pro mobilní zařízení
Krok 2: Prohlášení o problému
Měli jsme za úkol použít MATLAB k vývoji roveru, který by mohl být použit na Marsu, aby pomohl vědcům při shromažďování dat o planetách. Funkce, které jsme v našem projektu řešili, byly dálkové ovládání, rozpoznávání nárazů na objekty, rozpoznávání vody, rozpoznávání života a zpracování obrazu. Abychom těchto výkonů dosáhli, zakódovali jsme pomocí příkazů sady nástrojů Roomba manipulaci s mnoha funkcemi iRobot's Create2 Roomba.
Krok 3: Dálkové ovládání Bluetooth
Tento snímek bude procházet kódem k ovládání pohybu robota Roomba pomocí funkcí Bluetooth vašeho chytrého zařízení. Nejprve si stáhněte aplikaci MATLAB do smartphonu a přihlaste se ke svému účtu Mathworks. Po přihlášení přejděte na „více“, „nastavení“a připojte se k počítači pomocí jeho IP adresy. Po připojení se vraťte zpět na „více“a vyberte „senzory“. Klepněte na třetí senzor na horním panelu nástrojů na obrazovce a klepněte na Spustit. Nyní je váš smartphone dálkovým ovládáním!
Kód je následující:
zatímco 0 == 0
pauza (.5)
PhoneData = M. Orientace;
Azi = PhoneData (1);
Rozteč = Data telefonu (2);
Strana = Data telefonu (3);
hrboly = r.getBumpers;
pokud Strana> 80 || Strana <-80
r.stop
r.beep ('C, E, G, C^, G, E, C')
přestá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);
konec
pokud Rozteč> 10 && Rozteč <35
r.moveDistance (.03)
elseif Rozteč> -35 && Rozteč <-10
r.moveDistance (-. 03)
konec
konec
Krok 4: Rozpoznání nárazu
Další funkcí, kterou jsme implementovali, bylo detekovat dopad Roomby do objektu a poté opravit jeho aktuální cestu. K tomu jsme museli použít podmíněné hodnoty od snímačů nárazníku, abychom zjistili, zda došlo k zasažení objektu. Pokud robot narazí na předmět, zálohuje 0,2 metru a otáčí se v úhlu určeném nárazníkem. Jakmile je položka zasažena, objeví se nabídka se slovem „oof“.
Kód je uveden níže:
zatímco 0 == 0
hrboly = r.getBumpers;
r.setDriveVelocity (.1)
pokud 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)
konec
konec
Krok 5: Rozpoznání života
Zakódovali jsme systém rozpoznávání života, abychom přečetli barvy objektů před ním. Tři druhy života, pro které jsme kódovali, jsou rostliny, voda a mimozemšťané. Za tímto účelem jsme zakódovali senzory pro výpočet průměrných hodnot červené, modré, zelené nebo bílé. Tyto hodnoty byly porovnány s prahovými hodnotami, které byly ručně nastaveny pro určení barvy, na kterou se fotoaparát dívá. Kód by také vykreslil cestu k objektu a vytvořil mapu.
Kód je následující:
t = 10;
i = 0;
zatímco t == 10
img = r.getImage; imshow (obr.)
pauza (0,167)
i = i + 1;
red_mean = průměr (průměr (obr (:,:: 1)));
blue_mean = průměr (průměr (obrázek (:,:; 3)));
green_mean = průměr (průměr (obrázek (:,:; 2)));
white_mean = (blue_mean + green_mean + red_mean) / 3; %chce tuto hodnotu přibližně 100
nine_plus_ten = 21;
green_threshold = 125;
blue_threshold = 130;
white_threshold = 124;
red_threshold = 115;
zatímco nine_plus_ten == 21 %zeleně - život
pokud green_mean> green_threshold && blue_mean <blue_threshold && red_mean <red_threshold
r.moveDistance (-. 1)
a = msgbox ('možný zdroj života nalezen, umístění vykresleno');
pauza (2)
odstranit (a)
[y2, Fs2] = audioread ('z_speak2.wav');
zvuk (y2, Fs2)
pauza (2)
%rostlina = r.getImage; %imshow (rostlina);
%save ('plant_img.mat', závod ');
%umístění pozemku zeleně
i = 5;
přestávka
jiný
nine_plus_ten = 19;
konec
konec
nine_plus_ten = 21;
zatímco nine_plus_ten == 21 %modrá - woder
pokud blue_mean> blue_threshold && green_mean <green_threshold && white_mean <white_threshold && red_mean <red_threshold
r.moveDistance (-. 1)
a = msgbox ('byl nalezen zdroj vody, umístění vykresleno');
pauza (2)
odstranit (a)
[y3, Fs3] = audioread ('z_speak3.wav');
zvuk (y3, Fs3);
%woder = r.getImage; %imshow (woder)
%save ('water_img.mat', woder)
%umístění pozemku modře
i = 5;
přestávka
jiný
nine_plus_ten = 19;
konec
konec
nine_plus_ten = 21;
zatímco nine_plus_ten == 21 %bílý - mimozemšťané 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,.5)
[ys, Fss] = audioread ('z_scream.mp3');
zvuk (ys, Fss);
pauza (3)
r.stop
% alien = r.getImage; %imshow (mimozemšťan);
% save ('alien_img.mat', vetřelec);
i = 5;
přestávka
jiný
nine_plus_ten = 19;
konec
konec
pokud i == 5
a = 1; %úhlu otočení
t = 9; %ukončit velkou smyčku
i = 0;
konec
konec
Krok 6: Spusťte to
Jakmile je celý kód napsán, spojte to všechno do jednoho souboru a voila! Váš robot Roomba bude nyní plně funkční a bude fungovat podle reklamy! Ovládací prvek Bluetooth by však měl být buď v samostatném souboru, nebo oddělen od zbytku kódu pomocí %%.
Užijte si používání svého robota !!
Doporučuje:
Proměna Roomby v Mars Rover: 5 kroků
Proměna Roomby v Mars Rover:
Mars Rover pomocí Raspberry Pi: 5 kroků
Mars Rover pomocí Raspberry Pi: Vážení všichni skvělí žáci, vždy jsem zvědavý na informace o Mars Rover, který má 6 kol, která mohou projet celý povrch Marsu a prozkoumat věci ze Země. Také chci prozkoumat věc tím, že sedím na svém notebooku. Takže teď si myslím, že je ten správný čas to udělat a
Raspberry Pi - autonomní Mars Rover se sledováním objektů OpenCV: 7 kroků (s obrázky)
Raspberry Pi - autonomní Mars Rover se sledováním objektů OpenCV: Pohání jej Raspberry Pi 3, rozpoznávání otevřeného objektu, ultrazvukové senzory a stejnosměrné motory s převodovkou. Tento rover může sledovat jakýkoli objekt, pro který je vycvičen, a pohybovat se v jakémkoli terénu
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
Průzkumný robot Mars: 4 kroky
Mars Reconnaissance Robot: This Instructable is a step-by-step guide to program and command the Mars Reconnaissance Robot. Chcete-li začít, musíte získat seznam následujících materiálů: Nabitý iRobot vytvořit přizpůsobený Tickle College of Eningeering Univerisity of Ten