Talaan ng mga Nilalaman:
- Hakbang 1: Mga Panustos
- Hakbang 2: Ang Pahayag ng Suliranin
- Hakbang 3: Bluetooth Remote Control
- Hakbang 4: Pagkilala sa Epekto
- Hakbang 5: Pagkilala sa Buhay
- Hakbang 6: Patakbuhin Ito !
Video: Mars Roomba: 6 na Hakbang
2024 May -akda: John Day | [email protected]. Huling binago: 2024-01-30 13:13
Gagabayan ka ng Instructable na ito sa mga direksyon ng pagpapatakbo ng isang Raspberry Pi na kinokontrol na Roomba vacuum bot. Ang operating system na gagamitin namin ay sa pamamagitan ng MATLAB.
Hakbang 1: Mga Panustos
Ano ang kakailanganin mong tipunin upang maisakatuparan ang proyektong ito:
- Lumikha ang RoRoot2 Roomba vacuum cleaner bot ng iRobot
- Raspberry Pi
- Raspberry Pi Camera
- Ang pinakabagong bersyon ng MATLAB
- Ang Roomba install toolbox para sa MATLAB
- Ang application ng MATLAB para sa isang cellular device
Hakbang 2: Ang Pahayag ng Suliranin
Naatasan kaming gumamit ng MATLAB upang makabuo ng isang rover na maaaring magamit sa Mars upang matulungan ang mga siyentista sa pagkolekta ng data ng planeta. Ang mga pagpapaandar na tinugunan namin sa aming proyekto ay may remote control, pagkilala sa epekto ng object, pagkilala sa tubig, pagkilala sa buhay, at pagproseso ng imahe. Upang makamit ang mga tampok na ito, naka-code kami gamit ang mga utos ng toolbox ng Roomba upang manipulahin ang maraming mga pagpapaandar ng iRobot's Create2 Roomba.
Hakbang 3: Bluetooth Remote Control
Dadalhin ng slide na ito ang code upang makontrol ang paggalaw ng Roomba gamit ang mga kakayahan ng Bluetooth ng iyong aparato sa smartphone. Upang magsimula, i-download ang application na MATLAB sa iyong smartphone at mag-log in sa iyong Mathworks account. Kapag naka-log in, pumunta sa "higit pa", "mga setting", at kumonekta sa iyong computer gamit ang IP address nito. Kapag nakakonekta, bumalik sa "higit pa" at piliin ang "mga sensor." Mag-tap sa pangatlong sensor sa tuktok na toolbar ng screen, at tapikin ang sa pagsisimula. Ngayon, ang iyong smartphone ay isang remote control!
Ang code ay ang mga sumusunod:
habang 0 == 0
i-pause (.5)
TeleponoData = M. Orentasyon;
Azi = PhoneData (1);
Pitch = PhoneData (2);
Side = TeleponoData (3);
mga bugbog = r.getBumpers;
kung Side> 80 || Side <-80
r.stop
r.beep ('C, E, G, C ^, G, E, C')
pahinga
kung hindi man Side> 20 && Side <40
r.turnAngle (-5);
kung hindi man> 40
r.turnAngle (-25);
kung hindi man, Side-40
r.turnAngle (5);
kung hindi man Side <-40
r.turnAngle (25);
magtapos
kung Pitch> 10 && Pitch <35
r.moveDistance (.03)
kung hindi man Pitch> -35 && Pitch <-10
r.moveDistance (-. 03)
magtapos
magtapos
Hakbang 4: Pagkilala sa Epekto
Ang isa pang pagpapaandar na ipinatupad namin ay upang makita ang epekto ng Roomba sa isang bagay at pagkatapos ay iwasto ang kasalukuyang landas nito. Upang magawa ito, kailangan naming gumamit ng mga kondisyunal sa mga pagbabasa mula sa mga bumper sensor upang matukoy kung ang isang bagay ay sinaktan. Kung ang robot ay tumama sa isang bagay, ito ay babalik ng.2 metro, at paikutin sa isang anggulo na tinukoy ng kung aling bumper ang sinaktan. Kapag na-hit ang isang item, isang pop ang pop up na ipinapakita ang salitang "oof."
Ang Code ay ipinapakita sa ibaba:
habang 0 == 0
mga bugbog = r.getBumpers;
r.setDriveVelocity (.1)
kung maingay.kaliwa == 1
msgbox ('Oof!');
r.moveDistance (-0.2)
r.setTurnVelocity (.2)
r.turnAngle (-35)
r.setDriveVelocity (.2)
kung hindi man. mauna sa harapan == 1
msgbox ('Oof!');
r.moveDistance (-0.2)
r.setTurnVelocity (.2)
r.turnAngle (90)
r.setDriveVelocity (.2)
kung hindi man ay tama.kung == 1
msgbox ('Oof!');
r.moveDistance (-0.2)
r.setTurnVelocity (.2)
r.turnAngle (35)
r.setDriveVelocity (.2)
kung hindi man ay mga bumps.leftWheelDrop == 1
msgbox ('Oof!');
r.moveDistance (-0.2)
r.setTurnVelocity (.2)
r.turnAngle (-35)
r.setDriveVelocity (.2)
kung hindi man ay nabunggo. rightWheelDrop == 1
msgbox ('Oof!');
r.moveDistance (-0.2)
r.setTurnVelocity (.2)
r.turnAngle (35)
r.setDriveVelocity (.2)
magtapos
magtapos
Hakbang 5: Pagkilala sa Buhay
Nag-code kami ng isang sistema ng pagkilala sa buhay upang mabasa ang mga kulay ng mga bagay sa harap nito. Ang tatlong uri ng buhay na aming naka-code para sa mga halaman, tubig, at mga dayuhan. Upang magawa ito, naka-code ang mga sensor upang makalkula ang average na halaga ng pula, asul, berde, o puti. Ang mga halagang ito ay inihambing sa mga threshold na manu-manong itinakda upang matukoy ang kulay na tinitingnan ng camera. Ipaplano din ng code ang landas patungo sa object at lumilikha ng isang mapa.
Ang code ay ang mga sumusunod:
t = 10;
i = 0;
habang t == 10
img = r.getImage; imshow (img)
pause (0.167)
i = i + 1;
red_mean = ibig sabihin (ibig sabihin (img (:,:, 1)));
blue_mean = ibig sabihin (ibig sabihin (img (:,:, 3)));
green_mean = ibig sabihin (ibig sabihin (img (:,:, 2)));
white_mean = (blue_mean + green_mean + red_mean) / 3; % gusto ang val na humigit-kumulang na 100
siyam_plus_ten = 21;
green_threshold = 125;
blue_threshold = 130;
white_threshold = 124;
red_threshold = 115;
habang siyam_plus_ten == 21% berde - buhay
kung green_mean> green_threshold && blue_mean <blue_threshold && red_mean <red_threshold
r.moveDistance (-. 1)
a = msgbox ('posibleng nahanap ang mapagkukunan ng buhay, naka-plot ang lokasyon');
i-pause (2)
tanggalin ang (a)
[y2, Fs2] = audioread ('z_speak2.wav');
tunog (y2, Fs2)
i-pause (2)
% halaman = r.getImage; % imshow (halaman);
% makatipid ('plant_img.mat', halaman ');
% lokasyon ng balangkas sa berde
i = 5;
pahinga
iba pa
siyam_plus_ten = 19;
magtapos
magtapos
siyam_plus_ten = 21;
habang siyam_plus_ten == 21% asul - woder
kung blue_mean> blue_threshold && green_mean <green_threshold && white_mean <white_threshold && red_mean <red_threshold
r.moveDistance (-. 1)
a = msgbox ('isang mapagkukunan ng tubig ay natagpuan, lokasyon na naka-plot');
i-pause (2)
tanggalin ang (a)
[y3, Fs3] = audioread ('z_speak3.wav');
tunog (y3, Fs3);
% woder = r.getImage; % imshow (woder)
% makatipid ('water_img.mat', woder)
% lokasyon ng balangkas na asul
i = 5;
pahinga
iba pa
siyam_plus_ten = 19;
magtapos
magtapos
siyam_plus_ten = 21;
habang siyam_plus_ten == 21% puti - alien monkaS
kung white_mean> white_threshold && blue_mean <blue_threshold && green_mean <green_threshold
[y5, Fs5] = audioread ('z_speak5.wav');
tunog (y5, Fs5);
i-pause (3)
r.setDriveVelocity (0,.5)
[ys, Fss] = audioread ('z_scream.mp3');
tunog (ys, Fss);
i-pause (3)
r.stop
% alien = r.getImage; % imshow (alien);
% makatipid ('alien_img.mat', alien);
i = 5;
pahinga
iba pa
siyam_plus_ten = 19;
magtapos
magtapos
kung ako == 5
a = 1; % lumiliko angulo
t = 9; % wakasan ang malaking loop
i = 0;
magtapos
magtapos
Hakbang 6: Patakbuhin Ito !
Matapos maisulat ang lahat ng code, pagsamahin ang lahat sa isang file at voila! Ang iyong Roomba bot ay magiging kumpleto na sa pag-andar at pagpapatakbo ng na-advertise! Gayunpaman, ang kontrol ng Bluetooth ay dapat na nasa isang hiwalay na file o pinaghiwalay mula sa natitirang code na may %%.
Masiyahan sa paggamit ng iyong robot !!
Inirerekumendang:
Ginagawang Ang iyong Roomba Sa isang Mars Rover: 5 Hakbang
Ginagawang Ang iyong Roomba Sa isang Mars Rover:
Mars Rover Gamit ang Raspberry Pi: 5 Hakbang
Mars Rover Paggamit ng Raspberry Pi: Mahal na lahat ng Mahusay na Nag-aaral, palaging ako ay nagtataka na malaman tungkol sa mars rover, Ang pagkakaroon ng 6 na gulong na maaaring pumunta sa lahat ng mga mars at galugarin ang mga bagay mula sa Earth. Gusto ko ring galugarin ang bagay sa pamamagitan ng pag-upo sa aking laptop. Kaya't bagay na ito sa tamang oras upang gawin ito at
Raspberry Pi - Autonomous Mars Rover Na May Pagsubaybay sa Bagay na OpenCV: 7 Mga Hakbang (na may Mga Larawan)
Raspberry Pi - Autonomous Mars Rover Gamit ang Pagsubaybay sa Bagay ng OpenCV: Pinapagana ng isang Raspberry Pi 3, Buksan ang pagkilala sa object ng CV, mga sensor ng Ultrasonic at nakatuon na DC motor. Maaaring subaybayan ng rover ang anumang bagay na sinanay nito at lumipat sa anumang lupain
Mars Roomba Project UTK: 4 na Hakbang
Mars Roomba Project UTK: DISCLAIMER: ITO LANG ANG GAGAWIN KUNG ANG ROOMBA AY NA-SET UP SA LABING LALATANG PARAAN, ANG INSTRUCTABLE NA ITO AY GINAWA AT INGILING GAMIT NG UNIVERSITY OF TENNESSEE STUDENTS AND FACULTYAng code na ito ay ginagamit upang mag-set up ng isang Roomba upang tumakbo nang lokal. nakasulat at s
Mars Reconnaissance Robot: 4 na Hakbang
Mars Reconnaissance Robot: Ang Instructable na Ito ay isang sunud-sunod na gabay sa programa at utos sa Mars Reconnaissance Robot. Upang magsimula, dapat makuha ng isang tao ang listahan ng mga sumusunod na materyales: Ang isang sisingilin na iRobot ay nilikha na ipinasadya ng Tickle College of Eningeering Univerisity of Ten