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

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

ملخص المشروع

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

وصف المشروع

التحفيز

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

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

الوصف

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

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

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

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

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

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

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

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

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

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

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

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

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

الملاحظات النهائية

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