रोबोट स्थिर ईथरनेट से लेकर असंगत सेलुलर या सैटेलाइट कनेक्शन तक, अलग-अलग नेटवर्क स्थितियों के साथ सभी प्रकार के स्थानों पर काम करते हैं। जानें कि आप रोबोट और अन्य स्मार्ट मशीनों के लिए gRPC और WebRTC का उपयोग कैसे कर सकते हैं ताकि वे अधिक विश्वसनीय तरीके से संवाद कर सकें।
मैंने हाल ही में Viam में नई नौकरी शुरू की है, और उनके सिस्टम आर्किटेक्चर के बारे में अधिक जानने के लिए उत्सुक था। कई रोबोटिक्स सिस्टम कम-पावर और कम-बैंडविड्थ डिवाइस से बने होते हैं, या खराब नेटवर्क स्थितियों में काम करते हैं। Viam एक ओपन-सोर्स रोबोटिक्स सॉफ़्टवेयर प्लेटफ़ॉर्म है जिसे विशेष रूप से रोबोट और अन्य स्मार्ट मशीनों को अधिक विश्वसनीय रूप से संवाद करने में मदद करने के लिए डिज़ाइन किया गया था।
यह तेज़, संरचित क्लाइंट-सर्वर संचार के लिए gRPC और मशीनों के बीच सीधे, पीयर-टू-पीयर संचार के लिए WebRTC का उपयोग करता है। आइए gRPC और WebRTC के उपयोग के लाभों को अधिक विस्तार से देखें।
रोबोटिक्स के लिए gRPC का उपयोग करने के कई कारण हैं, जैसे कि डेवलपर उत्पादकता और डेवलपर अनुभव में सुधार। हालाँकि, सबसे सम्मोहक कारण यह है कि यह गति के लिए अनुकूलित है, शायद HTTP पर REST API की तुलना में 7-10 गुना अधिक तेज़ है , हल्के प्रोटोबफ मैसेजिंग के साथ।
Viam API में घटकों और सेवाओं को भाषा-अज्ञेय प्रोटोकॉल बफर (प्रोटोबफ) सेवाओं के रूप में दर्शाया जाता है, और gRPC प्रोटोबफ विधियों को कॉल करते समय प्रोटोबफ संदेशों के परिवहन और संचार के लिए जिम्मेदार होता है।
विशेष रूप से, Viam मशीन भागों और SDK-आधारित अनुप्रयोगों के बीच उच्च-स्तरीय इंटरैक्शन के लिए gRPC का उपयोग करता है, जो संरचित, कम-विलंबता डेटा एक्सचेंज और नियंत्रण आदेशों को सक्षम करता है। यह किए जाने वाले कार्यों को समन्वित करने का एक कुशल तरीका है, जैसे कि कैमरों से पॉइंट क्लाउड को पुनः प्राप्त करना, ऑब्जेक्ट सेगमेंटेशन के लिए डेटा का विश्लेषण करना और रोबोटिक आर्म्स को कंप्यूटेड पोज़ के आधार पर कार्य करने का निर्देश देना।
प्रोटोबफ प्रेषित डेटा के आकार को न्यूनतम करता है, जिससे संचरण के दौरान नेटवर्क बैंडविड्थ की बचत होती है।
रोबोटिक्स में WebRTC का उपयोग करने के कई कारण हैं, जैसे कि सुरक्षा और क्रॉस-प्लेटफ़ॉर्म संगतता। हालाँकि, सबसे सम्मोहक कारण यह है कि यह प्रत्यक्ष कनेक्शन का उपयोग करता है।
Viam पीयर-टू-पीयर संचार के लिए WebRTC पर निर्भर करता है, जिससे मशीन के पुर्जों और Viam SDK के बीच सीधे वीडियो और डेटा स्ट्रीम की अनुमति मिलती है। इसका मतलब है कि एक बार प्रारंभिक कनेक्शन स्थापित हो जाने के बाद, आपके डेटा को किसी अन्य मशीन से बात करने के लिए केंद्रीय सर्वर से होकर जाने की लंबी यात्रा करने की आवश्यकता नहीं होती है। यह सेटअप विशेष रूप से जटिल मशीन कॉन्फ़िगरेशन के साथ वास्तविक समय की प्रतिक्रिया और परिचालन दक्षता को अनुकूलित करता है।
वेबआरटीसी प्रत्यक्ष पीयर-टू-पीयर संचार को सक्षम बनाता है, तथा मध्यवर्ती सर्वरों से बचाता है जो विलंब या विफलता के बिंदु उत्पन्न कर सकते हैं।
आइए देखें कि आर्केड क्लॉ गेम के उदाहरण में यह कैसे काम करता है, जो दो मशीन भागों से बना है: एक कैमरा और एक हाथ।
Viam ऐप (app.viam.com) कनेक्शन अनुरोधों को सुनता है, कनेक्शन विवरण भेजता है, और फिर दो साथियों को सीधे संवाद करने देता है। प्रारंभिक कनेक्शन gRPC पर सुगम होते हैं।
एक बार कनेक्ट होने के बाद, मशीन के हिस्से WebRTC पर संचार करते हैं, जिससे SDK और मशीनों के बीच सभी इंटरैक्शन gRPC विधि कॉल का उपयोग करके WebRTC पर हो सकते हैं। दूसरे शब्दों में, gRPC स्कीमा यह तय करती है कि डेटा कैसा दिखता है और इसे कैसे पैक किया जाता है, जबकि WebRTC उस डेटा को एक स्थान से दूसरे स्थान पर पहुँचाने का वास्तविक काम संभालता है।
जबकि आप अपने दम पर एक समान बुनियादी ढांचा बना सकते हैं, वायम यह क्षमता ऑफ-द-शेल्फ रोबोटिक्स सॉफ़्टवेयर के साथ प्रदान करता है। ऑन-मशीन कार्यक्षमता ओपन-सोर्स है और इसे संचालित करना मुफ़्त है। यदि आप अंततः एक बेड़े का प्रबंधन करना शुरू करते हैं, तो यह क्लाउड सेवाओं और डेटा स्टोरेज के लिए उपयोग-आधारित बिलिंग है।
Viam वेब ऐप और SDK को आपकी मशीनों के साथ काम करने में आपकी मदद करने के लिए डिज़ाइन किया गया था। हालाँकि, यदि आप यह जानना चाहते हैं कि पर्दे के पीछे क्या हो रहा है, तो अंतर्निहित Viam gRPC API के साथ काम करने के चरण-दर-चरण निर्देशों के लिए Postman में Viam API सार्वजनिक कार्यक्षेत्र देखें, जिसमें शामिल हैं:
gRPC API कॉल को अधिकृत करना
हार्डवेयर घटकों को नियंत्रित करने के लिए विधियों का प्रयोग करना
सॉफ़्टवेयर सेवाओं के प्रबंधन के लिए विधियों का प्रयोग करना
हो सकता है कि आपके पास रोबोटिक आर्म न हो, लेकिन आप इसे याहूबूम या स्कटल जैसी रोवर जैसी अधिक किफायती मशीन के साथ आज़मा सकते हैं। लोगों को रोबोटिक्स के बारे में जानने में मदद करने के लिए वियाम ने एक ओपन-सोर्स रोवर भी डिज़ाइन किया है।
रोवर को संचालित करने के लिए gRPC और WebRTC का उपयोग करें
आरंभ करने के लिए, नीचे दिए गए पोस्टमैन में चलाएँ बटन पर क्लिक करके स्पिन ए वायम रोवर नमूना संग्रह को अपने स्वयं के कार्यक्षेत्र में फ़ॉर्क करें।
और इन संसाधनों का अनुसरण करें:
तकनीकी समीक्षा: निक हेहर