Webots प्रोजेक्ट

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

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

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

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

सीखने वाली बातें:

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

लक्ष्य:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

नतीजा:

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