ترميز حساس المسافة V5 باستخدام المتباينات الرياضية

إن استخدام مستشعر المسافة V5 الموجود على الروبوت الخاص بك أثناء مباراة VEX Robotics Championship (VRC) يمكن أن يسمح للروبوت الخاص بك بتسجيل المزيد من النقاط باستخدام الحركات المستقلة.

اللعبة المستخدمة كمثال لهذه المقالة هي لعبة 2021-2022 VRC، نقطة التحول. قم بزيارة هذه الصفحة للحصول على مزيد من المعلومات حول اللعبة وكيفية لعبها. لمعرفة تعريفات اللعبة المستخدمة في هذه المقالة، ونظرة عامة على قواعد اللعبة، والتسجيل، راجع دليل اللعبة لنقطة التحول.


مستشعر المسافة V5

صورة بزاوية لمستشعر المسافة V5.

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

  • يستخدم هذا المستشعر نبضة من ضوء الليزر الآمن للاستخدام في الفصل الدراسي لقياس المسافة من مقدمة المستشعر إلى أي جسم.
  • يمكن استخدام مستشعر المسافة V5 للكشف عن جسم ما وتحديد الحجم النسبي للكائن. يتم الإبلاغ عن الحجم التقريبي للكائن بأنه صغير أو متوسط ​​أو كبير.
  • يمكن أيضًا استخدام المستشعر لحساب سرعة اقتراب الروبوت. تقيس سرعة الاقتراب سرعة الروبوت/المستشعر أثناء تحركه نحو الجسم.

للحصول على معلومات أكثر تفصيلاً حول مستشعر المسافة V5، وكيفية عمله، وكيفية استخدامه مع VEXcode، راجع هذه المقالة من مكتبة VEX.


مثال على مستشعر المسافة V5

الهدف من هذا المشروع هو جعل الروبوت يلتقط هدفًا متحركًا ويحركه باستخدام مستشعر المسافة V5 لاكتشاف مدى بعد الهدف.

مشروع VEXcode V5 Blocks الذي يتحرك للأمام حتى يكتشف هدفًا متحركًا، ثم يلتقطه ويحركه. يقرأ المشروع عند بدء التشغيل، قم بالقيادة للأمام، وانتظر حتى تصبح مسافة كائن DistanceCenter بالمليمتر أقل من 139، ثم توقف عن القيادة. بعد ذلك، قم بتدوير محرك ForkMotors لأعلى بزاوية 600 درجة ثم قم بالانعطاف لليسار بزاوية 90 درجة. بعد ذلك، قم بالقيادة للأمام لمسافة 600 مم، ثم قم بتدوير محركات الشوكة لأسفل لمسافة 600 درجة، ثم قم بالقيادة للخلف لمسافة 300 مم.

هذا هو مثال التعليمات البرمجية الذي سيتم تناوله في هذه المقالة.

سيتم تناول تفاصيل السلوكيات الواردة في المثال، وكيفية الحصول على المعلمات المستخدمة لترميز مستشعر المسافة V5.

يمكنك بناء المشروع في VEXcode V5 أثناء متابعتك للمقالة، أو يمكنك فقط قراءة المقالة للحصول على الإلهام كمثال لكيفية تضمين مستشعر المسافة V5 عند برمجة الروبوت المخصص الخاص بك.

يُظهر هذا الفيديو تنفيذ التعليمات البرمجية أعلاه ويقوم الروبوت بالتقاط هدف متنقل وتحريكه.

يتم فتح قائمة الأجهزة في VEXcode V5 لعرض تكوين الجهاز في هذا المثال. تعرض القائمة أولاً مستشعر المسافة المسمى DistanceCenter على المنفذ 19. ثم يوجد نظام نقل الحركة مع محركات على المنافذ 1 و 10 ومستشعر القصور الذاتي على المنفذ 3. وأخيرًا، توجد مجموعة محركات تسمى ForkMotors على المنفذين 2 و9.

فيما يلي تكوين الروبوت المستخدم في VEXcode V5 لإضافة الروبوت ومستشعر المسافة إلى التكوين الخاص بهذا المثال، إذا كنت ترغب في تجربة المثال بنفسك.

الروبوت المستخدم لهذا المثال

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

الروبوت المستخدم في هذا المثال هو 2021-2022 VRC Hero Bot، Moby. لا يحتوي تصميم Moby على أي أجهزة استشعار، وتم إضافة مستشعر المسافة V5 إلى Moby لهذا المثال.

في هذا المثال، تم تركيب مستشعر المسافة V5 بالقرب من مركز Moby's Forks.

للحصول على مزيد من المعلومات حول Moby، على هذه المقالة من مكتبة VEX.

ليس عليك استخدام Moby لترميز مستشعر المسافة V5 أو التنافس في مسابقة هذا العام. يمكنك تركيب المستشعر على الروبوت المخصص الخاص بك أينما تراه مناسبًا.

ملاحظة: تأكد من عدم وجود أي هيكل على الروبوت أمام نافذة الليزر الصغيرة على وجه المستشعر. يجب أن يكون هناك مسار واضح أمام المستشعر بين الهدف والمستشعر.

انهيار السلوكيات ليسجل

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

يتم وضع روبوت موبي على أرض الملعب مع وضع هدف متحرك على بعد أقدام قليلة أمامه.

أولاً، يجب وضع الروبوت في مواجهة الهدف المتحرك.

يظهر الروبوت موبي بعد تحركه للأمام لاستشعار الهدف المتحرك. أصبح الهدف المتنقل الآن داخل أذرع الروبوت المتشعبة.

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

يظهر الروبوت موبي بعد اكتشافه للهدف المتحرك ورفع ذراعيه لالتقاطه.

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

روبوت موبي الذي يحمل الهدف المتنقل وقد استدار 90 درجة إلى اليسار.

بمجرد التقاط الهدف المتحرك، سوف يستدير الروبوت إلى اليسار بمقدار 90 درجة ويتحرك للأمام لمسافة 600 ملم.

روبوت موبي الذي خفض شوكته لوضع الهدف المتحرك ثم تحرك للخلف.

سيقوم الروبوت بعد ذلك بخفض الشوكات لوضع هدف الهاتف المحمول لأسفل، والقيادة في الاتجاه المعاكس بعيدًا عن هدف الهاتف المحمول حتى لا يسقطه عن طريق الخطأ أثناء الخطوة التالية.


فهم المعلمات

من أجل تنفيذ السلوكيات المذكورة أعلاه، من المهم فهم مدى بعد الهدف المحمول عن مستشعر المسافة V5.

معلمة لالتقاط هدف الهاتف المحمول باستخدام مستشعر المسافة V5

روبوت موبي على أرض الملعب مع وجود هدف متحرك بين شوكاته لتحديد المسافة المثالية.

لكي يتمكن الروبوت من التقدم للأمام حتى يكتشف مستشعر المسافة أن الهدف المتحرك موجود داخل الشوكات وقريب من المستشعر، يجب تسجيل القيم من المستشعر من دماغ V5.

ضع هدف الهاتف المحمول بين شوكات الروبوت.

تظهر شاشة V5 Brain في القائمة الرئيسية مع تمييز خيار الأجهزة.تظهر شاشة الدماغ في قائمة معلومات الجهاز التي تحتوي على قائمة بجميع المنافذ الذكية للدماغ والأجهزة المتصلة بها. يتم تمييز أيقونة مستشعر المسافة في قائمة معلومات الجهاز للإشارة إلى إمكانية تحديد العناصر لفتح قوائم معلوماتها.

ثم، من شاشة Brain، حدد "الأجهزة" ثم رمز مستشعر المسافة.

تظهر شاشة الدماغ في قائمة مستشعر المسافة التي تسرد بيانات المستشعر. تعرض القائمة بيانات عن حجم الجسم وسرعته ومسافته. تحتوي القائمة أيضاً على رسم بياني يوضح المسافة وكيف تتغير بمرور الوقت. في لقطة الشاشة هذه، يكون حجم الجسم صغيرًا، وسرعته 0 متر في الثانية، ومسافته 139 ملم.

يتم عرض المسافة بالملليمتر (مم) التي يكون فيها هدف الهاتف المحمول بعيدًا عن المستشعر على شاشة الدماغ.

نفس مشروع VEXcode V5 Blocks من السابق الذي يتحرك للأمام حتى يكتشف هدفًا متحركًا، ويلتقطه، ثم يحركه. القيمة التي تتم مقارنة مسافة الجسم بمستشعر المسافة في المشروع هي 139 ويتم تمييزها.

هذه هي القيمة التي سيتم استخدامها في المشروع عند التقاط الهدف المحمول باستخدام مستشعر المسافة.

معلمة رفع وخفض الشوكات

روبوت موبي على أرض الملعب مع وجود هدف متحرك بين شوكاته.

ضع هدف الجوال داخل الشوكات مرة أخرى.

تظهر شاشة الدماغ في قائمة معلومات الجهاز التي تحتوي على قائمة بجميع المنافذ الذكية للدماغ والأجهزة المتصلة بها. يتم تمييز رمز المحرك في قائمة معلومات الجهاز للإشارة إلى إمكانية تحديد العناصر لفتح قوائم معلوماتها.

ثم، من شاشة Brain، حدد "الأجهزة" ثم أيقونة المحرك 2. يتحكم المحرك 2 في الشوكة اليسرى.

روبوت موبي في حقل مع وجود هدف متحرك موضوع بين شوكاته المرفوعة لالتقاطه.

ارفع الشوكات يدويًا حتى لا يحجب الجزء السفلي من الهدف المحمول رؤية مستشعر المسافة.

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

ملاحظة تجنب نقاط الضغط عند رفع الشوكات يدويًا.

تظهر شاشة الدماغ في قائمة المحرك الذكي التي تسرد بيانات الجهاز. تحتوي القائمة على قراءات ورسوم بيانية تعرض بيانات الجهاز. في لقطة الشاشة هذه، تم تمييز قيمة درجات المحرك وقراءتها 604.

يتم عرض عدد الدرجات التي تم رفع الشوكات عليها على شاشة الدماغ.

نفس مشروع VEXcode V5 Blocks من السابق الذي يتحرك للأمام حتى يكتشف هدفًا متحركًا، ويلتقطه، ثم يحركه. تبلغ زاوية دوران مجموعة محرك الشوكة في المشروع 600 درجة، وهي مُظللة.

هذه هي القيمة التي سيتم استخدامها في المشروع عند رفع وخفض الشوكات لالتقاط هدف الجوال ووضعه.

استخدام كتل المشغل

يتم عرض كتلة عامل التشغيل "أقل من" في VEXcode V5. تُستخدم هذه الكتلة لمقارنة قيمتين والإبلاغ عما إذا كانت القيمة الأولى أقل من القيمة الثانية.

في هذا المشروع، يتم استخدام كتلة المشغل <Less than> لترميز مستشعر المسافة.

تظهر شاشة الدماغ في قائمة مستشعر المسافة التي تسرد بيانات المستشعر. تعرض القائمة بيانات عن حجم الجسم وسرعته ومسافته. تحتوي القائمة أيضاً على رسم بياني يوضح المسافة وكيف تتغير بمرور الوقت. في لقطة الشاشة هذه، يكون حجم الجسم صغيرًا، وسرعته 0 متر في الثانية، ومسافته 139 ملم.

وذلك لأنه كلما اقترب مستشعر المسافة أكثر فأكثر من جسم ما، تقل المسافة بالملليمتر بين المستشعر وهذا الكائن.

نفس مشروع VEXcode V5 Blocks من السابق الذي يتحرك للأمام حتى يكتشف هدفًا متحركًا، ويلتقطه، ثم يحركه. القيمة التي تتم مقارنة مسافة الجسم بمستشعر المسافة في المشروع هي 139 ويتم تمييزها.

يمكن تحديد قيم العتبة لتحفيز سلوكيات الروبوت بمجرد أن تكون المسافة أقل من مقدار محدد مسبقًا.

على سبيل المثال، عندما يقود الروبوت نحو الهدف المحمول، استخدم كتلة المشغل <Less than> لتحفيز سلوك توقف الروبوت بمجرد أن تكون المسافة أقل 139 ملم تقريبًا.

روبوت موبي في ملعب مزود بهدف متحرك داخل شوكاته. يتم تمييز المسافة من مستشعر المسافة إلى الهدف المتنقل بسهم أحمر.

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

For more information, help, and tips, check out the many resources at VEX Professional Development Plus

Last Updated: