جدول المحتويات:

روبوت استطلاع المريخ: 4 خطوات
روبوت استطلاع المريخ: 4 خطوات

فيديو: روبوت استطلاع المريخ: 4 خطوات

فيديو: روبوت استطلاع المريخ: 4 خطوات
فيديو: 7 دقائق من الرعب على #المريخ - هبوط برسفيرنس #روفر (Perseverance Rover) 2024, يوليو
Anonim
روبوت استطلاع المريخ
روبوت استطلاع المريخ

هذا Instructable هو دليل خطوة بخطوة لبرمجة وقيادة روبوت استكشاف المريخ.

للبدء ، يجب على المرء الحصول على قائمة المواد التالية: إنشاء iRobot مشحون تم تخصيصه بواسطة كلية Tickle of Eningeering Univerisity في ولاية تينيسي ، وهي شبكة لاسلكية متصلة بـ Raspberry Pi في iRobot ، و UTK iRobot إنشاء شاحن ، قادر على Wifi كمبيوتر مع الوصول إلى MATLAB والإنترنت.

الخطوة 1: Roomba Toolbox

صندوق أدوات رومبا
صندوق أدوات رومبا

افتح MATLAB وأنشئ مجلدًا جديدًا لملفات التعليمات البرمجية ليتم تخزينها من مشروعك. في MATLAB ، افتح نصًا جديدًا وقم بتشغيل الكود أدناه. بمجرد تشغيل البرنامج النصي ، أضف المجلد الجديد إلى الدليل حيث يبحث MATLAB عن الملفات.

الشفرة:

roombaInstallclc وظيفة؛ ٪ قائمة الملفات المراد تثبيت الملفات = {'roomba.m'، 'roombaSim.m'، 'roombaSimGUI.m'، 'roombaSimGUI.fig'}؛ ٪ موقع للتثبيت من الخيارات = خيارات الويب ('CertificateFilename'، '') ؛ ٪ أخبره بتجاهل خادم متطلبات الشهادة = 'https://ef.engr.utk.edu/ef230/projects/roomba-f2016/install/' ؛ dlgTitle = 'تثبيت / تحديث Roomba'؛ ٪ display الغرض والحصول على رسالة تأكيد = {'سيقوم هذا البرنامج بتنزيل ملفات EF 230 Roomba هذه:' '' strjoin (files، '') '' إلى هذا المجلد: '' 'cd' '' هل تريد المتابعة؟ '}؛ زمارة؛ yn = Questdlg (موجه ، … dlgTitle ، … "نعم" ، "لا" ، "نعم") ؛

إذا كان ~ strcmp (yn ، "نعم") ، فارجع ؛ نهاية

٪ الحصول على قائمة الملفات الموجودة الموجودة في الملفات = الملفات (cellfun (exist، files)> 0) ؛ إذا كان ~ isempty (موجود_الملفات)٪ تأكد من أنه لا بأس بالفعل لاستبدالها موجه = {'أنت تستبدل هذه الملفات:' 'strjoin (الموجودة_الملفات،' ')' '' موافق للاستبدال؟ ' } ؛ زمارة؛ yn = Questdlg (موجه ، … dlgTitle ، … "نعم" ، "لا" ، "نعم") ؛ إذا كان ~ strcmp (yn ، "نعم") ، فارجع ؛ نهاية النهاية

٪ تنزيل الملفات cnt = 0 ؛ بالنسبة إلى i = 1: length (files) f = files {i} ؛ disp (['Downloading' f]) ؛ جرب url = [server f] ؛ حفظ الويب (f ، url ، خيارات) ؛ تمت إضافة٪ من الخيارات لتجنب أخطاء الأمان cnt = cnt + 1 ؛ catch disp (["خطأ في التنزيل" f]) ؛ dummy = [f '.html'] ؛ إذا كان موجودًا (وهمي ، "ملف") == 2 حذف (وهمي) نهاية النهاية

إذا كان cnt == length (files) msg = "تم التثبيت بنجاح" ؛ waitfor (msgbox (msg، dlgTitle)) ؛ else msg = 'خطأ في التثبيت - راجع نافذة الأوامر للحصول على التفاصيل' ؛ waitfor (errordlg (msg، dlgTitle)) ؛ نهاية

نهاية٪ roomba تثبيت

الخطوة 2: التحضير للاتصال

التحضير للاتصال
التحضير للاتصال
التحضير للاتصال
التحضير للاتصال

قم بتوصيل micro-USB البارز من الروبوت بالمنفذ السفلي لـ Raspberry Pi. ثم في الجزء العلوي من جهاز Roomba ، اضغط مع الاستمرار في الوقت نفسه على أزرار قفص الاتهام وأزرار التركيز حتى يخفت الضوء على جهاز Roomba. يجب أن تسمع ميزانًا إلكترونيًا من جهاز Roomba بمجرد تحريره.

الخطوة الثالثة: التوصيل بالروبوت

الاتصال بالروبوت
الاتصال بالروبوت

افتح الشبكات المتاحة على جهاز الكمبيوتر الخاص بك وحدد الشبكة الموجودة بين الكمبيوتر و Raspberry Pi. في مجلد MATLAB الحالي ، انقر بزر الماوس الأيمن على مجلد مشروعك الحالي وحدد صندوق أدوات roomba الذي تم تنزيله في الخطوة 1 وأضف إلى المسار. في شبكة مصممة لتوصيلات Pi متعددة ، حدد الروبوت الخاص بك عن طريق إنشاء كائن من فئة Roomba. انظر المثال أدناه

إذا كان لديك جهاز Roomba مخصص للرقم 7 ، أدخل ما يلي:

ص = رومبا (7)

٪ تذكر أن هذا المتغير تم تعيينه الآن إلى roomba ، وأي أمر يُعطى للروبوت يجب أن يقود بواسطة المتغير المعين.

الخطوة 4: الكود

الشفرة
الشفرة

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

باستخدام الرابط أعلاه ، احفظ جميع ملفات.m في المجلد المحدد حيث سيتم تشغيل البرنامج الرئيسي. يجب أن يكون الرابط مفتوحًا لجميع الذين لديهم الرابط. افتح برنامج نصي جديد في المجلد الحالي وقم بتشغيل mycontrolprogram.m كما هو موضح أدناه:

الوظيفة mycontrolprogram (r) global m = mobiledev ؛ EmailInit () ؛ الجري = 1 ؛ العد العالمي f العمومي = 0 ؛ و = ص ؛ direc العالمية = 0 ؛ r.getAngle ؛ r.getDistance ؛ curLoc global curLoc = [0، 0] ؛ نقاط عالمية نقاط = أصفار (1 ، 2 ، 2) ؛ دليل = صحيح ؛ رسوم بيانية (1) ؛ الخامس = 0.15 ؛ أثناء العد <50 إذا (يدوي == خطأ) obsDetect (ص ، ت ، نقاط) ؛ direc = direc + r.getAngle ؛ r.setLEDDigits (num2str (count)) ؛ آخر direc = direc + r.getAngle ؛ manualDrive () ، نهاية نهاية figSend () ؛ نهاية

يجب أن يؤدي الروبوت الآن وظيفته المصممة.

موصى به: