Webots प्रोजेक्ट

इस पेज में, Docs के Google सीज़न के लिए स्वीकार किए गए तकनीकी राइटिंग प्रोजेक्ट की जानकारी दी गई है.

प्रोजेक्ट की खास जानकारी

ओपन सोर्स संगठन:
वेबॉट
तकनीकी लेखक:
सॉफ़्ट इल्यूज़न वाला चैनल
प्रोजेक्ट का नाम:
Webots के लिए वीडियो ट्यूटोरियल सीरीज़ (ROS2 के साथ इंटिग्रेशन)
प्रोजेक्ट की अवधि:
मानक अवधि (तीन महीने)

प्रोजेक्ट का विवरण

लर्निंग:

इस वीडियो ट्यूटोरियल सीरीज़ में, नए उपयोगकर्ताओं को Webots का इस्तेमाल करने का मौका मिलेगा. साथ ही, इससे दर्शकों को किसी खास सिम्युलेशन को पूरा करने के लिए सिलसिलेवार तरीके से जानकारी मिलेगी.

लक्ष्य:

इस सीरीज़ के खत्म होने तक, दर्शक ROS2 नोड बना पाएंगे और Webots से बातचीत कर पाएंगे. साथ ही, इससे उनमें मोबाइल रोबोट के बेहतर प्रोजेक्ट पर काम करने का आत्मविश्वास बढ़ेगा. इस वीडियो सीरीज़ में, रोबोटिक्स के क्षेत्र से जुड़े कई ज़रूरी सिद्धांतों की सैद्धांतिक तौर पर व्याख्या भी की गई है.

वीडियो सीरीज़ की जानकारी:

  1. विज़ुअल स्टूडियो कोड में आरओएस 2 को इंस्टॉल और सेट-अप करना. इसमें ROS2 को कमांड के हिसाब से इंस्टॉल करना और इसके काम करने से जुड़ी बुनियादी बातें शामिल हैं. इसके अलावा, वीएस कोड पर आरओएस वर्कस्पेस को सेट अप करने और वीएस कोड में बेसिक टैब के फ़ंक्शन को भी शामिल किया जाएगा.

  2. ROS2 और Webots के सामान्य उदाहरण. Webots ROS2 के कुछ उदाहरणों का इस्तेमाल, दर्शकों को यह समझने के लिए किया जाएगा कि अगर हम सिम्युलेशन के लिए Webots के साथ ROS2 का इस्तेमाल करें, तो क्या हो सकता है. इसमें ROS2 और Webots के बीच बातचीत के बुनियादी सिद्धांत भी शामिल होंगे.

  3. Webots से इंटरैक्ट करने के लिए ROS2 सेवाओं का इस्तेमाल करना. आरओएस सेवा की बुनियादी बातें समझाने वाली आरओएस और आरओएस2 सेवाओं में अंतर. दूसरा, सेवाओं को कॉल करने के लिए सिलसिलेवार ट्यूटोरियल दिखाना. साथ ही, मोशन के लिए रीडिंग और ऐक्टूएटर के लिए सेंसर टॉपिक को चालू करना.

  4. ROS2 पब्लिशर की मदद से, पसंद के मुताबिक रोबोट को कंट्रोल करें. Webots के लिए ROS2 पब्लिशरों का इस्तेमाल करके मैसेज पब्लिश करने का तरीका जानना. हम किसी ऐसे विषय के लिए कीबोर्ड आउटपुट पब्लिश करके रोबोट की रफ़्तार को कंट्रोल करने का एक उदाहरण लागू कर सकते हैं. इसके बाद, आरओएस सेवाएं इसका इस्तेमाल Webots में मोशन के लिए कर सकती हैं.

  5. ROS2 सदस्य के साथ रोबोट से सुझाव पाएं. इस वीडियो में, हम दूरी सेंसर की सेंसर रीडिंग की सदस्यता लेंगे. अगर इससे रोबोट टकराने वाला होता है, तो हम उसे रोक देंगे. इसलिए, असल में यह एक रुकावट से बचने वाला नोड होगा, जिसमें इंटरैक्टिव मैसेज पब्लिश किए जा रहे हैं.

  6. ROS2 के साथ मास्टर(पब्लिशर) स्लाव(सदस्य) रोबोट. इस वीडियो में, हम एक रोबोट को कीबोर्ड से कंट्रोल करेंगे और दूसरे रोबोट को मैन्युअल रोबोट से दूर भगा देंगे. कुछ ऐसा ही था, चोरी और पुलिस की स्थिति में :) [यह 3,4,5 वीडियो का कन्वर्जन होगा]. इससे दर्शक बातचीत की जांच कर पाएंगे. साथ ही, अगर आरओएस में कोई समस्या आती है, तो सिम्युलेशन में गड़बड़ियां दिखेंगी.

  7. Rviz को सेट किया जा रहा है (अलग-अलग सेंसर आउटपुट दिखाया जा रहा है). इस वीडियो में, हम कुछ अन्य सेंसर जोड़ेंगे और उनका डेटा Rviz पर प्रकाशित करेंगे. इस वीडियो के आखिर में, दर्शक Rviz को सेट अप कर पाएंगे. इसका मतलब है कि विज़ुअलाइज़ेशन के लिए लिडार, कैमरा वगैरह जैसे सेंसर जोड़े जा सकते हैं. इससे अगली बार कॉन्फ़िगरेशन और सेव किए गए कॉन्फ़िगरेशन को सेव किया जा सकेगा.

  8. वीडियो डीबग किया जा रहा है (रोज़ विषय इको, Rostopic की जानकारी, RQT_graph). इस वीडियो में, डीबग करने की तकनीक को समझने के लिए, कुछ विषयों के जान-बूझकर किए गए गलत फ़ंक्शन शामिल किए गए हैं. हम RQT ग्राफ़ को देखने और यह जानने की एक प्रोसेस का पालन करेंगे कि समस्या किन विषयों पर है. यह पता करने के लिए कि विषय पब्लिश हो रहा है या नहीं और आखिर में अपनी समस्या के बारे में जानने के लिए, रोस्टोक इको का इस्तेमाल किया जा रहा है. समस्या हल करें और सामान्य सुविधाओं का इस्तेमाल करें.

  9. डीबग करने वाले वीडियो(rqt_console, rqt_glue) इस वीडियो में, नोड में रोज़ मैसेज(जानकारी, डीबग, गड़बड़ी वगैरह) का इस्तेमाल किया जाएगा. साथ ही, rqt_console के इस्तेमाल के बारे में बताया जाएगा. इस वीडियो में rqt_gu का इस्तेमाल करके डमी मैसेज पब्लिश करें, ताकि आपको ज़रूरी सुविधा मिल सके. यह कुछ गड़बड़ियां ठीक करने का एक वैकल्पिक तरीका हो सकता है.

  10. बेहतर विषय वाले वीडियो: अनजान एनवायरमेंट (एसएलएएम टूलबॉक्स या LaMa) में एसएलएएम लाइब्रेरी के इंटिग्रेशन पर [भाग 1] इस वीडियो में, एसएलएएम से जुड़ी समस्याओं के बुनियादी सिद्धांत के बारे में बताया जाएगा. इसके बाद, हम प्रोजेक्ट की असल ज़रूरत को समझने के लिए, ऊपर दिए गए कॉन्सेप्ट इंफ़्रास्ट्रक्चर का इस्तेमाल करेंगे. आखिर में, हम टर्मिनल के ज़रिए ज़रूरी नोड बनाएंगे और Rviz में मैपिंग आउटपुट देखेंगे.

  11. बेहतर विषयों पर आधारित वीडियो: किसी अनजान एनवायरमेंट (एसएलएएम टूलबॉक्स या LaMa) में एसएलएएम लाइब्रेरी के इंटिग्रेशन के बारे में जानकारी [पार्ट 2] दसवें वीडियो के साथ, मैं आपको सभी नोड को एक साथ लॉन्च करने के लिए, लॉन्च फ़ाइल बनाने और आरओएस फ़्रेमवर्क के कॉन्सेप्ट को सही तरीके से समझने के लिए rqt_graph की जांच करने का तरीका सिखाऊंगी. आखिर में, हम मैप सर्वर का इस्तेमाल करके, पैकेज से जनरेट हुए मैप को सेव करेंगे.

  12. बेहतर विषयों पर बने वीडियो: OpenCV (एआर-टैग की पहचान, Ar_track_alvar पैकेज) के इंटिग्रेशन पर [पार्ट 1] वीडियो की शुरुआत, एआर टैग के इंटिग्रेशन और कंप्यूटर विज़न का इस्तेमाल करके लोकलाइज़ेशन में उनकी अहमियत के बारे में होगी. इसके बाद, हम एआर ट्रैक का Alvar पैकेज इस्तेमाल करने का तरीका बताएंगे. इससे प्रोजेक्ट के बारे में ज़्यादा जानकारी पाने में मदद मिलेगी. आखिर में, हम आरओएस विषय पर Webots से वीडियो फ़्रेम स्ट्रीम करने की सुविधा शुरू करेंगे.

  13. बेहतर विषय वाले वीडियो: OpenCV (एआर-टैग की पहचान, Ar_track_alvar पैकेज) के इंटिग्रेशन पर [पार्ट 2] यह वीडियो 12वें वीडियो को आगे बढ़ाता है. इसमें पैकेज के ज़रिए ऊपर दी गई इमेज स्ट्रीम का इस्तेमाल किया जाएगा. साथ ही, रोबोट और एआर टैग के बीच बदलाव का विषय पब्लिश किया जाएगा. इसे Rviz पर देखा जा सकता है. आखिर में, जैसे-जैसे हम रोबोट को इधर-उधर करेंगे, वैसे-वैसे हम देखेंगे कि अलग-अलग टैग मौजूद हैं और Rviz और रोटॉपिक मैसेज में उनकी स्थिति बदलती रहेगी.

नतीजा:

यह GSOD प्रोजेक्ट, खुद पर निर्भर रहने वाला पैकेज है. इससे, Webots के साथ ROS2 के इंटिग्रेशन की बुनियादी जानकारी मिलती है. इस पैकेज में, ROS2 में कॉन्सेप्ट को लागू करने के तरीके भी शामिल होंगे. जैसे, विषय, सेवाएं, नोड, लॉन्च फ़ाइलें, पब्लिशर, सदस्य, डीबग करने के अलग-अलग टूल, और VS कोड का इस्तेमाल. इसमें एसएलएएम और OpenCV जैसे बेहतर विषय वाले प्रोजेक्ट भी शामिल होंगे. इस तरह, दर्शकों को ROS2 और Webots का इस्तेमाल करके, शुरू से लेकर आखिर तक काम करने का बेहतर अनुभव मिलेगा.