مشروع RoboComp

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

ملخص المشروع

مؤسسة مفتوحة المصدر:
RoboComp
الكاتب الفني:
لي تاي آن
اسم المشروع:
المكونات الأساسية لRoboComp
طول المشروع:
المدة العادية (3 أشهر)

وصف المشروع

الحافز

RoboComp هو أحد أُطر عمل الروبوتات المعروفة للتطبيقات البحثية والتطبيقات العملية. يتضمّن مستودع robocomp مجموعة كبيرة من المكوّنات (التي يتم الاحتفاظ بها في مستودع أصغر حجمًا باسم robocomp-robolab) لتطبيقات الروبوت المختلفة، مثل التحكّم في المحركات وتحديد الموقع الجغرافي وإنشاء الخرائط والتنقّل والتعرّف وما إلى ذلك. ومع ذلك، لا يتضمّن مستودع المكوّنات مستندات تفصيلية لتجميع كل مكوّن أو استخدامه، وبالتالي فإنّ قابلية الاستخدام محدودة للمطوّرين الجدد. يهدف هذا الاقتراح إلى حلّ هذه المشكلة من خلال توثيق المكوّنات الأساسية لـ RoboComp بالإضافة إلى تجميع مستند أمثلة على الاستخدام لدمج مكوّنات مختلفة لحلّ مهمة روبوتية معيّنة. ستتم مناقشة تفاصيل عملية إعداد المستندات في القسم التالي، ثم سيتبع ذلك قسم المراحل الرئيسية لتخطيط الإطار الزمني لإكمال المشروع. أخيرًا، يتم ذكر بعض الملاحظات حول عملية إعداد المستندات.

الوصف

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

  • وصف تفصيلي للمستند، والتجميع والتركيب، والضبط، وحالات الاستخدام، والمشاكل المعروفة لكل مكوّن في RoboComp
  • اكتب مثالاً على دليل يستخدِم مكوّنات مختلفة في بيئة RoboComp لحلّ مهمة معيّنة في مجال الروبوتات، مثل تحديد الموقع الجغرافي.

لا تتوفّر حاليًا في معظم المكوّنات الأساسية في مستودع robocomp-robolab تعليمات تفصيلية حول كيفية تجميعها وكيفية استخدامها في إعدادات المَعلمات المختلفة. ويشكّل ذلك عقبة كبيرة أمام المطوّرين الجدد الذين يريدون استخدام المكوّنات في مشروعهم أو المساهمة في إطار العمل. السبب هو أن العديد من المكونات هي برنامج تضمين لبرنامج تشغيل خارجي أو مكتبات لها العديد من التبعيات، مما يجعل تجميع المهمة وتثبيتها أمرًا صعبًا. بالإضافة إلى ذلك، تُغلِّف العديد من المكوّنات برنامج تشغيل الجهاز المعقد (مثل hokuyoComp العام) لتوفير واجهة الرسائل في RoboComp، ما يتطلّب معرفة خاصة بالجهاز لضبط المَعلمات.

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

https://github.com/anindex/robocomp-robolab/tree/master/components/hokuyoComp

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

  • الوصف
  • التحويل البرمجي والتثبيت
  • مَعلمات الإعدادات
  • بدء المكوِّن (الاستخدامات)
  • المشاكل المعروفة

في المثال، يجمع المرء أولاً معلومات عن مواصفات أداة استشعار Hokuyo، ويقرأ رمز المكوّن لفهم صورة وظائف المكوّن من أجل كتابة أوصاف المكوّنات. بعد ذلك، سيساعد فهم بيئة RoboComp ومعرفة المَعلمات الخاصة بالجهاز بالإضافة إلى التبعيات في المكتبة في توثيق عملية تجميع المكوّن وتثبيته وضبطه. على سبيل المثال، يحتاج تجميع hokuyoComp إلى حزمة liburg0-dev deb القديمة من الإصدار 14.04 من نظام التشغيل Ubuntu، ولكن تمت إزالة حزمة deb من Ubuntu PPA في الإصدار الأحدث، وبالتالي يتعين علينا تنفيذ الحل البديل للتجميع كما هو مذكور في المستند. وفي هذه العملية، يمكننا أيضًا تسجيل المشكلات المعروفة لتسريع تصحيح الأخطاء للمطوِّرين الجدد. أخيرًا، تم توثيق استخدامات المكوّنات لسيناريوهات الاستخدام المختلفة لتسهيل دمج المكوّن في منصة RoboComp لمهام الروبوتات المختلفة.

الإنجازات

يخطّط هذا القسم لإطار زمني أولي لإكمال أهداف المشروع المذكورة. سنختار مستندات المكوّنات لكتابتها استنادًا إلى الفئات (مثل مكوّنات الكاميرا ومكوّنات الليزر). يستند التقدير الحالي للوقت اللازم لإكمال مستند المكوّنات إلى الوقت المستغرَق لإكمال مثال على مستندات hokuyoComp. الجدول الزمني على النحو التالي:

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

    1. إعداد اجتماع أسبوعي لتحديد نطاقات المشاريع بالإضافة إلى التوقعات من كلّ من الكاتب والمرشدين
    2. الحصول على فهم عميق لإطار عمل RoboComp
  • من 2 أيلول (سبتمبر) إلى 2 تشرين الثاني (نوفمبر): كتابة مستندات لكل مكوّن في مستودع robocomp-robolab مع إجراء تحسينات بشكل متكرّر بين المرشدين والكاتب من خلال الاجتماعات (من المتوقّع إكمال معظم المستندات غير الموثَّقة)

  • من 2 تشرين الثاني (نوفمبر) إلى 26 تشرين الثاني (نوفمبر): كتابة مستند عام كمثال على استخدام مكوّنات مختلفة لحلّ مهمة روبوتية

  • من 27 تشرين الثاني (نوفمبر) إلى 29 تشرين الثاني (نوفمبر): تقارير نهاية المشروع

  • بعد فعالية GSoD 2019: أودّ البقاء على تواصل مع شركة RoboComp لتحسين أعمالي وصيانتها بشكل أكبر.

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

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