Mundarija:

RADbot: 7 qadam
RADbot: 7 qadam

Video: RADbot: 7 qadam

Video: RADbot: 7 qadam
Video: BIT.TRIP RUNNER 2-7 Radbot 2024, Noyabr
Anonim
RADbot
RADbot

EF 230 uchun Jekson Breakell, Tayler Makkubbin va Jakob Talerning loyihasi.

Marsda astronavtlar haroratdan tortib to chang bo'ronlariga qadar har xil xavflarga duch keladilar. Ammo tez -tez e'tiborga olinmaydigan omillardan biri bu sayyora yuzasida joylashgan kuchli radioizotoplarning xavfidir. RADbot Mars sayyorasida kosmonavtlarni kashf etishda yordam beradi, ular sayohat paytida yuqori faollikka ega bo'lgan tosh namunalarini aniqlaydi, shuningdek, robotning shikastlanishiga yo'l qo'ymaydigan, uning jarlik sezgichlari, yorug'lik sezgichlari, bamper sensorlari va kamerasidan foydalanadigan xavfsizlik xususiyatlariga ega. kechirilmaydigan Mars maydonida. Astronavtlarni yuzasida yuzaga kelishi mumkin bo'lgan radioaktiv xavflar haqida ogohlantirishdan tashqari, robotning radioaktiv namunalarini joylashtirish xususiyati Uran va boshqa aktinidlarning katta konlarini o'z ichiga oladigan joylarni aniqlash vositasi sifatida qo'llanilishi mumkin. Astronavtlar bu elementlarni qazib olishlari, ularni etarli darajada boyitishlari va yadroviy reaktorlar va termoelektr generatorlarida foydalanishlari mumkin edi, bu esa sayyoradagi doimiy, o'zini o'zi ta'minlaydigan koloniya bilan ta'minlanishi mumkin edi.

Oddiy Mars sayohatchisidan farqli o'laroq, bizning dizaynimizda mavjud bo'lmagan komponentlar va o'rtacha narx yorlig'i mavjud. Agar sizda mablag 'va xohish bo'lsa, ushbu qo'llanmaga amal qilib, o'zingiz ham qurishingiz mumkin. Iltimos, o'zingizning RADbot -ni qanday qilishni o'rganish uchun o'qing.

1 -qadam: kerakli qismlar va materiallarni sotib oling

Kerakli qismlar va materiallarni sotib oling
Kerakli qismlar va materiallarni sotib oling
Kerakli qismlar va materiallarni sotib oling
Kerakli qismlar va materiallarni sotib oling
Kerakli qismlar va materiallarni sotib oling
Kerakli qismlar va materiallarni sotib oling

Ishni boshlash uchun sizga nima kerak (Rasmlar joylashtirilgan tartibda joylashtirilgan)

1. One Roomba (har qanday yangi model)

2. Bitta Geyger-Myuller hisoblagichi

3. Bitta Raspberry Pi

4. USB rozetkasi bo'lgan bitta taxtali kamera

5. Bitta mikro USB - USB kabeli

6. Bitta USB -USB kabeli

7. Etarli faollikning bitta radioaktiv namunasi (~ 5 mSv yoki undan yuqori)

8. Matlab o'rnatilgan bitta kompyuter

9. Yopishtiruvchi (osonlik bilan olinadigan yopishqoq lenta)

2-qadam: Kamera va Geiger-Myuller hisoblagichini sozlash

Kamera va Geiger-Myuller hisoblagichini sozlash
Kamera va Geiger-Myuller hisoblagichini sozlash

Endi sizda RADbot yaratish uchun zarur bo'lgan barcha materiallar bor, biz kamerani hisoblagichdagi harakatlarni o'qiy oladigan qilib joylashtirishdan boshlaymiz. Geiger-Myuller hisoblagichini Roombaning oxiriga iloji boricha yaqinroq joylashtiring va uning sensori bloklanmaganligiga ishonch hosil qiling. Hisoblagichni siz tanlagan yopishtiruvchi bilan mahkam o'rnating va kamerani oldinga o'rnatishni davom eting. Tashqi kirishlar dasturga ta'sir qilmasligi uchun kamerani hisoblagich displeyiga iloji boricha yaqinroq joylashtiring va o'zingizni qulay his qilgandan so'ng uni mahkamlang. Biz sizga kameraning xavfsizligini bir zumgacha saqlashingizni maslahat beramiz, chunki sizning kodingiz tugagach, siz kameradan tasvirni kompyuteringizga ko'rsatishingiz mumkin, bu sizga kamerani ko'rish maydoniga qarab joylashtirish imkonini beradi. Kamera va hisoblagich mahkam o'rnashganidan so'ng, kamerani Raspberry Pi -ning USB -kirishlaridan biriga USB -dan USB -kabelga ulang va Raspberry Pi -ni mikro USB -USB kabeli bilan Roomba -ga ulang.

3 -qadam: Roomba -ga ulaning va yorug'lik sensori kodini yarating

Roomba -ga ulaning va yorug'lik sensori kodini yarating
Roomba -ga ulaning va yorug'lik sensori kodini yarating

Birinchidan, EF 230 veb -saytining Roomba asboblar qutisini yuklab oling va uni belgilangan papkalarga joylashtiring. Roomba -ga ulanish uchun Raspberry Pi -ga yopishtirilgan stikerga murojaat qiling va "r = roomba (x)" buyruqlar oynasiga tirnoqsiz kiriting va bu erda x Roomba raqamini bildiradi. Roomba ohangda o'ynashi kerak, va toza tugma atrofida yashil halqa ko'rsatilishi kerak. Kodni "while" iborasi bilan boshlang va sensorlar ro'yxatida ko'rinadigan yorug'lik sensorlariga murojaat qiling. Sensor ro'yxatini buyruq oynasida "r.testSensors" yozib oching.

Yorug'lik qancha aks etayotganini aniqlaydigan ob'ektimizning rangiga asoslanib, while funktsiyasi uchun bajariladigan talablarni> funktsiyasi sifatida belgilang. Bizning holatlarimizda, biz oldingi yorug'lik sensori kodini ishlash vaqtida o'rnatamiz, agar chap yoki o'ng markazidagi yorug'lik sensorlaridagi o'qish> 25 bo'lsa. Bajariladigan bayonot uchun Roomba tezligini "r.setDriveVelocity (x, y)" yozib sekinlashtiradigan qilib belgilang, bu erda x va y mos ravishda chap va o'ng g'ildiraklarning tezligi. "Boshqa" iborasini kiriting, shunda Roomba aniqlanmagan qiymatlarni sekinlashtirmaydi va belgilangan tezlik buyrug'ini boshqa tezlikdan tashqari yana kiriting. "End" so'zini "tugatish" bilan yakunlang. Ushbu kod segmenti Roomba -ni ob'ektga yaqinlashishiga olib keladi va ta'sirni kamaytirish uchun ma'lum bir diapazonga yetganda sekinlashadi.

Bizning kodimizning skrinshoti ilova qilingan, lekin uni sizning vazifangiz parametrlariga mos keladigan tarzda tahrir qilishingiz mumkin.

4 -qadam: Bamper kodini yarating

Bamper kodini yarating
Bamper kodini yarating

Roomba sekinlashganda, u ob'ektga ta'sirini kamaytiradi, lekin jismoniy tamponni ishga solmaydi. Kodning ushbu segmenti uchun yana "while" tsiklidan boshlang va uning ifodasini rost qilib belgilang. Bayonot uchun T o'zgaruvchisini bamperning chiqishiga teng qilib qo'ying, yo 0 yoki 1, noto'g'ri va rost. Buning uchun "T = r.getBumpers" dan foydalanishingiz mumkin. T tuzilma sifatida chiqadi. "If" iborasini kiriting va T.front kichik tuzilmasi uchun uning ifodasini 1 ga teng qilib qo'ying va "r.setDriveVelocity (x, y)" yoki "r.stop" yordamida disk tezligini 0 ga sozlang. ". "Tanaffus" kiriting, shunda Roomba keyingi koddagi shart bajarilgandan so'ng harakatlana oladi. "Boshqa" qo'shing va uning tezligini Roomba -ning normal harakatlanish tezligiga o'rnatish uchun o'z bayonotini o'rnating.

Bizning kodimizning skrinshoti ilova qilingan, lekin uni sizning vazifangiz parametrlariga mos keladigan tarzda tahrir qilishingiz mumkin.

5 -qadam: Hisoblagich ekranini o'qish uchun kod yarating, uni izohlang va manbadan chekining

Hisoblagich ekranini o'qish uchun kod yarating, uni sharhlang va manbadan chekining
Hisoblagich ekranini o'qish uchun kod yarating, uni sharhlang va manbadan chekining

Loyihamizning markazida Geiger-Myuller hisoblagichi yotadi va ekrandagi ma'lumotlar kamera yordamida nimani anglatishini aniqlash uchun quyidagi kod segmentidan foydalaniladi. Hisoblagichimiz ekranining rangini manba faolligiga qarab o'zgartirishini hisobga olib, biz kamerani ekran rangini sharhlaydigan qilib o'rnatamiz. Kodni "r.getImage" buyrug'iga teng o'zgaruvchini o'rnatish orqali boshlang. O'zgaruvchi qizil, yashil va ko'k ranglarda olingan rasmning rang qiymatlarining 3d massivini o'z ichiga oladi. "O'rtacha (o'rtacha (img1 (:,,, x))))" buyrug'i yordamida mos keladigan rang matritsalarining o'rtacha qiymatiga teng o'zgaruvchilarni belgilang, bu erda x - 1 dan 3 gacha bo'lgan butun son. 1, 2 va 3 qizil, yashil va mos ravishda ko'k. Havola qilingan barcha buyruqlar singari, tirnoq belgilarini ham qo'shmang.

Dastur "pauza (20)" yordamida 20 soniya pauza qilsin, shunda hisoblagich namunani aniq o'qishi mumkin va keyin "if" iborasini boshlashi mumkin. Bizda "r.beep" tugmachasini ishlatgan holda Roomba ovozli signalini bir necha marta eshitganmiz, unda "Radioizotop topildi! Diqqat!" Buni "waitfor (helpdlg ({'texthere'})") "buyrug'i bilan bajarish mumkin. OK tugmasini bosgandan so'ng, Roomba" if "iborasidagi kodning qolgan qismini bajarishda davom etadi. "r.moveDistance" va "r.turnAngle" buyruqlarining kombinatsiyasi. if ifodasini "end" bilan tugatganingizga ishonch hosil qiling.

Bizning kodimizning skrinshoti ilova qilingan, lekin uni sizning vazifangiz parametrlariga mos keladigan tarzda tahrir qilishingiz mumkin.

6 -qadam: Cliff sensori kodini yarating

Cliff sensori kodini yarating
Cliff sensori kodini yarating

Roomba o'rnatilgan jarlik sensorlaridan foydalanish uchun kod yaratish uchun "while" tsiklidan boshlang va uning ifodasini rost qilib belgilang. O'zgaruvchini "r.getCliffSensors" ga teng qilib o'rnating va natijada tuzilish hosil bo'ladi. "If" iborasini boshlang va "X.leftFront" va "X.rightFront" o'zgaruvchilarini strukturadan oldindan belgilangan qiymatdan kattaroq qilib o'rnating, bu erda "X" "r.getCliffSensors" buyrug'ini tanlagan o'zgaruvchidir. ga teng bo'lish. Bizning holatimizda biz 1000 ni ishlatardik, chunki oq qog'oz parchani tasvirlash uchun ishlatilgan, va datchiklar yaqinlashganda qog'oz qiymatlari 1000dan oshib ketgan, bu kod faqat jarlik aniqlanganda bajarilishini ta'minlaydi.. "Break" buyrug'ini qo'shgandan so'ng, "else" so'zini kiriting. Agar jarlik aniqlanmasa, bajariladigan "boshqa" iborasi uchun haydovchi tezligini har bir g'ildirak uchun normal harakatlanish tezligiga o'rnating. Agar Roomba jarlikni aniqlasa, "tanaffus" bajariladi, keyin esa loopdan tashqaridagi kod bajariladi. "If" va "while" tsikli uchun "oxiri" qo'yilgandan so'ng, Roomba -ni masofani bosib o'tish buyrug'i yordamida orqaga harakatlanishga sozlang. Kosmonavtlarni yaqin atrofda jarlik borligi haqida ogohlantirish uchun haydash tezligi buyrug'idagi har bir g'ildirakning x va y tezliklarini a va -a qilib belgilang, bu erda a -haqiqiy raqam. Bu Roombaning aylanishiga olib keladi, bu esa kosmonavtni jarlik haqida ogohlantiradi.

Bizning kodimizning skrinshoti ilova qilingan, lekin uni sizning vazifangiz parametrlariga mos keladigan tarzda tahrir qilishingiz mumkin.

7 -qadam: Xulosa

Xulosa
Xulosa

RADbotning Marsdagi asosiy maqsadi - kosmonavtlarga qizil sayyorani o'rganish va kolonizatsiya qilishda yordam berish. Yuzaki radioaktiv namunalarni aniqlab, biz umid qilamizki, robot yoki rover, bu holda, kosmonavtlarni haqiqatan ham xavfsiz saqlay oladi va ularning bazalari uchun quvvat manbalarini aniqlashga yordam beradi. Ushbu qadamlarning barchasini bajarganingizdan so'ng, ehtimol ba'zi sinov va xatolar bilan, sizning RADbot ishga tushishi kerak. Radioaktiv namunani sinov maydonining bir joyiga qo'ying, kodingizni bajaring va rover nima uchun qilinganini ko'rsin. RADbot -dan rohatlaning!

-EF230 RADbot jamoasi

Tavsiya: