اتصال المنافسة: نقطة تحول - بايثون
قدرات الروبوت
تطلبت لعبة "نقطة التحول" لمسابقة فيكس للروبوتات 2018 - 2019 من اللاعبين تبديل الأعلام بين عناصر اللعبة الأخرى. كان هناك ما مجموعه تسعة أعلام: ثلاثة أعلام سفلية يمكن تبديلها بواسطة الروبوت، والأعلام الستة العالية التي لا يمكن تبديلها إلا عن طريق ضربها بقطع لعبة كرة المنافسة. احتاجت فرق المنافسة إلى التوصل إلى طريقة لضرب الأعلام العليا باستخدام قاذفة الكرة. إذا كنت تستطيع أن تتخيل، فإن برمجة الروبوت لضرب الأعلام باستخدام قطع لعبة الكرة عن طريق القياس قد لا تكون دقيقة دائمًا. إذا اتخذ الروبوت منعطفًا خاطئًا واحدًا خلال الفترة المستقلة، فهناك احتمال ألا يتم ضرب أي من الأعلام لأن الحسابات ستكون متوقفة. وبالمثل، بالنسبة لتحدي مهارات القيادة، قد يكون من الصعب على الفرق محاذاة الروبوت يدويًا بما يكفي لإطلاق الكرة بشكل صحيح. وبالتالي، ستقوم الفرق الماهرة ببرمجة الروبوت باستخدام مستشعر الرؤية للكشف عن الأعلام ثم محاذاة الروبوت بشكل صحيح من أجل إجراء لقطات دقيقة.
قم بتوسيع نطاق تعلمك
لتوسيع هذا النشاط، اطلب من طلابك تصميم وتحديد مشروع من شأنه أن يجعل الروبوت يتحرك نحو الأشياء الصفراء المكتشفة التي يمكن أن يستخدموها في لعبة المسابقة هذه!
اطلب من طلابك القيام بما يلي:
-
افتح نموذج مشروع Clawbot (نظام نقل الحركة، محركان، No Gyro).
- استخدم مشروع مثال الكشف عن الأشياء (الرؤية) كمرجع عند برمجة مستشعر الرؤية. استخدم مشروع مثال الكشف عن الأشياء (الرؤية) كمرجع عند برمجة مستشعر الرؤية (Google Doc / .v5python).
-
أضف مستشعر الرؤية إلى تكوين Clawbot (مجموعة نقل الحركة، محركان، بدون جيروسكوب) ثم قم بتكوين مستشعر الرؤية للكشف عن الأجسام الحمراء والزرقاء. ارجع إلى تكوين مفصل مستشعر الرؤيةهـ للحصول على مزيد من المعلومات.
- قم ببرمجة Clawbot للتحرك نحو الكائن المكتشف. يمكن حتى برمجة Clawbot لرفع ذراعه كما لو كان لتبديل العلم!
- قم بتنزيل وتشغيل المشروع لمراقبة ما إذا كان مستشعر الرؤية يمكنه اكتشاف الأجسام الصفراء مثل الكرات الصفراء في لعبة نقطة تحول VRC. إذا تمكن مستشعر الرؤية من اكتشاف الأجسام، فهل يتحرك الروبوت بناءً على تلك الأشياء المكتشفة ؟ للمساعدة في تنزيل مشروع وتشغيله، اطّلع على هذه المقالة.
- إذا سمح الوقت، قم بإعداد حقل لعبة مشابه لحقل نقطة التحول. تدرب على استخدام مستشعر الرؤية للسماح للروبوت بالتحرك لتسجيل النقاط!
عرض نموذج الحل أدناه:
# واردات المكتبة
من استيراد vex
*# Begin project code
check_yellow = Event
() def check_yellow_callback ():
brain.screen.set_font (FontType.MONO40
) brain.screen.clear_row (
3) brain.screen.set_cursor (3, 1)
vision _5_objects = vision_5.take_snapshot (vision _5__ YELLOWBOX)
if (vision _5_
objects): arm_motor.spin_for (FORWARD,
300, DEGREES) claw_motor.spin_for (FORWARD
, 100, degrees) drivetrain.drive_for (
forward, 12, INCHES) arm_motor.spin_for
(REVERSE, 300, DEGREES) claw_motor.spin_for
(reverse, 100, DEGREES)
else: brain.screen.print
("No Yellow Object ")# system handlers (check_yellow_callback)
# delay to ensure that
the handlers are ready to
be used (15 MSEC) run constantly
check for
new sensor_check.blue_produke (
انتظر 105)