پروژه رباتیک جرقه زنی

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

خلاصه ی پروژه

سازمان منبع باز:
رباتیک جرقه زنی
نویسنده فنی:
یک تایلندی لی
نام پروژه:
آموزش های فیزیک احتراق و مستندات API
طول پروژه:
طول استاندارد (3 ماه)

شرح پروژه

انگیزه

کتابخانه Ignition Physics استفاده منعطف از موتورهای فیزیک را امکان پذیر می کند که به قسمت پشتی شبیه سازی Ignition Gazebo منتقل می شوند. بسیاری از موتورهای فیزیک خارجی را می توان با کتابخانه به عنوان پلاگین متشکل از مجموعه های مختلفی از ویژگی ها با توجه به قابلیت ها و زمینه های کاربردی آنها، به منظور تقویت شبیه سازی gazebo، سازگار کرد. با این حال، مرحله فعلی کتابخانه ارائه نمی کند:

  • آموزش های جامع ایجاد پلاگین های فیزیک سفارشی که از موتورهای فیزیک سفارشی برای تقویت شبیه سازی استفاده می کنند
  • اسناد API منسجم

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

شرح

این پروژه دو هدف اصلی دارد:

  • آموزش های مفصلی در مورد ایجاد رابط فیزیک سفارشی با API کتابخانه فعلی ایجاد کنید.
  • بهبود اسناد API کتابخانه فعلی برای اهداف نگهداری و همکاری.

در حال حاضر، DART تنها موتور فیزیک پشتیبانی این کتابخانه است. از این رو، آموزش ها حول محور DART می چرخد. این آموزش های اولیه در نظر گرفته خواهد شد:

  1. مقدمه : معماری سطح بالای کتابخانه Ignition Physics، موتورهای فیزیک پشتیبانی شده و اهداف را شرح می دهد.
  2. نصب : کاربر را راهنمایی می کند تا به صورت اختیاری موتورهای فیزیک لازم را بسته به زمینه برنامه نصب کند. این آموزش همچنین تنظیمات نمونه ای را برای هر پلاگین موتور فیزیک برای تطبیق یک شبیه سازی خاص نشان می دهد.
  3. استفاده از پلاگین DART : نمونه استفاده از موتور فیزیک DART در شبیه سازی Gazebo را شرح می دهد. این آموزش شامل دنباله ای از اجراها و تنظیمات برای راه اندازی این کتابخانه به عنوان back-end برای شبیه سازی Gazebo در یک محیط مثال خاص است.
  4. ایجاد افزونه سفارشی : کاربر یا توسعه‌دهنده جدید را راهنمایی می‌کند تا از طریق برخی از اشکال فایل‌های پیکربندی (احتمالاً الگوهای کلاس)، یک افزونه سفارشی بر اساس موتور فیزیک سفارشی ایجاد کند و یک رابط بین API موتور فیزیک و این API کتابخانه ایجاد کند. برخی از بررسی های سلامت عقل را می توان در پایان آموزش ذکر کرد.
  5. استفاده از چندین پلاگین در یک شبیه سازی (نیاز به بحث) : نحوه استفاده همزمان از چندین پلاگین در زمان اجرا را برای یک شبیه سازی مثال توضیح می دهد.

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

برای اسناد API، این امکان وجود دارد که با سبک اسناد ++ Google برای این کتابخانه تطبیق داده شود. به عنوان مثال، همه کلاس ها باید یک توضیح سطح کلاس داشته باشند. علاوه بر این، تمام توابع عمومی باید با توضیحات، همه آرگومان های آنها، و همچنین مقادیر بازگشتی و استثناهای احتمالی مستند شوند. این سودمند است که مهم ترین کلاس ها (به عنوان مثال dartsim::RetrieveWorld، Feature و غیره) ابتدا به عنوان یک رویکرد آسان تر از بالا به پایین مستند شوند. سبک مستندسازی بیشتر، شناسایی طبقه مهم در دوره پیوند جامعه مورد بحث قرار خواهد گرفت.

نقاط عطف

این بخش یک چارچوب زمانی اولیه برای تکمیل اهداف ذکر شده پروژه برنامه ریزی می کند. برنامه ریزی زمانی به شرح زیر است:

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

    1. جلساتی را برای تعیین محدوده پروژه و برنامه ریزی های آموزشی و همچنین انتظارات از نویسنده و مربیان تشکیل دهید.
    2. تصویر بزرگ کد منبع Ignition Physics را درک کنید.
  • 14 سپتامبر - 31 اکتبر: آموزش های ذکر شده را با اصلاحات تکراری بین مربیان و نویسنده از طریق جلسات پیش نویس کنید.

  • 1 نوامبر - 30 نوامبر: مستندات API را برای مهم ترین کلاس ها بنویسید و مستندات را با استفاده از Doxygen جمع آوری کنید.

  • 1 دسامبر – 5 دسامبر: گزارش پروژه را بنویسید.

  • پس از GSoD 2020: من می خواهم با Ignition Robotics ارتباط برقرار کنم تا کارهایم را بهبود بخشیم و حفظ کنم.

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

ضروری است که README.md فعلی در صفحه اول Ignition Physics تجدید نظر شود، زیرا نصب باینری با استفاده از apt-get در اوبونتو 18.04 کار نمی کند. بخش نصب منبع نیز به دلیل قالب بندی نادرست نیاز به بازبینی دارد.