فهرست مطالب:

ربات شناسایی مریخ: 4 مرحله
ربات شناسایی مریخ: 4 مرحله

تصویری: ربات شناسایی مریخ: 4 مرحله

تصویری: ربات شناسایی مریخ: 4 مرحله
تصویری: لحظه دستگیری قاتل که دو فرد را در کنار خیابان سر برید ! 2024, نوامبر
Anonim
ربات شناسایی مریخ
ربات شناسایی مریخ

این دستورالعمل یک راهنمای گام به گام برای برنامه ریزی و فرماندهی ربات شناسایی مریخ است.

برای شروع ، باید لیستی از مواد زیر را بدست آورید: یک iRobot شارژ شده سفارشی شده توسط Tickle College of Eningeering Univerisity Tennessee ، یک شبکه بی سیم که به Raspberry Pi در iRobot متصل است ، UTK iRobot ایجاد شارژر ، دارای Wifi کامپیوتر با دسترسی به MATLAB و اینترنت.

مرحله 1: جعبه ابزار Roomba

جعبه ابزار Roomba
جعبه ابزار Roomba

MATLAB را باز کرده و یک پوشه جدید ایجاد کنید تا فایل های کد در پروژه شما ذخیره شوند. در MATLAB ، یک اسکریپت جدید باز کنید و کد زیر را اجرا کنید. پس از اجرای اسکریپت ، پوشه جدید را به پوشه ای که MATLAB به دنبال فایل ها است اضافه کنید.

کد:

تابع roombaInstallclc؛ ٪ لیست فایل ها برای نصب فایل ها = {'roomba.m'، 'roombaSim.m'، 'roombaSimGUI.m'، 'roombaSimGUI.fig'}؛ ٪ محل نصب از گزینه = weboptions ('CertificateFilename'، '')؛ ٪ به آن می گویند که الزامات گواهی سرور را نادیده بگیرد = 'https://ef.engr.utk.edu/ef230/projects/roomba-f2016/install/'؛ dlgTitle = 'نصب/بروزرسانی Roomba'؛ ٪ نمایش هدف و دریافت پیام تأیید = {'این برنامه این فایل های EF 230 Roomba را بارگیری می کند:' '' strjoin (files، '') '' '' به این پوشه: '' 'cd' '' آیا می خواهید ادامه دهید؟ '}؛ بوق ؛ yn = questdlg (سریع ،… dlgTitle ،… 'بله' ، 'نه' ، 'بله')؛

if ~ strcmp (yn، 'Yes')، return؛ پایان

٪ دریافت لیست فایلهایی که وجود دارند_files = files (cellfun (exist، files)> 0)؛ if ~ isempty (فایلهای موجود)٪ مطمئن شوید که جایگزینی آنها واقعاً درست است = {'شما این فایلها را جایگزین می کنید:' '' strjoin (فایلهای موجود ، '') '' 'خوب است جایگزین شود؟' }؛ بوق ؛ yn = questdlg (سریع ،… dlgTitle ،… "بله" ، "نه" ، "بله") ؛ if ~ strcmp (yn، 'Yes')، return؛ پایان پایان

٪ بارگیری فایل ها cnt = 0؛ برای i = 1: length (files) f = files {i}؛ disp (['' بارگیری 'f])؛ url = [server f] را امتحان کنید؛ websave (f، url، options)؛ ٪ گزینه های اضافه شده برای جلوگیری از خطاهای امنیتی cnt = cnt + 1؛ catch disp (['خطا در بارگیری' f])؛ ساختگی = [f '.html']؛ در صورت وجود (ساختگی ، 'فایل') == 2 حذف پایان نهایی (ساختگی)

if cnt == length (files) msg = 'Installation Successful'؛ waitfor (msgbox (msg، dlgTitle))؛ else msg = 'خطای نصب - برای جزئیات به پنجره فرمان مراجعه کنید'؛ waitfor (errordlg (msg، dlgTitle))؛ پایان

پایان٪ roombaInstall

مرحله 2: آماده سازی برای اتصال

آماده شدن برای اتصال
آماده شدن برای اتصال
آماده شدن برای اتصال
آماده شدن برای اتصال

micro-USB بیرون زده از روبات را به پورت پایینی رزبری پای وصل کنید. سپس در بالای Roomba ، همزمان دکمه های dock و spot را فشار داده و نگه دارید تا نور روی Roomba کم شود. پس از انتشار باید مقیاس الکترونیکی را از Roomba بشنوید.

مرحله 3: اتصال به ربات

اتصال به ربات
اتصال به ربات

شبکه های موجود در رایانه خود را باز کرده و شبکه موجود بین رایانه و رزبری پای را انتخاب کنید. در پوشه فعلی MATLAB ، روی پوشه پروژه فعلی خود راست کلیک کرده و جعبه ابزار roomba را که در مرحله 1 بارگیری شده است انتخاب کرده و به مسیر اضافه کنید. در شبکه ای که برای چندین اتصال Pi طراحی شده است ، با ایجاد یک شیء از کلاس Roomba ، ربات خود را مشخص کنید. مثال زیر را ببینید

اگر رومبا را به شماره 7 اختصاص داده اید ، موارد زیر را وارد کنید:

r = roomba (7)

Remember به خاطر داشته باشید که این متغیر اکنون به roomba اختصاص داده شده است ، هر فرمانی که به ربات داده شود باید توسط متغیر اختصاص داده شده هدایت شود.

مرحله 4: کد

کد
کد

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

با استفاده از پیوند بالا ، تمام فایل های.m را در پوشه ای که برنامه اصلی در آن اجرا می شود ذخیره کنید. پیوند باید برای همه کسانی که پیوند دارند باز باشد. یک اسکریپت جدید در پوشه فعلی باز کنید و mycontrolprogram.m را مطابق شکل زیر اجرا کنید:

تابع mycontrolprogram (r) global m m = mobiledev؛ emailInit ()؛ در حال اجرا = 1؛ جهانی f شمارش جهانی = 0؛ f = r ؛ direc direc direc = 0؛ r.getAngle ؛ r.getDistance ؛ global curLoc curLoc = [0، 0]؛ pts جهانی pts = صفر (1 ، 2 ، 2) ؛ دستی = درست؛ graphObs (1) ؛ v = 0.15 ؛ در حالی که شمارش <50 if (manual == false) obsDetect (r، v، pts)؛ direc = direc + r.getAngle؛ r.setLEDDigits (num2str (تعداد)) ؛ else direc = direc + r.getAngle؛ manualDrive ()؛ end end figSend ()؛ پایان

اکنون ربات باید کار طراحی شده خود را انجام دهد.

توصیه شده: