مشروع روبوتات الإشعال

تحتوي هذه الصفحة على تفاصيل مشروع كتابة تقنيّة تم قبوله في موسم المستندات من Google.

ملخص المشروع

المؤسسة المفتوحة المصدر:
روبوتيات الإشعال
الكاتب التقني:
ليل تايلاندي
اسم المشروع:
البرامج التعليمية لـ Ignition Physics ومستندات واجهة برمجة التطبيقات
مدة المشروع:
المدة العادية (3 أشهر)

وصف المشروع

التحفيز

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

  • برامج تعليمية شاملة حول إنشاء مكونات إضافية مخصصة للفيزياء تستخدم محركات للفيزياء المخصصة لتعزيز المحاكاة
  • وثائق واجهة برمجة التطبيقات المترابطة

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

الوصف

ويهدف هذا المشروع إلى هدفين رئيسيين:

  • يمكنك إنشاء برامج تعليمية تفصيلية حول إنشاء مكوّن إضافي مخصَّص للفيزياء مع واجهة برمجة تطبيقات المكتبة الحالية.
  • تحسين الوثائق الحالية لواجهة برمجة تطبيقات المكتبة لأغراض الصيانة والتعاون.

في الوقت الحالي، يعد DART محرك البحث الفيزيائي الوحيد لهذه المكتبة. ومن ثم، ستدور البرامج التعليمية حول DART. وسيتم النظر في هذه البرامج التعليمية الأولية:

  1. مقدمة: تصف البنية عالية المستوى لمكتبة فيزياء الإشعال، ومحركات الفيزياء المتوافقة، والأهداف.
  2. التثبيت: يوجّه المستخدم إلى تثبيت محركات الفيزياء اللازمة اختياريًا بناءً على سياقات التطبيق. يشرح هذا الدليل التوجيهي أيضًا أمثلة على الإعدادات الخاصة بكل مكوّن إضافي لمحرّكات الفيزياء من أجل تكييف عملية محاكاة معيّنة.
  3. استخدام المكوّن الإضافي DART: يصف هذا الحقل مثالاً لاستخدام محرك الفيزياء DART في محاكاة غازيبو. يتكون البرنامج التعليمي من سلسلة من عمليات التنفيذ والضبط لبدء هذه المكتبة كخلفية لمحاكاة Gazebo على بيئة معيّنة نموذجية.
  4. إنشاء مكوّن إضافي مخصَّص: يساعد في إرشاد المستخدِم أو المطوِّر الجديد لإنشاء مكوّن إضافي مخصَّص استنادًا إلى محرك مادة الفيزياء المخصَّصة من خلال بعض أشكال ملفات الإعداد (من الممكن أن تكون نماذج الفئات)، وتطوير واجهة بين واجهة برمجة تطبيقات محرك الفيزياء وواجهة برمجة تطبيقات المكتبة هذه. يمكن ملاحظة بعض عمليات التحقق من السلامة في نهاية البرنامج التعليمي.
  5. استخدام مكونات إضافية متعددة في المحاكاة (بحاجة إلى مناقشة): يصف كيفية استخدام مكونات إضافية متعددة في وقت التشغيل لتقديم نموذج محاكاة.

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

بالنسبة إلى وثائق واجهة برمجة التطبيقات، من الممكن التكيف مع نمط وثائق Google C++ لهذه المكتبة. على سبيل المثال، يجب أن يكون لجميع الصفوف وصف على مستوى الصف. بالإضافة إلى ذلك، يجب توثيق جميع الوظائف العامة من خلال إضافة وصف وجميع وسيطاتها، بالإضافة إلى قيم واستثناءات النتيجة المحتملة. من المفيد أن يتم توثيق الفئات الأكثر أهمية (على سبيل المثال، dartsim::RecoveryWorld، وFeature، وما إلى ذلك) أولاً كنهج أسهل من أعلى إلى أسفل. المزيد من أساليب التوثيق، ستتم مناقشة تحديد الفئة المهمة خلال فترة الترابط بين أفراد المنتدى.

الجوانب الرئيسية

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

  • 17 أغسطس - 13 سبتمبر: توطيد العلاقات بين أفراد المنتدى:

    1. قم بإعداد اجتماعات لإنشاء نطاقات المشروع وخطط البرنامج التعليمي بالإضافة إلى توقعات كل من الكاتب والموجهين.
    2. استوعب الصورة الكبيرة لرمز مصدر Ignition Physics.
  • 14 - 31 أكتوبر: صياغة البرامج التعليمية المذكورة مع التحسينات التكرارية بين المعلمين والكاتب من خلال الاجتماعات.

  • 1 - 30 نوفمبر: اكتب وثائق واجهة برمجة التطبيقات للفئات الأكثر أهمية وجمع الوثائق باستخدام Doxygen.

  • 1 - 5 ديسمبر: كتابة تقرير المشروع.

  • بعد مؤتمر GSoD 2020: أريد البقاء على تواصل مع فريق Ignition Robotics لتطوير أعمالي وصيانتها بشكل أكبر.

ملاحظات أخيرة

من الضروري مراجعة ملف README.md الحالي على الصفحة الأمامية لتطبيق Ignition Physics، لأنّ التثبيت الثنائي باستخدام apt-get لا يعمل على Ubuntu 18.04. يحتاج قسم تثبيت المصدر أيضًا إلى المراجعة بسبب التنسيق غير الصحيح.