Skip to main content

تحدي بيانات الرؤية - Python

رمز صندوق أدوات المعلم مجموعة أدوات المعلم - الغرض من تحدي بيانات الرؤية

الغرض من تحدي بيانات الرؤية هو التأكد من أن الطلاب يفهمون البيانات التي تم جمعها من لقطة مستشعر الرؤية وكيفية حساب قيم المركز X و Y. يجب على طلابك أيضًا إنهاء هذا المختبر بفهم كيفية تفسير هذه البيانات (على سبيل المثال، يمكن استخدام قيمة المركز X لتحديد مكان ارتباط الكائن بنقطة مركز الروبوت)، وأفضل الممارسات لتسمية الكائنات عند التكوين.

لقطة لمستشعر الرؤية من التكوين تُظهر يدًا تحمل ترسًا أصفر. يوجد تراكب مربع فوق الترس مع البيانات التالية المذكورة أعلاه: الصندوق الأصفر، X 90، Y 62، W 102، H 98.

أكمل تحدي بيانات الرؤية من خلال الإجابة على الأسئلة وملء البيانات المفقودة في دفترك الهندسي.

  1. أي من هذه التعليمات تم استخدامها لأخذ اللقطة أعلاه ؟
    1. vision_5.take_snapshot(REDBOX)
    2. vision_5.take_snapshot(YELLOWBOX)
  2. املأ هذه القيم:

    أوامر مستشعر الرؤية مدرجة أسفل الجانب الأيسر بمربعات فارغة لملئها بقيمها. من الأعلى إلى الأسفل يتم سرد الكتل: كائنات الرؤية 5 ليست لا شيء 0، كائنات رؤية العدسة 5، أكبر مركز للكائن x، أكبر مركز للكائن y، أكبر عرض للكائن، وأكبر ارتفاع للكائن.

  3. هل YELLOWBOX إلى اليسار أو إلى يمين نقطة مركز الروبوت ؟
  4. هل YELLOWBOX أعلى أو أسفل نقطة مركز الروبوت ؟
  5. YELLOWBOX ليس أفضل اسم لإعطاء هذا الكائن إذا كنت تريد التعرف بسهولة على توقيع اللون الذي هو. أي من هذه الأسماء أفضل ؟ لماذا ؟
    1. YELLOWGEAR
    2. YELLOWCUBE

رمز صندوق أدوات المعلم صندوق أدوات المعلم - الإجابات

يمكن مناقشة إجابات الطلاب كصف و/أو يمكنك مراجعة دفاتر ملاحظاتهم الهندسية للتأكد من إكمالهم للنشاط بنجاح.

  1. vision_5.take_snapshot(YELLOWBOX)
  2. البيانات المكتملة المتوافقة مع أوامر VEXcode. تقرأ الإجابات، بالترتيب، كائنات الرؤية 5 غير صحيحة = صحيح ؛ رؤية العدسة 5 كائنات = 1 ؛ أكبر مركز للكائن x = 141 ؛ أكبر مركز للكائن y = 111 ؛ أكبر عرض للكائن = 102 ؛ أكبر ارتفاع للكائن = 98.
  3. يقع YELLOWBOX قليلاً على يسار نقطة مركز الروبوت ولكن بفارق 16.5 بكسل فقط (المركز 157.5 - 141).
  4. YELLOWBOX أقل قليلاً من نقطة مركز الروبوت ولكن فقط بفارق 5.5 بكسل (111 - مركز 105.5).
  5. أ. YELLOWGEAR

    هذا اسم أفضل لأنه لا يصف فقط لون الكائن ولكن أيضًا نوع الكائن. إنه ترس، وليس صندوقًا أو مكعبًا.

أيقونة توسيع التعلم الخاص بك قم بتوسيع نطاق تعلمك - استخدم تعليمات الاستشعار داخل المشروع

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

def check_red_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(REDBOX)

  if (vision_5_objects):
      brain.screen.print("Red Object Found")
      brain.screen.next_row()
      brain.screen.print("Number of Objects Detected:", len(vision_5_objects))
      brain.screen.next_row()
      brain.screen.print("Center X:", vision_5.largest_object().centerX)
      brain.screen.next_row()
      brain.screen.print("Center Y:", vision_5.largest_object().centerY)
      brain.screen.next_row()
      brain.screen.print("Width:", vision_5.largest_object().width)
      brain.screen.next_row()
      brain.screen.print("Height:", vision_5.largest_object().height)
      brain.screen.next_row()
  
  else:
      brain.screen.print("No Red Object")

قد يستخدم الطلاب الأكثر تقدمًا هذه التعليمات داخل المشروع لاتخاذ القرارات.

while True:
  drivetrain.drive(FORWARD)
  vision_5_objects = vision_5.take_snapshot(REDBOX)
  if (vision_5_objects) and (vision_5.largest_object().centerX < 157.5):
      drivetrain.turn_for(LEFT, 90, DEGREES)
  else:
      drivetrain.turn_for(RIGHT, 90, DEGREES)
      wait(5, MSEC)