Satura rādītājs:

RADbot: 7 soļi
RADbot: 7 soļi

Video: RADbot: 7 soļi

Video: RADbot: 7 soļi
Video: Cry Shark - Protect & Survive (1981) 2024, Novembris
Anonim
RADbot
RADbot

Džeksona Breikela, Tailera Makubinsa un Jakoba Tālera projekts EF 230

Uz Marsa astronauti tiks pakļauti dažādām briesmām, sākot no ekstremālām temperatūrām līdz putekļu vētrām. Tomēr viens faktors, kas bieži tiek ignorēts, ir bīstamība, ko rada spēcīgi radioizotopi, kas atrodas uz planētas virsmas. RADbot palīdz izpētīt astronautus uz Marsa virsmas, ceļojot identificējot akmeņu paraugus ar augstām aktivitātēm, kā arī ir ieprogrammēti drošības līdzekļi, kas izmanto tā klints sensorus, gaismas sensorus, bufera sensorus un kameru, novēršot robota bojājumus. nepiedodamajā Marsa reljefā. Papildus astronautu brīdināšanai par iespējamām radioaktīvām briesmām uz virsmas, robota radioaktīvo paraugu atrašanās vietas funkciju var ieviest kā līdzekli, lai identificētu apgabalus, kuros varētu būt lielas urāna un citu aktinīdu nogulsnes. Astronauti varētu iegūt šos elementus, tos pietiekami bagātināt un izmantot kodolreaktoros un termoelektrostacijās, kas varētu palīdzēt nodrošināt pastāvīgu, pašpietiekamu koloniju uz planētas.

Atšķirībā no tipiskā Marsa braucēja, mūsu dizainā ir gatavas sastāvdaļas un saprātīga cenu zīme. Ja jums ir līdzekļi un vēlme, jūs pat varat to izveidot, ievērojot šo rokasgrāmatu. Lūdzu, izlasiet tālāk, lai uzzinātu, kā izveidot savu RADbot.

1. darbība: iegādājieties nepieciešamās detaļas un materiālus

Iegūstiet nepieciešamās detaļas un materiālus
Iegūstiet nepieciešamās detaļas un materiālus
Iegūstiet nepieciešamās detaļas un materiālus
Iegūstiet nepieciešamās detaļas un materiālus
Iegūstiet nepieciešamās detaļas un materiālus
Iegūstiet nepieciešamās detaļas un materiālus

Lai sāktu darbu (attēli ir ievietoti to sarakstā)

1. Viena Roomba (jebkurš jaunāks modelis)

2. Viens Geigera-Millera skaitītājs

3. Viens Raspberry Pi

4. Viena paneļa kamera ar USB kontaktligzdu

5. Viens micro USB - USB kabelis

6. Viens USB - USB kabelis

7. Viens radioaktīvs paraugs ar pietiekamu aktivitāti (~ 5μSv vai lielāks)

8. Viens dators ar instalētu Matlab

9. Līme (vēlams līmlente vieglai noņemšanai)

2. darbība. Kameras un Geigera-Millera skaitītāja konfigurēšana

Kameras un Geigera-Millera skaitītāja konfigurēšana
Kameras un Geigera-Millera skaitītāja konfigurēšana

Tagad, kad jums ir visi nepieciešamie materiāli RADbot izveidei, mēs sāksim, vienkārši ievietojot kameru tā, lai tā varētu nolasīt darbības uz skaitītāja. Novietojiet Geigera-Millera skaitītāju pēc iespējas tuvāk Roomba galam un pārliecinieties, vai tā sensors nav bloķēts. Cieši nostipriniet skaitītāju vietā ar izvēlēto līmi un turpiniet montēt kameru, lai tā būtu vērsta pret to. Novietojiet kameru pēc iespējas tuvāk skaitītāja displejam, lai nepieļautu, ka ārējie ievadi ietekmē programmu, un nostipriniet to vietā, kad jūtaties ērti. Mēs iesakām tomēr saglabāt kameras aizsardzību pēdējam, jo, kad kods ir pabeigts, jūs varat parādīt attēlu no kameras datorā, ļaujot novietot kameru, pamatojoties uz tās redzamības lauku. Kad kamera un skaitītājs ir stingri savās vietās, pievienojiet kameru kādai no Raspberry Pi USB ieejām, izmantojot USB – USB kabeli, un pievienojiet Raspberry Pi Roomba, izmantojot mikro USB – USB kabeli.

3. darbība: izveidojiet savienojumu ar savu Roomba un izveidojiet gaismas sensora kodu

Pievienojieties savam Roomba un izveidojiet gaismas sensora kodu
Pievienojieties savam Roomba un izveidojiet gaismas sensora kodu

Vispirms lejupielādējiet vietnes EF 230 rīkkopu un noteikti ievietojiet to norādītajās mapēs. Lai izveidotu savienojumu ar savu Roomba, vienkārši atsaucieties uz uzlīmi, kas pievienota Raspberry Pi, un komandu logā ievadiet "r = roomba (x)" bez pēdiņām un kur x apzīmē Roomba numuru. Roomba vajadzētu atskaņot melodiju, un tīrajai pogai vajadzētu parādīt zaļu gredzenu ap to. Sāciet savu kodu ar paziņojumu “kamēr” un skatiet gaismas sensorus, kādi tie parādās sensoru sarakstā. Atveriet sensoru sarakstu, komandu logā ierakstot "r.testSensors".

Pamatojoties uz mūsu objekta krāsu, kas nosaka, cik daudz gaismas atstarojas, iestatiet prasības, lai paziņojums while tiktu izpildīts kā funkcija. Mūsu gadījumā mēs iestatījām priekšējo gaismas sensoru, lai palaistu kodu paziņojumā while, ja kreisās vai labās puses gaismas sensoru rādījums bija> 25. Izpildāmā paziņojuma gadījumā iestatiet Roomba ātrumu, lai palēninātu, ierakstot "r.setDriveVelocity (x, y)", kur x un y ir attiecīgi kreisā un labā riteņa ātrums. Ievietojiet paziņojumu "cits", lai Roomba nesamazinātu nenoteiktas vērtības, un vēlreiz ievadiet iestatītās piedziņas ātruma komandu, izņemot citu ātrumu. Pabeidziet paziņojumu kamēr ar “beigas”. Šis koda segments liks Roomba tuvoties objektam un palēnināsies, kad tas sasniegs noteiktu diapazonu, lai samazinātu ietekmi.

Pievienots mūsu koda ekrānuzņēmums, taču nekautrējieties to rediģēt, lai tas vislabāk atbilstu jūsu misijas parametriem.

4. darbība: izveidojiet bufera kodu

Izveidojiet bufera kodu
Izveidojiet bufera kodu

Tā kā Roomba palēninās, tas samazinās ietekmi, ko tas atstāj uz objektu, lai gan ne tik daudz, lai neizraisītu fizisko buferi. Šim koda segmentam vēlreiz sāciet ar cilni "while" un iestatiet tā izteiksmi kā patiesu. Paziņojumam iestatiet mainīgo T, kas vienāds ar bufera izvadi, vai nu 0, vai 1, norādot nepatiesu un patiesu. Šim nolūkam varat izmantot "T = r.getBumpers". T izvadīs kā struktūru. Ievadiet paziņojumu "ja" un iestatiet tā izteiksmi apakšstruktūrai T.front uz vienādu 1 un iestatiet paziņojumu vai nu iestatiet piedziņas ātrumu uz 0, izmantojot "r.setDriveVelocity (x, y)" vai "r.stop ". Ievadiet “pārtraukumu”, lai Roomba varētu pārvietoties pēc tam, kad ir izpildīts nosacījums nākamajā kodā. Pievienojiet “cits” un iestatiet tā paziņojumu, lai braukšanas ātrumu iestatītu uz normālo Roomba kreisēšanas ātrumu.

Pievienots mūsu koda ekrānuzņēmums, taču nekautrējieties to rediģēt, lai tas vislabāk atbilstu jūsu misijas parametriem.

5. darbība: izveidojiet kodu, lai nolasītu skaitītāja ekrānu, interpretētu to un atkāptos no avota

Izveidojiet kodu skaitītāja ekrāna lasīšanai, interpretējiet to un atkāpieties no avota
Izveidojiet kodu skaitītāja ekrāna lasīšanai, interpretējiet to un atkāpieties no avota

Mūsu projekta pamatā ir Geigera-Millera skaitītājs, un, lai noteiktu, ko ekrānā redzamie dati nozīmē, izmantojot kameru, tiek izmantots šāds koda segments. Tā kā mūsu skaitītāja ekrāns maina krāsu, pamatojoties uz avota darbību, mēs iestatīsim kameru, lai tā interpretētu ekrāna krāsu. Sāciet savu kodu, iestatot mainīgo, kas vienāds ar komandu "r.getImage". Mainīgais satur 3D attēla krāsu vērtību masīvu sarkanā, zaļā un zilā krāsā. Iestatiet mainīgos, kas vienādi ar šo attiecīgo krāsu matricu vidējiem rādītājiem, izmantojot komandu "vidējais (vidējais (img1 (:,:, x)))", kur x ir vesels skaitlis no 1 līdz 3. 1, 2 un 3 apzīmē sarkanu, zaļu un attiecīgi zilā krāsā. Tāpat kā visās norādītajās komandās, neiekļaujiet pēdiņas.

Ļaujiet programmai pauzēt 20 sekundes, izmantojot "pauzi (20)", lai skaitītājs varētu iegūt precīzu parauga nolasījumu un pēc tam sākt paziņojumu "ja". Mums Roomba pīkstēja vairākas reizes, izmantojot "r.beep", pirms tika parādīta izvēlne ar tekstu "Radioizotops atrasts! Uzmanību!" to var paveikt ar komandu "waitfor (helpdlg ({'texthere'})"). Noklikšķinot uz Labi, Roomba turpinās sekot pārējam kodam paziņojumā "ja". Lieciet Roomba apbraukt paraugu, izmantojot komandu "r.moveDistance" un "r.turnAngle" kombinācija. Noteikti beidziet savu if paziņojumu ar "beigas".

Pievienots mūsu koda ekrānuzņēmums, taču nekautrējieties to rediģēt, lai tas vislabāk atbilstu jūsu misijas parametriem.

6. darbība: izveidojiet klints sensora kodu

Izveidojiet klints sensora kodu
Izveidojiet klints sensora kodu

Lai izveidotu kodu, lai izmantotu Roomba iebūvētos klints sensorus, sāciet ar cilni "while" un iestatiet tā izteiksmi kā patiesu. Iestatiet mainīgo kā vienādu ar "r.getCliffSensors", un tā rezultātā tiks izveidota struktūra. Sāciet paziņojumu "ja" un iestatiet struktūras mainīgos "X.leftFront" un "X.rightFront", lai tie būtu lielāki par kādu iepriekš noteiktu vērtību, kur "X" ir mainīgais, kuram izvēlējāties komandu "r.getCliffSensors" būt vienāds ar. Mūsu gadījumā mēs izmantojām 1000, jo baltā papīra gabals tika izmantots, lai attēlotu klinti, un, tuvojoties sensoriem, papīram, vērtības pieauga līdz krietni vairāk nekā 1000, nodrošinot, ka kods tiks izpildīts tikai tad, kad tiks konstatēta klints. Pēc tam pievienojiet komandu "pārtraukums" un pēc tam ievietojiet paziņojumu "cits". Paziņojumam "cits", kas tiks izpildīts, ja klints netiks konstatēta, katram ritenim iestatiet piedziņas ātrumu uz parasto kreisēšanas ātrumu. Ja Roomba tomēr atklāj klinti, tiks izpildīts "pārtraukums" un pēc tam tiks izpildīts kods ārpus kamēr cilpas. Pēc cilnes "ja" un "kamēr" ievietošanas "beigu" ievietošanas iestatiet Roomba kustēties atpakaļ, izmantojot pārvietošanas komandu. Lai brīdinātu astronautus, ka tuvumā atrodas klints, brauciena ātruma komandā iestatiet katra riteņa, x un y, braukšanas ātrumu kā a un -a, kur a ir reāls skaitlis. Tas izraisīs Roomba griešanos, brīdinot astronautu par krauju.

Pievienots mūsu koda ekrānuzņēmums, taču nekautrējieties to rediģēt, lai tas vislabāk atbilstu jūsu misijas parametriem.

7. solis. Secinājums

Secinājums
Secinājums

RADbot galvenais mērķis uz Marsa ir palīdzēt astronautiem izpētīt un kolonizēt Sarkano planētu. Nosakot radioaktīvos paraugus uz virsmas, mēs ceram, ka robots vai roveris šajā gadījumā patiesi var pasargāt astronautus un palīdzēt noteikt to bāzes (-u) enerģijas avotus. Pēc visu šo darbību veikšanas un, iespējams, ar dažiem izmēģinājumiem un kļūdām, jūsu RADbot vajadzētu darboties. Novietojiet radioaktīvo paraugu kaut kur testēšanas zonā, izpildiet savu kodu un vērojiet, kā roveris dara to, kas tam paredzēts. Izbaudiet savu RADbot!

-EF230 RADbot komanda

Ieteicams: