Skip to main content

New Height

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

  • اختر VIQRC Virtual Skills - Full Volume Playground.
  • قم ببرمجة الروبوت البطل لالتقاط مكعب أرجواني مميز وتسجيله في الهدف  .
    • قم بإنشاء خوارزمية لتحريك الروبوت لمسافة معينة وتتبع إحداثياته ​​X و Y. استخدم الخوارزمية لتوجيه الروبوت إلى المربع البنفسجي المميز.
    • قم ببرمجة الروبوت لالتقاط الكتلة.
    • قم بإنشاء خوارزمية لتوجيه الروبوت إلى موقع محدد. استخدم الخوارزمية لتوجيه الروبوت إلى الإحداثيات (-70، 1270) وقم بتدوير الروبوت إلى اتجاه -45 درجة.
    • قم ببرمجة الروبوت لإسقاط الكتلة.
  • قم ببرمجة الروبوت البطل لالتقاط المكعب البنفسجي الثاني المميز وتسجيله في الهدف الثالث بنفس الموضع والاتجاه اللذين تم بهما تسجيل المكعب البنفسجي الأول 
  • قم ببرمجة الروبوت البطل لالتقاط المكعب الأرجواني الثالث المميز وتسجيله في الهدف الثالث بنفس الموضع والاتجاه اللذين تم بهما تسجيل المكعب الأرجواني الأول 
  • قم ببرمجة الروبوت البطل لالتقاط المكعب الأرجواني الرابع المميز وتسجيله في الهدف الثالث بنفس الموضع والاتجاه اللذين تم بهما تسجيل المكعب الأرجواني الأول 

نصائح مفيدة

  • استخدم إحداثيات الروبوت (x1,y1)، وإحداثيات الموقع المستهدف (x2,y2)، ودالة atan لإيجاد اتجاه القيادة.
    • احسب الزاوية θ للخط الواصل بين هاتين النقطتين. رسم تخطيطي لتعبيرين رياضيين. العبارة الأولى هي 'θ يساوي atan((y2 - y1) / (x2 - x1))'. العبارة الثانية هي 'سالب باي / 2 أقل من ثيتا، وهو أقل من باي / 2'. يوضح الرسم التخطيطي من الأعلى إلى الأسفل الروبوت عند الإحداثيات (X1، Y1) ويشير خط إلى الإحداثيات (X2، Y2). يتم تحديد المسافة بالمتغير d، ويتم تحديد الزاوية بالمتغير theta. المسافة الأفقية بين النقاط ممثلة بـ 'x2 - x1'، والمسافة الرأسية ممثلة بـ 'y2 - y1'.
    • مثال على الشفرة الزائفة للتعبير الرياضي:

      إذا كانت x1 تساوي x2:
      	إذا كانت y2 > y1 تساوي:
      		الاتجاه = 0 درجة،
      	وإلا:
      		الاتجاه = 180 درجة
      وإلا:
      	إذا كانت x2 تساوي > x1 تساوي:
      		الاتجاه = 90 درجة - θ
      	وإلا:
      		، الاتجاه = 270 درجة - θ
    • حوّل الزاوية θ إلى اتجاه القيادة.  يُظهر الرسم التخطيطي من الأعلى إلى الأسفل والمُسمى " 'روبوت اتجاه' الروبوت مع دائرة حوله مع تسميات تُشير إلى 360 درجة من الدائرة.
  • استخدم إحداثيات الروبوت (x1,y1)، وإحداثيات موقع الهدف (x2,y2)، ونظرية فيثاغورس لإيجاد مسافة القيادة. الصيغة الرياضية هي: 'd = sqrt((X2 - X1) ^ 2 + (Y2 - Y1) ^ 2)' نفس الرسم التخطيطي من الأعلى إلى الأسفل كما في السابق يوضح الفرق بين إحداثيين. الروبوت موجود عند الإحداثيات (X1، Y1) وخط يشير نحو الإحداثيات (X2، Y2). يتم تحديد المسافة بالمتغير d، ويتم تحديد الزاوية بالمتغير theta. المسافة الأفقية بين النقاط ممثلة بـ 'x2 - x1'، والمسافة الرأسية ممثلة بـ 'y2 - y1'.

 

  • استخدم كتلة الدالة من فئة المعاملات للتعبير عن دالة atan لحساب الزاوية θ كتلة وظائف VEXcode التي تحتوي على كتل عوامل التشغيل، والتي تقرأ جميعها معًا 'atan of ((Y2 - Y1) / (X2 - X1))'.
    • أمر بايثون المطابق: 

      math.atan((Y2 - Y1) / (X2 - X1)) / math.pi * 180
  • استخدم كتلة الدالة من فئة المشغلين للتعبير عن نظرية فيثاغورس لحساب مسافة القيادة. VEXcode Set متغير كتلة تحتوي على كتل الوظائف والمشغلات، والتي تقرأ جميعها معًا 'set driveDistance to sqrt of ((X2 - X1) * (X2 - X1) + (Y2 - Y1) * (Y2 - Y1))'.
    • أمر بايثون المطابق: 

      مسافة القيادة = جذر((س2 - س1) * (س2 - س1) + (ص2 - ص1) * (ص2 - ص1))