جدول المحتويات:

البرمجة المدفوعة بالأحداث في FTC: 4 خطوات
البرمجة المدفوعة بالأحداث في FTC: 4 خطوات

فيديو: البرمجة المدفوعة بالأحداث في FTC: 4 خطوات

فيديو: البرمجة المدفوعة بالأحداث في FTC: 4 خطوات
فيديو: LGBTQ elders connect with GenPride and AARP WA prevents scams in Seattle | Close to Home Ep 4 2024, يوليو
Anonim
البرمجة المدفوعة بالحدث في FTC
البرمجة المدفوعة بالحدث في FTC

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

الخطوة 1: ما هي البرمجة المبنية على الأحداث؟

بشكل عام ، البرمجة التي تعتمد على الأحداث ، وفقًا لـ Techopedia ، هي تطوير البرامج التي تستجيب لمدخلات المستخدم. وبهذا المعنى ، تعتبر العديد من البرامج مدفوعة بالأحداث ، بما في ذلك برنامج Tele-op الخاص بالفريق ، والذي يعتمد على مدخلات من وحدة تحكم يديرها الإنسان لتنفيذ أي إجراء. ومع ذلك ، فيما يتعلق بالعمل الذي قام به فريقنا ، فإن البرمجة القائمة على الأحداث تدور حول إنشاء برنامج من مدخلات مختلفة ؛ بمعنى آخر ، نقوم بتوثيق الأحداث بناءً على مدخلات وحدات التحكم وأجهزة الاستشعار ، ثم يمكننا ترتيب هذه الأحداث في قائمة الانتظار واستخدام الملف لإعادة تشغيل الحدث المسجل.

تتميز طريقة تطوير برامج الروبوت لدينا بالعديد من المزايا:

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

الخطوة الثانية: التدفق المنطقي للبرمجة المدفوعة بالحدث

التدفق المنطقي للبرمجة المدفوعة بالحدث
التدفق المنطقي للبرمجة المدفوعة بالحدث

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

الخطوة 3: منشئ الحدث

منشئ الحدث
منشئ الحدث
منشئ الحدث
منشئ الحدث

يستخدم منشئو الأحداث لتوثيق الإجراءات أو "الأحداث" بناءً على مجموعة متنوعة من أجهزة الاستشعار والأزرار. نظرًا لأن الروبوت يقوم بإجراءات في الميدان ، تقوم فئة منشئ الحدث بإنشاء أحداث لكل واحد من هذه الإجراءات بالتوازي ، مع الإشارة إلى الحدث المصنف في فئة الحدث. بعد إنشائه ، يتم وضع الحدث في قائمة انتظار الأحداث في فئة الأحداث: يحتل الحدث الأول المركز الأول ، ثم يحتل الحدث الثاني المركز الأول ويدفع أي أحداث تحته لأسفل ، ويستمر هذا حتى يتوقف البرنامج. عندما يتم إيقاف البرنامج ، تنتقل الأحداث إلى ملف بتنسيق يمكن قراءته بواسطة الإنسان ، مثل ملف JSON. يمكن استخدام هذا الملف لتحسين الإجراءات المستقلة بشكل أفضل.

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

الخطوة 4: معالج الحدث

معالج الحدث
معالج الحدث
معالج الحدث
معالج الحدث

تأخذ فئات الأحداث الملف الذي يمكن قراءته من قبل الإنسان والذي تم إنتاجه في فئة منشئ الحدث وتقوم بكل ما يطلبه كل حدث في قائمة الانتظار من خلال استدعاء الأساليب الموضحة في فئة معالج الأحداث. ثم تقوم فئة معالج الأحداث بإخبار الروبوت بالحدث الذي يجب إعادة تشغيله. سواء كان حدثًا بسيطًا "دفع إلى الأمام" أو حدثًا معقدًا مليئًا بالمسافات والانعطافات والخطوات ، فإن المعالج سيعيد تشغيل أي حدث يتم تقديمه له. هذه العملية مفيدة للغاية أثناء التشغيل الذاتي ، حيث يمكن للفريق تسجيل أجهزة الاستشعار وإجراءات Tele-Op قبل المباراة ، ثم ببساطة إعادة تشغيل الأحداث بشكل مستقل. تسمى هذه العملية إعادة تشغيل الذاكرة. يسمح هذا للبرنامج المستقل بأن يكون قابلاً للتكوين بنسبة 100٪ من خلال ملف واحد. بمجرد إنشاء منشئ الحدث والمعالج ، يمكن للفريق ببساطة تغيير الإجراءات المستقلة من خلال ملف يمكن للبشر قراءته.

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

موصى به: