تحتوي هذه الصفحة على تفاصيل مشروع كتابة فنية تم قبوله في "موسم مستندات Google".
ملخّص المشروع
- مؤسسة مفتوحة المصدر:
- Webots
- الكاتب الفني:
- Soft illusion Channel
- اسم المشروع:
- سلسلة فيديوهات تعليمية حول Webots (الدمج مع ROS2)
- مدة المشروع:
- المدة العادية (3 أشهر)
وصف المشروع
الدروس المستفادة:
ستتيح سلسلة الفيديوهات التعليمية هذه للمستخدمين الجدد بدء استخدام Webots على أفضل نحو ممكن، كما ستوفّر للمشاهدين حلولاً واضحة ومفصّلة لتحقيق عمليات محاكاة معيّنة.
الهدف:
مع نهاية هذه السلسلة، سيتمكّن المشاهدون من إنشاء عُقد ROS2 أساسية والتفاعل مع Webots، بالإضافة إلى اكتساب الثقة للعمل على مشاريع متقدّمة في برامج الروبوت على الأجهزة الجوّالة. ستقدّم سلسلة الفيديوهات هذه أيضًا شرحًا نظريًا جيدًا لعدة مفاهيم حيوية في مجال الروبوتات.
تفاصيل سلسلة الفيديوهات:
تثبيت ROS 2 وإعداد مستودع في Visual Studio Code يتضمن هذا تثبيت ROS2 من خلال الأوامر وأساسيات عمله. ثانيًا، سيتضمّن أيضًا إعداد مساحة عمل ROS على VS Code ووظائف علامات التبويب الأساسية في VS Code.
مثال أساسي على ROS2 وWebots سيتم استخدام بعض أمثلة Webots ROS2 لإشراك المشاهدين في فهم المعجزات التي يمكن تحقيقها إذا استخدمنا ROS2 مع Webots للنمذجة. وسيشمل ذلك أيضًا النظريات الأساسية للتواصل بين ROS2 وWebots.
استخدام خدمات ROS2 للتفاعل مع Webots. تعليم أساسيات خدمة ROS مع شرح الفرق بين الخدمات في ROS وROS2 ثانيًا، يتم عرض فيديوهات تعليمية تدريجية لطلب الخدمات وتفعيل مواضيع أجهزة الاستشعار للقراءات والعوامل المشغِّلة للحركة.
التحكّم في الروبوت المخصّص باستخدام ROS2 Publisher التعرّف على كيفية نشر الرسائل باستخدام ناشري ROS2 إلى Webots يمكننا تنفيذ مثال للتحكم في حركة الروبوت عن طريق نشر إخراج لوحة المفاتيح على موضوع يمكن استخدامه بعد ذلك بواسطة خدمات ROS في الحركة في Webots.
الحصول على ملاحظات من الروبوت باستخدام ROS2 Subscriber في هذا الفيديو، سنشترك في قراءات أدوات استشعار المسافة ونوقف الروبوت إذا كان على وشك الاصطدام. وبالتالي، ستكون هذه الخطوة هي إنشاء عقدة لتجنُّب العقبات مع نشر رسائل تفاعلية.
الروبوتات الرئيسية(الناشر) والتابعة(المشترك) باستخدام ROS2 في هذا الفيديو، سنتحكم في روبوت باستخدام لوحة مفاتيح ونجعل روبوتًا آخر يفرّ من الروبوت اليدوي. يشبه سيناريو اللصق والشرطة :) [سيكون هذا تكملة لـ 3 أو 4 أو 5 فيديوهات]. سيتيح ذلك للمشاهدين اختبار التواصل وسيظهر لهم عيوب في المحاكاة في حال وجود مشكلة في ROS.
إعداد Rviz (عرض بيانات مختلفة من أجهزة الاستشعار) في هذا الفيديو، سنضيف بعض أجهزة الاستشعار الأخرى وننشر بياناتها على Rviz. في نهاية هذا الفيديو، سيتمكّن المشاهد من إعداد Rviz (أي إضافة أجهزة استشعار مثل Lidar والكاميرا وما إلى ذلك للعرض المرئي)، وحفظ الإعدادات وإنشاء الإعدادات المحفوظة في المرة القادمة.
فيديو لتصحيح الأخطاء (Rostopic echo وRostopic info وRQT_graph) سيتضمن هذا الفيديو وظائف غير صحيحة متعمدة لبعض المواضيع للمساعدة في فهم أسلوب تصحيح الأخطاء. سنتبع عملية عرض الرسم البياني لوقت الاستجابة للطلبات ومعرفة المواضيع المسؤولة عن المشكلة. استخدام rostopic echo للتحقّق مما إذا كان الموضوع ينشر وفي النهاية التحقّق من معلومات rostopic للتعرّف على مشكلتنا حلّ المشكلة واستعادة الوظائف العادية
فيديو تصحيح الأخطاء(rqt_console وrqt_gui) في هذا الفيديو، سيتم استخدام رسائل Ros(المعلومات وتصحيح الأخطاء والخطأ وما إلى ذلك) في العقدة، وسيتم استكشاف استخدام rqt_console. سيتم أيضًا توسيع نطاق هذا الفيديو لاستخدام rqt_gui لنشر رسائل وهمية للحصول على الوظيفة المطلوبة. يمكن أن يكون هذا الإجراء بديلاً لإصلاح بعض الأخطاء.
فيديوهات حول مواضيع متقدّمة: حول دمج مكتبة SLAM في بيئة مجهولة (مجموعة أدوات SLAM أو LaMa) [الجزء 1] سيبدأ هذا الفيديو بالنظرية الأساسية لمشاكل SLAM. وبعد ذلك، سنستخدم البنية الأساسية للمفاهيم التي تم تدريسها أعلاه لفهم جوهر المشروع. أخيرًا، سننشئ العقد اللازمة من خلال المحطة الطرفية ونرى الناتج عن عملية الربط في Rviz.
مقاطع فيديو حول مواضيع متقدمة: حول دمج مكتبة SLAM في بيئة غير معروفة (مربع أدوات SLAM أو LaMa) [الجزء 2] كتكملة للفيديو العاشر، سأعلّم في هذا الفيديو كيفية إنشاء ملف إطلاق لإطلاق جميع العُقد معًا وفحص rqt_graph للحصول على فهم مناسب للمفاهيم في إطار عمل ROS. في النهاية، سنحفظ الخريطة التي أنشأتها الحزمة باستخدام خادم خرائط.
فيديوهات حول مواضيع متقدّمة: حول دمج OpenCV (اكتشاف علامات الواقع المعزّز، حزمة Ar_track_alvar) [الجزء 1] سيبدأ الفيديو بتعريف علامات الواقع المعزّز وأهميتها في تحديد الموقع الجغرافي باستخدام تكنولوجيا رؤية الكمبيوتر. ثم سنبني على كيفية عمل حزمة تتبع الواقع المعزَّز Alvar. سيساعد ذلك في تقديم منظور عام للمشروع. أخيرًا، سيتم توفير الخدمة لتفعيل بث لقطات الفيديو من Webots إلى موضوع ROS.
فيديوهات حول مواضيع متقدّمة: حول دمج OpenCV (اكتشاف علامة الواقع المعزّز، حزمة Ar_track_alvar) [الجزء 2] سيكون هذا الفيديو تكملة للفيديو الثاني عشر الذي ستستخدم فيه الحزمة بث الصور أعلاه وسيتم نشر موضوع حول التحويل بين الروبوت وعلامة الواقع المعزّز الذي يمكن عرضه على Rviz. أخيرًا، أثناء تحريك الروبوت، سنرى علامات مختلفة يتم تحديد موقعها وتغيير موضعها في Rviz وفي رسائل rostopic.
الخاتمة:
يُعدّ مشروع GSOD هذا حزمة مستقلة توفّر فهمًا أساسيًا لدمج ROS2 مع Webots. ستتضمّن هذه الحزمة أيضًا تنفيذًا عمليًا للمفاهيم في ROS2، مثل المواضيع والخدمات والعقد وملفات الإطلاق والناشر والمشترك وأدوات تصحيح الأخطاء المختلفة واستخدام VS Code. وسيشمل ذلك أيضًا مشاريع مواضيع متقدّمة، مثل SLAM وOpenCV. سيقدّم هذا المحتوى للمشاهدين نموذجًا للعمل من البداية إلى النهاية باستخدام ROS2 وWebots.