Orodha ya maudhui:
- Hatua ya 1: Vifaa vinahitajika
- Hatua ya 2: Usanidi / Upakuaji
- Hatua ya 3: Sehemu ya Msimbo 1: Kazi ya Kufuatilia
- Hatua ya 4: Kanuni Sehemu ya 2: Wakati Kitanzi
- Hatua ya 5: Kanuni Sehemu ya 3: Sehemu ya Barua pepe
Video: Mradi wa UTK EF 230 MarsRoomba Kuanguka 2018: Hatua 5
2024 Mwandishi: John Day | [email protected]. Mwisho uliobadilishwa: 2024-01-30 12:53
Hivi sasa, rovers za Mars hutumiwa kukusanya data juu ya uso wa Mars kupitia njia anuwai, hadi mwisho wa kujifunza zaidi juu ya uwezekano wa sayari ya maisha ya vijidudu. Rovers kimsingi hutumia zana za upigaji picha na uchanganuzi wa mchanga kwa ukusanyaji wa data, lakini rovers pia ni pamoja na vyombo vya urambazaji, vifaa vya kugundua mionzi, sensorer za anga, na laser ya sampuli ya mwamba. Lengo lililopangwa la 2020 rover mission ni sawa, lakini na jukumu maalum la "kukusanya sampuli za mchanga na mwamba na kuziweka juu ya uso kwa uwezekano wa kurudi Duniani na ujumbe wa siku zijazo," kulingana na NASA.
Walakini, chini ya dhana kwamba rovers za baadaye zitatumika kwa msaada wa kibinadamu, timu yetu ilizingatia ni mambo gani ya wanadamu ambayo rover inaweza kufuatilia. Tulifikia hitimisho kwamba ikiwa dharura fulani inaweza kumpa fahamu mwanaanga na msaada wa maisha na vifaa, rover yetu inaweza kutumika kama taa ya siku ya meya kwa kuona kwamba mwanaanga aliyemfuata hajabadilika na kutuma ujumbe wa dhiki. Ili kumfuata mwanadamu na kuamua kutohama, rover angechukua pembejeo kama rangi ya viatu vya mwanadamu na mwendo wao. Ingizo jingine la kuzingatia ni kwamba italazimika kukumbuka njia yake ili kupeleka ishara ya shida wakati wa dharura. Rover yetu inakidhi hitaji kwenye Mars kwa kujaribu jaribio kama hilo la gharama kubwa kwenye eneo kama hilo la kigeni linahitaji safu nyingi za usalama-salama, na ikiwa mwanaanga hatoweza kupata msaada wao mwenyewe kwa sababu ya kukosekana kwa utendakazi au fahamu, rover anaweza kuwaonya wengine.
Agizo hili limebuniwa kumsaidia msomaji katika kuandaa Roomba yake ili afuate kwa ufanisi "mwanaanga" na kutuma ishara ya shida ikiwa inahitajika.
Hatua ya 1: Vifaa vinahitajika
1) kompyuta / kompyuta inayopatikana kwenye mtandao
2) MATLAB_R2018a
3) Roomba na Roomba Download
Hatua ya 2: Usanidi / Upakuaji
Endesha hati hii katika MATLAB ili kupakua programu inayohitajika kupata Roomba (iliyohifadhiwa katika faili yake kwenye folda ya mradi)
Msaada wa Ziada:
Mpango wa usanikishaji wa Mradi wa EF 230 Roomba% Sasisho la mwisho: Septemba 13, 2017 (Maswala yaliyosasishwa ya usalama yanayohusiana na seva ya https na faili iliyoondolewa kufuta onyo ikiwa makosa yalitokea) kazi roombaInstall clc; orodha ya faili za kusakinisha faili = {'roomba.m', 'roombaSim.m', 'roombaSimGUI.m', 'roombaSimGUI.fig'}; % eneo la kusanikisha kutoka kwa chaguzi = chaguo za wavuti ('CertificateFilename', "); % iambie kupuuza seva ya mahitaji ya cheti = 'https://ef.engr.utk.edu/ef230/projects/roomba-f2016/install/'; dlgTitle = 'Sakinisha / Sasisha Roomba'; % onyesha kusudi na upate uthibitisho haraka = {'Programu hii itapakua faili hizi za EF 230 Roomba:' 'strjoin (files,' ') "" kwa folda hii: "" cd "" Je! unataka kuendelea? '}; beep; yn = questdlg (haraka,… dlgTitle,… 'Ndio', 'Hapana', 'Ndio');
if ~ strcmp (yn, 'Yes'), rudi; mwisho
% pata orodha ya faili zilizopo_files = faili (cellfun (@exist, faili)> 0); ikiwa ~ isempty (zilizopo_files)% hakikisha ni sawa kuzibadilisha haraka = {'Unabadilisha faili hizi: }; beep; yn = questdlg (haraka,… dlgTitle,… 'Ndio', 'Hapana', 'Ndio'); if ~ strcmp (yn, 'Yes'), rudi; mwisho mwisho
% pakua faili cnt = 0; kwa i = 1: urefu (faili) f = faili {i}; disp (['Upakuaji' f]); jaribu url = [server f]; hifadhi ya wavuti (f, url, chaguzi); % aliongeza chaguo ili kuepuka makosa ya usalama cnt = cnt + 1; catch disp (['Hitilafu ya kupakua' f]); dummy = [f '.html']; ikiwa zipo (dummy, 'file') == 2 kufuta (dummy) mwisho mwisho mwisho
ikiwa cnt == urefu (faili) msg = 'Ufanisi wa Usakinishaji'; subiri (msgbox (msg, dlgTitle)); mwingine msg = 'Kosa la Usakinishaji - tazama dirisha la amri kwa maelezo'; subiri (errordlg (msg, dlgTitle)); mwisho
mwisho% roombaInstall
Hatua ya 3: Sehemu ya Msimbo 1: Kazi ya Kufuatilia
Kazi hii inachukua ubadilishaji wa Roomba na picha kutoka kwa kamera kwenye Roomba na hupata kuratibu za katikati za kitu kilichofuatiliwa
Hifadhi nambari hii kwenye faili nyingine kwenye folda moja.
kazi [xm, ym] = ufuatiliaji wa bluu (r)% Pembejeo: matokeo ya roomba% Matokeo: x na y thamani ya katikati ya kitu kifuatacho% Kusudi: hupata katikati ya kitu cha bluu kilichopewa picha% Matumizi [x thamani, y thamani] = ufuatiliaji wa bluu (roomba variable) img = r.getImage; % inasoma kamera mbali na sehemu ndogo ya robot (1, 2, 2) subimage (img); % inaonyesha picha kwenye dirisha sawa na kichwa cha njia ('Picha ya Kufuatilia') nyekundu = img (:,:, 1); kijani = img (:,:, 2); bluu = img (:,:, 3); Bluu tu = bluu - kijani / 2 - nyekundu / 2; bw = tuBluu> 40; shikilia kijiti kidogo (1, 2, 2) kijiti kidogo (bw); [x, y] = pata (bw); ikiwa ~ isempty (x) && ~ isempty (y) xm = pande zote (maana (x)); ym = pande zote (maana (y)); xx = max (1, xm-5): min (xm + 5, saizi (bw, 1)); yy = max (1, ym-5): min (ym + 5, saizi (bw, 2)); bwbw = zero (saizi (bw), 'uint8'); bwbw (xx, yy) = 255; shikilia kijiti kidogo (1, 2, 2) kijiti kidogo (JustBlue + bwbw); mwisho
Hatua ya 4: Kanuni Sehemu ya 2: Wakati Kitanzi
Nambari hii inaendesha Roomba kulingana na eneo la x na y la kitu kutoka kwa kazi ya ufuatiliaji. Hii itafanya Roomba iangalie kuta na miamba, wakati inatafuta bluu. Hii pia itachukua uratibu wa x na y wa njia ya Roomba na kuunda njama inayolingana na picha ya ufuatiliaji. Ikiwa sensor ya mapema imeamilishwa itaendelea kwenye sehemu ya barua pepe
Mradi wa Rover
Jonah Zahn, Wade Bei, Noah Sloan% jzahn2, wprice15, nsloan1 Pembejeo: thamani ya roomba, data ya kamera, mapema, sensorer za ukuta Kusudi: Inafuata mwanaanga na epuka vizuizi. Ikiwa imearifiwa, roomba hutuma barua pepe% inayoelezea ramani na iko wapi kulingana na nafasi yake ya kuanza. Matumizi: endesha tu programu na kuwa umetangaza kutofautisha kwa roomba, pia% kuwa na kitu kijani kibichi% Matokeo: inaonyesha picha ya ufuatiliaji wa picha, ramani ya barua pepe na maandishi kwa mtumiaji %% Kufuatia Sehemu ya b = 0; Kuanzisha vigezo c = 0; x = 0; y = 0; theta = 0; wakati c == 0% Kitanzi kuifanya igundue kitu cha bluu na vizuizi t = r.timeGet; d = r.getDistance; [xval, yval] = bluu ya kufuatilia (r); mwamba = getCliffSensors (r); % kuanzisha miundo ya maadili ya sensorer mwanga = getLightBumpers (r); mapema = getBumpers (r); ikiwa mwanga.leftCenter> = 10 || light.rightCenter> = 10% Hisia ikiwa kuna ukuta karibu na r.stop r.setLEDDigits ('msaada') c = 1% wakati b == 0% ikiwa bump.right == 1 || mapema.kushoto == 1 || bump.front == 1% Hisi ikiwa imepiga kitu baada ya kuhisi ukuta% c = 1% b = 1% disp ('bump')% end% end elseif bump.right == 1 || mapema.kushoto == 1 || bump.front == 1% Hisia ikiwa imegonga kitu, ikiwa ni hivyo, itatuma barua pepe r.stop c = 1 b = 1 elseif cliff.leftFront <= 100 || mwamba.kulia mbele <= 100 || mwamba.kushoto <= 100 || cliff.right <= 100% Hisia ikiwa kuna mwamba karibu na r.stop c = 1 r.setLEDDigits ('msaada') mwingine% Huweka kasi za kuendesha kufuata bluu ikiwa yval = 100 r.setDriveVelocity (0.1) mwingineif yval 400 r. TurnAngle (-5) mwisho mwisho theta = theta + r.getAngle; x = d. * cosd (theta) + x; % x uratibu wa roomba y = d. * sind (theta). * d + y; Uratibu wa% y wa kiwanja cha roomba (1, 2, 1) kiwanja (x, y, 'bd')% hupanga njia na anaongeza kichwa cha kichwa ('Njia ya Roomba') shikilia; mwisho
Hatua ya 5: Kanuni Sehemu ya 3: Sehemu ya Barua pepe
Hii itachukua njia na picha iliyopangwa na kuipeleka kwa anwani maalum ya barua pepe
(Imeonyeshwa hapa na barua pepe ya mfano)
%% Sehemu ya Barua pepe
ikiwa b == 1 saveas (gcf, 'rovermap.png')% inaokoa setpref ya takwimu ('Internet', 'SMTP_Server', 'smtp.gmail.com'); setpref ('Mtandao', 'E_mail', '[email protected]'); Akaunti ya barua ya kutuma kutoka setpref ('Mtandao', 'SMTP_Username', '[email protected]'); % setpref ya watumaji ('Mtandao', 'SMTP_Password', 'gssegsse'); Watumaji nywila props = java.lang. System.getProperties; props.setProperty ('mail.smtp.auth', 'kweli'); props.setProperty ('mail.smtp.socketFactory.class', 'javax.net.ssl. SSLSocketFactory'); prop.setProperty ('mail.smtp.socketFactory.port', '465'); sendmail ('email email', 'RoverBeacon', 'Mwanaanga ameacha kusonga. Kwa kupona, fuata maagizo kwenye faili iliyoambatishwa.', 'rovermap.png') disp ('email sent') end
Ilipendekeza:
Mradi wa Robot UTK 2017: Hatua 3
Mradi wa Robot UTK 2017: Ujumbe: Timu yetu ya wahandisi imeajiriwa na Froogle, msingi wa mashirika yasiyo ya faida kwa maendeleo ya teknolojia ya chanzo, kukuza timu za ubunifu za Kusaidia Binadamu ya Mars Rover. ni roomba ambayo tuliandika ili kutekeleza mfululizo o
Pimp Kuanguka Kwangu: Hatua 9
Pimp My Wreck: Utangulizi wote! Sisi ni wanafunzi wawili wa sayansi ya kompyuta kutoka IDC, na kama wanafunzi, tunakaa kwa magari ya wastani (angalau hadi tutakapopata kazi). Kufikia wakati huo, tunayo shauku ya kuboresha misukosuko yetu ili angalau tujisikie baridi na kile tulicho nacho. Bahati
WIND - Mradi wa kuongeza kasi kwa Mradi wa Adafruit: Hatua 9 (na Picha)
Upepo - Mradi wa kuongeza kasi kwa Manyoya ya Adafruit: Nimekuwa nikikusanya polepole wadhibiti wa manyoya wa Adafruit na bodi za sensorer ambazo zinapatikana kutoka Adafruit. Wanafanya prototyping na upimaji kuwa rahisi sana, na mimi ni shabiki mkubwa wa mpangilio wa bodi. Kwa kuwa nilijikuta tumetumia
Mradi wa Mars Roomba UTK: Hatua 4
Mradi wa Mars Roomba UTK: KANUSHO: HII ITAFANYA KAZI TU IKIWA ROOMBA IMEWEKWA KWA NJIA KILA MAALUM, HIYO INAELEZEKA ILIUMBWA NA INATAMANIWA KUTUMIWA NA CHUO KIKUU CHA WANAFUNZI WA TENNESSEE NA FASIAMALI Nambari hii inatumiwa kuanzisha Roomba kukimbia ndani imeandikwa na s
Mchomaji umeme wa USB! Mradi huu unaweza kuchoma kupitia Plastiki / Mbao / Karatasi (Mradi wa kufurahisha Pia Inapaswa Kuwa Kuni Nzuri Sana): Hatua 3
Mchomaji umeme wa USB! Mradi huu unaweza kuchoma kupitia Plastiki / Mbao / Karatasi (Mradi wa kufurahisha Pia Inapaswa Kuwa Mti Mzuri Sana): USIFANYE KUTUMIA USB HII !!!! niligundua kuwa inaweza kuharibu kompyuta yako kutoka kwa maoni yote. kompyuta yangu ni sawa tho. Tumia chaja ya simu ya 600ma 5v. nilitumia hii na inafanya kazi vizuri na hakuna kitu kinachoweza kuharibika ikiwa unatumia kuziba usalama kukomesha nguvu