Mundarija:

Marsni kashf qilish roboti: 4 qadam
Marsni kashf qilish roboti: 4 qadam

Video: Marsni kashf qilish roboti: 4 qadam

Video: Marsni kashf qilish roboti: 4 qadam
Video: MARSDA 2058-YIL NIMA SODIR BO‘LADI. ELON MUSKNING MARSGA KO‘CHISH REJASI 2024, Iyul
Anonim
Marsni kashf qilish roboti
Marsni kashf qilish roboti

Bu ko'rsatma Marsni kashf qilish robotini dasturlash va boshqarish bo'yicha bosqichma-bosqich ko'rsatma.

Ishni boshlash uchun siz quyidagi materiallar ro'yxatini olishingiz kerak: Tennessi shtatining Eningeering universiteti Tickle kolleji tomonidan moslashtirilgan zaryadlangan iRobot, iRobot-da Raspberry Pi-ga ulangan simsiz tarmoq, UTK iRobot zaryadlovchini yaratadi, Wi-Fi. MATLAB va Internetga ulangan kompyuter.

1 -qadam: Roomba asboblar qutisi

Roomba asboblar qutisi
Roomba asboblar qutisi

MATLAB -ni oching va loyihangizda saqlanadigan kodli fayllar uchun yangi papka yarating. MATLAB -da yangi skriptni oching va quyidagi kodni ishga tushiring. Skript ishga tushirilgandan so'ng, yangi papkani MATLAB fayllarni qidiradigan katalogga qo'shing.

Kod:

roombaInstallclc funktsiyasi; Fayllarni o'rnatish uchun % fayllar ro'yxati = {'roomba.m', 'roombaSim.m', 'roombaSimGUI.m', 'roombaSimGUI.fig'}; variantlardan o'rnatish uchun % manzil = weboptions ('CertificateFilename', ''); % sertifikat talablariga e'tibor bermaslikni aytadi server = 'https://ef.engr.utk.edu/ef230/projects/roomba-f2016/install/'; dlgTitle = 'Roomba o'rnatish/yangilash'; % display maqsadi va tasdiq so'rovini oladi = {'Bu dastur EF 230 Roomba fayllarini yuklaydi:' '' strjoin (fayllar, '') '' 'bu papkaga:' '' cd '' 'Davom etishni xohlaysizmi? '}; ovozli signal; yn = questdlg (tezkor,… dlgTitle,… 'Ha', 'Yo'q', 'Ha');

if ~ strcmp (yn, 'Ha'), qaytish; oxiri

% mavjud fayllar ro'yxatini oling_files = fayllar (cellfun (@exist, files)> 0); if ~ isempty (mavjud_files) % ularni almashtirish haqiqatan ham to'g'ri ekanligiga ishonch hosil qiling prompt = {'Siz bu fayl (lar) ni almashtiryapsiz:' '' strjoin (mavjud_files, '') '' 'O'zgartirish kerakmi?' }; ovozli signal; yn = questdlg (tezkor,… dlgTitle,… 'Ha', 'Yo'q', 'Ha'); if ~ strcmp (yn, 'Ha'), qaytish; oxiri oxiri

% fayllarni yuklab olish cnt = 0; i = 1 uchun: uzunlik (fayllar) f = fayllar {i}; disp (['Yuklanmoqda' f]); url = [server f] ni sinab ko'ring; veb -saqlash (f, url, variantlar); xavfsizlik xatolarining oldini olish uchun % variantlar qo'shildi cnt = cnt + 1; catch disp (['Yuklab olishda xatolik' f]); qo'g'irchoq = [f '.html']; agar mavjud bo'lsa (qo'g'irchoq, 'fayl') == 2 o'chirish (qo'g'irchoq) end end end

if cnt == length (files) msg = 'O'rnatish muvaffaqiyatli bo'ldi'; kutish (msgbox (msg, dlgTitle)); else msg = 'O'rnatish xatosi - tafsilotlar uchun buyruq oynasiga qarang'; kutish (errordlg (msg, dlgTitle)); oxiri

end %roombaInstall

2 -qadam: ulanishga tayyorgarlik

Ulanishga tayyorgarlik ko'rilmoqda
Ulanishga tayyorgarlik ko'rilmoqda
Ulanishga tayyorgarlik ko'rilmoqda
Ulanishga tayyorgarlik ko'rilmoqda

Robotdan chiqadigan micro-USB-ni Raspberry Pi-ning pastki portiga ulang. Keyin Roombaning tepasida, doka va nuqta tugmachalarini bir vaqtning o'zida bosib turing va Roomba ustidagi yorug'lik o'chguncha ushlab turing. Chiqargandan so'ng, siz Roomba -dan elektron tarozini eshitishingiz kerak.

3 -qadam: Robotga ulanish

Robotga ulanish
Robotga ulanish

Kompyuteringizda mavjud tarmoqlarni oching va kompyuter va Raspberry Pi o'rtasidagi mavjud tarmoqni tanlang. MATLAB -ning joriy papkasida joriy loyiha papkasini o'ng tugmasini bosing va 1 -qadamda yuklangan roomba asboblar qutisini tanlang va yo'lga qo'shing. Bir nechta Pi ulanishlari uchun mo'ljallangan tarmoqda Roomba sinfining ob'ektini yaratish orqali robotingizni ko'rsating. Quyidagi misolni ko'ring

Agar sizda 7 raqamiga tayinlangan Roomba bo'lsa, quyidagilarni kiriting:

r = xona (7)

Esda tutingki, bu o'zgaruvchi endi Roomba -ga tayinlangan, robotga berilgan har qanday buyruq tayinlangan o'zgaruvchi tomonidan boshqarilishi kerak.

4 -qadam: kod

Kod
Kod

drive.google.com/drive/folders/1OVR5oTHUsn…

Yuqoridagi havoladan foydalanib, barcha.m fayllarini asosiy dastur ishga tushadigan papkaga saqlang. Havola havolasi bor hamma uchun ochiq bo'lishi kerak. Joriy papkada yangi skriptni oching va quyida ko'rsatilgandek mycontrolprogram.m -ni ishga tushiring:

mycontrolprogram funktsiyasi (r) global m m = mobiledev; emailInit (); yugurish = 1; global f global hisoblash soni = 0; f = r; global direk direk = 0; r.getAngle; r.getDistance; global curLoc curLoc = [0, 0]; global pts pts = nol (1, 2, 2); qo'lda = to'g'ri; graphObs (1); v = 0,15; while <50 if (manual == false) obsDetect (r, v, pts); direc = direc + r.getAngle; r.setLEDDigits (num2str (hisoblash)); else direc = direc + r.getAngle; manualDrive (); end end figSend (); oxiri

Robot endi o'z vazifasini bajarishi kerak.

Tavsiya: