Skip to main content

الدرس 3: استخدام ملاحظات المستشعر المبلغ عنها لوضع الأقراص في الهدف

في الدرس 2، عاد روبوت الواقع الافتراضي إلى نقطة البداية لإسقاط القرص. تطلب هذا من المستخدم حساب المسافة الدقيقة التي يقطعها روبوت الواقع الافتراضي. قد لا يكون هذا ممكنًا دائمًا. بدلاً من ذلك، يمكن لروبوت الواقع الافتراضي استخدام قيم المستشعر المبلغ عنها لالتقاط الأقراص وإفلاتها بدقة متسقة. 

يستخدم الدرس 3 ملاحظات المستشعر المبلغ عنها لتحديد المكان الذي يجب أن يتوقف فيه روبوت الواقع الافتراضي عن القيادة عند العودة إلى الهدف. عند استخدام <Eye Sensor near object> الكتلة في وقت سابق من هذا الدرس، ليست هناك حاجة لمعرفة المسافة من الهدف إلى كل قرص.

روبوت الواقع الافتراضي على ملعب محرك القرص مع أول قرص أزرق متصل بالمغناطيس الكهربائي.

سيعود روبوت الواقع الافتراضي نحو الهدف الأزرق باستخدام بيانات من مستشعر المسافة لتحديد مكان التوقف عن القيادة. بمجرد توقف روبوت الواقع الافتراضي داخل الهدف الأزرق، سيسقط روبوت الواقع الافتراضي القرص الأزرق.

  • استمر في العمل في مشروع Unit8Lesson3.
  • يقيس مستشعر المسافة المسافة من مقدمة روبوت الواقع الافتراضي إلى أقرب جسم. لهذا السبب، سيحتاج روبوت الواقع الافتراضي إلى الدوران 180 درجة قبل العودة نحو الهدف الأزرق.
  • سيستخدم روبوت الواقع الافتراضي مستشعر المسافة مع الجدار الخلفي للملعب من أجل تحديد مكان إسقاط القرص. لهذا السبب، سيحتاج روبوت الواقع الافتراضي إلى الدوران 180 درجة قبل العودة نحو الهدف الأزرق.
  • يمكن استخدام كتلة [انتقل إلى العنوان] لضمان تحول روبوت الواقع الافتراضي إلى العنوان الصحيح.

    VEXcode VR انتقل إلى كتلة العنوان من صندوق الأدوات. يقرأ المربع "انتقل إلى العنوان 90 درجة".

استخدام كتل المفاتيح 

هذه هي كتلة التبديل [انتقل إلى العنوان]. يمكنك تعديل درجة الدوران عن طريق تغيير القيمة العددية بين القوسين. تذكر أنه يجب كتابة الرقم قبل وحدة القياس (الدرجات)، مفصولة بفاصلة. 

VEXcode VR Turn to heading Switch block, with the Python command that reads drivetrain dot turn_to_heading (90, DEGREES).

لمعلوماتك

تحول كتلة [Turn to heading] روبوت الواقع الافتراضي إلى عنوان محدد باستخدام مستشعر الدوران. يتم تحديد الاتجاه الذي سيدور فيه روبوت الواقع الافتراضي (يسارًا أو يمينًا) بناءً على العنوان الحالي لمستشعر الدوران. يتم استخدام كتلة [Turn to heading] لتوجيه روبوت الواقع الافتراضي إلى عنوان معين بغض النظر عن موضع روبوت الواقع الافتراضي. عندما تلتقط قرصًا أو تسقطه، قد يخرج روبوت الواقع الافتراضي عن مساره. يضمن استخدام كتلة [Turn to heading] أن روبوت الواقع الافتراضي سيتحول إلى الموضع المطلق بدلاً من الموضع المتعلق بالعنوان السابق.

رسم تخطيطي لمواقع العناوين بدرجات روبوت الواقع الافتراضي. هناك دائرة مع منظر من أعلى إلى أسفل لروبوت الواقع الافتراضي في المنتصف، مع مواجهة الجزء الأمامي من الروبوت لأعلى باتجاه اتجاه 0 درجة. في اتجاه عقارب الساعة، يتم تمييز كل عنوان لاحق بزاوية 90 درجة بزاوية 90 درجة و 180 درجة و 270 درجة.
  • أضف كتلة [انتقل إلى العنوان] أسفل التعليق الثالث.

    نفس مشروع VEXcode VR كما في الصفحة السابقة، مع إضافة كتلة عنوان أسفل التعليق الثالث. يقرأ المشروع الآن عند البدء، قم بالتعليق على القرص الأزرق الأول، مع التكرار حتى تقترب العين السفلية من الجسم، ثم قم بالقيادة للأمام، ثم توقف عن القيادة. التالي هو تعليق لالتقاط أول قرص أزرق مع مغناطيس كهربائي نشط لتعزيز الكتلة. يقرأ التعليق الثالث القيادة إلى الهدف الأزرق ويتحول إلى كتلة 90 درجة بعد ذلك.
  • اضبط كتلة [Turn to heading] على 180 درجة.

    تم تغيير نفس مشروع VEXcode VR مع معلمة كتلة Turn to heading إلى 180 درجة. الآن، يقرأ قسم التعليق الثالث من المشروع Drive to the blue goal، وانتقل إلى العنوان 180 درجة.
  • الآن بعد أن تم توجيه روبوت الواقع الافتراضي نحو نقطة البداية، سيحتاج روبوت الواقع الافتراضي إلى العودة إلى الهدف الأزرق. أضف كتلة [Repeat until] أسفل كتلة [Turn to heading].

    نفس مشروع VEXcode VR مع تكرار حتى تتم إضافة كتلة بعد كتلة Turn to head. معلمة التكرار حتى يصبح المكوِّن فارغًا.
  • للعودة إلى الهدف الأزرق، سيستخدم روبوت الواقع الافتراضي بيانات من مستشعر المسافة لتحديد متى يكون روبوت الواقع الافتراضي داخل الهدف الأزرق. كما تمت مناقشته في الدرس السابق، يبلغ قياس كل مربع شبكي في ساحة اللعب الخاصة بمحرك الأقراص 200 مليمتر (مم) في 200 مليمتر (مم).

    منظر مقرب من أعلى لأسفل للزاوية السفلية اليسرى من ملعب Disk Mover بأبعاد مربع الشبكة على الملعب كما هو موضح بطول 200 مم وعرض 200 مم.
  • باستخدام هذه القياسات، يمكن تحديد مركز الهدف الأزرق ليكون حوالي 200 ملليمتر (مم) من جدار الملعب.

    منظر مقرب من أعلى لأسفل للهدف الأزرق في الزاوية السفلية اليسرى من ملعب Disk Mover، مع البعد التقريبي من الجدار إلى مركز الهدف المسمى 200 مم.
  • يجب أن يتوقف روبوت الواقع الافتراضي عن القيادة عندما يبلغ مستشعر المسافة أن روبوت الواقع الافتراضي أقل من 200 ملليمتر (مم) من جدار الملعب. أضف المكوّنات التالية إلى المكوّن [Repeat until].

    نفس مشروع VEXcode VR مع كتلة أقل من المشغل مع مسافة عش أمامية بالملليمتر في معلمة التكرار حتى الكتلة. الآن، يقرأ قسم التعليق الثالث من المشروع القيادة إلى الهدف الأزرق ؛ انتقل إلى العنوان 180 درجة ؛ كرر حتى تقل المسافة الأمامية بالملم عن 50.
  • قم بتغيير المعلمة في <Less than> الكتلة إلى 200.

    نفس المشروع، مع تغيير معلمة أقل من كتلة إلى 200. الآن كرر حتى تقرأ الكتلة "كرر حتى تكون المسافة الأمامية بالملليمتر أقل من 200".
  • أضف كتلة [Drive] إلى كتلة [Repeat until] هذه. سيؤدي هذا إلى توجيه روبوت الواقع الافتراضي إلى الأمام حتى يبلغ مستشعر المسافة عن مسافة أقل من 200 ملليمتر (مم).

    نفس المشروع مع كتلة محرك الأقراص يضاف داخل C من التكرار حتى الكتلة. يقرأ قسم التعليق الثالث من المشروع الآن Drive to the blue goal ؛ انتقل إلى العنوان 180 درجة، كرر حتى تكون المسافة الأمامية بالملليمتر أقل من 200، تقدم للأمام.
  • بمجرد وصول روبوت الواقع الافتراضي إلى الهدف الأزرق (200 مم من الحائط)، سيحتاج روبوت الواقع الافتراضي إلى التوقف عن القيادة. أضف كتلة [Stop driving] أسفل كتلة [Repeat until].

    نفس المشروع مع كتلة إيقاف القيادة المضافة بعد التكرار حتى الكتلة. يقرأ قسم التعليق الثالث الآن القيادة إلى الهدف الأزرق ؛ كرر حتى تكون المسافة الأمامية بالملليمتر أقل من 200، والقيادة للأمام ؛ ثم توقف عن القيادة.
  • الآن بعد أن تم إيقاف روبوت الواقع الافتراضي في الهدف الأزرق، يمكنه إسقاط القرص. أضف كتلة [تنشيط المغناطيس الكهربائي] أسفل التعليق الرابع واضبط الكتلة على "إسقاط".

    تمت إضافة نفس المشروع مع كتلة Energize Electromagnet، مع تعيين المعلمة للإسقاط، بعد التعليق الرابع. يقرأ قسم التعليق الرابع الآن إسقاط القرص الأزرق في الهدف الأزرق، تنشيط المغناطيس لإسقاطه.
  • سيحتاج روبوت الواقع الافتراضي إلى القيادة في الاتجاه المعاكس لمسافة قصيرة لتجنب السقوط أو الاصطدام بأي أقراص. من المحتمل أن يؤدي الاصطدام بقرص إلى إخراج روبوت الواقع الافتراضي عن مساره. أضف الكتل التالية لتوجيه روبوت الواقع الافتراضي للقيادة في الاتجاه المعاكس لمدة 100 ملليمتر (مم) والعودة إلى اتجاه 0 درجة.

    نفس المشروع مع محرك للكتلة وكتلة الدوران إلى العنوان المضافة إلى الجزء السفلي من المكدس. الآن، يقرأ التعليق الرابع إسقاط القرص الأزرق في الهدف الأزرق ؛ تنشيط المغناطيس لإسقاطه ؛ القيادة للخلف لمسافة 100 مم، انتقل إلى العنوان 0 درجة.
  • افتح Disk Mover Playground إذا لم يكن مفتوحًا بالفعل وقم بتشغيل المشروع.
  • يتحرك روبوت الواقع الافتراضي للأمام، ويلتقط القرص الأول، ثم يتحول إلى اتجاه 180 درجة لمواجهة الهدف الأزرق. ثم يستخدم روبوت الواقع الافتراضي القيم من مستشعر المسافة لتحديد وقت التوقف عن القيادة وإسقاط القرص الأزرق.

    منظر جانبي مقرب لملعب Disk Mover مع وضع القرص الأزرق في المرمى الأزرق، وروبوت الواقع الافتراضي الذي يواجه الأقراص المتبقية على الملعب، على حافة المرمى الأزرق.
  • لاحظ كيف تعمل كتلة [Repeat until] الثانية في هذا الجزء من المشروع.
    • عندما يكتشف مستشعر المسافة على روبوت الواقع الافتراضي أن جدار الملعب على بعد أقل من 200 ملليمتر (مم)، سينتقل المشروع إلى الكتلة التالية في المكدس أسفل كتلة [Repeat till].
    • في هذا المشروع، هذا يعني أن روبوت الواقع الافتراضي يتوقف عن القيادة ويسقط المغناطيس الكهربائي في المرمى الأزرق.

قم بتحديد زر التالي للمتابعة مع بقية هذا الدرس.