Përmbajtje:

RADbot: 7 hapa
RADbot: 7 hapa

Video: RADbot: 7 hapa

Video: RADbot: 7 hapa
Video: BIT.TRIP RUNNER 2-7 Radbot 2024, Tetor
Anonim
RADbot
RADbot

Një projekt nga Jackson Breakell, Tyler McCubbins dhe Jakob Thaler për EF 230

Në Mars, astronautët do t'i nënshtrohen një sërë rreziqesh, duke filluar nga temperaturat ekstreme deri në stuhitë e pluhurit. Megjithatë, një faktor që shpesh anashkalohet është rreziku i paraqitur nga radioizotopët e fuqishëm që banojnë në sipërfaqen e planetit. RADbot siguron ndihmë për të eksploruar astronautët në sipërfaqen e Marsit duke identifikuar mostrat e shkëmbinjve me aktivitete të larta ndërsa udhëton, dhe gjithashtu ka veçori të programuara të sigurisë që përdorin sensorët e tij të shkëmbinjve, sensorët e dritës, sensorët e parakolpit dhe një aparat fotografik, duke parandaluar dëmtimin e robotit në terrenin marsian të pafalshëm. Përveç paralajmërimit të astronautëve për rreziqe të mundshme radioaktive në sipërfaqe, tipari i lokacionit të mostrës radioaktive të robotit mund të zbatohet si një mjet për të identifikuar zonat që mund të mbajnë depozita të mëdha të uraniumit dhe aktinideve të tjera. Astronautët mund t'i minojnë këto elementë, t'i pasurojnë ato mjaftueshëm dhe t'i përdorin ato në reaktorët bërthamorë dhe gjeneratorët termoelektrikë, të cilët mund të ndihmojnë në fuqizimin e një kolonie të përhershme, të vetë-qëndrueshme në planet.

Ndryshe nga roveri tipik Mars, dizajni ynë përmban përbërës jashtë raftit dhe një çmim të arsyeshëm. Me kusht që të keni fondet dhe dëshirën, madje mund të krijoni një të tillë duke ndjekur këtë udhëzues. Ju lutemi lexoni për të mësuar se si të bëni RADbot -in tuaj.

Hapi 1: Merrni pjesët dhe materialet e nevojshme

Merrni pjesët dhe materialet e nevojshme
Merrni pjesët dhe materialet e nevojshme
Merrni pjesët dhe materialet e nevojshme
Merrni pjesët dhe materialet e nevojshme
Merrni pjesët dhe materialet e nevojshme
Merrni pjesët dhe materialet e nevojshme

Çfarë ju nevojitet për të filluar (Imazhet e vendosura sipas renditjes së tyre)

1. One Roomba (çdo model më i ri)

2. Një numërues Geiger-Mueller

3. One Raspberry Pi

4. Një aparat fotografik me një prizë me një prizë USB

5. Një kabllo mikro USB në USB

6. Një kabllo USB në USB

7. Një mostër radioaktive me aktivitet të mjaftueshëm (~ 5μSv ose më e lartë)

8. Një kompjuter me Matlab të instaluar

9. Ngjitës (mundësisht shirit ngjitës për heqje të lehtë)

Hapi 2: Konfigurimi i Kamera dhe Counter Geiger-Muller

Konfigurimi i Kamera dhe Counter Geiger-Muller
Konfigurimi i Kamera dhe Counter Geiger-Muller

Tani që keni të gjitha materialet e kërkuara për të krijuar RADbot, ne do të fillojmë duke e vendosur thjesht kamerën në mënyrë që ajo të mund të lexojë aktivitetin në sportel. Vendoseni sportelin Geiger-Muller sa më afër fundit të Roomba dhe sigurohuni që sensori i tij të mos jetë i bllokuar. Sigurojeni sportelin në vend fort me ngjitësin që keni zgjedhur dhe vazhdoni të montoni kamerën për ta përballuar. Vendoseni kamerën sa më afër ekranit të sportelit për të parandaluar që hyrjet e jashtme të ndikojnë në program dhe sigurojeni atë në vend sapo të ndiheni rehat. Ne ju rekomandojmë që ta ruani sigurimin e kamerës për fundin, megjithatë, sepse, kur kodi juaj të ketë mbaruar, mund të shfaqni një imazh nga kamera në kompjuterin tuaj, duke ju lejuar të poziciononi kamerën bazuar në fushën e saj të shikimit. Pasi të dyja kamera dhe sporteli janë vendosur në vend, vendoseni kamerën në njërën nga hyrjet USB të Raspberry Pi me kabllon USB në USB dhe futeni Raspberry Pi në Roomba me kabllo mikro USB në USB.

Hapi 3: Lidhuni me dhomën tuaj dhe krijoni kodin e sensorit të dritës

Lidhuni me dhomën tuaj dhe krijoni kodin e sensorit të dritës
Lidhuni me dhomën tuaj dhe krijoni kodin e sensorit të dritës

Së pari, shkarkoni kutinë e veglave Roomba të faqes në internet EF 230 dhe sigurohuni që ta vendosni në dosjet e specifikuara. Për t'u lidhur me Roomba -n tuaj, thjesht referojuni afisheve të bashkangjitura në Raspberry Pi dhe futni "r = roomba (x)" në dritaren e komandës, pa thonjëza, dhe ku x nënkupton numrin e Roomba -s. Roomba duhet të luajë një melodi dhe butoni i pastër duhet të shfaqë një unazë jeshile rreth tij. Filloni kodin tuaj me një deklaratë "while" dhe referojuni sensorëve të dritës siç shfaqen në listën e sensorëve. Hapni listën e sensorëve duke shtypur "r.testSensors" në dritaren e komandës.

Bazuar në ngjyrën e objektit tonë, e cila përcakton se sa dritë reflektohet, vendosni kërkesat që deklarata while të ekzekutohet si një funksion>. Në rastin tonë, ne vendosëm sensorin e dritës së përparme që të ekzekutojë kodin në deklaratën while nëse leximi në sensorët e dritës qendrore të majtë ose të djathtë ishte> 25. Për deklaratën e ekzekutueshme, vendosni që shpejtësia e Roomba të ngadalësohet duke shtypur "r.setDriveVelocity (x, y)" ku x dhe y janë shpejtësitë e rrotave të majtë dhe të djathtë përkatësisht. Futni një deklaratë "tjetër", në mënyrë që Roomba të mos ngadalësohet për vlerat e paspecifikuara dhe futni përsëri komandën e caktuar të shpejtësisë së diskut, përveç me një shpejtësi të ndryshme. Përfundoni deklaratën while me një "fund". Ky segment i kodit do ta bëjë Roomba t'i afrohet objektit dhe të ngadalësojë sapo të arrijë një diapazon të caktuar për të minimizuar ndikimin.

Bashkangjitur është një pamje e ekranit të kodit tonë, por mos ngurroni ta redaktoni për t'iu përshtatur më së miri parametrave të misionit tuaj.

Hapi 4: Krijoni një kod parakolp

Krijoni një kod parakolp
Krijoni një kod parakolp

Ndërsa Roomba po ngadalësohet, do të minimizojë ndikimin që ka në objekt, edhe pse jo aq shumë sa të mos shkaktojë parakolpin fizik. Për këtë segment të kodit, filloni përsëri me një lak "while" dhe vendosni që shprehja e tij të jetë e vërtetë. Për deklaratën, vendosni ndryshoren T të barabartë me daljen e parakolpit, 0 ose 1, për false dhe true. Për këtë mund të përdorni "T = r.getBumpers". T do të dalë si strukturë. Vendosni një deklaratë "nëse" dhe vendosni shprehjen e saj për nënshtresën T.front në të barabartë me 1, dhe vendoseni deklaratën ose të vendosni shpejtësinë e makinës në 0, duke përdorur "r.setDriveVelocity (x, y)" ose "r.stop ". Vendosni një "pushim" në mënyrë që Roomba të mund të lëvizë pasi të plotësohet kushti në kodin tjetër. Shtoni një "tjetër" dhe vendosni deklaratën e tij për të vendosur shpejtësinë e vozitjes me shpejtësinë normale të lundrimit të Roomba.

Bashkangjitur është një pamje e ekranit të kodit tonë, por mos ngurroni ta redaktoni për t'iu përshtatur më së miri parametrave të misionit tuaj.

Hapi 5: Krijoni kod për të lexuar ekranin e kundërt, interpretojeni atë dhe tërhiqeni nga burimi

Krijoni kod për të lexuar ekranin e kundërt, interpretojeni atë dhe tërhiqeni nga burimi
Krijoni kod për të lexuar ekranin e kundërt, interpretojeni atë dhe tërhiqeni nga burimi

Në zemër të projektit tonë është numëruesi Geiger-Muller dhe segmenti i mëposhtëm i kodit përdoret për të përcaktuar se çfarë nënkuptojnë të dhënat në ekran duke përdorur kamerën. Duke pasur parasysh që ekrani i sportelit tonë ndryshon ngjyrën bazuar në aktivitetin e burimit, ne do të vendosim që kamera të interpretojë ngjyrën e ekranit. Filloni kodin tuaj duke vendosur një ndryshore të barabartë me komandën "r.getImage". Variabla do të përmbajë një grup 3d të vlerave të ngjyrave të figurës që bëri në të kuqe, jeshile dhe blu. Vendosni variabla të barabartë me mesataret e këtyre matricave përkatëse të ngjyrave duke përdorur komandën "mean (mean (img1 (:,, x)))" ku x është një numër i plotë nga 1 në 3. 1, 2 dhe 3 përfaqësojnë të kuqe, jeshile dhe blu respektivisht. Ashtu si me të gjitha komandat e referuara, mos përfshini thonjëza.

Bëni programin të pushojë për 20 sekonda duke përdorur "pauzë (20)" në mënyrë që numëruesi të marrë një lexim të saktë të mostrës dhe pastaj të fillojë një deklaratë "nëse". Ne kishim një bip Roomba tonë disa herë duke përdorur "r.beep" para se ta shfaqnim një menu me tekstin "Radioizotopi u gjet! Kujdes!" kjo mund të arrihet me komandën "waitfor (helpdlg ({'texthere'})" ". Pasi të klikoni ok, Roomba do të vazhdojë të ndjekë pjesën tjetër të kodit në deklaratën" nëse ". Bëni Roomba të vozisë rreth mostrës duke përdorur një kombinim i komandave "r.moveDistance" dhe "r.turnAngle". Sigurohuni që të përfundoni deklaratën tuaj if me një "fund".

Bashkangjitur është një pamje e ekranit të kodit tonë, por mos ngurroni ta redaktoni për t'iu përshtatur më së miri parametrave të misionit tuaj.

Hapi 6: Krijoni një kod të sensorit të shkëmbit

Krijoni një kod të sensorit Cliff
Krijoni një kod të sensorit Cliff

Për të krijuar një kod për të përdorur sensorët e integruar të shkëmbit të Roomba, filloni me një lak "while" dhe vendosni që shprehja e tij të jetë e vërtetë. Vendosni një ndryshore të jetë e barabartë me "r.getCliffSensors", dhe kjo do të rezultojë në një strukturë. Filloni një deklaratë "nëse" dhe vendosni ndryshoret "X.leftFront" dhe "X.rightFront" nga struktura të jenë më të mëdha se disa vlera të paracaktuara, ku "X" është variabli që keni zgjedhur komandën "r.getCliffSensors" të jetë e barabartë me Në rastin tonë, ne përdorëm 1000, pasi një copë letër e bardhë u përdor për të përfaqësuar një shkëmb dhe, ndërsa sensorët iu afruan, letrës, vlerat u rritën në mbi 1000, duke siguruar që kodi të ekzekutohet vetëm kur zbulohet një shkëmb Me Shtoni komandën "break" pas, dhe pastaj futni një deklaratë "else". Për deklaratën "tjetër", e cila do të ekzekutohet nëse nuk zbulohet një shkëmb, vendosni shpejtësinë e vozitjes në shpejtësinë normale të lundrimit për secilën rrotë. Nëse Roomba vërtet zbulon një shkëmb, "pushimi" do të ekzekutohet, dhe pastaj kodi jashtë lakut while do të ekzekutohet. Pasi të vendosni "fundin" për lakun "nëse" dhe "ndërsa", vendosni Roomba të lëvizë prapa duke përdorur komandën e distancës së lëvizjes. Për të paralajmëruar astronautët se një shkëmb është afër, vendosni shpejtësitë e lëvizjes së secilës rrotë, x dhe y në komandën e shpejtësisë së vozitjes, të jenë a dhe -a, ku a është një numër real. Kjo do të bëjë që Roomba të rrotullohet, duke paralajmëruar astronautin për në shkëmb.

Bashkangjitur është një pamje e ekranit të kodit tonë, por mos ngurroni ta redaktoni për t'iu përshtatur më së miri parametrave të misionit tuaj.

Hapi 7: Përfundimi

Përfundim
Përfundim

Qëllimi përfundimtar i RADbot në Mars është të ndihmojë astronautët në eksplorimin dhe kolonizimin e tyre të planetit të kuq. Duke identifikuar mostrat radioaktive në sipërfaqe, shpresat tona janë që roboti, ose roveri, në këtë rast, mund të mbajë vërtet astronautët të sigurt dhe të ndihmojë në identifikimin e burimeve të energjisë për bazën (t) e tyre. Pasi të keni ndjekur të gjithë këta hapa, dhe ndoshta me ndonjë provë dhe gabim, RADbot juaj duhet të jetë në punë. Vendoseni mostrën radioaktive diku brenda zonës suaj të testimit, ekzekutoni kodin tuaj dhe shikoni roverin të bëjë atë që ishte projektuar për të bërë. Gëzoni RADbot -in tuaj!

-Ekipi EF230 RADbot

Recommended: