مشروع Webots

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

ملخص المشروع

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

وصف المشروع

الدروس المستفادة:

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

الهدف:

في نهاية هذه السلسلة، سيتمكّن المشاهدون من إنشاء عُقد ROS2 الأساسية والتفاعل مع برامج Webbot، كما سيكتسبون الثقة للعمل على المشاريع المتقدمة في برامج الروبوت للأجهزة الجوّالة. كما تقدم سلسلة الفيديوهات هذه تفسيرات نظرية جيدة للعديد من المفاهيم الحيوية في مجال الروبوتات.

تفاصيل سلسلة الفيديوهات:

  1. تثبيت ROS 2 وإعداد مستودع في Visual Studio Code. يتضمن ذلك تثبيت ROS2 حسب الأوامر وأساسيات عمله. ثانيًا، سيشمل ذلك أيضًا إعداد مساحة عمل ROS على التعليمات البرمجية VS ووظائف علامات التبويب الأساسية في رمز VS.

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

  3. استخدام خدمات ROS2 للتفاعل مع Webots. أساسيات تدريس خدمة ROS لتوضيح الفرق بين الخدمات في ROS وROS2 ثانيًا، يتم عرض برامج تعليمية تدريجية لطلب الخدمات وتفعيل موضوع أداة الاستشعار للقراءات والمشغّلات للحركة.

  4. يمكنك التحكّم في الروبوت المخصّص باستخدام ROS2 Publisher. التعرّف على كيفية نشر الرسائل باستخدام حسابات الناشرين في ROS2 على Webots. يمكننا تنفيذ مثال للتحكم في حركة الروبوت عن طريق نشر مخرجات لوحة المفاتيح لموضوع يمكن أن تستخدمه خدمات ROS للحركة في برامج الروبوت.

  5. يمكنك تلقّي ملاحظات من الروبوت من خلال "مشترِك في ROS2". وفي هذا الفيديو، سوف نشترك في قراءات أدوات الاستشعار الخاصة بأجهزة استشعار المسافة ونوقف الروبوت إذا كان على وشك الاصطدام. لذلك سيكون هذا في الأساس عقدة لتجنب العقبات في الرسائل التفاعلية التي يتم نشرها.

  6. برامج الروبوت الرئيسية(Publisher) Slave(المشترِك) مع ROS2. في هذا الفيديو، سنتحكم في روبوت واحد باستخدام لوحة مفاتيح ونجعل روبوت آخر يهرب من الروبوت اليدوي. على غرار سيناريو اللص والشرطة :) [سيكون هذا تواصلاً لـ 3,4,5 فيديو]. سيتيح ذلك للمشاهدين اختبار التواصل وسيرصد عيوبًا في المحاكاة إذا حدثت مشكلة في ROS.

  7. جارٍ إعداد Rviz (عرض إخراج مختلف للمستشعر ). في هذا الفيديو، سنضيف بعض أجهزة الاستشعار الأخرى وننشر بياناتها على Rviz. في نهاية هذا الفيديو، سيتمكن المشاهد من إعداد Rviz (أي إضافة أدوات استشعار مثل Lidar والكاميرا وغيرهما للتمثيل المرئي) وحفظ الإعدادات وإنشاء الإعدادات المحفوظة في المرة القادمة.

  8. فيديو تصحيح الأخطاء (صدى Rostopic ومعلومات Rostopic وRQT_graph). سيتضمّن هذا الفيديو وظائف غير صحيحة بشكل متعمّد لبعض المواضيع للمساعدة في فهم أسلوب تصحيح الأخطاء. سنتابع عملية عرض الرسم البياني RQT ومعرفة المواضيع المسؤولة عن المشكلة. استخدام ميزة ارتداد rostopic للتحقق مما إذا كان يتم نشر الموضوع والتحقق مما إذا كان يتم نشر الموضوع في النهاية لتحديد المشكلة. حلّ المشكلة ووظائفها طبيعية

  9. فيديو تصحيح الأخطاء(rqt_console, rqt_gui) في هذا الفيديو، سيتم استخدام رسائل Ros(المعلومات وتصحيح الأخطاء أو الخطأ وما إلى ذلك) في العقدة، وسيتم التعرّف على استخدام rqt_console. سيتم أيضًا توسيع نطاق هذا الفيديو لاستخدام rqt_gui لنشر رسائل وهمية للحصول على الوظائف المطلوبة. يمكن أن تكون هذه الطريقة بديلة لإصلاح بعض الأخطاء.

  10. فيديوهات تتناول مواضيع متقدّمة: حول دمج مكتبة SLAM في بيئة غير معروفة (مربع أدوات SLAM أو LaMa) [الجزء 1] سيبدأ هذا الفيديو بالنظرية الأساسية لمشكلات SLAM. بعد ذلك سنستخدم البنية التحتية للمفاهيم التي تم تدريسها أعلاه لفهم جوهر المشروع. وأخيرًا، ستظهر العُقد الضرورية من خلال المحطة الطرفية ونرى ناتج التعيين في Rviz.

  11. فيديوهات عن مواضيع متقدّمة: حول دمج مكتبة SLAM في بيئة غير معروفة (مربع أدوات SLAM أو LaMa) [الجزء 2] كمتابعة للفيديو العاشر، سأعلّم في هذا الفيديو كيفية إنشاء ملف إطلاق لتشغيل جميع العُقد معًا وفحص rqt_graph لفهم المفاهيم الصحيحة في إطار عمل ROS. في النهاية، سنحفظ الخريطة التي تم إنشاؤها بواسطة الحزمة باستخدام خادم خرائط.

  12. فيديوهات تتناول مواضيع متقدّمة: حول دمج تقنية OpenCV (رصد علامات الواقع المعزّز، حزمة Ar_track_alvar) [الجزء 1] سيبدأ الفيديو بتعريف علامات الواقع المعزّز وأهميتها في أقلمة المحتوى باستخدام الرؤية الحاسوبية. ثم سنعتمد على طريقة عمل حزمة Alvar، المخصّصة لمسار الواقع المعزّز. سيساعد هذا في تقديم منظور شامل للمشروع. وأخيرًا، سيتم توفير الخدمة لإتاحة بث إطارات الفيديو من برامج Webot إلى موضوع ROS.

  13. فيديوهات عن مواضيع متقدّمة: عند دمج ميزة OpenCV (رصد علامات الواقع المعزّز، حزمة Ar_track_alvar) [الجزء 2] هذا الفيديو هو تكملة للفيديو الثاني عشر الذي سيستخدم فيه الحزمة بث الصور أعلاه، وسيتم نشر موضوع التحويل بين الروبوت وعلامة الواقع المعزّز، ويمكن مشاهدتهما على Rviz. وأخيرًا، بينما نتحرك الروبوت، سنرى علامات مختلفة حيث سيتغير موضعها في Rviz وفي رسائل rostopic.

الخاتمة:

مشروع GSOD هذا هو حزمة تعتمد على نفسك لتوفير فهم أساسي لدمج ROS2 مع Webots. ستشمل هذه الحزمة أيضًا تنفيذًا عمليًا للمفاهيم في ROS2 مثل المواضيع والخدمات والعُقد وملفات الإطلاق والناشر والمشترك وأدوات تصحيح الأخطاء المختلفة واستخدام كود VS. سيشمل ذلك أيضًا مشروعات ذات مواضيع متقدمة مثل SLAM وOpenCV. سيقدّم ذلك للمشاهدين نموذجًا عن العمل النهائي باستخدام ROS2 وWebots.