پروژه RoboComp

این صفحه حاوی جزئیات یک پروژه نگارش فنی است که برای فصل اسناد Google پذیرفته شده است.

خلاصه ی پروژه

سازمان منبع باز:
RoboComp
نویسنده فنی:
Le Thai An
نام پروژه:
اجزای اساسی RoboComp
طول پروژه:
طول استاندارد (3 ماه)

شرح پروژه

انگیزه

RoboComp یکی از چارچوب های شناخته شده رباتیک برای تحقیقات و کاربردهای عملی است. مخزن robocomp شامل طیف گسترده‌ای از اجزا (که در مخزن کوچک‌تری به نام robocomp-robolab نگهداری می‌شود) برای کاربردهای مختلف رباتیک مانند کنترل موتور، محلی‌سازی و نقشه‌برداری، ناوبری، تشخیص و غیره است. یا استفاده از هر جزء، از این رو قابلیت استفاده محدود برای توسعه دهندگان جدید. هدف این پیشنهاد حل این مشکل با مستندسازی اجزای حیاتی RoboComp و همچنین گردآوری یک سند استفاده مثال برای ترکیب اجزای مختلف برای حل یک کار رباتیک خاص است. جزئیات فرآیند مستندسازی در بخش بعدی مورد بحث قرار خواهد گرفت و سپس بخش نقطه عطفی برای برنامه ریزی چارچوب زمانی برای تکمیل پروژه مورد بحث قرار خواهد گرفت. در پایان نکاتی در مورد فرآیند مستندسازی ذکر شده است.

شرح

همانطور که گفته شد این پروژه دو هدف اصلی دارد:

  • شرح جزئیات سند، کامپایل و نصب، پیکربندی، موارد استفاده و مسائل شناخته شده در رابطه با هر جزء در RoboComp
  • یک راهنمای مثال بنویسید که از اجزای مختلف در محیط RoboComp برای حل یک کار رباتیک خاص، یعنی محلی سازی استفاده می کند.

اکثر مؤلفه‌های اساسی در مخزن Robocomp-robolab در حال حاضر دستورالعمل‌های دقیقی درباره نحوه کامپایل و نحوه استفاده در تنظیمات پارامترهای مختلف ندارند. این یک مانع بزرگ برای توسعه دهندگان جدید ایجاد می کند که می خواهند از اجزا در پروژه خود استفاده کنند یا در چارچوب مشارکت کنند. دلیل آن این است که بسیاری از کامپوننت‌ها بسته‌بندی درایور یا کتابخانه‌های خارجی هستند که وابستگی‌های زیادی دارند، که کامپایل و نصب کار را دشوار می‌کند. علاوه بر این، بسیاری از مؤلفه‌ها درایور دستگاه پیچیده (یعنی hokuyoComp عمومی) را برای ارائه رابط پیام در RoboComp قرار می‌دهند که به دانش خاص دستگاه برای تنظیم پارامترها نیاز دارد.

از این رو، نیاز به مستندسازی جزئیات، که شامل توضیحات دستگاه، رفع وابستگی ها و موارد استفاده می شود، برای مشارکت منبع باز ضروری است. نمونه‌ای از سند مؤلفه hokuyoComp کار من در پیوند یافت می‌شود:

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

برای نوشتن مستندات جزئی و جزئی با استفاده از رویکرد بالا به پایین، حداقل باید بتوان محتوای نوشته شده در آن سند را تجربه کرد، زیرا هدف نهایی مستندسازی انتقال دانش کاری به توسعه دهندگان به ارث رسیده است. ساختار پیشنهادی برای هر سند جزء به صورت زیر ارائه شده است:

  • شرح
  • تدوین و نصب
  • پارامترهای پیکربندی
  • راه اندازی کامپوننت (کاربردها)
  • مشکلات شناخته شده

در مثال، ابتدا اطلاعاتی در مورد مشخصات حسگر هوکویو جمع آوری می شود، کد مؤلفه را می خواند تا تصویر عملکردهای مؤلفه را درک کند تا توضیحات مؤلفه را بنویسد. در مرحله بعد، درک محیط RoboComp و دانش پارامترهای خاص دستگاه و همچنین وابستگی های کتابخانه به مستندسازی فرآیند کامپایل، نصب و پیکربندی کامپوننت کمک می کند. به عنوان مثال، کامپایل hokuyoComp به بسته قدیمی deb liburg0-dev از اوبونتو 14.04 نیاز دارد، اما بسته deb در نسخه بعدی از Ubuntu PPA حذف می‌شود، بنابراین باید راه‌حلی را برای کامپایل همانطور که در سند ذکر شده است انجام دهیم. در این فرآیند، ما همچنین می توانیم مسائل شناخته شده را برای سرعت بخشیدن به اشکال زدایی برای توسعه دهندگان جدید ثبت کنیم. در نهایت، استفاده از کامپوننت برای سناریوهای استفاده مختلف برای ادغام آسان مولفه با چشم انداز RoboComp برای وظایف مختلف روباتیک مستند شده است.

نقاط عطف

این بخش یک چارچوب زمانی اولیه برای تکمیل اهداف ذکر شده پروژه برنامه ریزی می کند. ما اسناد مؤلفه را برای نوشتن بر اساس دسته بندی ها (به عنوان مثال اجزای دوربین، اجزای لیزری) انتخاب می کنیم. تخمین کنونی زمان برای تکمیل کامپوننت doc بر اساس نمونه‌ای از اسناد hokuyoComp تکمیل زمان است. جدول زمانی به شرح زیر است:

  • 1 اوت - 1 سپتامبر: پیوند جامعه:

    1. تشکیل جلسه هفتگی برای تعیین محدوده پروژه و همچنین انتظارات از نویسنده و مربیان.
    2. درک عمیق در چارچوب RoboComp.
  • 2 سپتامبر - 2 نوامبر: نوشتن اسناد برای هر مؤلفه در مخزن robocomp-robolab با اصلاحات مکرر بین مربیان و نویسنده از طریق جلسات (انتظار می رود اکثر اسناد غیرمستند تکمیل شود)

  • 2 نوامبر - 26 نوامبر: نوشتن سند عمومی به عنوان نمونه ای برای استفاده از اجزای مختلف برای حل یک کار رباتیک.

  • 27 نوامبر - 29 نوامبر: پایان گزارش پروژه.

  • پس از GSoD 2019: من می خواهم برای بهبود بیشتر و حفظ آثارم با RoboComp در ارتباط باشم.

یادداشت های پایانی

نوشتن یک مثال کلی از نحوه ادغام اجزای مختلف در محیط RoboComp ضروری است تا کاربران بتوانند تصویر بزرگ عملکردهای RoboComp را درک کنند. این سند نمونه بیشتر با مربیان مورد بحث قرار خواهد گرفت تا تصمیم بگیرند که چه کار رباتیک بسته به اجرای فعلی RoboComp مناسب است.