جدول المحتويات:
- الخطوة 1: الخطوة 1: المواد المطلوبة
- الخطوة 2: الخطوة 2: إعداد / الحصول على رمز لـ Roomba
- الخطوة 3: الخطوة 3: إعداد مستشعرات الجرف / مصابيح LED
- الخطوة 4: الخطوة 4: التحقق من وجود عقبات
- الخطوة 5: الخطوة 5: التخطيط
فيديو: مشروع Roomba MATLAB: 5 خطوات
2024 مؤلف: John Day | [email protected]. آخر تعديل: 2024-01-30 07:40
الخطة الحالية التي وضعتها وكالة ناسا لمركبة المريخ هي أن تكون مجمِّعًا للبيانات وتتجول حول المريخ ، وتجمع عينات من التربة لإعادتها إلى الأرض حتى يتمكن العلماء من معرفة ما إذا كان هناك أي أشكال حياة سابقة على هذا الكوكب. بالإضافة إلى ذلك ، فإن العربة الجوالة ترسل الصور إلى العلماء ، حتى يتمكنوا من المساعدة في التنقل في العربة الجوالة وإصلاح أي مشاكل قد تواجهها.
تتمثل فكرة مجموعتنا في مشروعنا في أن تفعل المركبة الجوالة نفس الشيء مثل مركبة ناسا الجوالة التي ستغادر الأرض في عام 2020 ، ولكن أيضًا من أجل رسم خريطة جغرافية للأرض. سوف يكون جهاز Roomba قادرًا على استشعار المنحدرات وإيقاف نفسه قبل أن يسقط ، ثم يعود مرة أخرى ويدور ويغير مساره حتى لا يسقط ويتلف. فكرتنا الأخرى المدمجة في مشروعنا هي أن يتمكن roomba من رسم المعالم التي تراها ، وإظهار قطعة أرض في كل مرة تنتهي فيها الحلقة ويتم تشغيل مسارها.
هذا التوجيه مخصص لأي شخص آخر يرغب في إنشاء نفس النوع من الكود لجهاز roomba الخاص به.
الخطوة 1: الخطوة 1: المواد المطلوبة
سوف تحتاج:
- رومبا
- ماتلاب
- هذا الملف لتشغيل roomba
- سطح مستو
- سطح طاولة ليكون بمثابة "جرف"
الخطوة 2: الخطوة 2: إعداد / الحصول على رمز لـ Roomba
ستبدو شاشتك بهذا الشكل بمجرد إدخال الملفات.
الخطوة 3: الخطوة 3: إعداد مستشعرات الجرف / مصابيح LED
سيخبر هذا الرمز جهاز Roomba الخاص بك بالضبط بالزاوية التي يجب أن تدور فيها ، والتحقق من معلومات البطارية ، وإخبار جهاز Roomba الخاص بك بمدى سرعة الانتقال ، وللتحقق من وجود شخص من خلال كاميرا Roomba. سيصدر أيضًا صوتًا إذا كان يحدد هوية شخص ، ويوقف نفسه قبل النزول من منحدر.
٪ جرب rob.setLEDDigits ('') x = 0 ؛ ص = 0 ؛ ثيتا = 0 ؛ عقبة = ؛ دورة = 1 ؛ AngCorr = @ (x) x + 3.059. * x. ^ 0.4205 ؛ ٪ وظيفة لتصحيح زوايا الانعطاف أثناء rob.getBatteryInfo.percent> 15 rob.setLEDDigits ('') rob.setDriveVelocity (0.1)٪ Go٪ Check For Person إذا كان AA_checkperson (rob) rob.beep end٪ تحقق من Cliff Sensor إذا كان AA_cliffcheck (rob) rob.stop rob.setLEDDigits ('Cliff') pause (0.5) عقبة (دورة) = 2 ؛ AA_cliffbeep (rob)٪ Back Up And Turn rob.moveDistance (-.15) rob.turnAngle (30) end
الخطوة 4: الخطوة 4: التحقق من وجود عقبات
سيحصل هذا الرمز على جهاز Roomba للتحقق من العناصر الموجودة حوله ، وسيقوم بفحص مستشعر الاهتزازات للتأكد من توقفه قبل أن يتلف نفسه.
٪ تحقق من مستشعر الضوء إذا كان AA_lightcheck (rob) rob.stop rob.setLEDDigits ('Wall') pause (0.5) عقبة (دورة) = 1 ؛ ٪ جدار AA_wallbeep (rob)٪ نسخ احتياطي وقلب rob.moveDistance (-. 15) rob.turnAngle (30) end٪ تحقق من مستشعر الارتطام إذا توقف AA_bumpcheck (rob) rob.stop rob.setLEDDigits ('Wall') (0.5) عقبة (دورة) = 1 ؛ ٪ جدار AA_wallbeep (rob)٪ Back Up And Turn rob.moveDistance (-. 15) rob.turnAngle (30) end٪ إذا لم يكن هناك إذا كان عقبة فارغة (عقبة) (دورة) = 0 ؛ طول آخر (عقبة) <عقبة دورة (دورة) = 0 ؛ نهاية
الخطوة 5: الخطوة 5: التخطيط
سيخبر هذا الرمز جهاز Roomba الخاص بك برسم ما سيواجهه في رحلته. ستظهر قطعة أرض كهذه بعد توقف غرفة الحجرة.
٪ الحصول على المركز d = rob.getDistance ؛ إذا كانت الدورة == 1 ثيتا (دورة) = 0 ؛ س (دورة) = د. * كوسد (ثيتا (دورة)) ؛ ٪ إجمالي المسافة المقطوعة في x y (دورة) = d. * sind (ثيتا (دورة)) ؛ إجمالي المسافة المقطوعة في y else theta (cycle) = theta (cycle-1) + rob.getAngle ؛ س (دورة) = د. * كوسد (ثيتا (دورة)) + س (دورة -1) ؛ ٪ إجمالي المسافة المقطوعة في x y (دورة) = d. * sind (ثيتا (دورة)). * d + y (دورة -1) ؛ ٪ إجمالي المسافة المقطوعة في y end٪ حالة الاستراحة إذا كانت rob.getButtons.clean break end٪ دورة دورة الزيادة = دورة + 1 ؛ end rob.stop لـ i = 1: دورة إذا كانت العقبة (i) == 1٪ مخطط الجدار (x (i)، y (i)، 'Marker'، 'square'، 'MarkerEdgeColor'، 'r') عقبة أخرى (i) == 2٪ مؤامرة Cliff (x (i)، y (i)، 'Marker'، 'o'، 'MarkerEdgeColor'، 'k') نص النهاية (.9، 0.9، sprintf ('مربع = جدار / nCircle = Cliff ') ، "الوحدات" ، "التسوية") انتظر في النهاية٪ إشارة استغاثة بينما توقف rob.beep حقيقي (3) إذا كان rob.getButtons.clean break end٪ catch٪ rob.stop٪ end
موصى به:
جهاز MATLAB للتحكم في جهاز Roomba: 5 خطوات
MATLAB Controlled Roomba: الهدف من هذا المشروع هو استخدام MATLAB بالإضافة إلى روبوت iRobot قابل للبرمجة. جمعت مجموعتنا مهاراتنا في الترميز من أجل إنشاء نص MATLAB يستخدم العديد من وظائف iRobot ، بما في ذلك مستشعرات المنحدرات ومستشعرات المصد
مشروع "Ready Maker" - التحكم في مشروع Lego Power Functions: 9 خطوات
"Ready Maker" - التحكم في مشروع "Lego Power Functions": تعلم كيفية التحكم في وظائف Lego & quot؛ Power & quot؛ المكونات مع لوحة Arduino وبناء مشروعك في & quot؛ Ready Maker & quot؛ محرر (لا يوجد كود مطلوب) للتحكم عن بعد في نموذجك
مشروع Mars Roomba UTK: 4 خطوات
Mars Roomba Project UTK: إخلاء المسئولية: لن يعمل هذا إلا إذا تم إعداد غرفة Roomba بطريقة محددة من AVERY ، تم إنشاء هذا التعليمات ومن أجل استخدامه من قبل طلاب جامعة TENNESSEE وكلية TENNESSEE يتم استخدام هذا الرمز لإعداد Roomba للتشغيل محليًا مكتوب و
مشروع Roomba: 5 خطوات (بالصور)
مشروع Roomba: تم إنشاء هذا التوجيه لتلبية متطلبات المشروع الخاصة بـ Makecourse في جامعة جنوب فلوريدا (www.makecourse.com). سيغطي هذا التوجيه جميع الخطوات والمكونات اللازمة المطلوبة لتجميع مشروع Roomba الخاص بي
جهاز Roomba مع MATLAB: 4 خطوات (بالصور)
Roomba مع MATLAB: يستخدم هذا المشروع MATLAB وروبوت iRobot Create2 القابل للبرمجة. من خلال وضع معرفتنا بـ MATLAB على المحك ، نحن قادرون على برمجة Create2 لتفسير الصور واكتشاف الإشارات. تعتمد وظيفة الروبوت بشكل أساسي على