Sisukord:

RADbot: 7 sammu
RADbot: 7 sammu

Video: RADbot: 7 sammu

Video: RADbot: 7 sammu
Video: Head Molt - Police Dhajall (2007) 2024, Oktoober
Anonim
RADbot
RADbot

Jackson Breakelli, Tyler McCubbinsi ja Jakob Thaleri projekt EF 230 jaoks

Marsil ootavad astronaudid mitmesuguseid ohte, alates äärmuslikest temperatuuridest kuni tolmutormideni. Üks sageli tähelepanuta jäetud tegur on aga oht, mida kujutavad endast planeedi pinnal asuvad võimsad radioisotoobid. RADbot pakub abi astronautide uurimiseks Marsi pinnal, tuvastades reisimisel suure aktiivsusega kivimiproovid, ning sellel on ka programmeeritud turvafunktsioonid, mis kasutavad selle kaljuandureid, valgusandureid, kaitseraua andureid ja kaamerat, vältides roboti kahjustusi andestamatul Marsi maastikul. Lisaks astronautide hoiatamisele võimalike radioaktiivsete ohtude eest pinnal võib roboti radioaktiivse proovi asukoha funktsiooni rakendada vahendina, et tuvastada piirkonnad, mis võivad sisaldada suuri uraani- ja muid aktiniide. Astronaudid saaksid neid elemente kaevandada, rikastada neid piisavalt ning kasutada neid tuumareaktorites ja termoelektrijaamades, mis võiksid aidata toita planeedil püsivat isemajandavat kolooniat.

Erinevalt tüüpilisest Marsi roverist sisaldab meie disain riiulil olevaid komponente ja mõistlikku hinnasilti. Tingimusel, et teil on raha ja soovi, saate seda juhendit järgides isegi ise ehitada. Palun lugege edasi, et teada saada, kuidas oma RADboti teha.

Samm: hankige vajalikud osad ja materjalid

Hankige vajalikud osad ja materjalid
Hankige vajalikud osad ja materjalid
Hankige vajalikud osad ja materjalid
Hankige vajalikud osad ja materjalid
Hankige vajalikud osad ja materjalid
Hankige vajalikud osad ja materjalid

Alustamiseks vajalik (pildid on paigutatud loetellu)

1. Üks Roomba (mis tahes uuem mudel)

2. Üks Geigeri-Mülleri loendur

3. Üks Vaarika Pi

4. Üks pardakaamera USB -pistikupesaga

5. Üks mikro -USB -kaabel

6. Üks USB -USB -kaabel

7. Üks piisava aktiivsusega radioaktiivne proov (~ 5μSv või kõrgem)

8. Üks arvuti, kuhu on paigaldatud Matlab

9. Liim (eelistatavalt kleeplint hõlpsaks eemaldamiseks)

2. samm: kaamera ja Geiger-Mulleri loenduri seadistamine

Kaamera ja Geiger-Mulleri loenduri seadistamine
Kaamera ja Geiger-Mulleri loenduri seadistamine

Nüüd, kui teil on kõik vajalikud materjalid RADboti loomiseks, alustame lihtsalt kaamera paigutamisest, et see loenduril toimuvat lugeda saaks. Asetage Geiger-Mulleri loendur Roomba otsale võimalikult lähedale ja veenduge, et selle andur pole blokeeritud. Kinnitage loendur kindlalt oma valitud liimiga ja jätkake kaamera paigaldamist. Asetage kaamera loenduri ekraanile võimalikult lähedale, et välissisendid programmi ei mõjutaks, ja kinnitage see oma kohale, kui tunnete end mugavalt. Soovitame siiski kaamera turvalisuse viimaseks ajaks salvestada, sest kui kood on valmis, saate kaamerast pildi oma arvutisse kuvada, võimaldades kaamera paigutada selle vaatevälja alusel. Kui kaamera ja loendur on kindlalt paigas, ühendage kaamera USB -USB -kaabli abil Raspberry Pi ühe USB -sisendiga ja ühendage Raspberry Pi mikro -USB -kaabli abil Roombaga.

Samm: ühendage oma Roomba ja looge valgusanduri kood

Ühendage oma Roomba ja looge valgusanduri kood
Ühendage oma Roomba ja looge valgusanduri kood

Esmalt laadige alla EFba veebisaidi Roomba tööriistakast ja asetage see kindlasti määratud kaustadesse. Oma Roombaga ühenduse loomiseks vaadake lihtsalt Raspberry Pi külge kinnitatud kleebist ja sisestage käsuaknasse "r = roomba (x)" ilma jutumärkideta ja kus x tähistab Roomba numbrit. Roomba peaks mängima viisi ja puhas nupp peaks selle ümber näitama rohelist rõngast. Alustage oma koodiga "samas" ja vaadake valgusandureid, nagu need on andurite loendis. Andurite loendi avamiseks tippige käsuaknasse "r.testSensors".

Tuginedes meie objekti värvile, mis määrab, kui palju valgust peegeldub, seadistage nõuded while -lause täitmiseks funktsioonina>. Meie puhul seadsime esituleanduri käivitama samas lauses oleva koodi, kui vasaku või parema keskvalgusanduri näit oli> 25. Käivitatava avalduse jaoks seadistage Roomba kiirus aeglasemaks, tippides "r.setDriveVelocity (x, y)", kus x ja y on vastavalt vasaku ja parema ratta kiirus. Sisestage avaldus "else", et Roomba ei aeglustaks määratlemata väärtusi, ja sisestage uuesti seadistatud ajamikiiruse käsk, välja arvatud erineva kiirusega. Lõpetage samas lause "lõpuga". See koodisegment paneb Roomba objektile lähenema ja aeglustab, kui see jõuab teatud vahemikku, et minimeerida mõju.

Lisatud on meie koodi ekraanipilt, kuid muutke seda vabalt oma missiooni parameetritele vastavaks.

4. samm: looge kaitseraua kood

Looge kaitseraua kood
Looge kaitseraua kood

Kuna Roomba aeglustub, minimeerib see objektile avaldatava mõju, kuigi mitte nii palju, et see ei käivitaks füüsilist kaitseraua. Selle koodisegmendi puhul alustage uuesti ajaga „while” ja määrake selle avaldis tõeseks. Lause jaoks seadistage muutuja T võrdseks kaitseraua väljundiga, kas 0 või 1, kui see on vale ja tõene. Selleks võite kasutada "T = r.getBumpers". T väljastab struktuurina. Sisestage avaldis "if" ja määrake selle alamstruktuuri T.front avaldis võrdseks 1 ja määrake avalduseks kas ajami kiirus 0, kasutades r.setDriveVelocity (x, y) või r.stop ". Sisestage vaheaeg, et Roomba saaks pärast järgmise koodi tingimuse täitmist liikuda. Lisage "muu" ja määrake selle avaldus, et seada sõidukiirus Roomba tavapärasele sõidukiirusele.

Lisatud on meie koodi ekraanipilt, kuid muutke seda vabalt oma missiooni parameetritele vastavaks.

Samm: looge kood loenduri ekraani lugemiseks, tõlgendage seda ja taanduge allikast

Looge kood loenduri ekraani lugemiseks, tõlgendage seda ja taanduge allikast
Looge kood loenduri ekraani lugemiseks, tõlgendage seda ja taanduge allikast

Meie projekti keskmes on Geiger-Mulleri loendur ja järgmise koodisegmendi abil tehakse kindlaks, mida ekraanil olevad andmed kaamera abil tähendavad. Arvestades, et meie loenduri ekraan muudab värvi vastavalt allika tegevusele, seadistame kaamera ekraani värvi tõlgendama. Alustage oma koodi, määrates muutuja, mis on võrdne käsuga "r.getImage". Muutuja sisaldab kolmemõõtmelist pildivärvi punast, rohelist ja sinist värvi. Määrake muutujad, mis on võrdsed nende vastavate värvimaatriksite keskmistega, kasutades käsku "keskmine (keskmine (img1 (:,:, x)))", kus x on täisarv 1 kuni 3. 1, 2 ja 3 tähistavad punast, rohelist ja vastavalt sinine. Nagu kõigi viidatud käskude puhul, ärge lisage jutumärke.

Laske programmil paus (20) kasutada 20 sekundit pausi, et loendur saaks proovi täpse lugemise ja alustage seejärel lauset "kui". Saime oma Roomba piiksu mitu korda, kasutades "r.beep", enne kui see näitas menüüd tekstiga "Radioisotoop leitud! Ettevaatust!" seda saab teha käsuga "waitfor (helpdlg ({'texthere'})"). Pärast OK klõpsamist jätkab Roomba ülejäänud koodi "lause" järgimist. Laske Roombal proovis ringi sõita käskude "r.moveDistance" ja "r.turnAngle" kombinatsioon. Kindlasti lõpetage oma if lause "end".

Lisatud on meie koodi ekraanipilt, kuid muutke seda vabalt oma missiooni parameetritele vastavaks.

Samm: looge kaljuanduri kood

Looge kaljuanduri kood
Looge kaljuanduri kood

Koodi loomiseks, et kasutada Roomba sisseehitatud kaljuandureid, alustage tsüklist "while" ja määrake selle avaldis tõeks. Määrake muutuja võrdseks väärtusega "r.getCliffSensors" ja tulemuseks on struktuur. Alustage lauset "if" ja määrake struktuurist muutujad "X.leftFront" ja "X.rightFront" suuremaks kui mõni etteantud väärtus, kus "X" on muutuja, mille valisite käsuks "r.getCliffSensors" olla võrdne. Meie puhul kasutasime 1000, kuna kalju kujutas valge paberitükk, ja andurite lähenedes paberile kasvasid väärtused tublisti üle 1000, tagades, et kood käivitub alles siis, kui kalju on tuvastatud. Lisage pärast käsku "break" ja seejärel sisestage avaldus "else". Lause "else" puhul, mis käivitatakse, kui kaljut ei tuvastata, seadistage sõidukiiruseks iga ratta tavaline kiirus. Kui Roomba tuvastab kalju, käivitatakse "katkestus" ja seejärel käivitatakse kood väljaspool aega. Pärast silmuse "if" ja "while" "lõppu" asetamist seadistage Roomba liikuma kauguse käsu abil tagasi. Astronautide hoiatamiseks, et lähedal on pankrannik, määrake iga ratta, x ja y, sõidukiiruse käskluse kiiruseks a ja -a, kus a on reaalarv. See paneb Roomba pöörlema, hoiatades astronauti kalju eest.

Lisatud on meie koodi ekraanipilt, kuid muutke seda vabalt oma missiooni parameetritele vastavaks.

Samm 7: Järeldus

Järeldus
Järeldus

RADboti lõppeesmärk Marsil on aidata astronaute punase planeedi uurimisel ja koloniseerimisel. Pinnal olevate radioaktiivsete proovide tuvastamisega loodame, et robot või rover suudab sel juhul astronaudid tõeliselt turvaliselt hoida ja aidata kindlaks teha nende baasi (te) toiteallikad. Pärast kõigi nende toimingute tegemist ja võib -olla mõne katse ja vea korral peaks teie RADbot olema töökorras. Asetage radioaktiivne proov kuhugi oma testimispiirkonda, täitke oma kood ja vaadake, kuidas rover teeb seda, milleks see oli ette nähtud. Nautige oma RADbot'i!

-EF230 RADboti meeskond

Soovitan: