Skip to main content

Unlock Locations

قم بإنشاء نظام إحداثيات على حقل المهارات الافتراضية كامل الحجم مع وضع النقطة الحمراء كنقطة الأصل (0، 0) والموقع الأولي لمركز روبوت البطل الموجود عند الإحداثيات (0، 36). استخدم كتل [Drive for] [Turn for] و[Spin ​​to position] و[Spin ​​for] لبرمجة الروبوت البطل لالتقاط الكتلة الحمراء المظللة باللون البرتقالي، في وإيقاف الروبوت في منطقة الإمداد. قم بإنشاء خوارزمية لإيجاد إحداثيات X و Y للموقع الذي سيقوم الروبوت بالتقاط المكعب الأحمر وتسجيل نقاطه، وإحداثيات X و Y للموقع الذي سيقوم الروبوت بركن الروبوت البطل فيه.

  • اختر VIQRC Virtual Skills - Full Volume Playground.
  • أنشئ خوارزمية لحساب وتسجيل إحداثيات X و Y  الروبوت بعد قطع مسافة معينة، وذلك باستخدام مسافة القيادة واتجاه نظام الدفع.
  • قم ببرمجة الروبوت البطل ليقود سيارته إلى الكتلة الحمراء المظللة باللون البرتقالي ويلتقطها. 
    • استخدم الخوارزمية لتتبع إحداثيات X و Y لموقع الروبوت.
  • استخدم كتلة [print] لطباعة إحداثيات X و Y للموقع الذي سيلتقطه الروبوت من الكتلة إلى وحدة التحكم في الطباعة.
  • قم ببرمجة الروبوت البطل ليقود نحو الهدف الأول ويسقط المكعب في  .
    • استخدم الخوارزمية لتتبع إحداثيات X و Y لموقع الروبوت.
  • استخدم كتلة [print] لطباعة إحداثيات X و Y للموقع الذي سيقوم الروبوت بإسقاط الكتلة فيه في الهدف الأول إلى وحدة التحكم في الطباعة.
  • قم بقيادة الروبوت البطل إلى موقع يكون فيه جزء منه داخل منطقة الإمداد.
    • استخدم الخوارزمية لتتبع إحداثيات X و Y لموقع الروبوت.
  • استخدم كتلة [print] لطباعة إحداثيات X و Y لموقع ركن الروبوت جزئيًا داخل منطقة الإمداد إلى وحدة التحكم في الطباعة.

نصائح مفيدة

  • لتحديد إحداثيات X و Y للروبوت البطل على حقل المهارات الافتراضية VIQRC، اضبط الموضع الأولي للروبوت البطل على نقطة الأصل (0,0) لنظام الإحداثيات. 
  • قم بتعريف متغيرين لتخزين إحداثيات X و Y للروبوت البطل. استخدم كتل set من فئة المتغيرات لتعيين قيم إحداثيات X و Y إلى 0 في بداية المشروع.  VEXcode Set متغير الكتلة الذي يقرأ 'set currentX to 0'. VEXcode Set متغير الكتلة الذي يقرأ 'set currentY to 36'.
    • أمر بايثون المطابق:

      currentX = 0
      currentY = 36
  • استخدم كتل Reporter من فئة Sensing للحصول على قيمة اتجاه مجموعة نقل الحركة من مستشعر القصور الذاتي. كتلة توجيه محرك VEXcode التي تقرأ 'توجيه المحرك بالدرجات'.
    • أمر بايثون المطابق:

      drivetrain.heading(DEGREES)
  • استخدم مسافة القيادة واتجاه مجموعة نقل الحركة لحساب إحداثيات X و Y بعد القيادة لمسافة معينة.
    • دالة رياضية (الدفع للأمام):

      X2 = X1+ مسافة القيادة * sin (اتجاه القيادة)

      Y2 = Y1+ مسافة القيادة * cos (اتجاه القيادة)

      رسمان بيانيان متجاوران من الأعلى إلى الأسفل يعرضان الروبوت البطل. يُظهر الرسم التخطيطي الأول الروبوت محاطًا بدائرة مع تسميات تشير إلى 360 درجة من الدائرة. يوضح الرسم التخطيطي الثاني الروبوت عند الإحداثيات (X1، Y1) ويشير إلى نقطة (X2، Y2). تم تصنيف المسافة على أنها 'مسافة القيادة' وتم تمييز الزاوية برمز ثيتا.

  •  استخدم كتلة الدالة من فئة المشغلين للتعبير عن الدوال الرياضية. مجموعة من كتلتين متغيرتين من نوع VEXcode Set مع معادلات الكتل. يقرأ الجزء الأول 'set currentX to currentX + drive_distance * sin of drive heading in degrees'. يقرأ الجزء الثاني 'set currentY to currentY + drive_distance * cos of drive heading in degrees'.
    • أمر بايثون المطابق: 

      currentX = currentX + drive_distance * math.sin(drivetrain.heading(DEGREES) / 180.0 * math.pi)
      = currentY + drive_distance * math.cos(drivetrain.heading(DEGREES) / 180.0 * math.pi)
  • للحصول على مزيد من المعلومات حول أبعاد مجال المهارات الافتراضية لـ VIQRC، يرجى .