پروژه Webbots

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

خلاصه ی پروژه

سازمان متن باز:
وب بات ها
نویسنده فنی:
کانال توهم نرم
نام پروژه:
مجموعه آموزش های ویدئویی برای Webbots (ادغام با ROS2)
طول پروژه:
طول استاندارد (3 ماه)

شرح پروژه

آموخته ها:

این مجموعه آموزشی ویدیویی به کاربران جدید این امکان را می‌دهد تا بهترین شروع ممکن را با Webbots داشته باشند و راه‌حل‌های گام به گام واضح را برای دستیابی به شبیه‌سازی‌های خاص در اختیار بینندگان قرار می‌دهد.

هدف:

در پایان این مجموعه، بینندگان می توانند گره های ROS2 اولیه بسازند و با Webbot ها تعامل داشته باشند و همچنین اعتماد به نفس کار بر روی پروژه های پیشرفته در روبات های موبایل را به دست آورند. این مجموعه ویدیویی همچنین توضیحات تئوری خوبی در مورد چندین مفهوم حیاتی در زمینه رباتیک ارائه خواهد داد.

جزئیات سری ویدیو:

  1. ROS 2 نصب و راه اندازی یک مخزن در Visual Studio Code. این شامل نصب دستوری ROS2 و اصول اولیه کار آن است. ثانیا، همچنین شامل راه اندازی فضای کاری ROS در کد VS و عملکرد برگه های اصلی در کد VS می شود.

  2. مثال پایه ROS2 و Webbots. برخی از نمونه‌های Webbots ROS2 برای جذب بینندگان در درک اینکه اگر از ROS2 با Webbots برای شبیه‌سازی استفاده کنیم، چه کارهای شگفت‌انگیزی می‌توان انجام داد، استفاده خواهد شد. این همچنین شامل تئوری های اساسی ارتباط بین ROS2 و Webbot ها می شود.

  3. استفاده از خدمات ROS2 برای تعامل با Webbots. آموزش اصول اولیه سرویس ROS توضیح تفاوت بین سرویس ها در ROS و ROS2. در مرحله دوم، نمایش آموزش های گام به گام برای فراخوانی سرویس ها و فعال کردن موضوع حسگر برای خواندن و محرک ها برای حرکت.

  4. کنترل ربات سفارشی با ROS2 Publisher. آموزش نحوه انتشار پیام ها با استفاده از ناشران ROS2 در Webbots. ما می‌توانیم نمونه‌ای از کنترل حرکت ربات را با انتشار خروجی صفحه کلید در یک موضوع پیاده‌سازی کنیم که سپس می‌تواند توسط سرویس‌های ROS برای حرکت در Webbots استفاده شود.

  5. از ربات با مشترک ROS2 بازخورد دریافت کنید. در این ویدیو، ما مشترک قرائت سنسورهای سنسورهای فاصله می شویم و در صورت نزدیک شدن به برخورد، ربات را متوقف می کنیم. بنابراین اساساً این یک گره اجتناب از مانع با پیام های تعاملی در حال انتشار خواهد بود.

  6. ربات های Master(Publisher) Slave(Subscriber) با ROS2. در این ویدیو یک ربات را با کیبورد کنترل می کنیم و یک ربات دیگر را از ربات دستی فراری می دهیم. شبیه به یک سناریوی دزد و پلیس :) [این ادامه 3،4،5 ویدیو خواهد بود]. این کار بینندگان را قادر می‌سازد تا ارتباط را آزمایش کنند و در صورت وجود مشکل در ROS، نقص‌هایی در شبیه‌سازی دریافت خواهند کرد.

  7. راه اندازی Rviz (نمایش خروجی سنسورهای مختلف). در این ویدیو چند سنسور دیگر را اضافه کرده و اطلاعات آنها را در Rviz منتشر می کنیم. در پایان این ویدیو، بیننده می‌تواند Rviz را راه‌اندازی کند (یعنی افزودن حسگرهایی مانند Lidar، Camera و غیره برای تجسم)، پیکربندی را ذخیره می‌کند و دفعه بعد پیکربندی ذخیره‌شده را ایجاد می‌کند.

  8. ویدیوی اشکال زدایی (پژواک Rostopic، اطلاعات Rostopic، RQT_graph). این ویدیو شامل عملکرد نادرست عمدی چند موضوع برای کمک به درک تکنیک اشکال زدایی خواهد بود. ما روند مشاهده نمودار RQT و دانستن اینکه کدام موضوعات مسئول مشکل هستند را دنبال خواهیم کرد. استفاده از echo rostopic برای بررسی اینکه آیا موضوع در حال انتشار است و در پایان بررسی اطلاعات rostopic برای دریافت مشکل ما. مشکل را حل کنید و عملکرد معمولی داشته باشید.

  9. اشکال زدایی ویدیو (rqt_console, rqt_gui) در این ویدیو از پیام های Ros (اطلاعات، اشکال زدایی، خطا و غیره) در گره استفاده می شود و استفاده از rqt_console بررسی می شود. این ویدیو همچنین برای استفاده از rqt_gui برای انتشار پیام‌های ساختگی برای دریافت عملکرد مورد نیاز گسترش خواهد یافت. این می تواند یک روش جایگزین برای رفع برخی از اشکالات باشد.

  10. ویدیوهای مبحث پیشرفته: در مورد ادغام کتابخانه SLAM در یک محیط ناشناخته (جعبه ابزار SLAM یا LaMa) [قسمت 1] این ویدیو با تئوری اساسی مسائل SLAM شروع می شود. پس از آن از زیرساخت مفاهیم آموزش داده شده در بالا برای درک اصل پروژه استفاده خواهیم کرد. در نهایت، گره های لازم را از طریق ترمینال ارسال می کنیم و خروجی نقشه برداری را در Rviz مشاهده می کنیم.

  11. ویدیوهای مبحث پیشرفته: در مورد ادغام کتابخانه SLAM در یک محیط ناشناخته (SLAM toolbox یا LaMa) [قسمت 2] در ادامه ویدیوی دهم، در این ویدیو نحوه ساخت فایل راه اندازی برای راه اندازی همه گره ها را با هم آموزش می دهم. و rqt_graph را برای درک صحیح مفاهیم در چارچوب ROS بررسی کنید. در پایان نقشه تولید شده توسط بسته را با استفاده از سرور نقشه ذخیره می کنیم.

  12. ویدیوهای موضوع پیشرفته: در مورد ادغام OpenCV (تشخیص برچسب AR، بسته Ar_track_alvar) [بخش 1] این ویدیو با چیستی برچسب‌های AR و اهمیت آنها در محلی‌سازی با استفاده از بینایی رایانه شروع می‌شود. سپس به نحوه عملکرد بسته AR track Alvar خواهیم پرداخت. این به ارائه دیدگاه کلی از پروژه کمک می کند. در نهایت، خدماتی برای فعال کردن جریانی از فریم‌های ویدیویی از Webbots به یک موضوع ROS ایجاد می‌شود.

  13. ویدیوهای موضوع پیشرفته: در مورد ادغام OpenCV (تشخیص برچسب AR، بسته Ar_track_alvar) [قسمت 2] این ویدیو ادامه دوازدهمین ویدیو خواهد بود که در آن جریان تصویر بالا توسط بسته استفاده می شود و موضوع تبدیل بین ربات و برچسب AR منتشر می شود که می توانید آن را در Rviz مشاهده کنید. در نهایت، همانطور که ربات را به اطراف حرکت می‌دهیم، می‌بینیم که تگ‌های مختلف در Rviz و در پیام‌های rostopic قرار می‌گیرند و موقعیت آنها تغییر می‌کند.

نتیجه:

این پروژه GSOD یک بسته اتکا به خود است که درک اساسی از ادغام ROS2 با Webbots را امکان پذیر می کند. این بسته همچنین شامل اجرای عملی مفاهیم در ROS2 مانند موضوعات، خدمات، گره ها، فایل های راه اندازی، ناشر، مشترک، ابزارهای مختلف اشکال زدایی و استفاده از کد VS خواهد بود. این همچنین شامل پروژه های موضوعی پیشرفته مانند SLAM و OpenCV می شود. این به بینندگان یک پارادایم از پایان کار با استفاده از ROS2 و Webbots ارائه می دهد.