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

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

ملخّص المشروع

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

وصف المشروع

التحفيز

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

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

الوصف

يهدف هذا المشروع إلى تحقيق هدفَين رئيسيَّين:

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

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

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

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

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

الإنجازات

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

  • من 17 آب (أغسطس) إلى 13 أيلول (سبتمبر): تعزيز الترابط في المنتدى:

    1. يمكنك تنظيم اجتماعات لتحديد نطاقات المشاريع والتخطيط للأدلة التعليمية، بالإضافة إلى التوقعات من كلّ من الكاتب والمرشدين.
    2. استيعاب الصورة الكبيرة لرمز المصدر فيزياء الإشعال.
  • من 14 أيلول (سبتمبر) إلى 31 تشرين الأول (أكتوبر): إعداد مسودة الأدلة التعليمية المذكورة مع إجراء تحسينات متكررة بين المرشدين والكاتب من خلال الاجتماعات.

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

  • من 1 كانون الأول (ديسمبر) إلى 5 كانون الأول (ديسمبر): كتابة تقرير المشروع

  • بعد GSoD 2020: أريد البقاء على تواصل مع Ignition Robotics لتحسين أعمالي والحفاظ عليها.

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

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